let X, Y be non empty set ; ex I being Function of [:X,Y:],[:X,(product <*Y*>):] st
( I is bijective & ( for x, y being object st x in X & y in Y holds
I . (x,y) = [x,<*y*>] ) )
consider J being Function of Y,(product <*Y*>) such that
A1:
( J is one-to-one & J is onto & ( for y being object st y in Y holds
J . y = <*y*> ) )
by PRVECT_3:4;
defpred S1[ object , object , object ] means $3 = [$1,<*$2*>];
A2:
for x, y being object st x in X & y in Y holds
ex z being object st
( z in [:X,(product <*Y*>):] & S1[x,y,z] )
proof
let x,
y be
object ;
( x in X & y in Y implies ex z being object st
( z in [:X,(product <*Y*>):] & S1[x,y,z] ) )
assume A3:
(
x in X &
y in Y )
;
ex z being object st
( z in [:X,(product <*Y*>):] & S1[x,y,z] )
then
J . y = <*y*>
by A1;
then
<*y*> in product <*Y*>
by A3, FUNCT_2:5;
hence
ex
z being
object st
(
z in [:X,(product <*Y*>):] &
S1[
x,
y,
z] )
by A3, ZFMISC_1:87;
verum
end;
consider I being Function of [:X,Y:],[:X,(product <*Y*>):] such that
A4:
for x, y being object st x in X & y in Y holds
S1[x,y,I . (x,y)]
from BINOP_1:sch 1(A2);
reconsider I = I as Function of [:X,Y:],[:X,(product <*Y*>):] ;
take
I
; ( I is bijective & ( for x, y being object st x in X & y in Y holds
I . (x,y) = [x,<*y*>] ) )
now for z1, z2 being object st z1 in [:X,Y:] & z2 in [:X,Y:] & I . z1 = I . z2 holds
z1 = z2let z1,
z2 be
object ;
( z1 in [:X,Y:] & z2 in [:X,Y:] & I . z1 = I . z2 implies z1 = z2 )assume A5:
(
z1 in [:X,Y:] &
z2 in [:X,Y:] &
I . z1 = I . z2 )
;
z1 = z2then consider x1,
y1 being
object such that A6:
(
x1 in X &
y1 in Y &
z1 = [x1,y1] )
by ZFMISC_1:def 2;
consider x2,
y2 being
object such that A7:
(
x2 in X &
y2 in Y &
z2 = [x2,y2] )
by A5, ZFMISC_1:def 2;
[x1,<*y1*>] =
I . (
x1,
y1)
by A4, A6
.=
I . (
x2,
y2)
by A5, A6, A7
.=
[x2,<*y2*>]
by A4, A7
;
then
(
x1 = x2 &
<*y1*> = <*y2*> )
by XTUPLE_0:1;
hence
z1 = z2
by A6, A7, FINSEQ_1:76;
verum end;
then A8:
I is one-to-one
by FUNCT_2:19;
now for w being object st w in [:X,(product <*Y*>):] holds
w in rng Ilet w be
object ;
( w in [:X,(product <*Y*>):] implies w in rng I )assume
w in [:X,(product <*Y*>):]
;
w in rng Ithen consider x,
y1 being
object such that A9:
(
x in X &
y1 in product <*Y*> &
w = [x,y1] )
by ZFMISC_1:def 2;
y1 in rng J
by A1, A9, FUNCT_2:def 3;
then consider y being
object such that A10:
(
y in Y &
y1 = J . y )
by FUNCT_2:11;
J . y = <*y*>
by A10, A1;
then A11:
w = I . (
x,
y)
by A4, A9, A10;
[x,y] in [:X,Y:]
by A9, A10, ZFMISC_1:87;
hence
w in rng I
by A11, FUNCT_2:4;
verum end;
then
[:X,(product <*Y*>):] c= rng I
by TARSKI:def 3;
then
I is onto
by FUNCT_2:def 3, XBOOLE_0:def 10;
hence
( I is bijective & ( for x, y being object st x in X & y in Y holds
I . (x,y) = [x,<*y*>] ) )
by A4, A8; verum