reserve Y for non empty set;

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