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 Th48:
  for s1,s2 being SortSymbol of C st s1 <> s2 for t1 being expression of C, s1
  for t2 being expression of C, s2
  holds t1 <> t2
proof
  set X = MSVars C;
  set Y = X (\/) ((the carrier of C) --> {0});
A1: ex A being MSSubset of FreeMSA Y st ( Free(C, X) = GenMSAlg
  A)&( A = (Reverse Y)""X) by MSAFREE3:def 1;
  let s1,s2 be SortSymbol of C;
  the Sorts of Free(C, X) is MSSubset of FreeMSA Y by A1,MSUALG_2:def 9;
  then
A2: the Sorts of Free(C, X) c= the Sorts of FreeMSA Y by PBOOLE:def 18;
  then
A3: (the Sorts of Free(C,X)).s1 c= (the Sorts of FreeMSA Y).s1;
A4: (the Sorts of Free(C,X)).s2 c= (the Sorts of FreeMSA Y).s2 by A2;
  assume s1 <> s2;
  then
A5: (the Sorts of FreeMSA Y).s1 misses (the Sorts of FreeMSA Y).s2
  by PROB_2:def 2;
  let t1 be expression of C, s1;
  let t2 be expression of C, s2;
A6: t1 in (the Sorts of Free(C,X)).s1 by Def28;
  t2 in (the Sorts of Free(C,X)).s2 by Def28;
  hence thesis by A3,A4,A5,A6,XBOOLE_0:3;
end;
