let D, E be non-empty non empty FinSequence; for F being non empty set ex L being Function of (Funcs ((product D),(Funcs ((product E),F)))),(Funcs ((product (E ^ D)),F)) st
( L is bijective & ( for f being Function of (product D),(Funcs ((product E),F))
for e, d being FinSequence st e in product E & d in product D holds
(L . f) . (e ^ d) = (f . d) . e ) )
let F be non empty set ; ex L being Function of (Funcs ((product D),(Funcs ((product E),F)))),(Funcs ((product (E ^ D)),F)) st
( L is bijective & ( for f being Function of (product D),(Funcs ((product E),F))
for e, d being FinSequence st e in product E & d in product D holds
(L . f) . (e ^ d) = (f . d) . e ) )
consider I being Function of (Funcs ((product D),(Funcs ((product E),F)))),(Funcs ([:(product E),(product D):],F)) such that
A1:
( I is bijective & ( for f being Function of (product D),(Funcs ((product E),F))
for e, d being object st e in product E & d in product D holds
(I . f) . (e,d) = (f . d) . e ) )
by Th2;
consider J being Function of [:(product E),(product D):],(product (E ^ D)) such that
A2:
( J is one-to-one & J is onto & ( for x, y being FinSequence st x in product E & y in product D holds
J . (x,y) = x ^ y ) )
by PRVECT_3:6;
A3:
rng J = product (E ^ D)
by A2, FUNCT_2:def 3;
then reconsider K = J " as Function of (product (E ^ D)),[:(product E),(product D):] by FUNCT_2:25, A2;
deffunc H1( object ) -> set = (I . $1) * K;
A4:
for x being object st x in Funcs ((product D),(Funcs ((product E),F))) holds
H1(x) in Funcs ((product (E ^ D)),F)
proof
let x be
object ;
( x in Funcs ((product D),(Funcs ((product E),F))) implies H1(x) in Funcs ((product (E ^ D)),F) )
assume
x in Funcs (
(product D),
(Funcs ((product E),F)))
;
H1(x) in Funcs ((product (E ^ D)),F)
then A5:
I . x in Funcs (
[:(product E),(product D):],
F)
by FUNCT_2:5;
K in Funcs (
(product (E ^ D)),
[:(product E),(product D):])
by FUNCT_2:8;
hence
H1(
x)
in Funcs (
(product (E ^ D)),
F)
by A5, FUNCT_2:128;
verum
end;
consider L being Function of (Funcs ((product D),(Funcs ((product E),F)))),(Funcs ((product (E ^ D)),F)) such that
A6:
for e being object st e in Funcs ((product D),(Funcs ((product E),F))) holds
L . e = H1(e)
from FUNCT_2:sch 2(A4);
A7:
K * J = id [:(product E),(product D):]
by A2, A3, FUNCT_2:29;
A8:
J * K = id (product (E ^ D))
by A2, A3, FUNCT_2:29;
now for z1, z2 being object st z1 in Funcs ((product D),(Funcs ((product E),F))) & z2 in Funcs ((product D),(Funcs ((product E),F))) & L . z1 = L . z2 holds
z1 = z2let z1,
z2 be
object ;
( z1 in Funcs ((product D),(Funcs ((product E),F))) & z2 in Funcs ((product D),(Funcs ((product E),F))) & L . z1 = L . z2 implies z1 = z2 )assume A9:
(
z1 in Funcs (
(product D),
(Funcs ((product E),F))) &
z2 in Funcs (
(product D),
(Funcs ((product E),F))) &
L . z1 = L . z2 )
;
z1 = z2
(I . z1) * K = L . z2
by A6, A9;
then A10:
((I . z1) * K) * J = ((I . z2) * K) * J
by A6, A9;
(I . z1) * (K * J) = ((I . z1) * K) * J
by RELAT_1:36;
then A11:
(I . z1) * (K * J) = (I . z2) * (K * J)
by A10, RELAT_1:36;
(
I . z1 is
Function of
[:(product E),(product D):],
F &
I . z2 is
Function of
[:(product E),(product D):],
F )
by A9, FUNCT_2:5, FUNCT_2:66;
then
(
(I . z1) * (K * J) = I . z1 &
(I . z2) * (K * J) = I . z2 )
by A7, FUNCT_2:17;
hence
z1 = z2
by A1, FUNCT_2:19, A9, A11;
verum end;
then A12:
L is one-to-one
by FUNCT_2:19;
now for w being object st w in Funcs ((product (E ^ D)),F) holds
w in rng Llet w be
object ;
( w in Funcs ((product (E ^ D)),F) implies w in rng L )assume
w in Funcs (
(product (E ^ D)),
F)
;
w in rng Lthen reconsider wf =
w as
Function of
(product (E ^ D)),
F by FUNCT_2:66;
wf * J in Funcs (
[:(product E),(product D):],
F)
by FUNCT_2:8;
then
wf * J in rng I
by A1, FUNCT_2:def 3;
then consider zf being
object such that A13:
(
zf in Funcs (
(product D),
(Funcs ((product E),F))) &
I . zf = wf * J )
by FUNCT_2:11;
L . zf = (wf * J) * K
by A6, A13;
then
L . zf = wf * (id (product (E ^ D)))
by A8, RELAT_1:36;
then
L . zf = w
by FUNCT_2:17;
hence
w in rng L
by A13, FUNCT_2:112;
verum end;
then
Funcs ((product (E ^ D)),F) c= rng L
by TARSKI:def 3;
then A14:
L is onto
by FUNCT_2:def 3, XBOOLE_0:def 10;
for f being Function of (product D),(Funcs ((product E),F))
for e, d being FinSequence st e in product E & d in product D holds
(L . f) . (e ^ d) = (f . d) . e
proof
let f be
Function of
(product D),
(Funcs ((product E),F));
for e, d being FinSequence st e in product E & d in product D holds
(L . f) . (e ^ d) = (f . d) . elet e,
d be
FinSequence;
( e in product E & d in product D implies (L . f) . (e ^ d) = (f . d) . e )
assume A15:
(
e in product E &
d in product D )
;
(L . f) . (e ^ d) = (f . d) . e
then A16:
(I . f) . (
e,
d)
= (f . d) . e
by A1;
A17:
J . (
e,
d)
= e ^ d
by A2, A15;
A18:
[e,d] in [:(product E),(product D):]
by A15, ZFMISC_1:87;
A19:
K . (J . (e,d)) = [e,d]
by FUNCT_2:26, A2, A15, ZFMISC_1:87;
f in Funcs (
(product D),
(Funcs ((product E),F)))
by FUNCT_2:8;
then
(L . f) . (e ^ d) = ((I . f) * K) . (J . (e,d))
by A17, A6;
hence
(L . f) . (e ^ d) = (f . d) . e
by A16, A19, A18, FUNCT_2:5, FUNCT_2:15;
verum
end;
hence
ex L being Function of (Funcs ((product D),(Funcs ((product E),F)))),(Funcs ((product (E ^ D)),F)) st
( L is bijective & ( for f being Function of (product D),(Funcs ((product E),F))
for e, d being FinSequence st e in product E & d in product D holds
(L . f) . (e ^ d) = (f . d) . e ) )
by A12, A14; verum