
theorem Th24:
  for C being composable with_identities CategoryStr,
      a,b,c being Object of C, f1 being Morphism of a,b,
      f2 being Morphism of b,c
  st Hom(a,b) <> {} & Hom(b,c) <> {}
  holds
  (f1 is identity implies f2 * f1 = f2) &
  (f2 is identity implies f2 * f1 = f1)
  proof
    let C be composable with_identities CategoryStr;
    let a,b,c be Object of C;
    let f1 be Morphism of a,b;
    let f2 be Morphism of b,c;
    assume
A1: Hom(a,b) <> {} & Hom(b,c) <> {};
    then
A2: C is non empty;
A3: f2 |> f1 by A1,Th17;
    thus (f1 is identity implies f2 * f1 = f2)
    proof
      assume
      f1 is identity;
      then
A4:   f1 is Object of C by A2,CAT_6:22;
      thus f2 * f1 = f2 (*) f1 by A1,Def4
      .= f2 by A2,A4,A3,CAT_6:23;
    end;
    assume
    f2 is identity;
    then
A5: f2 is Object of C by A2,CAT_6:22;
    thus f2 * f1 = f2 (*) f1 by A1,Def4
    .= f1 by A2,A5,A3,CAT_6:23;
  end;
