defpred S1[ Element of REAL d, Element of REAL d] means ( ex X being Subset of (Seg d) st
( card X = k & ( for i being Element of Seg d holds
( ( i in X & $1 . i < $2 . i & [($1 . i),($2 . i)] is Gap of G . i ) or ( not i in X & $1 . i = $2 . i & $1 . i in G . i ) ) ) ) or ( k = d & ( for i being Element of Seg d holds
( $2 . i < $1 . i & [($1 . i),($2 . i)] is Gap of G . i ) ) ) );
deffunc H2( Element of REAL d, Element of REAL d) -> non empty Subset of (REAL d) = cell $1,$2;
set CELLS = { H2(l,r) where l, r is Element of REAL d : S1[l,r] } ;
reconsider X = Seg k as Subset of (Seg d) by A1, FINSEQ_1:7;
defpred S2[ Element of Seg d, Element of [:REAL ,REAL :]] means ( ( $1 in X & ex li, ri being Real st
( $2 = [li,ri] & li < ri & $2 is Gap of G . $1 ) ) or ( not $1 in X & ex li being Real st
( $2 = [li,li] & li in G . $1 ) ) );
A2: now
let i be Element of Seg d; :: thesis: ex lri being Element of [:REAL ,REAL :] st S2[i,lri]
thus ex lri being Element of [:REAL ,REAL :] st S2[i,lri] :: thesis: verum
proof
per cases ( i in X or not i in X ) ;
suppose A3: i in X ; :: thesis: ex lri being Element of [:REAL ,REAL :] st S2[i,lri]
consider li, ri being Real such that
A4: ( li in G . i & ri in G . i & li < ri & ( for xi being Real st xi in G . i & li < xi holds
not xi < ri ) ) by Th14;
take [li,ri] ; :: thesis: S2[i,[li,ri]]
[li,ri] is Gap of G . i by A4, Def6;
hence S2[i,[li,ri]] by A3, A4; :: thesis: verum
end;
suppose A5: not i in X ; :: thesis: ex lri being Element of [:REAL ,REAL :] st S2[i,lri]
consider li being Element of G . i;
reconsider li = li as Real ;
reconsider lri = [li,li] as Element of [:REAL ,REAL :] ;
take lri ; :: thesis: S2[i,lri]
thus S2[i,lri] by A5; :: thesis: verum
end;
end;
end;
end;
consider lr being Function of (Seg d),[:REAL ,REAL :] such that
A6: for i being Element of Seg d holds S2[i,lr . i] from FUNCT_2:sch 3(A2);
deffunc H3( Element of Seg d) -> Element of REAL = (lr . $1) `1 ;
consider l being Function of (Seg d),REAL such that
A7: for i being Element of Seg d holds l . i = H3(i) from FUNCT_2:sch 4();
deffunc H4( Element of Seg d) -> Element of REAL = (lr . $1) `2 ;
consider r being Function of (Seg d),REAL such that
A8: for i being Element of Seg d holds r . i = H4(i) from FUNCT_2:sch 4();
reconsider l = l, r = r as Element of REAL d by Def4;
A9: now
let i be Element of Seg d; :: thesis: lr . i = [(l . i),(r . i)]
( l . i = (lr . i) `1 & r . i = (lr . i) `2 ) by A7, A8;
hence lr . i = [(l . i),(r . i)] by MCART_1:23; :: thesis: verum
end;
now
take A = cell l,r; :: thesis: ( A = cell l,r & ex l, r being Element of REAL d st
( A = cell l,r & ( ex X being Subset of (Seg d) st
( card X = k & ( for i being Element of Seg d holds
( ( i in X & l . i < r . i & [(l . i),(r . i)] is Gap of G . i ) or ( not i in X & l . i = r . i & l . i in G . i ) ) ) ) or ( k = d & ( for i being Element of Seg d holds
( r . i < l . i & [(l . i),(r . i)] is Gap of G . i ) ) ) ) ) )

thus A = cell l,r ; :: thesis: ex l, r being Element of REAL d st
( A = cell l,r & ( ex X being Subset of (Seg d) st
( card X = k & ( for i being Element of Seg d holds
( ( i in X & l . i < r . i & [(l . i),(r . i)] is Gap of G . i ) or ( not i in X & l . i = r . i & l . i in G . i ) ) ) ) or ( k = d & ( for i being Element of Seg d holds
( r . i < l . i & [(l . i),(r . i)] is Gap of G . i ) ) ) ) )

