Thm* (AH ~ 8)  ((AH {1...8}) ~ 64) | [chessboard_example] |
Thm* p:( a {k} ). {i: a| p(i) } ~ k | [card_st_sized_bool] |
Thm* p:( a  ). {x: a| p(x) } ~ ( size( a)(p)) | [card_st_vs_boolsize] |
Thm* f:( a  2).
Thm* ( i: a. P(i)  f(i) = 1 2)  ({x: a| P(x) } ~ (Msize(f))) | [card_st_vs_msize] |
Thm* ( a {k} ) ~ ( a {k} 2) | [card_boolset_vs_mset] |
Thm* a: . size( a) ( a  )   | [boolsize_wf] |
Thm* a,k,x: , y: . a {k} {x..y } Type | [sized_mset_wf2] |
Thm* k: . Msize ( k  )   | [msize_wf] |
Thm* ( a bij a) ~ ( a  a) | [nsub_bij_ooc_invpair] |
Thm* ( k inj k) ~ ( k onto k) | [nsub_inj_ooc_nsub_surj] |
Thm* ( k inj k) ~ ( k bij k) | [nsub_inj_ooc_nsub_bij] |
Thm* ( k inj k) =ext ( k bij k) | [nsub_inj_exteq_nsub_bij] |
Thm* ( k onto k) ~ ( k bij k) | [nsub_surj_ooc_nsub_bij] |
Thm* ( k onto k) =ext ( k bij k) | [nsub_surj_exteq_nsub_bij] |
Thm* ( k inj k) =ext ( k onto k) | [nsub_inj_exteq_nsub_surj] |
Thm* ( ( a onto b))  b a | [surj_typing_imp_le] |
Thm* ( ( a onto b))  ( ( b inj a)) | [nsub_surj_imp_a_rev_inj2] |
Thm* f:( a bij a). InvFuns( a; a;f; y.least x: . f(x)= y) | [nsub_bij_least_preimage_inverse] |
Thm* f:( a onto b). ( y.least x: . f(x)= y) b inj a | [nsub_surj_imp_a_rev_inj] |
Thm* e:(B B  ).
Thm* IsEqFun(B;e)
Thm* 
Thm* ( a: , f:( a onto B). ( y.least x: . (f(x)) e y) B inj a) | [nsub_surj_imp_a_rev_inj_gen] |
Thm* k: , f:( k inj k). i: . f{ i} = Id k  k | [iter_perm_cycles_uniform2] |
Thm* k: , f:( k inj k). i: . u: k. f{ i}(u) = u | [iter_perm_cycles_uniform] |
Thm* k: , f:( k inj k), u: k. i: . f{ i}(u) = u | [compose_iter_inj_cycles] |
Thm* (k:  k  ) ~  | [card_nat_vs_nat_tuples_all] |
Thm* (k:   k  ) ~  | [card_nat_vs_nat_tuples] |
Thm* k: . ( k  ) ~  | [card_nat_vs_nat_tuple] |
Thm* a: , b:( a  ). (i: a b(i)) ~ ( i: a. b(i)) | [card_sigma_vs_nsub_sigma] |
Thm* a,b: . ( a+ b) ~ (a+b) | [nsub_add_rw] |
Thm* a,b: . ( a  b) ~ (b a) | [card_fun_vs_nsub_exp] |
Thm* a: , b:( a  ). (i: a  b(i)) ~ ( i: a. b(i)) | [card_pi_vs_nsub_pi] |
Thm* ( k inj k) ~ (k!) | [nsub_inj_factorial] |
Thm* ( a inj b) ~ (b!a) | [nsub_inj_factorial_tail] |
Thm* ( b inj b) ~ (b!) | [nsub_inj_factorial2] |
Thm* a,b: . (A ~ a)  (B ~ b)  ((A B) ~ (a b)) | [finite_indep_sum_card] |
Thm* a,b: . ( a b) ~ (a b) | [nsub_mul_rw] |
Thm* a,b,c: . a b = c  (( a b) ~ c) | [nsub_mul] |
Thm* c,a,b: . a+b = c  (( a+ b) ~ c) | [nsub_add] |
Thm* a,b: , c:{a...b}. ({a..c }+{c..b }) ~ {a..b } | [intseg_split] |
Thm* a,b: . {a...b} ~ (1+b-a) | [nsub_intiseg_rw] |
Thm* a: , b: . {a...b} ~ {a..(b+1) } | [intiseg_intseg_plus] |
Thm* a,b',b: . b = b'+1  ({a...b'} ~ {a..b }) | [intiseg_intseg] |
Thm* a,b: . {a..b } ~ (b-a) | [nsub_intseg_rw] |
Thm* c,a: , b: . c = b-a  ({a..b } ~ c) | [nsub_intseg] |
Thm* ~ 2 | [nsub_bool] |
Thm* Unit ~ 1 | [nsub_unit] |
Thm* a: , b,c: . {a..b } ~ {(a+c)..(b+c) } | [intseg_shift_by] |
Thm* a,b,a',b': . b-a = b'-a'  ({a..b } ~ {a'..b' }) | [intseg_shift] |
Thm* Void ~ 0 | [nsub_void] |
Thm* a,b: . b a  (Void ~ {a..b }) | [intseg_void] |
Thm* a,b: , B:({a..b } Type).
Thm* a<b  ((i:{a..b } B(i)) ~ ((i:{a..(b-1) } B(i))+B(b-1))) | [card_split_end_sum_intseg_family] |
Thm* a,b: , c:{a...b}, B:({a..b } Type).
Thm* (i:{a..b } B(i)) ~ ((i:{a..c } B(i))+(i:{c..b } B(i))) | [card_split_sum_intseg_family] |
Thm* (A+ 0) ~ A | [card_nsub0_union_2] |
Thm* ( 0+A) ~ A | [card_nsub0_union] |
Thm* (A+B) ~ (i: 2 if i= 0 A else B fi) | [card_union_vs_sigma] |
Thm* InvFuns(A+B;i: 2 if i= 0 A else B fi;union_to_sigma;sigma_to_union) | [union_sigma_inverses] |
Thm* a,b: , c:{a...b}, B:({a..b } Type).
Thm* (i:{a..b } B(i)) ~ ((i:{a..c } B(i)) (i:{c..b } B(i))) | [card_split_prod_intseg_family] |
Thm* A:Type, n: , x:A, xs:( (n-1) A). [x/ xs] n A | [seq_cons_wf] |
Thm* a,b: . ( a ~ b)  a = b | [fin_card_vs_nat_eq] |
Thm* (A ~ m)  (A ~ k)  m = k | [counting_is_unique] |
Thm* k: . Infinite( k) | [nsub_not_infinite] |
Thm* k: , B:( k Type), Q:(x: k B(x) Prop).
Thm* ( x: k. y:B(x). Q(x;y))  ( f:(x: k B(x)). x: k. Q(x;f(x))) | [dep_finite_choice] |
Thm* k: , Q:( k A Prop).
Thm* ( x: k. y:A. Q(x;y))  ( f:( k A). x: k. Q(x;f(x))) | [finite_choice] |
Thm* f:( a onto b). Surj( a; b; f) | [surjection_type_nsub_surjection] |
Thm* f:(A onto B), a: . a onto A  (B Discrete)  Surj(A; B; f) | [surjection_type_surjection] |
Thm* A,B:Type. sigma_to_union (i: 2 if i= 0 A else B fi) (A+B) | [sigma_to_union_wf] |
Thm* A,B:Type. union_to_sigma (A+B) (i: 2 if i= 0 A else B fi) | [union_to_sigma_wf] |
Thm* k: , P:{P:( k Prop)| i: k. P(i) }.
Thm* ( i: k. Dec(P(i)))  ( {i: k| P(i) & ( j: i. P(j)) }) | [least_exists] |
Thm* Dec(P)  ( !i: 2. if i= 0 P else P fi) | [decidable_vs_unique_nsub2] |
Thm* a,a': . a'-a = 1  ( B:({a..a' } Type). (i:{a..a' } B(i)) ~ B(a)) | [card_sum_family_intseg_singleton_elim] |
Thm* (A ~ 0)  ( A) | [card0_iff_uninhabited] |
Thm* a,a': . a'-a = 1  ( B:({a..a' } Type). (i:{a..a' } B(i)) ~ B(a)) | [card_prod_family_intseg_singleton_elim] |
Thm* a,b: . ( a inj b) ~ ( b ( (a-1) inj (b-1))) | [card_nsub_inj_vs_lopped] |
Thm* k: , j: k. {i: k| i = j } ~ (k-1) | [nsub_delete_rw] |
Thm* k: , j: k, m: . m = k-1  ({i: k| i = j } ~ m) | [nsub_delete] |
Thm* ( 0 A) ~ 1 | [card_void_dom_fun_unit] |
Thm* (A ~ 1)  ( ! A) | [card1_iff_inhabited_uniquely] |
Thm* a,a': .
Thm* a'-a = 1  ( B:({a..a' } Type). (i:{a..a' } B(i)) ~ ({a: } B(a))) | [card_sum_family_singleton_vs_intseg] |
Thm* R:(A A Prop).
Thm* ( A) & (Trans x,y:A. R(x;y)) & ( x:A. y:A. R(x;y))
Thm* 
Thm* ( k: . f:( k A). i,j: k. i<j  R(f(i);f(j))) | [no_finite_model_lemma] |
Thm* k: . Finite( k) | [nsub_is_finite] |
Thm* k: . ( k+ ) ~  | [fin_plus_nat_ooc_nat] |
Thm* f:( a onto b), y: b. f(least x: . f(x)= y) = y | [nsub_surj_least_preimage_works] |
Thm* e:(B B  ).
Thm* IsEqFun(B;e)  ( a: , f:( a onto B), y:B. f(least x: . (f(x)) e y) = y) | [nsub_surj_least_preimage_works_gen] |
Thm* f:( a onto b), y: b. (least x: . f(x)= y) a | [nsub_surj_least_preimage_total] |
Thm* e:(B B  ).
Thm* IsEqFun(B;e)  ( a: , f:( a onto B), y:B. (least x: . (f(x)) e y) a) | [nsub_surj_least_preimage_total_gen] |
Thm* (A Discrete)  ( k: , f:( k inj A). f k bij {a:A| i: k. a = f(i) }) | [nsub_inj_discr_range_bijtype] |
Thm* (A Discrete)
Thm* 
Thm* ( k: , f:( k inj A).
Thm* ({a:A| i: k. a = f(i) } Type
Thm* (& f k {a:A| i: k. a = f(i) }
Thm* (& Bij( k; {a:A| i: k. a = f(i) }; f)) | [nsub_inj_discr_range_bij] |
Thm* (A Discrete)  ( k: , f:( k A). f k onto {a:A| i: k. a = f(i) }) | [nsub_discr_range_surjtype] |
Thm* (A Discrete)
Thm* 
Thm* ( k: , f:( k A).
Thm* ({a:A| i: k. a = f(i) } Type
Thm* (& f k {a:A| i: k. a = f(i) }
Thm* (& Surj( k; {a:A| i: k. a = f(i) }; f)) | [nsub_discr_range_surj] |
Thm* p:{p:(   )| i: . p(i) }, j: (least i: . p(i)). p(j) | [least_is_least2] |
Thm* k: , p:{p:( k  )| i: k. p(i) }, j: (least i: . p(i)). p(j) | [least_is_least] |
Thm* k: , p:{p:( k  )| i: k. p(i) }. p(least i: . p(i)) | [least_satisfies] |
Thm* k: , p:{p:( k  )| i: k. p(i) }. (least i: . p(i)) k | [least_wf] |
Thm* k: , p:{p:( k  )| i: k. p(i) }.
Thm* (least i: . p(i)) {i: k| p(i) & ( j: i. p(j)) } | [least_characterized] |
Thm* m,k: , f:( m  k). k<m  ( x,y: m. x y & f(x) = f(y)) | [pigeon_hole] |
Thm* m,k: , f:( m  k). Inj( m; k; f)  m k | [inj_imp_le2] |
Thm* ( ( m inj k))  m k | [inj_typing_imp_le] |
Thm* ( f:( m  k). Inj( m; k; f))  m k | [inj_imp_le] |
Thm* m: , f:( m  ). Inj( m; ; f)  ( x: m, y: x. f(x) = f(y)) | [finite_inj_counter_example] |
Thm* Bij( (m+1); (k+1); f)  Bij( m; k; Replace value k by f(m) in f) | [delete_fenum_value_is_fenum] |
Thm* Inj( (m+1); (k+1); f)  Inj( m; k; Replace value k by f(m) in f) | [delete_fenum_value_is_inj] |
Thm* Inj( (m+1); (k+1); f)
Thm* 
Thm* ( i: m. f(i) = k  (Replace value k by f(m) in f)(i) = f(i)  k) | [delete_fenum_value_comp2] |
Thm* Inj( (m+1); (k+1); f)
Thm* 
Thm* ( i: m. f(i) = k  (Replace value k by f(m) in f)(i) = f(m)  k) | [delete_fenum_value_comp1] |
Thm* Inj( (m+1); (k+1); f)  (Replace value k by f(m) in f) m  k | [delete_fenum_value_wf] |
Thm* a: , b: , j: b, f:( (a-1) inj {x: b| x = j }).
Thm* ( i.if i= a-1 j else f(i) fi) a inj b | [nsub_inj_fill_typing] |
Thm* a: , b: , f:( a inj b). f (a-1) inj {x: b| x = f(a-1) } | [nsub_inj_lop_typing] |
Thm* a,a': .
Thm* a'-a = 1  ( B:({a..a' } Type). (i:{a..a' } B(i)) =ext ({a: } B(a))) | [exteq_sum_family_singleton_vs_intseg] |
Thm* a,a': .
Thm* a'-a = 1  ( B:({a..a' } Type). (i:{a..a' } B(i)) =ext ({a: } B(a))) | [exteq_prod_family_singleton_vs_intseg] |
Thm* a,a': . a'-a = 1  ({a..a' } =ext {a: }) | [exteq_singleton_vs_intseg] |
Thm* IsEqFun( b; i,j. i= j) | [eq_int_is_eq_nsub] |
Def a {k} == {p:( a  )| size( a)(p) = k } | [sized_bool] |
Def a {k} T == {p:( a T)| Msize(p) = k } | [sized_mset] |
Def Unbounded(A) == k: .  ( k inj A) | [unboundedly_infinite] |
Def fin_enum(A) == k:  k A | [fin_enum] |
Def Finite(A) == n: . A ~ n | [is_finite_type] |