deffunc H1( Element of S1) -> set = union { (Constants OU0,s1) where s1 is SortSymbol of S1 : s1 <= $1 } ;
consider f being Function such that
A1: ( dom f = the carrier of S1 & ( for d being Element of S1 holds f . d = H1(d) ) ) from FUNCT_1:sch 4();
reconsider f = f as ManySortedSet of the carrier of S1 by A1, PARTFUN1:def 4, RELAT_1:def 18;
f c= the Sorts of OU0
proof
let s be set ; :: according to PBOOLE:def 5 :: thesis: ( not s in the carrier of S1 or f . s c= the Sorts of OU0 . s )
assume s in the carrier of S1 ; :: thesis: f . s c= the Sorts of OU0 . s
then reconsider s1 = s as SortSymbol of S1 ;
f . s1 = OSConstants OU0,s1 by A1;
hence f . s c= the Sorts of OU0 . s ; :: thesis: verum
end;
then reconsider f = f as MSSubset of OU0 by PBOOLE:def 23;
take f ; :: thesis: ( f is OSSubset of OU0 & ( for s being SortSymbol of S1 holds f . s = OSConstants OU0,s ) )
reconsider f1 = f as ManySortedSet of S1 ;
f1 is order-sorted
proof
let r1, r2 be Element of S1; :: according to OSALG_1:def 18 :: thesis: ( not r1 <= r2 or f1 . r1 c= f1 . r2 )
assume A2: r1 <= r2 ; :: thesis: f1 . r1 c= f1 . r2
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in f1 . r1 or x in f1 . r2 )
assume x in f1 . r1 ; :: thesis: x in f1 . r2
then x in union { (Constants OU0,s2) where s2 is SortSymbol of S1 : s2 <= r1 } by A1;
then consider y being set such that
A3: ( x in y & y in { (Constants OU0,s2) where s2 is SortSymbol of S1 : s2 <= r1 } ) by TARSKI:def 4;
consider s3 being SortSymbol of S1 such that
A4: y = Constants OU0,s3 and
A5: s3 <= r1 by A3;
s3 <= r2 by A2, A5, ORDERS_2:26;
then y in { (Constants OU0,s2) where s2 is SortSymbol of S1 : s2 <= r2 } by A4;
then x in union { (Constants OU0,s2) where s2 is SortSymbol of S1 : s2 <= r2 } by A3, TARSKI:def 4;
hence x in f1 . r2 by A1; :: thesis: verum
end;
hence f is OSSubset of OU0 by Def2; :: thesis: for s being SortSymbol of S1 holds f . s = OSConstants OU0,s
thus for s being SortSymbol of S1 holds f . s = OSConstants OU0,s by A1; :: thesis: verum