diff -r e44d86131648 -r 0c18df79b1c8 src/ZF/ZF_Base.thy --- a/src/ZF/ZF_Base.thy Tue Sep 27 16:51:35 2022 +0100 +++ b/src/ZF/ZF_Base.thy Tue Sep 27 17:03:23 2022 +0100 @@ -49,7 +49,7 @@ The resulting set (for functional P) is the same as with PrimReplace, but the rules are simpler. *) definition Replace :: "[i, [i, i] \ o] \ i" - where "Replace(A,P) \ PrimReplace(A, %x y. (\!z. P(x,z)) & P(x,y))" + where "Replace(A,P) \ PrimReplace(A, %x y. (\!z. P(x,z)) \ P(x,y))" syntax "_Replace" :: "[pttrn, pttrn, i, o] => i" (\(1{_ ./ _ \ _, _})\) @@ -71,7 +71,7 @@ (* Separation and Pairing can be derived from the Replacement and Powerset Axioms using the following definitions. *) definition Collect :: "[i, i \ o] \ i" - where "Collect(A,P) \ {y . x\A, x=y & P(x)}" + where "Collect(A,P) \ {y . x\A, x=y \ P(x)}" syntax "_Collect" :: "[pttrn, i, o] \ i" (\(1{_ \ _ ./ _})\) @@ -98,7 +98,7 @@ set enumerations translate as {a,...,z} = cons(a,...,cons(z,0)...)*) definition Upair :: "[i, i] => i" - where "Upair(a,b) \ {y. x\Pow(Pow(0)), (x=0 & y=a) | (x=Pow(0) & y=b)}" + where "Upair(a,b) \ {y. x\Pow(Pow(0)), (x=0 \ y=a) | (x=Pow(0) \ y=b)}" definition Subset :: "[i, i] \ o" (infixl \\\ 50) \ \subset relation\ where subset_def: "A \ B \ \x\A. x\B" @@ -157,7 +157,7 @@ where the_def: "The(P) \ \({y . x \ {0}, P(y)})" definition If :: "[o, i, i] \ i" (\(if (_)/ then (_)/ else (_))\ [10] 10) - where if_def: "if P then a else b \ THE z. P & z=a | \P & z=b" + where if_def: "if P then a else b \ THE z. P \ z=a | \P \ z=b" abbreviation (input) old_if :: "[o, i, i] => i" (\if '(_,_,_')\) @@ -240,7 +240,7 @@ where "f`a \ \(f``{a})" definition Pi :: "[i, i \ i] \ i" - where "Pi(A,B) \ {f\Pow(Sigma(A,B)). A\domain(f) & function(f)}" + where "Pi(A,B) \ {f\Pow(Sigma(A,B)). A\domain(f) \ function(f)}" abbreviation function_space :: "[i, i] \ i" (infixr \\\ 60) \ \function space\ where "A \ B \ Pi(A, \_. B)" @@ -347,7 +347,7 @@ by (simp add: Bex_def, blast) (*We do not even have @{term"(\x\A. True) <-> True"} unless @{term"A" is nonempty\*) -lemma bex_triv [simp]: "(\x\A. P) <-> ((\x. x\A) & P)" +lemma bex_triv [simp]: "(\x\A. P) <-> ((\x. x\A) \ P)" by (simp add: Bex_def) lemma bex_cong [cong]: @@ -429,7 +429,7 @@ subsection\Rules for Replace -- the derived form of replacement\ lemma Replace_iff: - "b \ {y. x\A, P(x,y)} <-> (\x\A. P(x,b) & (\y. P(x,y) \ y=b))" + "b \ {y. x\A, P(x,y)} <-> (\x\A. P(x,b) \ (\y. P(x,y) \ y=b))" apply (unfold Replace_def) apply (rule replacement [THEN iff_trans], blast+) done @@ -493,7 +493,7 @@ subsection\Rules for Collect -- forming a subset by separation\ (*Separation is derivable from Replacement*) -lemma separation [simp]: "a \ {x\A. P(x)} <-> a\A & P(a)" +lemma separation [simp]: "a \ {x\A. P(x)} <-> a\A \ P(a)" by (unfold Collect_def, blast) lemma CollectI [intro!]: "\a\A; P(a)\ \ a \ {x\A. P(x)}" @@ -586,7 +586,7 @@ subsection\Rules for Inter\ (*Not obviously useful for proving InterI, InterD, InterE*) -lemma Inter_iff: "A \ \(C) <-> (\x\C. A: x) & C\0" +lemma Inter_iff: "A \ \(C) <-> (\x\C. A: x) \ C\0" by (simp add: Inter_def Ball_def, blast) (* Intersection is well-behaved only if the family is non-empty! *) @@ -609,7 +609,7 @@ (* @{term"\x\A. B(x)"} abbreviates @{term"\({B(x). x\A})"} *) -lemma INT_iff: "b \ (\x\A. B(x)) <-> (\x\A. b \ B(x)) & A\0" +lemma INT_iff: "b \ (\x\A. B(x)) <-> (\x\A. b \ B(x)) \ A\0" by (force simp add: Inter_def) lemma INT_I: "\\x. x: A \ b: B(x); A\0\ \ b: (\x\A. B(x))"