reserve i for Nat,
  j for Element of NAT,
  X,Y,x,y,z for set;
reserve C for initialized ConstructorSignature,
  s for SortSymbol of C,
  o for OperSymbol of C,
  c for constructor OperSymbol of C;
reserve a,b for expression of C, an_Adj C;
reserve t, t1,t2 for expression of C, a_Type C;

theorem Th50:
  for x1,x2 being variable for C1,C2 being initialized ConstructorSignature
  st x1-term C1 = x2-term C2
  holds x1 = x2
proof
  let x1,x2 be variable;
  let C1,C2 be initialized ConstructorSignature;
  assume x1-term C1 = x2-term C2;
  then [x1, a_Term] = [x2, a_Term] by TREES_4:4;
  hence thesis by XTUPLE_0:1;
end;
