defpred S1[ object , object ] means ex i being Element of I1 ex f being Function of (J1 . i),((J2 * p) . i) st
( $1 = i & $2 = f & f is being_homeomorphism );
A3:
for x being object st x in I1 holds
ex y being object st S1[x,y]
consider F being ManySortedSet of I1 such that
A5:
for x being object st x in I1 holds
S1[x,F . x]
from PBOOLE:sch 3(A3);
A6:
for i being Element of I1 ex f being Function of (J1 . i),((J2 * p) . i) st
( F . i = f & f is being_homeomorphism )
for x being object st x in dom F holds
F . x is Function
then reconsider F = F as ManySortedFunction of I1 by FUNCOP_1:def 6;
defpred S2[ object , object ] means ex g being Element of (product J1) ex h being Element of (product J2) st
( $1 = g & $2 = h & ( for i being Element of I1 holds h . (p . i) = (F . i) . (g . i) ) );
A9:
for x being object st x in the carrier of (product J1) holds
ex y being object st
( y in the carrier of (product J2) & S2[x,y] )
consider IT being Function of the carrier of (product J1), the carrier of (product J2) such that
A19:
for x being object st x in the carrier of (product J1) holds
S2[x,IT . x]
from FUNCT_2:sch 1(A9);
reconsider IT = IT as Function of (product J1),(product J2) ;
take
IT
; ex F being ManySortedFunction of I1 st
( ( for i being Element of I1 ex f being Function of (J1 . i),((J2 * p) . i) st
( F . i = f & f is being_homeomorphism ) ) & ( for g being Element of (product J1)
for i being Element of I1 holds (IT . g) . (p . i) = (F . i) . (g . i) ) )
take
F
; ( ( for i being Element of I1 ex f being Function of (J1 . i),((J2 * p) . i) st
( F . i = f & f is being_homeomorphism ) ) & ( for g being Element of (product J1)
for i being Element of I1 holds (IT . g) . (p . i) = (F . i) . (g . i) ) )
hence
( ( for i being Element of I1 ex f being Function of (J1 . i),((J2 * p) . i) st
( F . i = f & f is being_homeomorphism ) ) & ( for g being Element of (product J1)
for i being Element of I1 holds (IT . g) . (p . i) = (F . i) . (g . i) ) )
by A6; verum