reserve x,y,z,a,b,c,X,A for set;
reserve C,D for Coherence_Space;
reserve T for Tolerance of union C;
reserve E for Tolerance of X;
reserve C,C1,C2 for Element of CSp(X);
reserve g for Element of FuncsC(X);
reserve l,l1,l2,l3 for Element of MapsC(X);

theorem Th23:
  dom l2 = cod l1 & dom l3 = cod l2 implies l3*(l2*l1) = (l3*l2)* l1
proof
  assume that
A1: dom l2 = cod l1 and
A2: dom l3 = cod l2;
A3: cod(l2*l1) = cod l2 by A1,Th22;
  (l2*l1)`2 = l2`2*l1`2 by A1,Th22;
  then
A4: (l3*(l2*l1))`2 = l3`2*(l2`2*l1`2) by A2,A3,Th22;
A5: dom(l3*l2) = dom l2 by A2,Th22;
  then
A6: dom((l3*l2)*l1) = dom l1 by A1,Th22;
  dom(l2*l1) = dom l1 by A1,Th22;
  then
A7: dom(l3*(l2*l1)) = dom l1 by A2,A3,Th22;
  cod(l3*l2) = cod l3 by A2,Th22;
  then
A8: cod((l3*l2)*l1) = cod l3 by A1,A5,Th22;
  (l3*l2)`2 = l3`2*l2`2 by A2,Th22;
  then
A9: ((l3*l2)*l1)`2 = (l3`2*l2`2)*l1`2 by A1,A5,Th22;
  cod(l3*(l2*l1)) = cod l3 by A2,A3,Th22;
  hence thesis by A4,A7,A9,A6,A8,Lm1,RELAT_1:36;
end;
