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

theorem
  a 'imp' (b 'imp' c) = (a 'imp' b) 'imp' (a 'imp' c)
proof
  thus (a 'imp' b) 'imp' (a 'imp' c) =(a 'imp' b) 'imp' ('not' a 'or' c) by
BVFUNC_4:8
    .='not' (a 'imp' b) 'or' ('not' a 'or' c) by BVFUNC_4:8
    .='not' ('not' a 'or' b) 'or' ('not' a 'or' c) by BVFUNC_4:8
    .=('not' 'not' a '&' 'not' b) 'or' ('not' a 'or' c) by BVFUNC_1:13
    .=((a '&' 'not' b) 'or' 'not' a) 'or' c by BVFUNC_1:8
    .=((a 'or' 'not' a) '&' ('not' b 'or' 'not' a)) 'or' c by BVFUNC_1:11
    .=(I_el(Y) '&' ('not' b 'or' 'not' a)) 'or' c by BVFUNC_4:6
    .=('not' a 'or' 'not' b) 'or' c by BVFUNC_1:6
    .='not' a 'or' ('not' b 'or' c) by BVFUNC_1:8
    .='not' a 'or' (b 'imp' c) by BVFUNC_4:8
    .=a 'imp' (b 'imp' c) by BVFUNC_4:8;
end;
