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

theorem
  Ex(c,PA,G) '&' All(c 'imp' b,PA,G) '&' All(c 'imp' a,PA,G) '<' Ex(a
  '&' b,PA,G)
proof
  let z be Element of Y;
  assume (Ex(c,PA,G) '&' All(c 'imp' b,PA,G) '&' All(c 'imp' a,PA,G)).z=TRUE;
  then
A1: (Ex(c,PA,G) '&' All(c 'imp' b,PA,G)).z '&' All(c 'imp' a,PA,G).z = TRUE
  by MARGREL1:def 20;
  then
  Ex(c,PA,G).z '&' All(c 'imp' b,PA,G).z '&' All(c 'imp' a,PA,G).z=TRUE by
MARGREL1:def 20;
  then
A2: Ex(c,PA,G).z '&' All(c 'imp' b,PA,G).z=TRUE by MARGREL1:12;
  now
    assume
    not (ex x being Element of Y st x in EqClass(z,CompF(PA,G)) & c.x= TRUE);
    then B_SUP(c,CompF(PA,G)).z = FALSE by BVFUNC_1:def 17;
    then Ex(c,PA,G).z=FALSE by BVFUNC_2:def 10;
    hence contradiction by A2,MARGREL1:12;
  end;
  then consider x1 being Element of Y such that
A3: x1 in EqClass(z,CompF(PA,G)) and
A4: c.x1=TRUE;
A5: ('not' c.x1)=TRUE or ('not' c.x1)=FALSE by XBOOLEAN:def 3;
  now
    assume not (for x being Element of Y st x in EqClass(z,CompF(PA,G))
    holds (c 'imp' b).x=TRUE);
    then B_INF(c 'imp' b,CompF(PA,G)).z = FALSE by BVFUNC_1:def 16;
    then All(c 'imp' b,PA,G).z=FALSE by BVFUNC_2:def 9;
    hence contradiction by A2,MARGREL1:12;
  end;
  then (c 'imp' b).x1=TRUE by A3;
  then
A6: ('not' c.x1) 'or' b.x1=TRUE by BVFUNC_1:def 8;
  now
    assume not (for x being Element of Y st x in EqClass(z,CompF(PA,G))
    holds (c 'imp' a).x=TRUE);
    then B_INF(c 'imp' a,CompF(PA,G)).z = FALSE by BVFUNC_1:def 16;
    then All(c 'imp' a,PA,G).z=FALSE by BVFUNC_2:def 9;
    hence contradiction by A1,MARGREL1:12;
  end;
  then (c 'imp' a).x1=TRUE by A3;
  then
A7: ('not' c.x1) 'or' a.x1=TRUE by BVFUNC_1:def 8;
  per cases by A7,A5,A6,BINARITH:3;
  suppose
    ('not' c.x1)=TRUE;
    hence thesis by A4,MARGREL1:11;
  end;
  suppose
    ('not' c.x1)=TRUE & b.x1=TRUE;
    hence thesis by A4,MARGREL1:11;
  end;
  suppose
    a.x1=TRUE & ('not' c.x1)=TRUE;
    hence thesis by A4,MARGREL1:11;
  end;
  suppose
    a.x1=TRUE & b.x1=TRUE;
    then (a '&' b).x1 =TRUE '&' TRUE by MARGREL1:def 20
      .=TRUE;
    then B_SUP(a '&' b,CompF(PA,G)).z = TRUE by A3,BVFUNC_1:def 17;
    hence thesis by BVFUNC_2:def 10;
  end;
end;
