let D, E, F be non empty set ; ex I being Function of (Funcs (D,(Funcs (E,F)))),(Funcs ([:E,D:],F)) st
( I is bijective & ( for f being Function of D,(Funcs (E,F))
for e, d being object st e in E & d in D holds
(I . f) . (e,d) = (f . d) . e ) )
defpred S1[ object , object ] means ex f being Function of D,(Funcs (E,F)) ex g being Function of [:E,D:],F st
( $1 = f & $2 = g & ( for e, d being object st e in E & d in D holds
g . (e,d) = (f . d) . e ) );
A1:
for x being object st x in Funcs (D,(Funcs (E,F))) holds
ex y being object st
( y in Funcs ([:E,D:],F) & S1[x,y] )
proof
let x be
object ;
( x in Funcs (D,(Funcs (E,F))) implies ex y being object st
( y in Funcs ([:E,D:],F) & S1[x,y] ) )
assume
x in Funcs (
D,
(Funcs (E,F)))
;
ex y being object st
( y in Funcs ([:E,D:],F) & S1[x,y] )
then consider f being
Function such that A2:
(
x = f &
dom f = D &
rng f c= Funcs (
E,
F) )
by FUNCT_2:def 2;
reconsider f =
f as
Function of
D,
(Funcs (E,F)) by FUNCT_2:2, A2;
deffunc H1(
object ,
object )
-> set =
(f . $2) . $1;
A3:
for
y,
x being
object st
y in E &
x in D holds
H1(
y,
x)
in F
consider g being
Function of
[:E,D:],
F such that A5:
for
y,
x being
object st
y in E &
x in D holds
g . (
y,
x)
= H1(
y,
x)
from BINOP_1:sch 2(A3);
g in Funcs (
[:E,D:],
F)
by FUNCT_2:8;
hence
ex
y being
object st
(
y in Funcs (
[:E,D:],
F) &
S1[
x,
y] )
by A2, A5;
verum
end;
consider I being Function of (Funcs (D,(Funcs (E,F)))),(Funcs ([:E,D:],F)) such that
A6:
for x being object st x in Funcs (D,(Funcs (E,F))) holds
S1[x,I . x]
from FUNCT_2:sch 1(A1);
A7:
for f being Function of D,(Funcs (E,F))
for e, d being object st e in E & d in D holds
(I . f) . (e,d) = (f . d) . e
proof
let f be
Function of
D,
(Funcs (E,F));
for e, d being object st e in E & d in D holds
(I . f) . (e,d) = (f . d) . elet e,
d be
object ;
( e in E & d in D implies (I . f) . (e,d) = (f . d) . e )
assume A8:
(
e in E &
d in D )
;
(I . f) . (e,d) = (f . d) . e
f in Funcs (
D,
(Funcs (E,F)))
by FUNCT_2:8;
then
ex
f0 being
Function of
D,
(Funcs (E,F)) ex
g0 being
Function of
[:E,D:],
F st
(
f = f0 &
I . f = g0 & ( for
e,
d being
object st
e in E &
d in D holds
g0 . (
e,
d)
= (f0 . d) . e ) )
by A6;
hence
(I . f) . (
e,
d)
= (f . d) . e
by A8;
verum
end;
now for z1, z2 being object st z1 in Funcs (D,(Funcs (E,F))) & z2 in Funcs (D,(Funcs (E,F))) & I . z1 = I . z2 holds
z1 = z2let z1,
z2 be
object ;
( z1 in Funcs (D,(Funcs (E,F))) & z2 in Funcs (D,(Funcs (E,F))) & I . z1 = I . z2 implies z1 = z2 )assume A9:
(
z1 in Funcs (
D,
(Funcs (E,F))) &
z2 in Funcs (
D,
(Funcs (E,F))) &
I . z1 = I . z2 )
;
z1 = z2then reconsider z1f =
z1,
z2f =
z2 as
Function of
D,
(Funcs (E,F)) by FUNCT_2:66;
hence
z1 = z2
by FUNCT_2:12;
verum end;
then A13:
I is one-to-one
by FUNCT_2:19;
now for w being object st w in Funcs ([:E,D:],F) holds
w in rng Ilet w be
object ;
( w in Funcs ([:E,D:],F) implies w in rng I )assume
w in Funcs (
[:E,D:],
F)
;
w in rng Ithen reconsider wf =
w as
Function of
[:E,D:],
F by FUNCT_2:66;
defpred S2[
object ,
object ]
means ex
f being
Function of
E,
F st
( $2
= f & ( for
e being
object st
e in E holds
f . e = wf . (
e,$1) ) );
A14:
for
d being
object st
d in D holds
ex
y being
object st
(
y in Funcs (
E,
F) &
S2[
d,
y] )
consider zf being
Function of
D,
(Funcs (E,F)) such that A18:
for
d being
object st
d in D holds
S2[
d,
zf . d]
from FUNCT_2:sch 1(A14);
A19:
zf in Funcs (
D,
(Funcs (E,F)))
by FUNCT_2:8;
A20:
now for e, d being set st e in E & d in D holds
(I . zf) . (e,d) = wf . (e,d)let e,
d be
set ;
( e in E & d in D implies (I . zf) . (e,d) = wf . (e,d) )assume A21:
(
e in E &
d in D )
;
(I . zf) . (e,d) = wf . (e,d)then A22:
(I . zf) . (
e,
d)
= (zf . d) . e
by A7;
ex
L being
Function of
E,
F st
(
zf . d = L & ( for
e being
object st
e in E holds
L . e = wf . (
e,
d) ) )
by A18, A21;
hence
(I . zf) . (
e,
d)
= wf . (
e,
d)
by A22, A21;
verum end;
I . zf is
Function of
[:E,D:],
F
by A19, FUNCT_2:5, FUNCT_2:66;
then
I . zf = w
by BINOP_1:1, A20;
hence
w in rng I
by A19, FUNCT_2:112;
verum end;
then
Funcs ([:E,D:],F) c= rng I
by TARSKI:def 3;
then
I is onto
by FUNCT_2:def 3, XBOOLE_0:def 10;
hence
ex I being Function of (Funcs (D,(Funcs (E,F)))),(Funcs ([:E,D:],F)) st
( I is bijective & ( for f being Function of D,(Funcs (E,F))
for e, d being object st e in E & d in D holds
(I . f) . (e,d) = (f . d) . e ) )
by A7, A13; verum