lemma AC6_AC7: "AC6 \ AC7" by (unfold AC6_def AC7_def, blast)
(* ********************************************************************** *) (* AC7 \<Longrightarrow> AC6, Rubin & Rubin p. 12, Theorem 2.8 *) (* The case of the empty family of sets added in order to complete *) (* the proof. *) (* ********************************************************************** *)
lemma lemma1_1: "y \ (\B \ A. Y*B) \ (\B \ A. snd(y`B)) \ (\B \ A. B)" by (fast intro!: lam_type snd_type apply_type)
lemma lemma1_2: "y \ (\B \ {Y*C. C \ A}. B) \ (\B \ A. y`(Y*B)) \ (\B \ A. Y*B)" apply (fast intro!: lam_type apply_type) done
lemma AC7_AC6_lemma1: "(\B \ {(nat->\(A))*C. C \ A}. B) \ 0 \ (\B \ A. B) \ 0" by (fast intro!: equals0I lemma1_1 lemma1_2)
lemma AC7_AC6_lemma2: "0 \ A \ 0 \ {(nat -> \(A)) * C. C \ A}" by (blast dest: Sigma_fun_space_not0)
(* ********************************************************************** *) (* AC9 \<Longrightarrow> AC1 *) (* The idea of this proof comes from "Equivalents of the Axiom of Choice" *) (* by Rubin & Rubin. But (x * y) is not necessarily equipollent to *) (* (x * y) \<union> {0} when y is a set of total functions acting from nat to *) (* \<Union>(A) -- therefore we have used the set (y * nat) instead of y. *) (* ********************************************************************** *)
lemma snd_lepoll_SigmaI: "b \ B \ X \ B \ X" by (blast intro: lepoll_trans prod_lepoll_self eqpoll_imp_lepoll
prod_commute_eqpoll)
lemma nat_lepoll_lemma: "\0 \ A; B \ A\ \ nat \ ((nat \ \(A)) \ B) \ nat" by (blast dest: Sigma_fun_space_not0 intro: snd_lepoll_SigmaI)
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.