let C be non empty transitive associative AltCatStr ; :: thesis: for o1, o2, o3 being object of st <^o1,o2^> <> {} & <^o2,o3^> <> {} holds
for A being Morphism of ,
for B being Morphism of , st A is mono & B is mono holds
B * A is mono

let o1, o2, o3 be object of ; :: thesis: ( <^o1,o2^> <> {} & <^o2,o3^> <> {} implies for A being Morphism of ,
for B being Morphism of , st A is mono & B is mono holds
B * A is mono )

assume that
A1: <^o1,o2^> <> {} and
A2: <^o2,o3^> <> {} ; :: thesis: for A being Morphism of ,
for B being Morphism of , st A is mono & B is mono holds
B * A is mono

let A be Morphism of ,; :: thesis: for B being Morphism of , st A is mono & B is mono holds
B * A is mono

let B be Morphism of ,; :: thesis: ( A is mono & B is mono implies B * A is mono )
assume that
A3: A is mono and
A4: B is mono ; :: thesis: B * A is mono
let o be object of ; :: according to ALTCAT_3:def 7 :: thesis: ( <^o,o1^> <> {} implies for B, C being Morphism of , st (B * A) * B = (B * A) * C holds
B = C )

assume A5: <^o,o1^> <> {} ; :: thesis: for B, C being Morphism of , st (B * A) * B = (B * A) * C holds
B = C

then A6: <^o,o2^> <> {} by A1, ALTCAT_1:def 4;
let M1, M2 be Morphism of ,; :: thesis: ( (B * A) * M1 = (B * A) * M2 implies M1 = M2 )
assume A7: (B * A) * M1 = (B * A) * M2 ; :: thesis: M1 = M2
( (B * A) * M1 = B * (A * M1) & (B * A) * M2 = B * (A * M2) ) by A1, A2, A5, ALTCAT_1:25;
then A * M1 = A * M2 by A4, A7, A6, Def7;
hence M1 = M2 by A3, A5, Def7; :: thesis: verum