:: The Contraction Lemma
:: by Grzegorz Bancerek
::
:: Received April 14, 1989
:: Copyright (c) 1990-2018 Association of Mizar Users
:: (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.
environ
vocabularies XBOOLE_0, ORDINAL1, FUNCT_1, SUBSET_1, RELAT_1, TARSKI, ZF_LANG,
ZF_MODEL, BVFUNC_2, CARD_1, XBOOLEAN, FUNCT_4, ARYTM_3, ZF_COLLA;
notations TARSKI, XBOOLE_0, SUBSET_1, XCMPLX_0, RELAT_1, FUNCT_1, ZF_LANG,
ORDINAL1, NUMBERS, FUNCT_2, FUNCT_7, ZF_MODEL;
constructors NAT_1, MEMBERED, ZF_MODEL, FUNCT_7, NUMBERS;
registrations XBOOLE_0, FUNCT_1, ORDINAL1, MEMBERED, ZF_LANG, RELSET_1;
requirements NUMERALS, SUBSET, BOOLE, ARITHM;
definitions TARSKI, ORDINAL1, XBOOLE_0;
expansions TARSKI, XBOOLE_0;
theorems FUNCT_1, ZF_LANG, ZF_MODEL, ORDINAL1, ZFMISC_1, RELAT_1, XBOOLE_0,
FUNCT_7, XREGULAR;
schemes TARSKI, CLASSES1, ORDINAL1, XBOOLE_0;
begin
reserve X,Y,Z for set,
x,y,z for object,
E for non empty set,
A,B,C for Ordinal ,
L,L1 for Sequence,
f,f1,f2,h for Function,
d,d1,d2,d9 for Element of E;
definition
let E,A;
deffunc H(Sequence) = { d : for d1 st d1 in d ex C st C in dom($1) & d1 in
union { $1.C } };
func Collapse (E,A) -> set means
:Def1:
ex L st it = { d : for d1 st d1 in d
ex B st B in dom L & d1 in union { L.B } } & dom L = A & for B st B in A holds
L.B = { d1 : for d st d in d1 ex C st C in dom(L|B) & d in union { L|B.C } };
existence
proof
consider L such that
A1: dom L = A and
A2: for B,L1 st B in A & L1 = L|B holds L.B = H(L1) from ORDINAL1:sch
4;
take x = { d : for d1 st d1 in d ex B st B in dom L & d1 in union { L.B }
}, L;
thus x = { d : for d1 st d1 in d ex B st B in dom L & d1 in union { L.B }
};
thus dom L = A by A1;
let B;
assume B in A;
hence thesis by A2;
end;
uniqueness
proof
let X1,X2 be set;
given L such that
A3: X1 = { d : for d1 st d1 in d ex B st B in dom L & d1 in union { L.
B } } & dom L = A & for B st B in A holds L.B = { d1 : for d st d in d1 ex C st
C in dom(L|B) & d in union { L|B.C } };
A4: dom L = A & for B,L1 st B in A & L1 = L|B holds L.B = H(L1) by A3;
given L1 such that
A5: X2 = {d: for d1 st d1 in d ex B st B in dom L1 & d1 in union { L1.
B }} & dom L1 = A & for B st B in A holds L1.B = {d1: for d st d in d1 ex C st
C in dom(L1|B) & d in union { L1|B.C }};
A6: dom L1 = A & for B,L st B in A & L = L1|B holds L1.B = H(L) by A5;
L = L1 from ORDINAL1:sch 3(A4,A6);
hence thesis by A3,A5;
end;
end;
theorem Th1:
Collapse (E,A) = { d : for d1 st d1 in d ex B st B in A & d1 in
Collapse (E,B) }
proof
defpred P[object,object] means ex B st B = $1 & $2 = Collapse (E,B);
deffunc H(Sequence) = { d : for d1 st d1 in d ex C st C in dom($1) & d1 in
union { $1.C } };
deffunc F(Ordinal) = Collapse(E,$1);
A1: for x being object st x in A ex y being object st P[x,y]
proof
let x be object;
assume x in A;
then reconsider B = x as Ordinal;
take Collapse (E,B) , B;
thus thesis;
end;
consider f such that
A2: dom f = A & for x being object st x in A holds P[x,f.x]
from CLASSES1:sch 1(A1);
reconsider L = f as Sequence by A2,ORDINAL1:def 7;
A3: now
let A;
assume A in dom L;
then ex B st B = A & L.A = Collapse (E,B) by A2;
hence L.A = F(A);
end;
A4: for A for x being object
holds x = F(A) iff ex L st x = H(L) & dom L = A & for B st B in
A holds L.B = H(L|B) by Def1;
for B st B in dom L holds L.B = H(L|B) from ORDINAL1:sch 5(A4,A3);
then
A5: Collapse (E,A) = { d : for d1 st d1 in d ex B st B in dom L & d1 in
union { L.B } } by A2,Def1;
now
let x be object;
assume
x in { d : for d1 st d1 in d ex B st B in dom L & d1 in union { L .B } };
then consider d such that
A6: x = d and
A7: for d1 st d1 in d ex B st B in dom L & d1 in union { L.B };
for d1 st d1 in d ex B st B in A & d1 in Collapse (E,B)
proof
let d1;
assume d1 in d;
then consider B such that
A8: B in dom L and
A9: d1 in union { L.B } by A7;
take B;
thus B in A by A2,A8;
L.B = Collapse (E,B) by A3,A8;
hence thesis by A9,ZFMISC_1:25;
end;
hence x in { d1 : for d st d in d1 ex B st B in A & d in Collapse (E,B) }
by A6;
end;
hence Collapse (E,A) c= { d : for d1 st d1 in d ex B st B in A & d1 in
Collapse (E,B) } by A5;
let x be object;
assume x in { d1 : for d st d in d1 ex B st B in A & d in Collapse (E,B) };
then consider d1 such that
A10: x = d1 and
A11: for d st d in d1 ex B st B in A & d in Collapse (E,B);
for d st d in d1 ex B st B in dom L & d in union { L.B }
proof
let d;
assume d in d1;
then consider B such that
A12: B in A and
A13: d in Collapse (E,B) by A11;
take B;
thus B in dom L by A2,A12;
L.B = Collapse (E,B) by A2,A3,A12;
hence thesis by A13,ZFMISC_1:25;
end;
hence thesis by A5,A10;
end;
theorem
(not ex d1 st d1 in d) iff d in Collapse (E,{})
proof
A1: Collapse (E,{}) = { d9 : for d1 st d1 in d9 ex B st B in {} & d1 in
Collapse (E,B) } by Th1;
thus (not ex d1 st d1 in d) implies d in Collapse (E,{})
proof
assume not ex d1 st d1 in d;
then for d1 st d1 in d ex B st B in {} & d1 in Collapse (E,B);
hence thesis by A1;
end;
assume d in Collapse (E,{});
then
A2: ex d9 st d9 = d & for d1 st d1 in d9 ex B st B in {} & d1 in Collapse (E
,B) by A1;
given d1 such that
A3: d1 in d;
ex B st B in {} & d1 in Collapse (E,B) by A3,A2;
hence contradiction;
end;
theorem
d /\ E c= Collapse (E,A) iff d in Collapse (E,succ A)
proof
A1: Collapse (E,succ A) = { d9 : for d1 st d1 in d9 ex B st B in succ A & d1
in Collapse (E,B) } by Th1;
thus d /\ E c= Collapse (E,A) implies d in Collapse (E,succ A)
proof
assume
A2: for a being object st a in d /\ E holds a in Collapse (E,A);
now
let d1;
assume d1 in d;
then d1 in d /\ E by XBOOLE_0:def 4;
then d1 in Collapse (E,A) by A2;
hence ex B st B in succ A & d1 in Collapse (E,B) by ORDINAL1:6;
end;
hence thesis by A1;
end;
assume d in Collapse (E,succ A);
then
A3: ex e1 being Element of E st e1 = d & for d1 st d1 in e1 ex B st B in
succ A & d1 in Collapse (E,B) by A1;
let a be object;
assume
A4: a in d /\ E;
then reconsider e = a as Element of E by XBOOLE_0:def 4;
a in d by A4,XBOOLE_0:def 4;
then consider B such that
A5: B in succ A and
A6: e in Collapse (E,B) by A3;
A7: now
Collapse (E,B) = { d9 : for d1 st d1 in d9 ex C st C in B & d1 in
Collapse (E,C) } by Th1;
then
A8: ex d9 st d9 = e & for d1 st d1 in d9 ex C st C in B & d1 in Collapse
(E,C) by A6;
let d1;
assume d1 in e;
then consider C such that
A9: C in B & d1 in Collapse (E,C) by A8;
take C;
B c= A by A5,ORDINAL1:22;
hence C in A & d1 in Collapse (E,C) by A9;
end;
Collapse (E,A) = { d9 : for d1 st d1 in d9 ex B st B in A & d1 in
Collapse (E,B) } by Th1;
hence thesis by A7;
end;
theorem Th4:
A c= B implies Collapse (E,A) c= Collapse (E,B)
proof
assume
A1: A c= B;
let x be object;
assume x in Collapse (E,A);
then
x in { d : for d1 st d1 in d ex B st B in A & d1 in Collapse (E,B) } by Th1;
then consider d such that
A2: d = x and
A3: for d1 st d1 in d ex B st B in A & d1 in Collapse (E,B);
for d1 st d1 in d ex C st C in B & d1 in Collapse (E,C)
proof
let d1;
assume d1 in d;
then consider C such that
A4: C in A & d1 in Collapse (E,C) by A3;
take C;
thus thesis by A1,A4;
end;
then x in { d9 : for d1 st d1 in d9 ex C st C in B & d1 in Collapse (E,C) }
by A2;
hence thesis by Th1;
end;
theorem Th5:
ex A st d in Collapse (E,A)
proof
defpred P[object] means not ex A st $1 in Collapse (E,A);
defpred R[object,object] means
ex A st $2 = A & $1 in Collapse(E,A) & for B st $1
in Collapse(E,B) holds A c= B;
consider X such that
A1: for x being object holds x in X iff x in E & P[x] from XBOOLE_0:sch 1;
now
given x such that
A2: x in X;
consider m being set such that
A3: m in X and
A4: X misses m by A2,XREGULAR:1;
reconsider m as Element of E by A1,A3;
A5: now
let x be object;
defpred Q[Ordinal] means x in Collapse(E,$1);
assume
A6: x in m /\ E;
then x in m by XBOOLE_0:def 4;
then
A7: not x in X by A4,XBOOLE_0:3;
x in E by A6,XBOOLE_0:def 4;
then
A8: ex A st Q[A] by A1,A7;
ex A st Q[A] & for B st Q[B] holds A c= B from ORDINAL1:sch 1(A8 );
hence ex y being object st R[x,y];
end;
consider f such that
A9: dom f = m /\ E & for x being object st x in m /\ E holds R[x,f.x] from
CLASSES1:sch 1(A5);
y in rng f implies y is Ordinal
proof
assume y in rng f;
then consider x being object such that
A10: x in dom f and
A11: y = f.x by FUNCT_1:def 3;
ex A st f.x = A & x in Collapse (E,A) & for B st x in Collapse (E,B
) holds A c= B by A9,A10;
hence thesis by A11;
end;
then consider A such that
A12: rng f c= A by ORDINAL1:24;
for d st d in m ex B st B in A & d in Collapse (E,B)
proof
let d;
assume d in m;
then
A13: d in m /\ E by XBOOLE_0:def 4;
then consider B such that
A14: f.d = B and
A15: d in Collapse (E,B) and
for C st d in Collapse (E,C) holds B c= C by A9;
take B;
B in rng f by A9,A13,A14,FUNCT_1:def 3;
hence thesis by A12,A15;
end;
then m in { d9 : for d st d in d9 ex B st B in A & d in Collapse (E,B) };
then m in Collapse (E,A) by Th1;
hence contradiction by A1,A3;
end;
hence thesis by A1;
end;
theorem Th6:
d9 in d & d in Collapse (E,A) implies d9 in Collapse (E,A) & ex B
st B in A & d9 in Collapse (E,B)
proof
assume that
A1: d9 in d and
A2: d in Collapse (E,A);
d in { d1 : for d st d in d1 ex B st B in A & d in Collapse (E,B) } by A2,Th1
;
then
ex d1 st d = d1 & for d st d in d1 ex B st B in A & d in Collapse (E,B);
then consider B such that
A3: B in A and
A4: d9 in Collapse (E,B) by A1;
Collapse (E,B) c= Collapse (E,A) by Th4,A3,ORDINAL1:def 2;
hence d9 in Collapse (E,A) by A4;
thus thesis by A3,A4;
end;
theorem Th7:
Collapse (E,A) c= E
proof
let x be object;
assume x in Collapse (E,A);
then
x in { d : for d1 st d1 in d ex B st B in A & d1 in Collapse (E,B) } by Th1;
then
ex d st x = d & for d1 st d1 in d ex B st B in A & d1 in Collapse (E,B);
hence thesis;
end;
theorem Th8:
ex A st E = Collapse (E,A)
proof
defpred R[object,object] means
ex A st $2 = A & $1 in Collapse(E,A) & for B st $1
in Collapse(E,B) holds A c= B;
A1: now
let x be object;
assume x in E;
then reconsider d = x as Element of E;
defpred Q[Ordinal] means d in Collapse(E,$1);
A2: ex A st Q[A] by Th5;
ex A st Q[A] & for B st Q[B] holds A c= B from ORDINAL1:sch 1 (A2);
hence ex y being object st R[x,y];
end;
consider f such that
A3: dom f = E &
for x being object st x in E holds R[x,f.x] from CLASSES1:sch 1(A1);
x in rng f implies x is Ordinal
proof
assume x in rng f;
then consider y being object such that
A4: y in dom f and
A5: x = f.y by FUNCT_1:def 3;
ex A st f.y = A & y in Collapse (E,A) & for C st y in Collapse (E,C)
holds A c= C by A3,A4;
hence thesis by A5;
end;
then consider A such that
A6: rng f c= A by ORDINAL1:24;
take A;
thus for x being object holds x in E implies x in Collapse (E,A)
proof let x be object;
assume
A7: x in E;
then consider B such that
A8: f.x = B and
A9: x in Collapse (E,B) and
for C st x in Collapse (E,C) holds B c= C by A3;
B in rng f by A3,A7,A8,FUNCT_1:def 3;
then Collapse (E,B) c= Collapse (E,A) by Th4,A6,ORDINAL1:def 2;
hence thesis by A9;
end;
thus thesis by Th7;
end;
theorem Th9:
ex f st dom f = E & for d holds f.d = f.:d
proof
defpred Q[Ordinal,Function,non empty set] means dom $2 = Collapse ($3,$1) &
for d st d in Collapse ($3,$1) holds $2.d = $2.:d;
defpred TI[Ordinal] means for f1,f2 st Q[$1,f1,E] & Q[$1,f2,E] holds f1 = f2;
defpred MAIN[Ordinal] means ex f st Q[$1,f,E];
A1: A c= B & Q[B,f,E] implies Q[A,f|Collapse (E,A),E]
proof
assume that
A2: A c= B and
A3: dom f = Collapse (E,B) and
A4: for d st d in Collapse (E,B) holds f.d = f.:d;
A5: Collapse (E,A) c= Collapse (E,B) by A2,Th4;
thus dom(f|Collapse (E,A)) = Collapse (E,A) by A2,A3,Th4,RELAT_1:62;
let d such that
A6: d in Collapse (E,A);
for x being object holds x in f.:d implies x in f|Collapse (E,A).:d
proof let x be object;
A7: dom(f|Collapse (E,A)) = Collapse (E,A) by A2,A3,Th4,RELAT_1:62;
assume x in f.:d;
then consider z being object such that
A8: z in dom f and
A9: z in d and
A10: x = f.z by FUNCT_1:def 6;
dom f c= E by A3,Th7;
then reconsider d1 = z as Element of E by A8;
A11: d1 in Collapse (E,A) by A6,A9,Th6;
then f|Collapse (E,A).z = f.z by FUNCT_1:49;
hence thesis by A9,A10,A11,A7,FUNCT_1:def 6;
end;
then
A12: f.:d c= f|Collapse (E,A).:d;
f|Collapse (E,A).:d c= f.:d by RELAT_1:128;
then
A13: f.:d = f|Collapse (E,A).:d by A12;
thus f|Collapse (E,A).d = f.d by A6,FUNCT_1:49
.= f|Collapse (E,A).:d by A4,A5,A6,A13;
end;
A14: now
let A such that
A15: for B st B in A holds TI[B];
thus TI[A]
proof
let f1,f2 such that
A16: Q[A,f1,E] and
A17: Q[A,f2,E];
now
let x be object such that
A18: x in Collapse (E,A);
Collapse (E,A) c= E by Th7;
then reconsider d = x as Element of E by A18;
A19: f1.:d = f2.:d
proof
thus for y being object holds y in f1.:d implies y in f2.:d
proof let y be object;
assume y in f1.:d;
then consider z being object such that
A20: z in dom f1 and
A21: z in d and
A22: y = f1.z by FUNCT_1:def 6;
dom f1 c= E by A16,Th7;
then reconsider d1 = z as Element of E by A20;
consider B such that
A23: B in A and
A24: d1 in Collapse (E,B) by A18,A21,Th6;
B c= A by A23,ORDINAL1:def 2;
then ( Q[B,f1|Collapse (E,B),E])& Q[B,f2|Collapse (E,B),E] by A1
,A16,A17;
then
A25: f1|Collapse (E,B) = f2|Collapse (E,B) by A15,A23;
f1.d1 = f1|Collapse (E,B).d1 by A24,FUNCT_1:49
.= f2.d1 by A24,A25,FUNCT_1:49;
hence thesis by A16,A17,A20,A21,A22,FUNCT_1:def 6;
end;
let y be object;
assume y in f2.:d;
then consider z being object such that
A26: z in dom f2 and
A27: z in d and
A28: y = f2.z by FUNCT_1:def 6;
dom f2 c= E by A17,Th7;
then reconsider d1 = z as Element of E by A26;
consider B such that
A29: B in A and
A30: d1 in Collapse (E,B) by A18,A27,Th6;
B c= A by A29,ORDINAL1:def 2;
then
( Q[B,f1|Collapse (E,B),E])& Q[B,f2|Collapse (E,B),E] by A1,A16,A17;
then
A31: f1|Collapse (E,B) = f2|Collapse (E,B) by A15,A29;
f1.d1 = f1|Collapse (E,B).d1 by A30,FUNCT_1:49
.= f2.d1 by A30,A31,FUNCT_1:49;
hence thesis by A16,A17,A26,A27,A28,FUNCT_1:def 6;
end;
f1.d = f1.:d by A16,A18;
hence f1.x = f2.x by A17,A18,A19;
end;
hence thesis by A16,A17,FUNCT_1:2;
end;
end;
A32: for A holds TI[A] from ORDINAL1:sch 2(A14);
A33: for A st for B st B in A holds MAIN[B] holds MAIN[A]
proof
let A;
assume for B st B in A ex f st Q[B,f,E];
defpred P[object,object] means
ex d,e being set st d = $1 & e = $2 & for x holds x in e
iff ex d1,B,f st d1 in d & B in A & d1 in Collapse (E,B) & Q[B,f,E] & x = f.d1;
A34: for x being object st x in Collapse (E,A) ex y being object st P[x,y]
proof
A35: Collapse (E,A) c= E by Th7;
let x be object;
assume x in Collapse (E,A);
then reconsider d = x as Element of E by A35;
defpred R[object,object] means
ex B,f st B in A & $1 in Collapse (E,B) & Q[B,f,E] & $2 = f.$1;
A36: for x,y,z being object st R[x,y] & R[x,z] holds y = z
proof
let x,y,z be object;
given B1 being Ordinal, f1 such that
B1 in A and
A37: x in Collapse (E,B1) and
A38: Q[B1,f1,E] and
A39: y = f1.x;
given B2 being Ordinal, f2 such that
B2 in A and
A40: x in Collapse (E,B2) and
A41: Q[B2,f2,E] and
A42: z = f2.x;
A43: now
assume B2 c= B1;
then Q[B2,f1|Collapse (E,B2),E] by A1,A38;
then f1|Collapse (E,B2) = f2 by A32,A41;
hence thesis by A39,A40,A42,FUNCT_1:49;
end;
now
assume B1 c= B2;
then Q[B1,f2|Collapse (E,B1),E] by A1,A41;
then f2|Collapse (E,B1) = f1 by A32,A38;
hence thesis by A37,A39,A42,FUNCT_1:49;
end;
hence thesis by A43;
end;
consider X such that
A44: for y being object holds y in X iff
ex x being object st x in d & R[x,y] from TARSKI:sch 1(A36);
take y = X,d,X;
thus d = x;
thus y = X;
let x;
thus x in X implies ex d1,B,f st d1 in d & B in A & d1 in Collapse (E,B)
& Q[B,f,E] & x = f.d1
proof
assume x in X;
then consider y being object such that
A45: y in d and
A46: ex B,f st B in A & y in Collapse (E,B) & Q[B,f,E] & x = f.y by A44;
consider B,f such that
A47: B in A and
A48: y in Collapse (E,B) and
A49: ( Q[B,f,E])& x = f.y by A46;
Collapse (E,B) c= E by Th7;
then reconsider d1 = y as Element of E by A48;
take d1,B,f;
thus thesis by A45,A47,A48,A49;
end;
given d1,B,f such that
A50: d1 in d & B in A & d1 in Collapse (E,B) & Q[B,f,E] & x = f.d1;
thus thesis by A44,A50;
end;
consider f such that
A51: dom f = Collapse (E,A) &
for x being object st x in Collapse (E,A) holds P[x,f.x]
from CLASSES1:sch 1(A34);
defpred TI[Ordinal] means $1 c= A implies Q[$1,f|Collapse(E,$1),E];
A52: for B st for C st C in B holds TI[C] holds TI[B]
proof
let B such that
A53: for C st C in B holds TI[C];
assume
A54: B c= A;
then
A55: Collapse (E,B) c= Collapse (E,A) by Th4;
thus
A56: dom(f|Collapse (E,B)) = Collapse (E,B) by A51,A54,Th4,RELAT_1:62;
let d;
assume
A57: d in Collapse (E,B);
then f|Collapse (E,B).d = f.d by FUNCT_1:49;
then consider d9,e being set such that
A58: d9 = d and
A59: e = f|Collapse (E,B).d and
A60: for x holds x in e iff ex d1,B,f st d1 in d9 & B in A &
d1 in Collapse (E,B) & Q[B,f,E] & x = f.d1 by A51,A55,A57;
set X = f|Collapse (E,B).d;
A61: X c= f|Collapse (E,B).:d
proof
let x be object;
assume x in X;
then consider d1,C,h such that
A62: d1 in d9 and
C in A and
A63: d1 in Collapse (E,C) and
A64: Q[C,h,E] and
A65: x = h.d1 by A60,A59;
consider C9 being Ordinal such that
A66: C9 in B and
A67: d1 in Collapse (E,C9) by A57,A58,A62,Th6;
A68: for C,h st C c= C9 & Q[C,h,E] & d1 in Collapse (E,C) & x = h.d1
holds thesis
proof
let C,h;
assume that
A69: C c= C9 and
A70: Q[C,h,E] and
A71: d1 in Collapse (E,C) and
A72: x = h.d1;
A73: C in B by A66,A69,ORDINAL1:12;
then C c= A by A54,ORDINAL1:def 2;
then Q[C,f|Collapse (E,C),E] by A53,A73;
then
A74: f|Collapse (E,C) = h by A32,A70;
A75: Collapse (E,C) c= Collapse (E,B) by Th4,A73,ORDINAL1:def 2;
then f|Collapse (E,C) = f|Collapse (E,B)|Collapse (E,C) by FUNCT_1:51
;
then h.d1 = f|Collapse (E,B).d1 by A71,A74,FUNCT_1:49;
hence thesis by A56,A58,A62,A71,A72,A75,FUNCT_1:def 6;
end;
C9 c= C implies thesis
proof
assume C9 c= C;
then
A76: Q[C9,h|Collapse (E,C9),E] by A1,A64;
h.d1 = h|Collapse (E,C9).d1 by A67,FUNCT_1:49;
hence thesis by A65,A67,A68,A76;
end;
hence thesis by A63,A64,A65,A68;
end;
f|Collapse (E,B).:d c= X
proof
let x be object;
assume x in f|Collapse (E,B).:d;
then consider y being object such that
A77: y in dom(f|Collapse (E,B)) and
A78: y in d and
A79: x = f|Collapse (E,B).y by FUNCT_1:def 6;
Collapse (E,B) c= E by Th7;
then reconsider d1 = y as Element of E by A56,A77;
consider C such that
A80: C in B and
A81: d1 in Collapse (E,C) by A57,A78,Th6;
Collapse (E,C) c= Collapse (E,B) by Th4,A80,ORDINAL1:def 2;
then f|Collapse (E,B)|Collapse (E,C) = f|Collapse (E,C) by FUNCT_1:51;
then
A82: f|Collapse (E,C).y = f|Collapse (E,B).y by A81,FUNCT_1:49;
C c= A by A54,A80,ORDINAL1:def 2;
then Q[C,f|Collapse (E,C),E] by A53,A80;
hence thesis by A54,A58,A60,A78,A79,A80,A81,A82,A59;
end;
hence thesis by A61;
end;
A83: for B holds TI[B] from ORDINAL1:sch 2(A52);
take f;
f|dom f = f by RELAT_1:68;
hence thesis by A51,A83;
end;
A84: MAIN[A] from ORDINAL1:sch 2 (A33);
consider A such that
A85: E = Collapse (E,A) by Th8;
consider f such that
A86: Q[A,f,E] by A84;
take f;
thus dom f = E by A85,A86;
let d;
thus thesis by A85,A86;
end;
:: Definition of epsilon-isomorphism of two sets
definition
let f,X,Y;
pred f is_epsilon-isomorphism_of X,Y means
dom f = X & rng f = Y & f is
one-to-one & for x,y st x in X & y in X holds (ex Z st Z = y & x in Z) iff ex Z
st f.y = Z & f.x in Z;
end;
definition
let X,Y;
pred X,Y are_epsilon-isomorphic means
ex f st f is_epsilon-isomorphism_of X, Y;
end;
theorem Th10:
(dom f = E & for d holds f.d = f.:d) implies rng f is epsilon-transitive
proof
assume that
A1: dom f = E and
A2: for d holds f.d = f.:d;
let Y;
assume Y in rng f;
then consider b being object such that
A3: b in dom f and
A4: Y = f.b by FUNCT_1:def 3;
reconsider d = b as Element of E by A1,A3;
A5: f.d = f.:d by A2;
let a be object;
assume a in Y;
then ex c being object st c in dom f & c in d & a = f.c
by A4,A5,FUNCT_1:def 6;
hence thesis by FUNCT_1:def 3;
end;
reserve f,g,h for (Function of VAR,E),
u,v,w for (Element of E),
x for Variable,
a,b,c for object;
theorem Th11:
E |= the_axiom_of_extensionality implies for u,v st for w holds
w in u iff w in v holds u = v
proof
assume
A1: E |= the_axiom_of_extensionality;
All(x.0,All(x.1,All(x.2,x.2 'in' x.0 <=> x.2 'in' x.1) => x.0 '=' x.1))
= All(x.0,x.1,All(x.2,x.2 'in' x.0 <=> x.2 'in' x.1) => x.0 '=' x.1) by
ZF_LANG:7;
then
A2: E |= All(x.1,All(x.2,x.2 'in' x.0 <=> x.2 'in' x.1) => x.0 '=' x.1) by A1,
ZF_MODEL:23,def 6;
A3: for f st for g st for x st g.x <> f.x holds x.2 = x holds g.x.2 in g.x.0
iff g.x.2 in g.x.1 holds f.x.0 = f.x.1
proof
let f such that
A4: for g st for x st g.x <> f.x holds x.2 = x holds g.x.2 in g.x.0
iff g.x.2 in g.x.1;
A5: now
let g such that
A6: for x st g.x <> f.x holds x.2 = x;
A7: g.x.2 in g.x.1 iff E,g |= x.2 'in' x.1 by ZF_MODEL:13;
g.x.2 in g.x.0 iff E,g |= x.2 'in' x.0 by ZF_MODEL:13;
hence E,g |= x.2 'in' x.0 <=> x.2 'in' x.1 by A4,A6,A7,ZF_MODEL:19;
end;
E,f |= All(x.2,x.2 'in' x.0 <=> x.2 'in' x.1) => x.0 '=' x.1
by A2,ZF_MODEL:23,def 5;
then E,f |= All(x.2,x.2 'in' x.0 <=> x.2 'in' x.1) implies E,f |= x.0 '='
x.1 by ZF_MODEL:18;
hence thesis by A5,ZF_MODEL:12,16;
end;
for X,Y being Element of E st for Z being Element of E holds Z in X iff
Z in Y holds X = Y
proof
set g = the (Function of VAR,E);
let X,Y be Element of E such that
A8: for Z being Element of E holds Z in X iff Z in Y;
set g0 = g+*(x.0,X);
A9: g0.x.0 = X by FUNCT_7:128;
A10: x.0 = 5+0 & x.1 = 5+1 by ZF_LANG:def 2;
set f = g0+*(x.1,Y);
A11: x.2 = 5+2 by ZF_LANG:def 2;
A12: for h st for x st h.x <> f.x holds x.2 = x holds h.x.2 in h.x.0 iff h
.x.2 in h.x.1
proof
let h;
assume for x st h.x <> f.x holds x.2 = x;
then
A13: h.x.0 = f.x.0 & h.x.1 = f.x.1 by A10,A11;
h.x.2 in X iff h.x.2 in Y by A8;
hence thesis by A9,A13,FUNCT_7:32,128;
end;
f.x.1 = Y & f.x.0 = g0.x.0 by A10,FUNCT_7:32,128;
hence thesis by A3,A9,A12;
end;
hence thesis;
end;
::$N Contraction Lemma
theorem
E |= the_axiom_of_extensionality implies ex X st X is
epsilon-transitive & E,X are_epsilon-isomorphic
proof
consider f being Function such that
A1: dom f = E and
A2: for d holds f.d = f.:d by Th9;
assume
A3: E |= the_axiom_of_extensionality;
A4: now
defpred P[Ordinal] means ex d1,d2 st d1 in Collapse(E,$1) & d2 in Collapse
(E,$1) & f.d1 = f.d2 & d1 <> d2;
given a,b being object such that
A5: a in dom f & b in dom f and
A6: f.a = f.b & a <> b;
reconsider d1 = a, d2 = b as Element of E by A1,A5;
consider A1 being Ordinal such that
A7: d1 in Collapse (E,A1) by Th5;
consider A2 being Ordinal such that
A8: d2 in Collapse (E,A2) by Th5;
A1 c= A2 or A2 c= A1;
then
Collapse (E,A1) c= Collapse (E,A2) or Collapse (E,A2) c= Collapse (E,
A1) by Th4;
then
A9: ex A st P[A] by A6,A7,A8;
consider A such that
A10: P[A] & for B st P[B] holds A c= B from ORDINAL1:sch 1 (A9);
consider d1,d2 such that
A11: d1 in Collapse (E,A) and
A12: d2 in Collapse (E,A) and
A13: f.d1 = f.d2 and
A14: d1 <> d2 by A10;
consider w such that
A15: not(w in d1 iff w in d2) by A3,A14,Th11;
A16: f.d1 = f.:d1 & f.d2 = f.:d2 by A2;
A17: now
assume that
A18: w in d2 and
A19: not w in d1;
consider A1 being Ordinal such that
A20: A1 in A & w in Collapse(E,A1) by A12,A18,Th6;
f.w in f.:d2 by A1,A18,FUNCT_1:def 6;
then consider a being object such that
A21: a in dom f and
A22: a in d1 and
A23: f.w = f.a by A13,A16,FUNCT_1:def 6;
reconsider v = a as Element of E by A1,A21;
consider A2 being Ordinal such that
A24: A2 in A & v in Collapse(E,A2) by A11,A22,Th6;
A1 c= A2 or A2 c= A1;
then
Collapse (E,A1) c= Collapse (E,A2) or Collapse (E,A2) c= Collapse (
E,A1) by Th4;
hence contradiction by A10,A19,A22,A23,A20,A24,ORDINAL1:5;
end;
now
assume that
A25: w in d1 and
A26: not w in d2;
consider A1 being Ordinal such that
A27: A1 in A & w in Collapse(E,A1) by A11,A25,Th6;
f.w in f.:d1 by A1,A25,FUNCT_1:def 6;
then consider a being object such that
A28: a in dom f and
A29: a in d2 and
A30: f.w = f.a by A13,A16,FUNCT_1:def 6;
reconsider v = a as Element of E by A1,A28;
consider A2 being Ordinal such that
A31: A2 in A & v in Collapse(E,A2) by A12,A29,Th6;
A1 c= A2 or A2 c= A1;
then
Collapse (E,A1) c= Collapse (E,A2) or Collapse (E,A2) c= Collapse (
E,A1) by Th4;
hence contradiction by A10,A26,A29,A30,A27,A31,ORDINAL1:5;
end;
hence contradiction by A15,A17;
end;
take X = rng f;
thus X is epsilon-transitive by A1,A2,Th10;
take f;
thus dom f = E & rng f = X by A1;
thus f is one-to-one by A4,FUNCT_1:def 4;
let a,b;
assume that
A32: a in E and
A33: b in E;
reconsider d2 = b as Element of E by A33;
thus (ex Z st Z = b & a in Z) implies ex Z st Z = f.b & f.a in Z
proof
given Z such that
A34: Z = b & a in Z;
A35: f.d2 = f.: d2 by A2;
f.a in f.:d2 by A1,A32,A34,FUNCT_1:def 6;
hence thesis by A35;
end;
given Z such that
A36: Z = f.b & f.a in Z;
f.d2 = f.:d2 by A2;
then consider c being object such that
A37: c in dom f and
A38: c in d2 and
A39: f.a = f.c by A36,FUNCT_1:def 6;
a = c by A1,A4,A32,A37,A39;
hence thesis by A38;
end;