src/ZF/AC/DC.thy
changeset 13175 81082cfa5618
parent 12891 92af5c3a10fb
child 13339 0f89104dd377
equal deleted inserted replaced
13174:85d3c0981a16 13175:81082cfa5618
    28 done
    28 done
    29 
    29 
    30 lemma range_subset_domain: 
    30 lemma range_subset_domain: 
    31       "[| R \<subseteq> X*X;   !!g. g \<in> X ==> \<exists>u. <g,u> \<in> R |] 
    31       "[| R \<subseteq> X*X;   !!g. g \<in> X ==> \<exists>u. <g,u> \<in> R |] 
    32        ==> range(R) \<subseteq> domain(R)"
    32        ==> range(R) \<subseteq> domain(R)"
    33 by (blast ); 
    33 by blast 
    34 
    34 
    35 lemma cons_fun_type: "g \<in> n->X ==> cons(<n,x>, g) \<in> succ(n) -> cons(x, X)"
    35 lemma cons_fun_type: "g \<in> n->X ==> cons(<n,x>, g) \<in> succ(n) -> cons(x, X)"
    36 apply (unfold succ_def)
    36 apply (unfold succ_def)
    37 apply (fast intro!: fun_extend elim!: mem_irrefl)
    37 apply (fast intro!: fun_extend elim!: mem_irrefl)
    38 done
    38 done
   245   apply (blast intro: fun_weaken_type)
   245   apply (blast intro: fun_weaken_type)
   246  apply (erule ltD) 
   246  apply (erule ltD) 
   247 (** LEVEL 11: last subgoal **)
   247 (** LEVEL 11: last subgoal **)
   248 apply (subst DC0_imp.lemma3, assumption+) 
   248 apply (subst DC0_imp.lemma3, assumption+) 
   249   apply (fast elim!: fun_weaken_type)
   249   apply (fast elim!: fun_weaken_type)
   250  apply (erule ltD, force) 
   250  apply (erule ltD) 
       
   251 apply (force simp add: lt_def) 
   251 done
   252 done
   252 
   253 
   253 
   254 
   254 (* ************************************************************************
   255 (* ************************************************************************
   255    DC(omega) ==> DC                                                       
   256    DC(omega) ==> DC                                                       
   484 apply (blast intro: Ord_in_Ord, auto) 
   485 apply (blast intro: Ord_in_Ord, auto) 
   485 apply (atomize, blast dest: not_sym) 
   486 apply (atomize, blast dest: not_sym) 
   486 done
   487 done
   487 
   488 
   488 lemma value_in_image: "[| f \<in> X->Y; A \<subseteq> X; a \<in> A |] ==> f`a \<in> f``A"
   489 lemma value_in_image: "[| f \<in> X->Y; A \<subseteq> X; a \<in> A |] ==> f`a \<in> f``A"
   489 by (fast elim!: image_fun [THEN ssubst]);
   490 by (fast elim!: image_fun [THEN ssubst])
   490 
   491 
   491 theorem DC_WO3: "(\<forall>K. Card(K) --> DC(K)) ==> WO3"
   492 theorem DC_WO3: "(\<forall>K. Card(K) --> DC(K)) ==> WO3"
   492 apply (unfold DC_def WO3_def)
   493 apply (unfold DC_def WO3_def)
   493 apply (rule allI)
   494 apply (rule allI)
   494 apply (case_tac "A \<prec> Hartog (A)")
   495 apply (case_tac "A \<prec> Hartog (A)")