reserve Y for non empty set;
reserve Y for non empty set;
reserve Y for non empty set;
reserve Y for non empty set,
  a,b,c,d,e,f,g for Function of Y,BOOLEAN;

theorem
  (a 'imp' b) '&' ('not' a 'imp' b) '<' b
proof
  let z be Element of Y;
  reconsider az = a.z as boolean object;
A1: ((a 'imp' b) '&' ('not' a 'imp' b)).z =(a 'imp' b).z '&' ('not' a 'imp'
  b).z by MARGREL1:def 20
    .=('not' a 'or' b).z '&' ('not' a 'imp' b).z by BVFUNC_4:8
    .=('not' a 'or' b).z '&' ('not' 'not' a 'or' b).z by BVFUNC_4:8
    .=(('not' a).z 'or' b.z) '&' (a 'or' b).z by BVFUNC_1:def 4
    .=(('not' a).z 'or' b.z) '&' (a.z 'or' b.z) by BVFUNC_1:def 4;
  assume
A2: ((a 'imp' b) '&' ('not' a 'imp' b)).z=TRUE;
  now
    assume b.z<>TRUE;
    then b.z=FALSE by XBOOLEAN:def 3;
    then (('not' a).z 'or' b.z) '&' (a.z 'or' b.z) ='not' az '&' az by
MARGREL1:def 19
      .=FALSE by XBOOLEAN:138;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;
