set O = { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } ;
defpred S1[ set , set ] means ex f being OperSymbol of A ex q being Element of P * st
( q = $2 & $1 = [f,q] );
A1: for o being set st o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } holds
ex p being set st
( p in P * & S1[o,p] )
proof
let o be set ; :: thesis: ( o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } implies ex p being set st
( p in P * & S1[o,p] ) )

assume o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } ; :: thesis: ex p being set st
( p in P * & S1[o,p] )

then consider f being OperSymbol of A, p being Element of P * such that
A2: o = [f,p] and
product p meets dom (Den (f,A)) ;
take p ; :: thesis: ( p in P * & S1[o,p] )
thus ( p in P * & S1[o,p] ) by A2; :: thesis: verum
end;
defpred S2[ set , set ] means ex f being OperSymbol of A ex p being Element of P * st
( $1 = [f,p] & (Den (f,A)) .: (product p) c= $2 );
A3: for o being set st o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } holds
ex r being set st
( r in P & S2[o,r] )
proof
let o be set ; :: thesis: ( o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } implies ex r being set st
( r in P & S2[o,r] ) )

assume o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } ; :: thesis: ex r being set st
( r in P & S2[o,r] )

then consider f being OperSymbol of A, p being Element of P * such that
A4: o = [f,p] and
product p meets dom (Den (f,A)) ;
Den (f,A) is_exactly_partitable_wrt P by Def11;
then Den (f,A) is_partitable_wrt P by Def10;
then ex a being Element of P st (Den (f,A)) .: (product p) c= a by Def9;
hence ex r being set st
( r in P & S2[o,r] ) by A4; :: thesis: verum
end;
consider Ar being Function such that
A5: ( dom Ar = { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } & rng Ar c= P * ) and
A6: for o being set st o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } holds
S1[o,Ar . o] from FUNCT_1:sch 5(A1);
reconsider Ar = Ar as Function of { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } ,(P *) by A5, FUNCT_2:2;
consider R being Function such that
A7: ( dom R = { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } & rng R c= P ) and
A8: for o being set st o in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } holds
S2[o,R . o] from FUNCT_1:sch 5(A3);
reconsider R = R as Function of { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } ,P by A7, FUNCT_2:2;
take S = ManySortedSign(# P, { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } ,Ar,R #); :: thesis: ( the carrier of S = P & the carrier' of S = { [o,p] where o is OperSymbol of A, p is Element of P * : product p meets dom (Den (o,A)) } & ( for o being OperSymbol of A
for p being Element of P * st product p meets dom (Den (o,A)) holds
( the Arity of S . [o,p] = p & (Den (o,A)) .: (product p) c= the ResultSort of S . [o,p] ) ) )

thus ( the carrier of S = P & the carrier' of S = { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } ) ; :: thesis: for o being OperSymbol of A
for p being Element of P * st product p meets dom (Den (o,A)) holds
( the Arity of S . [o,p] = p & (Den (o,A)) .: (product p) c= the ResultSort of S . [o,p] )

let f be OperSymbol of A; :: thesis: for p being Element of P * st product p meets dom (Den (f,A)) holds
( the Arity of S . [f,p] = p & (Den (f,A)) .: (product p) c= the ResultSort of S . [f,p] )

let p be Element of P * ; :: thesis: ( product p meets dom (Den (f,A)) implies ( the Arity of S . [f,p] = p & (Den (f,A)) .: (product p) c= the ResultSort of S . [f,p] ) )
set o = [f,p];
assume product p meets dom (Den (f,A)) ; :: thesis: ( the Arity of S . [f,p] = p & (Den (f,A)) .: (product p) c= the ResultSort of S . [f,p] )
then A9: [f,p] in { [f,p] where f is OperSymbol of A, p is Element of P * : product p meets dom (Den (f,A)) } ;
then A10: ex f1 being OperSymbol of A ex q1 being Element of P * st
( q1 = Ar . [f,p] & [f,p] = [f1,q1] ) by A6;
consider f2 being OperSymbol of A, q2 being Element of P * such that
A11: [f,p] = [f2,q2] and
A12: (Den (f2,A)) .: (product q2) c= R . [f,p] by A8, A9;
q2 = p by A11, ZFMISC_1:27;
hence ( the Arity of S . [f,p] = p & (Den (f,A)) .: (product p) c= the ResultSort of S . [f,p] ) by A10, A11, A12, ZFMISC_1:27; :: thesis: verum