let A be non empty AltCatStr ; for B being non empty SubCatStr of A holds
( B is full iff for a1, a2 being Object of A
for b1, b2 being Object of B st b1 = a1 & b2 = a2 holds
<^b1,b2^> = <^a1,a2^> )
let B be non empty SubCatStr of A; ( B is full iff for a1, a2 being Object of A
for b1, b2 being Object of B st b1 = a1 & b2 = a2 holds
<^b1,b2^> = <^a1,a2^> )
thus
( B is full implies for a1, a2 being Object of A
for b1, b2 being Object of B st b1 = a1 & b2 = a2 holds
<^b1,b2^> = <^a1,a2^> )
by ALTCAT_2:28; ( ( for a1, a2 being Object of A
for b1, b2 being Object of B st b1 = a1 & b2 = a2 holds
<^b1,b2^> = <^a1,a2^> ) implies B is full )
A1:
the carrier of B c= the carrier of A
by ALTCAT_2:def 11;
A2:
dom the Arrows of B = [: the carrier of B, the carrier of B:]
by PARTFUN1:def 2;
assume A3:
for a1, a2 being Object of A
for b1, b2 being Object of B st b1 = a1 & b2 = a2 holds
<^b1,b2^> = <^a1,a2^>
; B is full
A7:
dom the Arrows of A = [: the carrier of A, the carrier of A:]
by PARTFUN1:def 2;
[: the carrier of A, the carrier of A:] /\ [: the carrier of B, the carrier of B:] = [: the carrier of B, the carrier of B:]
by A1, XBOOLE_1:28, ZFMISC_1:96;
hence
the Arrows of B = the Arrows of A || the carrier of B
by A7, A2, A4, FUNCT_1:46; ALTCAT_2:def 13 verum