defpred S1[ object , object ] means ex g being Function of (F2() . $1),(F3() . $1) st
( $2 = g & ( for a being set st a in F2() . $1 holds
P1[$1,a,g . a] ) );
A2:
for i being object st i in F1() holds
ex y being object st S1[i,y]
proof
let i be
object ;
( i in F1() implies ex y being object st S1[i,y] )
assume
i in F1()
;
ex y being object st S1[i,y]
then reconsider ii =
i as
Element of
F1() ;
defpred S2[
object ,
object ]
means P1[
i,$1,$2];
A3:
for
a being
object st
a in F2()
. i holds
ex
b being
object st
(
b in F3()
. i &
S2[
a,
b] )
proof
let a be
object ;
( a in F2() . i implies ex b being object st
( b in F3() . i & S2[a,b] ) )
assume
a in F2()
. i
;
ex b being object st
( b in F3() . i & S2[a,b] )
then
ex
b being
Element of
F3()
. ii st
P1[
i,
a,
b]
by A1;
hence
ex
b being
object st
(
b in F3()
. i &
S2[
a,
b] )
;
verum
end;
consider g being
Function such that A4:
(
dom g = F2()
. i &
rng g c= F3()
. i )
and A5:
for
a being
object st
a in F2()
. i holds
S2[
a,
g . a]
from FUNCT_1:sch 6(A3);
take y =
g;
S1[i,y]
reconsider g =
g as
Function of
(F2() . i),
(F3() . i) by A4, FUNCT_2:2;
take
g
;
( y = g & ( for a being set st a in F2() . i holds
P1[i,a,g . a] ) )
thus
(
y = g & ( for
a being
set st
a in F2()
. i holds
P1[
i,
a,
g . a] ) )
by A5;
verum
end;
consider f being Function such that
A6:
dom f = F1()
and
A7:
for i being object st i in F1() holds
S1[i,f . i]
from CLASSES1:sch 1(A2);
reconsider f = f as ManySortedSet of F1() by A6, PARTFUN1:def 2, RELAT_1:def 18;
f is ManySortedFunction of F2(),F3()
then reconsider f = f as ManySortedFunction of F2(),F3() ;
take
f
; for i being Element of F1()
for a being Element of F2() . i holds P1[i,a,(f . i) . a]
let i be Element of F1(); for a being Element of F2() . i holds P1[i,a,(f . i) . a]
let a be Element of F2() . i; P1[i,a,(f . i) . a]
ex g being Function of (F2() . i),(F3() . i) st
( f . i = g & ( for a being set st a in F2() . i holds
P1[i,a,g . a] ) )
by A7;
hence
P1[i,a,(f . i) . a]
; verum