reserve Y for non empty set;
reserve B for Subset of Y;

theorem
  for a being Function of Y,BOOLEAN,PA being a_partition of Y
  holds 'not' B_INF(a,PA) = B_SUP('not' a,PA)
proof
  let a be Function of Y,BOOLEAN;
  let PA be a_partition of Y;
    let y be Element of Y;
A1: now
      assume that
A2:   for x being Element of Y st x in EqClass(y,PA) holds a.x=TRUE and
A3:   ex x being Element of Y st x in EqClass(y,PA) & ('not' a).x=TRUE;
      consider x1 being Element of Y such that
A4:   x1 in EqClass(y,PA) and
A5:   ('not' a).x1=TRUE by A3;
      ('not' 'not' a).x1= 'not' TRUE by A5,MARGREL1:def 19;
      hence contradiction by A2,A4;
    end;
A6: now
      assume that
A7:  not(for x being Element of Y st x in EqClass(y,PA) holds a.x= TRUE) and
A8:  not(ex x being Element of Y st x in EqClass(y,PA) & ('not' a).x = TRUE);
      consider x1 being Element of Y such that
A9:  x1 in EqClass(y,PA) and
A10:  a.x1<>TRUE by A7;
      a.x1=FALSE by A10,XBOOLEAN:def 3;
      then ('not' a).x1 = 'not' FALSE by MARGREL1:def 19;
      hence contradiction by A8,A9;
    end;
A11: now
      assume that
A12:  not(for x being Element of Y st x in EqClass(y,PA) holds a.x= TRUE) and
A13:  ex x being Element of Y st x in EqClass(y,PA) & ('not' a).x= TRUE;
      (B_INF(a,PA)).y = FALSE by A12,Def16;
      then ('not' B_INF(a,PA)).y = 'not' FALSE by MARGREL1:def 19;
      hence thesis by A13,Def17;
    end;
    now
      assume that
A14:  for x being Element of Y st x in EqClass(y,PA) holds a.x=TRUE and
A15:  not(ex x being Element of Y st x in EqClass(y,PA) & ('not' a).x =TRUE );
      (B_INF(a,PA)).y = TRUE by A14,Def16;
      then ('not' B_INF(a,PA)).y = 'not' TRUE by MARGREL1:def 19;
      hence thesis by A15,Def17;
    end;
    hence thesis by A1,A11,A6;
end;
