reserve Y for non empty set;

theorem tt:
  for a,b,c,d being Function of Y,BOOLEAN holds (a 'imp' b)=I_el(Y
  ) & (c 'imp' d)=I_el(Y) implies (a '&' c) 'imp' (b '&' d)=I_el(Y)
proof
  let a,b,c,d be Function of Y,BOOLEAN;
  assume that
A1: (a 'imp' b)=I_el(Y) and
A2: (c 'imp' d)=I_el(Y);
  for x being Element of Y holds ((a '&' c) 'imp' (b '&' d)).x=TRUE
  proof
    let x be Element of Y;
    (a 'imp' b).x= TRUE by A1,BVFUNC_1:def 11;
    then
A3: 'not' a.x 'or' b.x = TRUE by BVFUNC_1:def 8;
    (c 'imp' d).x= TRUE by A2,BVFUNC_1:def 11;
    then
A4: 'not' c.x 'or' (d).x = TRUE by BVFUNC_1:def 8;
    ((a '&' c) 'imp' (b '&' d)).x ='not' (a '&' c).x 'or' (b '&' d).x by
BVFUNC_1:def 8
      .='not'( a.x '&' c.x) 'or' (b '&' d).x by MARGREL1:def 20
      .=('not' a.x 'or' 'not' c.x) 'or' (b.x '&' (d).x) by
MARGREL1:def 20
      .=(('not' c.x 'or' 'not' a.x) 'or' b.x) '&' (('not' a.x 'or'
    'not' c.x) 'or' (d).x) by XBOOLEAN:9
      .=('not' c.x 'or' ('not' a.x 'or' b.x)) '&' (('not' a.x 'or'
    'not' c.x) 'or' (d).x)
      .=TRUE '&' ('not' a.x 'or' TRUE) by A3,A4,BINARITH:11
      .=TRUE;
    hence thesis;
  end;
  hence thesis by BVFUNC_1:def 11;
end;
