reserve A, B for non empty preBoolean set,
  x, y for Element of [:A,B:];
reserve X for set,
  a,b,c for Element of [:A,B:];
reserve a for Element of [:Fin X, Fin X:];
reserve A for set;
reserve x,y for Element of [:Fin X, Fin X:],
  a,b for Element of DISJOINT_PAIRS X;
reserve A for set,
  x for Element of [:Fin A, Fin A:],
  a,b,c,d,s,t for Element of DISJOINT_PAIRS A,
  B,C,D for Element of Fin DISJOINT_PAIRS A;
reserve K,L,M for Element of Normal_forms_on A;

theorem Th44:
  mi(mi B \/ C) = mi (B \/ C)
proof
A1: mi B \/ C c= B \/ C by Th40,XBOOLE_1:9;
  now
    let a;
    assume
A2: a in mi(mi B \/ C);
A3: now
      let b;
      assume that
A4:   b in B \/ C and
A5:   b c= a;
      now
        per cases by A4,XBOOLE_0:def 3;
        suppose
          b in B;
          then consider c such that
A6:       c c= b and
A7:       c in mi B by Th41;
          c in mi B \/ C & c c= a by A5,A6,A7,Th2,XBOOLE_0:def 3;
          then c = a by A2,Th36;
          hence b = a by A5,A6,Th1;
        end;
        suppose
          b in C;
          then b in mi B \/ C by XBOOLE_0:def 3;
          hence b = a by A2,A5,Th36;
        end;
      end;
      hence b = a;
    end;
    a in mi B \/ C by A2,Th36;
    hence a in mi (B \/ C) by A1,A3,Th39;
  end;
  hence mi(mi B \/ C) c= mi (B \/ C) by Lm5;
A8: mi(B \/ C) c= mi B \/ C by Th43;
  now
    let a;
    assume
A9: a in mi (B \/ C);
    then for b st b in mi B \/ C holds b c= a implies b = a by A1,Th36;
    hence a in mi(mi B \/ C) by A8,A9,Th39;
  end;
  hence thesis by Lm5;
end;
