DiscreteMath Sections DiscrMathExt Doc
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
Def  x:A. B(x) == x:AB(x)

is mentioned by

Thm*  (AH ~ 8)  ((AH{1...8}) ~ 64)[chessboard_example]
Thm*  A:Type, xs:A List. xs  Type[list_member_type_wf]
Thm*  x:A. (x  nil)  False[is_list_mem_null]
Thm*  x,a:A, ys:A List. (x  a.ys)  x = a  (x  ys)[is_list_mem_split]
Thm*  A:Type, a:A, xs:A List. (a  xs)  Prop[is_list_mem_wf]
Thm*  EquivRel on A inj B, same_range_sep(A; B)[same_range_sep_inj_eqv]
Thm*  same_range_sep(A; B)  (A inj B)(A inj B)Prop[same_range_sep_wf_inj]
Thm*  EquivRel on AB, same_range_sep(A; B)[same_range_sep_eqv]
Thm*  same_range_sep(A; B)  (AB)(AB)Prop[same_range_sep_wf]
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:(a2). 
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,k:. a {k}   Type[sized_bool_wf]
Thm*  a:. size(a)  (a)[boolsize_wf]
Thm*  a,k,x:. a {k} {x...}  Type[sized_mset_wf5]
Thm*  a,k:. a {k}   Type[sized_mset_wf4]
Thm*  a,k,x:, y:. a {k} {x...y}  Type[sized_mset_wf3]
Thm*  a,k,x:, y:. a {k} {x..y}  Type[sized_mset_wf2]
Thm*  a,k:. a {k}   Type[sized_mset_wf]
Thm*  k:. Msize  (k)[msize_wf]
Thm*  (a bij a) ~ (aa)[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))  ba[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:(BB). 
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*  Dedekind-Infinite(A)  Finite(A)[dedekind_imp_nonfin]
Thm*  Dedekind-Infinite(A)  Unbounded(A)[dededing_imp_unb_inf]
Thm*  Dedekind-Infinite(A)  Infinite(A)[dedekind_inf_imp_inf]
Thm*  InvFuns(A;A;f;g)  (i:. InvFuns(A;A;f{i};g{i}))[compose_iter_inverses]
Thm*  Bij(A; A; f)  (i:. Bij(A; A; f{i}))[compose_iter_bijection]
Thm*  Surj(A; A; f)  (i:. Surj(A; A; f{i}))[compose_iter_surjection]
Thm*  f:(A inj A), i:. f{i}  A inj A[compose_iter_injection2]
Thm*  k:, f:(k inj k). i:. f{i} = Id  kk[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*  Inj(A; A; f)  (i:. Inj(A; A; f{i}))[compose_iter_injection]
Thm*  f:(AA), i:. f{i} = f{i-1} o f[compose_iter_pos_comp2]
Thm*  f:(AA), i:, x:A. f{i}(x) = f{i-1}(f(x))[compose_iter_pos2]
Thm*  x:A, f:(AA), i,j:. f{i}{j}(x) = f{ij}(x)[compose_iter_prod2]
Thm*  x:A, f:(AA), i,j,k:. k = ij  f{i}{j}(x) = f{k}(x)  A[compose_iter_prod]
Thm*  f:(AA), k:, i:{0...k}. f{k} = f{i} o f{k-i}[compose_iter_sum_comp_rw]
Thm*  x:A, f:(AA), k:, i:{0...k}. f{k}(x) = f{i}(f{k-i}(x))[compose_iter_sum_rw]
Thm*  f:(AA), i,j,k:. k = i+j  f{i} o f{j} = f{k}[compose_iter_sum_comp]
Thm*  x:A, f:(AA), i,j,k:. k = i+j  f{i}(f{j}(x)) = f{k}(x)[compose_iter_sum]
Thm*  i:. Id{i} = Id  AA[compose_iter_id]
Thm*  f:(AA), i:. f{i} = f o f{i-1}[compose_iter_pos_comp]
Thm*  f:(AA), u:A. f(u) = u  (i:. f{i}(u) = u)[compose_iter_point_id]
Thm*  f:(AA), i:, x:A. f{i}(x) = f(f{i-1}(x))[compose_iter_pos]
Thm*  f:(AA). f{1} = f[compose_iter_once]
Thm*  f:(AA). f{0} = Id[compose_iter_zero_id]
Thm*  f:(AA), x:A. f{0}(x) = x[compose_iter_zero]
Thm*  k:. (k) ~ [card_nat_vs_nat_tuple]
Thm*  f:(AA), i:. f{i}  AA[compose_iter_wf]
Thm*  xy:(). <0,0> = next_nat_pair(xy)  [next_nat_pair_not_zeroes]
Thm*  ((AB)) ~ (A ~ B)[inv_pair_inv2]
Thm*  (AB) ~ (A ~ B)[inv_pair_inv]
Thm*  a:, b:(a). (i:ab(i)) ~ ( i:a. b(i))[card_sigma_vs_nsub_sigma]
Thm*  a,b:. (a+b) ~ (a+b)[nsub_add_rw]
Thm*  (ABC) ~ (BAC)[card_curry_simple2]
Thm*  a,b,c:. c(ab) = (ca)b[exp_exp_reduce2]
Thm*  a,b,c:. c(ab) = (cb)a[exp_exp_reduce1]
Thm*  a,b:. (ab) ~ (ba)[card_fun_vs_nsub_exp]
Thm*  a:, b:(a). (i:ab(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)  ((AB) ~ (ab))[finite_indep_sum_card]
Thm*  a,b,c:. a(bc) = (ab)c[mul_assoc_from_cross_assoc]
Thm*  a,b:. (ab) ~ (ab)[nsub_mul_rw]
Thm*  a,b,c:. ab = c  ((ab) ~ 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*  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*  a,b:. ba  (Void ~ {a..b})[intseg_void]
Thm*  (xy:(x:AB(x))C(xy)) ~ (x:Ay:B(x)C(<x,y>))[card_sigma_distr]
Thm*  (z:(x:AB(x))C(z)) ~ (x:Ay:B(x)C(<x,y>))[card_curry]
Thm*  (ABC) ~ (ABC)[card_curry_simple]
Thm*  (A ~ A')  (B ~ B')  ((AB) ~ (A'B'))[function_functionality_wrt_one_one_corr]
Thm*  B,B':(AType). (x:A. B(x) ~ B'(x))  ((x:AB(x)) ~ (x:AB'(x)))[function_functionality_wrt_one_one_corr_B]
Thm*  (x:A. B(x)) ~ (x:A'. B'(x))  ((x:AB(x)) ~ (x:A'B'(x)))[card_pi]
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*  (x:A. Dec(P(x)))  (A ~ ({x:A| P(x) }+{x:A| P(x) }))[card_split_decbl_squash]
Thm*  (A+0) ~ A[card_nsub0_union_2]
Thm*  (0+A) ~ A[card_nsub0_union]
Thm*  B:(AType), P:(AProp).
Thm*  (i:A. Dec(P(i)))
Thm*  
Thm*  ((i:AB(i)) ~ ((i:{i:A| P(i) }B(i))+(i:{i:A| P(i) }B(i))))
[card_split_sigma_dom_decbl]
Thm*  B:(AType), P:(AProp).
Thm*  (i:{i:A| P(i) }B(i)) ~ {v:(i:AB(i))| P(v/x,y. x) }
[card_sigma_st_dom]
Thm*  (x:A. Dec(P(x)))  (A ~ ({x:A| P(x) }+{x:A| P(x) }))[card_split_decbl]
Thm*  (A+B) ~ (i:2if i=0 A else B fi)[card_union_vs_sigma]
Thm*  (A+B) ~ (B+A)[card_union_swap]
Thm*  InvFuns(A+B;i:2if 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 ~ A')  (B ~ B')  ((AB) ~ (A'B'))[product_functionality_wrt_one_one_corr]
Thm*  (q:A/E{x:A| q = x  A/E }) ~ A[card_quotient]
Thm*  B,B':(AType). (x:A. B(x) ~ B'(x))  ((x:AB(x)) ~ (x:AB'(x)))[product_functionality_wrt_one_one_corr_B]
Thm*  (x:A. B(x)) ~ (x:A'. B'(x))  ((x:AB(x)) ~ (x:A'B'(x)))[card_sigma]
Thm*  (x:A. B(x)  B'(x))  ({x:A| B(x) } ~ {x:A| B'(x) })[set_functionality_wrt_one_one_corr_n_pred]
Thm*  (x:A. B(x)  B'(x))  ({x:A| B(x) } ~ {x:A| B'(x) })[set_functionality_wrt_one_one_corr_n_pred2]
Thm*  Bij(A; A'; f)
Thm*  
Thm*  (x:A. B(x)  B'(f(x)))  ({x:A| B(x) } ~ {x:A'| B'(x) })
[card_settype_sq]
Thm*  Bij(A; A'; f)
Thm*  
Thm*  (x:A. B(x)  B'(f(x)))  ({x:A| B(x) } ~ {x:A'| B'(x) })
[card_settype]
Thm*  (AB) ~ (BA)[card_product_swap]
Thm*  A:Type, n:, x:A, xs:((n-1)A). [x/ xs]  nA[seq_cons_wf]
Thm*  (A ~ A')  (B ~ B')  ((A+B) ~ (A'+B'))[union_functionality_wrt_one_one_corr]
Thm*  (A ~ A')  (B ~ B')  (:A. B) ~ (:A'. B')[one_one_corr_fams_indep_if_one_one_corr]
Thm*  g:(A'A). Bij(A'; A; g)  (x:A. B(x)) ~ (x':A'. B(g(x')))[one_one_corr_fams_if_bij_A]
Thm*  (x:A. B(x) ~ B'(x))  (x:A. B(x)) ~ (x:A. B'(x))[one_one_corr_fams_if_one_one_corr_B]
Thm*  Bij(A; B; f)  f is 1-1 corr[bij_iff_is_1_1_corr]
Thm*  f:(AB). Bij(A; B; f)  (g:(BA). InvFuns(A;B;f;g))[bij_imp_exists_inv2]
Thm*  P:(ABProp). (x:A. !y:B. P(x;y))  (A ~ (y:B{x:A| P(x;y) }))[partition_type]
Thm*  a,b:. (a ~ b)  a = b[fin_card_vs_nat_eq]
Thm*  (A ~ m)  (A ~ k)  m = k[counting_is_unique]
Thm*  (A:Type. Finite(A)  Infinite(A))  (D:Type. (D)  (D))[absurd_nonfinite_imp_infinite]
Thm*  (A:Type. Finite(A)  Unbounded(A))  (P:Prop. P  P)[nonfin_eqv_unb_inf_iff_negnegelim]
Thm*  (A:Type. Finite(A)  Unbounded(A))  (D:Type. (D)  (D))[absurd_nonfin_imp_unb_inf]
Thm*  k:. Infinite(k)[nsub_not_infinite]
Thm*  (P:Prop. P  P)  (A:Type. Finite(A)  Unbounded(A))[negnegelim_imp_notfin_imp_unb_inf]
Thm*  (f:(AB). Bij(A; B; f))  (B ~ A)[bij_iff_1_1_corr_version2a]
Thm*  (A ~ B)  Infinite(A)  Infinite(B)[ooc_preserves_infiniteness]
Thm*  (A ~ B)  Unbounded(A)  Unbounded(B)[ooc_preserves_unb_inf]
Thm*  Infinite(A)  Finite(A)[infinite_imp_nonfinite]
Thm*  Unbounded(A)  Finite(A)[unb_inf_not_fin]
Thm*  (f:(AB). Bij(A; B; f))  (A ~ B)[bij_iff_1_1_corr_version2]
Thm*  f:(AB). Bij(A; B; f)  (g:(BA). InvFuns(A;B;f;g))[bij_imp_exists_inv_version2]
Thm*  f:(AB), g:(BA). InvFuns(A;B;f;g)  Bij(A; B; f)[fun_with_inv_is_bij_version2]
Thm*  f:(AB). (x.f(x)) = f[eta_conv_version2]
Thm*  f:(AB), g:(BC), h:(CD). h o (g o f) = (h o g) o f  AD[comp_assoc_version2]
Thm*  f:(AB). Id o f = f  AB[comp_id_l_version2]
Thm*  f:(AB). f o Id = f  AB[comp_id_r_version2]
Thm*  InvFuns(A;B;f;g)  Bij(B; A; g)[fun_with_inv2_is_bij_rev]
Thm*  InvFuns(A;B;f;g)  Bij(A; B; f)[fun_with_inv2_is_bij]
Thm*  (A  C)  (B  D)  A & B  C & D[parallel_conjunct_imp]
Thm*  g:(BA). Surj(A; B; f)  (x:A. g(f(x)) = x)  (y:B. f(g(y)) = y)[left_inv_of_surj_is_right_inv]
Thm*  InvFuns(A;B;f;g)  InvFuns(A;B;f;h)  g = h[inv_funs_2_unique]
Thm*  (A ~ B)  (B ~ C)  (A ~ C)[one_one_corr_2_transitivity]
Thm*  (A ~ B)  (B ~ A)[one_one_corr_2_inversion]
Thm*  A ~ A[one_one_corr_2_reflex]
Thm*  (A ~ A')  (B ~ B')  ((A ~ B)  (A' ~ B'))[one_one_corr_2_functionality_wrt_one_one_corr]
Thm*  (A ~ B)  ((A)  (B))[inhabited_functionality_wrt_one_one_corr]
Thm*  (A ~ B)  (A  B)[iff_weakening_wrt_one_one_corr_2]
Thm*  InvFuns(A;B;f;g)  Surj(B; A; g)[fun_with_inv2_is_surj_rev]
Thm*  (A ~ A')  (B ~ B')  ((A inj B) ~ (A' inj B'))[injection_type_functionality_wrt_ooc]
Thm*  InvFuns(A;B;f;g)  Inj(A; B; f) & Inj(B; A; g)[invfuns_are_inj]
Thm*  (A ~ B)  Dedekind-Infinite(A)  Dedekind-Infinite(B)[ooc_preserves_dededkind_inf]
Thm*  InvFuns(A;B;f;g)  Inj(B; A; g)[fun_with_inv2_is_inj_rev]
Thm*  B:(AType), B':(A'Type).
Thm*  (x:A. B(x)) ~ (x':A'. B'(x'))  (x':A'. B'(x')) ~ (x:A. B(x))
[one_one_corr_fams_sym]
Thm*  (A ~ A')  (B ~ B')  ((A onto B) ~ (A' onto B'))[surjection_type_functionality_wrt_ooc]
Thm*  InvFuns(A;B;f;g)  Surj(A; B; f) & Surj(B; A; g)[invfuns_are_surj]
Thm*  InvFuns(A;B;f;g)  InvFuns(B;A;g;f)[inv_funs_2_sym]
Thm*  k:, B:(kType), Q:(x:kB(x)Prop).
Thm*  (x:k. y:B(x). Q(x;y))  (f:(x:kB(x)). x:k. Q(x;f(x)))
[dep_finite_choice]
Thm*  k:, Q:(kAProp).
Thm*  (x:k. y:A. Q(x;y))  (f:(kA). x:k. Q(x;f(x)))
[finite_choice]
Thm*  (x:A. Dec(P(x)))
Thm*  
Thm*  ((x:AB(x)) ~ ((x:A st P(x)B(x))(x:A st P(x)B(x))))
[card_split_prod_intseg_family_decbl]
Thm*  R:(ABProp). 
Thm*  (1-1-Corr x:A,y:B. R(x;y))
Thm*  
Thm*  (f:(AB), g:(BA).
Thm*  (InvFuns(A;B;f;g) & (x:A, y:B. R(x;y)  y = f(x) & x = g(y)))
[one_one_corr_rel_vs_invfuns]
Thm*  Bij(A; B; g)  Bij(B; C; f)  Bij(A; C; f o g)[comp_preserves_bij]
Thm*  A:Type, B:Type. (A ~~ B)  (A ~ B)[one_one_corr_iff_one_one_corr_2]
Thm*  InvFuns(A; B; f; g)  InvFuns(A;B;f;g)[inv_funs_iff_inv_funs_2]
Thm*  A:Type, A',A'':Type, B:(AType), B':(A'Type), B'':(A''Type).
Thm*  (x:A. B(x)) ~ (x':A'. B'(x'))
Thm*  
Thm*  (x':A'. B'(x')) ~ (x'':A''. B''(x''))  (x:A. B(x)) ~ (x'':A''. B''(x''))
[one_one_corr_fams_trans]
Thm*  (A ~ A')  (B ~ B')  ((AB) ~ (A'B'))[inv_pair_functionality_wrt_one_one_corr]
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*  f:(B onto C), g:(A onto B). f o g  A onto C[compose_wf_surj]
Thm*  Surj(A; B; g)  Surj(B; C; f)  Surj(A; C; f o g)[comp_preserves_surj]
Thm*  A,B,C:Type, f:(B inj C), g:(A inj B). f o g  A inj C[compose_wf_inj]
Thm*  Inj(A; B; g)  Inj(B; C; f)  Inj(A; C; f o g)[comp_preserves_inj]
Thm*  a,a':A, x:(a = a'). x = *[eq_mem_is_ax]
Thm*  b,a:. b(b -- a)+a[ndiff_bound]
Thm*  a,b:. (a -- b)  [ndiff_wf_nat]
Thm*  A:Type. Dedekind-Infinite(A)  Prop[Dedekind_infinite_wf]
Thm*  Infinite(A)  Unbounded(A)[unboundedly_imp_productively_infinite]
Thm*  A:Type. Infinite(A)  Prop[productively_infinite_wf]
Thm*  A:Type. Unbounded(A)  Prop[unboundedly_infinite_wf]
Thm*  k:. k! = k(k-1)!  [factorial_via_intseg_step_rw]
Thm*  k,n:. k = n+1  k! = kn!  [factorial_via_intseg_step]
Thm*  A:Type. fin_enum(A)  Type[fin_enum_wf]
Thm*  ((AB))  (A ~ B)[inv_pair_iff_ooc]
Thm*  A,B:Type. sigma_to_union  (i:2if i=0 A else B fi)(A+B)[sigma_to_union_wf]
Thm*  A,B:Type. union_to_sigma  (A+B)(i:2if i=0 A else B fi)[union_to_sigma_wf]
Thm*  P:{P:(Prop)| i:. P(i) }. 
Thm*  (i:. Dec(P(i)))  ({i:| P(i) & (j:. j<i  P(j)) })
[least_exists2]
Thm*  k:, P:{P:(kProp)| 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*  (x:A. B(x)) ~ (x:A. B(x))[one_one_corr_fams_refl]
Thm*  A:Type, A':Type, B:(AType), B':(A'Type).
Thm*  ((x:A. B(x)) ~ (x':A'. B'(x')))  Prop
[one_one_corr_fams_wf]
Thm*  a,a':. a'-a = 1  (B:({a..a'}Type). (i:{a..a'}B(i)) ~ B(a))[card_sum_family_intseg_singleton_elim]
Thm*  B:({a:A}Type). (i:{a:A}B(i)) ~ B(a)[card_sum_family_singleton_elim]
Thm*  (A ~ 0)  (A)[card0_iff_uninhabited]
Thm*  A = B  (A ~ B)[one_one_corr_2_weakening_wrt]
Thm*  {x:A| B(x) } ~ {x:A| B(x) }[subset_sq_remove_card]
Thm*  a,a':. a'-a = 1  (B:({a..a'}Type). (i:{a..a'}B(i)) ~ B(a))[card_prod_family_intseg_singleton_elim]
Thm*  (i:{a:A}B(i)) ~ B(a)[card_prod_family_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*  (0A) ~ 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*  {x:{x:A| P(x) }| Q(x) } ~ {x:A| P(x) & Q(x) }[card_subset_vs_and]
Thm*  {x:A| if b P(x) else Q(x) fi } ~ if b {x:A| P(x) } else {x:A| Q(x) } fi[ifthenelse_distr_subtype_ooc]
Thm*  (A bij B) ~ ((A inj B)(A onto B))[bijtype_ooc_inj_isect_surjtype]
Thm*  (ABC) ~ ((AB)C)[simple_card_cross_assoc]
Thm*  (A:Type, R:(AAProp).
Thm*  ((A) & (Trans x,y:A. R(x;y)) & (x:A. y:A. R(x;y))
Thm*  (& (x:A. R(x;x))
Thm*  (& Finite(A))
[no_finite_model]
Thm*  R:(AAProp). 
Thm*  (A) & (Trans x,y:A. R(x;y)) & (x:A. y:A. R(x;y))
Thm*  
Thm*  (k:. f:(kA). i,j:k. i<j  R(f(i);f(j)))
[no_finite_model_lemma]
Thm*  (A ~ B)  Finite(A)  Finite(B)[ooc_preserves_finiteness]
Thm*  k:. Finite(k)[nsub_is_finite]
Thm*  A:Type. Finite(A)  Prop[is_finite_type_wf]
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:(BB). 
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:(BB). 
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:(kA). f  k onto {a:A| i:k. a = f(i) })[nsub_discr_range_surjtype]
Thm*  (A Discrete)
Thm*  
Thm*  (k:, f:(kA).
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) }. p(least i:. p(i))[least_satisfies2]
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*  p:{p:()| i:. p(i) }. (least i:. p(i))  [least_wf2]
Thm*  p:{p:()| i:. p(i) }. 
Thm*  (least i:. p(i))  {i:| p(i) & (j:. j<i  p(j)) }
[least_characterized2]
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*  f:(AB), g:(BA). SqStable(InvFuns(A;B;f;g))[sq_stable__inv_funs_2]
Thm*  InvFuns(A;B;f;g)  Surj(A; B; f)[fun_with_inv2_is_surj]
Thm*  InvFuns(A;B;f;g)  Inj(A; B; f)[fun_with_inv2_is_inj]
Thm*  A = A'  B = B'  (A ~ B) = (A' ~ B')[one_one_corr_2_functionality_wrt_eq]
Thm*  A,B:Type. (A ~ B)  Prop[one_one_corr_2_wf]
Thm*  InvFuns(A;A;Id;Id)[inv_funs_2_identity]
Thm*  R:(ABProp). (R is 1-1) = (1-1 xA,yB. R(x;y))[rel_1_1_eq_rel_1_1_b]
Thm*  A,B:Type, R:(ABProp). (R is 1-1)  Type[rel_1_1_wf]
Thm*  A,B:Type, R:(ABType). (1-1 xA,yB. R(x;y))  Type[rel_1_1_b_wf]
Thm*  m,k:, f:(mk). k<m  (x,y:m. x  y & f(x) = f(y))[pigeon_hole]
Thm*  m,k:, f:(mk). Inj(m; k; f)  mk[inj_imp_le2]
Thm*  ((m inj k))  mk[inj_typing_imp_le]
Thm*  (f:(mk). Inj(m; k; f))  mk[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)  mk[delete_fenum_value_wf]
Thm*  Bij({u:| P(u) }; {v:| Q(v) }; f)
Thm*  
Thm*  (m:{u:| P(u) }, k:{v:| Q(v) }.
Thm*  (Bij({u:| P(u) & u = m }; {v:| Q(v) & v = k };
Thm*  (Bij(Replace value k by f(m) in f))
[delete_fenum_value_is_fenum_gen]
Thm*  Inj({u:| P(u) }; {v:| Q(v) }; f)
Thm*  
Thm*  (m:{u:| P(u) }, k:{v:| Q(v) }.
Thm*  (Inj({u:| P(u) & u = m }; {v:| Q(v) & v = k };
Thm*  (Inj(Replace value k by f(m) in f))
[delete_fenum_value_is_inj_gen]
Thm*  Inj({u:| P(u) }; {v:| Q(v) }; f)
Thm*  
Thm*  (m:{u:| P(u) }, k:{v:| Q(v) }.
Thm*  ((Replace value k by f(m) in f)
Thm*  ( {u:| P(u) & u = m }{v:| Q(v) & v = k }
Thm*  (& Inj({u:| P(u) & u = m }; {v:| Q(v) & v = k };
Thm*  (& Inj(Replace value k by f(m) in f))
[delete_fenum_value_is_inj_genW]
Thm*  Inj({u:| P(u) }; {u:| Q(u) }; f)
Thm*  
Thm*  (m:{u:| P(u) }, k:{v:| Q(v) }, i:{u:| P(u) & u = m }.
Thm*  (f(i) = k
Thm*  (
Thm*  ((Replace value k by f(m) in f)(i) = f(i)  {v:| Q(v) & v = k })
[delete_fenum_value_comp2_gen]
Thm*  Inj({u:| P(u) }; {u:| Q(u) }; f)
Thm*  
Thm*  (m:{u:| P(u) }, k:{v:| Q(v) }, i:{u:| P(u) & u = m }.
Thm*  (f(i) = k
Thm*  (
Thm*  ((Replace value k by f(m) in f)(i) = f(m)  {v:| Q(v) & v = k })
[delete_fenum_value_comp1_gen]
Thm*  Inj({k:| P(k) }; {k:| Q(k) }; f)
Thm*  
Thm*  (m:{u:| P(u) }, k:{v:| Q(v) }.
Thm*  ((Replace value k by f(m) in f)
Thm*  ( {u:| P(u) & u = m }{v:| Q(v) & v = k })
[delete_fenum_value_wf_gen]
Thm*  A,X:Type, P:(A), y:A, f:(XA).
Thm*  (Replace values x s.t. P(x) by y in f)  XA
[replace_fn_values_wf]
Thm*  (A bij B) =ext ((A inj B)(A onto B))[bijtype_exteq_inj_isect_surjtype]
Thm*  (A bij B)  (A onto B)[bijection_type_inc_surj]
Thm*  (A bij B)  (A onto B)[bijtype_sub_surjtype]
Thm*  A,B:Type. A onto B  Type[surjection_type_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 bij B)  (A inj B)[bijection_type_inc_inj]
Thm*  (A bij B)  (A inj B)[bijtype_sub_injtype]
Thm*  (A)  (!(A inj B))[inj_from_empty_unique]
Thm*  f:(A inj B), a:A. f  {x:A| x = a } inj {y:B| y = f(a) }[inj_point_deletion_inj]
Thm*  f:(A inj B), a:A. f  {x:A| x = a }{y:B| y = f(a) }[inj_point_deletion]
Thm*  f:(A inj B). Inj(A; B; f)[injection_type_injection]
Thm*  f:(A inj B). f  AB[injection_type_fun]
Thm*  ((A inj B))  (f:(AB). Inj(A; B; f))[injtype_vs_inj]
Thm*  A,B:Type. A inj B  Type[injection_type_wf]
Thm*  A,B:Type. A bij B  Type[bijection_type_wf]
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*  i,j:. Dec(i = j)[decidable__nat_equal]
Thm*  IsEqFun(b;i,j. i=j)[eq_int_is_eq_nsub]
Thm*  a,b:. ab  (b -- a) = b-a[ndiff_vs_diff]
Thm*  A,B:Type, R:(ABProp). (1-1-Corr x:A,y:B. R(x;y))  Prop[is_one_one_corr_rel_wf]
Def  same_range_sep(A; B) == f,g. j:B. (i:A. f(i) = j)  (i:A. g(i) = j)[same_range_sep]
Def  Unbounded(A) == k:. (k inj A)[unboundedly_infinite]
Def  (x:A. B(x)) ~ (x':A'. B'(x'))
Def  == f:(AA'), g:(A'A), F:(x:AB(x)B'(f(x))), G:(x:AB'(f(x))B(x)).
Def  == InvFuns(A;A';f;g) & (u:A. InvFuns(B(u);B'(f(u));F(u);G(u)))
[one_one_corr_fams]
Def  InvFuns(A;B;f;g) == (x:A. g(f(x)) = x) & (y:B. f(g(y)) = y)[inv_funs_2]
Def  1-1 xA,yB. R(x;y)
Def  == x,x':A, y,y':B. R(x;y) & R(x';y')  (x = x'  y = y')
[rel_1_1_b]
Def  R is 1-1 == x,x':A, y,y':B. R(x,y) & R(x',y')  (x = x'  y = y')[rel_1_1]
Def  1-1-Corr x:A,y:B. R(x;y) == (x:A. !y:B. R(x;y)) & (y:B. !x:A. R(x;y))[is_one_one_corr_rel]

In prior sections: core well fnd int 1 bool 1 rel 1 quot 1 LogicSupplement int 2 union num thy 1 SimpleMulFacts IteratedBinops

Try larger context: DiscrMathExt IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html

DiscreteMath Sections DiscrMathExt Doc