Article ZF_MODEL, MML version 4.99.1005
:: ZF_MODEL:sch 1
scheme ZF_MODEL:sch 1
{F1 -> set,
F2 -> set,
F3 -> set,
F4 -> set,
F5 -> set,
F6 -> ZF-formula-like FinSequence of NAT}:
ex b1, b2 being set st
(for b3, b4 being Element of VAR 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-like FinSequence of NAT
for b4 being set
st [b3,b4] in b2
holds (b3 is being_equality implies b4 = F1(Var1 b3, Var2 b3)) &
(b3 is being_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))
:: ZF_MODEL:sch 2
scheme ZF_MODEL:sch 2
{F1 -> set,
F2 -> set,
F3 -> set,
F4 -> set,
F5 -> set,
F6 -> ZF-formula-like FinSequence of NAT,
F7 -> set,
F8 -> set}:
F7() = F8()
provided
ex b1 being set st
(for b2, b3 being Element of VAR 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-like FinSequence of NAT
for b3 being set
st [b2,b3] in b1
holds (b2 is being_equality implies b3 = F1(Var1 b2, Var2 b2)) &
(b2 is being_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
ex b1 being set st
(for b2, b3 being Element of VAR 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-like FinSequence of NAT
for b3 being set
st [b2,b3] in b1
holds (b2 is being_equality implies b3 = F1(Var1 b2, Var2 b2)) &
(b2 is being_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));
:: ZF_MODEL:sch 3
scheme ZF_MODEL:sch 3
{F1 -> set,
F2 -> set,
F3 -> set,
F4 -> set,
F5 -> set,
F6 -> ZF-formula-like FinSequence of NAT,
F7 -> set}:
(F6() is being_equality implies F7(F6()) = F1(Var1 F6(), Var2 F6())) &
(F6() is being_membership implies F7(F6()) = F2(Var1 F6(), Var2 F6())) &
(F6() is negative implies F7(F6()) = F3(F7(the_argument_of F6()))) &
(F6() is conjunctive implies for b1, b2 being set
st b1 = F7(the_left_argument_of F6()) & b2 = F7(the_right_argument_of F6())
holds F7(F6()) = F4(b1, b2)) &
(F6() is universal implies F7(F6()) = F5(bound_in F6(), F7(the_scope_of F6())))
provided
for b1 being ZF-formula-like FinSequence of NAT
for b2 being set holds
b2 = F7(b1)
iff
ex b3 being set st
(for b4, b5 being Element of VAR 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-like FinSequence of NAT
for b5 being set
st [b4,b5] in b3
holds (b4 is being_equality implies b5 = F1(Var1 b4, Var2 b4)) &
(b4 is being_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));
:: ZF_MODEL:sch 4
scheme ZF_MODEL:sch 4
{F1 -> set,
F2 -> set,
F3 -> set,
F4 -> set,
F5 -> set,
F6 -> set,
F7 -> ZF-formula-like FinSequence of NAT}:
P1[F6(F7())]
provided
for b1 being ZF-formula-like FinSequence of NAT
for b2 being set holds
b2 = F6(b1)
iff
ex b3 being set st
(for b4, b5 being Element of VAR 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-like FinSequence of NAT
for b5 being set
st [b4,b5] in b3
holds (b4 is being_equality implies b5 = F1(Var1 b4, Var2 b4)) &
(b4 is being_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
for b1, b2 being Element of VAR holds
P1[F1(b1, b2)] & P1[F2(b1, b2)]
and
for b1 being set
st P1[b1]
holds P1[F3(b1)]
and
for b1, b2 being set
st P1[b1] & P1[b2]
holds P1[F4(b1, b2)]
and
for b1 being set
for b2 being Element of VAR
st P1[b1]
holds P1[F5(b2, b1)];
:: ZF_MODEL:funcnot 1 => ZF_MODEL:func 1
definition
let a1 be ZF-formula-like FinSequence of NAT;
func Free A1 -> set means
ex b1 being set st
(for b2, b3 being Element of VAR holds
[b2 '=' b3,{b2,b3}] in b1 &
[b2 'in' b3,{b2,b3}] in b1) &
[a1,it] in b1 &
(for b2 being ZF-formula-like FinSequence of NAT
for b3 being set
st [b2,b3] in b1
holds (b2 is being_equality implies b3 = {Var1 b2,Var2 b2}) &
(b2 is being_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));
end;
:: ZF_MODEL:def 1
theorem
for b1 being ZF-formula-like FinSequence of NAT
for b2 being set holds
b2 = Free b1
iff
ex b3 being set st
(for b4, b5 being Element of VAR holds
[b4 '=' b5,{b4,b5}] in b3 &
[b4 'in' b5,{b4,b5}] in b3) &
[b1,b2] in b3 &
(for b4 being ZF-formula-like FinSequence of NAT
for b5 being set
st [b4,b5] in b3
holds (b4 is being_equality implies b5 = {Var1 b4,Var2 b4}) &
(b4 is being_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));
:: ZF_MODEL:funcnot 2 => ZF_MODEL:func 2
definition
let a1 be ZF-formula-like FinSequence of NAT;
redefine func Free a1 -> Element of bool VAR;
end;
:: ZF_MODEL:th 1
theorem
for b1 being ZF-formula-like FinSequence of NAT holds
(b1 is being_equality implies Free b1 = {Var1 b1,Var2 b1}) &
(b1 is being_membership implies Free b1 = {Var1 b1,Var2 b1}) &
(b1 is negative implies Free b1 = Free the_argument_of b1) &
(b1 is conjunctive implies Free b1 = (Free the_left_argument_of b1) \/ Free the_right_argument_of b1) &
(b1 is universal implies Free b1 = (Free the_scope_of b1) \ {bound_in b1});
:: ZF_MODEL:funcnot 3 => ZF_MODEL:func 3
definition
let a1 be non empty set;
func VAL A1 -> set means
for b1 being set holds
b1 in it
iff
b1 is Function-like quasi_total Relation of VAR,a1;
end;
:: ZF_MODEL:def 2
theorem
for b1 being non empty set
for b2 being set holds
b2 = VAL b1
iff
for b3 being set holds
b3 in b2
iff
b3 is Function-like quasi_total Relation of VAR,b1;
:: ZF_MODEL:funcreg 1
registration
let a1 be non empty set;
cluster VAL a1 -> non empty;
end;
:: ZF_MODEL:funcnot 4 => ZF_MODEL:func 4
definition
let a1 be ZF-formula-like FinSequence of NAT;
let a2 be non empty set;
func St(A1,A2) -> set means
ex b1 being set st
(for b2, b3 being Element of VAR holds
[b2 '=' b3,{b4 where b4 is Element of VAL a2: for b5 being Function-like quasi_total Relation of VAR,a2
st b5 = b4
holds b5 . b2 = b5 . b3}] in b1 &
[b2 'in' b3,{b4 where b4 is Element of VAL a2: for b5 being Function-like quasi_total Relation of VAR,a2
st b5 = b4
holds b5 . b2 in b5 . b3}] in b1) &
[a1,it] in b1 &
(for b2 being ZF-formula-like FinSequence of NAT
for b3 being set
st [b2,b3] in b1
holds (b2 is being_equality implies b3 = {b4 where b4 is Element of VAL a2: for b5 being Function-like quasi_total Relation of VAR,a2
st b5 = b4
holds b5 . Var1 b2 = b5 . Var2 b2}) &
(b2 is being_membership implies b3 = {b4 where b4 is Element of VAL a2: for b5 being Function-like quasi_total Relation 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 b5 is Element of VAL a2: for b6 being set
for b7 being Function-like quasi_total Relation of VAR,a2
st b6 = b4 & b7 = b5
holds b7 in b6 &
(for b8 being Function-like quasi_total Relation of VAR,a2
st for b9 being Element of VAR
st b8 . b9 <> b7 . b9
holds bound_in b2 = b9
holds b8 in b6)} &
[the_scope_of b2,b4] in b1));
end;
:: ZF_MODEL:def 3
theorem
for b1 being ZF-formula-like FinSequence of NAT
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 Element of VAR holds
[b5 '=' b6,{b7 where b7 is Element of VAL b2: for b8 being Function-like quasi_total Relation of VAR,b2
st b8 = b7
holds b8 . b5 = b8 . b6}] in b4 &
[b5 'in' b6,{b7 where b7 is Element of VAL b2: for b8 being Function-like quasi_total Relation of VAR,b2
st b8 = b7
holds b8 . b5 in b8 . b6}] in b4) &
[b1,b3] in b4 &
(for b5 being ZF-formula-like FinSequence of NAT
for b6 being set
st [b5,b6] in b4
holds (b5 is being_equality implies b6 = {b7 where b7 is Element of VAL b2: for b8 being Function-like quasi_total Relation of VAR,b2
st b8 = b7
holds b8 . Var1 b5 = b8 . Var2 b5}) &
(b5 is being_membership implies b6 = {b7 where b7 is Element of VAL b2: for b8 being Function-like quasi_total Relation 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 b8 is Element of VAL b2: for b9 being set
for b10 being Function-like quasi_total Relation of VAR,b2
st b9 = b7 & b10 = b8
holds b10 in b9 &
(for b11 being Function-like quasi_total Relation of VAR,b2
st for b12 being Element of VAR
st b11 . b12 <> b10 . b12
holds bound_in b5 = b12
holds b11 in b9)} &
[the_scope_of b5,b7] in b4));
:: ZF_MODEL:funcnot 5 => ZF_MODEL:func 5
definition
let a1 be ZF-formula-like FinSequence of NAT;
let a2 be non empty set;
redefine func St(a1,a2) -> Element of bool VAL a2;
end;
:: ZF_MODEL:th 2
theorem
for b1 being non empty set
for b2, b3 being Element of VAR
for b4 being Function-like quasi_total Relation of VAR,b1 holds
b4 . b2 = b4 . b3
iff
b4 in St(b2 '=' b3,b1);
:: ZF_MODEL:th 3
theorem
for b1 being non empty set
for b2, b3 being Element of VAR
for b4 being Function-like quasi_total Relation of VAR,b1 holds
b4 . b2 in b4 . b3
iff
b4 in St(b2 'in' b3,b1);
:: ZF_MODEL:th 4
theorem
for b1 being non empty set
for b2 being ZF-formula-like FinSequence of NAT
for b3 being Function-like quasi_total Relation of VAR,b1 holds
not b3 in St(b2,b1)
iff
b3 in St('not' b2,b1);
:: ZF_MODEL:th 5
theorem
for b1 being non empty set
for b2, b3 being ZF-formula-like FinSequence of NAT
for b4 being Function-like quasi_total Relation of VAR,b1 holds
b4 in St(b2,b1) & b4 in St(b3,b1)
iff
b4 in St(b2 '&' b3,b1);
:: ZF_MODEL:th 6
theorem
for b1 being non empty set
for b2 being Element of VAR
for b3 being ZF-formula-like FinSequence of NAT
for b4 being Function-like quasi_total Relation of VAR,b1 holds
b4 in St(b3,b1) &
(for b5 being Function-like quasi_total Relation of VAR,b1
st for b6 being Element of VAR
st b5 . b6 <> b4 . b6
holds b2 = b6
holds b5 in St(b3,b1))
iff
b4 in St(All(b2,b3),b1);
:: ZF_MODEL:th 7
theorem
for b1 being ZF-formula-like FinSequence of NAT
for b2 being non empty set
st b1 is being_equality
for b3 being Function-like quasi_total Relation of VAR,b2 holds
b3 . Var1 b1 = b3 . Var2 b1
iff
b3 in St(b1,b2);
:: ZF_MODEL:th 8
theorem
for b1 being ZF-formula-like FinSequence of NAT
for b2 being non empty set
st b1 is being_membership
for b3 being Function-like quasi_total Relation of VAR,b2 holds
b3 . Var1 b1 in b3 . Var2 b1
iff
b3 in St(b1,b2);
:: ZF_MODEL:th 9
theorem
for b1 being ZF-formula-like FinSequence of NAT
for b2 being non empty set
st b1 is negative
for b3 being Function-like quasi_total Relation of VAR,b2 holds
not b3 in St(the_argument_of b1,b2)
iff
b3 in St(b1,b2);
:: ZF_MODEL:th 10
theorem
for b1 being ZF-formula-like FinSequence of NAT
for b2 being non empty set
st b1 is conjunctive
for b3 being Function-like quasi_total Relation of VAR,b2 holds
b3 in St(the_left_argument_of b1,b2) & b3 in St(the_right_argument_of b1,b2)
iff
b3 in St(b1,b2);
:: ZF_MODEL:th 11
theorem
for b1 being ZF-formula-like FinSequence of NAT
for b2 being non empty set
st b1 is universal
for b3 being Function-like quasi_total Relation of VAR,b2 holds
b3 in St(the_scope_of b1,b2) &
(for b4 being Function-like quasi_total Relation of VAR,b2
st for b5 being Element of VAR
st b4 . b5 <> b3 . b5
holds bound_in b1 = b5
holds b4 in St(the_scope_of b1,b2))
iff
b3 in St(b1,b2);
:: ZF_MODEL:prednot 1 => ZF_MODEL:pred 1
definition
let a1 be non empty set;
let a2 be Function-like quasi_total Relation of VAR,a1;
let a3 be ZF-formula-like FinSequence of NAT;
pred A1,A2 |= A3 means
a2 in St(a3,a1);
end;
:: ZF_MODEL:dfs 4
definiens
let a1 be non empty set;
let a2 be Function-like quasi_total Relation of VAR,a1;
let a3 be ZF-formula-like FinSequence of NAT;
To prove
a1,a2 |= a3
it is sufficient to prove
thus a2 in St(a3,a1);
:: ZF_MODEL:def 4
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of VAR,b1
for b3 being ZF-formula-like FinSequence of NAT holds
b1,b2 |= b3
iff
b2 in St(b3,b1);
:: ZF_MODEL:th 12
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of VAR,b1
for b3, b4 being Element of VAR holds
b1,b2 |= b3 '=' b4
iff
b2 . b3 = b2 . b4;
:: ZF_MODEL:th 13
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of VAR,b1
for b3, b4 being Element of VAR holds
b1,b2 |= b3 'in' b4
iff
b2 . b3 in b2 . b4;
:: ZF_MODEL:th 14
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of VAR,b1
for b3 being ZF-formula-like FinSequence of NAT holds
b1,b2 |= b3
iff
not b1,b2 |= 'not' b3;
:: ZF_MODEL:th 15
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of VAR,b1
for b3, b4 being ZF-formula-like FinSequence of NAT holds
b1,b2 |= b3 '&' b4
iff
b1,b2 |= b3 & b1,b2 |= b4;
:: ZF_MODEL:th 16
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of VAR,b1
for b3 being ZF-formula-like FinSequence of NAT
for b4 being Element of VAR holds
b1,b2 |= All(b4,b3)
iff
for b5 being Function-like quasi_total Relation of VAR,b1
st for b6 being Element of VAR
st b5 . b6 <> b2 . b6
holds b4 = b6
holds b1,b5 |= b3;
:: ZF_MODEL:th 17
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of VAR,b1
for b3, b4 being ZF-formula-like FinSequence of NAT holds
b1,b2 |= b3 'or' b4
iff
(b1,b2 |= b3 or b1,b2 |= b4);
:: ZF_MODEL:th 18
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of VAR,b1
for b3, b4 being ZF-formula-like FinSequence of NAT holds
b1,b2 |= b3 => b4
iff
(b1,b2 |= b3 implies b1,b2 |= b4);
:: ZF_MODEL:th 19
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of VAR,b1
for b3, b4 being ZF-formula-like FinSequence of NAT holds
b1,b2 |= b3 <=> b4
iff
b1,b2 |= b3
iff
b1,b2 |= b4;
:: ZF_MODEL:th 20
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of VAR,b1
for b3 being ZF-formula-like FinSequence of NAT
for b4 being Element of VAR holds
b1,b2 |= Ex(b4,b3)
iff
ex b5 being Function-like quasi_total Relation of VAR,b1 st
(for b6 being Element of VAR
st b5 . b6 <> b2 . b6
holds b4 = b6) &
b1,b5 |= b3;
:: ZF_MODEL:th 21
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of VAR,b1
for b3 being Element of VAR
for b4 being Element of b1 holds
ex b5 being Function-like quasi_total Relation of VAR,b1 st
b5 . b3 = b4 &
(for b6 being Element of VAR
st b6 <> b3
holds b5 . b6 = b2 . b6);
:: ZF_MODEL:th 22
theorem
for b1 being ZF-formula-like FinSequence of NAT
for b2, b3 being Element of VAR
for b4 being non empty set
for b5 being Function-like quasi_total Relation of VAR,b4 holds
b4,b5 |= All(b2,b3,b1)
iff
for b6 being Function-like quasi_total Relation of VAR,b4
st for b7 being Element of VAR
st b6 . b7 <> b5 . b7 & b2 <> b7
holds b3 = b7
holds b4,b6 |= b1;
:: ZF_MODEL:th 23
theorem
for b1 being ZF-formula-like FinSequence of NAT
for b2, b3 being Element of VAR
for b4 being non empty set
for b5 being Function-like quasi_total Relation of VAR,b4 holds
b4,b5 |= Ex(b2,b3,b1)
iff
ex b6 being Function-like quasi_total Relation of VAR,b4 st
(for b7 being Element of VAR
st b6 . b7 <> b5 . b7 & b2 <> b7
holds b3 = b7) &
b4,b6 |= b1;
:: ZF_MODEL:prednot 2 => ZF_MODEL:pred 2
definition
let a1 be non empty set;
let a2 be ZF-formula-like FinSequence of NAT;
pred A1 |= A2 means
for b1 being Function-like quasi_total Relation of VAR,a1 holds
a1,b1 |= a2;
end;
:: ZF_MODEL:dfs 5
definiens
let a1 be non empty set;
let a2 be ZF-formula-like FinSequence of NAT;
To prove
a1 |= a2
it is sufficient to prove
thus for b1 being Function-like quasi_total Relation of VAR,a1 holds
a1,b1 |= a2;
:: ZF_MODEL:def 5
theorem
for b1 being non empty set
for b2 being ZF-formula-like FinSequence of NAT holds
b1 |= b2
iff
for b3 being Function-like quasi_total Relation of VAR,b1 holds
b1,b3 |= b2;
:: ZF_MODEL:th 25
theorem
for b1 being ZF-formula-like FinSequence of NAT
for b2 being Element of VAR
for b3 being non empty set holds
b3 |= All(b2,b1)
iff
b3 |= b1;
:: ZF_MODEL:funcnot 6 => ZF_MODEL:func 6
definition
func the_axiom_of_extensionality -> ZF-formula-like FinSequence of NAT equals
All(x. 0,x. 1,(All(x. 2,((x. 2) 'in' x. 0) <=> ((x. 2) 'in' x. 1))) => ((x. 0) '=' x. 1));
end;
:: ZF_MODEL:def 6
theorem
the_axiom_of_extensionality = All(x. 0,x. 1,(All(x. 2,((x. 2) 'in' x. 0) <=> ((x. 2) 'in' x. 1))) => ((x. 0) '=' x. 1));
:: ZF_MODEL:funcnot 7 => ZF_MODEL:func 7
definition
func the_axiom_of_pairs -> ZF-formula-like FinSequence of NAT equals
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)))));
end;
:: ZF_MODEL:def 7
theorem
the_axiom_of_pairs = 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)))));
:: ZF_MODEL:funcnot 8 => ZF_MODEL:func 8
definition
func the_axiom_of_unions -> ZF-formula-like FinSequence of NAT equals
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)))));
end;
:: ZF_MODEL:def 8
theorem
the_axiom_of_unions = 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)))));
:: ZF_MODEL:funcnot 9 => ZF_MODEL:func 9
definition
func the_axiom_of_infinity -> ZF-formula-like FinSequence of NAT equals
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)))));
end;
:: ZF_MODEL:def 9
theorem
the_axiom_of_infinity = 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)))));
:: ZF_MODEL:funcnot 10 => ZF_MODEL:func 10
definition
func the_axiom_of_power_sets -> ZF-formula-like FinSequence of NAT equals
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)))));
end;
:: ZF_MODEL:def 10
theorem
the_axiom_of_power_sets = 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)))));
:: ZF_MODEL:funcnot 11 => ZF_MODEL:func 11
definition
let a1 be ZF-formula-like FinSequence of NAT;
func the_axiom_of_substitution_for A1 -> ZF-formula-like FinSequence of NAT equals
(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))));
end;
:: ZF_MODEL:def 11
theorem
for b1 being ZF-formula-like FinSequence of NAT holds
the_axiom_of_substitution_for b1 = (All(x. 3,Ex(x. 0,All(x. 4,b1 <=> ((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) '&' b1))));
:: ZF_MODEL:attrnot 1 => ZF_MODEL:attr 1
definition
let a1 be non empty set;
attr a1 is being_a_model_of_ZF means
a1 is epsilon-transitive &
a1 |= the_axiom_of_pairs &
a1 |= the_axiom_of_unions &
a1 |= the_axiom_of_infinity &
a1 |= the_axiom_of_power_sets &
(for b1 being ZF-formula-like FinSequence of NAT
st {x. 0,x. 1,x. 2} misses Free b1
holds a1 |= the_axiom_of_substitution_for b1);
end;
:: ZF_MODEL:dfs 12
definiens
let a1 be non empty set;
To prove
a1 is being_a_model_of_ZF
it is sufficient to prove
thus a1 is epsilon-transitive &
a1 |= the_axiom_of_pairs &
a1 |= the_axiom_of_unions &
a1 |= the_axiom_of_infinity &
a1 |= the_axiom_of_power_sets &
(for b1 being ZF-formula-like FinSequence of NAT
st {x. 0,x. 1,x. 2} misses Free b1
holds a1 |= the_axiom_of_substitution_for b1);
:: ZF_MODEL:def 12
theorem
for b1 being non empty set holds
b1 is being_a_model_of_ZF
iff
b1 is epsilon-transitive &
b1 |= the_axiom_of_pairs &
b1 |= the_axiom_of_unions &
b1 |= the_axiom_of_infinity &
b1 |= the_axiom_of_power_sets &
(for b2 being ZF-formula-like FinSequence of NAT
st {x. 0,x. 1,x. 2} misses Free b2
holds b1 |= the_axiom_of_substitution_for b2);
:: ZF_MODEL:prednot 3 => ZF_MODEL:attr 1
notation
let a1 be non empty set;
synonym a1 is_a_model_of_ZF for being_a_model_of_ZF;
end;