now
take X = X; :: thesis: ( card X = k & ex l, r being Element of REAL d st
( A = cell l,r & ( for i being Element of Seg d holds
( ( b7 in b4 & b5 . b7 < b6 . b7 & [(b5 . b7),(b6 . b7)] is Gap of G . b7 ) or ( not b7 in b4 & b5 . b7 = b6 . b7 & b5 . b7 in G . b7 ) ) ) ) )

thus card X = k by FINSEQ_1:78; :: thesis: ex l, r being Element of REAL d st
( A = cell l,r & ( for i being Element of Seg d holds
( ( b7 in b4 & b5 . b7 < b6 . b7 & [(b5 . b7),(b6 . b7)] is Gap of G . b7 ) or ( not b7 in b4 & b5 . b7 = b6 . b7 & b5 . b7 in G . b7 ) ) ) )

take l = l; :: thesis: ex r being Element of REAL d st
( A = cell l,r & ( for i being Element of Seg d holds
( ( b6 in b3 & b4 . b6 < b5 . b6 & [(b4 . b6),(b5 . b6)] is Gap of G . b6 ) or ( not b6 in b3 & b4 . b6 = b5 . b6 & b4 . b6 in G . b6 ) ) ) )

take r = r; :: thesis: ( A = cell l,r & ( for i being Element of Seg d holds
( ( b5 in b2 & b3 . b5 < b4 . b5 & [(b3 . b5),(b4 . b5)] is Gap of G . b5 ) or ( not b5 in b2 & b3 . b5 = b4 . b5 & b3 . b5 in G . b5 ) ) ) )

thus A = cell l,r ; :: thesis: for i being Element of Seg d holds
( ( b5 in b2 & b3 . b5 < b4 . b5 & [(b3 . b5),(b4 . b5)] is Gap of G . b5 ) or ( not b5 in b2 & b3 . b5 = b4 . b5 & b3 . b5 in G . b5 ) )

