defpred S1[ object , object ] means for o being OperSymbol of S st o = $1 holds
$2 = OSQuotCharact (R,o);
set O = the carrier' of S;
A1: for x being object st x in the carrier' of S holds
ex y being object st S1[x,y]
proof
let x be object ; :: thesis: ( x in the carrier' of S implies ex y being object st S1[x,y] )
assume x in the carrier' of S ; :: thesis: ex y being object st S1[x,y]
then reconsider x1 = x as OperSymbol of S ;
take OSQuotCharact (R,x1) ; :: thesis: S1[x, OSQuotCharact (R,x1)]
thus S1[x, OSQuotCharact (R,x1)] ; :: thesis: verum
end;
consider f being Function such that
A2: ( dom f = the carrier' of S & ( for x being object st x in the carrier' of S holds
S1[x,f . x] ) ) from CLASSES1:sch 1(A1);
reconsider f = f as ManySortedSet of the carrier' of S by A2, PARTFUN1:def 2, RELAT_1:def 18;
for x being object st x in dom f holds
f . x is Function
proof
let x be object ; :: thesis: ( x in dom f implies f . x is Function )
assume x in dom f ; :: thesis: f . x is Function
then reconsider x1 = x as OperSymbol of S ;
f . x1 = OSQuotCharact (R,x1) by A2;
hence f . x is Function ; :: thesis: verum
end;
then reconsider f = f as ManySortedFunction of the carrier' of S by FUNCOP_1:def 6;
for i being object st i in the carrier' of S holds
f . i is Function of ((((OSClass R) #) * the Arity of S) . i),(((OSClass R) * the ResultSort of S) . i)
proof
let i be object ; :: thesis: ( i in the carrier' of S implies f . i is Function of ((((OSClass R) #) * the Arity of S) . i),(((OSClass R) * the ResultSort of S) . i) )
assume i in the carrier' of S ; :: thesis: f . i is Function of ((((OSClass R) #) * the Arity of S) . i),(((OSClass R) * the ResultSort of S) . i)
then reconsider i1 = i as OperSymbol of S ;
f . i1 = OSQuotCharact (R,i1) by A2;
hence f . i is Function of ((((OSClass R) #) * the Arity of S) . i),(((OSClass R) * the ResultSort of S) . i) ; :: thesis: verum
end;
then reconsider f = f as ManySortedFunction of ((OSClass R) #) * the Arity of S,(OSClass R) * the ResultSort of S by PBOOLE:def 15;
take f ; :: thesis: for o being OperSymbol of S holds f . o = OSQuotCharact (R,o)
thus for o being OperSymbol of S holds f . o = OSQuotCharact (R,o) by A2; :: thesis: verum