reserve s for non empty typealg,
  T,X,Y,T9,X9,Y9 for FinSequence of s,
  x,y,z,y9,z9 for type of s;
reserve Tr for PreProof of s;
reserve p for Proof of s,
  v for Element of dom p;
reserve A for non empty set,
  a,a1,a2,b for Element of A*;
reserve s for non empty typestr,
  x for type of s;
reserve s for SynTypes_Calculus,
  T,X,Y for FinSequence of s,
  x,y,z for type of s;

theorem
  x*y*z <==>. x*(y*z)
proof
A1: <*x*> ==>. x by Def18;
A2: <*y*> ==>. y by Def18;
A3: <*z*> ==>. z by Def18;
  <*x*>^<*y*> ==>. x*y by A1,A2,Def18;
  then <*x*>^<*y*>^<*z*> ==>. (x*y)*z by A3,Def18;
  then <*x*>^<*y*z*> ==>. (x*y)*z by Lm9;
  then
A4: <*x*(y*z)*> ==>. (x*y)*z by Lm10;
  <*y*>^<*z*> ==>. y*z by A2,A3,Def18;
  then <*x*>^(<*y*>^<*z*>) ==>. x*(y*z) by A1,Def18;
  then <*x*>^<*y*>^<*z*> ==>. x*(y*z) by FINSEQ_1:32;
  then <*x*y*>^<*z*> ==>. x*(y*z) by Lm8;
  then <*x*y*z*> ==>. x*(y*z) by Lm10;
  hence thesis by A4;
end;
