let C1, C2 be semi-functional para-functional category; ( the carrier of C1 = F1() & ( for a being Object of C1
for x being set holds
( x in the_carrier_of a iff ( x in F2(a) & P1[a,x] ) ) ) & ( for a, b being Element of F1()
for f being Function holds
( f in the Arrows of C1 . (a,b) iff ( f in Funcs ((C1 -carrier_of a),(C1 -carrier_of b)) & P2[a,b,f] ) ) ) & the carrier of C2 = F1() & ( for a being Object of C2
for x being set holds
( x in the_carrier_of a iff ( x in F2(a) & P1[a,x] ) ) ) & ( for a, b being Element of F1()
for f being Function holds
( f in the Arrows of C2 . (a,b) iff ( f in Funcs ((C2 -carrier_of a),(C2 -carrier_of b)) & P2[a,b,f] ) ) ) 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 being Object of C1
for x being set holds
( x in the_carrier_of a iff ( x in F2(a) & P1[a,x] ) )
and
A3:
for a, b being Element of F1()
for f being Function holds
( f in the Arrows of C1 . (a,b) iff ( f in Funcs ((C1 -carrier_of a),(C1 -carrier_of b)) & P2[a,b,f] ) )
and
A4:
the carrier of C2 = F1()
and
A5:
for a being Object of C2
for x being set holds
( x in the_carrier_of a iff ( x in F2(a) & P1[a,x] ) )
and
A6:
for a, b being Element of F1()
for f being Function holds
( f in the Arrows of C2 . (a,b) iff ( f in Funcs ((C2 -carrier_of a),(C2 -carrier_of b)) & P2[a,b,f] ) )
; 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 #)
deffunc H1( set ) -> set = C1 -carrier_of $1;
A7:
for C1, C2 being semi-functional para-functional category st the carrier of C1 = F1() & ( for a, b being Element of F1()
for f being Function holds
( f in the Arrows of C1 . (a,b) iff ( f in Funcs (H1(a),H1(b)) & P2[a,b,f] ) ) ) & the carrier of C2 = F1() & ( for a, b being Element of F1()
for f being Function holds
( f in the Arrows of C2 . (a,b) iff ( f in Funcs (H1(a),H1(b)) & P2[a,b,f] ) ) ) holds
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 #)
from YELLOW18:sch 20();
now for a, b being Element of F1()
for f being Function holds
( f in the Arrows of C2 . (a,b) iff ( f in Funcs (H1(a),H1(b)) & P2[a,b,f] ) )let a,
b be
Element of
F1();
for f being Function holds
( f in the Arrows of C2 . (a,b) iff ( f in Funcs (H1(a),H1(b)) & P2[a,b,f] ) )let f be
Function;
( f in the Arrows of C2 . (a,b) iff ( f in Funcs (H1(a),H1(b)) & P2[a,b,f] ) )A9:
H1(
a)
= C2 -carrier_of a
by A8;
H1(
b)
= C2 -carrier_of b
by A8;
hence
(
f in the
Arrows of
C2 . (
a,
b) iff (
f in Funcs (
H1(
a),
H1(
b)) &
P2[
a,
b,
f] ) )
by A6, A9;
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, A3, A4, A7; verum