6 by H. Rubin and J.E. Rubin, 1985. |
6 by H. Rubin and J.E. Rubin, 1985. |
7 |
7 |
8 Axiom AC0 comes from "Axiomatic Set Theory" by P. Suppes, 1972. |
8 Axiom AC0 comes from "Axiomatic Set Theory" by P. Suppes, 1972. |
9 |
9 |
10 Some Isabelle proofs of equivalences of these axioms are formalizations of |
10 Some Isabelle proofs of equivalences of these axioms are formalizations of |
11 proofs presented by Rubin. The others are based on Rubin's proofs, but |
11 proofs presented by the Rubins. The others are based on the Rubins' proofs, |
12 slightly changed. |
12 but slightly changed. |
13 *) |
13 *) |
14 |
14 |
15 AC_Equiv = CardinalArith + Univ + Transrec2 + |
15 AC_Equiv = CardinalArith + Univ + OrdQuant + |
16 |
16 |
17 consts |
17 consts |
18 |
18 |
19 (* Well Ordering Theorems *) |
19 (* Well Ordering Theorems *) |
20 WO1, WO2, WO3, WO5, WO6, WO7, WO8 :: "o" |
20 WO1, WO2, WO3, WO5, WO6, WO7, WO8 :: "o" |
24 AC0, AC1, AC2, AC3, AC4, AC5, AC6, AC7, AC8, AC9, |
24 AC0, AC1, AC2, AC3, AC4, AC5, AC6, AC7, AC8, AC9, |
25 AC11, AC12, AC14, AC15, AC17, AC19 :: "o" |
25 AC11, AC12, AC14, AC15, AC17, AC19 :: "o" |
26 AC10, AC13 :: "i => o" |
26 AC10, AC13 :: "i => o" |
27 AC16 :: "[i, i] => o" |
27 AC16 :: "[i, i] => o" |
28 AC18 :: "prop" ("AC18") |
28 AC18 :: "prop" ("AC18") |
29 |
29 |
30 (* Auxiliary definitions used in theorems *) |
30 (* Auxiliary definitions used in definitions *) |
31 first :: "[i, i, i] => o" |
|
32 exists_first :: "[i, i] => o" |
|
33 pairwise_disjoint :: "i => o" |
31 pairwise_disjoint :: "i => o" |
34 sets_of_size_between :: "[i, i, i] => o" |
32 sets_of_size_between :: "[i, i, i] => o" |
35 |
|
36 GG :: "[i, i, i] => i" |
|
37 GG2 :: "[i, i, i] => i" |
|
38 HH :: "[i, i, i] => i" |
|
39 |
|
40 recfunAC16 :: "[i, i, i, i] => i" |
|
41 |
33 |
42 defs |
34 defs |
43 |
35 |
44 (* Well Ordering Theorems *) |
36 (* Well Ordering Theorems *) |
45 |
37 |
58 \ & (UN b<a. f`b) = A & (ALL b<a. f`b lepoll m))" |
50 \ & (UN b<a. f`b) = A & (ALL b<a. f`b lepoll m))" |
59 |
51 |
60 WO7_def "WO7 == ALL A. Finite(A) <-> (ALL R. well_ord(A,R) --> \ |
52 WO7_def "WO7 == ALL A. Finite(A) <-> (ALL R. well_ord(A,R) --> \ |
61 \ well_ord(A,converse(R)))" |
53 \ well_ord(A,converse(R)))" |
62 |
54 |
63 WO8_def "WO8 == ALL A. (0~:A --> (EX f. f : (PROD X:A. X))) --> \ |
55 WO8_def "WO8 == ALL A. (EX f. f : (PROD X:A. X)) --> \ |
64 \ (EX R. well_ord(A,R))" |
56 \ (EX R. well_ord(A,R))" |
65 |
57 |
66 (* Axioms of Choice *) |
58 (* Axioms of Choice *) |
67 |
59 |
68 AC0_def "AC0 == ALL A. EX f. f:(PROD X:Pow(A)-{0}. X)" |
60 AC0_def "AC0 == ALL A. EX f. f:(PROD X:Pow(A)-{0}. X)" |
118 AC18_def "AC18 == (!!X A B. A~=0 & (ALL a:A. B(a) ~= 0) --> \ |
110 AC18_def "AC18 == (!!X A B. A~=0 & (ALL a:A. B(a) ~= 0) --> \ |
119 \ ((INT a:A. UN b:B(a). X(a,b)) = \ |
111 \ ((INT a:A. UN b:B(a). X(a,b)) = \ |
120 \ (UN f: PROD a:A. B(a). INT a:A. X(a, f`a))))" |
112 \ (UN f: PROD a:A. B(a). INT a:A. X(a, f`a))))" |
121 |
113 |
122 AC19_def "AC19 == ALL A. A~=0 & 0~:A --> ((INT a:A. UN b:a. b) = \ |
114 AC19_def "AC19 == ALL A. A~=0 & 0~:A --> ((INT a:A. UN b:a. b) = \ |
123 \ (UN f:{f: A->Union(A). ALL B:A. f`B:B}. INT a:A. f`a))" |
115 \ (UN f:(PROD B:A. B). INT a:A. f`a))" |
124 |
116 |
125 (* Auxiliary definitions used in theorems *) |
117 (* Auxiliary definitions used in the above definitions *) |
126 |
|
127 first_def "first(u, X, R) \ |
|
128 \ == u:X & (ALL v:X. v~=u --> <u,v> : R)" |
|
129 |
|
130 exists_first_def "exists_first(X,R) \ |
|
131 \ == EX u:X. first(u, X, R)" |
|
132 |
118 |
133 pairwise_disjoint_def "pairwise_disjoint(A) \ |
119 pairwise_disjoint_def "pairwise_disjoint(A) \ |
134 \ == ALL A1:A. ALL A2:A. A1 Int A2 ~= 0 --> A1=A2" |
120 \ == ALL A1:A. ALL A2:A. A1 Int A2 ~= 0 --> A1=A2" |
135 |
121 |
136 sets_of_size_between_def "sets_of_size_between(A,m,n) \ |
122 sets_of_size_between_def "sets_of_size_between(A,m,n) \ |
137 \ == ALL B:A. m lepoll B & B lepoll n" |
123 \ == ALL B:A. m lepoll B & B lepoll n" |
138 |
124 |
139 (* Auxiliary definitions used in proofs *) |
|
140 |
|
141 GG_def "GG(f,x,a) == transrec(a, %b r. (lam z:Pow(x). \ |
|
142 \ if(z=0, x, f`z))`(x - {r`c. c:b}))" |
|
143 |
|
144 GG2_def "GG2(f,x,a) == transrec(a, %b r. (lam z:Pow(x). \ |
|
145 \ if(z=0, {x}, f`z))`(x - Union({r`c. c:b})))" |
|
146 |
|
147 HH_def "HH(f,x,a) == transrec(a, %b r. (lam z:Pow(x). \ |
|
148 \ if(z=0|f`z~:z, x, f`z))`(x - {r`c. c:b}))" |
|
149 |
|
150 recfunAC16_def |
|
151 "recfunAC16(f,fa,i,a) == \ |
|
152 \ transrec2(i, 0, \ |
|
153 \ %g r. if(EX y:r. fa`g <= y, r, \ |
|
154 \ r Un {f`(LEAST i. fa`g <= f`i & \ |
|
155 \ (ALL b<a. (fa`b <= f`i --> (ALL t:r. ~ fa`b <= t))))}))" |
|
156 |
|
157 end |
125 end |