205 Bex_def: "Bex(A, P) == \<exists>x. x\<in>A & P(x)" |
205 Bex_def: "Bex(A, P) == \<exists>x. x\<in>A & P(x)" |
206 |
206 |
207 subset_def: "A <= B == \<forall>x\<in>A. x\<in>B" |
207 subset_def: "A <= B == \<forall>x\<in>A. x\<in>B" |
208 |
208 |
209 |
209 |
210 axioms |
210 axiomatization where |
211 |
211 |
212 (* ZF axioms -- see Suppes p.238 |
212 (* ZF axioms -- see Suppes p.238 |
213 Axioms for Union, Pow and Replace state existence only, |
213 Axioms for Union, Pow and Replace state existence only, |
214 uniqueness is derivable using extensionality. *) |
214 uniqueness is derivable using extensionality. *) |
215 |
215 |
216 extension: "A = B <-> A <= B & B <= A" |
216 extension: "A = B <-> A <= B & B <= A" and |
217 Union_iff: "A \<in> Union(C) <-> (\<exists>B\<in>C. A\<in>B)" |
217 Union_iff: "A \<in> Union(C) <-> (\<exists>B\<in>C. A\<in>B)" and |
218 Pow_iff: "A \<in> Pow(B) <-> A <= B" |
218 Pow_iff: "A \<in> Pow(B) <-> A <= B" and |
219 |
219 |
220 (*We may name this set, though it is not uniquely defined.*) |
220 (*We may name this set, though it is not uniquely defined.*) |
221 infinity: "0\<in>Inf & (\<forall>y\<in>Inf. succ(y): Inf)" |
221 infinity: "0\<in>Inf & (\<forall>y\<in>Inf. succ(y): Inf)" and |
222 |
222 |
223 (*This formulation facilitates case analysis on A.*) |
223 (*This formulation facilitates case analysis on A.*) |
224 foundation: "A=0 | (\<exists>x\<in>A. \<forall>y\<in>x. y~:A)" |
224 foundation: "A=0 | (\<exists>x\<in>A. \<forall>y\<in>x. y~:A)" and |
225 |
225 |
226 (*Schema axiom since predicate P is a higher-order variable*) |
226 (*Schema axiom since predicate P is a higher-order variable*) |
227 replacement: "(\<forall>x\<in>A. \<forall>y z. P(x,y) & P(x,z) --> y=z) ==> |
227 replacement: "(\<forall>x\<in>A. \<forall>y z. P(x,y) & P(x,z) --> y=z) ==> |
228 b \<in> PrimReplace(A,P) <-> (\<exists>x\<in>A. P(x,b))" |
228 b \<in> PrimReplace(A,P) <-> (\<exists>x\<in>A. P(x,b))" |
229 |
229 |