equal
deleted
inserted
replaced
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)") |