
theorem Th4:
  for C being composable with_identities CategoryStr,
      f1,f2 being morphism of C st f1 |> f2
  holds
  (f1 is identity implies f1(*)f2 = f2) &
  (f2 is identity implies f1(*)f2 = f1)
  proof
    let C be composable with_identities CategoryStr;
    let f1,f2 be morphism of C;
    assume
A1: f1 |> f2;
    then
A2: C is non empty by CAT_6:1;
    thus f1 is identity implies f1(*)f2 = f2
    proof
      assume f1 is identity;
      then dom f1 = f1 by CAT_7:6;
      then cod f2 = f1 by A1,A2,CAT_7:5;
      hence f1(*)f2 = f2 by A2,CAT_7:9;
    end;
    assume f2 is identity;
    then cod f2 = f2 by CAT_7:6;
    then dom f1 = f2 by A1,A2,CAT_7:5;
    hence f1(*)f2 = f1 by A2,CAT_7:8;
  end;
