for C1, C2 being semi-functional para-functional category st the carrier of C1 = the carrier of C & ( for a being object of C1
for x being set holds
( x in the_carrier_of a iff ( x in H1(a) & S1[a,x] ) ) ) & ( for a, b being Element of C
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) & S2[a,b,f] ) ) ) & the carrier of C2 = the carrier of C & ( for a being object of C2
for x being set holds
( x in the_carrier_of a iff ( x in H1(a) & S1[a,x] ) ) ) & ( for a, b being Element of C
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) & S2[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 21();
hence for b1, b2 being strict concrete category st the carrier of b1 = the carrier of C & ( for a being object of b1
for x being set holds
( x in the_carrier_of a iff ( x in Union (disjoin the Arrows of C) & a = x `22 ) ) ) & ( for a, b being Element of C
for f being Function holds
( f in the Arrows of b1 . a,b iff ( f in Funcs (b1 -carrier_of a),(b1 -carrier_of b) & ex fa, fb being object of C ex g being Morphism of fa,fb st
( fa = a & fb = b & <^fa,fb^> <> {} & ( for o being object of C st <^o,fa^> <> {} holds
for h being Morphism of o,fa holds f . [h,[o,fa]] = [(g * h),[o,fb]] ) ) ) ) ) & the carrier of b2 = the carrier of C & ( for a being object of b2
for x being set holds
( x in the_carrier_of a iff ( x in Union (disjoin the Arrows of C) & a = x `22 ) ) ) & ( for a, b being Element of C
for f being Function holds
( f in the Arrows of b2 . a,b iff ( f in Funcs (b2 -carrier_of a),(b2 -carrier_of b) & ex fa, fb being object of C ex g being Morphism of fa,fb st
( fa = a & fb = b & <^fa,fb^> <> {} & ( for o being object of C st <^o,fa^> <> {} holds
for h being Morphism of o,fa holds f . [h,[o,fa]] = [(g * h),[o,fb]] ) ) ) ) ) holds
b1 = b2 ; :: thesis: verum