(* ********************************************************************** *) (* 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_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] ==>∀f. (∀b ∈ a. f`b < n ∧ f`b ⊆ T) ⟶ (∪b ∈ a. f`b) < 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); ¬Finite(a); Ord(a); n ∈ nat]==> (∪b ∈ a. f`b) < a" by (blast intro: UN_fun_lepoll_lemma)
lemma UN_lepoll: "[∀b ∈ a. F(b) < n ∧ F(b) ⊆ T; well_ord(T, R); ¬Finite(a); Ord(a); n ∈ nat] ==> (∪b ∈ a. F(b)) < 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 und die Messung sind noch experimentell.