deffunc H1( Element of S) -> Equivalence_Relation of (the Sorts of U1 . $1) = MSCng F,$1;
consider f being Function such that
A2:
( dom f = the carrier of S & ( for d being Element of S holds f . d = H1(d) ) )
from FUNCT_1:sch 4();
reconsider f = f as ManySortedSet of the carrier of S by A2, PARTFUN1:def 4, RELAT_1:def 18;
for x being set st x in dom f holds
f . x is Relation
then reconsider f = f as ManySortedRelation of the carrier of S by Def1;
for i being set st i in the carrier of S holds
f . i is Relation of (the Sorts of U1 . i),(the Sorts of U1 . i)
then reconsider f = f as ManySortedRelation of the Sorts of U1 by Def2;
reconsider f = f as ManySortedRelation of U1 ;
for i being set
for R being Relation of (the Sorts of U1 . i) st i in the carrier of S & f . i = R holds
R is Equivalence_Relation of (the Sorts of U1 . i)
then
f is MSEquivalence_Relation-like
by Def3;
then reconsider f = f as MSEquivalence-like ManySortedRelation of U1 by Def5;
for o being OperSymbol of S
for x, y being Element of Args o,U1 st ( for n being Nat st n in dom x holds
[(x . n),(y . n)] in f . ((the_arity_of o) /. n) ) holds
[((Den o,U1) . x),((Den o,U1) . y)] in f . (the_result_sort_of o)
proof
let o be
OperSymbol of
S;
for x, y being Element of Args o,U1 st ( for n being Nat st n in dom x holds
[(x . n),(y . n)] in f . ((the_arity_of o) /. n) ) holds
[((Den o,U1) . x),((Den o,U1) . y)] in f . (the_result_sort_of o)let x,
y be
Element of
Args o,
U1;
( ( for n being Nat st n in dom x holds
[(x . n),(y . n)] in f . ((the_arity_of o) /. n) ) implies [((Den o,U1) . x),((Den o,U1) . y)] in f . (the_result_sort_of o) )
set ao =
the_arity_of o;
set ro =
the_result_sort_of o;
set S1 = the
Sorts of
U1;
A5:
dom x = dom (the_arity_of o)
by MSUALG_3:6;
A6:
dom y = dom (the_arity_of o)
by MSUALG_3:6;
assume A7:
for
n being
Nat st
n in dom x holds
[(x . n),(y . n)] in f . ((the_arity_of o) /. n)
;
[((Den o,U1) . x),((Den o,U1) . y)] in f . (the_result_sort_of o)
A8:
now let n be
set ;
( n in dom (the_arity_of o) implies (F # x) . n = (F # y) . n )assume A9:
n in dom (the_arity_of o)
;
(F # x) . n = (F # y) . nthen reconsider m =
n as
Nat by ORDINAL1:def 13;
A10:
(
(F # x) . m = (F . ((the_arity_of o) /. m)) . (x . m) &
(F # y) . m = (F . ((the_arity_of o) /. m)) . (y . m) )
by A5, A6, A9, MSUALG_3:def 8;
(the_arity_of o) . m in rng (the_arity_of o)
by A9, FUNCT_1:def 5;
then reconsider s =
(the_arity_of o) . m as
SortSymbol of
S ;
A11:
n in dom (the Sorts of U1 * (the_arity_of o))
by A9, PARTFUN1:def 4;
then
(
x . m in (the Sorts of U1 * (the_arity_of o)) . n &
y . m in (the Sorts of U1 * (the_arity_of o)) . n )
by MSUALG_3:6;
then reconsider x1 =
x . m,
y1 =
y . m as
Element of the
Sorts of
U1 . s by A11, FUNCT_1:22;
A12:
[x1,y1] in f . ((the_arity_of o) /. m)
by A7, A5, A9;
A13:
(the_arity_of o) /. m = (the_arity_of o) . m
by A9, PARTFUN1:def 8;
then
f . ((the_arity_of o) /. m) = MSCng F,
s
by A2;
hence
(F # x) . n = (F # y) . n
by A10, A13, A12, Def19;
verum end;
(
dom (F # x) = dom (the_arity_of o) &
dom (F # y) = dom (the_arity_of o) )
by MSUALG_3:6;
then A14:
F # x = F # y
by A8, FUNCT_1:9;
reconsider ro =
the_result_sort_of o as
SortSymbol of
S ;
A15:
dom the
ResultSort of
S = the
carrier' of
S
by FUNCT_2:def 1;
then A16:
dom (the Sorts of U1 * the ResultSort of S) = dom the
ResultSort of
S
by PARTFUN1:def 4;
Result o,
U1 =
(the Sorts of U1 * the ResultSort of S) . o
by MSUALG_1:def 10
.=
the
Sorts of
U1 . (the ResultSort of S . o)
by A15, A16, FUNCT_1:22
.=
the
Sorts of
U1 . ro
by MSUALG_1:def 7
;
then reconsider Dx =
(Den o,U1) . x,
Dy =
(Den o,U1) . y as
Element of the
Sorts of
U1 . ro ;
A17:
(F . ro) . Dy = (Den o,U2) . (F # y)
by A1, MSUALG_3:def 9;
(
f . ro = MSCng F,
ro &
(F . ro) . Dx = (Den o,U2) . (F # x) )
by A1, A2, MSUALG_3:def 9;
hence
[((Den o,U1) . x),((Den o,U1) . y)] in f . (the_result_sort_of o)
by A14, A17, Def19;
verum
end;
then reconsider f = f as MSCongruence of U1 by Def6;
take
f
; for s being SortSymbol of S holds f . s = MSCng F,s
thus
for s being SortSymbol of S holds f . s = MSCng F,s
by A2; verum