(* Title: ZF/AC/AC_Equiv.thy Author: Krzysztof Grabczewski
Axioms AC1 -- AC19 come from "Equivalents of the Axiom of Choice, II" by H. Rubin and J.E. Rubin, 1985.
Axiom AC0 comes from "Axiomatic Set Theory" by P. Suppes, 1972.
Some Isabelle proofs of equivalences of these axioms are formalizations of proofs presented by the Rubins. The others are based on the Rubins' proofs, but slightly changed.
*)
theory AC_Equiv imports ZF begin(*obviously not ZFC*)
(* Well Ordering Theorems *)
definition "WO1 \ \A. \R. well_ord(A,R)"
definition "WO2 \ \A. \a. Ord(a) \ A\a"
definition "WO3 \ \A. \a. Ord(a) \ (\b. b \ a \ A\b)"
definition "WO4(m) \ \A. \a f. Ord(a) \ domain(f)=a \
(\<Union>b<a. f`b) = A \<and> (\<forall>b<a. f`b \<lesssim> m)"
(* ********************************************************************** *) (* Lemmas used in the proofs like WO? \<Longrightarrow> AC? *) (* ********************************************************************** *)
lemma first_in_B: "\well_ord(\(A),r); 0 \ A; B \ A\ \ (THE b. first(b,B,r)) \ B" by (blast dest!: well_ord_imp_ex1_first
[THEN theI, THEN first_def [THEN def_imp_iff, THEN iffD1]])
lemma ex_choice_fun: "\well_ord(\(A), R); 0 \ A\ \ \f. f \ (\X \ A. X)" by (fast elim!: first_in_B intro!: lam_type)
lemma ex_choice_fun_Pow: "well_ord(A, R) \ \f. f \ (\X \ Pow(A)-{0}. X)" by (fast elim!: well_ord_subset [THEN ex_choice_fun])
(* ********************************************************************** *) (* Lemmas needed to state when a finite relation is a function. *) (* The criteria are cardinalities of the relation and its domain. *) (* Used in WO6WO1.ML *) (* ********************************************************************** *)
(*Using AC we could trivially prove, for all u, domain(u) \<lesssim> u*) lemma lepoll_m_imp_domain_lepoll_m: "\m \ nat; u \ m\ \ domain(u) \ m" unfolding lepoll_def apply (erule exE) apply (rule_tac x = "\x \ domain(u). \ i. \y. \x,y\ \ u \ f`\x,y\ = i" in exI) apply (rule_tac d = "\y. fst (converse(f) ` y) " in lam_injective) apply (fast intro: LeastI2 nat_into_Ord [THEN Ord_in_Ord]
inj_is_fun [THEN apply_type]) apply (erule domainE) apply (frule inj_is_fun [THEN apply_type], assumption) apply (rule LeastI2) apply (auto elim!: nat_into_Ord [THEN Ord_in_Ord]) done
lemma rel_is_fun: "\succ(m) \ domain(r); r \ succ(m); m \ nat;
r \<subseteq> A*B; A=domain(r)\<rbrakk> \<Longrightarrow> r \<in> A->B" by (simp add: Pi_iff rel_domain_ex1)
end
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet)
¤
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.