:: ZF_MODEL semantic presentation
scheme :: ZF_MODEL:sch 1
s1{ F
1(
Variable,
Variable)
-> set , F
2(
Variable,
Variable)
-> set , F
3(
set )
-> set , F
4(
set ,
set )
-> set , F
5(
Variable,
set )
-> set , F
6()
-> ZF-formula } :
ex b
1, b
2 being
set st
( ( for b
3, b
4 being
Variable holds
(
[(b3 '=' b4),F1(b3,b4)] in b
2 &
[(b3 'in' b4),F2(b3,b4)] in b
2 ) ) &
[F6(),b1] in b
2 & ( for b
3 being
ZF-formulafor b
4 being
set holds
(
[b3,b4] in b
2 implies ( ( b
3 is_equality implies b
4 = F
1(
(Var1 b3),
(Var2 b3)) ) & ( b
3 is_membership implies b
4 = F
2(
(Var1 b3),
(Var2 b3)) ) & not ( b
3 is
negative & ( for b
5 being
set holds
not ( b
4 = F
3(b
5) &
[(the_argument_of b3),b5] in b
2 ) ) ) & not ( b
3 is
conjunctive & ( for b
5, b
6 being
set holds
not ( b
4 = F
4(b
5,b
6) &
[(the_left_argument_of b3),b5] in b
2 &
[(the_right_argument_of b3),b6] in b
2 ) ) ) & not ( b
3 is
universal & ( for b
5 being
set holds
not ( b
4 = F
5(
(bound_in b3),b
5) &
[(the_scope_of b3),b5] in b
2 ) ) ) ) ) ) )
scheme :: ZF_MODEL:sch 2
s2{ F
1(
Variable,
Variable)
-> set , F
2(
Variable,
Variable)
-> set , F
3(
set )
-> set , F
4(
set ,
set )
-> set , F
5(
Variable,
set )
-> set , F
6()
-> ZF-formula, F
7()
-> set , F
8()
-> set } :
provided
E1:
ex b
1 being
set st
( ( for b
2, b
3 being
Variable holds
(
[(b2 '=' b3),F1(b2,b3)] in b
1 &
[(b2 'in' b3),F2(b2,b3)] in b
1 ) ) &
[F6(),F7()] in b
1 & ( for b
2 being
ZF-formulafor b
3 being
set holds
(
[b2,b3] in b
1 implies ( ( b
2 is_equality implies b
3 = F
1(
(Var1 b2),
(Var2 b2)) ) & ( b
2 is_membership implies b
3 = F
2(
(Var1 b2),
(Var2 b2)) ) & not ( b
2 is
negative & ( for b
4 being
set holds
not ( b
3 = F
3(b
4) &
[(the_argument_of b2),b4] in b
1 ) ) ) & not ( b
2 is
conjunctive & ( for b
4, b
5 being
set holds
not ( b
3 = F
4(b
4,b
5) &
[(the_left_argument_of b2),b4] in b
1 &
[(the_right_argument_of b2),b5] in b
1 ) ) ) & not ( b
2 is
universal & ( for b
4 being
set holds
not ( b
3 = F
5(
(bound_in b2),b
4) &
[(the_scope_of b2),b4] in b
1 ) ) ) ) ) ) )
and
E2:
ex b
1 being
set st
( ( for b
2, b
3 being
Variable holds
(
[(b2 '=' b3),F1(b2,b3)] in b
1 &
[(b2 'in' b3),F2(b2,b3)] in b
1 ) ) &
[F6(),F8()] in b
1 & ( for b
2 being
ZF-formulafor b
3 being
set holds
(
[b2,b3] in b
1 implies ( ( b
2 is_equality implies b
3 = F
1(
(Var1 b2),
(Var2 b2)) ) & ( b
2 is_membership implies b
3 = F
2(
(Var1 b2),
(Var2 b2)) ) & not ( b
2 is
negative & ( for b
4 being
set holds
not ( b
3 = F
3(b
4) &
[(the_argument_of b2),b4] in b
1 ) ) ) & not ( b
2 is
conjunctive & ( for b
4, b
5 being
set holds
not ( b
3 = F
4(b
4,b
5) &
[(the_left_argument_of b2),b4] in b
1 &
[(the_right_argument_of b2),b5] in b
1 ) ) ) & not ( b
2 is
universal & ( for b
4 being
set holds
not ( b
3 = F
5(
(bound_in b2),b
4) &
[(the_scope_of b2),b4] in b
1 ) ) ) ) ) ) )
scheme :: ZF_MODEL:sch 3
s3{ F
1(
Variable,
Variable)
-> set , F
2(
Variable,
Variable)
-> set , F
3(
set )
-> set , F
4(
set ,
set )
-> set , F
5(
Variable,
set )
-> set , F
6()
-> ZF-formula, F
7(
ZF-formula)
-> set } :
provided
E1:
for b
1 being
ZF-formulafor b
2 being
set holds
( b
2 = F
7(b
1) iff ex b
3 being
set st
( ( for b
4, b
5 being
Variable holds
(
[(b4 '=' b5),F1(b4,b5)] in b
3 &
[(b4 'in' b5),F2(b4,b5)] in b
3 ) ) &
[b1,b2] in b
3 & ( for b
4 being
ZF-formulafor b
5 being
set holds
(
[b4,b5] in b
3 implies ( ( b
4 is_equality implies b
5 = F
1(
(Var1 b4),
(Var2 b4)) ) & ( b
4 is_membership implies b
5 = F
2(
(Var1 b4),
(Var2 b4)) ) & not ( b
4 is
negative & ( for b
6 being
set holds
not ( b
5 = F
3(b
6) &
[(the_argument_of b4),b6] in b
3 ) ) ) & not ( b
4 is
conjunctive & ( for b
6, b
7 being
set holds
not ( b
5 = F
4(b
6,b
7) &
[(the_left_argument_of b4),b6] in b
3 &
[(the_right_argument_of b4),b7] in b
3 ) ) ) & not ( b
4 is
universal & ( for b
6 being
set holds
not ( b
5 = F
5(
(bound_in b4),b
6) &
[(the_scope_of b4),b6] in b
3 ) ) ) ) ) ) ) )
scheme :: ZF_MODEL:sch 4
s4{ F
1(
Variable,
Variable)
-> set , F
2(
Variable,
Variable)
-> set , F
3(
set )
-> set , F
4(
set ,
set )
-> set , F
5(
Variable,
set )
-> set , F
6(
ZF-formula)
-> set , F
7()
-> ZF-formula, P
1[
set ] } :
provided
E1:
for b
1 being
ZF-formulafor b
2 being
set holds
( b
2 = F
6(b
1) iff ex b
3 being
set st
( ( for b
4, b
5 being
Variable holds
(
[(b4 '=' b5),F1(b4,b5)] in b
3 &
[(b4 'in' b5),F2(b4,b5)] in b
3 ) ) &
[b1,b2] in b
3 & ( for b
4 being
ZF-formulafor b
5 being
set holds
(
[b4,b5] in b
3 implies ( ( b
4 is_equality implies b
5 = F
1(
(Var1 b4),
(Var2 b4)) ) & ( b
4 is_membership implies b
5 = F
2(
(Var1 b4),
(Var2 b4)) ) & not ( b
4 is
negative & ( for b
6 being
set holds
not ( b
5 = F
3(b
6) &
[(the_argument_of b4),b6] in b
3 ) ) ) & not ( b
4 is
conjunctive & ( for b
6, b
7 being
set holds
not ( b
5 = F
4(b
6,b
7) &
[(the_left_argument_of b4),b6] in b
3 &
[(the_right_argument_of b4),b7] in b
3 ) ) ) & not ( b
4 is
universal & ( for b
6 being
set holds
not ( b
5 = F
5(
(bound_in b4),b
6) &
[(the_scope_of b4),b6] in b
3 ) ) ) ) ) ) ) )
and
E2:
for b
1, b
2 being
Variable holds
( P
1[F
1(b
1,b
2)] & P
1[F
2(b
1,b
2)] )
and
E3:
for b
1 being
set holds
( P
1[b
1] implies P
1[F
3(b
1)] )
and
E4:
for b
1, b
2 being
set holds
( P
1[b
1] & P
1[b
2] implies P
1[F
4(b
1,b
2)] )
and
E5:
for b
1 being
set for b
2 being
Variable holds
( P
1[b
1] implies P
1[F
5(b
2,b
1)] )
deffunc H1( Variable, Variable) -> set = {a1,a2};
deffunc H2( Variable, Variable) -> set = {a1,a2};
deffunc H3( set ) -> set = a1;
deffunc H4( set , set ) -> set = union {a1,a2};
deffunc H5( Variable, set ) -> Element of bool (union {a2}) = (union {a2}) \ {a1};
definition
let c
1 be
ZF-formula;
func Free c
1 -> set means :
Def1:
:: ZF_MODEL:def 1
ex b
1 being
set st
( ( for b
2, b
3 being
Variable holds
(
[(b2 '=' b3),{b2,b3}] in b
1 &
[(b2 'in' b3),{b2,b3}] in b
1 ) ) &
[a1,a2] in b
1 & ( for b
2 being
ZF-formulafor b
3 being
set holds
(
[b2,b3] in b
1 implies ( ( b
2 is_equality implies b
3 = {(Var1 b2),(Var2 b2)} ) & ( b
2 is_membership implies b
3 = {(Var1 b2),(Var2 b2)} ) & not ( b
2 is
negative & ( for b
4 being
set holds
not ( b
3 = b
4 &
[(the_argument_of b2),b4] in b
1 ) ) ) & not ( b
2 is
conjunctive & ( for b
4, b
5 being
set holds
not ( b
3 = union {b4,b5} &
[(the_left_argument_of b2),b4] in b
1 &
[(the_right_argument_of b2),b5] in b
1 ) ) ) & not ( b
2 is
universal & ( for b
4 being
set holds
not ( b
3 = (union {b4}) \ {(bound_in b2)} &
[(the_scope_of b2),b4] in b
1 ) ) ) ) ) ) );
existence
ex b1, b2 being set st
( ( for b3, b4 being Variable holds
( [(b3 '=' b4),{b3,b4}] in b2 & [(b3 'in' b4),{b3,b4}] in b2 ) ) & [c1,b1] in b2 & ( for b3 being ZF-formula
for b4 being set holds
( [b3,b4] in b2 implies ( ( b3 is_equality implies b4 = {(Var1 b3),(Var2 b3)} ) & ( b3 is_membership implies b4 = {(Var1 b3),(Var2 b3)} ) & not ( b3 is negative & ( for b5 being set holds
not ( b4 = b5 & [(the_argument_of b3),b5] in b2 ) ) ) & not ( b3 is conjunctive & ( for b5, b6 being set holds
not ( b4 = union {b5,b6} & [(the_left_argument_of b3),b5] in b2 & [(the_right_argument_of b3),b6] in b2 ) ) ) & not ( b3 is universal & ( for b5 being set holds
not ( b4 = (union {b5}) \ {(bound_in b3)} & [(the_scope_of b3),b5] in b2 ) ) ) ) ) ) )
uniqueness
for b1, b2 being set holds
( ex b3 being set st
( ( for b4, b5 being Variable holds
( [(b4 '=' b5),{b4,b5}] in b3 & [(b4 'in' b5),{b4,b5}] in b3 ) ) & [c1,b1] in b3 & ( for b4 being ZF-formula
for b5 being set holds
( [b4,b5] in b3 implies ( ( b4 is_equality implies b5 = {(Var1 b4),(Var2 b4)} ) & ( b4 is_membership implies b5 = {(Var1 b4),(Var2 b4)} ) & not ( b4 is negative & ( for b6 being set holds
not ( b5 = b6 & [(the_argument_of b4),b6] in b3 ) ) ) & not ( b4 is conjunctive & ( for b6, b7 being set holds
not ( b5 = union {b6,b7} & [(the_left_argument_of b4),b6] in b3 & [(the_right_argument_of b4),b7] in b3 ) ) ) & not ( b4 is universal & ( for b6 being set holds
not ( b5 = (union {b6}) \ {(bound_in b4)} & [(the_scope_of b4),b6] in b3 ) ) ) ) ) ) ) & ex b3 being set st
( ( for b4, b5 being Variable holds
( [(b4 '=' b5),{b4,b5}] in b3 & [(b4 'in' b5),{b4,b5}] in b3 ) ) & [c1,b2] in b3 & ( for b4 being ZF-formula
for b5 being set holds
( [b4,b5] in b3 implies ( ( b4 is_equality implies b5 = {(Var1 b4),(Var2 b4)} ) & ( b4 is_membership implies b5 = {(Var1 b4),(Var2 b4)} ) & not ( b4 is negative & ( for b6 being set holds
not ( b5 = b6 & [(the_argument_of b4),b6] in b3 ) ) ) & not ( b4 is conjunctive & ( for b6, b7 being set holds
not ( b5 = union {b6,b7} & [(the_left_argument_of b4),b6] in b3 & [(the_right_argument_of b4),b7] in b3 ) ) ) & not ( b4 is universal & ( for b6 being set holds
not ( b5 = (union {b6}) \ {(bound_in b4)} & [(the_scope_of b4),b6] in b3 ) ) ) ) ) ) ) implies b1 = b2 )
end;
:: deftheorem Def1 defines Free ZF_MODEL:def 1 :
for b
1 being
ZF-formulafor b
2 being
set holds
( b
2 = Free b
1 iff ex b
3 being
set st
( ( for b
4, b
5 being
Variable holds
(
[(b4 '=' b5),{b4,b5}] in b
3 &
[(b4 'in' b5),{b4,b5}] in b
3 ) ) &
[b1,b2] in b
3 & ( for b
4 being
ZF-formulafor b
5 being
set holds
(
[b4,b5] in b
3 implies ( ( b
4 is_equality implies b
5 = {(Var1 b4),(Var2 b4)} ) & ( b
4 is_membership implies b
5 = {(Var1 b4),(Var2 b4)} ) & not ( b
4 is
negative & ( for b
6 being
set holds
not ( b
5 = b
6 &
[(the_argument_of b4),b6] in b
3 ) ) ) & not ( b
4 is
conjunctive & ( for b
6, b
7 being
set holds
not ( b
5 = union {b6,b7} &
[(the_left_argument_of b4),b6] in b
3 &
[(the_right_argument_of b4),b7] in b
3 ) ) ) & not ( b
4 is
universal & ( for b
6 being
set holds
not ( b
5 = (union {b6}) \ {(bound_in b4)} &
[(the_scope_of b4),b6] in b
3 ) ) ) ) ) ) ) );
deffunc H6( ZF-formula) -> set = Free a1;
Lemma2:
for b1 being ZF-formula
for b2 being set holds
( b2 = H6(b1) iff ex b3 being set st
( ( for b4, b5 being Variable holds
( [(b4 '=' b5),H1(b4,b5)] in b3 & [(b4 'in' b5),H2(b4,b5)] in b3 ) ) & [b1,b2] in b3 & ( for b4 being ZF-formula
for b5 being set holds
( [b4,b5] in b3 implies ( ( b4 is_equality implies b5 = H1( Var1 b4, Var2 b4) ) & ( b4 is_membership implies b5 = H2( Var1 b4, Var2 b4) ) & not ( b4 is negative & ( for b6 being set holds
not ( b5 = H3(b6) & [(the_argument_of b4),b6] in b3 ) ) ) & not ( b4 is conjunctive & ( for b6, b7 being set holds
not ( b5 = H4(b6,b7) & [(the_left_argument_of b4),b6] in b3 & [(the_right_argument_of b4),b7] in b3 ) ) ) & not ( b4 is universal & ( for b6 being set holds
not ( b5 = H5( bound_in b4,b6) & [(the_scope_of b4),b6] in b3 ) ) ) ) ) ) ) )
by Def1;
theorem Th1: :: ZF_MODEL:1
:: deftheorem Def2 defines VAL ZF_MODEL:def 2 :
definition
let c
1 be
ZF-formula;
let c
2 be non
empty set ;
deffunc H
7(
Variable,
Variable)
-> set =
{ b1 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b2 = b1 implies b2 . a1 = b2 . a2 ) } ;
deffunc H
8(
Variable,
Variable)
-> set =
{ b1 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b2 = b1 implies b2 . a1 in b2 . a2 ) } ;
deffunc H
9(
set )
-> Element of
bool (VAL c2) =
(VAL c2) \ (union {a1});
deffunc H
10(
set ,
set )
-> set =
(union {a1}) /\ (union {a2});
deffunc H
11(
Variable,
set )
-> set =
{ b1 where B is Element of VAL c2 : for b1 being set
for b2 being Function of VAR ,c2 holds
( b2 = a2 & b3 = b1 implies ( b3 in b2 & ( for b3 being Function of VAR ,c2 holds
( ( for b4 being Variable holds
( b4 . b5 <> b3 . b5 implies a1 = b5 ) ) implies b4 in b2 ) ) ) ) } ;
func St c
1,c
2 -> set means :
Def3:
:: ZF_MODEL:def 3
ex b
1 being
set st
( ( for b
2, b
3 being
Variable holds
(
[(b2 '=' b3),{ b4 where B is Element of VAL a2 : for b1 being Function of VAR ,a2 holds
( b5 = b4 implies b5 . b2 = b5 . b3 ) } ] in b
1 &
[(b2 'in' b3),{ b4 where B is Element of VAL a2 : for b1 being Function of VAR ,a2 holds
( b5 = b4 implies b5 . b2 in b5 . b3 ) } ] in b
1 ) ) &
[a1,a3] in b
1 & ( for b
2 being
ZF-formulafor b
3 being
set holds
(
[b2,b3] in b
1 implies ( ( b
2 is_equality implies b
3 = { b4 where B is Element of VAL a2 : for b1 being Function of VAR ,a2 holds
( b5 = b4 implies b5 . (Var1 b2) = b5 . (Var2 b2) ) } ) & ( b
2 is_membership implies b
3 = { b4 where B is Element of VAL a2 : for b1 being Function of VAR ,a2 holds
( b5 = b4 implies b5 . (Var1 b2) in b5 . (Var2 b2) ) } ) & not ( b
2 is
negative & ( for b
4 being
set holds
not ( b
3 = (VAL a2) \ (union {b4}) &
[(the_argument_of b2),b4] in b
1 ) ) ) & not ( b
2 is
conjunctive & ( for b
4, b
5 being
set holds
not ( b
3 = (union {b4}) /\ (union {b5}) &
[(the_left_argument_of b2),b4] in b
1 &
[(the_right_argument_of b2),b5] in b
1 ) ) ) & not ( b
2 is
universal & ( for b
4 being
set holds
not ( b
3 = { b5 where B is Element of VAL a2 : for b1 being set
for b2 being Function of VAR ,a2 holds
( b6 = b4 & b7 = b5 implies ( b7 in b6 & ( for b3 being Function of VAR ,a2 holds
( ( for b4 being Variable holds
( b8 . b9 <> b7 . b9 implies bound_in b2 = b9 ) ) implies b8 in b6 ) ) ) ) } &
[(the_scope_of b2),b4] in b
1 ) ) ) ) ) ) );
existence
ex b1, b2 being set st
( ( for b3, b4 being Variable holds
( [(b3 '=' b4),{ b5 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b6 = b5 implies b6 . b3 = b6 . b4 ) } ] in b2 & [(b3 'in' b4),{ b5 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b6 = b5 implies b6 . b3 in b6 . b4 ) } ] in b2 ) ) & [c1,b1] in b2 & ( for b3 being ZF-formula
for b4 being set holds
( [b3,b4] in b2 implies ( ( b3 is_equality implies b4 = { b5 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b6 = b5 implies b6 . (Var1 b3) = b6 . (Var2 b3) ) } ) & ( b3 is_membership implies b4 = { b5 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b6 = b5 implies b6 . (Var1 b3) in b6 . (Var2 b3) ) } ) & not ( b3 is negative & ( for b5 being set holds
not ( b4 = (VAL c2) \ (union {b5}) & [(the_argument_of b3),b5] in b2 ) ) ) & not ( b3 is conjunctive & ( for b5, b6 being set holds
not ( b4 = (union {b5}) /\ (union {b6}) & [(the_left_argument_of b3),b5] in b2 & [(the_right_argument_of b3),b6] in b2 ) ) ) & not ( b3 is universal & ( for b5 being set holds
not ( b4 = { b6 where B is Element of VAL c2 : for b1 being set
for b2 being Function of VAR ,c2 holds
( b7 = b5 & b8 = b6 implies ( b8 in b7 & ( for b3 being Function of VAR ,c2 holds
( ( for b4 being Variable holds
( b9 . b10 <> b8 . b10 implies bound_in b3 = b10 ) ) implies b9 in b7 ) ) ) ) } & [(the_scope_of b3),b5] in b2 ) ) ) ) ) ) )
uniqueness
for b1, b2 being set holds
( ex b3 being set st
( ( for b4, b5 being Variable holds
( [(b4 '=' b5),{ b6 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b7 = b6 implies b7 . b4 = b7 . b5 ) } ] in b3 & [(b4 'in' b5),{ b6 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b7 = b6 implies b7 . b4 in b7 . b5 ) } ] in b3 ) ) & [c1,b1] in b3 & ( for b4 being ZF-formula
for b5 being set holds
( [b4,b5] in b3 implies ( ( b4 is_equality implies b5 = { b6 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b7 = b6 implies b7 . (Var1 b4) = b7 . (Var2 b4) ) } ) & ( b4 is_membership implies b5 = { b6 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b7 = b6 implies b7 . (Var1 b4) in b7 . (Var2 b4) ) } ) & not ( b4 is negative & ( for b6 being set holds
not ( b5 = (VAL c2) \ (union {b6}) & [(the_argument_of b4),b6] in b3 ) ) ) & not ( b4 is conjunctive & ( for b6, b7 being set holds
not ( b5 = (union {b6}) /\ (union {b7}) & [(the_left_argument_of b4),b6] in b3 & [(the_right_argument_of b4),b7] in b3 ) ) ) & not ( b4 is universal & ( for b6 being set holds
not ( b5 = { b7 where B is Element of VAL c2 : for b1 being set
for b2 being Function of VAR ,c2 holds
( b8 = b6 & b9 = b7 implies ( b9 in b8 & ( for b3 being Function of VAR ,c2 holds
( ( for b4 being Variable holds
( b10 . b11 <> b9 . b11 implies bound_in b4 = b11 ) ) implies b10 in b8 ) ) ) ) } & [(the_scope_of b4),b6] in b3 ) ) ) ) ) ) ) & ex b3 being set st
( ( for b4, b5 being Variable holds
( [(b4 '=' b5),{ b6 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b7 = b6 implies b7 . b4 = b7 . b5 ) } ] in b3 & [(b4 'in' b5),{ b6 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b7 = b6 implies b7 . b4 in b7 . b5 ) } ] in b3 ) ) & [c1,b2] in b3 & ( for b4 being ZF-formula
for b5 being set holds
( [b4,b5] in b3 implies ( ( b4 is_equality implies b5 = { b6 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b7 = b6 implies b7 . (Var1 b4) = b7 . (Var2 b4) ) } ) & ( b4 is_membership implies b5 = { b6 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b7 = b6 implies b7 . (Var1 b4) in b7 . (Var2 b4) ) } ) & not ( b4 is negative & ( for b6 being set holds
not ( b5 = (VAL c2) \ (union {b6}) & [(the_argument_of b4),b6] in b3 ) ) ) & not ( b4 is conjunctive & ( for b6, b7 being set holds
not ( b5 = (union {b6}) /\ (union {b7}) & [(the_left_argument_of b4),b6] in b3 & [(the_right_argument_of b4),b7] in b3 ) ) ) & not ( b4 is universal & ( for b6 being set holds
not ( b5 = { b7 where B is Element of VAL c2 : for b1 being set
for b2 being Function of VAR ,c2 holds
( b8 = b6 & b9 = b7 implies ( b9 in b8 & ( for b3 being Function of VAR ,c2 holds
( ( for b4 being Variable holds
( b10 . b11 <> b9 . b11 implies bound_in b4 = b11 ) ) implies b10 in b8 ) ) ) ) } & [(the_scope_of b4),b6] in b3 ) ) ) ) ) ) ) implies b1 = b2 )
end;
:: deftheorem Def3 defines St ZF_MODEL:def 3 :
for b
1 being
ZF-formulafor b
2 being non
empty set for b
3 being
set holds
( b
3 = St b
1,b
2 iff ex b
4 being
set st
( ( for b
5, b
6 being
Variable holds
(
[(b5 '=' b6),{ b7 where B is Element of VAL b2 : for b1 being Function of VAR ,b2 holds
( b8 = b7 implies b8 . b5 = b8 . b6 ) } ] in b
4 &
[(b5 'in' b6),{ b7 where B is Element of VAL b2 : for b1 being Function of VAR ,b2 holds
( b8 = b7 implies b8 . b5 in b8 . b6 ) } ] in b
4 ) ) &
[b1,b3] in b
4 & ( for b
5 being
ZF-formulafor b
6 being
set holds
(
[b5,b6] in b
4 implies ( ( b
5 is_equality implies b
6 = { b7 where B is Element of VAL b2 : for b1 being Function of VAR ,b2 holds
( b8 = b7 implies b8 . (Var1 b5) = b8 . (Var2 b5) ) } ) & ( b
5 is_membership implies b
6 = { b7 where B is Element of VAL b2 : for b1 being Function of VAR ,b2 holds
( b8 = b7 implies b8 . (Var1 b5) in b8 . (Var2 b5) ) } ) & not ( b
5 is
negative & ( for b
7 being
set holds
not ( b
6 = (VAL b2) \ (union {b7}) &
[(the_argument_of b5),b7] in b
4 ) ) ) & not ( b
5 is
conjunctive & ( for b
7, b
8 being
set holds
not ( b
6 = (union {b7}) /\ (union {b8}) &
[(the_left_argument_of b5),b7] in b
4 &
[(the_right_argument_of b5),b8] in b
4 ) ) ) & not ( b
5 is
universal & ( for b
7 being
set holds
not ( b
6 = { b8 where B is Element of VAL b2 : for b1 being set
for b2 being Function of VAR ,b2 holds
( b9 = b7 & b10 = b8 implies ( b10 in b9 & ( for b3 being Function of VAR ,b2 holds
( ( for b4 being Variable holds
( b11 . b12 <> b10 . b12 implies bound_in b5 = b12 ) ) implies b11 in b9 ) ) ) ) } &
[(the_scope_of b5),b7] in b
4 ) ) ) ) ) ) ) );
E6:
now
let c
1 be
ZF-formula;
let c
2 be non
empty set ;
deffunc H
7(
Variable,
Variable)
-> set =
{ b1 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b2 = b1 implies b2 . a1 = b2 . a2 ) } ;
deffunc H
8(
Variable,
Variable)
-> set =
{ b1 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 holds
( b2 = b1 implies b2 . a1 in b2 . a2 ) } ;
deffunc H
9(
set )
-> Element of
bool (VAL c2) =
(VAL c2) \ (union {a1});
deffunc H
10(
set ,
set )
-> set =
(union {a1}) /\ (union {a2});
deffunc H
11(
Variable,
set )
-> set =
{ b1 where B is Element of VAL c2 : for b1 being set
for b2 being Function of VAR ,c2 holds
( b2 = a2 & b3 = b1 implies ( b3 in b2 & ( for b3 being Function of VAR ,c2 holds
( ( for b4 being Variable holds
( b4 . b5 <> b3 . b5 implies a1 = b5 ) ) implies b4 in b2 ) ) ) ) } ;
deffunc H
12(
ZF-formula)
-> set =
St a
1,c
2;
E7:
for b
1 being
ZF-formulafor b
2 being
set holds
( b
2 = H
12(b
1) iff ex b
3 being
set st
( ( for b
4, b
5 being
Variable holds
(
[(b4 '=' b5),H7(b4,b5)] in b
3 &
[(b4 'in' b5),H8(b4,b5)] in b
3 ) ) &
[b1,b2] in b
3 & ( for b
4 being
ZF-formulafor b
5 being
set holds
(
[b4,b5] in b
3 implies ( ( b
4 is_equality implies b
5 = H
7(
Var1 b
4,
Var2 b
4) ) & ( b
4 is_membership implies b
5 = H
8(
Var1 b
4,
Var2 b
4) ) & not ( b
4 is
negative & ( for b
6 being
set holds
not ( b
5 = H
9(b
6) &
[(the_argument_of b4),b6] in b
3 ) ) ) & not ( b
4 is
conjunctive & ( for b
6, b
7 being
set holds
not ( b
5 = H
10(b
6,b
7) &
[(the_left_argument_of b4),b6] in b
3 &
[(the_right_argument_of b4),b7] in b
3 ) ) ) & not ( b
4 is
universal & ( for b
6 being
set holds
not ( b
5 = H
11(
bound_in b
4,b
6) &
[(the_scope_of b4),b6] in b
3 ) ) ) ) ) ) ) )
by Def3;
thus
( ( c
1 is_equality implies H
12(c
1)
= H
7(
Var1 c
1,
Var2 c
1) ) & ( c
1 is_membership implies H
12(c
1)
= H
8(
Var1 c
1,
Var2 c
1) ) & ( c
1 is
negative implies H
12(c
1)
= H
9(H
12(
the_argument_of c
1)) ) & ( c
1 is
conjunctive implies for b
1, b
2 being
set holds
( b
1 = H
12(
the_left_argument_of c
1) & b
2 = H
12(
the_right_argument_of c
1) implies H
12(c
1)
= H
10(b
1,b
2) ) ) & ( c
1 is
universal implies H
12(c
1)
= H
11(
bound_in c
1,H
12(
the_scope_of c
1)) ) )
from ZF_MODEL:sch 3(E7);
end;
theorem Th2: :: ZF_MODEL:2
theorem Th3: :: ZF_MODEL:3
theorem Th4: :: ZF_MODEL:4
theorem Th5: :: ZF_MODEL:5
theorem Th6: :: ZF_MODEL:6
theorem Th7: :: ZF_MODEL:7
theorem Th8: :: ZF_MODEL:8
theorem Th9: :: ZF_MODEL:9
theorem Th10: :: ZF_MODEL:10
theorem Th11: :: ZF_MODEL:11
:: deftheorem Def4 defines |= ZF_MODEL:def 4 :
theorem Th12: :: ZF_MODEL:12
theorem Th13: :: ZF_MODEL:13
theorem Th14: :: ZF_MODEL:14
theorem Th15: :: ZF_MODEL:15
theorem Th16: :: ZF_MODEL:16
theorem Th17: :: ZF_MODEL:17
theorem Th18: :: ZF_MODEL:18
theorem Th19: :: ZF_MODEL:19
theorem Th20: :: ZF_MODEL:20
theorem Th21: :: ZF_MODEL:21
theorem Th22: :: ZF_MODEL:22
theorem Th23: :: ZF_MODEL:23
:: deftheorem Def5 defines |= ZF_MODEL:def 5 :
theorem Th24: :: ZF_MODEL:24
canceled;
theorem Th25: :: ZF_MODEL:25
definition
func the_axiom_of_extensionality -> ZF-formula equals :: ZF_MODEL:def 6
All (x. 0),
(x. 1),
((All (x. 2),(((x. 2) 'in' (x. 0)) <=> ((x. 2) 'in' (x. 1)))) => ((x. 0) '=' (x. 1)));
correctness
coherence
All (x. 0),(x. 1),((All (x. 2),(((x. 2) 'in' (x. 0)) <=> ((x. 2) 'in' (x. 1)))) => ((x. 0) '=' (x. 1))) is ZF-formula;
;
func the_axiom_of_pairs -> ZF-formula equals :: ZF_MODEL:def 7
All (x. 0),
(x. 1),
(Ex (x. 2),(All (x. 3),(((x. 3) 'in' (x. 2)) <=> (((x. 3) '=' (x. 0)) 'or' ((x. 3) '=' (x. 1))))));
correctness
coherence
All (x. 0),(x. 1),(Ex (x. 2),(All (x. 3),(((x. 3) 'in' (x. 2)) <=> (((x. 3) '=' (x. 0)) 'or' ((x. 3) '=' (x. 1)))))) is ZF-formula;
;
func the_axiom_of_unions -> ZF-formula equals :: ZF_MODEL:def 8
All (x. 0),
(Ex (x. 1),(All (x. 2),(((x. 2) 'in' (x. 1)) <=> (Ex (x. 3),(((x. 2) 'in' (x. 3)) '&' ((x. 3) 'in' (x. 0)))))));
correctness
coherence
All (x. 0),(Ex (x. 1),(All (x. 2),(((x. 2) 'in' (x. 1)) <=> (Ex (x. 3),(((x. 2) 'in' (x. 3)) '&' ((x. 3) 'in' (x. 0))))))) is ZF-formula;
;
func the_axiom_of_infinity -> ZF-formula equals :: ZF_MODEL:def 9
Ex (x. 0),
(x. 1),
(((x. 1) 'in' (x. 0)) '&' (All (x. 2),(((x. 2) 'in' (x. 0)) => (Ex (x. 3),((((x. 3) 'in' (x. 0)) '&' ('not' ((x. 3) '=' (x. 2)))) '&' (All (x. 4),(((x. 4) 'in' (x. 2)) => ((x. 4) 'in' (x. 3)))))))));
correctness
coherence
Ex (x. 0),(x. 1),(((x. 1) 'in' (x. 0)) '&' (All (x. 2),(((x. 2) 'in' (x. 0)) => (Ex (x. 3),((((x. 3) 'in' (x. 0)) '&' ('not' ((x. 3) '=' (x. 2)))) '&' (All (x. 4),(((x. 4) 'in' (x. 2)) => ((x. 4) 'in' (x. 3))))))))) is ZF-formula;
;
func the_axiom_of_power_sets -> ZF-formula equals :: ZF_MODEL:def 10
All (x. 0),
(Ex (x. 1),(All (x. 2),(((x. 2) 'in' (x. 1)) <=> (All (x. 3),(((x. 3) 'in' (x. 2)) => ((x. 3) 'in' (x. 0)))))));
correctness
coherence
All (x. 0),(Ex (x. 1),(All (x. 2),(((x. 2) 'in' (x. 1)) <=> (All (x. 3),(((x. 3) 'in' (x. 2)) => ((x. 3) 'in' (x. 0))))))) is ZF-formula;
;
end;
:: deftheorem Def6 defines the_axiom_of_extensionality ZF_MODEL:def 6 :
:: deftheorem Def7 defines the_axiom_of_pairs ZF_MODEL:def 7 :
:: deftheorem Def8 defines the_axiom_of_unions ZF_MODEL:def 8 :
:: deftheorem Def9 defines the_axiom_of_infinity ZF_MODEL:def 9 :
:: deftheorem Def10 defines the_axiom_of_power_sets ZF_MODEL:def 10 :
definition
let c
1 be
ZF-formula;
func the_axiom_of_substitution_for c
1 -> ZF-formula equals :: ZF_MODEL:def 11
(All (x. 3),(Ex (x. 0),(All (x. 4),(a1 <=> ((x. 4) '=' (x. 0)))))) => (All (x. 1),(Ex (x. 2),(All (x. 4),(((x. 4) 'in' (x. 2)) <=> (Ex (x. 3),(((x. 3) 'in' (x. 1)) '&' a1))))));
correctness
coherence
(All (x. 3),(Ex (x. 0),(All (x. 4),(c1 <=> ((x. 4) '=' (x. 0)))))) => (All (x. 1),(Ex (x. 2),(All (x. 4),(((x. 4) 'in' (x. 2)) <=> (Ex (x. 3),(((x. 3) 'in' (x. 1)) '&' c1)))))) is ZF-formula;
;
end;
:: deftheorem Def11 defines the_axiom_of_substitution_for ZF_MODEL:def 11 :
:: deftheorem Def12 defines being_a_model_of_ZF ZF_MODEL:def 12 :