reserve i, x, I for set,
  A, B, M for ManySortedSet of I,
  f, f1 for Function;
reserve SF, SG for SubsetFamily of M;
reserve E, T for Element of Bool M;
reserve g, h for SetOp of M;
reserve S for 1-sorted;
reserve MS for many-sorted over S;

theorem
  for A being ManySortedSet of the carrier of S for f being
  ClosureOperator of A holds ClSys->ClOp (ClOp->ClSys f) = f
proof
  let A be ManySortedSet of the carrier of S, f be ClosureOperator of A;
  set D = ClOp->ClSys f, M = the Sorts of D, f1 = ClSys->ClOp D;
A1: A = M by Def21;
  then reconsider ff = f as reflexive idempotent monotonic SetOp of M;
  for x being object st x in Bool A holds f1.x = ff.x
  proof
    let x be object;
    assume x in Bool A;
    then reconsider x1 = x as Element of Bool M by Def21;
    consider F being SubsetFamily of M such that
A2: Cl x1 = meet |:F:| and
A3: F = { X where X is Element of Bool M : x1 c=' X & X in the Family
    of D } by Def22;
A4: now
A5:   x1 c=' ff.x1 by Def10;
      x1 c=' M & M in the Family of D by Def8,PBOOLE:def 18;
      then M in F by A3;
      then reconsider F9 = F as non empty SubsetFamily of M;
      let i be object;
      assume
A6:   i in the carrier of S;
      then consider Q be Subset-Family of (M.i) such that
A7:   Q = |:F:|.i and
A8:   (meet |:F:|).i = Intersect Q by MSSUBFAM:def 1;
A9:   Q = { q.i where q is Element of Bool M : q in F9 } by A6,A7,Th14;
A10:  the Family of D = { q where q is Element of Bool M : ff.q = q } by A1
,Def21;
A11:  now
        let z be set;
        assume z in Q;
        then consider q being Element of Bool M such that
A12:    z = q.i and
A13:    q in F9 by A9;
        consider X being Element of Bool M such that
A14:    q = X and
A15:    x1 c=' X & X in the Family of D by A3,A13;
        (ex t being Element of Bool M st X = t & ff.t = t )& ff.x1 c=' ff
        .X by A10,A15,Def11;
        hence ff.x1.i c= z by A6,A12,A14;
      end;
      ff.(ff.x1) = ff.x1 by Def12;
      then ff.x1 in the Family of D by A10;
      then ff.x1 in F9 by A3,A5;
      then ff.x1.i in Q by A9;
      then
A16:  (meet |:F:|).i c= ff.x1.i by A8,MSSUBFAM:2;
      Q = |:F9:|.i by A7;
      then ff.x1.i c= (meet |:F:|).i by A6,A8,A11,MSSUBFAM:5;
      hence (meet |:F:|).i = ff.x1.i by A16;
    end;
    thus f1.x = Cl x1 by Def23
      .= ff.x by A2,A4,PBOOLE:3;
  end;
  hence thesis by A1,FUNCT_2:12;
end;
