reserve x,y for object;
reserve S for non void non empty ManySortedSign,
  o for OperSymbol of S,
  U0,U1, U2 for MSAlgebra over S;

theorem Th16:
  for A be MSSubset of U0 st Constants(U0) (\/) A is non-empty holds
  MSSubSort(A) is non-empty
proof
  let A be MSSubset of U0;
  assume
A1: Constants(U0) (\/) A is non-empty;
  now
    let i be object;
    assume i in the carrier of S;
    then reconsider s = i as SortSymbol of S;
    for Z be set st Z in SubSort(A,s) holds (Constants(U0) (\/) A).s c= Z
    proof
      let Z be set;
      assume Z in SubSort(A,s);
      then consider B be MSSubset of U0 such that
A2:   B in SubSort(A) and
A3:   Z = B.s by Def13;
      Constants(U0) c= B & A c= B by A2,Th13;
      then Constants(U0) (\/) A c= B by PBOOLE:16;
      hence thesis by A3;
    end;
    then
A4: (Constants(U0) (\/) A).s c= meet(SubSort(A,s)) by SETFAM_1:5;
    ex x be object st x in (Constants(U0) (\/) A).s by A1,XBOOLE_0:def 1;
    hence (MSSubSort(A)).i is non empty by A4,Def14;
  end;
  hence thesis;
end;
