(* ********************************************************************** *) (* Lemmas involving ordinals and cardinalities used in the proofs *) (* concerning AC16 and DC *) (* ********************************************************************** *)
(* j=|A| *) lemma lepoll_imp_ex_le_eqpoll: "\A \ i; Ord(i)\ \ \j. j \ i \ A \ j" by (blast intro!: lepoll_cardinal_le well_ord_Memrel
well_ord_cardinal_eqpoll [THEN eqpoll_sym]
dest: lepoll_well_ord)
lemma Un_eqpoll_Inf_Ord: assumes A: "A \ i" and B: "B \ i" and NFI: "\ Finite(i)" and i: "Ord(i)" shows"A \ B \ i" proof (rule eqpollI) have AB: "A \ B" using A B by (blast intro: eqpoll_sym eqpoll_trans) have"2 \ nat" by (rule subset_imp_lepoll) (rule OrdmemD [OF nat_2I Ord_nat]) alsohave"... \ i" by (simp add: nat_le_infinite_Ord le_imp_lepoll NFI i)+ alsohave"... \ A" by (blast intro: eqpoll_sym A) finallyhave"2 \ A" . have ICI: "InfCard(|i|)" by (simp add: Inf_Card_is_InfCard Finite_cardinal_iff NFI i) have"A \ B \ A + B" by (rule Un_lepoll_sum) alsohave"... \ A \ B" by (rule lepoll_imp_sum_lepoll_prod [OF AB [THEN eqpoll_imp_lepoll] \<open>2 \<lesssim> A\<close>]) alsohave"... \ i \ i" by (blast intro: prod_eqpoll_cong eqpoll_imp_lepoll A B) alsohave"... \ i" by (blast intro: well_ord_InfCard_square_eq well_ord_Memrel ICI i) finallyshow"A \ B \ i" . next have"i \ A" by (blast intro: A eqpoll_sym) alsohave"... \ A \ B" by (blast intro: subset_imp_lepoll) finallyshow"i \ A \ B" . qed
lemma UN_sing_lepoll: "Ord(a) \ (\x \ a. {P(x)}) \ a" unfolding lepoll_def apply (rule_tac x = "\z \ (\x \ a. {P (x) }) . (\ i. P (i) =z) " in exI) apply (rule_tac d = "\z. P (z) " in lam_injective) apply (fast intro!: Least_in_Ord) apply (fast intro: LeastI elim!: Ord_in_Ord) done
lemma UN_fun_lepoll_lemma [rule_format]: "\well_ord(T, R); \Finite(a); Ord(a); n \ nat\ \<Longrightarrow> \<forall>f. (\<forall>b \<in> a. f`b \<lesssim> n \<and> f`b \<subseteq> T) \<longrightarrow> (\<Union>b \<in> a. f`b) \<lesssim> a" apply (induct_tac "n") apply (rule allI) apply (rule impI) apply (rule_tac b = "\b \ a. f`b" in subst) apply (rule_tac [2] empty_lepollI) apply (rule equals0I [symmetric], clarify) apply (fast dest: lepoll_0_is_0 [THEN subst]) apply (rule allI) apply (rule impI) apply (erule_tac x = "\x \ a. f`x - {THE b. first (b,f`x,R) }" in allE) apply (erule impE, simp) apply (fast intro!: Diff_first_lepoll, simp) apply (rule UN_subset_split [THEN subset_imp_lepoll, THEN lepoll_trans]) apply (fast intro: Un_lepoll_Inf_Ord UN_sing_lepoll) done
lemma UN_fun_lepoll: "\\b \ a. f`b \ n \ f`b \ T; well_ord(T, R); \<not>Finite(a); Ord(a); n \<in> nat\<rbrakk> \<Longrightarrow> (\<Union>b \<in> a. f`b) \<lesssim> a" by (blast intro: UN_fun_lepoll_lemma)
lemma UN_lepoll: "\\b \ a. F(b) \ n \ F(b) \ T; well_ord(T, R); \<not>Finite(a); Ord(a); n \<in> nat\<rbrakk> \<Longrightarrow> (\<Union>b \<in> a. F(b)) \<lesssim> a" apply (rule rev_mp) apply (rule_tac f="\b \ a. F (b)" in UN_fun_lepoll) apply auto done
lemma UN_eq_UN_Diffs: "Ord(a) \ (\b \ a. F(b)) = (\b \ a. F(b) - (\c \ b. F(c)))" apply (rule equalityI) prefer 2 apply fast apply (rule subsetI) apply (erule UN_E) apply (rule UN_I) apply (rule_tac P = "\z. x \ F (z) " in Least_in_Ord, (assumption+)) apply (rule DiffI, best intro: Ord_in_Ord LeastI, clarify) apply (erule_tac P = "\z. x \ F (z) " and i = c in less_LeastE) apply (blast intro: Ord_Least ltI) done
lemma lepoll_imp_eqpoll_subset: "a \ X \ \Y. Y \ X \ a \ Y" apply (unfold lepoll_def eqpoll_def, clarify) apply (blast intro: restrict_bij
dest: inj_is_fun [THEN fun_is_rel, THEN image_subset]) done
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.