let A1, A2 be strict MSAlgebra over CatSign the carrier of C; ( ( for a, b being Object of C holds the Sorts of A1 . (homsym (a,b)) = Hom (a,b) ) & ( for a being Object of C holds (Den ((idsym a),A1)) . {} = id a ) & ( for a, b, c being Object of C
for f, g being Morphism of C st dom f = a & cod f = b & dom g = b & cod g = c holds
(Den ((compsym (a,b,c)),A1)) . <*g,f*> = g (*) f ) & ( for a, b being Object of C holds the Sorts of A2 . (homsym (a,b)) = Hom (a,b) ) & ( for a being Object of C holds (Den ((idsym a),A2)) . {} = id a ) & ( for a, b, c being Object of C
for f, g being Morphism of C st dom f = a & cod f = b & dom g = b & cod g = c holds
(Den ((compsym (a,b,c)),A2)) . <*g,f*> = g (*) f ) implies A1 = A2 )
assume that
A1:
for a, b being Object of C holds the Sorts of A1 . (homsym (a,b)) = Hom (a,b)
and
A2:
for a being Object of C holds (Den ((idsym a),A1)) . {} = id a
and
A3:
for a, b, c being Object of C
for f, g being Morphism of C st dom f = a & cod f = b & dom g = b & cod g = c holds
(Den ((compsym (a,b,c)),A1)) . <*g,f*> = g (*) f
and
A4:
for a, b being Object of C holds the Sorts of A2 . (homsym (a,b)) = Hom (a,b)
and
A5:
for a being Object of C holds (Den ((idsym a),A2)) . {} = id a
and
A6:
for a, b, c being Object of C
for f, g being Morphism of C st dom f = a & cod f = b & dom g = b & cod g = c holds
(Den ((compsym (a,b,c)),A2)) . <*g,f*> = g (*) f
; A1 = A2
A7:
now for i being object st i in the carrier' of (CatSign the carrier of C) holds
the Charact of A1 . i = the Charact of A2 . ilet i be
object ;
( i in the carrier' of (CatSign the carrier of C) implies the Charact of A1 . b1 = the Charact of A2 . b1 )assume
i in the
carrier' of
(CatSign the carrier of C)
;
the Charact of A1 . b1 = the Charact of A2 . b1then reconsider o =
i as
OperSymbol of
(CatSign the carrier of C) ;
per cases
( o `1 = 1 or o `1 = 2 )
by Th16;
suppose
o `1 = 1
;
the Charact of A1 . b1 = the Charact of A2 . b1then consider a being
Object of
C such that A8:
o = idsym a
by Th17;
A9:
id a in Hom (
a,
a)
by CAT_1:27;
A10:
the_result_sort_of (idsym a) = homsym (
a,
a)
by Def3;
the
Sorts of
A1 . (homsym (a,a)) = Hom (
a,
a)
by A1;
then
Result (
(idsym a),
A1)
= Hom (
a,
a)
by A10, PRALG_2:3;
then A11:
dom (Den ((idsym a),A1)) = Args (
(idsym a),
A1)
by A9, FUNCT_2:def 1;
the
Sorts of
A2 . (homsym (a,a)) = Hom (
a,
a)
by A4;
then
Result (
(idsym a),
A2)
= Hom (
a,
a)
by A10, PRALG_2:3;
then A14:
dom (Den ((idsym a),A2)) = Args (
(idsym a),
A2)
by A9, FUNCT_2:def 1;
(
Args (
(idsym a),
A1)
= {{}} &
Args (
(idsym a),
A2)
= {{}} )
by Th25;
hence
the
Charact of
A1 . i = the
Charact of
A2 . i
by A8, A11, A14, A12, FUNCT_1:2;
verum end; suppose
o `1 = 2
;
the Charact of A1 . b1 = the Charact of A2 . b1then consider a,
b,
c being
Object of
C such that A15:
o = compsym (
a,
b,
c)
by Th18;
A16:
now ( product <*(Hom (b,c)),(Hom (a,b))*> <> {} implies Hom (a,c) <> {} )assume
product <*(Hom (b,c)),(Hom (a,b))*> <> {}
;
Hom (a,c) <> {} then reconsider X =
product <*(Hom (b,c)),(Hom (a,b))*> as non
empty set ;
set x = the
Element of
X;
consider g,
f being
object such that A17:
g in Hom (
b,
c)
and A18:
f in Hom (
a,
b)
and
the
Element of
X = <*g,f*>
by FINSEQ_3:124;
reconsider g =
g,
f =
f as
Morphism of
C by A17, A18;
A19:
(
cod f = b &
dom g = b )
by A17, A18, CAT_1:1;
cod g = c
by A17, CAT_1:1;
then A20:
cod (g (*) f) = c
by A19, CAT_1:17;
dom f = a
by A18, CAT_1:1;
then
dom (g (*) f) = a
by A19, CAT_1:17;
hence
Hom (
a,
c)
<> {}
by A20, CAT_1:1;
verum end; A21:
now for x being object st x in product <*(Hom (b,c)),(Hom (a,b))*> holds
(Den ((compsym (a,b,c)),A1)) . x = (Den ((compsym (a,b,c)),A2)) . xlet x be
object ;
( x in product <*(Hom (b,c)),(Hom (a,b))*> implies (Den ((compsym (a,b,c)),A1)) . x = (Den ((compsym (a,b,c)),A2)) . x )assume
x in product <*(Hom (b,c)),(Hom (a,b))*>
;
(Den ((compsym (a,b,c)),A1)) . x = (Den ((compsym (a,b,c)),A2)) . xthen consider g,
f being
object such that A22:
g in Hom (
b,
c)
and A23:
f in Hom (
a,
b)
and A24:
x = <*g,f*>
by FINSEQ_3:124;
reconsider g =
g,
f =
f as
Morphism of
C by A22, A23;
A25:
(
dom g = b &
cod g = c )
by A22, CAT_1:1;
A26:
(
dom f = a &
cod f = b )
by A23, CAT_1:1;
then
(Den ((compsym (a,b,c)),A1)) . x = g (*) f
by A3, A24, A25;
hence
(Den ((compsym (a,b,c)),A1)) . x = (Den ((compsym (a,b,c)),A2)) . x
by A6, A24, A26, A25;
verum end; A27:
Args (
(compsym (a,b,c)),
A1)
= product <*(Hom (b,c)),(Hom (a,b))*>
by A1, Lm5;
A28:
Args (
(compsym (a,b,c)),
A2)
= product <*(Hom (b,c)),(Hom (a,b))*>
by A4, Lm5;
Result (
(compsym (a,b,c)),
A2)
= Hom (
a,
c)
by A4, Lm5;
then A29:
dom (Den ((compsym (a,b,c)),A2)) = Args (
(compsym (a,b,c)),
A2)
by A28, A16, FUNCT_2:def 1;
Result (
(compsym (a,b,c)),
A1)
= Hom (
a,
c)
by A1, Lm5;
then
dom (Den ((compsym (a,b,c)),A1)) = Args (
(compsym (a,b,c)),
A1)
by A27, A16, FUNCT_2:def 1;
hence
the
Charact of
A1 . i = the
Charact of
A2 . i
by A15, A27, A28, A29, A21, FUNCT_1:2;
verum end; end; end;
then
the Sorts of A1 = the Sorts of A2
;
hence
A1 = A2
by A7, PBOOLE:3; verum