reserve i, x, I for set,
  A, M for ManySortedSet of I,
  f for Function,
  F for ManySortedFunction of I;
reserve P, R for MSSetOp of M,
  E, T for Element of bool M;
reserve S for 1-sorted;
reserve MS for many-sorted over S;

theorem Th30:
  for A being ManySortedSet of the carrier of S for J being
  reflexive monotonic MSSetOp of A for D being MSSubsetFamily of A st D =
  MSFixPoints J holds MSClosureStr (#A, D#) is MSClosureSystem of S
proof
  let A be ManySortedSet of the carrier of S, J be reflexive monotonic MSSetOp
  of A, D be MSSubsetFamily of A such that
A1: D = MSFixPoints J;
  D is absolutely-multiplicative
  proof
    let F be MSSubsetFamily of A such that
A2: F c= D;
A3: J..(meet F) c= meet F
    proof
      let i be object;
      assume
A4:   i in the carrier of S;
      then reconsider j = J.i as Function of (bool A).i, (bool A).i
        by PBOOLE:def 15;
A5:   i in dom J by A4,PARTFUN1:def 2;
      i in dom meet F by A4,PARTFUN1:def 2; then
      i in dom J /\ dom meet F by A5,XBOOLE_0:def 4; then
a5:   i in dom (J..meet F) by PRALG_1:def 19;
      consider Q being Subset-Family of A.i such that
A6:   Q = F.i and
A7:   (meet F).i = Intersect Q by A4,MSSUBFAM:def 1;
A8:   now
        let x such that
A9:     x in Q;
        Q c= D.i by A2,A4,A6; then
        ex jj being Function st jj = J.i & x in dom jj & jj.x = x
          by A1,A4,A9,Def12;
        hence j.(Intersect Q) c= x by A4,A9,Th25,MSSUBFAM:2;
      end;
      (bool A).i = bool (A.i) by A4,MBOOLEAN:def 1;
      then j.(Intersect Q) in bool (A.i) by FUNCT_2:5;
      then j.(Intersect Q) c= Intersect Q by A8,MSSUBFAM:4;
      hence thesis by A7,PRALG_1:def 19,a5;
    end;
    meet F c= A by PBOOLE:def 18;
    then
A10: meet F in bool A by MBOOLEAN:18;
    then meet F is Element of bool A by MSSUBFAM:11;
    then meet F c= J..(meet F) by Def1;
    then J..(meet F) = meet F by A3,PBOOLE:146;
    hence thesis by A1,A10,Th28;
  end;
  hence thesis;
end;
