deffunc H1( Function) -> set = uncurry $1;
let R, S, T be complete LATTICE; ex f being Function of (UPS (R,(UPS (S,T)))),(UPS ([:R,S:],T)) st
( f is uncurrying & f is isomorphic )
consider F being ManySortedSet of the carrier of (UPS (R,(UPS (S,T)))) such that
A1:
for f being Element of (UPS (R,(UPS (S,T)))) holds F . f = H1(f)
from PBOOLE:sch 5();
A2:
dom F = the carrier of (UPS (R,(UPS (S,T))))
by PARTFUN1:def 2;
A3:
rng F c= the carrier of (UPS ([:R,S:],T))
proof
let g be
object ;
TARSKI:def 3 ( not g in rng F or g in the carrier of (UPS ([:R,S:],T)) )
assume
g in rng F
;
g in the carrier of (UPS ([:R,S:],T))
then consider f being
object such that A4:
f in dom F
and A5:
g = F . f
by FUNCT_1:def 3;
reconsider f =
f as
directed-sups-preserving Function of
R,
(UPS (S,T)) by A4, Def4;
g = uncurry f
by A1, A4, A5;
then
g is
directed-sups-preserving Function of
[:R,S:],
T
by Th45;
hence
g in the
carrier of
(UPS ([:R,S:],T))
by Def4;
verum
end;
then reconsider F = F as Function of (UPS (R,(UPS (S,T)))),(UPS ([:R,S:],T)) by A2, FUNCT_2:2;
take
F
; ( F is uncurrying & F is isomorphic )
thus A6:
F is uncurrying
F is isomorphic
deffunc H2( Function) -> set = curry $1;
consider G being ManySortedSet of the carrier of (UPS ([:R,S:],T)) such that
A7:
for f being Element of (UPS ([:R,S:],T)) holds G . f = H2(f)
from PBOOLE:sch 5();
A8:
dom G = the carrier of (UPS ([:R,S:],T))
by PARTFUN1:def 2;
A9:
rng G c= the carrier of (UPS (R,(UPS (S,T))))
proof
let g be
object ;
TARSKI:def 3 ( not g in rng G or g in the carrier of (UPS (R,(UPS (S,T)))) )
assume
g in rng G
;
g in the carrier of (UPS (R,(UPS (S,T))))
then consider f being
object such that A10:
f in dom G
and A11:
g = G . f
by FUNCT_1:def 3;
reconsider f =
f as
directed-sups-preserving Function of
[:R,S:],
T by A10, Def4;
g = curry f
by A7, A10, A11;
then
g is
directed-sups-preserving Function of
R,
(UPS (S,T))
by Th46;
hence
g in the
carrier of
(UPS (R,(UPS (S,T))))
by Def4;
verum
end;
then reconsider G = G as Function of (UPS ([:R,S:],T)),(UPS (R,(UPS (S,T)))) by A8, FUNCT_2:2;
UPS (S,T) is full SubRelStr of T |^ the carrier of S
by Def4;
then A12:
(UPS (S,T)) |^ the carrier of R is full SubRelStr of (T |^ the carrier of S) |^ the carrier of R
by YELLOW16:39;
UPS (R,(UPS (S,T))) is full SubRelStr of (UPS (S,T)) |^ the carrier of R
by Def4;
then A13:
UPS (R,(UPS (S,T))) is non empty full SubRelStr of (T |^ the carrier of S) |^ the carrier of R
by A12, YELLOW16:26;
the carrier of [:R,S:] = [: the carrier of R, the carrier of S:]
by YELLOW_3:def 2;
then A14:
UPS ([:R,S:],T) is non empty full SubRelStr of T |^ [: the carrier of R, the carrier of S:]
by Def4;
then A15:
F is monotone
by A6, A13, Th20;
A16:
G is currying
then A17:
G is monotone
by A13, A14, Th21;
the carrier of ((T |^ the carrier of S) |^ the carrier of R) =
Funcs ( the carrier of R, the carrier of (T |^ the carrier of S))
by YELLOW_1:28
.=
Funcs ( the carrier of R,(Funcs ( the carrier of S, the carrier of T)))
by YELLOW_1:28
;
then
the carrier of (UPS (R,(UPS (S,T)))) c= Funcs ( the carrier of R,(Funcs ( the carrier of S, the carrier of T)))
by A13, YELLOW_0:def 13;
then A18:
G * F = id (UPS (R,(UPS (S,T))))
by A2, A3, A8, A6, A16, Th4;
the carrier of (T |^ [: the carrier of R, the carrier of S:]) = Funcs ([: the carrier of R, the carrier of S:], the carrier of T)
by YELLOW_1:28;
then
the carrier of (UPS ([:R,S:],T)) c= Funcs ([: the carrier of R, the carrier of S:], the carrier of T)
by A14, YELLOW_0:def 13;
then
F * G = id (UPS ([:R,S:],T))
by A2, A8, A9, A6, A16, Th5;
hence
F is isomorphic
by A18, A15, A17, YELLOW16:15; verum