:: ZF_MODEL semantic presentation
scheme :: ZF_MODEL:sch 1
s1{
F1(
Variable,
Variable)
-> set ,
F2(
Variable,
Variable)
-> set ,
F3(
set )
-> set ,
F4(
set ,
set )
-> set ,
F5(
Variable,
set )
-> set ,
F6()
-> ZF-formula } :
ex
b1,
b2 being
set st
( ( for
b3,
b4 being
Variable holds
(
[(b3 '=' b4),F1(b3,b4)] in b2 &
[(b3 'in' b4),F2(b3,b4)] in b2 ) ) &
[F6(),b1] in b2 & ( for
b3 being
ZF-formula for
b4 being
set st
[b3,b4] in b2 holds
( (
b3 is_equality implies
b4 = F1(
(Var1 b3),
(Var2 b3)) ) & (
b3 is_membership implies
b4 = F2(
(Var1 b3),
(Var2 b3)) ) & (
b3 is
negative implies ex
b5 being
set st
(
b4 = F3(
b5) &
[(the_argument_of b3),b5] in b2 ) ) & (
b3 is
conjunctive implies ex
b5,
b6 being
set st
(
b4 = F4(
b5,
b6) &
[(the_left_argument_of b3),b5] in b2 &
[(the_right_argument_of b3),b6] in b2 ) ) & (
b3 is
universal implies ex
b5 being
set st
(
b4 = F5(
(bound_in b3),
b5) &
[(the_scope_of b3),b5] in b2 ) ) ) ) )
scheme :: ZF_MODEL:sch 2
s2{
F1(
Variable,
Variable)
-> set ,
F2(
Variable,
Variable)
-> set ,
F3(
set )
-> set ,
F4(
set ,
set )
-> set ,
F5(
Variable,
set )
-> set ,
F6()
-> ZF-formula,
F7()
-> set ,
F8()
-> set } :
provided
E1:
ex
b1 being
set st
( ( for
b2,
b3 being
Variable holds
(
[(b2 '=' b3),F1(b2,b3)] in b1 &
[(b2 'in' b3),F2(b2,b3)] in b1 ) ) &
[F6(),F7()] in b1 & ( for
b2 being
ZF-formula for
b3 being
set st
[b2,b3] in b1 holds
( (
b2 is_equality implies
b3 = F1(
(Var1 b2),
(Var2 b2)) ) & (
b2 is_membership implies
b3 = F2(
(Var1 b2),
(Var2 b2)) ) & (
b2 is
negative implies ex
b4 being
set st
(
b3 = F3(
b4) &
[(the_argument_of b2),b4] in b1 ) ) & (
b2 is
conjunctive implies ex
b4,
b5 being
set st
(
b3 = F4(
b4,
b5) &
[(the_left_argument_of b2),b4] in b1 &
[(the_right_argument_of b2),b5] in b1 ) ) & (
b2 is
universal implies ex
b4 being
set st
(
b3 = F5(
(bound_in b2),
b4) &
[(the_scope_of b2),b4] in b1 ) ) ) ) )
and E2:
ex
b1 being
set st
( ( for
b2,
b3 being
Variable holds
(
[(b2 '=' b3),F1(b2,b3)] in b1 &
[(b2 'in' b3),F2(b2,b3)] in b1 ) ) &
[F6(),F8()] in b1 & ( for
b2 being
ZF-formula for
b3 being
set st
[b2,b3] in b1 holds
( (
b2 is_equality implies
b3 = F1(
(Var1 b2),
(Var2 b2)) ) & (
b2 is_membership implies
b3 = F2(
(Var1 b2),
(Var2 b2)) ) & (
b2 is
negative implies ex
b4 being
set st
(
b3 = F3(
b4) &
[(the_argument_of b2),b4] in b1 ) ) & (
b2 is
conjunctive implies ex
b4,
b5 being
set st
(
b3 = F4(
b4,
b5) &
[(the_left_argument_of b2),b4] in b1 &
[(the_right_argument_of b2),b5] in b1 ) ) & (
b2 is
universal implies ex
b4 being
set st
(
b3 = F5(
(bound_in b2),
b4) &
[(the_scope_of b2),b4] in b1 ) ) ) ) )
scheme :: ZF_MODEL:sch 3
s3{
F1(
Variable,
Variable)
-> set ,
F2(
Variable,
Variable)
-> set ,
F3(
set )
-> set ,
F4(
set ,
set )
-> set ,
F5(
Variable,
set )
-> set ,
F6()
-> ZF-formula,
F7(
ZF-formula)
-> set } :
provided
E1:
for
b1 being
ZF-formula for
b2 being
set holds
(
b2 = F7(
b1) iff ex
b3 being
set st
( ( for
b4,
b5 being
Variable holds
(
[(b4 '=' b5),F1(b4,b5)] in b3 &
[(b4 'in' b5),F2(b4,b5)] in b3 ) ) &
[b1,b2] in b3 & ( for
b4 being
ZF-formula for
b5 being
set st
[b4,b5] in b3 holds
( (
b4 is_equality implies
b5 = F1(
(Var1 b4),
(Var2 b4)) ) & (
b4 is_membership implies
b5 = F2(
(Var1 b4),
(Var2 b4)) ) & (
b4 is
negative implies ex
b6 being
set st
(
b5 = F3(
b6) &
[(the_argument_of b4),b6] in b3 ) ) & (
b4 is
conjunctive implies ex
b6,
b7 being
set st
(
b5 = F4(
b6,
b7) &
[(the_left_argument_of b4),b6] in b3 &
[(the_right_argument_of b4),b7] in b3 ) ) & (
b4 is
universal implies ex
b6 being
set st
(
b5 = F5(
(bound_in b4),
b6) &
[(the_scope_of b4),b6] in b3 ) ) ) ) ) )
scheme :: ZF_MODEL:sch 4
s4{
F1(
Variable,
Variable)
-> set ,
F2(
Variable,
Variable)
-> set ,
F3(
set )
-> set ,
F4(
set ,
set )
-> set ,
F5(
Variable,
set )
-> set ,
F6(
ZF-formula)
-> set ,
F7()
-> ZF-formula,
P1[
set ] } :
provided
E1:
for
b1 being
ZF-formula for
b2 being
set holds
(
b2 = F6(
b1) iff ex
b3 being
set st
( ( for
b4,
b5 being
Variable holds
(
[(b4 '=' b5),F1(b4,b5)] in b3 &
[(b4 'in' b5),F2(b4,b5)] in b3 ) ) &
[b1,b2] in b3 & ( for
b4 being
ZF-formula for
b5 being
set st
[b4,b5] in b3 holds
( (
b4 is_equality implies
b5 = F1(
(Var1 b4),
(Var2 b4)) ) & (
b4 is_membership implies
b5 = F2(
(Var1 b4),
(Var2 b4)) ) & (
b4 is
negative implies ex
b6 being
set st
(
b5 = F3(
b6) &
[(the_argument_of b4),b6] in b3 ) ) & (
b4 is
conjunctive implies ex
b6,
b7 being
set st
(
b5 = F4(
b6,
b7) &
[(the_left_argument_of b4),b6] in b3 &
[(the_right_argument_of b4),b7] in b3 ) ) & (
b4 is
universal implies ex
b6 being
set st
(
b5 = F5(
(bound_in b4),
b6) &
[(the_scope_of b4),b6] in b3 ) ) ) ) ) )
and E2:
for
b1,
b2 being
Variable holds
(
P1[
F1(
b1,
b2)] &
P1[
F2(
b1,
b2)] )
and E3:
for
b1 being
set st
P1[
b1] holds
P1[
F3(
b1)]
and E4:
for
b1,
b2 being
set st
P1[
b1] &
P1[
b2] holds
P1[
F4(
b1,
b2)]
and E5:
for
b1 being
set for
b2 being
Variable st
P1[
b1] holds
P1[
F5(
b2,
b1)]
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 ) -> set = (union {a2}) \ {a1};
definition
let c1 be
ZF-formula;
func Free c1 -> set means :
Def1:
:: ZF_MODEL:def 1
ex
b1 being
set st
( ( for
b2,
b3 being
Variable holds
(
[(b2 '=' b3),{b2,b3}] in b1 &
[(b2 'in' b3),{b2,b3}] in b1 ) ) &
[a1,a2] in b1 & ( for
b2 being
ZF-formula for
b3 being
set st
[b2,b3] in b1 holds
( (
b2 is_equality implies
b3 = {(Var1 b2),(Var2 b2)} ) & (
b2 is_membership implies
b3 = {(Var1 b2),(Var2 b2)} ) & (
b2 is
negative implies ex
b4 being
set st
(
b3 = b4 &
[(the_argument_of b2),b4] in b1 ) ) & (
b2 is
conjunctive implies ex
b4,
b5 being
set st
(
b3 = union {b4,b5} &
[(the_left_argument_of b2),b4] in b1 &
[(the_right_argument_of b2),b5] in b1 ) ) & (
b2 is
universal implies ex
b4 being
set st
(
b3 = (union {b4}) \ {(bound_in b2)} &
[(the_scope_of b2),b4] in b1 ) ) ) ) );
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 st [b3,b4] in b2 holds
( ( b3 is_equality implies b4 = {(Var1 b3),(Var2 b3)} ) & ( b3 is_membership implies b4 = {(Var1 b3),(Var2 b3)} ) & ( b3 is negative implies ex b5 being set st
( b4 = b5 & [(the_argument_of b3),b5] in b2 ) ) & ( b3 is conjunctive implies ex b5, b6 being set st
( b4 = union {b5,b6} & [(the_left_argument_of b3),b5] in b2 & [(the_right_argument_of b3),b6] in b2 ) ) & ( b3 is universal implies ex b5 being set st
( b4 = (union {b5}) \ {(bound_in b3)} & [(the_scope_of b3),b5] in b2 ) ) ) ) )
uniqueness
for b1, b2 being set st 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 st [b4,b5] in b3 holds
( ( b4 is_equality implies b5 = {(Var1 b4),(Var2 b4)} ) & ( b4 is_membership implies b5 = {(Var1 b4),(Var2 b4)} ) & ( b4 is negative implies ex b6 being set st
( b5 = b6 & [(the_argument_of b4),b6] in b3 ) ) & ( b4 is conjunctive implies ex b6, b7 being set st
( b5 = union {b6,b7} & [(the_left_argument_of b4),b6] in b3 & [(the_right_argument_of b4),b7] in b3 ) ) & ( b4 is universal implies ex b6 being set st
( 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 st [b4,b5] in b3 holds
( ( b4 is_equality implies b5 = {(Var1 b4),(Var2 b4)} ) & ( b4 is_membership implies b5 = {(Var1 b4),(Var2 b4)} ) & ( b4 is negative implies ex b6 being set st
( b5 = b6 & [(the_argument_of b4),b6] in b3 ) ) & ( b4 is conjunctive implies ex b6, b7 being set st
( b5 = union {b6,b7} & [(the_left_argument_of b4),b6] in b3 & [(the_right_argument_of b4),b7] in b3 ) ) & ( b4 is universal implies ex b6 being set st
( b5 = (union {b6}) \ {(bound_in b4)} & [(the_scope_of b4),b6] in b3 ) ) ) ) ) holds
b1 = b2
end;
:: deftheorem Def1 defines Free ZF_MODEL:def 1 :
for
b1 being
ZF-formula for
b2 being
set holds
(
b2 = Free b1 iff ex
b3 being
set st
( ( for
b4,
b5 being
Variable holds
(
[(b4 '=' b5),{b4,b5}] in b3 &
[(b4 'in' b5),{b4,b5}] in b3 ) ) &
[b1,b2] in b3 & ( for
b4 being
ZF-formula for
b5 being
set st
[b4,b5] in b3 holds
( (
b4 is_equality implies
b5 = {(Var1 b4),(Var2 b4)} ) & (
b4 is_membership implies
b5 = {(Var1 b4),(Var2 b4)} ) & (
b4 is
negative implies ex
b6 being
set st
(
b5 = b6 &
[(the_argument_of b4),b6] in b3 ) ) & (
b4 is
conjunctive implies ex
b6,
b7 being
set st
(
b5 = union {b6,b7} &
[(the_left_argument_of b4),b6] in b3 &
[(the_right_argument_of b4),b7] in b3 ) ) & (
b4 is
universal implies ex
b6 being
set st
(
b5 = (union {b6}) \ {(bound_in b4)} &
[(the_scope_of b4),b6] in b3 ) ) ) ) ) );
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 st [b4,b5] in b3 holds
( ( b4 is_equality implies b5 = H1( Var1 b4, Var2 b4) ) & ( b4 is_membership implies b5 = H2( Var1 b4, Var2 b4) ) & ( b4 is negative implies ex b6 being set st
( b5 = H3(b6) & [(the_argument_of b4),b6] in b3 ) ) & ( b4 is conjunctive implies ex b6, b7 being set st
( b5 = H4(b6,b7) & [(the_left_argument_of b4),b6] in b3 & [(the_right_argument_of b4),b7] in b3 ) ) & ( b4 is universal implies ex b6 being set st
( 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 c1 be
ZF-formula;
let c2 be non
empty set ;
deffunc H7(
Variable,
Variable)
-> set =
{ b1 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 st b2 = b1 holds
b2 . a1 = b2 . a2 } ;
deffunc H8(
Variable,
Variable)
-> set =
{ b1 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 st b2 = b1 holds
b2 . a1 in b2 . a2 } ;
deffunc H9(
set )
-> set =
(VAL c2) \ (union {a1});
deffunc H10(
set ,
set )
-> set =
(union {a1}) /\ (union {a2});
deffunc H11(
Variable,
set )
-> set =
{ b1 where B is Element of VAL c2 : for b1 being set
for b2 being Function of VAR ,c2 st b2 = a2 & b3 = b1 holds
( b3 in b2 & ( for b3 being Function of VAR ,c2 st ( for b4 being Variable st b4 . b5 <> b3 . b5 holds
a1 = b5 ) holds
b4 in b2 ) ) } ;
func St c1,
c2 -> set means :
Def3:
:: ZF_MODEL:def 3
ex
b1 being
set st
( ( for
b2,
b3 being
Variable holds
(
[(b2 '=' b3),{ b4 where B is Element of VAL a2 : for b1 being Function of VAR ,a2 st b5 = b4 holds
b5 . b2 = b5 . b3 } ] in b1 &
[(b2 'in' b3),{ b4 where B is Element of VAL a2 : for b1 being Function of VAR ,a2 st b5 = b4 holds
b5 . b2 in b5 . b3 } ] in b1 ) ) &
[a1,a3] in b1 & ( for
b2 being
ZF-formula for
b3 being
set st
[b2,b3] in b1 holds
( (
b2 is_equality implies
b3 = { b4 where B is Element of VAL a2 : for b1 being Function of VAR ,a2 st b5 = b4 holds
b5 . (Var1 b2) = b5 . (Var2 b2) } ) & (
b2 is_membership implies
b3 = { b4 where B is Element of VAL a2 : for b1 being Function of VAR ,a2 st b5 = b4 holds
b5 . (Var1 b2) in b5 . (Var2 b2) } ) & (
b2 is
negative implies ex
b4 being
set st
(
b3 = (VAL a2) \ (union {b4}) &
[(the_argument_of b2),b4] in b1 ) ) & (
b2 is
conjunctive implies ex
b4,
b5 being
set st
(
b3 = (union {b4}) /\ (union {b5}) &
[(the_left_argument_of b2),b4] in b1 &
[(the_right_argument_of b2),b5] in b1 ) ) & (
b2 is
universal implies ex
b4 being
set st
(
b3 = { b5 where B is Element of VAL a2 : for b1 being set
for b2 being Function of VAR ,a2 st b6 = b4 & b7 = b5 holds
( b7 in b6 & ( for b3 being Function of VAR ,a2 st ( for b4 being Variable st b8 . b9 <> b7 . b9 holds
bound_in b2 = b9 ) holds
b8 in b6 ) ) } &
[(the_scope_of b2),b4] in b1 ) ) ) ) );
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 st b6 = b5 holds
b6 . b3 = b6 . b4 } ] in b2 & [(b3 'in' b4),{ b5 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 st b6 = b5 holds
b6 . b3 in b6 . b4 } ] in b2 ) ) & [c1,b1] in b2 & ( for b3 being ZF-formula
for b4 being set st [b3,b4] in b2 holds
( ( b3 is_equality implies b4 = { b5 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 st b6 = b5 holds
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 st b6 = b5 holds
b6 . (Var1 b3) in b6 . (Var2 b3) } ) & ( b3 is negative implies ex b5 being set st
( b4 = (VAL c2) \ (union {b5}) & [(the_argument_of b3),b5] in b2 ) ) & ( b3 is conjunctive implies ex b5, b6 being set st
( b4 = (union {b5}) /\ (union {b6}) & [(the_left_argument_of b3),b5] in b2 & [(the_right_argument_of b3),b6] in b2 ) ) & ( b3 is universal implies ex b5 being set st
( b4 = { b6 where B is Element of VAL c2 : for b1 being set
for b2 being Function of VAR ,c2 st b7 = b5 & b8 = b6 holds
( b8 in b7 & ( for b3 being Function of VAR ,c2 st ( for b4 being Variable st b9 . b10 <> b8 . b10 holds
bound_in b3 = b10 ) holds
b9 in b7 ) ) } & [(the_scope_of b3),b5] in b2 ) ) ) ) )
uniqueness
for b1, b2 being set st 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 st b7 = b6 holds
b7 . b4 = b7 . b5 } ] in b3 & [(b4 'in' b5),{ b6 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 st b7 = b6 holds
b7 . b4 in b7 . b5 } ] in b3 ) ) & [c1,b1] in b3 & ( for b4 being ZF-formula
for b5 being set st [b4,b5] in b3 holds
( ( b4 is_equality implies b5 = { b6 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 st b7 = b6 holds
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 st b7 = b6 holds
b7 . (Var1 b4) in b7 . (Var2 b4) } ) & ( b4 is negative implies ex b6 being set st
( b5 = (VAL c2) \ (union {b6}) & [(the_argument_of b4),b6] in b3 ) ) & ( b4 is conjunctive implies ex b6, b7 being set st
( b5 = (union {b6}) /\ (union {b7}) & [(the_left_argument_of b4),b6] in b3 & [(the_right_argument_of b4),b7] in b3 ) ) & ( b4 is universal implies ex b6 being set st
( b5 = { b7 where B is Element of VAL c2 : for b1 being set
for b2 being Function of VAR ,c2 st b8 = b6 & b9 = b7 holds
( b9 in b8 & ( for b3 being Function of VAR ,c2 st ( for b4 being Variable st b10 . b11 <> b9 . b11 holds
bound_in b4 = b11 ) holds
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 st b7 = b6 holds
b7 . b4 = b7 . b5 } ] in b3 & [(b4 'in' b5),{ b6 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 st b7 = b6 holds
b7 . b4 in b7 . b5 } ] in b3 ) ) & [c1,b2] in b3 & ( for b4 being ZF-formula
for b5 being set st [b4,b5] in b3 holds
( ( b4 is_equality implies b5 = { b6 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 st b7 = b6 holds
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 st b7 = b6 holds
b7 . (Var1 b4) in b7 . (Var2 b4) } ) & ( b4 is negative implies ex b6 being set st
( b5 = (VAL c2) \ (union {b6}) & [(the_argument_of b4),b6] in b3 ) ) & ( b4 is conjunctive implies ex b6, b7 being set st
( b5 = (union {b6}) /\ (union {b7}) & [(the_left_argument_of b4),b6] in b3 & [(the_right_argument_of b4),b7] in b3 ) ) & ( b4 is universal implies ex b6 being set st
( b5 = { b7 where B is Element of VAL c2 : for b1 being set
for b2 being Function of VAR ,c2 st b8 = b6 & b9 = b7 holds
( b9 in b8 & ( for b3 being Function of VAR ,c2 st ( for b4 being Variable st b10 . b11 <> b9 . b11 holds
bound_in b4 = b11 ) holds
b10 in b8 ) ) } & [(the_scope_of b4),b6] in b3 ) ) ) ) ) holds
b1 = b2
end;
:: deftheorem Def3 defines St ZF_MODEL:def 3 :
for
b1 being
ZF-formula for
b2 being non
empty set for
b3 being
set holds
(
b3 = St b1,
b2 iff ex
b4 being
set st
( ( for
b5,
b6 being
Variable holds
(
[(b5 '=' b6),{ b7 where B is Element of VAL b2 : for b1 being Function of VAR ,b2 st b8 = b7 holds
b8 . b5 = b8 . b6 } ] in b4 &
[(b5 'in' b6),{ b7 where B is Element of VAL b2 : for b1 being Function of VAR ,b2 st b8 = b7 holds
b8 . b5 in b8 . b6 } ] in b4 ) ) &
[b1,b3] in b4 & ( for
b5 being
ZF-formula for
b6 being
set st
[b5,b6] in b4 holds
( (
b5 is_equality implies
b6 = { b7 where B is Element of VAL b2 : for b1 being Function of VAR ,b2 st b8 = b7 holds
b8 . (Var1 b5) = b8 . (Var2 b5) } ) & (
b5 is_membership implies
b6 = { b7 where B is Element of VAL b2 : for b1 being Function of VAR ,b2 st b8 = b7 holds
b8 . (Var1 b5) in b8 . (Var2 b5) } ) & (
b5 is
negative implies ex
b7 being
set st
(
b6 = (VAL b2) \ (union {b7}) &
[(the_argument_of b5),b7] in b4 ) ) & (
b5 is
conjunctive implies ex
b7,
b8 being
set st
(
b6 = (union {b7}) /\ (union {b8}) &
[(the_left_argument_of b5),b7] in b4 &
[(the_right_argument_of b5),b8] in b4 ) ) & (
b5 is
universal implies ex
b7 being
set st
(
b6 = { b8 where B is Element of VAL b2 : for b1 being set
for b2 being Function of VAR ,b2 st b9 = b7 & b10 = b8 holds
( b10 in b9 & ( for b3 being Function of VAR ,b2 st ( for b4 being Variable st b11 . b12 <> b10 . b12 holds
bound_in b5 = b12 ) holds
b11 in b9 ) ) } &
[(the_scope_of b5),b7] in b4 ) ) ) ) ) );
E6:
now
let c1 be
ZF-formula;
let c2 be non
empty set ;
deffunc H7(
Variable,
Variable)
-> set =
{ b1 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 st b2 = b1 holds
b2 . a1 = b2 . a2 } ;
deffunc H8(
Variable,
Variable)
-> set =
{ b1 where B is Element of VAL c2 : for b1 being Function of VAR ,c2 st b2 = b1 holds
b2 . a1 in b2 . a2 } ;
deffunc H9(
set )
-> set =
(VAL c2) \ (union {a1});
deffunc H10(
set ,
set )
-> set =
(union {a1}) /\ (union {a2});
deffunc H11(
Variable,
set )
-> set =
{ b1 where B is Element of VAL c2 : for b1 being set
for b2 being Function of VAR ,c2 st b2 = a2 & b3 = b1 holds
( b3 in b2 & ( for b3 being Function of VAR ,c2 st ( for b4 being Variable st b4 . b5 <> b3 . b5 holds
a1 = b5 ) holds
b4 in b2 ) ) } ;
deffunc H12(
ZF-formula)
-> set =
St a1,
c2;
E7:
for
b1 being
ZF-formula for
b2 being
set holds
(
b2 = H12(
b1) iff ex
b3 being
set st
( ( for
b4,
b5 being
Variable holds
(
[(b4 '=' b5),H7(b4,b5)] in b3 &
[(b4 'in' b5),H8(b4,b5)] in b3 ) ) &
[b1,b2] in b3 & ( for
b4 being
ZF-formula for
b5 being
set st
[b4,b5] in b3 holds
( (
b4 is_equality implies
b5 = H7(
Var1 b4,
Var2 b4) ) & (
b4 is_membership implies
b5 = H8(
Var1 b4,
Var2 b4) ) & (
b4 is
negative implies ex
b6 being
set st
(
b5 = H9(
b6) &
[(the_argument_of b4),b6] in b3 ) ) & (
b4 is
conjunctive implies ex
b6,
b7 being
set st
(
b5 = H10(
b6,
b7) &
[(the_left_argument_of b4),b6] in b3 &
[(the_right_argument_of b4),b7] in b3 ) ) & (
b4 is
universal implies ex
b6 being
set st
(
b5 = H11(
bound_in b4,
b6) &
[(the_scope_of b4),b6] in b3 ) ) ) ) ) )
by Def3;
thus
( (
c1 is_equality implies
H12(
c1)
= H7(
Var1 c1,
Var2 c1) ) & (
c1 is_membership implies
H12(
c1)
= H8(
Var1 c1,
Var2 c1) ) & (
c1 is
negative implies
H12(
c1)
= H9(
H12(
the_argument_of c1)) ) & (
c1 is
conjunctive implies for
b1,
b2 being
set st
b1 = H12(
the_left_argument_of c1) &
b2 = H12(
the_right_argument_of c1) holds
H12(
c1)
= H10(
b1,
b2) ) & (
c1 is
universal implies
H12(
c1)
= H11(
bound_in c1,
H12(
the_scope_of c1)) ) )
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 c1 be
ZF-formula;
func the_axiom_of_substitution_for c1 -> 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 :