let C1, C2 be non empty transitive AltCatStr ; ( the carrier of C1 = F1() & ( for a, b being Object of C1 holds <^a,b^> = F2(a,b) ) & ( for a, b, c being Object of C1 st <^a,b^> <> {} & <^b,c^> <> {} holds
for f being Morphism of a,b
for g being Morphism of b,c holds g * f = F3(a,b,c,f,g) ) & the carrier of C2 = F1() & ( for a, b being Object of C2 holds <^a,b^> = F2(a,b) ) & ( for a, b, c being Object of C2 st <^a,b^> <> {} & <^b,c^> <> {} holds
for f being Morphism of a,b
for g being Morphism of b,c holds g * f = F3(a,b,c,f,g) ) implies AltCatStr(# the carrier of C1, the Arrows of C1, the Comp of C1 #) = AltCatStr(# the carrier of C2, the Arrows of C2, the Comp of C2 #) )
assume that
A1:
the carrier of C1 = F1()
and
A2:
for a, b being Object of C1 holds <^a,b^> = F2(a,b)
and
A3:
for a, b, c being Object of C1 st <^a,b^> <> {} & <^b,c^> <> {} holds
for f being Morphism of a,b
for g being Morphism of b,c holds g * f = F3(a,b,c,f,g)
and
A4:
the carrier of C2 = F1()
and
A5:
for a, b being Object of C2 holds <^a,b^> = F2(a,b)
and
A6:
for a, b, c being Object of C2 st <^a,b^> <> {} & <^b,c^> <> {} holds
for f being Morphism of a,b
for g being Morphism of b,c holds g * f = F3(a,b,c,f,g)
; AltCatStr(# the carrier of C1, the Arrows of C1, the Comp of C1 #) = AltCatStr(# the carrier of C2, the Arrows of C2, the Comp of C2 #)
A7:
now for i being object st i in [:F1(),F1():] holds
the Arrows of C1 . i = the Arrows of C2 . ilet i be
object ;
( i in [:F1(),F1():] implies the Arrows of C1 . i = the Arrows of C2 . i )assume
i in [:F1(),F1():]
;
the Arrows of C1 . i = the Arrows of C2 . ithen consider a,
b being
object such that A8:
a in F1()
and A9:
b in F1()
and A10:
i = [a,b]
by ZFMISC_1:def 2;
reconsider a1 =
a,
b1 =
b as
Object of
C1 by A1, A8, A9;
reconsider a2 =
a,
b2 =
b as
Object of
C2 by A4, A8, A9;
thus the
Arrows of
C1 . i =
<^a1,b1^>
by A10
.=
F2(
a1,
b1)
by A2
.=
<^a2,b2^>
by A5
.=
the
Arrows of
C2 . i
by A10
;
verum end;
then A11:
the Arrows of C1 = the Arrows of C2
by A1, A4, PBOOLE:3;
now for i being object st i in [:F1(),F1(),F1():] holds
the Comp of C1 . i = the Comp of C2 . ilet i be
object ;
( i in [:F1(),F1(),F1():] implies the Comp of C1 . i = the Comp of C2 . i )assume
i in [:F1(),F1(),F1():]
;
the Comp of C1 . i = the Comp of C2 . ithen consider a,
b,
c being
object such that A12:
a in F1()
and A13:
b in F1()
and A14:
c in F1()
and A15:
i = [a,b,c]
by MCART_1:68;
reconsider a1 =
a,
b1 =
b,
c1 =
c as
Object of
C1 by A1, A12, A13, A14;
reconsider a2 =
a,
b2 =
b,
c2 =
c as
Object of
C2 by A4, A12, A13, A14;
A16:
the
Comp of
C1 . i = the
Comp of
C1 . (
a1,
b1,
c1)
by A15, MULTOP_1:def 1;
A17:
the
Comp of
C2 . i = the
Comp of
C2 . (
a2,
b2,
c2)
by A15, MULTOP_1:def 1;
then A21:
dom ( the Comp of C1 . (a1,b1,c1)) = [:<^b1,c1^>,<^a1,b1^>:]
by FUNCT_2:def 1;
A22:
dom ( the Comp of C2 . (a2,b2,c2)) = [:<^b1,c1^>,<^a1,b1^>:]
by A11, A18, FUNCT_2:def 1;
now for j being object st j in [:<^b1,c1^>,<^a1,b1^>:] holds
( the Comp of C1 . (a1,b1,c1)) . j = ( the Comp of C2 . (a2,b2,c2)) . jlet j be
object ;
( j in [:<^b1,c1^>,<^a1,b1^>:] implies ( the Comp of C1 . (a1,b1,c1)) . j = ( the Comp of C2 . (a2,b2,c2)) . j )assume
j in [:<^b1,c1^>,<^a1,b1^>:]
;
( the Comp of C1 . (a1,b1,c1)) . j = ( the Comp of C2 . (a2,b2,c2)) . jthen consider j1,
j2 being
object such that A23:
j1 in <^b1,c1^>
and A24:
j2 in <^a1,b1^>
and A25:
j = [j1,j2]
by ZFMISC_1:def 2;
reconsider j1 =
j1 as
Morphism of
b1,
c1 by A23;
reconsider j2 =
j2 as
Morphism of
a1,
b1 by A24;
reconsider f1 =
j1 as
Morphism of
b2,
c2 by A1, A4, A7, PBOOLE:3;
reconsider f2 =
j2 as
Morphism of
a2,
b2 by A1, A4, A7, PBOOLE:3;
thus ( the Comp of C1 . (a1,b1,c1)) . j =
( the Comp of C1 . (a1,b1,c1)) . (
j1,
j2)
by A25
.=
j1 * j2
by A23, A24, ALTCAT_1:def 8
.=
F3(
a1,
b1,
c1,
j2,
j1)
by A3, A23, A24
.=
f1 * f2
by A6, A11, A23, A24
.=
( the Comp of C2 . (a2,b2,c2)) . (
f1,
f2)
by A11, A23, A24, ALTCAT_1:def 8
.=
( the Comp of C2 . (a2,b2,c2)) . j
by A25
;
verum end; hence
the
Comp of
C1 . i = the
Comp of
C2 . i
by A16, A17, A21, A22;
verum end;
hence
AltCatStr(# the carrier of C1, the Arrows of C1, the Comp of C1 #) = AltCatStr(# the carrier of C2, the Arrows of C2, the Comp of C2 #)
by A1, A4, A11, PBOOLE:3; verum