consider EMF being MSAlgebra-Family of {} ,F1();
set CC = { C where C is Element of (CongrLatt F2()) : ex R being MSCongruence of F2() st
( R = C & P1[ QuotMSAlg (F2(),R)] ) } ;
set SF = the Sorts of F2();
set I = the carrier of F1();
consider Xi being ManySortedSet of the carrier of F1() such that
A4:
{Xi} = the carrier of F1() --> {{}}
by MSUALG_9:6;
then A5:
the Sorts of (product EMF) = {Xi}
by PBOOLE:3;
reconsider R = [| the Sorts of F2(), the Sorts of F2()|] as MSCongruence of F2() by MSUALG_5:20;
[| the Sorts of F2(), the Sorts of F2()|] is MSCongruence of F2()
by MSUALG_5:20;
then A6:
[| the Sorts of F2(), the Sorts of F2()|] is Element of (CongrLatt F2())
by MSUALG_5:def 6;
the Sorts of (QuotMSAlg (F2(),R)) = { the Sorts of F2()}
by MSUALG_9:30;
then A7:
QuotMSAlg (F2(),R), Trivial_Algebra F1() are_isomorphic
by MSUALG_9:27;
for i being set st i in {} holds
ex A being MSAlgebra of F1() st
( A = EMF . i & P1[A] )
;
then
P1[ product EMF]
by A3;
then
P1[ Trivial_Algebra F1()]
by A1, A5, MSUALG_9:27;
then
P1[ QuotMSAlg (F2(),R)]
by A1, A7, MSUALG_3:17;
then A8:
[| the Sorts of F2(), the Sorts of F2()|] in { C where C is Element of (CongrLatt F2()) : ex R being MSCongruence of F2() st
( R = C & P1[ QuotMSAlg (F2(),R)] ) }
by A6;
defpred S1[ set , set ] means ex R being MSCongruence of F2() st
( R = $1 & $2 = QuotMSAlg (F2(),R) );
defpred S2[ set ] means ex R being MSCongruence of F2() st
( R = $1 & P1[ QuotMSAlg (F2(),R)] );
A10:
{ C where C is Element of (CongrLatt F2()) : ex R being MSCongruence of F2() st
( R = C & P1[ QuotMSAlg (F2(),R)] ) } c= the carrier of (EqRelLatt the Sorts of F2())
then reconsider CC = { C where C is Element of (CongrLatt F2()) : ex R being MSCongruence of F2() st
( R = C & P1[ QuotMSAlg (F2(),R)] ) } as non empty SubsetFamily of [| the Sorts of F2(), the Sorts of F2()|] by A8, MSUALG_7:6;
set R0 = meet |:CC:|;
A11:
meet |:CC:| is MSEquivalence_Relation-like ManySortedRelation of the Sorts of F2()
by A10, MSUALG_7:9;
reconsider R0 = meet |:CC:| as ManySortedRelation of F2() by A10, MSUALG_7:9;
R0 is MSEquivalence-like
then reconsider R0 = R0 as MSEquivalence-like ManySortedRelation of F2() ;
{ C where C is Element of (CongrLatt F2()) : S2[C] } is Subset of (CongrLatt F2())
from DOMAIN_1:sch 7();
then reconsider R0 = R0 as MSCongruence of F2() by MSUALG_9:29;
take A = QuotMSAlg (F2(),R0); ex F being ManySortedFunction of F2(),A st
( P1[A] & F is_epimorphism F2(),A & ( for B being non-empty MSAlgebra of F1()
for G being ManySortedFunction of F2(),B st G is_homomorphism F2(),B & P1[B] holds
ex H being ManySortedFunction of A,B st
( H is_homomorphism A,B & H ** F = G & ( for K being ManySortedFunction of A,B st K ** F = G holds
H = K ) ) ) )
reconsider F = MSNat_Hom (F2(),R0) as ManySortedFunction of F2(),A ;
take
F
; ( P1[A] & F is_epimorphism F2(),A & ( for B being non-empty MSAlgebra of F1()
for G being ManySortedFunction of F2(),B st G is_homomorphism F2(),B & P1[B] holds
ex H being ManySortedFunction of A,B st
( H is_homomorphism A,B & H ** F = G & ( for K being ManySortedFunction of A,B st K ** F = G holds
H = K ) ) ) )
A14:
now let c be
set ;
( c in CC implies ex w being set st S1[c,w] )assume
c in CC
;
ex w being set st S1[c,w]then reconsider cc =
c as
MSCongruence of
F2()
by A9;
consider w being
set such that A15:
w = QuotMSAlg (
F2(),
cc)
;
take w =
w;
S1[c,w]thus
S1[
c,
w]
by A15;
verum end;
consider FF being ManySortedSet of CC such that
A16:
for c being set st c in CC holds
S1[c,FF . c]
from PBOOLE:sch 3(A14);
FF is MSAlgebra-Family of CC,F1()
then reconsider FF = FF as MSAlgebra-Family of CC,F1() ;
defpred S3[ Element of CC, set ] means ex F1 being ManySortedFunction of F2(),(FF . $1) st
( F1 = $2 & F1 is_homomorphism F2(),FF . $1 & ex R being MSCongruence of F2() st
( $1 = R & F1 = MSNat_Hom (F2(),R) ) );
A17:
for c being Element of CC ex j being set st S3[c,j]
proof
let c be
Element of
CC;
ex j being set st S3[c,j]
consider R being
MSCongruence of
F2()
such that A18:
R = c
and A19:
FF . c = QuotMSAlg (
F2(),
R)
by A16;
set j =
MSNat_Hom (
F2(),
R);
reconsider F1 =
MSNat_Hom (
F2(),
R) as
ManySortedFunction of
F2(),
(FF . c) by A19;
take
MSNat_Hom (
F2(),
R)
;
S3[c, MSNat_Hom (F2(),R)]
take
F1
;
( F1 = MSNat_Hom (F2(),R) & F1 is_homomorphism F2(),FF . c & ex R being MSCongruence of F2() st
( c = R & F1 = MSNat_Hom (F2(),R) ) )
thus
F1 = MSNat_Hom (
F2(),
R)
;
( F1 is_homomorphism F2(),FF . c & ex R being MSCongruence of F2() st
( c = R & F1 = MSNat_Hom (F2(),R) ) )
MSNat_Hom (
F2(),
R)
is_epimorphism F2(),
QuotMSAlg (
F2(),
R)
by MSUALG_4:3;
hence
F1 is_homomorphism F2(),
FF . c
by A19, MSUALG_3:def 10;
ex R being MSCongruence of F2() st
( c = R & F1 = MSNat_Hom (F2(),R) )
take
R
;
( c = R & F1 = MSNat_Hom (F2(),R) )
thus
(
c = R &
F1 = MSNat_Hom (
F2(),
R) )
by A18;
verum
end;
consider FofI1 being ManySortedSet of CC such that
A20:
for c being Element of CC holds S3[c,FofI1 . c]
from PBOOLE:sch 6(A17);
A21:
for c being Element of CC ex F1 being ManySortedFunction of F2(),(FF . c) st
( F1 = FofI1 . c & F1 is_homomorphism F2(),FF . c )
FofI1 is Function-yielding
then reconsider FofI1 = FofI1 as ManySortedFunction of CC ;
consider H being ManySortedFunction of F2(),(product FF) such that
A24:
H is_homomorphism F2(), product FF
and
A25:
for c being Element of CC holds (proj (FF,c)) ** H = FofI1 . c
by A21, PRALG_3:30;
now let i be
set ;
( i in the carrier of F1() implies (MSCng H) . i = R0 . i )assume
i in the
carrier of
F1()
;
(MSCng H) . i = R0 . ithen reconsider s =
i as
SortSymbol of
F1() ;
consider Q being
Subset-Family of
([| the Sorts of F2(), the Sorts of F2()|] . s) such that A26:
Q = |:CC:| . s
and A27:
(meet |:CC:|) . s = Intersect Q
by MSSUBFAM:def 2;
A28:
|:CC:| . s = { (t . s) where t is Element of Bool [| the Sorts of F2(), the Sorts of F2()|] : t in CC }
by CLOSURE2:15;
(MSCng H) . s = R0 . s
proof
let a,
b be
set ;
RELAT_1:def 2 ( ( not [a,b] in (MSCng H) . s or [a,b] in R0 . s ) & ( not [a,b] in R0 . s or [a,b] in (MSCng H) . s ) )
hereby ( not [a,b] in R0 . s or [a,b] in (MSCng H) . s )
assume A29:
[a,b] in (MSCng H) . s
;
[a,b] in R0 . sthen A30:
a in the
Sorts of
F2()
. s
by ZFMISC_1:106;
A31:
b in the
Sorts of
F2()
. s
by A29, ZFMISC_1:106;
A32:
[a,b] in MSCng (
H,
s)
by A24, A29, MSUALG_4:def 20;
A33:
for
Y being
set st
Y in Q holds
[a,b] in Y
proof
let Y be
set ;
( Y in Q implies [a,b] in Y )
assume
Y in Q
;
[a,b] in Y
then consider t being
Element of
Bool [| the Sorts of F2(), the Sorts of F2()|] such that A34:
Y = t . s
and A35:
t in CC
by A26, A28;
reconsider t1 =
t as
Element of
CC by A35;
consider F1 being
ManySortedFunction of
F2(),
(FF . t1) such that A36:
F1 = FofI1 . t1
and
F1 is_homomorphism F2(),
FF . t1
and A37:
ex
R being
MSCongruence of
F2() st
(
t1 = R &
F1 = MSNat_Hom (
F2(),
R) )
by A20;
(F1 . s) . a =
(((proj (FF,t1)) ** H) . s) . a
by A25, A36
.=
(((proj (FF,t1)) . s) * (H . s)) . a
by MSUALG_3:2
.=
((proj (FF,t1)) . s) . ((H . s) . a)
by A30, FUNCT_2:21
.=
((proj (FF,t1)) . s) . ((H . s) . b)
by A30, A31, A32, MSUALG_4:def 19
.=
(((proj (FF,t1)) . s) * (H . s)) . b
by A31, FUNCT_2:21
.=
(((proj (FF,t1)) ** H) . s) . b
by MSUALG_3:2
.=
(F1 . s) . b
by A25, A36
;
hence
[a,b] in Y
by A30, A31, A34, A37, MSUALG_9:34;
verum
end;
[a,b] in [:( the Sorts of F2() . s),( the Sorts of F2() . s):]
by A29;
then
[a,b] in [| the Sorts of F2(), the Sorts of F2()|] . s
by PBOOLE:def 21;
hence
[a,b] in R0 . s
by A27, A33, SETFAM_1:58;
verum
end;
assume A38:
[a,b] in R0 . s
;
[a,b] in (MSCng H) . s
then A39:
a in the
Sorts of
F2()
. s
by ZFMISC_1:106;
A40:
b in the
Sorts of
F2()
. s
by A38, ZFMISC_1:106;
A41:
for
c being
Element of
CC holds
(proj ((Carrier (FF,s)),c)) . ((H . s) . a) = (proj ((Carrier (FF,s)),c)) . ((H . s) . b)
proof
let c be
Element of
CC;
(proj ((Carrier (FF,s)),c)) . ((H . s) . a) = (proj ((Carrier (FF,s)),c)) . ((H . s) . b)
reconsider t1 =
c as
MSCongruence of
F2()
by A9;
consider F1 being
ManySortedFunction of
F2(),
(FF . c) such that A42:
F1 = FofI1 . c
and
F1 is_homomorphism F2(),
FF . c
and A43:
ex
R being
MSCongruence of
F2() st
(
c = R &
F1 = MSNat_Hom (
F2(),
R) )
by A20;
t1 is
Element of
Bool [| the Sorts of F2(), the Sorts of F2()|]
by CLOSURE2:def 1;
then
t1 . s in |:CC:| . s
by A28;
then A44:
[a,b] in t1 . s
by A26, A27, A38, SETFAM_1:58;
thus (proj ((Carrier (FF,s)),c)) . ((H . s) . a) =
((proj (FF,c)) . s) . ((H . s) . a)
by PRALG_3:def 3
.=
(((proj (FF,c)) . s) * (H . s)) . a
by A39, FUNCT_2:21
.=
(((proj (FF,c)) ** H) . s) . a
by MSUALG_3:2
.=
(F1 . s) . a
by A25, A42
.=
(F1 . s) . b
by A39, A40, A44, A43, MSUALG_9:34
.=
(((proj (FF,c)) ** H) . s) . b
by A25, A42
.=
(((proj (FF,c)) . s) * (H . s)) . b
by MSUALG_3:2
.=
((proj (FF,c)) . s) . ((H . s) . b)
by A40, FUNCT_2:21
.=
(proj ((Carrier (FF,s)),c)) . ((H . s) . b)
by PRALG_3:def 3
;
verum
end;
(H . s) . b in the
Sorts of
(product FF) . s
by A40, FUNCT_2:7;
then A45:
(H . s) . b in product (Carrier (FF,s))
by PRALG_2:def 17;
(H . s) . a in the
Sorts of
(product FF) . s
by A39, FUNCT_2:7;
then
(H . s) . a in product (Carrier (FF,s))
by PRALG_2:def 17;
then
(H . s) . a = (H . s) . b
by A45, A41, MSUALG_9:15;
then
[a,b] in MSCng (
H,
s)
by A39, A40, MSUALG_4:def 19;
hence
[a,b] in (MSCng H) . s
by A24, MSUALG_4:def 20;
verum
end; hence
(MSCng H) . i = R0 . i
;
verum end;
then A46:
MSCng H = R0
by PBOOLE:3;
QuotMSAlg (F2(),(MSCng H)), Image (MSHomQuot H) are_isomorphic
by A24, MSUALG_4:4, MSUALG_9:17;
then consider XX being strict non-empty MSSubAlgebra of product FF such that
A47:
A,XX are_isomorphic
by A46;
for cc being set st cc in CC holds
ex A being MSAlgebra of F1() st
( A = FF . cc & P1[A] )
then
P1[XX]
by A2, A3;
hence
P1[A]
by A1, A47, MSUALG_3:17; ( F is_epimorphism F2(),A & ( for B being non-empty MSAlgebra of F1()
for G being ManySortedFunction of F2(),B st G is_homomorphism F2(),B & P1[B] holds
ex H being ManySortedFunction of A,B st
( H is_homomorphism A,B & H ** F = G & ( for K being ManySortedFunction of A,B st K ** F = G holds
H = K ) ) ) )
thus
F is_epimorphism F2(),A
by MSUALG_4:3; for B being non-empty MSAlgebra of F1()
for G being ManySortedFunction of F2(),B st G is_homomorphism F2(),B & P1[B] holds
ex H being ManySortedFunction of A,B st
( H is_homomorphism A,B & H ** F = G & ( for K being ManySortedFunction of A,B st K ** F = G holds
H = K ) )
then A50:
F is "onto"
by MSUALG_3:def 10;
let B be non-empty MSAlgebra of F1(); for G being ManySortedFunction of F2(),B st G is_homomorphism F2(),B & P1[B] holds
ex H being ManySortedFunction of A,B st
( H is_homomorphism A,B & H ** F = G & ( for K being ManySortedFunction of A,B st K ** F = G holds
H = K ) )
let G be ManySortedFunction of F2(),B; ( G is_homomorphism F2(),B & P1[B] implies ex H being ManySortedFunction of A,B st
( H is_homomorphism A,B & H ** F = G & ( for K being ManySortedFunction of A,B st K ** F = G holds
H = K ) ) )
assume that
A51:
G is_homomorphism F2(),B
and
A52:
P1[B]
; ex H being ManySortedFunction of A,B st
( H is_homomorphism A,B & H ** F = G & ( for K being ManySortedFunction of A,B st K ** F = G holds
H = K ) )
reconsider C = Image (MSHomQuot G) as strict non-empty MSSubAlgebra of B ;
A53:
QuotMSAlg (F2(),(MSCng G)),C are_isomorphic
by A51, MSUALG_4:4, MSUALG_9:17;
A54:
MSCng G is Element of (CongrLatt F2())
by MSUALG_5:def 6;
P1[C]
by A2, A52;
then
P1[ QuotMSAlg (F2(),(MSCng G))]
by A1, A53, MSUALG_3:17;
then
MSCng G in CC
by A54;
then
R0 c= MSCng G
by CLOSURE2:22, MSSUBFAM:43;
then consider H being ManySortedFunction of A,B such that
A55:
H is_homomorphism A,B
and
A56:
G = H ** F
by A51, MSUALG_9:37;
take
H
; ( H is_homomorphism A,B & H ** F = G & ( for K being ManySortedFunction of A,B st K ** F = G holds
H = K ) )
thus
H is_homomorphism A,B
by A55; ( H ** F = G & ( for K being ManySortedFunction of A,B st K ** F = G holds
H = K ) )
thus
G = H ** F
by A56; for K being ManySortedFunction of A,B st K ** F = G holds
H = K
let K be ManySortedFunction of A,B; ( K ** F = G implies H = K )
assume
K ** F = G
; H = K
hence
H = K
by A56, A50, EXTENS_1:16; verum