src/ZF/AC/AC17_AC1.thy
changeset 61394 6142b282b164
parent 46822 95f1e700b712
child 61980 6b780867d426
equal deleted inserted replaced
61393:8673ec68c798 61394:6142b282b164
    53 (* *********************************************************************** *)
    53 (* *********************************************************************** *)
    54 (* more properties of HH                                                   *)
    54 (* more properties of HH                                                   *)
    55 (* *********************************************************************** *)
    55 (* *********************************************************************** *)
    56 
    56 
    57 lemma UN_eq_imp_well_ord:
    57 lemma UN_eq_imp_well_ord:
    58      "[| x - (\<Union>j \<in> LEAST i. HH(\<lambda>X \<in> Pow(x)-{0}. {f`X}, x, i) = {x}.  
    58      "[| x - (\<Union>j \<in> \<mu> i. HH(\<lambda>X \<in> Pow(x)-{0}. {f`X}, x, i) = {x}.  
    59         HH(\<lambda>X \<in> Pow(x)-{0}. {f`X}, x, j)) = 0;   
    59         HH(\<lambda>X \<in> Pow(x)-{0}. {f`X}, x, j)) = 0;   
    60         f \<in> Pow(x)-{0} -> x |]   
    60         f \<in> Pow(x)-{0} -> x |]   
    61         ==> \<exists>r. well_ord(x,r)"
    61         ==> \<exists>r. well_ord(x,r)"
    62 apply (rule exI)
    62 apply (rule exI)
    63 apply (erule well_ord_rvimage 
    63 apply (erule well_ord_rvimage 
    80 done
    80 done
    81 
    81 
    82 lemma AC17_AC1_aux1:
    82 lemma AC17_AC1_aux1:
    83      "[| \<forall>f \<in> Pow(x) - {0} -> x. \<exists>u \<in> Pow(x) - {0}. f`u\<notin>u;   
    83      "[| \<forall>f \<in> Pow(x) - {0} -> x. \<exists>u \<in> Pow(x) - {0}. f`u\<notin>u;   
    84          \<exists>f \<in> Pow(x)-{0}->x.  
    84          \<exists>f \<in> Pow(x)-{0}->x.  
    85             x - (\<Union>a \<in> (LEAST i. HH(\<lambda>X \<in> Pow(x)-{0}. {f`X},x,i)={x}).   
    85             x - (\<Union>a \<in> (\<mu> i. HH(\<lambda>X \<in> Pow(x)-{0}. {f`X},x,i)={x}).   
    86             HH(\<lambda>X \<in> Pow(x)-{0}. {f`X},x,a)) = 0 |]  
    86             HH(\<lambda>X \<in> Pow(x)-{0}. {f`X},x,a)) = 0 |]  
    87         ==> P"
    87         ==> P"
    88 apply (erule bexE)
    88 apply (erule bexE)
    89 apply (erule UN_eq_imp_well_ord [THEN exE], assumption)
    89 apply (erule UN_eq_imp_well_ord [THEN exE], assumption)
    90 apply (erule ex_choice_fun_Pow [THEN exE])
    90 apply (erule ex_choice_fun_Pow [THEN exE])
   115 apply (unfold AC17_def)
   115 apply (unfold AC17_def)
   116 apply (rule classical)
   116 apply (rule classical)
   117 apply (erule not_AC1_imp_ex [THEN exE])
   117 apply (erule not_AC1_imp_ex [THEN exE])
   118 apply (case_tac 
   118 apply (case_tac 
   119        "\<exists>f \<in> Pow(x)-{0} -> x. 
   119        "\<exists>f \<in> Pow(x)-{0} -> x. 
   120         x - (\<Union>a \<in> (LEAST i. HH (\<lambda>X \<in> Pow (x) -{0}. {f`X},x,i) ={x}) . HH (\<lambda>X \<in> Pow (x) -{0}. {f`X},x,a)) = 0")
   120         x - (\<Union>a \<in> (\<mu> i. HH (\<lambda>X \<in> Pow (x) -{0}. {f`X},x,i) ={x}) . HH (\<lambda>X \<in> Pow (x) -{0}. {f`X},x,a)) = 0")
   121 apply (erule AC17_AC1_aux1, assumption)
   121 apply (erule AC17_AC1_aux1, assumption)
   122 apply (drule AC17_AC1_aux2)
   122 apply (drule AC17_AC1_aux2)
   123 apply (erule allE)
   123 apply (erule allE)
   124 apply (drule bspec, assumption)
   124 apply (drule bspec, assumption)
   125 apply (drule AC17_AC1_aux4)
   125 apply (drule AC17_AC1_aux4)