
theorem Th23:
  for C being category, a,b,c,d being Object of C,
      f1 being Morphism of a,b, f2 being Morphism of b,c,
      f3 being Morphism of c,d
  st Hom(a,b) <> {} & Hom(b,c) <> {} & Hom(c,d) <> {}
  holds f3 * (f2 * f1) = (f3 * f2) * f1
  proof
    let C be category;
    let a,b,c,d be Object of C;
    let f1 be Morphism of a,b;
    let f2 be Morphism of b,c;
    let f3 be Morphism of c,d;
    assume
A1: Hom(a,b) <> {};
    assume
A2: Hom(b,c) <> {};
    assume
A3: Hom(c,d) <> {};
A4: Hom(a,c) <> {} by A1,A2,Th22;
A5: Hom(b,d) <> {} by A2,A3,Th22;
A6: f3 |> f2 & f2 |> f1 by A1,A2,A3,Th17;
    f3 * f2 |> f1 by A5,A1,Th17;
    then
A7: f3 (*) f2 |> f1 by A2,A3,Def4;
    f3 |> f2 * f1 by A4,A3,Th17;
    then
A8: f3 |> f2 (*) f1 by A1,A2,Def4;
    thus f3 * (f2 * f1) = f3 (*) (f2 * f1) by A3,A4,Def4
    .= f3 (*) (f2 (*) f1) by A1,A2,Def4
    .= (f3 (*) f2) (*) f1 by A6,A7,A8,CAT_6:def 10
    .= (f3 * f2) (*) f1 by A2,A3,Def4
    .= (f3 * f2) * f1 by A1,A5,Def4;
  end;
