let X, Y, Z, D be set ; :: thesis: ( D c= Funcs [:X,Y:],Z implies ex F being ManySortedSet of st
( F is currying & ( ( Y = {} implies X = {} ) implies rng F c= Funcs X,(Funcs Y,Z) ) ) )
assume A1:
D c= Funcs [:X,Y:],Z
; :: thesis: ex F being ManySortedSet of st
( F is currying & ( ( Y = {} implies X = {} ) implies rng F c= Funcs X,(Funcs Y,Z) ) )
per cases
( D is empty or not D is empty )
;
suppose
D is
empty
;
:: thesis: ex F being ManySortedSet of st
( F is currying & ( ( Y = {} implies X = {} ) implies rng F c= Funcs X,(Funcs Y,Z) ) )then reconsider F =
{} as
ManySortedSet of
by PARTFUN1:def 4, RELAT_1:60, RELAT_1:def 18;
take
F
;
:: thesis: ( F is currying & ( ( Y = {} implies X = {} ) implies rng F c= Funcs X,(Funcs Y,Z) ) )thus
F is
currying
;
:: thesis: ( ( Y = {} implies X = {} ) implies rng F c= Funcs X,(Funcs Y,Z) )assume
(
Y = {} implies
X = {} )
;
:: thesis: rng F c= Funcs X,(Funcs Y,Z)thus
rng F c= Funcs X,
(Funcs Y,Z)
by RELAT_1:60, XBOOLE_1:2;
:: thesis: verum end; suppose
not
D is
empty
;
:: thesis: ex F being ManySortedSet of st
( F is currying & ( ( Y = {} implies X = {} ) implies rng F c= Funcs X,(Funcs Y,Z) ) )then reconsider E =
D as non
empty functional set by A1;
deffunc H1(
Function)
-> set =
curry $1;
consider F being
ManySortedSet of
such that A2:
for
d being
Element of
E holds
F . d = H1(
d)
from PBOOLE:sch 5();
reconsider F1 =
F as
ManySortedSet of ;
take
F1
;
:: thesis: ( F1 is currying & ( ( Y = {} implies X = {} ) implies rng F1 c= Funcs X,(Funcs Y,Z) ) )thus
F1 is
currying
:: thesis: ( ( Y = {} implies X = {} ) implies rng F1 c= Funcs X,(Funcs Y,Z) )assume A4:
(
Y = {} implies
X = {} )
;
:: thesis: rng F1 c= Funcs X,(Funcs Y,Z)thus
rng F1 c= Funcs X,
(Funcs Y,Z)
:: thesis: verumproof
let y be
set ;
:: according to TARSKI:def 3 :: thesis: ( not y in rng F1 or y in Funcs X,(Funcs Y,Z) )
assume
y in rng F1
;
:: thesis: y in Funcs X,(Funcs Y,Z)
then consider x being
set such that A5:
x in dom F1
and A6:
y = F1 . x
by FUNCT_1:def 5;
reconsider d =
x as
Element of
E by A5, PARTFUN1:def 4;
A7:
y = curry d
by A2, A6;
A8:
d in Funcs [:X,Y:],
Z
by A1, TARSKI:def 3;
per cases
( [:X,Y:] = {} or [:X,Y:] <> {} )
;
suppose A9:
[:X,Y:] = {}
;
:: thesis: y in Funcs X,(Funcs Y,Z)then A10:
d is
Function of
{} ,
Z
by A8, FUNCT_2:121;
now assume A11:
X = {}
;
:: thesis: y in Funcs X,(Funcs Y,Z)then
y is
Function of
X,
(Funcs Y,Z)
by A7, A10, FUNCT_5:49, RELSET_1:25;
hence
y in Funcs X,
(Funcs Y,Z)
by A11, FUNCT_2:11;
:: thesis: verum end; hence
y in Funcs X,
(Funcs Y,Z)
by A4, A9;
:: thesis: verum end; end;
end; end; end;