reserve Y for non empty set;

theorem
  for a,b being Function of Y,BOOLEAN st (a 'imp' b)=I_el(Y) & (a
  'imp' 'not' b)=I_el(Y) holds 'not' a=I_el(Y)
proof
  let a,b be Function of Y,BOOLEAN;
  assume that
A1: (a 'imp' b)=I_el(Y) and
A2: (a 'imp' 'not' b)=I_el(Y);
  for x being Element of Y holds ('not' a).x=TRUE
  proof
    let x be Element of Y;
    (a 'imp' b).x=TRUE by A1,BVFUNC_1:def 11;
    then
A3: ('not' a.x) 'or' b.x=TRUE by BVFUNC_1:def 8;
    (a 'imp' 'not' b).x=TRUE by A2,BVFUNC_1:def 11;
    then
A4: ('not' a.x) 'or' ('not' b).x=TRUE by BVFUNC_1:def 8;
A5: ('not' a.x)=TRUE or ('not' a.x)=FALSE by XBOOLEAN:def 3;
    now
      per cases by A3,A5,A4,BINARITH:3;
      case
        ('not' a.x)=TRUE & ('not' a.x)=TRUE;
        hence thesis by MARGREL1:def 19;
      end;
      case
        ('not' a.x)=TRUE & ('not' b).x=TRUE;
        hence thesis by MARGREL1:def 19;
      end;
      case
        b.x=TRUE & ('not' a.x)=TRUE;
        hence thesis by MARGREL1:def 19;
      end;
      case
A6:     b.x=TRUE & ('not' b).x=TRUE;
        then 'not' b.x=TRUE by MARGREL1:def 19;
        hence thesis by A6,MARGREL1:11;
      end;
    end;
    hence thesis;
  end;
  hence thesis by BVFUNC_1:def 11;
end;
