reserve Y for non empty set;

theorem :: A Hilbert axiom
  for a,b,c being Function of Y,BOOLEAN holds (b 'imp' (b 'imp' c)
  ) 'imp' (b 'imp' c)=I_el(Y)
proof let a,b,c be Function of Y,BOOLEAN;
    let x be Element of Y;
A1: now
      per cases by XBOOLEAN:def 3;
      case
        b.x=TRUE;
        hence ('not' b.x 'or' b.x)=TRUE by BINARITH:10;
      end;
      case
        b.x=FALSE;
        then 'not' b.x 'or' b.x =TRUE 'or' FALSE by MARGREL1:11
          .=TRUE by BINARITH:10;
        hence ('not' b.x 'or' b.x)=TRUE;
      end;
    end;
A2: now
      per cases by XBOOLEAN:def 3;
      case
        c.x=TRUE;
        hence ('not' c.x 'or' c.x)=TRUE by BINARITH:10;
      end;
      case
        c.x=FALSE;
        then 'not' c.x 'or' c.x =TRUE 'or' FALSE by MARGREL1:11
          .=TRUE by BINARITH:10;
        hence ('not' c.x 'or' c.x)=TRUE;
      end;
    end;
    ((b 'imp' (b 'imp' c)) 'imp' (b 'imp' c)).x ='not' (b 'imp' (b 'imp'
    c)).x 'or' (b 'imp' c).x by BVFUNC_1:def 8
      .='not' ('not' b.x 'or' (b 'imp' c).x) 'or' (b 'imp' c).x by
BVFUNC_1:def 8
      .='not' ('not' b.x 'or' ('not' b.x 'or' c.x)) 'or' (b 'imp' c).x by
BVFUNC_1:def 8
      .=(b.x '&' ('not' 'not' b.x '&' 'not' c.x)) 'or' ('not' b.x 'or' c.x)
    by BVFUNC_1:def 8
      .=((b.x '&' b.x) '&' 'not' c.x) 'or' ('not' b.x 'or' c.x) by MARGREL1:16
      .=((c.x 'or' 'not' b.x) 'or' b.x) '&' (('not' b.x 'or' c.x) 'or' 'not'
    c.x) by XBOOLEAN:9
      .=(c.x 'or' TRUE) '&' (('not' b.x 'or' c.x) 'or' 'not' c.x) by A1,
BINARITH:11
      .=TRUE '&' (('not' b.x 'or' c.x) 'or' 'not' c.x) by BINARITH:10
      .=(('not' b.x 'or' c.x) 'or' 'not' c.x) by MARGREL1:14
      .='not' b.x 'or' TRUE by A2,BINARITH:11
      .=TRUE by BINARITH:10;
    hence thesis by BVFUNC_1:def 11;
end;
