let A be non empty AltCatStr ; :: thesis: 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; :: thesis: ( 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:29; :: thesis: ( ( 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 )
assume A1:
for a1, a2 being object of A
for b1, b2 being object of B st b1 = a1 & b2 = a2 holds
<^b1,b2^> = <^a1,a2^>
; :: thesis: B is full
A2:
the carrier of B c= the carrier of A
by ALTCAT_2:def 11;
then A3:
[: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 XBOOLE_1:28, ZFMISC_1:119;
A4:
( dom the Arrows of A = [:the carrier of A,the carrier of A:] & dom the Arrows of B = [:the carrier of B,the carrier of B:] )
by PARTFUN1:def 4;
hence
the Arrows of B = the Arrows of A || the carrier of B
by A3, A4, FUNCT_1:68; :: according to ALTCAT_2:def 13 :: thesis: verum