set ar = the_arity_of o;
set da = dom (the_arity_of o);
defpred S1[ set , set ] means for n being Nat st n = $1 holds
ex y being Element of the Sorts of A . ((the_arity_of o) /. n) st
( y = x . n & $2 = OSClass R,y );
A1:
for k being set st k in dom (the_arity_of o) holds
ex u being set st S1[k,u]
consider f being Function such that
A3:
( dom f = dom (the_arity_of o) & ( for x being set st x in dom (the_arity_of o) holds
S1[x,f . x] ) )
from CLASSES1:sch 1(A1);
A4:
dom ((OSClass R) * (the_arity_of o)) = dom (the_arity_of o)
by PARTFUN1:def 4;
for y being set st y in dom ((OSClass R) * (the_arity_of o)) holds
f . y in ((OSClass R) * (the_arity_of o)) . y
then reconsider f = f as Element of product ((OSClass R) * (the_arity_of o)) by A3, A4, CARD_3:18;
take
f
; :: thesis: for n being Nat st n in dom (the_arity_of o) holds
ex y being Element of the Sorts of A . ((the_arity_of o) /. n) st
( y = x . n & f . n = OSClass R,y )
let n be Nat; :: thesis: ( n in dom (the_arity_of o) implies ex y being Element of the Sorts of A . ((the_arity_of o) /. n) st
( y = x . n & f . n = OSClass R,y ) )
assume
n in dom (the_arity_of o)
; :: thesis: ex y being Element of the Sorts of A . ((the_arity_of o) /. n) st
( y = x . n & f . n = OSClass R,y )
hence
ex y being Element of the Sorts of A . ((the_arity_of o) /. n) st
( y = x . n & f . n = OSClass R,y )
by A3; :: thesis: verum