set f = (Den o,U0) | (((A # ) * the Arity of S) . o);
set B = the Sorts of U0;
A2:
dom the ResultSort of S = the carrier' of S
by FUNCT_2:def 1;
per cases
( (A * the ResultSort of S) . o = {} or (A * the ResultSort of S) . o <> {} )
;
suppose
(A * the ResultSort of S) . o <> {}
;
:: thesis: (Den o,U0) | (((A # ) * the Arity of S) . o) is Function of (((A # ) * the Arity of S) . o),((A * the ResultSort of S) . o)then A6:
A . (the ResultSort of S . o) <> {}
by A2, FUNCT_1:23;
A c= the
Sorts of
U0
by PBOOLE:def 23;
then
A . (the ResultSort of S . o) c= the
Sorts of
U0 . (the ResultSort of S . o)
by PBOOLE:def 5;
then
the
Sorts of
U0 . (the ResultSort of S . o) <> {}
by A6;
then
(the Sorts of U0 * the ResultSort of S) . o <> {}
by A2, FUNCT_1:23;
then A8:
Result o,
U0 <> {}
by MSUALG_1:def 10;
reconsider B0 = the
Sorts of
U0 as
MSSubset of
U0 by PBOOLE:def 23;
A9:
A c= B0
by PBOOLE:def 23;
dom (Den o,U0) =
Args o,
U0
by A8, FUNCT_2:def 1
.=
((the Sorts of U0 # ) * the Arity of S) . o
by MSUALG_1:def 9
;
then A10:
dom ((Den o,U0) | (((A # ) * the Arity of S) . o)) =
(((the Sorts of U0 # ) * the Arity of S) . o) /\ (((A # ) * the Arity of S) . o)
by RELAT_1:90
.=
((A # ) * the Arity of S) . o
by A9, Th3, XBOOLE_1:28
;
rng ((Den o,U0) | (((A # ) * the Arity of S) . o)) c= (A * the ResultSort of S) . o
by A1, Def6;
hence
(Den o,U0) | (((A # ) * the Arity of S) . o) is
Function of
(((A # ) * the Arity of S) . o),
((A * the ResultSort of S) . o)
by A10, FUNCT_2:4;
:: thesis: verum end; end;