reserve Y for non empty set;

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