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;
reserve U0 for non-empty MSAlgebra over S;

theorem Th33:
  for S be non void non empty ManySortedSign, U0 be non-empty
  MSAlgebra over S holds MSSubAlLattice(U0) is bounded
proof
  let S be non void non empty ManySortedSign, U0 be non-empty MSAlgebra over S;
  set L = MSSubAlLattice(U0);
  thus L is lower-bounded
  proof
    set C = Constants(U0);
    reconsider G = GenMSAlg(C) as Element of MSSub(U0) by Def19;
    reconsider G1 = G as Element of L;
    take G1;
    let a be Element of L;
    reconsider a1 = a as Element of MSSub(U0);
    reconsider a2 = a1 as strict MSSubAlgebra of U0 by Def19;
    thus G1 "/\" a = GenMSAlg(C) /\ a2 by Def21
      .= G1 by Th23;
    hence thesis;
  end;
  thus L is upper-bounded
  proof
    reconsider B = the Sorts of U0 as MSSubset of U0 by PBOOLE:def 18;
    reconsider G = GenMSAlg(B) as Element of MSSub(U0) by Def19;
    reconsider G1 = G as Element of L;
    take G1;
    let a be Element of L;
    reconsider a1 = a as Element of MSSub(U0);
    reconsider a2 = a1 as strict MSSubAlgebra of U0 by Def19;
    thus G1"\/"a = GenMSAlg(B)"\/"a2 by Def20
      .= G1 by Th25;
    hence thesis;
  end;
end;
