let C be Category; :: thesis: for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,c) <> {} holds
g * f in Hom (a,c)

let a, b, c be Object of C; :: thesis: for f being Morphism of a,b
for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,c) <> {} holds
g * f in Hom (a,c)

let f be Morphism of a,b; :: thesis: for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,c) <> {} holds
g * f in Hom (a,c)

let g be Morphism of b,c; :: thesis: ( Hom (a,b) <> {} & Hom (b,c) <> {} implies g * f in Hom (a,c) )
assume that
A1: Hom (a,b) <> {} and
A2: Hom (b,c) <> {} ; :: thesis: g * f in Hom (a,c)
A3: f in Hom (a,b) by A1, Def7;
then A4: cod f = b by Th18;
A5: g in Hom (b,c) by A2, Def7;
then A6: dom g = b by Th18;
cod g = c by A5, Th18;
then A7: cod (g * f) = c by A6, A4, Th42;
dom f = a by A3, Th18;
then dom (g * f) = a by A6, A4, Th42;
hence g * f in Hom (a,c) by A7; :: thesis: verum