reserve Y for non empty set;

theorem
  for a,b,c being Function of Y,BOOLEAN holds ((a 'or' b) '&' (a
  'or' c)) 'imp' (a 'or' (b '&' c))=I_el(Y)
proof
  let a,b,c be Function of Y,BOOLEAN;
  for x being Element of Y holds (((a 'or' b) '&' (a 'or' c)) 'imp' (a
  'or' (b '&' c))).x=TRUE
  proof
    let x be Element of Y;
    (((a 'or' b) '&' (a 'or' c)) 'imp' (a 'or' (b '&' c))).x ='not' ((a
    'or' b) '&' (a 'or' c)).x 'or' (a 'or' (b '&' c)).x by BVFUNC_1:def 8
      .='not'( (a 'or' b).x '&' (a 'or' c).x) 'or' (a 'or' (b '&' c)).x by
MARGREL1:def 20
      .='not' ((a.x 'or' b.x) '&' (a 'or' c).x) 'or' (a 'or' (b '&' c)).
    x by BVFUNC_1:def 4
      .='not'( (a.x 'or' b.x) '&' (a.x 'or' c.x)) 'or' (a 'or' (b
    '&' c)).x by BVFUNC_1:def 4
      .='not'( (a.x 'or' b.x) '&' (a.x 'or' c.x)) 'or' (a.x 'or' (
    b '&' c).x) by BVFUNC_1:def 4
      .='not'( (a.x 'or' b.x) '&' (a.x 'or' c.x)) 'or' (a.x 'or' (
    b.x '&' c.x)) by MARGREL1:def 20
      .=('not'( a.x 'or' b.x) 'or' 'not'( a.x 'or' c.x)) 'or' ((a.
    x 'or' b.x) '&' (a.x 'or' c.x)) by XBOOLEAN:9
      .=(('not'( a.x 'or' c.x) 'or' 'not'( a.x 'or' b.x)) 'or' (a.
x 'or' b.x)) '&' (('not'( a.x 'or' b.x) 'or' 'not'( a.x 'or' c.x))
    'or' (a.x 'or' c.x)) by XBOOLEAN:9
      .=('not'( a.x 'or' c.x) 'or' ('not'( a.x 'or' b.x) 'or' (a.x
'or' b.x))) '&' ('not'( a.x 'or' b.x) 'or' ('not'( a.x 'or' c.x) 'or'
    (a.x 'or' c.x)))
      .=('not'( a.x 'or' c.x) 'or' TRUE) '&' ('not'( a.x 'or' b.x)
    'or' ('not'( a.x 'or' c.x) 'or' (a.x 'or' c.x))) by XBOOLEAN:102
      .=TRUE '&' ('not'( a.x 'or' b.x) 'or' TRUE) by XBOOLEAN:102
      .=TRUE;
    hence thesis;
  end;
  hence thesis by BVFUNC_1:def 11;
end;
