reserve Y for non empty set,
  G for Subset of PARTITIONS(Y);
reserve a, u for Function of Y,BOOLEAN;

theorem :: De'Morgan's Law
  for PA being a_partition of Y holds 'not' All(a,PA,G) = Ex('not' a,PA, G)
proof
  let PA be a_partition of Y;
    let z be Element of Y;
    per cases;
    suppose
A1:   (for x being Element of Y st x in EqClass(z,CompF(PA,G)) holds a
.x=TRUE) & ex x being Element of Y st x in EqClass(z,CompF(PA,G)) & ('not' a).x
      =TRUE;
      then consider x1 being Element of Y such that
A2:   x1 in EqClass(z,CompF(PA,G)) and
A3:   ('not' a).x1=TRUE;
      'not' a.x1 = TRUE by A3,MARGREL1:def 19;
      hence thesis by A1,A2,MARGREL1:11;
    end;
    suppose
A4:   (for x being Element of Y st x in EqClass(z,CompF(PA,G)) holds a
.x=TRUE) & not (ex x being Element of Y st x in EqClass(z,CompF(PA,G)) & ('not'
      a).x=TRUE);
      then B_INF(a,CompF(PA,G)).z = TRUE by BVFUNC_1:def 16;
      then
A5:   ('not' B_INF(a,CompF(PA,G))).z = 'not' TRUE by MARGREL1:def 19;
      B_SUP('not' a,CompF(PA,G)).z = FALSE by A4,BVFUNC_1:def 17;
      hence thesis by A5,MARGREL1:11;
    end;
    suppose
A6:  not (for x being Element of Y st x in EqClass(z,CompF(PA,G))
holds a.x=TRUE) & ex x being Element of Y st x in EqClass(z,CompF(PA,G)) & (
      'not' a).x=TRUE;
      then B_INF(a,CompF(PA,G)).z = FALSE by BVFUNC_1:def 16;
      then
A7:  ('not' B_INF(a,CompF(PA,G))).z = 'not' FALSE by MARGREL1:def 19;
      B_SUP('not' a,CompF(PA,G)).z = TRUE by A6,BVFUNC_1:def 17;
      hence thesis by A7,MARGREL1:11;
    end;
    suppose
A8:  not (for x being Element of Y st x in EqClass(z,CompF(PA,G))
holds a.x=TRUE) & not (ex x being Element of Y st x in EqClass(z,CompF(PA,G)) &
      ('not' a).x=TRUE);
      then consider x1 being Element of Y such that
A9:  x1 in EqClass(z,CompF(PA,G)) and
A10:  a.x1<>TRUE;
      ('not' a).x1<>TRUE by A8,A9;
      then 'not' a.x1<>TRUE by MARGREL1:def 19;
      hence thesis by A10,MARGREL1:11,XBOOLEAN:def 3;
    end;
end;
