src/ZF/AC/AC7_AC9.ML
changeset 11151 4042eb2fde2f
parent 9683 f87c8c449018
child 11317 7f9e4c389318
equal deleted inserted replaced
11150:67387142225e 11151:4042eb2fde2f
   147 (* Rules nedded to prove lemma1 *)
   147 (* Rules nedded to prove lemma1 *)
   148 val snd_lepoll_SigmaI = prod_lepoll_self RS 
   148 val snd_lepoll_SigmaI = prod_lepoll_self RS 
   149         ((prod_commute_eqpoll RS eqpoll_imp_lepoll) RSN (2,lepoll_trans));
   149         ((prod_commute_eqpoll RS eqpoll_imp_lepoll) RSN (2,lepoll_trans));
   150 
   150 
   151 
   151 
       
   152 Goal "[|0 \\<notin> A; B \\<in> A|] ==> nat \\<lesssim> ((nat \\<rightarrow> Union(A)) \\<times> B) \\<times> nat";
       
   153 by (blast_tac (claset() addDs [Sigma_fun_space_not0]
       
   154                         addIs [snd_lepoll_SigmaI]) 1);
       
   155 qed "nat_lepoll_lemma";
       
   156 
       
   157 
   152 Goal "[| 0~:A;  A~=0;  \
   158 Goal "[| 0~:A;  A~=0;  \
   153 \        C = {((nat->Union(A))*B)*nat. B:A}  Un \
   159 \        C = {((nat->Union(A))*B)*nat. B:A}  Un \
   154 \            {cons(0,((nat->Union(A))*B)*nat). B:A}; \
   160 \            {cons(0,((nat->Union(A))*B)*nat). B:A}; \
   155 \        B1: C;  B2: C |]  \
   161 \        B1: C;  B2: C |]  \
   156 \     ==> B1 eqpoll B2";
   162 \     ==> B1 eqpoll B2";
   157 by (blast_tac (claset() addSIs [nat_cons_eqpoll RS eqpoll_trans]
   163 by (blast_tac
   158                 addDs [Sigma_fun_space_not0]
   164     (claset() addSIs [nat_lepoll_lemma, nat_cons_eqpoll RS eqpoll_trans, 
   159                 addIs [eqpoll_trans, eqpoll_sym, snd_lepoll_SigmaI, 
   165                       eqpoll_refl RSN (2, prod_eqpoll_cong)]
   160                        eqpoll_refl RSN (2, prod_eqpoll_cong), 
   166               addIs [eqpoll_trans, eqpoll_sym, Sigma_fun_space_eqpoll]) 1);
   161                        Sigma_fun_space_eqpoll]) 1);
       
   162 val lemma1 = result();
   167 val lemma1 = result();
   163 
   168 
   164 Goal "ALL B1:{(F*B)*N. B:A} Un {cons(0,(F*B)*N). B:A}.  \
   169 Goal "ALL B1:{(F*B)*N. B:A} Un {cons(0,(F*B)*N). B:A}.  \
   165 \       ALL B2:{(F*B)*N. B:A}  \
   170 \       ALL B2:{(F*B)*N. B:A}  \
   166 \       Un {cons(0,(F*B)*N). B:A}. f`<B1,B2> : bij(B1, B2)  \
   171 \       Un {cons(0,(F*B)*N). B:A}. f`<B1,B2> : bij(B1, B2)  \