let x, y be Variable; :: thesis: for M being non empty set
for H being ZF-formula
for v being Function of VAR ,M st not x in variables_in H holds
( M,v |= H / y,x iff M,v / y,(v . x) |= H )
let M be non empty set ; :: thesis: for H being ZF-formula
for v being Function of VAR ,M st not x in variables_in H holds
( M,v |= H / y,x iff M,v / y,(v . x) |= H )
let H be ZF-formula; :: thesis: for v being Function of VAR ,M st not x in variables_in H holds
( M,v |= H / y,x iff M,v / y,(v . x) |= H )
let v be Function of VAR ,M; :: thesis: ( not x in variables_in H implies ( M,v |= H / y,x iff M,v / y,(v . x) |= H ) )
defpred S1[ ZF-formula] means ( not x in variables_in $1 implies for v being Function of VAR ,M holds
( M,v |= $1 / y,x iff M,v / y,(v . x) |= $1 ) );
A1:
for x1, x2 being Variable holds
( S1[x1 '=' x2] & S1[x1 'in' x2] )
proof
let x1,
x2 be
Variable;
:: thesis: ( S1[x1 '=' x2] & S1[x1 'in' x2] )
A2:
( (
x1 = y or
x1 <> y ) & (
x2 = y or
x2 <> y ) )
;
thus
S1[
x1 '=' x2]
:: thesis: S1[x1 'in' x2]proof
assume
not
x in variables_in (x1 '=' x2)
;
:: thesis: for v being Function of VAR ,M holds
( M,v |= (x1 '=' x2) / y,x iff M,v / y,(v . x) |= x1 '=' x2 )
let v be
Function of
VAR ,
M;
:: thesis: ( M,v |= (x1 '=' x2) / y,x iff M,v / y,(v . x) |= x1 '=' x2 )
consider y1,
y2 being
Variable such that A3:
( (
x1 <> y &
x2 <> y &
y1 = x1 &
y2 = x2 ) or (
x1 = y &
x2 <> y &
y1 = x &
y2 = x2 ) or (
x1 <> y &
x2 = y &
y1 = x1 &
y2 = x ) or (
x1 = y &
x2 = y &
y1 = x &
y2 = x ) )
by A2;
A4:
(x1 '=' x2) / y,
x = y1 '=' y2
by A3, ZF_LANG1:166;
A5:
(
(v / y,(v . x)) . x1 = v . y1 &
(v / y,(v . x)) . x2 = v . y2 )
by A3, FUNCT_7:34, FUNCT_7:130;
thus
(
M,
v |= (x1 '=' x2) / y,
x implies
M,
v / y,
(v . x) |= x1 '=' x2 )
:: thesis: ( M,v / y,(v . x) |= x1 '=' x2 implies M,v |= (x1 '=' x2) / y,x )
assume
M,
v / y,
(v . x) |= x1 '=' x2
;
:: thesis: M,v |= (x1 '=' x2) / y,x
then
(v / y,(v . x)) . x1 = (v / y,(v . x)) . x2
by ZF_MODEL:12;
hence
M,
v |= (x1 '=' x2) / y,
x
by A4, A5, ZF_MODEL:12;
:: thesis: verum
end;
assume
not
x in variables_in (x1 'in' x2)
;
:: thesis: for v being Function of VAR ,M holds
( M,v |= (x1 'in' x2) / y,x iff M,v / y,(v . x) |= x1 'in' x2 )
let v be
Function of
VAR ,
M;
:: thesis: ( M,v |= (x1 'in' x2) / y,x iff M,v / y,(v . x) |= x1 'in' x2 )
consider y1,
y2 being
Variable such that A6:
( (
x1 <> y &
x2 <> y &
y1 = x1 &
y2 = x2 ) or (
x1 = y &
x2 <> y &
y1 = x &
y2 = x2 ) or (
x1 <> y &
x2 = y &
y1 = x1 &
y2 = x ) or (
x1 = y &
x2 = y &
y1 = x &
y2 = x ) )
by A2;
A7:
(x1 'in' x2) / y,
x = y1 'in' y2
by A6, ZF_LANG1:168;
A8:
(
(v / y,(v . x)) . x1 = v . y1 &
(v / y,(v . x)) . x2 = v . y2 )
by A6, FUNCT_7:34, FUNCT_7:130;
thus
(
M,
v |= (x1 'in' x2) / y,
x implies
M,
v / y,
(v . x) |= x1 'in' x2 )
:: thesis: ( M,v / y,(v . x) |= x1 'in' x2 implies M,v |= (x1 'in' x2) / y,x )
assume
M,
v / y,
(v . x) |= x1 'in' x2
;
:: thesis: M,v |= (x1 'in' x2) / y,x
then
(v / y,(v . x)) . x1 in (v / y,(v . x)) . x2
by ZF_MODEL:13;
hence
M,
v |= (x1 'in' x2) / y,
x
by A7, A8, ZF_MODEL:13;
:: thesis: verum
end;
A9:
for H being ZF-formula st S1[H] holds
S1[ 'not' H]
proof
let H be
ZF-formula;
:: thesis: ( S1[H] implies S1[ 'not' H] )
assume A10:
( not
x in variables_in H implies for
v being
Function of
VAR ,
M holds
(
M,
v |= H / y,
x iff
M,
v / y,
(v . x) |= H ) )
;
:: thesis: S1[ 'not' H]
assume A11:
not
x in variables_in ('not' H)
;
:: thesis: for v being Function of VAR ,M holds
( M,v |= ('not' H) / y,x iff M,v / y,(v . x) |= 'not' H )
let v be
Function of
VAR ,
M;
:: thesis: ( M,v |= ('not' H) / y,x iff M,v / y,(v . x) |= 'not' H )
thus
(
M,
v |= ('not' H) / y,
x implies
M,
v / y,
(v . x) |= 'not' H )
:: thesis: ( M,v / y,(v . x) |= 'not' H implies M,v |= ('not' H) / y,x )proof
assume
M,
v |= ('not' H) / y,
x
;
:: thesis: M,v / y,(v . x) |= 'not' H
then
M,
v |= 'not' (H / y,x)
by ZF_LANG1:170;
then
not
M,
v |= H / y,
x
by ZF_MODEL:14;
then
not
M,
v / y,
(v . x) |= H
by A10, A11, ZF_LANG1:153;
hence
M,
v / y,
(v . x) |= 'not' H
by ZF_MODEL:14;
:: thesis: verum
end;
assume
M,
v / y,
(v . x) |= 'not' H
;
:: thesis: M,v |= ('not' H) / y,x
then
not
M,
v / y,
(v . x) |= H
by ZF_MODEL:14;
then
not
M,
v |= H / y,
x
by A10, A11, ZF_LANG1:153;
then
M,
v |= 'not' (H / y,x)
by ZF_MODEL:14;
hence
M,
v |= ('not' H) / y,
x
by ZF_LANG1:170;
:: thesis: verum
end;
A12:
for H1, H2 being ZF-formula st S1[H1] & S1[H2] holds
S1[H1 '&' H2]
proof
let H1,
H2 be
ZF-formula;
:: thesis: ( S1[H1] & S1[H2] implies S1[H1 '&' H2] )
assume that A13:
( not
x in variables_in H1 implies for
v being
Function of
VAR ,
M holds
(
M,
v |= H1 / y,
x iff
M,
v / y,
(v . x) |= H1 ) )
and A14:
( not
x in variables_in H2 implies for
v being
Function of
VAR ,
M holds
(
M,
v |= H2 / y,
x iff
M,
v / y,
(v . x) |= H2 ) )
;
:: thesis: S1[H1 '&' H2]
assume
not
x in variables_in (H1 '&' H2)
;
:: thesis: for v being Function of VAR ,M holds
( M,v |= (H1 '&' H2) / y,x iff M,v / y,(v . x) |= H1 '&' H2 )
then A15:
not
x in (variables_in H1) \/ (variables_in H2)
by ZF_LANG1:154;
let v be
Function of
VAR ,
M;
:: thesis: ( M,v |= (H1 '&' H2) / y,x iff M,v / y,(v . x) |= H1 '&' H2 )
thus
(
M,
v |= (H1 '&' H2) / y,
x implies
M,
v / y,
(v . x) |= H1 '&' H2 )
:: thesis: ( M,v / y,(v . x) |= H1 '&' H2 implies M,v |= (H1 '&' H2) / y,x )proof
assume
M,
v |= (H1 '&' H2) / y,
x
;
:: thesis: M,v / y,(v . x) |= H1 '&' H2
then
M,
v |= (H1 / y,x) '&' (H2 / y,x)
by ZF_LANG1:172;
then
(
M,
v |= H1 / y,
x &
M,
v |= H2 / y,
x )
by ZF_MODEL:15;
then
(
M,
v / y,
(v . x) |= H1 &
M,
v / y,
(v . x) |= H2 )
by A13, A14, A15, XBOOLE_0:def 3;
hence
M,
v / y,
(v . x) |= H1 '&' H2
by ZF_MODEL:15;
:: thesis: verum
end;
assume
M,
v / y,
(v . x) |= H1 '&' H2
;
:: thesis: M,v |= (H1 '&' H2) / y,x
then
(
M,
v / y,
(v . x) |= H1 &
M,
v / y,
(v . x) |= H2 )
by ZF_MODEL:15;
then
(
M,
v |= H1 / y,
x &
M,
v |= H2 / y,
x )
by A13, A14, A15, XBOOLE_0:def 3;
then
M,
v |= (H1 / y,x) '&' (H2 / y,x)
by ZF_MODEL:15;
hence
M,
v |= (H1 '&' H2) / y,
x
by ZF_LANG1:172;
:: thesis: verum
end;
A16:
for H being ZF-formula
for z being Variable st S1[H] holds
S1[ All z,H]
proof
let H be
ZF-formula;
:: thesis: for z being Variable st S1[H] holds
S1[ All z,H]let z be
Variable;
:: thesis: ( S1[H] implies S1[ All z,H] )
assume A17:
( not
x in variables_in H implies for
v being
Function of
VAR ,
M holds
(
M,
v |= H / y,
x iff
M,
v / y,
(v . x) |= H ) )
;
:: thesis: S1[ All z,H]
assume A18:
not
x in variables_in (All z,H)
;
:: thesis: for v being Function of VAR ,M holds
( M,v |= (All z,H) / y,x iff M,v / y,(v . x) |= All z,H )
Free (All z,H) c= variables_in (All z,H)
by ZF_LANG1:164;
then A19:
not
x in Free (All z,H)
by A18;
A20:
not
x in (variables_in H) \/ {z}
by A18, ZF_LANG1:155;
then
( not
x in variables_in H & not
x in {z} &
Free H c= variables_in H )
by XBOOLE_0:def 3, ZF_LANG1:164;
then A21:
(
x <> z & not
x in Free H & ( for
v being
Function of
VAR ,
M holds
(
M,
v |= H / y,
x iff
M,
v / y,
(v . x) |= H ) ) )
by A17, TARSKI:def 1;
(
z = y or
z <> y )
;
then consider s being
Variable such that A22:
( (
z = y &
s = x ) or (
z <> y &
s = z ) )
;
let v be
Function of
VAR ,
M;
:: thesis: ( M,v |= (All z,H) / y,x iff M,v / y,(v . x) |= All z,H )
thus
(
M,
v |= (All z,H) / y,
x implies
M,
v / y,
(v . x) |= All z,
H )
:: thesis: ( M,v / y,(v . x) |= All z,H implies M,v |= (All z,H) / y,x )proof
assume
M,
v |= (All z,H) / y,
x
;
:: thesis: M,v / y,(v . x) |= All z,H
then A23:
M,
v |= All s,
(H / y,x)
by A22, ZF_LANG1:173, ZF_LANG1:174;
A24:
now assume A25:
(
z = y &
s = x )
;
:: thesis: M,v / y,(v . x) |= All z,Hnow let m be
Element of
M;
:: thesis: M,v / y,m |= H
M,
v / x,
m |= H / y,
x
by A23, A25, ZF_LANG1:80;
then
(
M,
(v / x,m) / y,
((v / x,m) . x) |= H &
(v / x,m) . x = m &
(v / x,m) / y,
m = (v / y,m) / x,
m )
by A21, A25, FUNCT_7:35, FUNCT_7:130;
then
M,
(v / y,m) / x,
m |= All x,
H
by A21, ZFMODEL1:10;
then
(
((v / y,m) / x,m) / x,
((v / y,m) . x) = (v / y,m) / x,
((v / y,m) . x) &
M,
((v / y,m) / x,m) / x,
((v / y,m) . x) |= H )
by FUNCT_7:36, ZF_LANG1:80;
hence
M,
v / y,
m |= H
by FUNCT_7:37;
:: thesis: verum end; then
M,
v |= All y,
H
by ZF_LANG1:80;
hence
M,
v / y,
(v . x) |= All z,
H
by A25, ZF_LANG1:81;
:: thesis: verum end;
now assume A26:
(
z <> y &
s = z )
;
:: thesis: M,v / y,(v . x) |= All z,Hnow let m be
Element of
M;
:: thesis: M,(v / y,(v . x)) / z,m |= H
M,
v / z,
m |= H / y,
x
by A23, A26, ZF_LANG1:80;
then
(
M,
(v / z,m) / y,
((v / z,m) . x) |= H &
(v / z,m) . x = v . x &
(v / z,m) / y,
(v . x) = (v / y,(v . x)) / z,
m )
by A21, A26, FUNCT_7:35, FUNCT_7:34;
hence
M,
(v / y,(v . x)) / z,
m |= H
;
:: thesis: verum end; hence
M,
v / y,
(v . x) |= All z,
H
by ZF_LANG1:80;
:: thesis: verum end;
hence
M,
v / y,
(v . x) |= All z,
H
by A22, A24;
:: thesis: verum
end;
assume A27:
M,
v / y,
(v . x) |= All z,
H
;
:: thesis: M,v |= (All z,H) / y,x
A28:
now assume A29:
(
z = y &
s = x )
;
:: thesis: M,v |= (All z,H) / y,xthen
M,
v |= All y,
H
by A27, ZF_LANG1:81;
then A30:
M,
v |= All x,
(All y,H)
by A19, A29, ZFMODEL1:10;
now let m be
Element of
M;
:: thesis: M,v / x,m |= H / y,x
M,
v / x,
m |= All y,
H
by A30, ZF_LANG1:80;
then
(
M,
(v / x,m) / y,
m |= H &
(v / x,m) . x = m )
by ZF_LANG1:80, FUNCT_7:130;
hence
M,
v / x,
m |= H / y,
x
by A17, A20, XBOOLE_0:def 3;
:: thesis: verum end; then
M,
v |= All x,
(H / y,x)
by ZF_LANG1:80;
hence
M,
v |= (All z,H) / y,
x
by A29, ZF_LANG1:174;
:: thesis: verum end;
now assume A31:
(
z <> y &
s = z )
;
:: thesis: M,v |= (All z,H) / y,xnow let m be
Element of
M;
:: thesis: M,v / z,m |= H / y,x
M,
(v / y,(v . x)) / z,
m |= H
by A27, ZF_LANG1:80;
then
M,
(v / z,m) / y,
(v . x) |= H
by A31, FUNCT_7:35;
then
M,
(v / z,m) / y,
((v / z,m) . x) |= H
by A21, FUNCT_7:34;
hence
M,
v / z,
m |= H / y,
x
by A17, A20, XBOOLE_0:def 3;
:: thesis: verum end; then
M,
v |= All z,
(H / y,x)
by ZF_LANG1:80;
hence
M,
v |= (All z,H) / y,
x
by A31, ZF_LANG1:173;
:: thesis: verum end;
hence
M,
v |= (All z,H) / y,
x
by A22, A28;
:: thesis: verum
end;
for H being ZF-formula holds S1[H]
from ZF_LANG1:sch 1(A1, A9, A12, A16);
hence
( not x in variables_in H implies ( M,v |= H / y,x iff M,v / y,(v . x) |= H ) )
; :: thesis: verum