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 Th17:
  <*x*> ==>. y implies <*z/"y*> ==>. z/"x & <*y\z*> ==>. x\z
proof
  assume
A1: <*x*> ==>. y;
A2: <*z*> ==>. z by Def18;
  then
A3: <*z/"y*>^<*x*> ==>. z by A1,Lm4;
  <*x*>^<*y\z*> ==>. z by A1,A2,Lm7;
  hence thesis by A3,Def18;
end;