let i be Element of Seg d; :: thesis: ( ( b4 in b1 & b2 . b4 < b3 . b4 & [(b2 . b4),(b3 . b4)] is Gap of G . b4 ) or ( not b4 in b1 & b2 . b4 = b3 . b4 & b2 . b4 in G . b4 ) )
per cases ( i in X or not i in X ) ;
suppose A10: i in X ; :: thesis: ( ( b4 in b1 & b2 . b4 < b3 . b4 & [(b2 . b4),(b3 . b4)] is Gap of G . b4 ) or ( not b4 in b1 & b2 . b4 = b3 . b4 & b2 . b4 in G . b4 ) )
then consider li, ri being Real such that
A11: ( lr . i = [li,ri] & li < ri & lr . i is Gap of G . i ) by A6;
lr . i = [(l . i),(r . i)] by A9;
then ( li = l . i & ri = r . i ) by A11, ZFMISC_1:33;
hence ( ( i in X & l . i < r . i & [(l . i),(r . i)] is Gap of G . i ) or ( not i in X & l . i = r . i & l . i in G . i ) ) by A10, A11; :: thesis: verum
end;
suppose A12: not i in X ; :: thesis: ( ( b4 in b1 & b2 . b4 < b3 . b4 & [(b2 . b4),(b3 . b4)] is Gap of G . b4 ) or ( not b4 in b1 & b2 . b4 = b3 . b4 & b2 . b4 in G . b4 ) )
then consider li being Real such that
A13: ( lr . i = [li,li] & li in G . i ) by A6;
[li,li] = [(l . i),(r . i)] by A9, A13;
then ( li = l . i & li = r . i ) by ZFMISC_1:33;
hence ( ( i in X & l . i < r . i & [(l . i),(r . i)] is Gap of G . i ) or ( not i in X & l . i = r . i & l . i in G . i ) ) by A12, A13; :: thesis: verum
end;
end;
end;
hence ex l, r being Element of REAL d st
( A = cell l,r & ( ex X being Subset of (Seg d) st
( card X = k & ( for i being Element of Seg d holds
( ( i in X & l . i < r . i & [(l . i),(r . i)] is Gap of G . i ) or ( not i in X & l . i = r . i & l . i in G . i ) ) ) ) or ( k = d & ( for i being Element of Seg d holds
( r . i < l . i & [(l . i),(r . i)] is Gap of G . i ) ) ) ) ) ; :: thesis: verum
end;
then A14: cell l,r in { H2(l,r) where l, r is Element of REAL d : S1[l,r] } ;
defpred S3[ set , Element of REAL d, Element of REAL d, set ] means ( $2 in product G & $3 in product G & ( ( $4 = [0 ,[$2,$3]] & $1 = cell $2,$3 ) or ( $4 = [1,[$2,$3]] & $1 = cell $2,$3 ) ) );
defpred S4[ set , set ] means ex l, r being Element of REAL d st S3[$1,l,r,$2];
A15: for A being set st A in { H2(l,r) where l, r is Element of REAL d : S1[l,r] } holds
ex lr being set st S4[A,lr]
proof
let A be set ; :: thesis: ( A in { H2(l,r) where l, r is Element of REAL d : S1[l,r] } implies ex lr being set st S4[A,lr] )
assume A in { H2(l,r) where l, r is Element of REAL d : S1[l,r] } ; :: thesis: ex lr being set st S4[A,lr]
then consider l, r being Element of REAL d such that
A16: ( A = cell l,r & ( ex X being Subset of (Seg d) st
( card X = k & ( for i being Element of Seg d holds
( ( i in X & l . i < r . i & [(l . i),(r . i)] is Gap of G . i ) or ( not i in X & l . i = r . i & l . i in G . i ) ) ) ) or ( k = d & ( for i being Element of Seg d holds
( r . i < l . i & [(l . i),(r . i)] is Gap of G . i ) ) ) ) ) ;
per cases ( ex X being Subset of (Seg d) st
( card X = k & ( for i being Element of Seg d holds
( ( i in X & l . i < r . i & [(l . i),(r . i)] is Gap of G . i ) or ( not i in X & l . i = r . i & l . i in G . i ) ) ) ) or ( k = d & ( for i being Element of Seg d holds
( r . i < l . i & [(l . i),(r . i)] is Gap of G . i ) ) ) )
by A16;
suppose ex X being Subset of (Seg d) st
( card X = k & ( for i being Element of Seg d holds
( ( i in X & l . i < r . i & [(l . i),(r . i)] is Gap of G . i ) or ( not i in X & l . i = r . i & l . i in G . i ) ) ) ) ; :: thesis: ex lr being set st S4[A,lr]
then consider X being Subset of (Seg d) such that
A17: for i being Element of Seg d holds
( ( i in X & l . i < r . i & [(l . i),(r . i)] is Gap of G . i ) or ( not i in X & l . i = r . i & l . i in G . i ) ) ;
take [0 ,[l,r]] ; :: thesis: S4[A,[0 ,[l,r]]]
take l ; :: thesis: ex r being Element of REAL d st S3[A,l,r,[0 ,[l,r]]]
take r ; :: thesis: S3[A,l,r,[0 ,[l,r]]]
now
let i be Element of Seg d; :: thesis: ( l . i in G . i & r . i in G . i )
( ( l . i < r . i & [(l . i),(r . i)] is Gap of G . i ) or ( l . i = r . i & l . i in G . i ) ) by A17;
hence ( l . i in G . i & r . i in G . i ) by Th17; :: thesis: verum
end;
hence ( l in product G & r in product G ) by Th10; :: thesis: ( ( [0 ,[l,r]] = [0 ,[l,r]] & A = cell l,r ) or ( [0 ,[l,r]] = [1,[l,r]] & A = cell l,r ) )
thus ( ( [0 ,[l,r]] = [0 ,[l,r]] & A = cell l,r ) or ( [0 ,[l,r]] = [1,[l,r]] & A = cell l,r ) ) by A16; :: thesis: verum
end;
suppose A18: ( k = d & ( for i being Element of Seg d holds
( r . i < l . i & [(l . i),(r . i)] is Gap of G . i ) ) ) ; :: thesis: ex lr being set st S4[A,lr]
take [1,[l,r]] ; :: thesis: S4[A,[1,[l,r]]]
take l ; :: thesis: ex r being Element of REAL d st S3[A,l,r,[1,[l,r]]]
take r ; :: thesis: S3[A,l,r,[1,[l,r]]]
now
let i be Element of Seg d; :: thesis: ( l . i in G . i & r . i in G . i )
( r . i < l . i & [(l . i),(r . i)] is Gap of G . i ) by A18;
hence ( l . i in G . i & r . i in G . i ) by Th17; :: thesis: verum
end;
hence ( l in product G & r in product G ) by Th10; :: thesis: ( ( [1,[l,r]] = [0 ,[l,r]] & A = cell l,r ) or ( [1,[l,r]] = [1,[l,r]] & A = cell l,r ) )
thus ( ( [1,[l,r]] = [0 ,[l,r]] & A = cell l,r ) or ( [1,[l,r]] = [1,[l,r]] & A = cell l,r ) ) by A16; :: thesis: verum
end;
end;
end;
consider f being Function such that
A19: ( dom f = { H2(l,r) where l, r is Element of REAL d : S1[l,r] } & ( for A being set st A in { H2(l,r) where l, r is Element of REAL d : S1[l,r] } holds
S4[A,f . A] ) ) from CLASSES1:sch 1(A15);
A20: f is one-to-one
proof
let A, A' be set ; :: according to FUNCT_1:def 8 :: thesis: ( not A in dom f or not A' in dom f or not f . A = f . A' or A = A' )
assume A21: ( A in dom f & A' in dom f & f . A = f . A' ) ; :: thesis: A = A'
then consider l, r being Element of REAL d such that
A22: S3[A,l,r,f . A] by A19;
consider l', r' being Element of REAL d such that
A23: S3[A',l',r',f . A'] by A19, A21;
per cases ( ( f . A = [0 ,[l,r]] & A = cell l,r ) or ( f . A = [1,[l,r]] & A = cell l,r ) ) by A22;
suppose A24: ( f . A = [0 ,[l,r]] & A = cell l,r ) ; :: thesis: A = A'
then [l,r] = [l',r'] by A21, A23, ZFMISC_1:33;
then ( l = l' & r = r' ) by ZFMISC_1:33;
hence A = A' by A23, A24; :: thesis: verum
end;
suppose A25: ( f . A = [1,[l,r]] & A = cell l,r ) ; :: thesis: A = A'
then [l,r] = [l',r'] by A21, A23, ZFMISC_1:33;
then ( l = l' & r = r' ) by ZFMISC_1:33;
hence A = A' by A23, A25; :: thesis: verum
end;
end;
end;
reconsider X = product G as finite set by Th11;
rng f c= [:{0 ,1},[:X,X:]:]
proof
let lr be set ; :: according to TARSKI:def 3 :: thesis: ( not lr in rng f or lr in [:{0 ,1},[:X,X:]:] )
assume lr in rng f ; :: thesis: lr in [:{0 ,1},[:X,X:]:]
then consider A being set such that
A26: ( A in dom f & lr = f . A ) by FUNCT_1:def 5;
consider l, r being Element of REAL d such that
A27: S3[A,l,r,f . A] by A19, A26;
( 0 in {0 ,1} & 1 in {0 ,1} & [l,r] in [:X,X:] ) by A27, TARSKI:def 2, ZFMISC_1:106;
hence lr in [:{0 ,1},[:X,X:]:] by A26, A27, ZFMISC_1:106; :: thesis: verum
end;
then A28: rng f is finite ;
{ H2(l,r) where l, r is Element of REAL d : S1[l,r] } c= bool (REAL d) from CHAIN_1:sch 1();
hence { (cell l,r) where l, r is Element of REAL d : ( ex X being Subset of (Seg d) st
( card X = k & ( for i being Element of Seg d holds
( ( i in X & l . i < r . i & [(l . i),(r . i)] is Gap of G . i ) or ( not i in X & l . i = r . i & l . i in G . i ) ) ) ) or ( k = d & ( for i being Element of Seg d holds
( r . i < l . i & [(l . i),(r . i)] is Gap of G . i ) ) ) ) } is non empty finite Subset-Family of (REAL d) by A14, A19, A20, A28, CARD_1:97; :: thesis: verum