1 (* Title: ZF/AC/AC_Equiv.thy |
1 (* Title: ZF/AC/AC_Equiv.thy |
2 ID: $Id$ |
|
3 Author: Krzysztof Grabczewski |
2 Author: Krzysztof Grabczewski |
4 |
3 |
5 Axioms AC1 -- AC19 come from "Equivalents of the Axiom of Choice, II" |
4 Axioms AC1 -- AC19 come from "Equivalents of the Axiom of Choice, II" |
6 by H. Rubin and J.E. Rubin, 1985. |
5 by H. Rubin and J.E. Rubin, 1985. |
7 |
6 |
27 definition |
26 definition |
28 "WO3 == \<forall>A. \<exists>a. Ord(a) & (\<exists>b. b \<subseteq> a & A\<approx>b)" |
27 "WO3 == \<forall>A. \<exists>a. Ord(a) & (\<exists>b. b \<subseteq> a & A\<approx>b)" |
29 |
28 |
30 definition |
29 definition |
31 "WO4(m) == \<forall>A. \<exists>a f. Ord(a) & domain(f)=a & |
30 "WO4(m) == \<forall>A. \<exists>a f. Ord(a) & domain(f)=a & |
32 (\<Union>b<a. f`b) = A & (\<forall>b<a. f`b \<lesssim> m)" |
31 (\<Union>b<a. f`b) = A & (\<forall>b<a. f`b \<lesssim> m)" |
33 |
32 |
34 definition |
33 definition |
35 "WO5 == \<exists>m \<in> nat. 1\<le>m & WO4(m)" |
34 "WO5 == \<exists>m \<in> nat. 1\<le>m & WO4(m)" |
36 |
35 |
37 definition |
36 definition |
38 "WO6 == \<forall>A. \<exists>m \<in> nat. 1\<le>m & (\<exists>a f. Ord(a) & domain(f)=a |
37 "WO6 == \<forall>A. \<exists>m \<in> nat. 1\<le>m & (\<exists>a f. Ord(a) & domain(f)=a |
39 & (\<Union>b<a. f`b) = A & (\<forall>b<a. f`b \<lesssim> m))" |
38 & (\<Union>b<a. f`b) = A & (\<forall>b<a. f`b \<lesssim> m))" |
40 |
39 |
41 definition |
40 definition |
42 "WO7 == \<forall>A. Finite(A) <-> (\<forall>R. well_ord(A,R) --> well_ord(A,converse(R)))" |
41 "WO7 == \<forall>A. Finite(A) <-> (\<forall>R. well_ord(A,R) --> well_ord(A,converse(R)))" |
43 |
42 |
44 definition |
43 definition |
62 definition |
61 definition |
63 "AC1 == \<forall>A. 0\<notin>A --> (\<exists>f. f \<in> (\<Pi> X \<in> A. X))" |
62 "AC1 == \<forall>A. 0\<notin>A --> (\<exists>f. f \<in> (\<Pi> X \<in> A. X))" |
64 |
63 |
65 definition |
64 definition |
66 "AC2 == \<forall>A. 0\<notin>A & pairwise_disjoint(A) |
65 "AC2 == \<forall>A. 0\<notin>A & pairwise_disjoint(A) |
67 --> (\<exists>C. \<forall>B \<in> A. \<exists>y. B Int C = {y})" |
66 --> (\<exists>C. \<forall>B \<in> A. \<exists>y. B Int C = {y})" |
68 definition |
67 definition |
69 "AC3 == \<forall>A B. \<forall>f \<in> A->B. \<exists>g. g \<in> (\<Pi> x \<in> {a \<in> A. f`a\<noteq>0}. f`x)" |
68 "AC3 == \<forall>A B. \<forall>f \<in> A->B. \<exists>g. g \<in> (\<Pi> x \<in> {a \<in> A. f`a\<noteq>0}. f`x)" |
70 |
69 |
71 definition |
70 definition |
72 "AC4 == \<forall>R A B. (R \<subseteq> A*B --> (\<exists>f. f \<in> (\<Pi> x \<in> domain(R). R``{x})))" |
71 "AC4 == \<forall>R A B. (R \<subseteq> A*B --> (\<exists>f. f \<in> (\<Pi> x \<in> domain(R). R``{x})))" |
80 definition |
79 definition |
81 "AC7 == \<forall>A. 0\<notin>A & (\<forall>B1 \<in> A. \<forall>B2 \<in> A. B1\<approx>B2) --> (\<Pi> B \<in> A. B) \<noteq> 0" |
80 "AC7 == \<forall>A. 0\<notin>A & (\<forall>B1 \<in> A. \<forall>B2 \<in> A. B1\<approx>B2) --> (\<Pi> B \<in> A. B) \<noteq> 0" |
82 |
81 |
83 definition |
82 definition |
84 "AC8 == \<forall>A. (\<forall>B \<in> A. \<exists>B1 B2. B=<B1,B2> & B1\<approx>B2) |
83 "AC8 == \<forall>A. (\<forall>B \<in> A. \<exists>B1 B2. B=<B1,B2> & B1\<approx>B2) |
85 --> (\<exists>f. \<forall>B \<in> A. f`B \<in> bij(fst(B),snd(B)))" |
84 --> (\<exists>f. \<forall>B \<in> A. f`B \<in> bij(fst(B),snd(B)))" |
86 |
85 |
87 definition |
86 definition |
88 "AC9 == \<forall>A. (\<forall>B1 \<in> A. \<forall>B2 \<in> A. B1\<approx>B2) --> |
87 "AC9 == \<forall>A. (\<forall>B1 \<in> A. \<forall>B2 \<in> A. B1\<approx>B2) --> |
89 (\<exists>f. \<forall>B1 \<in> A. \<forall>B2 \<in> A. f`<B1,B2> \<in> bij(B1,B2))" |
88 (\<exists>f. \<forall>B1 \<in> A. \<forall>B2 \<in> A. f`<B1,B2> \<in> bij(B1,B2))" |
90 |
89 |
91 definition |
90 definition |
92 "AC10(n) == \<forall>A. (\<forall>B \<in> A. ~Finite(B)) --> |
91 "AC10(n) == \<forall>A. (\<forall>B \<in> A. ~Finite(B)) --> |
93 (\<exists>f. \<forall>B \<in> A. (pairwise_disjoint(f`B) & |
92 (\<exists>f. \<forall>B \<in> A. (pairwise_disjoint(f`B) & |
94 sets_of_size_between(f`B, 2, succ(n)) & Union(f`B)=B))" |
93 sets_of_size_between(f`B, 2, succ(n)) & Union(f`B)=B))" |
95 |
94 |
96 definition |
95 definition |
97 "AC11 == \<exists>n \<in> nat. 1\<le>n & AC10(n)" |
96 "AC11 == \<exists>n \<in> nat. 1\<le>n & AC10(n)" |
98 |
97 |
99 definition |
98 definition |
100 "AC12 == \<forall>A. (\<forall>B \<in> A. ~Finite(B)) --> |
99 "AC12 == \<forall>A. (\<forall>B \<in> A. ~Finite(B)) --> |
101 (\<exists>n \<in> nat. 1\<le>n & (\<exists>f. \<forall>B \<in> A. (pairwise_disjoint(f`B) & |
100 (\<exists>n \<in> nat. 1\<le>n & (\<exists>f. \<forall>B \<in> A. (pairwise_disjoint(f`B) & |
102 sets_of_size_between(f`B, 2, succ(n)) & Union(f`B)=B)))" |
101 sets_of_size_between(f`B, 2, succ(n)) & Union(f`B)=B)))" |
103 |
102 |
104 definition |
103 definition |
105 "AC13(m) == \<forall>A. 0\<notin>A --> (\<exists>f. \<forall>B \<in> A. f`B\<noteq>0 & f`B \<subseteq> B & f`B \<lesssim> m)" |
104 "AC13(m) == \<forall>A. 0\<notin>A --> (\<exists>f. \<forall>B \<in> A. f`B\<noteq>0 & f`B \<subseteq> B & f`B \<lesssim> m)" |
106 |
105 |
107 definition |
106 definition |
112 (\<exists>m \<in> nat. 1\<le>m & (\<exists>f. \<forall>B \<in> A. f`B\<noteq>0 & f`B \<subseteq> B & f`B \<lesssim> m))" |
111 (\<exists>m \<in> nat. 1\<le>m & (\<exists>f. \<forall>B \<in> A. f`B\<noteq>0 & f`B \<subseteq> B & f`B \<lesssim> m))" |
113 |
112 |
114 definition |
113 definition |
115 "AC16(n, k) == |
114 "AC16(n, k) == |
116 \<forall>A. ~Finite(A) --> |
115 \<forall>A. ~Finite(A) --> |
117 (\<exists>T. T \<subseteq> {X \<in> Pow(A). X\<approx>succ(n)} & |
116 (\<exists>T. T \<subseteq> {X \<in> Pow(A). X\<approx>succ(n)} & |
118 (\<forall>X \<in> {X \<in> Pow(A). X\<approx>succ(k)}. \<exists>! Y. Y \<in> T & X \<subseteq> Y))" |
117 (\<forall>X \<in> {X \<in> Pow(A). X\<approx>succ(k)}. \<exists>! Y. Y \<in> T & X \<subseteq> Y))" |
119 |
118 |
120 definition |
119 definition |
121 "AC17 == \<forall>A. \<forall>g \<in> (Pow(A)-{0} -> A) -> Pow(A)-{0}. |
120 "AC17 == \<forall>A. \<forall>g \<in> (Pow(A)-{0} -> A) -> Pow(A)-{0}. |
122 \<exists>f \<in> Pow(A)-{0} -> A. f`(g`f) \<in> g`f" |
121 \<exists>f \<in> Pow(A)-{0} -> A. f`(g`f) \<in> g`f" |
123 |
122 |
124 locale AC18 = |
123 locale AC18 = |
125 assumes AC18: "A\<noteq>0 & (\<forall>a \<in> A. B(a) \<noteq> 0) --> |
124 assumes AC18: "A\<noteq>0 & (\<forall>a \<in> A. B(a) \<noteq> 0) --> |
126 ((\<Inter>a \<in> A. \<Union>b \<in> B(a). X(a,b)) = |
125 ((\<Inter>a \<in> A. \<Union>b \<in> B(a). X(a,b)) = |
127 (\<Union>f \<in> \<Pi> a \<in> A. B(a). \<Inter>a \<in> A. X(a, f`a)))" |
126 (\<Union>f \<in> \<Pi> a \<in> A. B(a). \<Inter>a \<in> A. X(a, f`a)))" |
128 --"AC18 cannot be expressed within the object-logic" |
127 --"AC18 cannot be expressed within the object-logic" |
129 |
128 |
130 definition |
129 definition |
131 "AC19 == \<forall>A. A\<noteq>0 & 0\<notin>A --> ((\<Inter>a \<in> A. \<Union>b \<in> a. b) = |
130 "AC19 == \<forall>A. A\<noteq>0 & 0\<notin>A --> ((\<Inter>a \<in> A. \<Union>b \<in> a. b) = |
132 (\<Union>f \<in> (\<Pi> B \<in> A. B). \<Inter>a \<in> A. f`a))" |
131 (\<Union>f \<in> (\<Pi> B \<in> A. B). \<Inter>a \<in> A. f`a))" |
133 |
132 |
134 |
133 |
135 |
134 |
136 (* ********************************************************************** *) |
135 (* ********************************************************************** *) |
137 (* Theorems concerning ordinals *) |
136 (* Theorems concerning ordinals *) |