BVFUNC_6

index · ← BVFUNC_5 · BVFUNC11 →
:: Propositional Calculus for Boolean Valued Functions, II
::  by Shunichi Kobayashi and Yatsuka Nakamura
::
:: Received March 13, 1999
:: Copyright (c) 1999-2026 Association of Mizar Users
::           (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.

environ

 vocabularies XBOOLE_0, SUBSET_1, MARGREL1, BVFUNC_1, XBOOLEAN, FUNCT_1,
      PARTIT1;
 notations XBOOLE_0, SUBSET_1, XBOOLEAN, MARGREL1, FUNCT_2, BVFUNC_1;
 constructors BINARITH, BVFUNC_1, XBOOLEAN, NUMBERS;
 registrations XBOOLEAN, MARGREL1, ORDINAL1;
 requirements ARITHM, NUMERALS;
 definitions BVFUNC_1, FUNCT_2;
 equalities XBOOLEAN;
 expansions BVFUNC_1;
 theorems MARGREL1, BINARITH, BVFUNC_1, XBOOLEAN, BVFUNC_4, BVFUNC_5;

begin

reserve Y for non empty set;

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

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

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

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

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' (b 'imp' c)
  ) 'imp' ((a '&' 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' (b 'imp' c)) 'imp' ((a '&' b)
  'imp' c)).x=TRUE
  proof
    let x be Element of Y;
    ((a 'imp' (b 'imp' c)) 'imp' ((a '&' b) 'imp' c)).x ='not' (a 'imp' (b
    'imp' c)).x 'or' ((a '&' b) 'imp' c).x by BVFUNC_1:def 8
      .='not'( 'not' a.x 'or' (b 'imp' c).x) 'or' ((a '&' b) 'imp' c).x by
BVFUNC_1:def 8
      .='not'( 'not' a.x 'or' ('not' b.x 'or' c.x)) 'or' ((a '&' b)
    'imp' c).x by BVFUNC_1:def 8
      .='not'( 'not' a.x 'or' ('not' b.x 'or' c.x)) 'or' ('not' (a '&'
    b).x 'or' c.x) by BVFUNC_1:def 8
      .='not'( 'not' a.x 'or' ('not' b.x 'or' c.x)) 'or' (('not' a.x
    'or' 'not' b.x) 'or' c.x) by MARGREL1:def 20
      .=TRUE by XBOOLEAN:102;
    hence thesis;
  end;
  hence thesis by BVFUNC_1:def 11;
end;

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

theorem
  for a,b,c being Function of Y,BOOLEAN holds ((a 'or' b) 'imp' c)
  'imp' ((a 'imp' c) '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 'or' b) 'imp' c) 'imp' ((a 'imp' c)
  'or' (b 'imp' c))).x=TRUE
  proof
    let x be Element of Y;
    (((a 'or' b) 'imp' c) 'imp' ((a 'imp' c) 'or' (b 'imp' c))).x ='not' (
(a 'or' b) 'imp' c).x 'or' ((a 'imp' c) 'or' (b 'imp' c)).x by BVFUNC_1:def 8
      .='not'( 'not' (a 'or' b).x 'or' c.x) 'or' ((a 'imp' c) 'or' (b
    'imp' c)).x by BVFUNC_1:def 8
      .='not'( 'not'( a.x 'or' b.x) 'or' c.x) 'or' ((a 'imp' c) 'or' (
    b 'imp' c)).x by BVFUNC_1:def 4
      .='not'( 'not'( a.x 'or' b.x) 'or' c.x) 'or' ((a 'imp' c).x 'or'
    (b 'imp' c).x) by BVFUNC_1:def 4
      .='not'( 'not'( a.x 'or' b.x) 'or' c.x) 'or' (('not' a.x 'or'
    c.x) 'or' (b 'imp' c).x) by BVFUNC_1:def 8
      .=('not' 'not'( a.x 'or' b.x) '&' 'not' c.x) 'or' (('not' a.x
    'or' c.x) 'or' ('not' b.x 'or' c.x)) by BVFUNC_1:def 8
      .=((b.x '&' 'not' c.x) 'or' (a.x '&' 'not' c.x)) 'or' ('not'(
    a.x '&' 'not' c.x) 'or' ('not' b.x 'or' c.x)) by XBOOLEAN:8
      .=((b.x '&' 'not' c.x) 'or' ((a.x '&' 'not' c.x) 'or' 'not'( (
    a).x '&' 'not' c.x))) 'or' ('not' b.x 'or' c.x)
      .=((b.x '&' 'not' c.x) 'or' TRUE) 'or' ('not' b.x 'or' c.x) by
XBOOLEAN:102
      .=TRUE;
    hence thesis;
  end;
  hence thesis by BVFUNC_1:def 11;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' c) 'imp' ((
  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) 'imp' ((b 'imp' c) 'imp' ((a
  'or' b) 'imp' c))).x=TRUE
  proof
    let x be Element of Y;
    ((a 'imp' c) 'imp' ((b 'imp' c) 'imp' ((a 'or' b) 'imp' c))).x ='not'
(a 'imp' c).x 'or' ((b 'imp' c) 'imp' ((a 'or' b) 'imp' c)).x by BVFUNC_1:def 8
      .='not'( 'not' a.x 'or' c.x) 'or' ((b 'imp' c) 'imp' ((a 'or' b)
    'imp' c)).x by BVFUNC_1:def 8
      .='not'( 'not' a.x 'or' c.x) 'or' ('not' (b 'imp' c).x 'or' ((a
    'or' b) 'imp' c).x) by BVFUNC_1:def 8
      .='not'( 'not' a.x 'or' c.x) 'or' ('not'( '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) 'or' ('not'( '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' ('not' (a.x 'or' b.x) 'or' c.x)) by BVFUNC_1:def 4
      .='not'( 'not' a.x 'or' c.x) 'or' ('not'( 'not' b.x 'or' c.x)
    'or' ((c.x 'or' 'not' a.x) '&' ('not' b.x 'or' c.x))) by XBOOLEAN:9
      .='not'( 'not' a.x 'or' c.x) 'or' (('not'( 'not' b.x 'or' c.x)
'or' (c.x 'or' 'not' a.x)) '&' ('not'( 'not' b.x 'or' c.x) 'or' ('not'
    b.x 'or' c.x))) by XBOOLEAN:9
      .='not'( 'not' a.x 'or' c.x) 'or' (TRUE '&' ('not'( 'not' b.x
    'or' c.x) 'or' (c.x 'or' 'not' a.x))) by XBOOLEAN:102
      .='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' a.x 'or' c.x)) 'or'
    'not'( 'not' b.x 'or' c.x)
      .=TRUE 'or' 'not'( 'not' b.x 'or' c.x) by XBOOLEAN:102
      .=TRUE;
    hence thesis;
  end;
  hence thesis by BVFUNC_1:def 11;
end;

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;

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

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;

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

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

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

theorem
  for a,b being Function of Y,BOOLEAN holds (a '&' b)=I_el(Y)
  implies (a 'or' b)=I_el(Y)
proof
  let a,b be Function of Y,BOOLEAN;
  assume
A1: (a '&' b)=I_el(Y);
  for x being Element of Y holds (a 'or' b).x=TRUE
  proof
    let x be Element of Y;
    (a '&' b).x= TRUE by A1,BVFUNC_1:def 11;
    then
A2: a.x '&' b.x=TRUE by MARGREL1:def 20;
    then a.x=TRUE by MARGREL1:12;
    then (a 'or' b).x =TRUE 'or' TRUE by A2,BVFUNC_1:def 4
      .=TRUE;
    hence thesis;
  end;
  hence thesis by BVFUNC_1:def 11;
end;

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

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

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

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

theorem
  for a,b being Function of Y,BOOLEAN holds (a 'or' b)=I_el(Y) &
  'not' a=I_el(Y) implies b=I_el(Y)
proof
  let a,b be Function of Y,BOOLEAN;
  assume that
A1: (a 'or' b)=I_el(Y) and
A2: 'not' a=I_el(Y);
  for x being Element of Y holds b.x=TRUE
  proof
    let x be Element of Y;
    ('not' a).x= TRUE by A2,BVFUNC_1:def 11;
    then
A3: 'not' a.x = TRUE by MARGREL1:def 19;
    (a 'or' b).x= TRUE by A1,BVFUNC_1:def 11;
    then a.x 'or' b.x = TRUE by BVFUNC_1:def 4;
    hence thesis by A3;
  end;
  hence thesis by BVFUNC_1:def 11;
end;

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;

theorem Th22:
  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 'or' c) 'imp' (b 'or' 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 'or' c) 'imp' (b 'or' 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 'or' c) 'imp' (b 'or' d)).x ='not' (a 'or' c).x 'or' (b 'or' d).x
    by BVFUNC_1:def 8
      .='not'( a.x 'or' c.x) 'or' (b 'or' d).x by BVFUNC_1:def 4
      .=(b.x 'or' (d).x) 'or' ('not' a.x '&' 'not' c.x) by BVFUNC_1:def 4
      .=(((d).x 'or' b.x) 'or' 'not' a.x) '&' ((b.x 'or' (d).x) 'or'
    'not' c.x) by XBOOLEAN:9
      .=((d).x 'or' (b.x 'or' 'not' a.x)) '&' ((b.x 'or' (d).x) 'or'
    'not' c.x)
      .=TRUE '&' (b.x 'or' TRUE) by A3,A4,BINARITH:11
      .=TRUE;
    hence thesis;
  end;
  hence thesis by BVFUNC_1:def 11;
end;

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

theorem
  for a,b being Function of Y,BOOLEAN holds a 'imp' 'not' b=I_el(Y
  ) implies b 'imp' 'not' a=I_el(Y)
proof
  let a,b be Function of Y,BOOLEAN;
  assume
A1: a 'imp' 'not' b=I_el(Y);
  for x being Element of Y holds (b 'imp' 'not' a).x=TRUE
  proof
    let x be Element of Y;
    (a 'imp' 'not' b).x=TRUE by A1,BVFUNC_1:def 11;
    then ('not' a.x) 'or' ('not' b).x=TRUE by BVFUNC_1:def 8;
    then
A2: 'not' a.x 'or' 'not' b.x=TRUE by MARGREL1:def 19;
    (b 'imp' 'not' a).x =('not' b.x) 'or' ('not' a).x by BVFUNC_1:def 8
      .=TRUE by A2,MARGREL1:def 19;
    hence thesis;
  end;
  hence thesis by BVFUNC_1:def 11;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds 'not' a 'imp' b=I_el(Y
  ) implies 'not' b 'imp' a=I_el(Y)
proof
  let a,b be Function of Y,BOOLEAN;
  assume
A1: 'not' a 'imp' b=I_el(Y);
  for x being Element of Y holds ('not' b 'imp' a).x=TRUE
  proof
    let x be Element of Y;
    ('not' a 'imp' b).x=TRUE by A1,BVFUNC_1:def 11;
    then ('not' ('not' a).x) 'or' b.x=TRUE by BVFUNC_1:def 8;
    then
A2: 'not' 'not' a.x 'or' b.x=TRUE by MARGREL1:def 19;
    ('not' b 'imp' a).x =('not' ('not' b).x) 'or' a.x by BVFUNC_1:def 8
      .=TRUE by A2,MARGREL1:def 19;
    hence thesis;
  end;
  hence thesis by BVFUNC_1:def 11;
end;

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

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

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

theorem
  for a,b being Function of Y,BOOLEAN holds ('not' a '&' 'not' b)
  'imp' 'not'( a 'or' b)=I_el(Y)
proof
  let a,b be Function of Y,BOOLEAN;
  thus ('not' a '&' 'not' b) 'imp' 'not'( a 'or' b) = 'not'( a 'or' b) 'imp'
  'not' (a 'or' b) by BVFUNC_1:13
    .= 'not'( a 'or' b) 'imp' ('not' a '&' 'not' b) by BVFUNC_1:13
    .=I_el Y by Th28;
end;

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

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

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

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

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

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

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

theorem
  for a,b being Function of Y,BOOLEAN holds ('not' a 'or' 'not' b)
  'imp' 'not'( a '&' b)=I_el(Y)
proof
  let a,b be Function of Y,BOOLEAN;
  thus ('not' a 'or' 'not' b) 'imp' 'not'( a '&' b) = 'not'( a '&' b) 'imp'
  'not' (a '&' b) by BVFUNC_1:14
    .= 'not'( a '&' b) 'imp' ('not' a 'or' 'not' b) by BVFUNC_1:14
    .=I_el Y by Th36;
end;

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

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

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

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

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

theorem
  for a,b being Function of Y,BOOLEAN holds (a 'eqv' b) 'imp' (b
  'imp' a)=I_el(Y) by Th42;

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

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

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

begin :: BVFUNC_7

reserve Y for non empty set;

theorem
  for a,b being Function of Y,BOOLEAN holds (a 'imp' b) '&' ('not'
  a 'imp' b) = b
proof
  let a,b be Function of Y,BOOLEAN;
    let x be Element of Y;
A1: ((a 'imp' b) '&' ('not' a 'imp' b)).x =(a 'imp' b).x '&' ('not' a
    'imp' b).x by MARGREL1:def 20
      .=('not' a.x 'or' b.x) '&' ('not' a 'imp' b).x by BVFUNC_1:def 8
      .=('not' a.x 'or' b.x) '&' ('not' ('not' a).x 'or' b.x) by
BVFUNC_1:def 8
      .=('not' a.x 'or' b.x) '&' (a.x 'or' b.x) by MARGREL1:def 19;
    now
      per cases by XBOOLEAN:def 3;
      case
        a.x=TRUE;
        then ((a 'imp' b) '&' ('not' a 'imp' b)).x =(FALSE 'or' b.x) '&' (
        TRUE 'or' b.x) by A1
          .=(FALSE 'or' b.x) '&' TRUE
          .=TRUE '&' b.x
          .=b.x;
        hence thesis;
      end;
      case
        a.x=FALSE;
        then ((a 'imp' b) '&' ('not' a 'imp' b)).x =(TRUE 'or' b.x) '&' (
        FALSE 'or' b.x) by A1
          .=TRUE '&' (FALSE 'or' b.x)
          .=TRUE '&' b.x
          .=b.x;
        hence thesis;
      end;
    end;
    hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds (a 'imp' b) '&' (a
  'imp' 'not' b) = 'not' a
proof
  let a,b be Function of Y,BOOLEAN;
    let x be Element of Y;
A1: ((a 'imp' b) '&' (a 'imp' 'not' b)).x =(a 'imp' b).x '&' (a 'imp'
    'not' b).x by MARGREL1:def 20
      .=('not' a.x 'or' b.x) '&' (a 'imp' 'not' b).x by BVFUNC_1:def 8
      .=('not' a.x 'or' b.x) '&' ('not' a.x 'or' ('not' b).x) by
BVFUNC_1:def 8
      .=('not' a.x 'or' b.x) '&' ('not' a.x 'or' 'not' b.x) by
MARGREL1:def 19;
    now
      per cases by XBOOLEAN:def 3;
      case
        b.x=TRUE;
        then
        ((a 'imp' b) '&' (a 'imp' 'not' b)).x =('not' a.x 'or' TRUE) '&'
        ('not' a.x 'or' FALSE) by A1
          .=('not' a.x 'or' TRUE) '&' 'not' a.x
          .=TRUE '&' 'not' a.x
          .='not' a.x
          .=('not' a).x by MARGREL1:def 19;
        hence thesis;
      end;
      case
        b.x=FALSE;
        then ((a 'imp' b) '&' (a 'imp' 'not' b)).x =('not' a.x 'or' FALSE)
        '&' ('not' a.x 'or' TRUE) by A1
          .='not' a.x '&' ('not' a.x 'or' TRUE)
          .=TRUE '&' 'not' a.x
          .='not' a.x
          .=('not' a).x by MARGREL1:def 19;
        hence thesis;
      end;
    end;
    hence thesis;
end;

theorem Th73:
  for a,b,c being Function of Y,BOOLEAN holds a 'imp' (b 'or' c) =
  (a 'imp' b) 'or' (a 'imp' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
    let x be Element of Y;
    ((a 'imp' b) 'or' (a 'imp' c)).x =(a 'imp' b).x 'or' (a 'imp' c).x by
BVFUNC_1:def 4
      .=('not' a.x 'or' b.x) 'or' (a 'imp' c).x by BVFUNC_1:def 8
      .=('not' a.x 'or' b.x) 'or' ('not' a.x 'or' c.x) by
BVFUNC_1:def 8
      .=('not' a.x 'or' ('not' a.x 'or' b.x)) 'or' c.x
      .=(('not' a.x 'or' 'not' a.x) 'or' b.x) 'or' c.x by BINARITH:11
      .='not' a.x 'or' (b.x 'or' c.x)
      .='not' a.x 'or' (b 'or' c).x by BVFUNC_1:def 4
      .=(a 'imp' (b 'or' c)).x by BVFUNC_1:def 8;
    hence thesis;
end;

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

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

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

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

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a '&' b) 'imp' c =
  a 'imp' ('not' b 'or' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
    let x be Element of Y;
    (a 'imp' ('not' b 'or' c)).x =(a 'imp' (b 'imp' c)).x by BVFUNC_4:8;
    hence thesis by Th7;
end;

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

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

theorem
  for a,b being Function of Y,BOOLEAN holds (a 'imp' b) '&' 'not'
  b = 'not' a '&' 'not' b
proof
  let a,b be Function of Y,BOOLEAN;
    let x be Element of Y;
    ((a 'imp' b) '&' 'not' b).x =(a 'imp' b).x '&' ('not' b).x by
MARGREL1:def 20
      .=('not' b).x '&' ('not' a.x 'or' b.x) by BVFUNC_1:def 8
      .=(('not' b).x '&' 'not' a.x) 'or' (('not' b).x '&' b.x) by
XBOOLEAN:8
      .=(('not' b).x '&' 'not' a.x) 'or' (b.x '&' 'not' b.x) by
MARGREL1:def 19
      .=(('not' b).x '&' 'not' a.x) 'or' FALSE by XBOOLEAN:138
      .=('not' b).x '&' 'not' a.x
      .=('not' b).x '&' ('not' a).x by MARGREL1:def 19
      .=('not' a '&' 'not' b).x by MARGREL1:def 20;
    hence thesis;
end;

theorem Th12:
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b) '&' (b
  'imp' c) = (a 'imp' b) '&' (b 'imp' c) '&' (a 'imp' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
    let x be Element of Y;
A1: ((a 'imp' b) '&' (b 'imp' c) '&' (a 'imp' c)).x =((a 'imp' b) '&' (b
    'imp' c)).x '&' ((a 'imp' c)).x by MARGREL1:def 20
      .=((a 'imp' b).x '&' (b 'imp' c).x) '&' ((a 'imp' c)).x by
MARGREL1:def 20
      .=(('not' a.x 'or' b.x) '&' (b 'imp' c).x) '&' ((a 'imp' c)).x by
BVFUNC_1:def 8
      .=(('not' a.x 'or' b.x) '&' ('not' b.x 'or' c.x)) '&' ((a
    'imp' c)).x by BVFUNC_1:def 8
      .=(('not' a.x 'or' b.x) '&' ('not' b.x 'or' c.x)) '&' ('not' (
    a).x 'or' c.x) by BVFUNC_1:def 8
      .=(('not' a.x 'or' b.x) '&' ('not' b.x 'or' c.x)) '&' 'not' (a
).x 'or' (('not' a.x 'or' b.x) '&' ('not' b.x 'or' c.x)) '&' c.x by
XBOOLEAN:8;
A2: (('not' a.x 'or' b.x) '&' ('not' b.x 'or' c.x)) =((a 'imp' b).
    x '&' ('not' b.x 'or' c.x)) by BVFUNC_1:def 8
      .=(a 'imp' b).x '&' (b 'imp' c).x by BVFUNC_1:def 8
      .=((a 'imp' b) '&' (b 'imp' c)).x by MARGREL1:def 20;
A3: ((a 'imp' b) '&' (b 'imp' c)).x =(a 'imp' b).x '&' (b 'imp' c).x by
MARGREL1:def 20
      .=('not' a.x 'or' b.x) '&' (b 'imp' c).x by BVFUNC_1:def 8
      .=('not' a.x 'or' b.x) '&' ('not' b.x 'or' c.x) by BVFUNC_1:def 8
;
    now
      per cases by XBOOLEAN:def 3;
      case
        a.x=TRUE & c.x=TRUE;
        then ((a 'imp' b) '&' (b 'imp' c) '&' (a 'imp' c)).x =(('not' a.x
'or' b.x) '&' ('not' b.x 'or' c.x)) '&' FALSE 'or' (('not' a.x 'or' (b)
        .x) '&' ('not' b.x 'or' c.x)) '&' TRUE by A1
          .=FALSE 'or' (('not' a.x 'or' b.x) '&' ('not' b.x 'or' c.x
        )) '&' TRUE
          .=FALSE 'or' (('not' a.x 'or' b.x) '&' ('not' b.x 'or' c.x
        ))
          .=((a 'imp' b) '&' (b 'imp' c)).x by A2;
        hence thesis;
      end;
      case
A4:     a.x=TRUE & c.x=FALSE;
        then
A5:     ((a 'imp' b) '&' (b 'imp' c)).x =(FALSE 'or' b.x) '&' ('not' (b
        ).x 'or' FALSE) by A3
          .=(FALSE 'or' b.x) '&' 'not' b.x
          .=b.x '&' 'not' b.x 
          .=FALSE by XBOOLEAN:138;
        ((a 'imp' b) '&' (b 'imp' c) '&' (a 'imp' c)).x =(('not' a.x
'or' b.x) '&' ('not' b.x 'or' c.x)) '&' FALSE 'or' (('not' a.x 'or' (b)
        .x) '&' ('not' b.x 'or' c.x)) '&' FALSE by A1,A4
          .=FALSE;
        hence thesis by A5;
      end;
      case
        a.x=FALSE & c.x=TRUE;
        then ((a 'imp' b) '&' (b 'imp' c) '&' (a 'imp' c)).x =(('not' a.x
'or' b.x) '&' ('not' b.x 'or' c.x)) '&' TRUE 'or' (('not' a.x 'or' b.
        x) '&' ('not' b.x 'or' c.x)) '&' TRUE by A1
          .=((a 'imp' b) '&' (b 'imp' c)).x by A2;
        hence thesis;
      end;
      case
        a.x=FALSE & c.x=FALSE;
        then
        ((a 'imp' b) '&' (b 'imp' c) '&' (a 'imp' c)).x =TRUE '&' (('not'
a.x 'or' b.x) '&' ('not' b.x 'or' c.x)) 'or' FALSE '&' (('not' a.x
        'or' b.x) '&' ('not' b.x 'or' c.x)) by A1
          .=(('not' a.x 'or' b.x) '&' ('not' b.x 'or' c.x)) 'or'
FALSE '&' (('not' a.x 'or' b.x) '&' ('not' b.x 'or' c.x))
          .=(('not' a.x 'or' b.x) '&' ('not' b.x 'or' c.x)) 'or'
        FALSE 
          .=((a 'imp' b) '&' (b 'imp' c)).x by A2;
        hence thesis;
      end;
    end;
    hence thesis;
end;

theorem
  for a being Function of Y,BOOLEAN holds I_el(Y) 'imp' a = a
proof
  let a be Function of Y,BOOLEAN;
    let x be Element of Y;
    (I_el(Y) 'imp' a).x ='not' (I_el(Y)).x 'or' a.x by BVFUNC_1:def 8
      .=FALSE 'or' a.x by BVFUNC_1:def 11;
    hence thesis;
end;

theorem
  for a being Function of Y,BOOLEAN holds a 'imp' O_el(Y) = 'not' a
proof
  let a be Function of Y,BOOLEAN;
    let x be Element of Y;
    (a 'imp' O_el(Y)).x ='not' a.x 'or' (O_el(Y)).x by BVFUNC_1:def 8
      .='not' a.x 'or' FALSE by BVFUNC_1:def 10
      .='not' a.x;
    hence thesis by MARGREL1:def 19;
end;

theorem
  for a being Function of Y,BOOLEAN holds O_el(Y) 'imp' a = I_el(Y )
proof
  let a be Function of Y,BOOLEAN;
  for x being Element of Y holds (O_el(Y) 'imp' a).x = TRUE
  proof
    let x be Element of Y;
    (O_el(Y) 'imp' a).x ='not' (O_el(Y)).x 'or' a.x by BVFUNC_1:def 8
      .=TRUE 'or' a.x by BVFUNC_1:def 10;
    hence thesis;
  end;
  hence thesis by BVFUNC_1:def 11;
end;

theorem
  for a being Function of Y,BOOLEAN holds a 'imp' I_el(Y) = I_el(Y )
proof
  let a be Function of Y,BOOLEAN;
  for x being Element of Y holds (a 'imp' I_el(Y)).x = TRUE
  proof
    let x be Element of Y;
    (a 'imp' I_el(Y)).x ='not' a.x 'or' (I_el(Y)).x by BVFUNC_1:def 8
      .='not' a.x 'or' TRUE by BVFUNC_1:def 11;
    hence thesis;
  end;
  hence thesis by BVFUNC_1:def 11;
end;

theorem
  for a being Function of Y,BOOLEAN holds a 'imp' 'not' a = 'not' a
proof
  let a be Function of Y,BOOLEAN;
    let x be Element of Y;
    (a 'imp' 'not' a).x ='not' a.x 'or' ('not' a).x by BVFUNC_1:def 8
      .=('not' a).x 'or' ('not' a).x by MARGREL1:def 19
      .=('not' a).x;
    hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b) '<' (c
  'imp' a) 'imp' (c 'imp' b)
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
  assume (a 'imp' b).z=TRUE;
  then
A1: 'not' a.z 'or' b.z = TRUE by BVFUNC_1:def 8;
A2: b.z=TRUE or b.z=FALSE by XBOOLEAN:def 3;
  now
    per cases by A1,A2;
    case
A3:   'not' a.z=TRUE;
      ((c 'imp' a) 'imp' (c 'imp' b)).z ='not' (c 'imp' a).z 'or' (c 'imp'
      b).z by BVFUNC_1:def 8
        .='not'( 'not' c.z 'or' a.z) 'or' (c 'imp' b).z by BVFUNC_1:def 8
        .=c.z 'or' (c 'imp' b).z by A3
        .=c.z 'or' ('not' c.z 'or' b.z) by BVFUNC_1:def 8
        .=(c.z 'or' 'not' c.z) 'or' b.z
        .=TRUE 'or' b.z by XBOOLEAN:102
        .=TRUE;
      hence thesis;
    end;
    case
A4:   b.z=TRUE;
      ((c 'imp' a) 'imp' (c 'imp' b)).z ='not' (c 'imp' a).z 'or' (c 'imp'
      b).z by BVFUNC_1:def 8
        .='not'( 'not' c.z 'or' a.z) 'or' (c 'imp' b).z by BVFUNC_1:def 8
        .='not'( 'not' c.z 'or' a.z) 'or' ('not' c.z 'or' TRUE) by A4,
BVFUNC_1:def 8
        .='not'( 'not' c.z 'or' a.z) 'or' TRUE
        .=TRUE;
      hence thesis;
    end;
  end;
  hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'eqv' b) '<' (a
  'eqv' c) 'eqv' (b 'eqv' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: (a 'eqv' b).z =((a 'imp' b) '&' (b 'imp' a)).z by BVFUNC_4:7
    .=(a 'imp' b).z '&' (b 'imp' a).z by MARGREL1:def 20;
  assume
A2: (a 'eqv' b).z=TRUE;
  then (a 'imp' b).z=TRUE by A1,MARGREL1:12;
  then
A3: 'not' a.z 'or' b.z = TRUE by BVFUNC_1:def 8;
A4: a.z=TRUE or a.z=FALSE by XBOOLEAN:def 3;
A5: b.z=TRUE or b.z=FALSE by XBOOLEAN:def 3;
A6: (b 'imp' a).z = 'not' b.z 'or' a.z by BVFUNC_1:def 8;
A7: ((a 'eqv' c) 'eqv' (b 'eqv' c)).z =(((a 'eqv' c) 'imp' (b 'eqv' c)) '&'
  ((b 'eqv' c) 'imp' (a 'eqv' c))).z by BVFUNC_4:7
    .=((((a 'imp' c) '&' (c 'imp' a)) 'imp' (b 'eqv' c)) '&' ((b 'eqv' c)
  'imp' (a 'eqv' c))).z by BVFUNC_4:7
    .=((((a 'imp' c) '&' (c 'imp' a)) 'imp' (b 'imp' c) '&' (c 'imp' b)) '&'
  ((b 'eqv' c) 'imp' (a 'eqv' c))).z by BVFUNC_4:7
    .=((((a 'imp' c) '&' (c 'imp' a)) 'imp' (b 'imp' c) '&' (c 'imp' b)) '&'
  (((b 'imp' c) '&' (c 'imp' b)) 'imp' (a 'eqv' c))).z by BVFUNC_4:7
    .=((((a 'imp' c) '&' (c 'imp' a)) 'imp' ((b 'imp' c) '&' (c 'imp' b)))
  '&' (((b 'imp' c) '&' (c 'imp' b)) 'imp' ((a 'imp' c) '&' (c 'imp' a)))).z
by BVFUNC_4:7
    .=(((('not' a 'or' c) '&' (c 'imp' a)) 'imp' ((b 'imp' c) '&' (c 'imp' b
))) '&' (((b 'imp' c) '&' (c 'imp' b)) 'imp' ((a 'imp' c) '&' (c 'imp' a)))).z
  by BVFUNC_4:8
    .=(((('not' a 'or' c) '&' ('not' c 'or' a)) 'imp' ((b 'imp' c) '&' (c
'imp' b))) '&' (((b 'imp' c) '&' (c 'imp' b)) 'imp' ((a 'imp' c) '&' (c 'imp' a
  )))).z by BVFUNC_4:8
    .=(((('not' a 'or' c) '&' ('not' c 'or' a)) 'imp' (('not' b 'or' c) '&'
  (c 'imp' b))) '&' (((b 'imp' c) '&' (c 'imp' b)) 'imp' ((a 'imp' c) '&' (c
  'imp' a)))).z by BVFUNC_4:8
    .=(((('not' a 'or' c) '&' ('not' c 'or' a)) 'imp' (('not' b 'or' c) '&'
('not' c 'or' b))) '&' (((b 'imp' c) '&' (c 'imp' b)) 'imp' ((a 'imp' c) '&' (c
  'imp' a)))).z by BVFUNC_4:8
    .=(((('not' a 'or' c) '&' ('not' c 'or' a)) 'imp' (('not' b 'or' c) '&'
  ('not' c 'or' b))) '&' ((('not' b 'or' c) '&' (c 'imp' b)) 'imp' ((a 'imp' c)
  '&' (c 'imp' a)))).z by BVFUNC_4:8
    .=(((('not' a 'or' c) '&' ('not' c 'or' a)) 'imp' (('not' b 'or' c) '&'
('not' c 'or' b))) '&' ((('not' b 'or' c) '&' ('not' c 'or' b)) 'imp' ((a 'imp'
  c) '&' (c 'imp' a)))).z by BVFUNC_4:8
    .=(((('not' a 'or' c) '&' ('not' c 'or' a)) 'imp' (('not' b 'or' c) '&'
('not' c 'or' b))) '&' ((('not' b 'or' c) '&' ('not' c 'or' b)) 'imp' (('not' a
  'or' c) '&' (c 'imp' a)))).z by BVFUNC_4:8
    .=(((('not' a 'or' c) '&' ('not' c 'or' a)) 'imp' (('not' b 'or' c) '&'
('not' c 'or' b))) '&' ((('not' b 'or' c) '&' ('not' c 'or' b)) 'imp' (('not' a
  'or' c) '&' ('not' c 'or' a)))).z by BVFUNC_4:8
    .=(('not'( ('not' a 'or' c) '&' ('not' c 'or' a)) 'or' (('not' b 'or' c)
  '&' ('not' c 'or' b))) '&' ((('not' b 'or' c) '&' ('not' c 'or' b)) 'imp' ((
  'not' a 'or' c) '&' ('not' c 'or' a)))).z by BVFUNC_4:8
    .=(('not'( ('not' a 'or' c) '&' ('not' c 'or' a)) 'or' (('not' b 'or' c)
'&' ('not' c 'or' b))) '&' ('not'( ('not' b 'or' c) '&' ('not' c 'or' b)) 'or'
  (('not' a 'or' c) '&' ('not' c 'or' a)))).z by BVFUNC_4:8
    .=((('not'( 'not' a 'or' c) 'or' 'not'( 'not' c 'or' a)) 'or' (('not' b
'or' c) '&' ('not' c 'or' b))) '&' ('not'( ('not' b 'or' c) '&' ('not' c 'or' b
  )) 'or' (('not' a 'or' c) '&' ('not' c 'or' a)))).z by BVFUNC_1:14
    .=((('not'( 'not' a 'or' c) 'or' 'not'( 'not' c 'or' a)) 'or' (('not' b
'or' c) '&' ('not' c 'or' b))) '&' (('not'( 'not' b 'or' c) 'or' 'not'( 'not' c
  'or' b)) 'or' (('not' a 'or' c) '&' ('not' c 'or' a)))).z by BVFUNC_1:14
    .=(((('not' 'not' a '&' 'not' c) 'or' 'not'( 'not' c 'or' a)) 'or' ((
'not' b 'or' c) '&' ('not' c 'or' b))) '&' (('not'( 'not' b 'or' c) 'or' 'not'(
'not' c 'or' b)) 'or' (('not' a 'or' c) '&' ('not' c 'or' a)))).z by
BVFUNC_1:13
    .=(((('not' 'not' a '&' 'not' c) 'or' ('not' 'not' c '&' 'not' a)) 'or'
  (('not' b 'or' c) '&' ('not' c 'or' b))) '&' (('not'( 'not' b 'or' c) 'or'
  'not'( 'not' c 'or' b)) 'or' (('not' a 'or' c) '&' ('not' c 'or' a)))).z by
BVFUNC_1:13
    .=(((('not' 'not' a '&' 'not' c) 'or' ('not' 'not' c '&' 'not' a)) 'or'
(('not' b 'or' c) '&' ('not' c 'or' b))) '&' ((('not' 'not' b '&' 'not' c) 'or'
  'not'( 'not' c 'or' b)) 'or' (('not' a 'or' c) '&' ('not' c 'or' a)))).z by
BVFUNC_1:13
    .=((((a '&' 'not' c) 'or' (c '&' 'not' a)) 'or' (('not' b 'or' c) '&' (
'not' c 'or' b))) '&' (((b '&' 'not' c) 'or' ('not' 'not' c '&' 'not' b)) 'or'
  (('not' a 'or' c) '&' ('not' c 'or' a)))).z by BVFUNC_1:13
    .=(((a '&' 'not' c) 'or' (c '&' 'not' a)) 'or' (('not' b 'or' c) '&' (
'not' c 'or' b))).z '&' (((b '&' 'not' c) 'or' (c '&' 'not' b)) 'or' (('not' a
  'or' c) '&' ('not' c 'or' a))).z by MARGREL1:def 20
    .=(((a '&' 'not' c) 'or' (c '&' 'not' a)).z 'or' (('not' b 'or' c) '&' (
'not' c 'or' b)).z) '&' (((b '&' 'not' c) 'or' (c '&' 'not' b)) 'or' (('not' a
  'or' c) '&' ('not' c 'or' a))).z by BVFUNC_1:def 4
    .=(((a '&' 'not' c) 'or' (c '&' 'not' a)).z 'or' (('not' b 'or' c) '&' (
'not' c 'or' b)).z) '&' (((b '&' 'not' c) 'or' (c '&' 'not' b)).z 'or' (('not'
  a 'or' c) '&' ('not' c 'or' a)).z) by BVFUNC_1:def 4
    .=(((a '&' 'not' c).z 'or' (c '&' 'not' a).z) 'or' (('not' b 'or' c) '&'
('not' c 'or' b)).z) '&' (((b '&' 'not' c) 'or' (c '&' 'not' b)).z 'or' (('not'
  a 'or' c) '&' ('not' c 'or' a)).z) by BVFUNC_1:def 4
    .=(((a '&' 'not' c).z 'or' (c '&' 'not' a).z) 'or' (('not' b 'or' c).z
'&' ('not' c 'or' b).z)) '&' (((b '&' 'not' c) 'or' (c '&' 'not' b)).z 'or' ((
  'not' a 'or' c) '&' ('not' c 'or' a)).z) by MARGREL1:def 20
    .=(((a '&' 'not' c).z 'or' (c '&' 'not' a).z) 'or' (('not' b 'or' c).z
'&' ('not' c 'or' b).z)) '&' (((b '&' 'not' c).z 'or' (c '&' 'not' b).z) 'or' (
  ('not' a 'or' c) '&' ('not' c 'or' a)).z) by BVFUNC_1:def 4
    .=(((a '&' 'not' c).z 'or' (c '&' 'not' a).z) 'or' (('not' b 'or' c).z
'&' ('not' c 'or' b).z)) '&' (((b '&' 'not' c).z 'or' (c '&' 'not' b).z) 'or' (
  ('not' a 'or' c).z '&' ('not' c 'or' a).z)) by MARGREL1:def 20
    .=(((a.z '&' ('not' c).z) 'or' (c '&' 'not' a).z) 'or' (('not' b 'or'
  c).z '&' ('not' c 'or' b).z)) '&' (((b '&' 'not' c).z 'or' (c '&' 'not' b).z)
  'or' (('not' a 'or' c).z '&' ('not' c 'or' a).z)) by MARGREL1:def 20
    .=(((a.z '&' ('not' c).z) 'or' (c.z '&' ('not' a).z)) 'or' (('not' b
'or' c).z '&' ('not' c 'or' b).z)) '&' (((b '&' 'not' c).z 'or' (c '&' 'not' b)
  .z) 'or' (('not' a 'or' c).z '&' ('not' c 'or' a).z)) by MARGREL1:def 20
    .=(((a.z '&' ('not' c).z) 'or' (c.z '&' ('not' a).z)) 'or' ((('not'
  b).z 'or' c.z) '&' ('not' c 'or' b).z)) '&' (((b '&' 'not' c).z 'or' (c '&'
'not' b).z) 'or' (('not' a 'or' c).z '&' ('not' c 'or' a).z)) by BVFUNC_1:def 4
    .=(((a.z '&' ('not' c).z) 'or' (c.z '&' ('not' a).z)) 'or' ((('not'
b).z 'or' c.z) '&' (('not' c).z 'or' b.z))) '&' (((b '&' 'not' c).z 'or' (c
'&' 'not' b).z) 'or' (('not' a 'or' c).z '&' ('not' c 'or' a).z)) by
BVFUNC_1:def 4
    .=(((a.z '&' ('not' c).z) 'or' (c.z '&' ('not' a).z)) 'or' ((('not'
  b).z 'or' c.z) '&' (('not' c).z 'or' b.z))) '&' (((b.z '&' ('not' c).z)
  'or' (c '&' 'not' b).z) 'or' (('not' a 'or' c).z '&' ('not' c 'or' a).z)) by
MARGREL1:def 20
    .=(((a.z '&' ('not' c).z) 'or' (c.z '&' ('not' a).z)) 'or' ((('not'
  b).z 'or' c.z) '&' (('not' c).z 'or' b.z))) '&' (((b.z '&' ('not' c).z)
'or' (c.z '&' ('not' b).z)) 'or' (('not' a 'or' c).z '&' ('not' c 'or' a).z))
  by MARGREL1:def 20
    .=(((a.z '&' ('not' c).z) 'or' (c.z '&' ('not' a).z)) 'or' ((('not'
  b).z 'or' c.z) '&' (('not' c).z 'or' b.z))) '&' (((b.z '&' ('not' c).z)
'or' (c.z '&' ('not' b).z)) 'or' ((('not' a).z 'or' c.z) '&' ('not' c 'or'
  a).z)) by BVFUNC_1:def 4
    .=(((a.z '&' ('not' c).z) 'or' (c.z '&' ('not' a).z)) 'or' ((('not'
  b).z 'or' c.z) '&' (('not' c).z 'or' b.z))) '&' (((b.z '&' ('not' c).z)
  'or' (c.z '&' ('not' b).z)) 'or' ((('not' a).z 'or' c.z) '&' (('not' c).z
  'or' a.z))) by BVFUNC_1:def 4
    .=(((a.z '&' ('not' c).z) 'or' (c.z '&' 'not' a.z)) 'or' ((('not'
  b).z 'or' c.z) '&' (('not' c).z 'or' b.z))) '&' (((b.z '&' ('not' c).z)
  'or' (c.z '&' ('not' b).z)) 'or' ((('not' a).z 'or' c.z) '&' (('not' c).z
  'or' a.z))) by MARGREL1:def 19
    .=(((a.z '&' ('not' c).z) 'or' (c.z '&' 'not' a.z)) 'or' (('not' (
  b).z 'or' c.z) '&' (('not' c).z 'or' b.z))) '&' (((b.z '&' ('not' c).z)
  'or' (c.z '&' ('not' b).z)) 'or' ((('not' a).z 'or' c.z) '&' (('not' c).z
  'or' a.z))) by MARGREL1:def 19
    .=(((a.z '&' ('not' c).z) 'or' (c.z '&' 'not' a.z)) 'or' (('not' (
  b).z 'or' c.z) '&' (('not' c).z 'or' b.z))) '&' (((b.z '&' ('not' c).z)
  'or' (c.z '&' 'not' b.z)) 'or' ((('not' a).z 'or' c.z) '&' (('not' c).z
  'or' a.z))) by MARGREL1:def 19
    .=(((a.z '&' ('not' c).z) 'or' (c.z '&' 'not' a.z)) 'or' (('not' (
  b).z 'or' c.z) '&' (('not' c).z 'or' b.z))) '&' (((b.z '&' ('not' c).z)
  'or' (c.z '&' 'not' b.z)) 'or' (('not' a.z 'or' c.z) '&' (('not' c).z
  'or' a.z))) by MARGREL1:def 19;
  (b 'imp' a).z=TRUE by A2,A1,MARGREL1:12;
  then
A8: 'not' b.z=TRUE or a.z=TRUE by A6,A4;
  now
    per cases by A3,A5;
    case
A9:   'not' a.z=TRUE;
      then a.z=FALSE;
      then ((a 'eqv' c) 'eqv' (b 'eqv' c)).z =((FALSE 'or' (c.z '&' TRUE))
'or' (('not' b.z 'or' c.z) '&' (('not' c).z 'or' b.z))) '&' (((b.z '&'
('not' c).z) 'or' (c.z '&' 'not' b.z)) 'or' ((TRUE 'or' c.z) '&' (('not'
      c).z 'or' FALSE))) by A7
        .=((FALSE 'or' c.z) 'or' (('not' b.z 'or' c.z) '&' (('not' c).
z 'or' b.z))) '&' (((b.z '&' ('not' c).z) 'or' (c.z '&' 'not' b.z))
      'or' ((TRUE 'or' c.z) '&' (('not' c).z 'or' FALSE)))
        .=(c.z 'or' (('not' b.z 'or' c.z) '&' (('not' c).z 'or' b.z)
)) '&' (((b.z '&' ('not' c).z) 'or' (c.z '&' 'not' b.z)) 'or' ((TRUE 'or'
      c.z) '&' (('not' c).z 'or' FALSE)))
        .=(c.z 'or' (('not' b.z 'or' c.z) '&' (('not' c).z 'or' b.z)
)) '&' (((b.z '&' ('not' c).z) 'or' (c.z '&' 'not' b.z)) 'or' ((TRUE 'or'
      c.z) '&' ('not' c).z)) 
        .=(c.z 'or' (('not' b.z 'or' c.z) '&' (('not' c).z 'or' b.z)
)) '&' (((b.z '&' ('not' c).z) 'or' (c.z '&' 'not' b.z)) 'or' (TRUE '&' (
      'not' c).z)) 
        .=(c.z 'or' (('not' b.z 'or' c.z) '&' (('not' c).z 'or' b.z)
)) '&' (((b.z '&' ('not' c).z) 'or' (c.z '&' 'not' b.z)) 'or' ('not' c).z
      ) 
        .=((c.z 'or' (c.z 'or' 'not' b.z)) '&' (c.z 'or' (('not' c).
z 'or' b.z))) '&' (((b.z '&' ('not' c).z) 'or' (c.z '&' 'not' b.z))
      'or' ('not' c).z) by XBOOLEAN:9
        .=(((c.z 'or' c.z) 'or' 'not' b.z) '&' (c.z 'or' (('not' c).
z 'or' b.z))) '&' (((b.z '&' ('not' c).z) 'or' (c.z '&' 'not' b.z))
      'or' ('not' c).z)
        .=((c.z 'or' 'not' b.z) '&' ((c.z 'or' ('not' c).z) 'or' b.z
)) '&' (((b.z '&' ('not' c).z) 'or' (c.z '&' 'not' b.z)) 'or' ('not' c).z
      ) 
        .=((c.z 'or' 'not' b.z) '&' ((c.z 'or' 'not' c.z) 'or' b.z
)) '&' (((b.z '&' ('not' c).z) 'or' (c.z '&' 'not' b.z)) 'or' ('not' c).z
      ) by MARGREL1:def 19
        .=((c.z 'or' 'not' b.z) '&' (TRUE 'or' b.z)) '&' (((b.z '&'
('not' c).z) 'or' (c.z '&' 'not' b.z)) 'or' ('not' c).z) by XBOOLEAN:102
        .=(TRUE '&' (c.z 'or' 'not' b.z)) '&' (((b.z '&' ('not' c).z)
      'or' (c.z '&' 'not' b.z)) 'or' ('not' c).z) 
        .=(c.z 'or' 'not' b.z) '&' (((b.z '&' ('not' c).z) 'or' (c.z
      '&' 'not' b.z)) 'or' ('not' c).z) 
        .=(c.z 'or' 'not' b.z) '&' ((b.z '&' ('not' c).z) 'or' (('not'
      c).z 'or' (c.z '&' 'not' b.z))) 
        .=(c.z 'or' 'not' b.z) '&' ((b.z '&' ('not' c).z) 'or' (((
      'not' c).z 'or' c.z) '&' (('not' c).z 'or' 'not' b.z))) by XBOOLEAN:9
        .=(c.z 'or' 'not' b.z) '&' ((b.z '&' ('not' c).z) 'or' (('not'
      c.z 'or' c.z) '&' (('not' c).z 'or' 'not' b.z))) by MARGREL1:def 19
        .=(c.z 'or' 'not' b.z) '&' ((b.z '&' ('not' c).z) 'or' (TRUE
      '&' (('not' c).z 'or' 'not' b.z))) by XBOOLEAN:102
        .=(c.z 'or' 'not' b.z) '&' ((('not' c).z 'or' 'not' b.z) 'or'
      (b.z '&' ('not' c).z)) 
        .=(c.z 'or' 'not' b.z) '&' (((('not' c).z 'or' 'not' b.z) 'or'
b.z) '&' ((('not' c).z 'or' 'not' b.z) 'or' ('not' c).z)) by XBOOLEAN:9
        .=(c.z 'or' 'not' b.z) '&' ((('not' c).z 'or' ('not' b.z 'or'
b.z)) '&' ((('not' c).z 'or' 'not' b.z) 'or' ('not' c).z)) 
        .=(c.z 'or' 'not' b.z) '&' ((('not' c).z 'or' TRUE) '&' ((('not'
      c).z 'or' 'not' b.z) 'or' ('not' c).z)) by XBOOLEAN:102
        .=(c.z 'or' 'not' b.z) '&' (TRUE '&' ((('not' c).z 'or' 'not' (b
      ).z) 'or' ('not' c).z)) 
        .=(c.z 'or' 'not' b.z) '&' (('not' b.z 'or' ('not' c).z) 'or'
      ('not' c).z) 
        .=(c.z 'or' 'not' b.z) '&' ('not' b.z 'or' (('not' c).z 'or' (
      'not' c).z))
        .=('not' b.z '&' (c.z 'or' 'not' b.z)) 'or' ((c.z 'or' 'not'
      b.z) '&' ('not' c).z) by XBOOLEAN:8
        .=(('not' b.z '&' c.z) 'or' ('not' b.z '&' 'not' b.z)) 'or'
      (('not' c).z '&' (c.z 'or' 'not' b.z)) by XBOOLEAN:8
        .=(('not' b.z '&' c.z) 'or' 'not' b.z) 'or' (('not' c).z '&' (
      c).z 'or' ('not' c).z '&' 'not' b.z) by XBOOLEAN:8
        .=(('not' b.z '&' c.z) 'or' 'not' b.z) 'or' ((c.z '&' 'not'
      c.z) 'or' (('not' c).z '&' 'not' b.z)) by MARGREL1:def 19
        .=(('not' b.z '&' c.z) 'or' 'not' b.z) 'or' (FALSE 'or' ((
      'not' c).z '&' 'not' b.z)) by XBOOLEAN:138
        .=('not' b.z 'or' ('not' b.z '&' c.z)) 'or' (('not' c).z '&'
      'not' b.z) 
        .='not' b.z 'or' (('not' b.z '&' c.z) 'or' (('not' c).z '&'
      'not' b.z)) 
        .=TRUE by A8,A9;
      hence thesis;
    end;
    case
      b.z=TRUE;
      then 'not' b.z=FALSE;
      then
      ((a 'eqv' c) 'eqv' (b 'eqv' c)).z =((('not' c).z 'or' (FALSE '&' (c
).z)) 'or' ((FALSE 'or' c.z) '&' (('not' c).z 'or' TRUE))) '&' ((('not' c).z
'or' (c.z '&' FALSE)) 'or' ((FALSE 'or' c.z) '&' (('not' c).z 'or' TRUE)))
      by A2,A1,A6,A4,A7
        .=((('not' c).z 'or' FALSE) 'or' ((FALSE 'or' c.z) '&' (('not' c).
z 'or' TRUE))) '&' ((('not' c).z 'or' FALSE) 'or' ((FALSE 'or' c.z) '&' ((
      'not' c).z 'or' TRUE)))
        .=((('not' c).z 'or' FALSE) 'or' ((FALSE 'or' c.z) '&' TRUE)) '&'
((('not' c).z 'or' FALSE) 'or' ((FALSE 'or' c.z) '&' TRUE)) 
        .=((('not' c).z 'or' FALSE) 'or' (c.z '&' TRUE)) '&' ((('not' c).z
      'or' FALSE) 'or' (c.z '&' TRUE)) 
        .=(('not' c).z 'or' (TRUE '&' c.z)) '&' (('not' c).z 'or' (c.z
      '&' TRUE)) 
        .=(('not' c).z 'or' c.z) '&' (('not' c).z 'or' c.z) 
        .=('not' c.z 'or' c.z) '&' ('not' c.z 'or' c.z) by
MARGREL1:def 19
        .=TRUE by XBOOLEAN:102;
      hence thesis;
    end;
  end;
  hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'eqv' b) '<' (a
  'imp' c) 'eqv' (b 'imp' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: (a 'eqv' b).z =((a 'imp' b) '&' (b 'imp' a)).z by BVFUNC_4:7
    .=(a 'imp' b).z '&' (b 'imp' a).z by MARGREL1:def 20;
  assume
A2: (a 'eqv' b).z=TRUE;
  then (a 'imp' b).z=TRUE by A1,MARGREL1:12;
  then
A3: 'not' a.z 'or' b.z = TRUE by BVFUNC_1:def 8;
  (b 'imp' a).z=TRUE by A2,A1,MARGREL1:12;
  then
A4: 'not' b.z 'or' a.z = TRUE by BVFUNC_1:def 8;
A5: ((a 'imp' c) 'eqv' (b 'imp' c)).z =(((a 'imp' c) 'imp' (b 'imp' c)) '&'
  ((b 'imp' c) 'imp' (a 'imp' c))).z by BVFUNC_4:7
    .=((a 'imp' c) 'imp' (b 'imp' c)).z '&' ((b 'imp' c) 'imp' (a 'imp' c)).
  z by MARGREL1:def 20
    .=('not' (a 'imp' c).z 'or' (b 'imp' c).z) '&' ((b 'imp' c) 'imp' (a
  'imp' c)).z by BVFUNC_1:def 8
    .=('not' (a 'imp' c).z 'or' (b 'imp' c).z) '&' ('not' (b 'imp' c).z 'or'
  (a 'imp' c).z) by BVFUNC_1:def 8
    .=('not'( 'not' a.z 'or' c.z) 'or' (b 'imp' c).z) '&' ('not' (b
  'imp' c).z 'or' (a 'imp' c).z) by BVFUNC_1:def 8
    .=('not'( 'not' a.z 'or' c.z) 'or' ('not' b.z 'or' c.z)) '&' (
  'not' (b 'imp' c).z 'or' (a 'imp' c).z) by BVFUNC_1:def 8
    .=('not'( 'not' a.z 'or' c.z) 'or' ('not' b.z 'or' c.z)) '&' (
  'not'( 'not' b.z 'or' c.z) 'or' (a 'imp' c).z) by BVFUNC_1:def 8
    .=((a.z '&' 'not' c.z) 'or' ('not' b.z 'or' c.z)) '&' ((b.z
  '&' 'not' c.z) 'or' ('not' a.z 'or' c.z)) by BVFUNC_1:def 8;
A6: a.z=TRUE or a.z=FALSE by XBOOLEAN:def 3;
A7: (b 'imp' a).z = 'not' b.z 'or' a.z by BVFUNC_1:def 8;
A8: b.z=TRUE or b.z=FALSE by XBOOLEAN:def 3;
  now
    per cases by A3,A8;
    case
A9:   'not' a.z=TRUE;
      then
       a.z=FALSE;
      then 'not' b.z=TRUE by A4;
      then ((a 'imp' c) 'eqv' (b 'imp' c)).z =(FALSE 'or' (TRUE 'or' c.z))
      '&' (FALSE 'or' (TRUE 'or' c.z)) by A5,A9
        .=(TRUE 'or' c.z) '&' (TRUE 'or' c.z)
        .=TRUE;
      hence thesis;
    end;
    case
      b.z=TRUE;
      then 'not' b.z=FALSE;
      then
      ((a 'imp' c) 'eqv' (b 'imp' c)).z =('not' c.z 'or' (FALSE 'or' (c
      ).z)) '&' ('not' c.z 'or' (FALSE 'or' c.z)) by A2,A1,A7,A6,A5
        .=('not' c.z 'or' c.z) '&' ('not' c.z 'or' c.z)
        .=TRUE by XBOOLEAN:102;
      hence thesis;
    end;
  end;
  hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'eqv' b) '<' (c
  'imp' a) 'eqv' (c 'imp' b)
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: (a 'eqv' b).z =((a 'imp' b) '&' (b 'imp' a)).z by BVFUNC_4:7
    .=(a 'imp' b).z '&' (b 'imp' a).z by MARGREL1:def 20;
  assume
A2: (a 'eqv' b).z=TRUE;
  then (a 'imp' b).z=TRUE by A1,MARGREL1:12;
  then
A3: 'not' a.z 'or' b.z = TRUE by BVFUNC_1:def 8;
  (b 'imp' a).z=TRUE by A2,A1,MARGREL1:12;
  then
A4: 'not' b.z 'or' a.z = TRUE by BVFUNC_1:def 8;
A5: ((c 'imp' a) 'eqv' (c 'imp' b)).z =(((c 'imp' a) 'imp' (c 'imp' b)) '&'
  ((c 'imp' b) 'imp' (c 'imp' a))).z by BVFUNC_4:7
    .=((c 'imp' a) 'imp' (c 'imp' b)).z '&' ((c 'imp' b) 'imp' (c 'imp' a)).
  z by MARGREL1:def 20
    .=('not' (c 'imp' a).z 'or' (c 'imp' b).z) '&' ((c 'imp' b) 'imp' (c
  'imp' a)).z by BVFUNC_1:def 8
    .=('not' (c 'imp' a).z 'or' (c 'imp' b).z) '&' ('not' (c 'imp' b).z 'or'
  (c 'imp' a).z) by BVFUNC_1:def 8
    .=('not'( 'not' c.z 'or' a.z) 'or' (c 'imp' b).z) '&' ('not' (c
  'imp' b).z 'or' (c 'imp' a).z) by BVFUNC_1:def 8
    .=('not'( 'not' c.z 'or' a.z) 'or' ('not' c.z 'or' b.z)) '&' (
  'not' (c 'imp' b).z 'or' (c 'imp' a).z) by BVFUNC_1:def 8
    .=('not'( 'not' c.z 'or' a.z) 'or' ('not' c.z 'or' b.z)) '&' (
  'not'( 'not' c.z 'or' b.z) 'or' (c 'imp' a).z) by BVFUNC_1:def 8
    .=((c.z '&' 'not' a.z) 'or' ('not' c.z 'or' b.z)) '&' ((c.z
  '&' 'not' b.z) 'or' ('not' c.z 'or' a.z)) by BVFUNC_1:def 8;
A7: (b 'imp' a).z = 'not' b.z 'or' a.z by BVFUNC_1:def 8;
A8: b.z=TRUE or b.z=FALSE by XBOOLEAN:def 3;
  now
    per cases by A3,A8;
    case
A9:   'not' a.z=TRUE;
      then
      a.z=FALSE;
      then 'not' b.z=TRUE by A4;
      then ((c 'imp' a) 'eqv' (c 'imp' b)).z =(c.z 'or' ('not' c.z 'or'
      FALSE)) '&' (c.z 'or' ('not' c.z 'or' FALSE)) by A5,A9
        .=(c.z 'or' 'not' c.z) '&' (c.z 'or' 'not' c.z)
        .=TRUE by XBOOLEAN:102;
      hence thesis;
    end;
    case
      b.z=TRUE;
      then 'not' b.z=FALSE;
      then ((c 'imp' a) 'eqv' (c 'imp' b)).z =(FALSE 'or' ('not' c.z 'or'
      TRUE)) '&' (FALSE 'or' ('not' c.z 'or' TRUE)) by A2,A1,A7,A5,
MARGREL1:12
        .=('not' c.z 'or' TRUE) '&' ('not' c.z 'or' TRUE)
        .=TRUE;
      hence thesis;
    end;
  end;
  hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'eqv' b) '<' (a
  '&' c) 'eqv' (b '&' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: (a 'eqv' b).z =((a 'imp' b) '&' (b 'imp' a)).z by BVFUNC_4:7
    .=(a 'imp' b).z '&' (b 'imp' a).z by MARGREL1:def 20;
  assume
A2: (a 'eqv' b).z=TRUE;
  then (a 'imp' b).z=TRUE by A1,MARGREL1:12;
  then
A3: 'not' a.z 'or' b.z = TRUE by BVFUNC_1:def 8;
  (b 'imp' a).z=TRUE by A2,A1,MARGREL1:12;
  then
A4: 'not' b.z 'or' a.z = TRUE by BVFUNC_1:def 8;
A5: ((a '&' c) 'eqv' (b '&' c)).z =(((a '&' c) 'imp' (b '&' c)) '&' ((b '&'
  c) 'imp' (a '&' c))).z by BVFUNC_4:7
    .=((a '&' c) 'imp' (b '&' c)).z '&' ((b '&' c) 'imp' (a '&' c)).z by
MARGREL1:def 20
    .=('not' (a '&' c).z 'or' (b '&' c).z) '&' ((b '&' c) 'imp' (a '&' c)).z
  by BVFUNC_1:def 8
    .=('not' (a '&' c).z 'or' (b '&' c).z) '&' ('not' (b '&' c).z 'or' (a
  '&' c).z) by BVFUNC_1:def 8
    .=('not'( a.z '&' c.z) 'or' (b '&' c).z) '&' ('not' (b '&' c).z 'or'
  (a '&' c).z) by MARGREL1:def 20
    .=('not'( a.z '&' c.z) 'or' (b.z '&' c.z)) '&' ('not' (b '&' c).
  z 'or' (a '&' c).z) by MARGREL1:def 20
    .=('not'( a.z '&' c.z) 'or' (b.z '&' c.z)) '&' ('not'( b.z '&'
  c.z) 'or' (a '&' c).z) by MARGREL1:def 20
    .=(('not' a.z 'or' 'not' c.z) 'or' (b.z '&' c.z)) '&' (('not' (b
  ).z 'or' 'not' c.z) 'or' (a.z '&' c.z)) by MARGREL1:def 20;
A6: a.z=TRUE or a.z=FALSE by XBOOLEAN:def 3;
A7: (b 'imp' a).z = 'not' b.z 'or' a.z by BVFUNC_1:def 8;
A8: b.z=TRUE or b.z=FALSE by XBOOLEAN:def 3;
  now
    per cases by A3,A8;
    case
A9:   'not' a.z=TRUE;
      then
      a.z=FALSE;
      then 'not' b.z=TRUE by A4;
      then
      ((a '&' c) 'eqv' (b '&' c)).z =((TRUE 'or' 'not' c.z) 'or' FALSE)
      '&' ((TRUE 'or' 'not' c.z) 'or' FALSE) by A5,A9
        .=(TRUE 'or' 'not' c.z) '&' (TRUE 'or' 'not' c.z)
        .=TRUE;
      hence thesis;
    end;
    case
      b.z=TRUE;
      then 'not' b.z=FALSE;
      then
      ((a '&' c) 'eqv' (b '&' c)).z =((FALSE 'or' 'not' c.z) 'or' c.z
      ) '&' ((FALSE 'or' 'not' c.z) 'or' c.z) by A2,A1,A7,A6,A5
        .=('not' c.z 'or' c.z) '&' ('not' c.z 'or' c.z)
        .=TRUE by XBOOLEAN:102;
      hence thesis;
    end;
  end;
  hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'eqv' b) '<' (a
  'or' c) 'eqv' (b 'or' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: (a 'eqv' b).z =((a 'imp' b) '&' (b 'imp' a)).z by BVFUNC_4:7
    .=(a 'imp' b).z '&' (b 'imp' a).z by MARGREL1:def 20;
  assume
A2: (a 'eqv' b).z=TRUE;
  then (a 'imp' b).z=TRUE by A1,MARGREL1:12;
  then
A3: 'not' a.z 'or' b.z = TRUE by BVFUNC_1:def 8;
  (b 'imp' a).z=TRUE by A2,A1,MARGREL1:12;
  then
A4: 'not' b.z 'or' a.z = TRUE by BVFUNC_1:def 8;
A5: ((a 'or' c) 'eqv' (b 'or' c)).z =(((a 'or' c) 'imp' (b 'or' c)) '&' ((b
  'or' c) 'imp' (a 'or' c))).z by BVFUNC_4:7
    .=((a 'or' c) 'imp' (b 'or' c)).z '&' ((b 'or' c) 'imp' (a 'or' c)).z by
MARGREL1:def 20
    .=('not' (a 'or' c).z 'or' (b 'or' c).z) '&' ((b 'or' c) 'imp' (a 'or' c
  )).z by BVFUNC_1:def 8
    .=('not' (a 'or' c).z 'or' (b 'or' c).z) '&' ('not' (b 'or' c).z 'or' (a
  'or' c).z) by BVFUNC_1:def 8
    .=('not'( a.z 'or' c.z) 'or' (b 'or' c).z) '&' ('not' (b 'or' c).z
  'or' (a 'or' c).z) by BVFUNC_1:def 4
    .=('not'( a.z 'or' c.z) 'or' (b.z 'or' c.z)) '&' ('not' (b 'or'
  c).z 'or' (a 'or' c).z) by BVFUNC_1:def 4
    .=('not'( a.z 'or' c.z) 'or' (b.z 'or' c.z)) '&' ('not'( b.z
  'or' c.z) 'or' (a 'or' c).z) by BVFUNC_1:def 4
    .=(('not' a.z '&' 'not' c.z) 'or' (b.z 'or' c.z)) '&' (('not' (b
  ).z '&' 'not' c.z) 'or' (a.z 'or' c.z)) by BVFUNC_1:def 4;
A6: a.z=TRUE or a.z=FALSE by XBOOLEAN:def 3;
A7: (b 'imp' a).z = 'not' b.z 'or' a.z by BVFUNC_1:def 8;
A8: b.z=TRUE or b.z=FALSE by XBOOLEAN:def 3;
  now
    per cases by A3,A8;
    case
A9:   'not' a.z=TRUE;
      then
      a.z=FALSE;
      then 'not' b.z=TRUE by A4;
      then
      ((a 'or' c) 'eqv' (b 'or' c)).z =('not' c.z 'or' (FALSE 'or' c.
      z)) '&' ('not' c.z 'or' (FALSE 'or' c.z)) by A5,A9
        .=('not' c.z 'or' c.z) '&' ('not' c.z 'or' c.z)
        .=TRUE by XBOOLEAN:102;
      hence thesis;
    end;
    case
      b.z=TRUE;
      then 'not' b.z=FALSE;
      then
      ((a 'or' c) 'eqv' (b 'or' c)).z =(FALSE 'or' (TRUE 'or' c.z)) '&'
      (FALSE 'or' (TRUE 'or' c.z)) by A2,A1,A7,A6,A5
        .=(TRUE 'or' c.z) '&' (TRUE 'or' c.z)
        .=TRUE;
      hence thesis;
    end;
  end;
  hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds a '<' (a 'eqv' b)
  'eqv' (b 'eqv' a) 'eqv' a
proof
  let a,b be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: ('not' a).z='not' a.z by MARGREL1:def 19;
  assume
A2: a.z=TRUE;
  then
A3: 'not' a.z=FALSE;
A4: ((a 'eqv' b) 'eqv' (b 'eqv' a)).z =(((a 'eqv' b) 'imp' (b 'eqv' a)) '&'
  ((b 'eqv' a) 'imp' (a 'eqv' b))).z by BVFUNC_4:7
    .=('not'( a 'eqv' b) 'or' (b 'eqv' a)).z '&' ('not'( b 'eqv' a) 'or' (a
  'eqv' b)).z by BVFUNC_4:8
    .=(('not'( a 'eqv' b)).z 'or' (b 'eqv' a).z) '&' (('not'( b 'eqv' a)).z
  'or' (a 'eqv' b).z) by BVFUNC_1:def 4
    .=(('not'( (a 'imp' b) '&' (b 'imp' a))).z 'or' (b 'eqv' a).z) '&' ((
  'not'( b 'eqv' a)).z 'or' (a 'eqv' b).z) by BVFUNC_4:7
    .=(('not'( (a 'imp' b) '&' (b 'imp' a))).z 'or' (b 'eqv' a).z) '&' ((
  'not'( b 'eqv' a)).z 'or' ((a 'imp' b) '&' (b 'imp' a)).z) by BVFUNC_4:7
    .=(('not'( (a 'imp' b) '&' (b 'imp' a))).z 'or' ((b 'imp' a) '&' (a
  'imp' b)).z) '&' (('not'( b 'eqv' a)).z 'or' ((a 'imp' b) '&' (b 'imp' a)).z)
  by BVFUNC_4:7
    .=(('not'( (a 'imp' b) '&' (b 'imp' a))).z 'or' ((b 'imp' a) '&' (a
'imp' b)).z) '&' (('not'( (b 'imp' a) '&' (a 'imp' b))).z 'or' ((a 'imp' b) '&'
  (b 'imp' a)).z) by BVFUNC_4:7
    .=('not' ((a 'imp' b) '&' (b 'imp' a)).z 'or' ((b 'imp' a) '&' (a 'imp'
  b)).z) '&' ('not' ((b 'imp' a) '&' (a 'imp' b)).z 'or' ((a 'imp' b) '&' (b
  'imp' a)).z) by MARGREL1:def 19
    .=('not'( (a 'imp' b).z '&' (b 'imp' a).z) 'or' ((b 'imp' a) '&' (a
'imp' b)).z) '&' ('not' ((b 'imp' a) '&' (a 'imp' b)).z 'or' ((a 'imp' b) '&' (
  b 'imp' a)).z) by MARGREL1:def 20
    .=('not'( (a 'imp' b).z '&' (b 'imp' a).z) 'or' ((b 'imp' a).z '&' (a
'imp' b).z)) '&' ('not' ((b 'imp' a) '&' (a 'imp' b)).z 'or' ((a 'imp' b) '&' (
  b 'imp' a)).z) by MARGREL1:def 20
    .=('not'( (a 'imp' b).z '&' (b 'imp' a).z) 'or' ((b 'imp' a).z '&' (a
'imp' b).z)) '&' ('not'( (b 'imp' a).z '&' (a 'imp' b).z) 'or' ((a 'imp' b) '&'
  (b 'imp' a)).z) by MARGREL1:def 20
    .=('not'( (a 'imp' b).z '&' (b 'imp' a).z) 'or' ((b 'imp' a).z '&' (a
  'imp' b).z)) '&' ('not'( (b 'imp' a).z '&' (a 'imp' b).z) 'or' ((a 'imp' b).z
  '&' (b 'imp' a).z)) by MARGREL1:def 20
    .=('not'( ('not' a 'or' b).z '&' (b 'imp' a).z) 'or' ((b 'imp' a).z '&'
(a 'imp' b).z)) '&' ('not'( (b 'imp' a).z '&' (a 'imp' b).z) 'or' ((a 'imp' b).
  z '&' (b 'imp' a).z)) by BVFUNC_4:8
    .=('not'( ('not' a 'or' b).z '&' ('not' b 'or' a).z) 'or' ((b 'imp' a).z
'&' (a 'imp' b).z)) '&' ('not'( (b 'imp' a).z '&' (a 'imp' b).z) 'or' ((a 'imp'
  b).z '&' (b 'imp' a).z)) by BVFUNC_4:8
    .=('not'( ('not' a 'or' b).z '&' ('not' b 'or' a).z) 'or' (('not' b 'or'
a).z '&' (a 'imp' b).z)) '&' ('not'( (b 'imp' a).z '&' (a 'imp' b).z) 'or' ((a
  'imp' b).z '&' (b 'imp' a).z)) by BVFUNC_4:8
    .=('not'( ('not' a 'or' b).z '&' ('not' b 'or' a).z) 'or' (('not' b 'or'
a).z '&' ('not' a 'or' b).z)) '&' ('not'( (b 'imp' a).z '&' (a 'imp' b).z) 'or'
  ((a 'imp' b).z '&' (b 'imp' a).z)) by BVFUNC_4:8
    .=('not'( ('not' a 'or' b).z '&' ('not' b 'or' a).z) 'or' (('not' b 'or'
a).z '&' ('not' a 'or' b).z)) '&' ('not'( ('not' b 'or' a).z '&' (a 'imp' b).z)
  'or' ((a 'imp' b).z '&' (b 'imp' a).z)) by BVFUNC_4:8
    .=('not'( ('not' a 'or' b).z '&' ('not' b 'or' a).z) 'or' (('not' b 'or'
a).z '&' ('not' a 'or' b).z)) '&' ('not'( ('not' b 'or' a).z '&' ('not' a 'or'
  b).z) 'or' ((a 'imp' b).z '&' (b 'imp' a).z)) by BVFUNC_4:8
    .=('not'( ('not' a 'or' b).z '&' ('not' b 'or' a).z) 'or' (('not' b 'or'
a).z '&' ('not' a 'or' b).z)) '&' ('not'( ('not' b 'or' a).z '&' ('not' a 'or'
  b).z) 'or' (('not' a 'or' b).z '&' (b 'imp' a).z)) by BVFUNC_4:8
    .=('not'( ('not' a 'or' b).z '&' ('not' b 'or' a).z) 'or' (('not' b 'or'
a).z '&' ('not' a 'or' b).z)) '&' ('not'( ('not' b 'or' a).z '&' ('not' a 'or'
  b).z) 'or' (('not' a 'or' b).z '&' ('not' b 'or' a).z)) by BVFUNC_4:8
    .=('not'( (('not' a).z 'or' b.z) '&' (('not' b 'or' a).z)) 'or' (((
'not' b 'or' a).z) '&' (('not' a 'or' b).z))) '&' ('not'( (('not' b 'or' a).z)
'&' (('not' a 'or' b).z)) 'or' ((('not' a 'or' b).z) '&' (('not' b 'or' a).z)))
  by BVFUNC_1:def 4
    .=('not'( (('not' a).z 'or' b.z) '&' (('not' b).z 'or' a.z)) 'or' ((
('not' b 'or' a).z) '&' (('not' a 'or' b).z))) '&' ('not'( (('not' b 'or' a).z)
'&' (('not' a 'or' b).z)) 'or' ((('not' a 'or' b).z) '&' (('not' b 'or' a).z)))
  by BVFUNC_1:def 4
    .=('not'( (('not' a).z 'or' b.z) '&' (('not' b).z 'or' a.z)) 'or' ((
('not' b).z 'or' a.z) '&' (('not' a 'or' b).z))) '&' ('not'( (('not' b 'or' a
).z) '&' (('not' a 'or' b).z)) 'or' ((('not' a 'or' b).z) '&' (('not' b 'or' a)
  .z))) by BVFUNC_1:def 4
    .=('not'( (('not' a).z 'or' b.z) '&' (('not' b).z 'or' a.z)) 'or' ((
  ('not' b).z 'or' a.z) '&' (('not' a).z 'or' b.z))) '&' ('not'( (('not' b
  'or' a).z) '&' (('not' a 'or' b).z)) 'or' ((('not' a 'or' b).z) '&' (('not' b
  'or' a).z))) by BVFUNC_1:def 4
    .=('not'( (('not' a).z 'or' b.z) '&' (('not' b).z 'or' a.z)) 'or' ((
('not' b).z 'or' a.z) '&' (('not' a).z 'or' b.z))) '&' ('not'( (('not' b).z
'or' a.z) '&' (('not' a 'or' b).z)) 'or' ((('not' a 'or' b).z) '&' (('not' b
  'or' a).z))) by BVFUNC_1:def 4
    .=('not'( (('not' a).z 'or' b.z) '&' (('not' b).z 'or' a.z)) 'or' ((
('not' b).z 'or' a.z) '&' (('not' a).z 'or' b.z))) '&' ('not'( (('not' b).z
  'or' a.z) '&' (('not' a).z 'or' b.z)) 'or' ((('not' a 'or' b).z) '&' ((
  'not' b 'or' a).z))) by BVFUNC_1:def 4
    .=('not'( (('not' a).z 'or' b.z) '&' (('not' b).z 'or' a.z)) 'or' ((
('not' b).z 'or' a.z) '&' (('not' a).z 'or' b.z))) '&' ('not'( (('not' b).z
'or' a.z) '&' (('not' a).z 'or' b.z)) 'or' ((('not' a).z 'or' b.z) '&' ((
  'not' b 'or' a).z))) by BVFUNC_1:def 4
    .=('not'( (FALSE 'or' b.z) '&' (('not' b).z 'or' TRUE)) 'or' ((('not'
  b).z 'or' TRUE) '&' (FALSE 'or' b.z))) '&' ('not'( (('not' b).z 'or' TRUE)
'&' (FALSE 'or' b.z)) 'or' ((FALSE 'or' b.z) '&' (('not' b).z 'or' TRUE)))
  by A3,A1,BVFUNC_1:def 4
    .=('not'( b.z '&' (('not' b).z 'or' TRUE)) 'or' ((('not' b).z 'or'
  TRUE) '&' (FALSE 'or' b.z))) '&' ('not'( (('not' b).z 'or' TRUE) '&' (FALSE
'or' b.z)) 'or' ((FALSE 'or' b.z) '&' (('not' b).z 'or' TRUE))) 
    .=('not'( b.z '&' (('not' b).z 'or' TRUE)) 'or' ((('not' b).z 'or'
  TRUE) '&' b.z)) '&' ('not'( (('not' b).z 'or' TRUE) '&' (FALSE 'or' b.z))
  'or' ((FALSE 'or' b.z) '&' (('not' b).z 'or' TRUE)))
    .=('not'( b.z '&' (('not' b).z 'or' TRUE)) 'or' ((('not' b).z 'or'
  TRUE) '&' b.z)) '&' ('not'( (('not' b).z 'or' TRUE) '&' (FALSE 'or' b.z))
  'or' (b.z '&' (('not' b).z 'or' TRUE))) 
    .=('not'( b.z '&' TRUE) 'or' ((('not' b).z 'or' TRUE) '&' b.z)) '&'
('not'( (('not' b).z 'or' TRUE) '&' (FALSE 'or' b.z)) 'or' (b.z '&' (('not'
  b).z 'or' TRUE))) 
    .=('not'( b.z '&' TRUE) 'or' (TRUE '&' b.z)) '&' ('not'( (('not' b).
z 'or' TRUE) '&' (FALSE 'or' b.z)) 'or' (b.z '&' (('not' b).z 'or' TRUE)))
    .=('not'( b.z '&' TRUE) 'or' (TRUE '&' b.z)) '&' ('not'( TRUE '&' (
  FALSE 'or' b.z)) 'or' (b.z '&' (('not' b).z 'or' TRUE))) 
    .=('not'( b.z '&' TRUE) 'or' (TRUE '&' b.z)) '&' ('not'( TRUE '&' (
  FALSE 'or' b.z)) 'or' (b.z '&' TRUE)) 
    .=('not'( TRUE '&' b.z) 'or' (TRUE '&' b.z)) '&' ('not'( TRUE '&' (b
  ).z) 'or' (b.z '&' TRUE)) 
    .=('not' b.z 'or' (TRUE '&' b.z)) '&' ('not' b.z 'or' (TRUE '&' (b
  ).z)) 
    .=('not' b.z 'or' b.z) '&' ('not' b.z 'or' b.z) 
    .=TRUE by XBOOLEAN:102;
  ((a 'eqv' b) 'eqv' (b 'eqv' a) 'eqv' a).z =((((a 'eqv' b) 'eqv' (b 'eqv'
  a)) 'imp' a) '&' (a 'imp' ((a 'eqv' b) 'eqv' (b 'eqv' a)))).z by BVFUNC_4:7
    .=(((a 'eqv' b) 'eqv' (b 'eqv' a)) 'imp' a).z '&' (a 'imp' ((a 'eqv' b)
  'eqv' (b 'eqv' a))).z by MARGREL1:def 20
    .=('not' ((a 'eqv' b) 'eqv' (b 'eqv' a)).z 'or' a.z) '&' (a 'imp' ((a
  'eqv' b) 'eqv' (b 'eqv' a))).z by BVFUNC_1:def 8
    .=('not' ((a 'eqv' b) 'eqv' (b 'eqv' a)).z 'or' a.z) '&' ('not' a.z
  'or' ((a 'eqv' b) 'eqv' (b 'eqv' a)).z) by BVFUNC_1:def 8
    .=(FALSE 'or' a.z) '&' ('not' a.z 'or' TRUE) by A4
    .=a.z '&' ('not' a.z 'or' TRUE) 
    .=TRUE '&' a.z 
    .=TRUE by A2;
  hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds a '<' (a 'imp' b) 'eqv' b
proof
  let a,b be Function of Y,BOOLEAN;
  let z be Element of Y;
  assume
    a.z=TRUE;
  then
A2: 'not' a.z=FALSE;
  ((a 'imp' b) 'eqv' b).z =(('not' a 'or' b) 'eqv' b).z by BVFUNC_4:8
    .=((('not' a 'or' b) 'imp' b) '&' (b 'imp' ('not' a 'or' b))).z by
BVFUNC_4:7
    .=(('not'( 'not' a 'or' b) 'or' b) '&' (b 'imp' ('not' a 'or' b))).z by
BVFUNC_4:8
    .=(('not'( 'not' a 'or' b) 'or' b) '&' ('not' b 'or' ('not' a 'or' b))).
  z by BVFUNC_4:8
    .=('not'( 'not' a 'or' b) 'or' b).z '&' ('not' b 'or' ('not' a 'or' b)).
  z by MARGREL1:def 20
    .=(('not'( 'not' a 'or' b)).z 'or' b.z) '&' ('not' b 'or' ('not' a
  'or' b)).z by BVFUNC_1:def 4
    .=('not' ('not' a 'or' b).z 'or' b.z) '&' ('not' b 'or' ('not' a 'or'
  b)).z by MARGREL1:def 19
    .=('not'( ('not' a).z 'or' b.z) 'or' b.z) '&' ('not' b 'or' ('not' a
  'or' b)).z by BVFUNC_1:def 4
    .=(('not' 'not' a.z '&' 'not' b.z) 'or' b.z) '&' ('not' b 'or' (
  'not' a 'or' b)).z by MARGREL1:def 19
    .=((a.z '&' 'not' b.z) 'or' b.z) '&' (('not' b).z 'or' ('not' a
  'or' b).z) by BVFUNC_1:def 4
    .=((a.z '&' 'not' b.z) 'or' b.z) '&' (('not' b).z 'or' (('not' a).
  z 'or' b.z)) by BVFUNC_1:def 4
    .=((a.z '&' 'not' b.z) 'or' b.z) '&' (('not' b).z 'or' ('not' a.
  z 'or' b.z)) by MARGREL1:def 19
    .=((TRUE '&' 'not' b.z) 'or' b.z) '&' ('not' b.z 'or' (FALSE 'or'
  b.z)) by A2,MARGREL1:def 19
    .=('not' b.z 'or' b.z) '&' ('not' b.z 'or' (FALSE 'or' b.z))
    .=('not' b.z 'or' b.z) '&' ('not' b.z 'or' b.z) 
    .=TRUE by XBOOLEAN:102;
  hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds a '<' (b 'imp' a) 'eqv' a
proof
  let a,b be Function of Y,BOOLEAN;
  let z be Element of Y;
  assume
    a.z=TRUE;
  then
A2: 'not' a.z=FALSE;
  ((b 'imp' a) 'eqv' a).z =(('not' b 'or' a) 'eqv' a).z by BVFUNC_4:8
    .=((('not' b 'or' a) 'imp' a) '&' (a 'imp' ('not' b 'or' a))).z by
BVFUNC_4:7
    .=(('not'( 'not' b 'or' a) 'or' a) '&' (a 'imp' ('not' b 'or' a))).z by
BVFUNC_4:8
    .=(('not'( 'not' b 'or' a) 'or' a) '&' ('not' a 'or' ('not' b 'or' a))).
  z by BVFUNC_4:8
    .=('not'( 'not' b 'or' a) 'or' a).z '&' ('not' a 'or' ('not' b 'or' a)).
  z by MARGREL1:def 20
    .=(('not'( 'not' b 'or' a)).z 'or' a.z) '&' ('not' a 'or' ('not' b
  'or' a)).z by BVFUNC_1:def 4
    .=('not' ('not' b 'or' a).z 'or' a.z) '&' ('not' a 'or' ('not' b 'or'
  a)).z by MARGREL1:def 19
    .=('not'( ('not' b).z 'or' a.z) 'or' a.z) '&' ('not' a 'or' ('not' b
  'or' a)).z by BVFUNC_1:def 4
    .=(('not' 'not' b.z '&' 'not' a.z) 'or' a.z) '&' ('not' a 'or' (
  'not' b 'or' a)).z by MARGREL1:def 19
    .=((b.z '&' 'not' a.z) 'or' a.z) '&' (('not' a).z 'or' ('not' b
  'or' a).z) by BVFUNC_1:def 4
    .=((b.z '&' 'not' a.z) 'or' a.z) '&' (('not' a).z 'or' (('not' b).
  z 'or' a.z)) by BVFUNC_1:def 4
    .=((b.z '&' 'not' a.z) 'or' a.z) '&' (('not' a).z 'or' ('not' b.
  z 'or' a.z)) by MARGREL1:def 19
    .=((b.z '&' 'not' a.z) 'or' a.z) '&' ('not' a.z 'or' ('not' b.
  z 'or' a.z)) by MARGREL1:def 19
    .=TRUE '&' (FALSE 'or' ('not' b.z 'or' TRUE)) by A2
    .=FALSE 'or' ('not' b.z 'or' TRUE) 
    .='not' b.z 'or' TRUE
    .=TRUE;
  hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds a '<' (a '&' b) 'eqv'
  (b '&' a) 'eqv' a
proof
  let a,b be Function of Y,BOOLEAN;
  let z be Element of Y;
  assume
A1: a.z=TRUE;
A2: ((a '&' b) 'eqv' (a '&' b)).z =(((a '&' b) 'imp' (a '&' b)) '&' ((a '&'
  b) 'imp' (a '&' b))).z by BVFUNC_4:7
    .=('not'( a '&' b) 'or' (a '&' b)).z by BVFUNC_4:8
    .=(I_el(Y)).z by BVFUNC_4:6
    .=TRUE by BVFUNC_1:def 11;
  ((a '&' b) 'eqv' (b '&' a) 'eqv' a).z =((((a '&' b) 'eqv' (a '&' b))
  'imp' a) '&' (a 'imp' ((a '&' b) 'eqv' (a '&' b)))).z by BVFUNC_4:7
    .=(((a '&' b) 'eqv' (a '&' b)) 'imp' a).z '&' (a 'imp' ((a '&' b) 'eqv'
  (a '&' b))).z by MARGREL1:def 20
    .=('not'( (a '&' b) 'eqv' (a '&' b)) 'or' a).z '&' (a 'imp' ((a '&' b)
  'eqv' (a '&' b))).z by BVFUNC_4:8
    .=('not'( (a '&' b) 'eqv' (a '&' b)) 'or' a).z '&' ('not' a 'or' ((a '&'
  b) 'eqv' (a '&' b))).z by BVFUNC_4:8
    .=(('not'( (a '&' b) 'eqv' (a '&' b))).z 'or' a.z) '&' ('not' a 'or' (
  (a '&' b) 'eqv' (a '&' b))).z by BVFUNC_1:def 4
    .=(('not'( (a '&' b) 'eqv' (a '&' b))).z 'or' a.z) '&' (('not' a).z
  'or' ((a '&' b) 'eqv' (a '&' b)).z) by BVFUNC_1:def 4
    .=('not' ((a '&' b) 'eqv' (a '&' b)).z 'or' a.z) '&' (('not' a).z 'or'
  ((a '&' b) 'eqv' (a '&' b)).z) by MARGREL1:def 19
    .=(FALSE 'or' a.z) '&' (('not' a).z 'or' TRUE) by A2
    .=a.z '&' (('not' a).z 'or' TRUE) 
    .=TRUE '&' a.z 
    .=TRUE by A1;
  hence thesis;
end;

begin :: BVFUNC_8

reserve Y for non empty set;

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

theorem
  for a,b,c,d being Function of Y,BOOLEAN holds a 'imp' (b 'or' c
  'or' d) = (a 'imp' b) 'or' (a 'imp' c) 'or' (a 'imp' d)
proof
  let a,b,c,d be Function of Y,BOOLEAN;
    let x be Element of Y;
    ((a 'imp' b) 'or' (a 'imp' c) 'or' (a 'imp' d)).x =((a 'imp' b) 'or' (
    a 'imp' c)).x 'or' (a 'imp' d).x by BVFUNC_1:def 4
      .=(a 'imp' b).x 'or' (a 'imp' c).x 'or' (a 'imp' d).x by BVFUNC_1:def 4
      .=('not' a.x 'or' b.x) 'or' (a 'imp' c).x 'or' (a 'imp' d).x by
BVFUNC_1:def 8
      .=('not' a.x 'or' b.x) 'or' ('not' a.x 'or' c.x) 'or' (a 'imp'
    d).x by BVFUNC_1:def 8
      .=('not' a.x 'or' b.x) 'or' ('not' a.x 'or' c.x) 'or' ('not' (
    a).x 'or' (d).x) by BVFUNC_1:def 8
      .=(('not' a.x 'or' ('not' a.x 'or' b.x)) 'or' c.x) 'or' ('not'
    a.x 'or' (d).x) 
      .=((('not' a.x 'or' 'not' a.x) 'or' b.x) 'or' c.x) 'or' ('not'
    a.x 'or' (d).x) by BINARITH:11
      .=('not' a.x 'or' (b.x 'or' c.x)) 'or' ('not' a.x 'or' (d).x)
      .=('not' a.x 'or' (b 'or' c).x) 'or' ('not' a.x 'or' (d).x) by
BVFUNC_1:def 4
      .=('not' a.x 'or' ('not' a.x 'or' (b 'or' c).x)) 'or' (d).x 
      .=(('not' a.x 'or' 'not' a.x) 'or' (b 'or' c).x) 'or' (d).x by
BINARITH:11
      .='not' a.x 'or' ((b 'or' c).x 'or' (d).x)
      .='not' a.x 'or' (b 'or' c 'or' d).x by BVFUNC_1:def 4
      .=(a 'imp' (b 'or' c 'or' d)).x by BVFUNC_1:def 8;
    hence thesis;
end;

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

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

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b) '&' (b
  'imp' c) '&' (c 'imp' a) = (a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' a) '&' (b
  'imp' a) '&' (a 'imp' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
    let x be Element of Y;
    (a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' a) =('not' a 'or' b) '&' (b
    'imp' c) '&' (c 'imp' a) by BVFUNC_4:8
      .=('not' a 'or' b) '&' ('not' b 'or' c) '&' (c 'imp' a) by BVFUNC_4:8
      .=('not' a 'or' b) '&' ('not' b 'or' c) '&' ('not' c 'or' a) by
BVFUNC_4:8
      .=(('not' a '&' ('not' b 'or' c) 'or' b '&' ('not' b 'or' c))) '&' (
    'not' c 'or' a) by BVFUNC_1:12
      .=(('not' a '&' ('not' b 'or' c) 'or' (b '&' 'not' b 'or' b '&' c)))
    '&' ('not' c 'or' a) by BVFUNC_1:12
      .=(('not' a '&' ('not' b 'or' c) 'or' (O_el(Y) 'or' b '&' c))) '&' (
    'not' c 'or' a) by BVFUNC_4:5
      .=(('not' a '&' ('not' b 'or' c) 'or' (b '&' c))) '&' ('not' c 'or' a)
    by BVFUNC_1:9
      .=(('not' a 'or' (b '&' c)) '&' (('not' b 'or' c) 'or' (b '&' c))) '&'
    ('not' c 'or' a) by BVFUNC_1:11
      .=((('not' a 'or' b) '&' ('not' a 'or' c)) '&' (('not' b 'or' c) 'or'
    (b '&' c))) '&' ('not' c 'or' a) by BVFUNC_1:11
      .=((('not' a 'or' b) '&' ('not' a 'or' c)) '&' ((('not' b 'or' c) 'or'
    b) '&' (('not' b 'or' c) 'or' c))) '&' ('not' c 'or' a) by BVFUNC_1:11
      .=((('not' a 'or' b) '&' ('not' a 'or' c)) '&' ((c 'or' ('not' b 'or'
    b)) '&' (('not' b 'or' c) 'or' c))) '&' ('not' c 'or' a) by BVFUNC_1:8
      .=((('not' a 'or' b) '&' ('not' a 'or' c)) '&' ((c 'or' I_el(Y)) '&' (
    ('not' b 'or' c) 'or' c))) '&' ('not' c 'or' a) by BVFUNC_4:6
      .=((('not' a 'or' b) '&' ('not' a 'or' c)) '&' (I_el(Y) '&' (('not' b
    'or' c) 'or' c))) '&' ('not' c 'or' a) by BVFUNC_1:10
      .=((('not' a 'or' b) '&' ('not' a 'or' c)) '&' (('not' b 'or' c) 'or'
    c)) '&' ('not' c 'or' a) by BVFUNC_1:6
      .=((('not' a 'or' b) '&' ('not' a 'or' c)) '&' ('not' b 'or' (c 'or' c
    ))) '&' ('not' c 'or' a) by BVFUNC_1:8
      .=(('not' a 'or' b) '&' ('not' a 'or' c)) '&' (('not' b 'or' c) '&' (
    'not' c 'or' a)) by BVFUNC_1:4
      .=(('not' a 'or' b) '&' ('not' a 'or' c)) '&' (('not' b '&' ('not' c
    'or' a)) 'or' (c '&' ('not' c 'or' a))) by BVFUNC_1:12
      .=(('not' a 'or' b) '&' ('not' a 'or' c)) '&' (('not' b '&' ('not' c
    'or' a)) 'or' ((c '&' 'not' c 'or' c '&' a))) by BVFUNC_1:12
      .=(('not' a 'or' b) '&' ('not' a 'or' c)) '&' (('not' b '&' ('not' c
    'or' a)) 'or' ((O_el(Y) 'or' c '&' a))) by BVFUNC_4:5
      .=(('not' a 'or' b) '&' ('not' a 'or' c)) '&' (('not' b '&' ('not' c
    'or' a)) 'or' (c '&' a)) by BVFUNC_1:9
      .=(('not' a 'or' b) '&' ('not' a 'or' c)) '&' (('not' b 'or' (c '&' a)
    ) '&' (('not' c 'or' a) 'or' (c '&' a))) by BVFUNC_1:11
      .=(('not' a 'or' b) '&' ('not' a 'or' c)) '&' ((('not' b 'or' c) '&' (
    'not' b 'or' a)) '&' (('not' c 'or' a) 'or' (c '&' a))) by BVFUNC_1:11
      .= (('not' a 'or' c) '&' ('not' a 'or' b)) '&' ((('not' b 'or' a) '&'
('not' b 'or' c)) '&' ((('not' c 'or' a) 'or' c) '&' (('not' c 'or' a) 'or' a))
    ) by BVFUNC_1:11
      .= (('not' a 'or' c) '&' ('not' a 'or' b)) '&' ((('not' b 'or' a) '&'
('not' b 'or' c)) '&' ((a 'or' ('not' c 'or' c)) '&' (('not' c 'or' a) 'or' a))
    ) by BVFUNC_1:8
      .= (('not' a 'or' c) '&' ('not' a 'or' b)) '&' ((('not' b 'or' a) '&'
    ('not' b 'or' c)) '&' ((a 'or' I_el(Y)) '&' (('not' c 'or' a) 'or' a))) by
BVFUNC_4:6
      .= (('not' a 'or' c) '&' ('not' a 'or' b)) '&' ((('not' b 'or' a) '&'
('not' b 'or' c)) '&' (I_el(Y) '&' (('not' c 'or' a) 'or' a))) by BVFUNC_1:10
      .= (('not' a 'or' c) '&' ('not' a 'or' b)) '&' ((('not' b 'or' a) '&'
    ('not' b 'or' c)) '&' (('not' c 'or' a) 'or' a)) by BVFUNC_1:6
      .= (('not' a 'or' c) '&' ('not' a 'or' b)) '&' ((('not' b 'or' a) '&'
    ('not' b 'or' c)) '&' ('not' c 'or' (a 'or' a))) by BVFUNC_1:8
      .= ((('not' a 'or' c) '&' ('not' a 'or' b)) '&' (('not' b 'or' a) '&'
    ('not' b 'or' c))) '&' ('not' c 'or' a) by BVFUNC_1:4
      .= (((('not' a 'or' b) '&' ('not' a 'or' c)) '&' ('not' b 'or' a)) '&'
    ('not' b 'or' c)) '&' ('not' c 'or' a) by BVFUNC_1:4
      .= (((('not' b 'or' a) '&' ('not' a 'or' c)) '&' ('not' a 'or' b)) '&'
    ('not' b 'or' c)) '&' ('not' c 'or' a) by BVFUNC_1:4
      .= ((('not' b 'or' a) '&' ('not' a 'or' c)) '&' (('not' a 'or' b) '&'
    ('not' b 'or' c))) '&' ('not' c 'or' a) by BVFUNC_1:4
      .= (('not' b 'or' a) '&' ('not' a 'or' c)) '&' ((('not' a 'or' b) '&'
    ('not' b 'or' c)) '&' ('not' c 'or' a)) by BVFUNC_1:4
      .= ('not' b 'or' a) '&' (('not' a 'or' b) '&' ('not' b 'or' c) '&' (
    'not' c 'or' a)) '&' ('not' a 'or' c) by BVFUNC_1:4
      .= (a 'imp' b) '&' ('not' b 'or' c) '&' ('not' c 'or' a) '&' ('not' b
    'or' a) '&' ('not' a 'or' c) by BVFUNC_4:8
      .= (a 'imp' b) '&' (b 'imp' c) '&' ('not' c 'or' a) '&' ('not' b 'or'
    a) '&' ('not' a 'or' c) by BVFUNC_4:8
      .= (a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' a) '&' ('not' b 'or' a)
    '&' ('not' a 'or' c) by BVFUNC_4:8
      .= (a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' a) '&' (b 'imp' a) '&' (
    'not' a 'or' c) by BVFUNC_4:8
      .=(a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' a) '&' (b 'imp' a) '&' (a
    'imp' c) by BVFUNC_4:8;
    hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds a = (a '&' b) 'or' (a
  '&' 'not' b)
proof
  let a,b be Function of Y,BOOLEAN;
    let x be Element of Y;
    ((a '&' b) 'or' (a '&' 'not' b)).x =(a '&' (b 'or' 'not' b)).x by
BVFUNC_1:12
      .=(a '&' I_el(Y)).x by BVFUNC_4:6
      .=a.x by BVFUNC_1:6;
    hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds a = (a 'or' b) '&' (a
  'or' 'not' b)
proof
  let a,b be Function of Y,BOOLEAN;
    let x be Element of Y;
    ((a 'or' b) '&' (a 'or' 'not' b)).x =(a 'or' (b '&' 'not' b)).x by
BVFUNC_1:11
      .=(a 'or' O_el(Y)).x by BVFUNC_4:5
      .=a.x by BVFUNC_1:9;
    hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds a = (a '&' b '&' c)
  'or' (a '&' b '&' 'not' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' 'not' b '&'
  'not' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
    let x be Element of Y;
    ((a '&' b '&' c) 'or' (a '&' b '&' 'not' c) 'or' (a '&' 'not' b '&' c)
'or' (a '&' 'not' b '&' 'not' c)).x =(((a '&' b) '&' (c 'or' 'not' c)) 'or' (a
    '&' 'not' b '&' c) 'or' (a '&' 'not' b '&' 'not' c)).x by BVFUNC_1:12
      .=(((a '&' b) '&' I_el(Y)) 'or' (a '&' 'not' b '&' c) 'or' (a '&'
    'not' b '&' 'not' c)).x by BVFUNC_4:6
      .=((a '&' b) 'or' (a '&' 'not' b '&' c) 'or' (a '&' 'not' b '&' 'not'
    c)).x by BVFUNC_1:6
      .=((a '&' b) 'or' ((a '&' 'not' b '&' c) 'or' (a '&' 'not' b '&' 'not'
    c))).x by BVFUNC_1:8
      .=((a '&' b) 'or' ((a '&' 'not' b) '&' (c 'or' 'not' c))).x by
BVFUNC_1:12
      .=((a '&' b) 'or' ((a '&' 'not' b) '&' I_el(Y))).x by BVFUNC_4:6
      .=((a '&' b) 'or' (a '&' 'not' b)).x by BVFUNC_1:6
      .=(a '&' (b 'or' 'not' b)).x by BVFUNC_1:12
      .=(a '&' I_el(Y)).x by BVFUNC_4:6
      .=a.x by BVFUNC_1:6;
    hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds a = (a 'or' b 'or' c
  ) '&' (a 'or' b 'or' 'not' c) '&' (a 'or' 'not' b 'or' c) '&' (a 'or' 'not' b
  'or' 'not' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
    let x be Element of Y;
    ((a 'or' b 'or' c) '&' (a 'or' b 'or' 'not' c) '&' (a 'or' 'not' b
'or' c) '&' (a 'or' 'not' b 'or' 'not' c)).x =(((a 'or' b) 'or' (c '&' 'not' c)
) '&' (a 'or' 'not' b 'or' c) '&' (a 'or' 'not' b 'or' 'not' c)).x by
BVFUNC_1:11
      .=(((a 'or' b) 'or' O_el(Y)) '&' (a 'or' 'not' b 'or' c) '&' (a 'or'
    'not' b 'or' 'not' c)).x by BVFUNC_4:5
      .=((a 'or' b) '&' (a 'or' 'not' b 'or' c) '&' (a 'or' 'not' b 'or'
    'not' c)).x by BVFUNC_1:9
      .=((a 'or' b) '&' ((a 'or' 'not' b 'or' c) '&' (a 'or' 'not' b 'or'
    'not' c))).x by BVFUNC_1:4
      .=((a 'or' b) '&' ((a 'or' 'not' b) 'or' (c '&' 'not' c))).x by
BVFUNC_1:11
      .=((a 'or' b) '&' ((a 'or' 'not' b) 'or' O_el(Y))).x by BVFUNC_4:5
      .=((a 'or' b) '&' (a 'or' 'not' b)).x by BVFUNC_1:9
      .=(a 'or' (b '&' 'not' b)).x by BVFUNC_1:11
      .=(a 'or' O_el(Y)).x by BVFUNC_4:5
      .=a.x by BVFUNC_1:9;
    hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds a '&' b = a '&' ('not'
  a 'or' b)
proof
  let a,b be Function of Y,BOOLEAN;
    let x be Element of Y;
    (a '&' ('not' a 'or' b)).x =a.x '&' ('not' a 'or' b).x by MARGREL1:def 20
      .=a.x '&' (('not' a).x 'or' b.x) by BVFUNC_1:def 4
      .=a.x '&' ('not' a).x 'or' a.x '&' b.x by XBOOLEAN:8
      .=a.x '&' 'not' a.x 'or' a.x '&' b.x by MARGREL1:def 19
      .=FALSE 'or' a.x '&' b.x by XBOOLEAN:138
      .=a.x '&' b.x 
      .=(a '&' b).x by MARGREL1:def 20;
    hence thesis;
end;

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

theorem
  for a,b being Function of Y,BOOLEAN holds a 'xor' b = 'not'( a 'eqv' b)
proof
  let a,b be Function of Y,BOOLEAN;
    let x be Element of Y;
    (a 'xor' b).x =('not' 'not'( ('not' a '&' b) 'or' (a '&' 'not' b))).x
    by BVFUNC_4:9
      .=('not'('not'('not' a '&' b) '&' 'not'( a '&' 'not' b))).x by
BVFUNC_1:13
      .=('not'( ('not' 'not' a 'or' 'not' b) '&' 'not'( a '&' 'not' b))).x
    by BVFUNC_1:14
      .=('not'( (a 'or' 'not' b) '&' ('not' a 'or' 'not' 'not' b))).x by
BVFUNC_1:14
      .=('not'( (b 'imp' a) '&' ('not' a 'or' b))).x by BVFUNC_4:8
      .=('not'( (b 'imp' a) '&' (a 'imp' b))).x by BVFUNC_4:8
      .=('not'( a 'eqv' b)).x by BVFUNC_4:7;
    hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds a 'xor' b = (a 'or' b)
  '&' ('not' a 'or' 'not' b)
proof
  let a,b be Function of Y,BOOLEAN;
    let x be Element of Y;
    ((a 'or' b) '&' ('not' a 'or' 'not' b)).x =(a 'or' b).x '&' ('not' a
    'or' 'not' b).x by MARGREL1:def 20
      .=(a.x 'or' b.x) '&' ('not' a 'or' 'not' b).x by BVFUNC_1:def 4
      .=(a.x 'or' b.x) '&' (('not' a).x 'or' ('not' b).x) by BVFUNC_1:def 4
      .=(('not' a).x '&' (a.x 'or' b.x)) 'or' ((a.x 'or' b.x) '&' (
    'not' b).x) by XBOOLEAN:8
      .=(('not' a).x '&' a.x 'or' ('not' a).x '&' b.x) 'or' (('not' b).x
    '&' (a.x 'or' b.x)) by XBOOLEAN:8
      .=(('not' a).x '&' a.x 'or' ('not' a).x '&' b.x) 'or' (('not' b).x
    '&' a.x 'or' ('not' b).x '&' b.x) by XBOOLEAN:8
      .=('not' a.x '&' a.x 'or' ('not' a).x '&' b.x) 'or' (('not' b).x
    '&' a.x 'or' ('not' b).x '&' b.x) by MARGREL1:def 19
      .=('not' a.x '&' a.x 'or' ('not' a).x '&' b.x) 'or' (('not' b).x
    '&' a.x 'or' 'not' b.x '&' b.x) by MARGREL1:def 19
      .=(FALSE 'or' ('not' a).x '&' b.x) 'or' (('not' b).x '&' a.x 'or'
    'not' b.x '&' b.x) by XBOOLEAN:138
      .=(FALSE 'or' ('not' a).x '&' b.x) 'or' (('not' b).x '&' a.x 'or'
    FALSE) by XBOOLEAN:138
      .=(('not' a).x '&' b.x) 'or' (('not' b).x '&' a.x 'or' FALSE)
      .=(('not' a).x '&' b.x) 'or' (a.x '&' ('not' b).x)
      .=('not' a '&' b).x 'or' (a.x '&' ('not' b).x) by MARGREL1:def 20
      .=('not' a '&' b).x 'or' (a '&' 'not' b).x by MARGREL1:def 20
      .=('not' a '&' b 'or' a '&' 'not' b).x by BVFUNC_1:def 4
      .=(a 'xor' b).x by BVFUNC_4:9;
    hence thesis;
end;

theorem
  for a being Function of Y,BOOLEAN holds a 'xor' I_el(Y) = 'not' a
proof
  let a be Function of Y,BOOLEAN;
    let x be Element of Y;
    (a 'xor' I_el(Y)).x =(('not' a '&' I_el(Y)) 'or' (a '&' 'not' I_el(Y))
    ).x by BVFUNC_4:9
      .=(('not' a '&' I_el(Y)) 'or' (a '&' O_el(Y))).x by BVFUNC_1:2
      .=(('not' a '&' I_el(Y)) 'or' O_el(Y)).x by BVFUNC_1:5
      .=('not' a '&' I_el(Y)).x by BVFUNC_1:9
      .=('not' a).x by BVFUNC_1:6;
    hence thesis;
end;

theorem
  for a being Function of Y,BOOLEAN holds a 'xor' O_el(Y) = a
proof
  let a be Function of Y,BOOLEAN;
    let x be Element of Y;
    (a 'xor' O_el(Y)).x =(('not' a '&' O_el(Y)) 'or' (a '&' 'not' O_el(Y))
    ).x by BVFUNC_4:9
      .=(('not' a '&' O_el(Y)) 'or' (a '&' I_el(Y))).x by BVFUNC_1:2
      .=(('not' a '&' O_el(Y)) 'or' a).x by BVFUNC_1:6
      .=(O_el(Y) 'or' a).x by BVFUNC_1:5
      .=a.x by BVFUNC_1:9;
    hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds a 'xor' b = 'not' a
  'xor' 'not' b
proof
  let a,b be Function of Y,BOOLEAN;
    let x be Element of Y;
    ('not' a 'xor' 'not' b).x =(('not' 'not' a '&' 'not' b) 'or' ('not' a
    '&' 'not' 'not' b)).x by BVFUNC_4:9
      .=(a 'xor' b).x by BVFUNC_4:9;
    hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds 'not'( a 'xor' b) = a
  'xor' 'not' b
proof
  let a,b be Function of Y,BOOLEAN;
    let x be Element of Y;
    ('not'( a 'xor' b)).x =('not'( ('not' a '&' b) 'or' (a '&' 'not' b))).
    x by BVFUNC_4:9
      .=(('not'('not' a '&' b) '&' 'not'( a '&' 'not' b))).x by BVFUNC_1:13
      .=((('not' 'not' a 'or' 'not' b) '&' 'not'( a '&' 'not' b))).x by
BVFUNC_1:14
      .=(((a 'or' 'not' b) '&' ('not' a 'or' 'not' 'not' b))).x by BVFUNC_1:14
      .=(((a 'or' 'not' b) '&' 'not' a 'or' (a 'or' 'not' b) '&' b)).x by
BVFUNC_1:12
      .=(((a '&' 'not' a 'or' 'not' b '&' 'not' a) 'or' (a 'or' 'not' b) '&'
    b)).x by BVFUNC_1:12
      .=(((O_el(Y) 'or' 'not' b '&' 'not' a) 'or' (a 'or' 'not' b) '&' b)).x
    by BVFUNC_4:5
      .=((('not' b '&' 'not' a) 'or' (a 'or' 'not' b) '&' b)).x by BVFUNC_1:9
      .=((('not' b '&' 'not' a) 'or' (a '&' b 'or' 'not' b '&' b))).x by
BVFUNC_1:12
      .=((('not' b '&' 'not' a) 'or' (a '&' b 'or' O_el(Y)))).x by BVFUNC_4:5
      .=(('not' a '&' 'not' b) 'or' (a '&' 'not' 'not' b)).x by BVFUNC_1:9
      .=(a 'xor' 'not' b).x by BVFUNC_4:9;
    hence thesis;
end;

theorem Th18:
  for a,b being Function of Y,BOOLEAN holds a 'eqv' b = (a
  'or' 'not' b) '&' ('not' a 'or' b)
proof
  let a,b be Function of Y,BOOLEAN;
    let x be Element of Y;
    ((a 'or' 'not' b) '&' ('not' a 'or' b)).x =((a 'or' 'not' b) '&' (a
    'imp' b)).x by BVFUNC_4:8
      .=((a 'imp' b) '&' (b 'imp' a)).x by BVFUNC_4:8
      .=(a 'eqv' b).x by BVFUNC_4:7;
    hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds a 'eqv' b = (a '&' b)
  'or' ('not' a '&' 'not' b)
proof
  let a,b be Function of Y,BOOLEAN;
    let x be Element of Y;
    ((a '&' b) 'or' ('not' a '&' 'not' b)).x =(((a '&' b) 'or' 'not' a)
    '&' ((a '&' b) 'or' 'not' b)).x by BVFUNC_1:11
      .=(((a 'or' 'not' a) '&' (b 'or' 'not' a)) '&' ((a '&' b) 'or' 'not' b
    )).x by BVFUNC_1:11
      .=(((a 'or' 'not' a) '&' (b 'or' 'not' a)) '&' ((a 'or' 'not' b) '&' (
    b 'or' 'not' b))).x by BVFUNC_1:11
      .=((I_el(Y) '&' (b 'or' 'not' a)) '&' ((a 'or' 'not' b) '&' (b 'or'
    'not' b))).x by BVFUNC_4:6
      .=((I_el(Y) '&' (b 'or' 'not' a)) '&' ((a 'or' 'not' b) '&' I_el(Y))).
    x by BVFUNC_4:6
      .=((b 'or' 'not' a) '&' ((a 'or' 'not' b) '&' I_el(Y))).x by BVFUNC_1:6
      .=((b 'or' 'not' a) '&' (a 'or' 'not' b)).x by BVFUNC_1:6
      .=(a 'eqv' b).x by Th18;
    hence thesis;
end;

theorem
  for a being Function of Y,BOOLEAN holds a 'eqv' I_el(Y) = a
proof
  let a be Function of Y,BOOLEAN;
    let x be Element of Y;
    (a 'eqv' I_el(Y)).x =((a 'imp' I_el(Y)) '&' (I_el(Y) 'imp' a)).x by
BVFUNC_4:7
      .=(('not' a 'or' I_el(Y)) '&' (I_el(Y) 'imp' a)).x by BVFUNC_4:8
      .=(('not' a 'or' I_el(Y)) '&' ('not' I_el(Y) 'or' a)).x by BVFUNC_4:8
      .=(I_el(Y) '&' ('not' I_el(Y) 'or' a)).x by BVFUNC_1:10
      .=(I_el(Y) '&' (O_el(Y) 'or' a)).x by BVFUNC_1:2
      .=(I_el(Y) '&' a).x by BVFUNC_1:9
      .=a.x by BVFUNC_1:6;
    hence thesis;
end;

theorem
  for a being Function of Y,BOOLEAN holds a 'eqv' O_el(Y) = 'not' a
proof
  let a be Function of Y,BOOLEAN;
    let x be Element of Y;
    (a 'eqv' O_el(Y)).x =((a 'imp' O_el(Y)) '&' (O_el(Y) 'imp' a)).x by
BVFUNC_4:7
      .=(('not' a 'or' O_el(Y)) '&' (O_el(Y) 'imp' a)).x by BVFUNC_4:8
      .=(('not' a 'or' O_el(Y)) '&' ('not' O_el(Y) 'or' a)).x by BVFUNC_4:8
      .=('not' a '&' ('not' O_el(Y) 'or' a)).x by BVFUNC_1:9
      .=('not' a '&' (I_el(Y) 'or' a)).x by BVFUNC_1:2
      .=('not' a '&' I_el(Y)).x by BVFUNC_1:10
      .=('not' a).x by BVFUNC_1:6;
    hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds 'not'( a 'eqv' b) = (a
  'eqv' 'not' b)
proof
  let a,b be Function of Y,BOOLEAN;
    let x be Element of Y;
    ('not'( a 'eqv' b)).x =('not'( (a 'imp' b) '&' (b 'imp' a))).x by
BVFUNC_4:7
      .=('not'( ('not' a 'or' b) '&' (b 'imp' a))).x by BVFUNC_4:8
      .=('not'( ('not' a 'or' b) '&' ('not' b 'or' a))).x by BVFUNC_4:8
      .=('not'('not' a 'or' b) 'or' 'not'('not' b 'or' a)).x by BVFUNC_1:14
      .=(('not' 'not' a '&' 'not' b) 'or' 'not'('not' b 'or' a)).x by
BVFUNC_1:13
      .=((a '&' 'not' b) 'or' ('not' 'not' b '&' 'not' a)).x by BVFUNC_1:13
      .=(((a '&' 'not' b) 'or' b) '&' ((a '&' 'not' b) 'or' 'not' a)).x by
BVFUNC_1:11
      .=(((a 'or' b) '&' ('not' b 'or' b)) '&' ((a '&' 'not' b) 'or' 'not' a
    )).x by BVFUNC_1:11
      .=(((a 'or' b) '&' ('not' b 'or' b)) '&' ((a 'or' 'not' a) '&' ('not'
    b 'or' 'not' a))).x by BVFUNC_1:11
      .=(((a 'or' b) '&' I_el(Y)) '&' ((a 'or' 'not' a) '&' ('not' b 'or'
    'not' a))).x by BVFUNC_4:6
      .=(((a 'or' b) '&' I_el(Y)) '&' (I_el(Y) '&' ('not' b 'or' 'not' a))).
    x by BVFUNC_4:6
      .=((a 'or' b) '&' (I_el(Y) '&' ('not' b 'or' 'not' a))).x by BVFUNC_1:6
      .=(('not' a 'or' 'not' b) '&' ('not' 'not' b 'or' a)).x by BVFUNC_1:6
      .=(('not' a 'or' 'not' b) '&' ('not' b 'imp' a)).x by BVFUNC_4:8
      .=((a 'imp' 'not' b) '&' ('not' b 'imp' a)).x by BVFUNC_4:8
      .=(a 'eqv' 'not' b).x by BVFUNC_4:7;
    hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds 'not' a '<' (a 'imp' b
  ) 'eqv' 'not' a
proof
  let a,b be Function of Y,BOOLEAN;
  let z be Element of Y;
  assume
A1: ('not' a).z=TRUE;
  ((a 'imp' b) 'eqv' 'not' a).z =(('not' a 'or' b) 'eqv' 'not' a).z by
BVFUNC_4:8
    .=((('not' a 'or' b) 'imp' 'not' a) '&' ('not' a 'imp' ('not' a 'or' b))
  ).z by BVFUNC_4:7
    .=(('not'('not' a 'or' b) 'or' 'not' a) '&' ('not' a 'imp' ('not' a 'or'
  b))).z by BVFUNC_4:8
    .=(('not'('not' a 'or' b) 'or' 'not' a) '&' ('not' 'not' a 'or' ('not' a
  'or' b))).z by BVFUNC_4:8
    .=('not'('not' a 'or' b) 'or' 'not' a).z '&' ('not' 'not' a 'or' ('not'
  a 'or' b)).z by MARGREL1:def 20
    .=(('not'('not' a 'or' b)).z 'or' ('not' a).z) '&' ('not' 'not' a 'or' (
  'not' a 'or' b)).z by BVFUNC_1:def 4
    .=('not' ('not' a 'or' b).z 'or' ('not' a).z) '&' ('not' 'not' a 'or' (
  'not' a 'or' b)).z by MARGREL1:def 19
    .=('not'( ('not' a).z 'or' b.z) 'or' ('not' a).z) '&' ('not' 'not' a
  'or' ('not' a 'or' b)).z by BVFUNC_1:def 4
    .=(('not' 'not' a.z '&' 'not' b.z) 'or' ('not' a).z) '&' ('not'
  'not' a 'or' ('not' a 'or' b)).z by MARGREL1:def 19
    .=((a.z '&' 'not' b.z) 'or' ('not' a).z) '&' (('not' 'not' a).z 'or'
  ('not' a 'or' b).z) by BVFUNC_1:def 4
    .=((a.z '&' 'not' b.z) 'or' ('not' a).z) '&' (a.z 'or' (('not' a).
  z 'or' b.z)) by BVFUNC_1:def 4
    .=TRUE '&' (FALSE 'or' (TRUE 'or' b.z)) by A1
    .=FALSE 'or' (TRUE 'or' b.z)
    .=(TRUE 'or' b.z) 
    .=TRUE;
  hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds 'not' a '<' (b 'imp' a
  ) 'eqv' 'not' b
proof
  let a,b be Function of Y,BOOLEAN;
  let z be Element of Y;
  assume ('not' a).z=TRUE;
  then
A1: 'not' a.z=TRUE by MARGREL1:def 19;
  ((b 'imp' a) 'eqv' 'not' b).z =(('not' b 'or' a) 'eqv' 'not' b).z by
BVFUNC_4:8
    .=((('not' b 'or' a) 'imp' 'not' b) '&' ('not' b 'imp' ('not' b 'or' a))
  ).z by BVFUNC_4:7
    .=(('not'('not' b 'or' a) 'or' 'not' b) '&' ('not' b 'imp' ('not' b 'or'
  a))).z by BVFUNC_4:8
    .=(('not'('not' b 'or' a) 'or' 'not' b) '&' ('not' 'not' b 'or' ('not' b
  'or' a))).z by BVFUNC_4:8
    .=('not'('not' b 'or' a) 'or' 'not' b).z '&' ('not' 'not' b 'or' ('not'
  b 'or' a)).z by MARGREL1:def 20
    .=(('not'('not' b 'or' a)).z 'or' ('not' b).z) '&' ('not' 'not' b 'or' (
  'not' b 'or' a)).z by BVFUNC_1:def 4
    .=('not' ('not' b 'or' a).z 'or' ('not' b).z) '&' ('not' 'not' b 'or' (
  'not' b 'or' a)).z by MARGREL1:def 19
    .=('not'( ('not' b).z 'or' a.z) 'or' ('not' b).z) '&' ('not' 'not' b
  'or' ('not' b 'or' a)).z by BVFUNC_1:def 4
    .=(('not' 'not' b.z '&' 'not' a.z) 'or' ('not' b).z) '&' ('not'
  'not' b 'or' ('not' b 'or' a)).z by MARGREL1:def 19
    .=((b.z '&' 'not' a.z) 'or' ('not' b).z) '&' (('not' 'not' b).z 'or'
  ('not' b 'or' a).z) by BVFUNC_1:def 4
    .=((b.z '&' 'not' a.z) 'or' ('not' b).z) '&' (('not' 'not' b).z 'or'
  (('not' b).z 'or' a.z)) by BVFUNC_1:def 4
    .=((b.z '&' 'not' a.z) 'or' ('not' b).z) '&' (b.z 'or' ('not' b.
  z 'or' a.z)) by MARGREL1:def 19
    .=((TRUE '&' b.z) 'or' ('not' b).z) '&' (b.z 'or' ('not' b.z 'or'
  FALSE)) by A1
    .=(b.z 'or' ('not' b).z) '&' (b.z 'or' ('not' b.z 'or' FALSE)) 
    .=(b.z 'or' 'not' b.z) '&' (b.z 'or' ('not' b.z 'or' FALSE)) by
MARGREL1:def 19
    .=TRUE '&' (b.z 'or' ('not' b.z 'or' FALSE)) 
    .=b.z 'or' ('not' b.z 'or' FALSE)
    .=b.z 'or' 'not' b.z 'or' FALSE 
    .=TRUE 'or' FALSE by XBOOLEAN:102
    .=TRUE;
  hence thesis;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds a '<' (a 'or' b) 'eqv'
  (b 'or' a) 'eqv' a
proof
  let a,b be Function of Y,BOOLEAN;
  let z be Element of Y;
  assume
A1: a.z=TRUE;
A2: ((a 'or' b) 'eqv' (b 'or' a)).z =(((a 'or' b) 'imp' (a 'or' b)) '&' ((a
  'or' b) 'imp' (a 'or' b))).z by BVFUNC_4:7
    .=('not'( a 'or' b) 'or' (a 'or' b)).z by BVFUNC_4:8
    .=(I_el(Y)).z by BVFUNC_4:6
    .=TRUE by BVFUNC_1:def 11;
  ((a 'or' b) 'eqv' (b 'or' a) 'eqv' a).z =((((a 'or' b) 'eqv' (a 'or' b))
  'imp' a) '&' (a 'imp' ((a 'or' b) 'eqv' (a 'or' b)))).z by BVFUNC_4:7
    .=(((a 'or' b) 'eqv' (a 'or' b)) 'imp' a).z '&' (a 'imp' ((a 'or' b)
  'eqv' (a 'or' b))).z by MARGREL1:def 20
    .=('not'( (a 'or' b) 'eqv' (a 'or' b)) 'or' a).z '&' (a 'imp' ((a 'or' b
  ) 'eqv' (a 'or' b))).z by BVFUNC_4:8
    .=('not'( (a 'or' b) 'eqv' (a 'or' b)) 'or' a).z '&' ('not' a 'or' ((a
  'or' b) 'eqv' (a 'or' b))).z by BVFUNC_4:8
    .=(('not'( (a 'or' b) 'eqv' (a 'or' b))).z 'or' a.z) '&' ('not' a 'or'
  ((a 'or' b) 'eqv' (a 'or' b))).z by BVFUNC_1:def 4
    .=(('not'( (a 'or' b) 'eqv' (a 'or' b))).z 'or' a.z) '&' (('not' a).z
  'or' ((a 'or' b) 'eqv' (a 'or' b)).z) by BVFUNC_1:def 4
    .=('not' ((a 'or' b) 'eqv' (a 'or' b)).z 'or' a.z) '&' (('not' a).z
  'or' ((a 'or' b) 'eqv' (a 'or' b)).z) by MARGREL1:def 19
    .=(FALSE 'or' a.z) '&' (('not' a).z 'or' TRUE) by A2
    .=a.z '&' (('not' a).z 'or' TRUE)
    .=a.z '&' TRUE
    .=TRUE by A1;
  hence thesis;
end;

theorem
  for a being Function of Y,BOOLEAN holds a 'imp' ('not' a 'eqv'
  'not' a) = I_el(Y)
proof
  let a be Function of Y,BOOLEAN;
  for x being Element of Y holds (a 'imp' ('not' a 'eqv' 'not' a)).x = TRUE
  proof
    let x be Element of Y;
    (a 'imp' ('not' a 'eqv' 'not' a)).x =('not' a 'or' ('not' a 'eqv'
    'not' a)).x by BVFUNC_4:8
      .=('not' a 'or' (('not' a 'imp' 'not' a) '&' ('not' a 'imp' 'not' a)))
    .x by BVFUNC_4:7
      .=('not' a 'or' ('not' 'not' a 'or' 'not' a)).x by BVFUNC_4:8
      .=('not' a 'or' I_el(Y)).x by BVFUNC_4:6
      .=TRUE by BVFUNC_1:10,def 11;
    hence thesis;
  end;
  hence thesis by BVFUNC_1:def 11;
end;

theorem
  for a,b being Function of Y,BOOLEAN holds ((a 'imp' b) 'imp' a)
  'imp' a = I_el(Y)
proof
  let a,b be Function of Y,BOOLEAN;
  for x being Element of Y holds (((a 'imp' b) 'imp' a) 'imp' a).x = TRUE
  proof
    let x be Element of Y;
    (((a 'imp' b) 'imp' a) 'imp' a).x =('not'( (a 'imp' b) 'imp' a) 'or' a
    ).x by BVFUNC_4:8
      .=('not'('not'( a 'imp' b) 'or' a) 'or' a).x by BVFUNC_4:8
      .=('not'('not'('not' a 'or' b) 'or' a) 'or' a).x by BVFUNC_4:8
      .=('not'( ('not' 'not' a '&' 'not' b) 'or' a) 'or' a).x by BVFUNC_1:13
      .=('not'( ((a 'or' a) '&' ('not' b 'or' a))) 'or' a).x by BVFUNC_1:11
      .=(('not' a 'or' 'not'('not' b 'or' a)) 'or' a).x by BVFUNC_1:14
      .=(('not' a 'or' ('not' 'not' b '&' 'not' a)) 'or' a).x by BVFUNC_1:13
      .=((('not' a 'or' b) '&' ('not' a 'or' 'not' a)) 'or' a).x by BVFUNC_1:11
      .=((('not' a 'or' b) 'or' a) '&' ('not' a 'or' a)).x by BVFUNC_1:11
      .=((('not' a 'or' b) 'or' a) '&' I_el(Y)).x by BVFUNC_4:6
      .=(('not' a 'or' b) 'or' a).x by BVFUNC_1:6
      .=(b 'or' ('not' a 'or' a)).x by BVFUNC_1:8
      .=(b 'or' I_el(Y)).x by BVFUNC_4:6
      .=TRUE by BVFUNC_1:10,def 11;
    hence thesis;
  end;
  hence thesis by BVFUNC_1:def 11;
end;

theorem
  for a,b,c,d being Function of Y,BOOLEAN holds ((a 'imp' c) '&' (
  b 'imp' d)) '&' ('not' c 'or' 'not' d) 'imp' ('not' a 'or' 'not' b)=I_el(Y)
proof
  let a,b,c,d be Function of Y,BOOLEAN;
  for x being Element of Y holds (((a 'imp' c) '&' (b 'imp' d)) '&' ('not'
  c 'or' 'not' d) 'imp' ('not' a 'or' 'not' b)).x = TRUE
  proof
    let x be Element of Y;
    ((a 'imp' c) '&' (b 'imp' d)) '&' ('not' c 'or' 'not' d) 'imp' ('not'
a 'or' 'not' b) ='not'( ((a 'imp' c) '&' (b 'imp' d)) '&' ('not' c 'or' 'not' d
    )) 'or' ('not' a 'or' 'not' b) by BVFUNC_4:8
      .='not'( (('not' a 'or' c) '&' (b 'imp' d)) '&' ('not' c 'or' 'not' d)
    ) 'or' ('not' a 'or' 'not' b) by BVFUNC_4:8
      .='not'( (('not' a 'or' c) '&' ('not' b 'or' d)) '&' ('not' c 'or'
    'not' d)) 'or' ('not' a 'or' 'not' b) by BVFUNC_4:8
      .=('not'( ('not' a 'or' c) '&' ('not' b 'or' d)) 'or' 'not'('not' c
    'or' 'not' d)) 'or' ('not' a 'or' 'not' b) by BVFUNC_1:14
      .=(('not'('not' a 'or' c) 'or' 'not'('not' b 'or' d)) 'or' 'not'('not'
    c 'or' 'not' d)) 'or' ('not' a 'or' 'not' b) by BVFUNC_1:14
      .=((('not' 'not' a '&' 'not' c) 'or' 'not'('not' b 'or' d)) 'or' 'not'
    ('not' c 'or' 'not' d)) 'or' ('not' a 'or' 'not' b) by BVFUNC_1:13
      .=(((a '&' 'not' c) 'or' ('not' 'not' b '&' 'not' d)) 'or' 'not'('not'
    c 'or' 'not' d)) 'or' ('not' a 'or' 'not' b) by BVFUNC_1:13
      .=(((a '&' 'not' c) 'or' (b '&' 'not' d)) 'or' ('not' 'not' c '&'
    'not' 'not' d)) 'or' ('not' a 'or' 'not' b) by BVFUNC_1:13
      .=((a '&' 'not' c) 'or' ((b '&' 'not' d) 'or' (c '&' d))) 'or' ('not'
    a 'or' 'not' b) by BVFUNC_1:8
      .=((a '&' 'not' c) 'or' ((b 'or' (c '&' d)) '&' ('not' d 'or' (c '&' d
    )))) 'or' ('not' a 'or' 'not' b) by BVFUNC_1:11
      .=((a '&' 'not' c) 'or' ((b 'or' (c '&' d)) '&' (('not' d 'or' c) '&'
    ('not' d 'or' d)))) 'or' ('not' a 'or' 'not' b) by BVFUNC_1:11
      .=((a '&' 'not' c) 'or' ((b 'or' (c '&' d)) '&' (('not' d 'or' c) '&'
    I_el(Y)))) 'or' ('not' a 'or' 'not' b) by BVFUNC_4:6
      .=((a '&' 'not' c) 'or' ((b 'or' (c '&' d)) '&' ('not' d 'or' c)))
    'or' ('not' a 'or' 'not' b) by BVFUNC_1:6
      .=((b 'or' (c '&' d)) '&' ('not' d 'or' c)) 'or' ((a '&' 'not' c) 'or'
    ('not' a 'or' 'not' b)) by BVFUNC_1:8
      .=((b 'or' (c '&' d)) '&' ('not' d 'or' c)) 'or' ((a 'or' ('not' a
    'or' 'not' b)) '&' ('not' c 'or' ('not' a 'or' 'not' b))) by BVFUNC_1:11
      .=((b 'or' (c '&' d)) '&' ('not' d 'or' c)) 'or' (((a 'or' 'not' a)
    'or' 'not' b) '&' ('not' c 'or' ('not' a 'or' 'not' b))) by BVFUNC_1:8
      .=((b 'or' (c '&' d)) '&' ('not' d 'or' c)) 'or' ((I_el(Y) 'or' 'not'
    b) '&' ('not' c 'or' ('not' a 'or' 'not' b))) by BVFUNC_4:6
      .=((b 'or' (c '&' d)) '&' ('not' d 'or' c)) 'or' (I_el(Y) '&' ('not' c
    'or' ('not' a 'or' 'not' b))) by BVFUNC_1:10
      .=((b 'or' (c '&' d)) '&' ('not' d 'or' c)) 'or' ('not' c 'or' ('not'
    a 'or' 'not' b)) by BVFUNC_1:6
      .=((b 'or' (c '&' d)) 'or' ('not' c 'or' ('not' a 'or' 'not' b))) '&'
(('not' d 'or' c) 'or' ('not' c 'or' ('not' a 'or' 'not' b))) by BVFUNC_1:11
      .=((b 'or' (c '&' d)) 'or' ('not' c 'or' ('not' a 'or' 'not' b))) '&'
((('not' d 'or' c) 'or' 'not' c) 'or' ('not' a 'or' 'not' b)) by BVFUNC_1:8
      .=((b 'or' (c '&' d)) 'or' ('not' c 'or' ('not' a 'or' 'not' b))) '&'
(('not' d 'or' (c 'or' 'not' c)) 'or' ('not' a 'or' 'not' b)) by BVFUNC_1:8
      .=((b 'or' (c '&' d)) 'or' ('not' c 'or' ('not' a 'or' 'not' b))) '&'
    (('not' d 'or' I_el(Y)) 'or' ('not' a 'or' 'not' b)) by BVFUNC_4:6
      .=((b 'or' (c '&' d)) 'or' ('not' c 'or' ('not' a 'or' 'not' b))) '&'
    (I_el(Y) 'or' ('not' a 'or' 'not' b)) by BVFUNC_1:10
      .=((b 'or' (c '&' d)) 'or' ('not' c 'or' ('not' a 'or' 'not' b))) '&'
    I_el(Y) by BVFUNC_1:10
      .=(b 'or' (c '&' d)) 'or' ('not' c 'or' ('not' a 'or' 'not' b)) by
BVFUNC_1:6
      .=(c '&' d) 'or' (b 'or' ('not' c 'or' ('not' a 'or' 'not' b))) by
BVFUNC_1:8
      .=(c '&' d) 'or' ((b 'or' ('not' b 'or' 'not' a)) 'or' 'not' c) by
BVFUNC_1:8
      .=(c '&' d) 'or' (((b 'or' 'not' b) 'or' 'not' a) 'or' 'not' c) by
BVFUNC_1:8
      .=(c '&' d) 'or' ((I_el(Y) 'or' 'not' a) 'or' 'not' c) by BVFUNC_4:6
      .=(c '&' d) 'or' (I_el(Y) 'or' 'not' c) by BVFUNC_1:10
      .=(c '&' d) 'or' I_el(Y) by BVFUNC_1:10
      .=I_el(Y) by BVFUNC_1:10;
    hence thesis by BVFUNC_1:def 11;
  end;
  hence thesis by BVFUNC_1:def 11;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b) 'imp' ((
  a 'imp' (b 'imp' c)) 'imp' (a 'imp' c)) = I_el(Y)
proof
  let a,b,c be Function of Y,BOOLEAN;
  for x being Element of Y holds ((a 'imp' b) 'imp' ((a 'imp' (b 'imp' c))
  'imp' (a 'imp' c))).x=TRUE
  proof
    let x be Element of Y;
    (a 'imp' b) 'imp' ((a 'imp' (b 'imp' c)) 'imp' (a 'imp' c)) ='not' (a
    'imp' b) 'or' ((a 'imp' (b 'imp' c)) 'imp' (a 'imp' c)) by BVFUNC_4:8
      .='not'('not' a 'or' b) 'or' ((a 'imp' (b 'imp' c)) 'imp' (a 'imp' c))
    by BVFUNC_4:8
      .='not'('not' a 'or' b) 'or' (('not' a 'or' (b 'imp' c)) 'imp' (a
    'imp' c)) by BVFUNC_4:8
      .='not'('not' a 'or' b) 'or' (('not' a 'or' ('not' b 'or' c)) 'imp' (a
    'imp' c)) by BVFUNC_4:8
      .='not'('not' a 'or' b) 'or' (('not' a 'or' ('not' b 'or' c)) 'imp' (
    'not' a 'or' c)) by BVFUNC_4:8
      .='not'('not' a 'or' b) 'or' ('not'('not' a 'or' ('not' b 'or' c))
    'or' ('not' a 'or' c)) by BVFUNC_4:8
      .=('not' 'not' a '&' 'not' b) 'or' ('not'('not' a 'or' ('not' b 'or' c
    )) 'or' ( 'not' a 'or' c)) by BVFUNC_1:13
      .=('not' 'not' a '&' 'not' b) 'or' (('not' 'not' a '&' 'not'('not' b
    'or' c)) 'or' ('not' a 'or' c)) by BVFUNC_1:13
      .=(a '&' 'not' b) 'or' (('not' 'not' a '&' ('not' 'not' b '&' 'not' c)
    ) 'or' ('not' a 'or' c)) by BVFUNC_1:13
      .=(a '&' 'not' b) 'or' ((a 'or' ('not' a 'or' c)) '&' ((b '&' 'not' c)
    'or' ('not' a 'or' c))) by BVFUNC_1:11
      .=(a '&' 'not' b) 'or' (((a 'or' 'not' a) 'or' c) '&' ((b '&' 'not' c)
    'or' ('not' a 'or' c))) by BVFUNC_1:8
      .=(a '&' 'not' b) 'or' ((I_el(Y) 'or' c) '&' ((b '&' 'not' c) 'or' (
    'not' a 'or' c))) by BVFUNC_4:6
      .=(a '&' 'not' b) 'or' (I_el(Y) '&' ((b '&' 'not' c) 'or' ('not' a
    'or' c))) by BVFUNC_1:10
      .=(a '&' 'not' b) 'or' ((b '&' 'not' c) 'or' ('not' a 'or' c)) by
BVFUNC_1:6
      .=(a '&' 'not' b) 'or' ((b 'or' ('not' a 'or' c)) '&' ('not' c 'or' (
    'not' a 'or' c))) by BVFUNC_1:11
      .=(a '&' 'not' b) 'or' ((b 'or' ('not' a 'or' c)) '&' (('not' c 'or' c
    ) 'or' 'not' a)) by BVFUNC_1:8
      .=(a '&' 'not' b) 'or' ((b 'or' ('not' a 'or' c)) '&' (I_el(Y) 'or'
    'not' a)) by BVFUNC_4:6
      .=(a '&' 'not' b) 'or' ((b 'or' ('not' a 'or' c)) '&' I_el(Y)) by
BVFUNC_1:10
      .=(a '&' 'not' b) 'or' (b 'or' ('not' a 'or' c)) by BVFUNC_1:6
      .=(a 'or' (b 'or' ('not' a 'or' c))) '&' ('not' b 'or' (b 'or' ('not'
    a 'or' c))) by BVFUNC_1:11
      .=(a 'or' (b 'or' ('not' a 'or' c))) '&' (('not' b 'or' b) 'or' ('not'
    a 'or' c)) by BVFUNC_1:8
      .=(a 'or' (b 'or' ('not' a 'or' c))) '&' (I_el(Y) 'or' ('not' a 'or' c
    )) by BVFUNC_4:6
      .=(a 'or' (b 'or' ('not' a 'or' c))) '&' I_el(Y) by BVFUNC_1:10
      .=a 'or' (b 'or' ('not' a 'or' c)) by BVFUNC_1:6
      .=a 'or' (('not' a 'or' b) 'or' c) by BVFUNC_1:8
      .=a 'or' ('not' a 'or' b) 'or' c by BVFUNC_1:8
      .=(a 'or' 'not' a) 'or' b 'or' c by BVFUNC_1:8
      .=I_el(Y) 'or' b 'or' c by BVFUNC_4:6
      .=I_el(Y) 'or' c by BVFUNC_1:10
      .=I_el(Y) by BVFUNC_1:10;
    hence thesis by BVFUNC_1:def 11;
  end;
  hence thesis by BVFUNC_1:def 11;
end;

begin :: BVFUNC_9

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

Lm1: a '&' b '<' a
proof
  let x be Element of Y;
  assume (a '&' b).x = TRUE;
  then a.x '&' b.x = TRUE by MARGREL1:def 20;
  hence thesis by MARGREL1:12;
end;

Lm2: a '&' b '&' c '<' a & a '&' b '&' c '<' b
proof
  a '&' b '&' c = c '&' b '&' a & c '&' b '&' a 'imp' a = I_el(Y) by BVFUNC_1:4
,Th38;
  hence a '&' b '&' c '<' a by BVFUNC_1:16;
  a '&' b '&' c = a '&' c '&' b & a '&' c '&' b 'imp' b = I_el(Y) by BVFUNC_1:4
,Th38;
  hence thesis by BVFUNC_1:16;
end;

Lm3: a '&' b '&' c '&' d '<' a & a '&' b '&' c '&' d '<' b
proof
A1: d '&' c '&' b '&' a 'imp' a = I_el(Y) by Th38;
  a '&' b '&' c '&' d = d '&' c '&' (b '&' a) by BVFUNC_1:4
    .=d '&' c '&' b '&' a by BVFUNC_1:4;
  hence a '&' b '&' c '&' d '<' a by A1,BVFUNC_1:16;
A2: a '&' c '&' d '&' b 'imp' b = I_el(Y) by Th38;
  a '&' b '&' c '&' d = a '&' c '&' b '&' d by BVFUNC_1:4
    .=a '&' c '&' d '&' b by BVFUNC_1:4;
  hence thesis by A2,BVFUNC_1:16;
end;

Lm4: a '&' b '&' c '&' d '&' e '<' a & a '&' b '&' c '&' d '&' e '<' b
proof
A1: e '&' d '&' c '&' b '&' a 'imp' a = I_el(Y) by Th38;
  a '&' b '&' c '&' d '&' e =e '&' d '&' (c '&' (b '&' a)) by BVFUNC_1:4
    .=e '&' d '&' c '&' (b '&' a) by BVFUNC_1:4
    .=e '&' d '&' c '&' b '&' a by BVFUNC_1:4;
  hence a '&' b '&' c '&' d '&' e '<' a by A1,BVFUNC_1:16;
A2: a '&' c '&' d '&' e '&' b 'imp' b = I_el(Y) by Th38;
  a '&' b '&' c '&' d '&' e =a '&' c '&' b '&' d '&' e by BVFUNC_1:4
    .=a '&' c '&' d '&' b '&' e by BVFUNC_1:4
    .=a '&' c '&' d '&' e '&' b by BVFUNC_1:4;
  hence thesis by A2,BVFUNC_1:16;
end;

Lm5: a '&' b '&' c '&' d '&' e '&' f '<' a & a '&' b '&' c '&' d '&' e '&' f
'<' b
proof
A1: f '&' e '&' d '&' c '&' b '&' a 'imp' a = I_el(Y) by Th38;
  a '&' b '&' c '&' d '&' e '&' f =f '&' e '&' (d '&' (c '&' (b '&' a)))
  by BVFUNC_1:4
    .=f '&' e '&' d '&' (c '&' (b '&' a)) by BVFUNC_1:4
    .=f '&' e '&' d '&' c '&' (b '&' a) by BVFUNC_1:4
    .=f '&' e '&' d '&' c '&' b '&' a by BVFUNC_1:4;
  hence a '&' b '&' c '&' d '&' e '&' f '<' a by A1,BVFUNC_1:16;
A2: f '&' e '&' d '&' c '&' a '&' b 'imp' b = I_el(Y) by Th38;
  a '&' b '&' c '&' d '&' e '&' f =f '&' e '&' (d '&' (c '&' (b '&' a)))
  by BVFUNC_1:4
    .=f '&' e '&' d '&' (c '&' (b '&' a)) by BVFUNC_1:4
    .=f '&' e '&' d '&' c '&' (b '&' a) by BVFUNC_1:4
    .=f '&' e '&' d '&' c '&' a '&' b by BVFUNC_1:4;
  hence thesis by A2,BVFUNC_1:16;
end;

Lm6: a '&' b '&' c '&' d '&' e '&' f '&' g '<' a & a '&' b '&' c '&' d '&' e
'&' f '&' g '<' b
proof
A1: g '&' f '&' e '&' d '&' c '&' b '&' a 'imp' a = I_el(Y) by Th38;
  a '&' b '&' c '&' d '&' e '&' f '&' g =g '&' f '&' (e '&' (d '&' (c '&'
  (b '&' a)))) by BVFUNC_1:4
    .=g '&' f '&' e '&' (d '&' (c '&' (b '&' a))) by BVFUNC_1:4
    .=g '&' f '&' e '&' d '&' (c '&' (b '&' a)) by BVFUNC_1:4
    .=g '&' f '&' e '&' d '&' c '&' (b '&' a) by BVFUNC_1:4
    .=g '&' f '&' e '&' d '&' c '&' b '&' a by BVFUNC_1:4;
  hence a '&' b '&' c '&' d '&' e '&' f '&' g '<' a by A1,BVFUNC_1:16;
A2: a '&' g '&' f '&' e '&' d '&' c '&' b 'imp' b = I_el(Y) by Th38;
  a '&' b '&' c '&' d '&' e '&' f '&' g =a '&' (c '&' b) '&' d '&' e '&' f
  '&' g by BVFUNC_1:4
    .=a '&' (d '&' (c '&' b)) '&' e '&' f '&' g by BVFUNC_1:4
    .=a '&' (e '&' (d '&' (c '&' b))) '&' f '&' g by BVFUNC_1:4
    .=a '&' (f '&' (e '&' (d '&' (c '&' b)))) '&' g by BVFUNC_1:4
    .=a '&' g '&' (f '&' (e '&' (d '&' (c '&' b)))) by BVFUNC_1:4
    .=a '&' g '&' f '&' (e '&' (d '&' (c '&' b))) by BVFUNC_1:4
    .=a '&' g '&' f '&' e '&' (d '&' (c '&' b)) by BVFUNC_1:4
    .=a '&' g '&' f '&' e '&' d '&' (c '&' b) by BVFUNC_1:4
    .=a '&' g '&' f '&' e '&' d '&' c '&' b by BVFUNC_1:4;
  hence thesis by A2,BVFUNC_1:16;
end;

theorem Th1:
  (a 'or' b) '&' (b 'imp' c) '<' a 'or' c
proof
  let z be Element of Y;
A1: ((a 'or' b) '&' (b 'imp' c)).z =(a 'or' b).z '&' (b 'imp' c).z by
MARGREL1:def 20
    .=(a 'or' b).z '&' ('not' b 'or' c).z by BVFUNC_4:8
    .=(a 'or' b).z '&' (('not' b).z 'or' c.z) by BVFUNC_1:def 4
    .=(a.z 'or' b.z) '&' (('not' b).z 'or' c.z) by BVFUNC_1:def 4;
  assume
A2: ((a 'or' b) '&' (b 'imp' c)).z=TRUE;
  now
    assume (a 'or' c).z<>TRUE;
    then (a 'or' c).z=FALSE by XBOOLEAN:def 3;
    then
A3: a.z 'or' c.z=FALSE by BVFUNC_1:def 4;
    c.z=TRUE or c.z=FALSE by XBOOLEAN:def 3;
    then (a.z 'or' b.z) '&' (('not' b).z 'or' c.z) =b.z '&' 'not' b.z by A3,
MARGREL1:def 19
      .=FALSE by XBOOLEAN:138;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;

theorem Th2:
  a '&' (a 'imp' b) '<' b
proof
  let z be Element of Y;
A1: (a '&' (a 'imp' b)).z =a.z '&' (a 'imp' b).z by MARGREL1:def 20
    .=a.z '&' ('not' a 'or' b).z by BVFUNC_4:8
    .=a.z '&' (('not' a).z 'or' b.z) by BVFUNC_1:def 4
    .=a.z '&' ('not' a).z 'or' a.z '&' b.z by XBOOLEAN:8
    .=a.z '&' 'not' a.z 'or' a.z '&' b.z by MARGREL1:def 19
    .=FALSE 'or' a.z '&' b.z by XBOOLEAN:138
    .=a.z '&' b.z;
  assume
A2: (a '&' (a 'imp' b)).z=TRUE;
  now
    assume b.z<>TRUE;
    then a.z '&' b.z = FALSE '&' a.z by XBOOLEAN:def 3
      .= FALSE;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;

theorem
  (a 'imp' b) '&' 'not' b '<' 'not' a
proof
  let z be Element of Y;
  reconsider bz = b.z as boolean object;
A1: ((a 'imp' b) '&' 'not' b).z =(a 'imp' b).z '&' ('not' b).z by
MARGREL1:def 20
    .=('not' a 'or' b).z '&' ('not' b).z by BVFUNC_4:8
    .=('not' b).z '&' (('not' a).z 'or' b.z) by BVFUNC_1:def 4
    .=('not' b).z '&' ('not' a).z 'or' ('not' b).z '&' b.z by XBOOLEAN:8
    .=('not' b).z '&' ('not' a).z 'or' 'not' bz '&' bz by MARGREL1:def 19
    .=('not' b).z '&' ('not' a).z 'or' FALSE by XBOOLEAN:138
    .=('not' b).z '&' ('not' a).z;
  assume
A2: ((a 'imp' b) '&' 'not' b).z=TRUE;
  now
    assume ('not' a).z<>TRUE;
    then ('not' b).z '&' ('not' a).z =FALSE '&' ('not' b).z by XBOOLEAN:def 3
      .=FALSE;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;

theorem
  (a 'or' b) '&' 'not' a '<' b
proof
  let z be Element of Y;
  reconsider az = a.z as boolean object;
A1: ((a 'or' b) '&' 'not' a).z =(a 'or' b).z '&' ('not' a).z by MARGREL1:def 20
    .=('not' a).z '&' (a.z 'or' b.z) by BVFUNC_1:def 4
    .=('not' a).z '&' a.z 'or' ('not' a).z '&' b.z by XBOOLEAN:8
    .='not' az '&' az 'or' ('not' a).z '&' b.z by MARGREL1:def 19
    .=FALSE 'or' ('not' a).z '&' b.z by XBOOLEAN:138
    .=('not' a).z '&' b.z;
  assume
A2: ((a 'or' b) '&' 'not' a).z=TRUE;
  now
    assume b.z<>TRUE;
    then ('not' a).z '&' b.z =FALSE '&' ('not' a).z by XBOOLEAN:def 3
      .=FALSE;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;

theorem
  (a 'imp' b) '&' ('not' a 'imp' b) '<' b
proof
  let z be Element of Y;
  reconsider az = a.z as boolean object;
A1: ((a 'imp' b) '&' ('not' a 'imp' b)).z =(a 'imp' b).z '&' ('not' a 'imp'
  b).z by MARGREL1:def 20
    .=('not' a 'or' b).z '&' ('not' a 'imp' b).z by BVFUNC_4:8
    .=('not' a 'or' b).z '&' ('not' 'not' a 'or' b).z by BVFUNC_4:8
    .=(('not' a).z 'or' b.z) '&' (a 'or' b).z by BVFUNC_1:def 4
    .=(('not' a).z 'or' b.z) '&' (a.z 'or' b.z) by BVFUNC_1:def 4;
  assume
A2: ((a 'imp' b) '&' ('not' a 'imp' b)).z=TRUE;
  now
    assume b.z<>TRUE;
    then b.z=FALSE by XBOOLEAN:def 3;
    then (('not' a).z 'or' b.z) '&' (a.z 'or' b.z) ='not' az '&' az by
MARGREL1:def 19
      .=FALSE by XBOOLEAN:138;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;

theorem
  (a 'imp' b) '&' (a 'imp' 'not' b) '<' 'not' a
proof
  let z be Element of Y;
A1: ((a 'imp' b) '&' (a 'imp' 'not' b)).z =(a 'imp' b).z '&' (a 'imp' 'not'
  b).z by MARGREL1:def 20
    .=('not' a 'or' b).z '&' (a 'imp' 'not' b).z by BVFUNC_4:8
    .=('not' a 'or' b).z '&' ('not' a 'or' 'not' b).z by BVFUNC_4:8
    .=(('not' a).z 'or' b.z) '&' ('not' a 'or' 'not' b).z by BVFUNC_1:def 4
    .=(('not' a).z 'or' b.z) '&' (('not' a).z 'or' ('not' b).z) by
BVFUNC_1:def 4;
  assume
A2: ((a 'imp' b) '&' (a 'imp' 'not' b)).z=TRUE;
  now
    assume ('not' a).z<>TRUE;
    then ('not' a).z=FALSE by XBOOLEAN:def 3;
    then (('not' a).z 'or' b.z) '&' (('not' a).z 'or' ('not' b).z) =b.z '&'
    'not' b.z by MARGREL1:def 19
      .=FALSE by XBOOLEAN:138;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;

theorem
  a 'imp' (b '&' c) '<' a 'imp' b
proof
  let z be Element of Y;
A1: (a 'imp' (b '&' c)).z =('not' a 'or' (b '&' c)).z by BVFUNC_4:8
    .=('not' a).z 'or' (b '&' c).z by BVFUNC_1:def 4
    .=('not' a).z 'or' (b.z '&' c.z) by MARGREL1:def 20;
  assume
A2: (a 'imp' (b '&' c)).z=TRUE;
  now
    assume (a 'imp' b).z<>TRUE;
    then (a 'imp' b).z=FALSE by XBOOLEAN:def 3;
    then ('not' a 'or' b).z=FALSE by BVFUNC_4:8;
    then
A3: ('not' a).z 'or' b.z=FALSE by BVFUNC_1:def 4;
    ('not' a).z 'or' (b.z '&' c.z) =(('not' a).z 'or' b.z) '&' (('not' a).
    z 'or' c.z) by XBOOLEAN:9
      .=FALSE by A3;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;

theorem
  (a 'or' b) 'imp' c '<' a 'imp' c
proof
  let z be Element of Y;
A1: ((a 'or' b) 'imp' c).z =('not'( a 'or' b) 'or' c).z by BVFUNC_4:8
    .=(('not' a '&' 'not' b) 'or' c).z by BVFUNC_1:13
    .=('not' a '&' 'not' b).z 'or' c.z by BVFUNC_1:def 4
    .=(('not' a).z '&' ('not' b).z) 'or' c.z by MARGREL1:def 20;
  assume
A2: ((a 'or' b) 'imp' c).z=TRUE;
  now
    assume (a 'imp' c).z<>TRUE;
    then (a 'imp' c).z=FALSE by XBOOLEAN:def 3;
    then ('not' a 'or' c).z=FALSE by BVFUNC_4:8;
    then
A3: ('not' a).z 'or' c.z=FALSE by BVFUNC_1:def 4;
    (('not' a).z '&' ('not' b).z) 'or' c.z =(c.z 'or' ('not' a).z) '&' (c.
    z 'or' ('not' b).z) by XBOOLEAN:9
      .=FALSE by A3;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;

theorem
  a 'imp' b '<' (a '&' c) 'imp' b
proof
  let z be Element of Y;
A1: (a 'imp' b).z =('not' a 'or' b).z by BVFUNC_4:8
    .=('not' a).z 'or' b.z by BVFUNC_1:def 4;
  assume
A2: (a 'imp' b).z=TRUE;
  now
    assume ((a '&' c) 'imp' b).z<>TRUE;
    then ((a '&' c) 'imp' b).z=FALSE by XBOOLEAN:def 3;
    then ('not'( a '&' c) 'or' b).z=FALSE by BVFUNC_4:8;
    then ('not'( a '&' c)).z 'or' b.z=FALSE by BVFUNC_1:def 4;
    then ('not' a 'or' 'not' c) .z 'or' b.z=FALSE by BVFUNC_1:14;
    then (('not' c).z 'or' ('not' a).z) 'or' b.z=FALSE by BVFUNC_1:def 4;
    then ('not' c).z 'or' (('not' a).z 'or' b.z)=FALSE;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;

theorem
  a 'imp' b '<' (a '&' c) 'imp' (b '&' c)
proof
  let z be Element of Y;
A1: (a 'imp' b).z =('not' a 'or' b).z by BVFUNC_4:8
    .=('not' a).z 'or' b.z by BVFUNC_1:def 4;
  assume
A2: (a 'imp' b).z=TRUE;
  now
    assume ((a '&' c) 'imp' (b '&' c)).z<>TRUE;
    then ((a '&' c) 'imp' (b '&' c)).z=FALSE by XBOOLEAN:def 3;
    then ('not'( a '&' c) 'or' (b '&' c)).z=FALSE by BVFUNC_4:8;
    then ('not'( a '&' c)).z 'or' (b '&' c).z=FALSE by BVFUNC_1:def 4;
    then ('not' a 'or' 'not' c) .z 'or' (b '&' c).z=FALSE by BVFUNC_1:14;
    then (('not' c).z 'or' ('not' a).z) 'or' (b '&' c).z=FALSE by
BVFUNC_1:def 4;
    then ('not' c).z 'or' (('not' a).z 'or' (b '&' c).z)=FALSE;
    then
A3: ('not' c).z 'or' (('not' a).z 'or' (b.z '&' c.z))=FALSE by MARGREL1:def 20;
    ('not' c).z 'or' ((('not' a).z 'or' b.z) '&' (('not' a).z 'or' c.z))
    =('not' c).z 'or' c.z 'or' ('not' a).z by A2,A1
      .='not' c.z 'or' c.z 'or' ('not' a).z by MARGREL1:def 19
      .=TRUE 'or' ('not' a).z by XBOOLEAN:102
      .=TRUE;
    hence contradiction by A3,XBOOLEAN:9;
  end;
  hence thesis;
end;

theorem
  a 'imp' b '<' a 'imp' (b 'or' c)
proof
  let z be Element of Y;
A1: (a 'imp' b).z =('not' a 'or' b).z by BVFUNC_4:8
    .=('not' a).z 'or' b.z by BVFUNC_1:def 4;
  assume
A2: (a 'imp' b).z=TRUE;
  now
    assume
A3: (a 'imp' (b 'or' c)).z<>TRUE;
    (a 'imp' (b 'or' c)).z =('not' a 'or' (b 'or' c)).z by BVFUNC_4:8
      .=('not' a).z 'or' (b 'or' c).z by BVFUNC_1:def 4
      .=('not' a).z 'or' (b.z 'or' c.z) by BVFUNC_1:def 4
      .=(('not' a).z 'or' b.z) 'or' c.z
      .=TRUE by A2,A1;
    hence contradiction by A3;
  end;
  hence thesis;
end;

theorem
  a 'imp' b '<' (a 'or' c) 'imp' (b 'or' c)
proof
  let z be Element of Y;
A1: (a 'imp' b).z =('not' a 'or' b).z by BVFUNC_4:8
    .=('not' a).z 'or' b.z by BVFUNC_1:def 4;
  assume
A2: (a 'imp' b).z=TRUE;
  now
    assume
A3: ((a 'or' c) 'imp' (b 'or' c)).z<>TRUE;
    ((a 'or' c) 'imp' (b 'or' c)).z =('not'( a 'or' c) 'or' (b 'or' c)).z
    by BVFUNC_4:8
      .=('not'( a 'or' c)).z 'or' (b 'or' c).z by BVFUNC_1:def 4
      .=('not'( a 'or' c)).z 'or' (b.z 'or' c.z) by BVFUNC_1:def 4
      .=(('not'( a 'or' c)).z 'or' b.z) 'or' c.z
      .=((('not' a '&' 'not' c)).z 'or' b.z) 'or' c.z by BVFUNC_1:13
      .=(b.z 'or' (('not' a).z '&' ('not' c).z)) 'or' c.z by MARGREL1:def 20
      .=((('not' a).z 'or' b.z) '&' (b.z 'or' ('not' c).z)) 'or' c.z by
XBOOLEAN:9
      .=b.z 'or' (('not' c).z 'or' c.z) by A2,A1
      .=b.z 'or' ('not' c.z 'or' c.z) by MARGREL1:def 19
      .=b.z 'or' TRUE by XBOOLEAN:102
      .=TRUE;
    hence contradiction by A3;
  end;
  hence thesis;
end;

theorem
  a '&' b 'or' c '<' a 'or' c
proof
  let z be Element of Y;
A1: (a '&' b 'or' c).z =(a '&' b).z 'or' c.z by BVFUNC_1:def 4
    .=(a.z '&' b.z) 'or' c.z by MARGREL1:def 20;
  assume
A2: (a '&' b 'or' c).z=TRUE;
  now
    assume (a 'or' c).z<>TRUE;
    then (a 'or' c).z=FALSE by XBOOLEAN:def 3;
    then
A3: a.z 'or' c.z=FALSE by BVFUNC_1:def 4;
    (a.z '&' b.z) 'or' c.z =(c.z 'or' a.z) '&' (c.z 'or' b.z) by XBOOLEAN:9
      .=FALSE by A3;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;

theorem
  (a '&' b) 'or' (c '&' d) '<' a 'or' c
proof
  let z be Element of Y;
A1: ((a '&' b) 'or' (c '&' d)).z =(a '&' b).z 'or' (c '&' d).z by
BVFUNC_1:def 4
    .=(a.z '&' b.z) 'or' (c '&' d).z by MARGREL1:def 20
    .=(a.z '&' b.z) 'or' (c.z '&' (d).z) by MARGREL1:def 20;
  assume
A2: ((a '&' b) 'or' (c '&' d)).z=TRUE;
  now
    assume (a 'or' c).z<>TRUE;
    then (a 'or' c).z=FALSE by XBOOLEAN:def 3;
    then
A3: a.z 'or' c.z=FALSE by BVFUNC_1:def 4;
    (a.z '&' b.z) 'or' (c.z '&' (d).z) =(c.z 'or' (a.z '&' b.z)) '&' ((a.z
    '&' b.z) 'or' (d).z) by XBOOLEAN:9
      .=((a.z 'or' c.z) '&' (c.z 'or' b.z)) '&' ((a.z '&' b.z) 'or' (d).z)
    by XBOOLEAN:9
      .=FALSE by A3;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;

theorem
  (a 'imp' b) '&' ('not' a 'imp' c) '<' b 'or' c
proof
  let z be Element of Y;
A1: ((a 'imp' b) '&' ('not' a 'imp' c)).z =(('not' a 'or' b) '&' ('not' a
  'imp' c)).z by BVFUNC_4:8
    .=(('not' a 'or' b) '&' ('not' 'not' a 'or' c)).z by BVFUNC_4:8
    .=('not' a 'or' b).z '&' (a 'or' c).z by MARGREL1:def 20
    .=(('not' a).z 'or' b.z) '&' (a 'or' c).z by BVFUNC_1:def 4
    .=(('not' a).z 'or' b.z) '&' (a.z 'or' c.z) by BVFUNC_1:def 4;
  assume
A2: ((a 'imp' b) '&' ('not' a 'imp' c)).z=TRUE;
  now
    reconsider az = a.z as boolean object;
    assume (b 'or' c).z<>TRUE;
    then (b 'or' c).z=FALSE by XBOOLEAN:def 3;
    then
A3: b.z 'or' c.z=FALSE by BVFUNC_1:def 4;
    c.z=TRUE or c.z=FALSE by XBOOLEAN:def 3;
    then (('not' a).z 'or' b.z) '&' (a.z 'or' c.z) ='not' az '&' az by A3,
MARGREL1:def 19
      .=FALSE by XBOOLEAN:138;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;

theorem
  (a 'imp' c) '&' (b 'imp' 'not' c) '<' 'not' a 'or' 'not' b
proof
  let z be Element of Y;
A1: ((a 'imp' c) '&' (b 'imp' 'not' c)).z =(a 'imp' c).z '&' (b 'imp' 'not'
  c).z by MARGREL1:def 20
    .=('not' a 'or' c).z '&' (b 'imp' 'not' c).z by BVFUNC_4:8
    .=('not' a 'or' c).z '&' ('not' b 'or' 'not' c).z by BVFUNC_4:8
    .=(('not' a).z 'or' c.z) '&' ('not' b 'or' 'not' c).z by BVFUNC_1:def 4
    .=(('not' a).z 'or' c.z) '&' (('not' b).z 'or' ('not' c).z) by
BVFUNC_1:def 4;
  assume
A2: ((a 'imp' c) '&' (b 'imp' 'not' c)).z=TRUE;
  now
    assume ('not' a 'or' 'not' b).z<>TRUE;
    then ('not' a 'or' 'not' b).z=FALSE by XBOOLEAN:def 3;
    then
A3: ('not' a).z 'or' ('not' b).z=FALSE by BVFUNC_1:def 4;
    ('not' b).z=TRUE or ('not' b).z=FALSE by XBOOLEAN:def 3;
    then (('not' a).z 'or' c.z) '&' (('not' b).z 'or' ('not' c).z) =c.z '&'
    'not' c.z by A3,MARGREL1:def 19
      .=FALSE by XBOOLEAN:138;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;

theorem
  (a 'or' b) '&' ('not' a 'or' c) '<' b 'or' c
proof
  let z be Element of Y;
A1: ((a 'or' b) '&' ('not' a 'or' c)).z =(a 'or' b).z '&' ('not' a 'or' c).z
  by MARGREL1:def 20
    .=(a.z 'or' b.z) '&' ('not' a 'or' c).z by BVFUNC_1:def 4
    .=(a.z 'or' b.z) '&' (('not' a).z 'or' c.z) by BVFUNC_1:def 4;
  assume
A2: ((a 'or' b) '&' ('not' a 'or' c)).z=TRUE;
  now
    assume (b 'or' c).z<>TRUE;
    then (b 'or' c).z=FALSE by XBOOLEAN:def 3;
    then
A3: b.z 'or' c.z=FALSE by BVFUNC_1:def 4;
    c.z=TRUE or c.z=FALSE by XBOOLEAN:def 3;
    then (a.z 'or' b.z) '&' (('not' a).z 'or' c.z) =a.z '&' 'not' a.z by A3,
MARGREL1:def 19
      .=FALSE by XBOOLEAN:138;
    hence contradiction by A2,A1;
  end;
  hence thesis;
end;

theorem Th918:
  (a 'imp' b) '&' (c 'imp' d) '<' (a '&' c) 'imp' (b '&' d)
proof
  let z be Element of Y;
A1: ((a 'imp' b) '&' (c 'imp' d)).z =(a 'imp' b).z '&' (c 'imp' d).z by
MARGREL1:def 20
    .=('not' a 'or' b).z '&' (c 'imp' d).z by BVFUNC_4:8
    .=('not' a 'or' b).z '&' ('not' c 'or' d).z by BVFUNC_4:8
    .=(('not' a).z 'or' b.z) '&' ('not' c 'or' d).z by BVFUNC_1:def 4
    .=(('not' a).z 'or' b.z) '&' (('not' c).z 'or' (d).z) by BVFUNC_1:def 4;
  assume
A2: ((a 'imp' b) '&' (c 'imp' d)).z=TRUE;
  now
A3: ('not' c).z=TRUE or ('not' c).z=FALSE by XBOOLEAN:def 3;
A4: (('not' a).z 'or' ('not' c).z)=TRUE or (('not' a).z 'or' ('not' c).z)=
    FALSE by XBOOLEAN:def 3;
A5: (b.z '&' (d).z)=TRUE or (b.z '&' (d).z)=FALSE by XBOOLEAN:def 3;
A6: ((a '&' c) 'imp' (b '&' d)).z =('not'( a '&' c) 'or' (b '&' d)).z by
BVFUNC_4:8
      .=('not'( a '&' c)).z 'or' (b '&' d).z by BVFUNC_1:def 4
      .=('not' a 'or' 'not' c).z 'or' (b '&' d).z by BVFUNC_1:14
      .=(('not' a).z 'or' ('not' c).z) 'or' (b '&' d).z by BVFUNC_1:def 4
      .=(('not' a).z 'or' ('not' c).z) 'or' (b.z '&' (d).z) by MARGREL1:def 20;
    assume
A7: ((a '&' c) 'imp' (b '&' d)).z<>TRUE;
    now
      per cases by A7,A6,A5,MARGREL1:12;
      case
        b.z=FALSE;
        thus thesis by A2,A1,A6,A4,A3;
      end;
      case
        d.z=FALSE;
        thus thesis by A2,A1,A6,A4,A3;
      end;
    end;
    hence thesis;
  end;
  hence thesis;
end;

theorem
  (a 'imp' b) '&' (a 'imp' c) '<' a 'imp' (b '&' c)
proof
  (a 'imp' b) '&' (a 'imp' c) '<' (a '&' a) 'imp' (b '&' c) by Th918;
  hence thesis;
end;

theorem Th20:
  ((a 'imp' c) '&' (b 'imp' c)) '<' (a 'or' b) 'imp' c
proof
  ((a 'imp' c) '&' (b 'imp' c)) 'imp' ((a 'or' b) 'imp' c) = I_el Y by
Th9;
  hence thesis by BVFUNC_1:16;
end;

theorem Th21:
  (a 'imp' b) '&' (c 'imp' d) '<' (a 'or' c) 'imp' (b 'or' d)
proof
  let z be Element of Y;
A1: ((a 'imp' b) '&' (c 'imp' d)).z =(('not' a 'or' b) '&' (c 'imp' d)).z by
BVFUNC_4:8
    .=(('not' a 'or' b) '&' ('not' c 'or' d)).z by BVFUNC_4:8
    .=('not' a 'or' b).z '&' ('not' c 'or' d).z by MARGREL1:def 20
    .=(('not' a).z 'or' b.z) '&' ('not' c 'or' d).z by BVFUNC_1:def 4
    .=(('not' a).z 'or' b.z) '&' (('not' c).z 'or' (d).z) by BVFUNC_1:def 4;
  assume
A2: ((a 'imp' b) '&' (c 'imp' d)).z=TRUE;
  now
A3: (d).z=TRUE or (d).z=FALSE by XBOOLEAN:def 3;
A4: (b.z 'or' (d).z)=TRUE or (b.z 'or' (d).z)=FALSE by XBOOLEAN:def 3;
A5: (('not' a).z '&' ('not' c).z)=TRUE or (('not' a).z '&' ('not' c).z)=
    FALSE by XBOOLEAN:def 3;
A6: ((a 'or' c) 'imp' (b 'or' d)).z =('not'( a 'or' c) 'or' (b 'or' d)).z
    by BVFUNC_4:8
      .=(('not' a '&' 'not' c) 'or' (b 'or' d)).z by BVFUNC_1:13
      .=('not' a '&' 'not' c).z 'or' (b 'or' d).z by BVFUNC_1:def 4
      .=(('not' a).z '&' ('not' c).z) 'or' (b 'or' d).z by MARGREL1:def 20
      .=(('not' a).z '&' ('not' c).z) 'or' (b.z 'or' (d).z) by BVFUNC_1:def 4;
    assume
A7: ((a 'or' c) 'imp' (b 'or' d)).z<>TRUE;
    now
      per cases by A7,A6,A5,MARGREL1:12;
      case
        ('not' a).z=FALSE;
        thus thesis by A2,A1,A6,A4,A3;
      end;
      case
        ('not' c).z=FALSE;
        thus thesis by A2,A1,A6,A4,A3;
      end;
    end;
    hence thesis;
  end;
  hence thesis;
end;

theorem
  (a 'imp' b) '&' (a 'imp' c) '<' a 'imp' (b 'or' c)
proof
  (a 'imp' b) '&' (a 'imp' c) '<' (a 'or' a) 'imp' (b 'or' c) by Th21;
  hence thesis;
end;

theorem Th23:
  for a1,b1,c1,a2,b2,c2 being Function of Y,BOOLEAN holds (
  b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2 '&' b2)
  '&' 'not'( a2 '&' c2) '<' (a2 'imp' a1)
proof
  let a1,b1,c1,a2,b2,c2 be Function of Y,BOOLEAN;
A1: ((b1 'or' c1) 'imp' (b2 'or' c2)) '&' ((b2 'or' c2) 'imp' 'not' a2) '&'
((b1 'or' c1) 'imp' 'not' a2) 'imp' ((b1 'or' c1) 'imp' 'not' a2) = I_el(Y) by
Th38;
A2: (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
  '&' b2) '&' 'not'( a2 '&' c2) 'imp' (c1 'imp' c2) = I_el(Y)
     by Lm4,BVFUNC_1:16;
A3: ((b1 'imp' b2) '&' (c1 'imp' c2)) 'imp' ((b1 'or' c1) 'imp' (b2 'or' c2
  )) = I_el(Y) by Th21,BVFUNC_1:16;
  (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
  '&' b2) '&' 'not'( a2 '&' c2) 'imp' (b1 'imp' b2) = I_el(Y)
          by Lm4,BVFUNC_1:16;
  then (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
  '&' b2) '&' 'not'( a2 '&' c2) 'imp' (b1 'imp' b2) '&' (c1 'imp' c2) = I_el(Y)
  by A2,th18;
  then
A4: (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
'&' b2) '&' 'not'( a2 '&' c2) 'imp' ((b1 'or' c1) 'imp' (b2 'or' c2)) = I_el(Y)
  by A3,BVFUNC_5:9;
A5: (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
  '&' b2) '&' 'not'( a2 '&' c2) 'imp' 'not'( a2 '&' c2) = I_el(Y) by Lm1,
BVFUNC_1:16;
  (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
  '&' b2) '&' 'not'( a2 '&' c2) 'imp' 'not'( a2 '&' b2) = I_el(Y) by Lm2,
BVFUNC_1:16;
  then (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
'&' b2) '&' 'not'( a2 '&' c2) 'imp' ('not'( a2 '&' b2) '&' 'not'( a2 '&' c2)) =
  I_el(Y) by A5,th18;
  then
A6: (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
  '&' b2) '&' 'not'( a2 '&' c2) 'imp' ((b1 'or' c1) 'imp' (b2 'or' c2)) '&' (
  'not'( a2 '&' b2) '&' 'not' (a2 '&' c2)) = I_el(Y) by A4,th18;
  'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) =('not' a2 'or' 'not' b2) '&'
  'not'( a2 '&' c2) by BVFUNC_1:14
    .=('not' b2 'or' 'not' a2) '&' ('not' c2 'or' 'not' a2) by BVFUNC_1:14
    .=(b2 'imp' 'not' a2) '&' ('not' c2 'or' 'not' a2) by BVFUNC_4:8
    .=(b2 'imp' 'not' a2) '&' (c2 'imp' 'not' a2) by BVFUNC_4:8
    .=(b2 'or' c2) 'imp' 'not' a2 by Th75;
  then (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
'&' b2) '&' 'not'( a2 '&' c2) 'imp' ((b1 'or' c1) 'imp' (b2 'or' c2)) '&' ((b2
  'or' c2) 'imp' 'not' a2) '&' ((b1 'or' c1) 'imp' 'not' a2) = I_el(Y) by A6,
Th12;
  then
A7: (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
'&' b2) '&' 'not'( a2 '&' c2) 'imp' ((b1 'or' c1) 'imp' 'not' a2) = I_el(Y) by
A1,BVFUNC_5:9;
  (a1 'or' b1 'or' c1) '&' ((b1 'or' c1) 'imp' 'not' a2) =(a1 'or' (b1
'or' c1) ) '&' ((b1 'or' c1) 'imp' 'not' a2) & (a1 'or' (b1 'or' c1)) '&' ((b1
  'or' c1) 'imp' 'not' a2) '<' (a1 'or' 'not' a2) by Th1,BVFUNC_1:8;
  then
A8: (a1 'or' b1 'or' c1) '&' ((b1 'or' c1) 'imp' 'not' a2) 'imp' (a1 'or'
  'not' a2) =I_el(Y) by BVFUNC_1:16;
  (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
  '&' b2) '&' 'not'( a2 '&' c2) 'imp' (a1 'or' b1 'or' c1) = I_el(Y) by Lm3,
BVFUNC_1:16;
  then (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
  '&' b2) '&' 'not'( a2 '&' c2) 'imp' (a1 'or' b1 'or' c1) '&' ((b1 'or' c1)
  'imp' 'not' a2) = I_el(Y) by A7,th18;
  then (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
  '&' b2) '&' 'not'( a2 '&' c2) 'imp' (a1 'or' 'not' a2) = I_el(Y) by A8,
BVFUNC_5:9;
  then (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
  '&' b2) '&' 'not'( a2 '&' c2) 'imp' (a2 'imp' a1) = I_el(Y) by BVFUNC_4:8;
  hence thesis by BVFUNC_1:16;
end;

Lm7: for a1,b1,c1,a2,b2,c2 being Function of Y,BOOLEAN holds ((a1 'imp'
a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
'&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' ((a1 'imp' a2) '&' (
b1 'imp' b2) '&' (a1 'or' b1 'or' c1) '&' 'not'( c2 '&' a2) '&' 'not'( c2 '&'
b2)) =I_el(Y)
proof
  let a1,b1,c1,a2,b2,c2 be Function of Y,BOOLEAN;
A1: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
  c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp'
  'not'( a2 '&' c2) = I_el(Y) by Lm2,BVFUNC_1:16;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
a1 'imp' a2) = I_el(Y) & ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&'
( a1 'or' b1 'or' c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2
  '&' c2)) 'imp' (b1 'imp' b2) = I_el(Y)
   by Lm6,BVFUNC_1:16;
  then
A2: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
  a1 'imp' a2) '&' (b1 'imp' b2) = I_el(Y) by th18;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
  a1 'or' b1 'or' c1) = I_el(Y) by Lm4,BVFUNC_1:16;
  then
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
  a1 'imp' a2) '&' (b1 'imp' b2) '&' (a1 'or' b1 'or' c1) = I_el(Y) by A2,
th18;
  then
A3: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
a1 'imp' a2) '&' (b1 'imp' b2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2 '&' c2) =
  I_el(Y) by A1,th18;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
  c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp'
  'not'( b2 '&' c2) = I_el(Y) by Lm1,BVFUNC_1:16;
  hence thesis by A3,th18;
end;

Lm8: for a1,b1,c1,a2,b2,c2 being Function of Y,BOOLEAN holds ((a1 'imp'
a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
'&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' ((a1 'imp' a2) '&' (
c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( b2 '&' a2) '&' 'not'( b2 '&'
c2)) = I_el(Y)
proof
  let a1,b1,c1,a2,b2,c2 be Function of Y,BOOLEAN;
A1: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
  c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp'
  'not'( a2 '&' b2) = I_el(Y) by Lm3,BVFUNC_1:16;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
a1 'imp' a2) = I_el(Y) & ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&'
( a1 'or' b1 'or' c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2
  '&' c2)) 'imp' (c1 'imp' c2) = I_el(Y)
   by Lm5,Lm6,BVFUNC_1:16;
  then
A2: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
  a1 'imp' a2) '&' (c1 'imp' c2) = I_el(Y) by th18;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
  a1 'or' b1 'or' c1) = I_el(Y) by Lm4,BVFUNC_1:16;
  then
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
  a1 'imp' a2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) = I_el(Y) by A2,
th18;
  then
A3: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
a1 'imp' a2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2 '&' b2) =
  I_el(Y) by A1,th18;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
  c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp'
  'not'( b2 '&' c2) = I_el(Y) by Lm1,BVFUNC_1:16;
  hence thesis by A3,th18;
end;

Lm9: for a1,b1,c1,a2,b2,c2 being Function of Y,BOOLEAN holds ((a1 'imp'
a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
'&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' ((b1 'imp' b2) '&' (
c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&'
c2)) =I_el(Y)
proof
  let a1,b1,c1,a2,b2,c2 be Function of Y,BOOLEAN;
A1: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
  c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp'
  'not'( a2 '&' b2) = I_el(Y) by Lm3,BVFUNC_1:16;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
b1 'imp' b2) = I_el(Y) & ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&'
( a1 'or' b1 'or' c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2
  '&' c2)) 'imp' (c1 'imp' c2) = I_el(Y)
    by Lm5,Lm6,BVFUNC_1:16;
  then
A2: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
  b1 'imp' b2) '&' (c1 'imp' c2) = I_el(Y) by th18;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
  a1 'or' b1 'or' c1) = I_el(Y) by Lm4,BVFUNC_1:16;
  then
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
  b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) = I_el(Y) by A2,
th18;
  then
A3: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2 '&' b2) =
  I_el(Y) by A1,th18;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
  c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp'
  'not'( a2 '&' c2) = I_el(Y) by Lm2,BVFUNC_1:16;
  hence thesis by A3,th18;
end;

theorem
  for a1,b1,c1,a2,b2,c2 being Function of Y,BOOLEAN holds (a1
  'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&'
'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2) '<' (a2 'imp' a1)
  '&' (b2 'imp' b1) '&' (c2 'imp' c1)
proof
  let a1,b1,c1,a2,b2,c2 be Function of Y,BOOLEAN;
A1: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' ((
  b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2 '&' b2)
  '&' 'not'( a2 '&' c2)) =I_el(Y) by Lm9;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' ((
  a1 'imp' a2) '&' (b1 'imp' b2) '&' (a1 'or' b1 'or' c1) '&' 'not'( c2 '&' a2)
  '&' 'not'( c2 '&' b2)) =I_el(Y) & ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1
'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2)
  '&' 'not'( b2 '&' c2)) 'imp' ((a1 'imp' a2) '&' (c1 'imp' c2) '&' (a1 'or' b1
  'or' c1) '&' 'not'( b2 '&' a2) '&' 'not'( b2 '&' c2)) =I_el(Y) by Lm7,Lm8;
  then
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' ((
  a1 'imp' a2) '&' (b1 'imp' b2) '&' (a1 'or' b1 'or' c1) '&' 'not'( c2 '&' a2)
  '&' 'not'( c2 '&' b2)) '&' ((a1 'imp' a2) '&' (c1 'imp' c2) '&' (a1 'or' b1
  'or' c1) '&' 'not'( b2 '&' a2) '&' 'not'( b2 '&' c2)) =I_el(Y) by th18;
  then
A2: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' ((
  a1 'imp' a2) '&' (b1 'imp' b2) '&' (a1 'or' b1 'or' c1) '&' 'not'( c2 '&' a2)
  '&' 'not'( c2 '&' b2)) '&' ((a1 'imp' a2) '&' (c1 'imp' c2) '&' (a1 'or' b1
'or' c1) '&' 'not'( a2 '&' b2) '&' 'not'( b2 '&' c2)) '&' ((b1 'imp' b2) '&' (
  c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&'
  c2)) =I_el(Y) by A1,th18;
A3: (a1 'imp' a2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
  '&' b2) '&' 'not'( b2 '&' c2) 'imp' (b2 'imp' b1) = I_el(Y)
    by Th23,BVFUNC_1:16;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (a1 'or' b1 'or' c1) '&' 'not'( c2
  '&' a2) '&' 'not'( c2 '&' b2)) '&' ((a1 'imp' a2) '&' (c1 'imp' c2) '&' (a1
'or' b1 'or' c1) '&' 'not'( a2 '&' b2) '&' 'not'( b2 '&' c2)) '&' ((b1 'imp' b2
  ) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2 '&' b2) '&' 'not'(
a2 '&' c2)) 'imp' ((a1 'imp' a2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&'
  'not'( a2 '&' b2) '&' 'not'( b2 '&' c2)) =I_el(Y)
    by Lm2,BVFUNC_1:16;
  then
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' ((
  a1 'imp' a2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2 '&' b2)
  '&' 'not'( b2 '&' c2)) =I_el(Y) by A2,BVFUNC_5:9;
  then
A4: (a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2) 'imp' (b2
  'imp' b1) = I_el(Y) by A3,BVFUNC_5:9;
  (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2
  '&' b2) '&' 'not'( a2 '&' c2) 'imp' (a2 'imp' a1) = I_el(Y)
     by Th23,BVFUNC_1:16;
  then (a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not' (b2 '&' c2) 'imp' (a2
  'imp' a1) = I_el(Y) by A1,BVFUNC_5:9;
  then
A5: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
  a2 'imp' a1) '&' (b2 'imp' b1) = I_el(Y) by A4,th18;
  (a1 'imp' a2) '&' (b1 'imp' b2) '&' (a1 'or' c1 'or' b1) '&' 'not'( c2
  '&' a2) '&' 'not'( c2 '&' b2) '<' (c2 'imp' c1) by Th23;
  then (a1 'imp' a2) '&' (b1 'imp' b2) '&' (a1 'or' b1 'or' c1) '&' 'not'( c2
  '&' a2) '&' 'not'( c2 '&' b2) '<' (c2 'imp' c1) by BVFUNC_1:8;
  then
A6: (a1 'imp' a2) '&' (b1 'imp' b2) '&' (a1 'or' b1 'or' c1) '&' 'not'( c2
  '&' a2) '&' 'not'( c2 '&' b2) 'imp' (c2 'imp' c1) = I_el(Y) by BVFUNC_1:16;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (a1 'or' b1 'or' c1) '&' 'not'( c2
  '&' a2) '&' 'not'( c2 '&' b2)) '&' ((a1 'imp' a2) '&' (c1 'imp' c2) '&' (a1
'or' b1 'or' c1) '&' 'not'( a2 '&' b2) '&' 'not'( b2 '&' c2)) '&' ((b1 'imp' b2
  ) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '&' 'not'( a2 '&' b2) '&' 'not'(
a2 '&' c2)) 'imp' ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (a1 'or' b1 'or' c1) '&'
  'not'( c2 '&' a2) '&' 'not'( c2 '&' b2)) =I_el(Y) by Lm2,BVFUNC_1:16;
  then
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' ((
  a1 'imp' a2) '&' (b1 'imp' b2) '&' (a1 'or' b1 'or' c1) '&' 'not'( c2 '&' a2)
  '&' 'not'( c2 '&' b2)) =I_el(Y) by A2,BVFUNC_5:9;
  then (a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2) 'imp' (c2
  'imp' c1) = I_el(Y) by A6,BVFUNC_5:9;
  then
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
c1) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)) 'imp' (
  a2 'imp' a1) '&' (b2 'imp' b1) '&' (c2 'imp' c1) = I_el(Y) by A5,th18;
  hence thesis by BVFUNC_1:16;
end;

theorem Th25:
  for a1,b1,a2,b2 being Function of Y,BOOLEAN holds ((a1
'imp' a2) '&' (b1 'imp' b2) '&' 'not'(a2 '&' b2)) 'imp' 'not' (a1 '&' b1)=I_el(
  Y)
proof
  let a1,b1,a2,b2 be Function of Y,BOOLEAN;
  for z being Element of Y st ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'(
  a2 '&' b2)).z=TRUE holds ('not'( a1 '&' b1)).z=TRUE
  proof
    let z be Element of Y;
A1: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)).z =((a1 'imp'
    a2) '&' (b1 'imp' b2)).z '&' ('not'( a2 '&' b2)).z by MARGREL1:def 20
      .=((a1 'imp' a2).z '&' (b1 'imp' b2).z) '&' ('not'( a2 '&' b2)).z by
MARGREL1:def 20
      .=(('not' a1 'or' a2).z '&' (b1 'imp' b2).z) '&' ('not'( a2 '&' b2)).z
    by BVFUNC_4:8
      .=(('not' a1 'or' a2).z '&' ('not' b1 'or' b2).z) '&' ('not' (a2 '&'
    b2)).z by BVFUNC_4:8
      .=((('not' a1).z 'or' (a2).z) '&' ('not' b1 'or' b2).z) '&' ('not'( a2
    '&' b2)).z by BVFUNC_1:def 4
      .=((('not' a1).z 'or' (a2).z) '&' (('not' b1).z 'or' (b2).z)) '&' (
    'not'( a2 '&' b2)).z by BVFUNC_1:def 4
      .=((('not' a1).z 'or' (a2).z) '&' (('not' b1).z 'or' (b2).z)) '&' ((
    'not' a2 'or' 'not' b2).z) by BVFUNC_1:14
      .=((('not' a1).z 'or' (a2).z) '&' (('not' b1).z 'or' (b2).z)) '&' ((
    'not' a2).z 'or' ('not' b2).z) by BVFUNC_1:def 4;
    assume
A2: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)).z=TRUE;
    now
A3:   ('not' b1).z=TRUE or ('not' b1).z=FALSE by XBOOLEAN:def 3;
A4:   ('not' a1).z=TRUE or ('not' a1).z=FALSE by XBOOLEAN:def 3;
A5:   ('not'( a1 '&' b1)).z =('not' a1 'or' 'not' b1).z by BVFUNC_1:14
        .=('not' a1).z 'or' ('not' b1).z by BVFUNC_1:def 4;
      assume ('not'( a1 '&' b1)).z<>TRUE;
      then ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)).z =((b2).z
'&' (a2).z) '&' ('not' a2).z 'or' ((a2).z '&' (b2).z) '&' ('not' b2).z by A1,A5
,A4,A3,XBOOLEAN:8
        .=b2.z '&' ((a2).z '&' ('not' a2).z) 'or' (a2).z '&' ((b2).z '&' (
      'not' b2).z)
        .=b2.z '&' ((a2).z '&' 'not' (a2).z) 'or' (a2).z '&' ((b2).z '&' (
      'not' b2).z) by MARGREL1:def 19
        .=b2.z '&' ((a2).z '&' 'not' (a2).z) 'or' (a2).z '&' ((b2).z '&'
      'not' (b2).z) by MARGREL1:def 19
        .=b2.z '&' FALSE 'or' (a2).z '&' ((b2).z '&' 'not' (b2).z) by
XBOOLEAN:138
        .=FALSE 'or' FALSE '&' a2.z by XBOOLEAN:138
        .=FALSE;
      hence contradiction by A2;
    end;
    hence thesis;
  end;
 hence thesis by BVFUNC_1:16,def 12;
end;

theorem
  for a1,b1,c1,a2,b2,c2 being Function of Y,BOOLEAN holds (a1
'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' b2) '&' 'not'(
  a2 '&' c2) '&' 'not'( b2 '&' c2) '<' 'not'( a1 '&' b1) '&' 'not'( a1 '&' c1)
  '&' 'not'( b1 '&' c1)
proof
  let a1,b1,c1,a2,b2,c2 be Function of Y,BOOLEAN;
A1: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) '&' ((a1 'imp'
  a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' c2)) '&' ((b1 'imp' b2) '&' (c1 'imp'
c2) '&' 'not'( b2 '&' c2)) 'imp' ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2
  '&' b2)) '&' ((a1 'imp' a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' c2)) =I_el(Y)
  by Th38;
A2: ((a1 'imp' a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' c2)) 'imp' 'not'( a1
  '&' c1)=I_el(Y) by Th25;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) '&' ((a1 'imp'
a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' c2)) 'imp' ((a1 'imp' a2) '&' (c1 'imp'
  c2) '&' 'not'( a2 '&' c2)) =I_el(Y) by Th38;
  then ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) '&' ((a1 'imp'
  a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' c2)) '&' ((b1 'imp' b2) '&' (c1 'imp'
c2) '&' 'not'( b2 '&' c2)) 'imp' ((a1 'imp' a2) '&' (c1 'imp' c2) '&' 'not'( a2
  '&' c2)) =I_el(Y) by A1,BVFUNC_5:9;
  then
A3: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) '&' ((a1 'imp'
  a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' c2)) '&' ((b1 'imp' b2) '&' (c1 'imp'
  c2) '&' 'not'( b2 '&' c2)) 'imp' 'not'( a1 '&' c1)=I_el(Y) by A2,BVFUNC_5:9;
A4: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) 'imp' 'not'( a1
  '&' b1)=I_el(Y) by Th25;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) '&' ((a1 'imp'
  a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' c2)) '&' ((b1 'imp' b2) '&' (c1 'imp'
c2) '&' 'not'( b2 '&' c2)) 'imp' ((b1 'imp' b2) '&' (c1 'imp' c2) '&' 'not'( b2
  '&' c2)) =I_el(Y) & ((b1 'imp' b2) '&' (c1 'imp' c2) '&' 'not'( b2 '&' c2))
  'imp' 'not'( b1 '&' c1)=I_el(Y) by Th25,Th38;
  then
A5: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) '&' ((a1 'imp'
  a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' c2)) '&' ((b1 'imp' b2) '&' (c1 'imp'
  c2) '&' 'not'( b2 '&' c2)) 'imp' 'not'( b1 '&' c1)=I_el(Y) by BVFUNC_5:9;
  ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) '&' ((a1 'imp'
a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' c2)) 'imp' ((a1 'imp' a2) '&' (b1 'imp'
  b2) '&' 'not'( a2 '&' b2)) =I_el(Y) by Th38;
  then ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) '&' ((a1 'imp'
  a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' c2)) '&' ((b1 'imp' b2) '&' (c1 'imp'
c2) '&' 'not'( b2 '&' c2)) 'imp' ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2
  '&' b2)) =I_el(Y) by A1,BVFUNC_5:9;
  then ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) '&' ((a1 'imp'
  a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' c2)) '&' ((b1 'imp' b2) '&' (c1 'imp'
  c2) '&' 'not'( b2 '&' c2)) 'imp' 'not'(a1 '&' b1)=I_el(Y) by A4,BVFUNC_5:9;
  then ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) '&' ((a1 'imp'
  a2) '&' (c1 'imp' c2) '&' 'not'(a2 '&' c2)) '&' ((b1 'imp' b2) '&' (c1 'imp'
c2) '&' 'not'( b2 '&' c2)) 'imp' 'not'( a1 '&' b1) '&' 'not'( a1 '&' c1) =I_el(
  Y) by A3,th18;
  then
A6: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) '&' ((a1 'imp'
  a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' c2)) '&' ((b1 'imp' b2) '&' (c1 'imp'
  c2) '&' 'not'( b2 '&' c2)) 'imp' 'not'( a1 '&' b1) '&' 'not'( a1 '&' c1) '&'
  'not'( b1 '&' c1) =I_el(Y) by A5,th18;
  (a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' b2)
  '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2) =(a1 'imp' a2) '&' (a1 'imp' a2)
  '&' ((b1 'imp' b2) '&' (b1 'imp' b2)) '&' (c1 'imp' c2) '&' 'not'( a2 '&' b2)
  '&' 'not'( a2 '&' c2) '&' 'not'( b2 '&' c2)
    .=(((a1 'imp' a2) '&' (a1 'imp' a2) '&' (b1 'imp' b2)) '&' (b1 'imp' b2)
'&' ((c1 'imp' c2) '&' (c1 'imp' c2))) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&'
  c2) '&' 'not'( b2 '&' c2) by BVFUNC_1:4
    .=((((a1 'imp' a2) '&' (b1 'imp' b2)) '&' (a1 'imp' a2)) '&' (b1 'imp'
b2) '&' ((c1 'imp' c2) '&' (c1 'imp' c2))) '&' 'not'( a2 '&' b2) '&' 'not'( a2
  '&' c2) '&' 'not'( b2 '&' c2) by BVFUNC_1:4
    .=(((a1 'imp' a2) '&' (b1 'imp' b2)) '&' (a1 'imp' a2) '&' (b1 'imp' b2)
'&' (c1 'imp' c2) '&' (c1 'imp' c2)) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&' c2
  ) '&' 'not'( b2 '&' c2) by BVFUNC_1:4
    .=(((a1 'imp' a2) '&' (b1 'imp' b2)) '&' (a1 'imp' a2) '&' ((b1 'imp' b2
) '&' (c1 'imp' c2)) '&' (c1 'imp' c2)) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&'
  c2) '&' 'not'( b2 '&' c2) by BVFUNC_1:4
    .=(((a1 'imp' a2) '&' (b1 'imp' b2)) '&' ((b1 'imp' b2) '&' (c1 'imp' c2
)) '&' (a1 'imp' a2) '&' (c1 'imp' c2)) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&'
  c2) '&' 'not'( b2 '&' c2) by BVFUNC_1:4
    .=((a1 'imp' a2) '&' (b1 'imp' b2)) '&' ((b1 'imp' b2) '&' (c1 'imp' c2)
) '&' ((a1 'imp' a2) '&' (c1 'imp' c2)) '&' 'not'( a2 '&' b2) '&' 'not'( a2 '&'
  c2) '&' 'not'( b2 '&' c2) by BVFUNC_1:4
    .=((a1 'imp' a2) '&' (b1 'imp' b2)) '&' ((b1 'imp' b2) '&' (c1 'imp' c2)
) '&' ((a1 'imp' a2) '&' (c1 'imp' c2)) '&' 'not'( a2 '&' c2) '&' 'not'( a2 '&'
  b2) '&' 'not'( b2 '&' c2) by BVFUNC_1:4
    .=((a1 'imp' a2) '&' (b1 'imp' b2)) '&' ((b1 'imp' b2) '&' (c1 'imp' c2)
) '&' ((a1 'imp' a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' c2)) '&' 'not'( a2 '&'
  b2) '&' 'not'( b2 '&' c2) by BVFUNC_1:4
    .=((a1 'imp' a2) '&' (b1 'imp' b2)) '&' ((b1 'imp' b2) '&' (c1 'imp' c2)
) '&' 'not'( a2 '&' b2) '&' ((a1 'imp' a2) '&' (c1 'imp' c2) '&' 'not' (a2 '&'
  c2)) '&' 'not'( b2 '&' c2) by BVFUNC_1:4
    .=((a1 'imp' a2) '&' (b1 'imp' b2)) '&' 'not'( a2 '&' b2) '&' ((b1 'imp'
  b2) '&' (c1 'imp' c2)) '&' ((a1 'imp' a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&'
  c2)) '&' 'not'( b2 '&' c2) by BVFUNC_1:4
    .=((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) '&' ((b1 'imp'
  b2) '&' (c1 'imp' c2)) '&' 'not'( b2 '&' c2) '&' ((a1 'imp' a2) '&' (c1 'imp'
  c2) '&' 'not' (a2 '&' c2)) by BVFUNC_1:4
    .=((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) '&' ((b1 'imp'
  b2) '&' (c1 'imp' c2) '&' 'not'( b2 '&' c2)) '&' ((a1 'imp' a2) '&' (c1 'imp'
  c2) '&' 'not'( a2 '&' c2)) by BVFUNC_1:4
    .=(((a1 'imp' a2) '&' (b1 'imp' b2) '&' 'not'( a2 '&' b2)) '&' ((a1
  'imp' a2) '&' (c1 'imp' c2) '&' 'not'( a2 '&' c2)) '&' ((b1 'imp' b2) '&' (c1
  'imp' c2) '&' 'not'( b2 '&' c2))) by BVFUNC_1:4;
  hence thesis by A6,BVFUNC_1:16;
end;

theorem
  a '&' b '<' a by Lm1;

theorem
  a '&' b '&' c '<' a & a '&' b '&' c '<' b by Lm2;

theorem
  a '&' b '&' c '&' d '<' a & a '&' b '&' c '&' d '<' b by Lm3;

theorem
  a '&' b '&' c '&' d '&' e '<' a & a '&' b '&' c '&' d '&' e '<' b by Lm4;

theorem
  a '&' b '&' c '&' d '&' e '&' f '<' a & a '&' b '&' c '&' d '&' e '&'
  f '<' b by Lm5;

theorem
  a '&' b '&' c '&' d '&' e '&' f '&' g '<' a & a '&' b '&' c '&' d '&'
  e '&' f '&' g '<' b by Lm6;

theorem Th33:
  a '<' b & c '<' d implies a '&' c '<' b '&' d
proof
  assume a '<' b & c '<' d;
  then a 'imp' b = I_el Y & c 'imp' d = I_el Y by BVFUNC_1:16;
  then (a '&' c) 'imp' (b '&' d) = I_el Y by tt;
  hence thesis by BVFUNC_1:16;
end;

theorem
  a '&' b '<' c implies a '&' 'not' c '<' 'not' b
proof
  assume a '&' b '<' c;
  then I_el Y = a '&' b 'imp' c by BVFUNC_1:16
    .= 'not' (a '&' b) 'or' c by BVFUNC_4:8
    .= 'not' a 'or' 'not' b 'or' c by BVFUNC_1:14
    .= 'not' a 'or' 'not' 'not' c 'or' 'not' b by BVFUNC_1:8
    .= 'not' (a '&' 'not' c) 'or' 'not' b by BVFUNC_1:14
    .= a '&' 'not' c 'imp' 'not' b by BVFUNC_4:8;
  hence thesis by BVFUNC_1:16;
end;

theorem
  (a 'imp' c) '&' (b 'imp' c) '&' (a 'or' b) '<' c
proof
  set K1 = (a 'imp' c) '&' (b 'imp' c);
  K1 '<' (a 'or' b) 'imp' c by Th20;
  then
A1: K1 '&' (a 'or' b) '<' ((a 'or' b) 'imp' c) '&' (a 'or' b) by Th33;
  ((a 'or' b) 'imp' c) '&' (a 'or' b) '<' c by Th2;
  hence thesis by A1,BVFUNC_1:15;
end;

theorem
  ((a 'imp' c) 'or' (b 'imp' c)) '&' (a '&' b) '<' c
proof
  (a 'imp' c) 'or' (b 'imp' c) = (a '&' b) 'imp' c by Th76;
  hence thesis by Th2;
end;

theorem
  a '<' b & c '<' d implies a 'or' c '<' b 'or' d
proof
  assume a '<' b & c '<' d;
  then a 'imp' b = I_el(Y) & c 'imp' d = I_el(Y) by BVFUNC_1:16;
  then (a 'or' c) 'imp' (b 'or' d) = I_el(Y) by Th22;
  hence thesis by BVFUNC_1:16;
end;

theorem Th38a:
  a '<' a 'or' b
proof
  a 'imp' (a 'or' b) = I_el Y by Th26;
  hence thesis by BVFUNC_1:16;
end;

theorem
  a '&' b '<' a 'or' b
proof
  a '&' b '<' a & a '<' a 'or' b by Lm1,Th38a;
  hence thesis by BVFUNC_1:15;
end;

begin :: BVFUNC10

reserve Y for non empty set;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a '&' b) 'or' (b
  '&' c) 'or' (c '&' a)= (a 'or' b) '&' (b 'or' c) '&' (c 'or' a)
proof
  let a,b,c be Function of Y,BOOLEAN;
  for z being Element of Y st ((a '&' b) 'or' (b '&' c) 'or' (c '&' a)).z=
  TRUE holds ((a 'or' b) '&' (b 'or' c) '&' (c 'or' a)).z=TRUE
  proof
    let z be Element of Y;
A1: ((a '&' b) 'or' (b '&' c) 'or' (c '&' a)).z =((a '&' b) 'or' (b '&' c)
    ).z 'or' (c '&' a).z by BVFUNC_1:def 4
      .=(a '&' b).z 'or' (b '&' c).z 'or' (c '&' a).z by BVFUNC_1:def 4
      .=(a.z '&' b.z) 'or' (b '&' c).z 'or' (c '&' a).z by MARGREL1:def 20
      .=(a.z '&' b.z) 'or' (b.z '&' c.z) 'or' (c '&' a).z by
MARGREL1:def 20
      .=(a.z '&' b.z) 'or' (b.z '&' c.z) 'or' (c.z '&' a.z) by
MARGREL1:def 20;
    assume
A2: ((a '&' b) 'or' (b '&' c) 'or' (c '&' a)).z=TRUE;
    now
A3:   ((a 'or' b) '&' (b 'or' c) '&' (c 'or' a)).z =((a 'or' b) '&' (b
      'or' c)).z '&' (c 'or' a).z by MARGREL1:def 20
        .=(a 'or' b).z '&' (b 'or' c).z '&' (c 'or' a).z by MARGREL1:def 20
        .=(a.z 'or' b.z) '&' (b 'or' c).z '&' (c 'or' a).z by
BVFUNC_1:def 4
        .=(a.z 'or' b.z) '&' (b.z 'or' c.z) '&' (c 'or' a).z by
BVFUNC_1:def 4
        .=(a.z 'or' b.z) '&' (b.z 'or' c.z) '&' (c.z 'or' a.z)
      by BVFUNC_1:def 4;
      assume
A4:   ((a 'or' b) '&' (b 'or' c) '&' (c 'or' a)).z<>TRUE;
      now
        per cases by A4,A3,MARGREL1:12,XBOOLEAN:def 3;
        case
A5:       (a.z 'or' b.z) '&' (b.z 'or' c.z)=FALSE;
          now
            per cases by A5,MARGREL1:12;
            case
A6:           (a.z 'or' b.z)=FALSE;
              b.z=TRUE or b.z=FALSE by XBOOLEAN:def 3;
              hence thesis by A2,A1,A6;
            end;
            case
A7:           (b.z 'or' c.z)=FALSE;
              c.z=TRUE or c.z=FALSE by XBOOLEAN:def 3;
              hence thesis by A2,A1,A7;
            end;
          end;
          hence thesis;
        end;
        case
A8:       (c.z 'or' a.z)=FALSE;
          a.z=TRUE or a.z=FALSE by XBOOLEAN:def 3;
          hence thesis by A2,A1,A8;
        end;
      end;
      hence thesis;
    end;
    hence thesis;
  end;
  then
A9: (a '&' b) 'or' (b '&' c) 'or' (c '&' a) '<' (a 'or' b) '&' (b 'or' c)
  '&' (c 'or' a);
  for z being Element of Y st ((a 'or' b) '&' (b 'or' c) '&' (c 'or' a)).
  z=TRUE holds ((a '&' b) 'or' (b '&' c) 'or' (c '&' a)).z=TRUE
  proof
    let z be Element of Y;
A10: ((a 'or' b) '&' (b 'or' c) '&' (c 'or' a)).z =((a 'or' b) '&' (b 'or'
    c)).z '&' (c 'or' a).z by MARGREL1:def 20
      .=(a 'or' b).z '&' (b 'or' c).z '&' (c 'or' a).z by MARGREL1:def 20
      .=(a.z 'or' b.z) '&' (b 'or' c).z '&' (c 'or' a).z by BVFUNC_1:def 4
      .=(a.z 'or' b.z) '&' (b.z 'or' c.z) '&' (c 'or' a).z by
BVFUNC_1:def 4
      .=(a.z 'or' b.z) '&' (b.z 'or' c.z) '&' (c.z 'or' a.z) by
BVFUNC_1:def 4;
    assume
A11: ((a 'or' b) '&' (b 'or' c) '&' (c 'or' a)).z=TRUE;
    now
A12:  (b.z '&' c.z)=TRUE or (b.z '&' c.z)=FALSE by XBOOLEAN:def 3;
A13:  (c.z '&' a.z)=TRUE or (c.z '&' a.z)=FALSE by XBOOLEAN:def 3;
A14:  ((a '&' b) 'or' (b '&' c) 'or' (c '&' a)).z =((a '&' b) 'or' (b '&'
      c)).z 'or' (c '&' a).z by BVFUNC_1:def 4
        .=(a '&' b).z 'or' (b '&' c).z 'or' (c '&' a).z by BVFUNC_1:def 4
        .=(a.z '&' b.z) 'or' (b '&' c).z 'or' (c '&' a).z by
MARGREL1:def 20
        .=(a.z '&' b.z) 'or' (b.z '&' c.z) 'or' (c '&' a).z by
MARGREL1:def 20
        .=(a.z '&' b.z) 'or' (b.z '&' c.z) 'or' (c.z '&' a.z) by
MARGREL1:def 20;
      assume
A15:  ((a '&' b) 'or' (b '&' c) 'or' (c '&' a)).z<>TRUE;
      now
        per cases by A15,A14,A13,A12,MARGREL1:12,XBOOLEAN:def 3;
        case
          a.z=FALSE & b.z=FALSE;
          hence thesis by A11,A10;
        end;
        case
          b.z=FALSE & c.z=FALSE;
          hence thesis by A11,A10;
        end;
        case
          c.z=FALSE & a.z=FALSE;
          hence thesis by A11,A10;
        end;
      end;
      hence thesis;
    end;
    hence thesis;
  end;
  then (a 'or' b) '&' (b 'or' c) '&' (c 'or' a) '<' (a '&' b) 'or' (b '&' c)
  'or' (c '&' a);
  hence thesis by A9,BVFUNC_1:15;
end;

Lm1: for a,b,c being Function of Y,BOOLEAN holds (a '&' 'not' b) 'or' (b
'&' 'not' c) 'or' (c '&' 'not' a) '<' (b '&' 'not' a) 'or' (c '&' 'not' b) 'or'
(a '&' 'not' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: ((a '&' 'not' b) 'or' (b '&' 'not' c) 'or' (c '&' 'not' a)).z =((a '&'
  'not' b) 'or' (b '&' 'not' c)).z 'or' (c '&' 'not' a).z by BVFUNC_1:def 4
    .=(a '&' 'not' b).z 'or' (b '&' 'not' c).z 'or' (c '&' 'not' a).z by
BVFUNC_1:def 4
    .=(a.z '&' ('not' b).z) 'or' (b '&' 'not' c).z 'or' (c '&' 'not' a).z
  by MARGREL1:def 20
    .=(a.z '&' ('not' b).z) 'or' (b.z '&' ('not' c).z) 'or' (c '&' 'not'
  a).z by MARGREL1:def 20
    .=(a.z '&' ('not' b).z) 'or' (b.z '&' ('not' c).z) 'or' (c.z '&' (
  'not' a).z) by MARGREL1:def 20
    .=(a.z '&' 'not' b.z) 'or' (b.z '&' ('not' c).z) 'or' (c.z '&' (
  'not' a).z) by MARGREL1:def 19
    .=(a.z '&' 'not' b.z) 'or' (b.z '&' 'not' c.z) 'or' (c.z '&' (
  'not' a).z) by MARGREL1:def 19
    .=(a.z '&' 'not' b.z) 'or' (b.z '&' 'not' c.z) 'or' (c.z '&'
  'not' a.z) by MARGREL1:def 19;
  assume
A2: ((a '&' 'not' b) 'or' (b '&' 'not' c) 'or' (c '&' 'not' a)).z=TRUE;
  now
A3: (a.z '&' ('not' c).z)=TRUE or (a.z '&' ('not' c).z)=FALSE by
XBOOLEAN:def 3;
    assume
A4: ((b '&' 'not' a) 'or' (c '&' 'not' b) 'or' (a '&' 'not' c)).z<> TRUE;
A5: (c.z '&' ('not' b).z)=TRUE or (c.z '&' ('not' b).z)=FALSE by
XBOOLEAN:def 3;
A6: ((b '&' 'not' a) 'or' (c '&' 'not' b) 'or' (a '&' 'not' c)).z =((b '&'
    'not' a) 'or' (c '&' 'not' b)).z 'or' (a '&' 'not' c).z by BVFUNC_1:def 4
      .=(b '&' 'not' a).z 'or' (c '&' 'not' b).z 'or' (a '&' 'not' c).z by
BVFUNC_1:def 4
      .=(b.z '&' ('not' a).z) 'or' (c '&' 'not' b).z 'or' (a '&' 'not' c).
    z by MARGREL1:def 20
      .=(b.z '&' ('not' a).z) 'or' (c.z '&' ('not' b).z) 'or' (a '&'
    'not' c).z by MARGREL1:def 20
      .=(b.z '&' ('not' a).z) 'or' (c.z '&' ('not' b).z) 'or' (a.z '&'
    ('not' c).z) by MARGREL1:def 20;
    ((b.z '&' ('not' a).z) 'or' (c.z '&' ('not' b).z))=TRUE or ((b.z
    '&' ('not' a).z) 'or' (c.z '&' ('not' b).z))=FALSE by XBOOLEAN:def 3;
    then
A7: b.z=FALSE or ('not' a).z=FALSE by A4,A6,A5,MARGREL1:12;
    now
      per cases by A4,A6,A3,MARGREL1:12;
      case
        a.z=FALSE;
        hence thesis by A2,A1,A6,A7,MARGREL1:def 19;
      end;
      case
        ('not' c).z=FALSE;
        then
A8:     'not' c.z=FALSE by MARGREL1:def 19;
        then 'not' b.z=FALSE by A4,A6,A5,MARGREL1:def 19;
        hence thesis by A2,A1,A6,A5,A8,MARGREL1:def 19;
      end;
    end;
    hence thesis;
  end;
  hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a '&' 'not' b) 'or'
(b '&' 'not' c) 'or' (c '&' 'not' a)= (b '&' 'not' a) 'or' (c '&' 'not' b) 'or'
  (a '&' 'not' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
  (a '&' 'not' b) 'or' (b '&' 'not' c) 'or' (c '&' 'not' a) '<' (b '&'
  'not' a) 'or' (c '&' 'not' b) 'or' (a '&' 'not' c) & (b '&' 'not' a) 'or' (c
'&' 'not' b) 'or' (a '&' 'not' c) '<' (a '&' 'not' b) 'or' (b '&' 'not' c) 'or'
  (c '&' 'not' a) by Lm1;
  hence thesis by BVFUNC_1:15;
end;

Lm2: for a,b,c being Function of Y,BOOLEAN holds (a 'or' 'not' b) '&' (b
'or' 'not' c) '&' (c 'or' 'not' a) '<' (b 'or' 'not' a) '&' (c 'or' 'not' b)
'&' (a 'or' 'not' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: ((a 'or' 'not' b) '&' (b 'or' 'not' c) '&' (c 'or' 'not' a)).z =((a 'or'
  'not' b) '&' (b 'or' 'not' c)).z '&' (c 'or' 'not' a).z by MARGREL1:def 20
    .=(a 'or' 'not' b).z '&' (b 'or' 'not' c).z '&' (c 'or' 'not' a).z by
MARGREL1:def 20
    .=(a.z 'or' ('not' b).z) '&' (b 'or' 'not' c).z '&' (c 'or' 'not' a).z
  by BVFUNC_1:def 4
    .=(a.z 'or' ('not' b).z) '&' (b.z 'or' ('not' c).z) '&' (c 'or'
  'not' a).z by BVFUNC_1:def 4
    .=(a.z 'or' ('not' b).z) '&' (b.z 'or' ('not' c).z) '&' (c.z 'or'
  ('not' a).z) by BVFUNC_1:def 4
    .=(a.z 'or' 'not' b.z) '&' (b.z 'or' ('not' c).z) '&' (c.z 'or'
  ('not' a).z) by MARGREL1:def 19
    .=(a.z 'or' 'not' b.z) '&' (b.z 'or' 'not' c.z) '&' (c.z 'or'
  ('not' a).z) by MARGREL1:def 19
    .=(a.z 'or' 'not' b.z) '&' (b.z 'or' 'not' c.z) '&' (c.z 'or'
  'not' a.z) by MARGREL1:def 19;
  assume
A2: ((a 'or' 'not' b) '&' (b 'or' 'not' c) '&' (c 'or' 'not' a)).z=TRUE;
  now
A3: ((b 'or' 'not' a) '&' (c 'or' 'not' b) '&' (a 'or' 'not' c)).z =((b
'or' 'not' a) '&' (c 'or' 'not' b)).z '&' (a 'or' 'not' c).z by MARGREL1:def 20
      .=(b 'or' 'not' a).z '&' (c 'or' 'not' b).z '&' (a 'or' 'not' c).z by
MARGREL1:def 20
      .=(b.z 'or' ('not' a).z) '&' (c 'or' 'not' b).z '&' (a 'or' 'not' c)
    .z by BVFUNC_1:def 4
      .=(b.z 'or' ('not' a).z) '&' (c.z 'or' ('not' b).z) '&' (a 'or'
    'not' c).z by BVFUNC_1:def 4
      .=(b.z 'or' ('not' a).z) '&' (c.z 'or' ('not' b).z) '&' (a.z
    'or' ('not' c).z) by BVFUNC_1:def 4;
    assume
A4:  ((b 'or' 'not' a) '&' (c 'or' 'not' b) '&' (a 'or' 'not' c)).z<> TRUE;
    now
      per cases by A4,A3,MARGREL1:12,XBOOLEAN:def 3;
      case
A5:     ((b.z 'or' ('not' a).z) '&' (c.z 'or' ('not' b).z))=FALSE;
        now
          per cases by A5,MARGREL1:12;
          case
A6:         (b.z 'or' ('not' a).z)=FALSE;
A7:         ('not' a).z=TRUE or ('not' a).z=FALSE by XBOOLEAN:def 3;
            then 'not' a.z=FALSE by A6,MARGREL1:def 19;
            hence thesis by A2,A1,A6,A7,XBOOLEAN:138;
          end;
          case
A8:         (c.z 'or' ('not' b).z)=FALSE;
A9:         ('not' b).z=TRUE or ('not' b).z=FALSE by XBOOLEAN:def 3;
            then 'not' b.z=FALSE by A8,MARGREL1:def 19;
            hence thesis by A2,A1,A8,A9,XBOOLEAN:138;
          end;
        end;
        hence thesis;
      end;
      case
A10:    (a.z 'or' ('not' c).z)=FALSE;
A11:    ('not' c).z=TRUE or ('not' c).z=FALSE by XBOOLEAN:def 3;
        then 'not' c.z=FALSE by A10,MARGREL1:def 19;
        hence thesis by A2,A1,A10,A11,XBOOLEAN:138;
      end;
    end;
    hence thesis;
  end;
  hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'or' 'not' b) '&'
  (b 'or' 'not' c) '&' (c 'or' 'not' a)= (b 'or' 'not' a) '&' (c 'or' 'not' b)
  '&' (a 'or' 'not' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
  (a 'or' 'not' b) '&' (b 'or' 'not' c) '&' (c 'or' 'not' a) '<' (b 'or'
  'not' a) '&' (c 'or' 'not' b) '&' (a 'or' 'not' c) & (b 'or' 'not' a) '&' (c
  'or' 'not' b) '&' (a 'or' 'not' c) '<' (a 'or' 'not' b) '&' (b 'or' 'not' c)
  '&' (c 'or' 'not' a) by Lm2;
  hence thesis by BVFUNC_1:15;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (c 'imp' a)=I_el(Y)
  & (c 'imp' b)=I_el(Y) implies c 'imp' (a 'or' b)=I_el(Y)
proof
  let a,b,c be Function of Y,BOOLEAN;
  assume
A1: (c 'imp' a)=I_el(Y) & (c 'imp' b)=I_el(Y);
  c 'imp' (a 'or' b) =(c 'imp' a) 'or' (c 'imp' b) by Th73
    .=I_el(Y) by A1;
  hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' c)=I_el(Y)
  & (b 'imp' c)=I_el(Y) implies (a '&' b) 'imp' c = I_el(Y)
proof
  let a,b,c be Function of Y,BOOLEAN;
  (a 'imp' c)=I_el(Y) & (b 'imp' c)=I_el(Y) implies (a '&' b) 'imp' (c '&'
  c)=I_el(Y) by tt;
  hence thesis;
end;

theorem
  for a1,a2,b1,b2,c1,c2 being Function of Y,BOOLEAN holds (a1
'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or' c1) '<' (a2
  'or' b2 'or' c2)
proof
  let a1,a2,b1,b2,c1,c2 be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1 'or'
  c1)).z =((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2)).z '&' (a1 'or' b1
  'or' c1).z by MARGREL1:def 20
    .=((a1 'imp' a2) '&' (b1 'imp' b2)).z '&' (c1 'imp' c2).z '&' (a1 'or'
  b1 'or' c1).z by MARGREL1:def 20
    .=(a1 'imp' a2).z '&' (b1 'imp' b2).z '&' (c1 'imp' c2).z '&' (a1 'or'
  b1 'or' c1).z by MARGREL1:def 20
    .=('not' a1 'or' a2).z '&' (b1 'imp' b2).z '&' (c1 'imp' c2).z '&' (a1
  'or' b1 'or' c1).z by BVFUNC_4:8
    .=('not' a1 'or' a2).z '&' ('not' b1 'or' b2).z '&' (c1 'imp' c2).z '&'
  (a1 'or' b1 'or' c1).z by BVFUNC_4:8
    .=('not' a1 'or' a2).z '&' ('not' b1 'or' b2).z '&' ('not' c1 'or' c2).z
  '&' (a1 'or' b1 'or' c1).z by BVFUNC_4:8
    .=(('not' a1).z 'or' (a2).z) '&' ('not' b1 'or' b2).z '&' ('not' c1 'or'
  c2).z '&' (a1 'or' b1 'or' c1).z by BVFUNC_1:def 4
    .=(('not' a1).z 'or' (a2).z) '&' (('not' b1).z 'or' (b2).z) '&' ('not'
  c1 'or' c2).z '&' (a1 'or' b1 'or' c1).z by BVFUNC_1:def 4
    .=(('not' a1).z 'or' (a2).z) '&' (('not' b1).z 'or' (b2).z) '&' (('not'
  c1).z 'or' (c2).z) '&' (a1 'or' b1 'or' c1).z by BVFUNC_1:def 4
    .=(('not' a1).z 'or' (a2).z) '&' (('not' b1).z 'or' (b2).z) '&' (('not'
  c1).z 'or' (c2).z) '&' ((a1 'or' b1).z 'or' (c1).z) by BVFUNC_1:def 4
    .=(('not' a1).z 'or' (a2).z) '&' (('not' b1).z 'or' (b2).z) '&' (('not'
  c1).z 'or' (c2).z) '&' ((a1).z 'or' (b1).z 'or' (c1).z) by BVFUNC_1:def 4
    .=('not' (a1).z 'or' (a2).z) '&' (('not' b1).z 'or' (b2).z) '&' (('not'
  c1).z 'or' (c2).z) '&' ((a1).z 'or' (b1).z 'or' (c1).z) by MARGREL1:def 19
    .=('not' (a1).z 'or' (a2).z) '&' ('not' (b1).z 'or' (b2).z) '&' (('not'
  c1).z 'or' (c2).z) '&' ((a1).z 'or' (b1).z 'or' (c1).z) by MARGREL1:def 19
    .=('not' (a1).z 'or' (a2).z) '&' ('not' (b1).z 'or' (b2).z) '&' ('not' (
  c1).z 'or' (c2).z) '&' ((a1).z 'or' (b1).z 'or' (c1).z) by MARGREL1:def 19;
  assume
A2: ((a1 'imp' a2) '&' (b1 'imp' b2) '&' (c1 'imp' c2) '&' (a1 'or' b1
  'or' c1)).z=TRUE;
  now
A3: b2.z=TRUE or b2.z=FALSE by XBOOLEAN:def 3;
A4: c2.z=TRUE or c2.z=FALSE by XBOOLEAN:def 3;
A5: ('not' a1 '&' 'not' b1 '&' 'not' c1) '&' (a1 'or' b1 'or' c1) =('not'
a1 '&' 'not' b1 '&' 'not' c1) '&' (a1 'or' b1) 'or' ('not' a1 '&' 'not' b1 '&'
    'not' c1) '&' c1 by BVFUNC_1:12
      .=('not' a1 '&' 'not' b1 '&' 'not' c1) '&' (a1 'or' b1) 'or' ('not' a1
    '&' 'not' b1 '&' ('not' c1 '&' c1)) by BVFUNC_1:4
      .=('not' a1 '&' 'not' b1 '&' 'not' c1) '&' (a1 'or' b1) 'or' ('not' a1
    '&' 'not' b1 '&' O_el(Y)) by BVFUNC_4:5
      .=('not' a1 '&' 'not' b1 '&' 'not' c1) '&' (a1 'or' b1) 'or' O_el(Y)
    by BVFUNC_1:5
      .=('not' a1 '&' 'not' b1 '&' 'not' c1) '&' (a1 'or' b1) by BVFUNC_1:9
      .=('not' a1 '&' 'not' b1 '&' 'not' c1) '&' a1 'or' ('not' a1 '&' 'not'
    b1 '&' 'not' c1) '&' b1 by BVFUNC_1:12
      .=('not' a1 '&' 'not' b1 '&' 'not' c1) '&' a1 'or' 'not' a1 '&' 'not'
    c1 '&' 'not' b1 '&' b1 by BVFUNC_1:4
      .=('not' a1 '&' 'not' b1 '&' 'not' c1) '&' a1 'or' 'not' a1 '&' 'not'
    c1 '&' ('not' b1 '&' b1) by BVFUNC_1:4
      .=('not' a1 '&' 'not' b1 '&' 'not' c1) '&' a1 'or' 'not' a1 '&' 'not'
    c1 '&' O_el(Y) by BVFUNC_4:5
      .=('not' a1 '&' 'not' b1 '&' 'not' c1) '&' a1 'or' O_el(Y) by BVFUNC_1:5
      .=('not' a1 '&' 'not' b1 '&' 'not' c1) '&' a1 by BVFUNC_1:9
      .='not' b1 '&' 'not' c1 '&' 'not' a1 '&' a1 by BVFUNC_1:4
      .='not' b1 '&' 'not' c1 '&' ('not' a1 '&' a1) by BVFUNC_1:4
      .='not' b1 '&' 'not' c1 '&' O_el(Y) by BVFUNC_4:5
      .=O_el(Y) by BVFUNC_1:5;
A6: ((a2).z 'or' (b2).z)=TRUE or ((a2).z 'or' (b2).z)=FALSE by XBOOLEAN:def 3;
A7: (a2 'or' b2 'or' c2).z =(a2 'or' b2).z 'or' (c2).z by BVFUNC_1:def 4
      .=(a2).z 'or' b2.z 'or' c2.z by BVFUNC_1:def 4;
    assume (a2 'or' b2 'or' c2).z<>TRUE;
    then
    ('not' (a1).z 'or' (a2).z) '&' ('not' (b1).z 'or' (b2).z) '&' ('not' (
    c1).z 'or' (c2).z) '&' ((a1).z 'or' (b1).z 'or' (c1).z) =(('not' a1).z '&'
'not' (b1).z '&' 'not' (c1).z) '&' ((a1).z 'or' (b1).z 'or' (c1).z) by A7,A6,A4
,A3,MARGREL1:def 19
      .=(('not' a1).z '&' ('not' b1).z '&' 'not' (c1).z) '&' ((a1).z 'or' (
    b1).z 'or' (c1).z) by MARGREL1:def 19
      .=(('not' a1).z '&' ('not' b1).z '&' ('not' c1).z) '&' ((a1).z 'or' (
    b1).z 'or' (c1).z) by MARGREL1:def 19
      .=(('not' a1).z '&' ('not' b1).z '&' ('not' c1).z) '&' ((a1 'or' b1).z
    'or' (c1).z) by BVFUNC_1:def 4
      .=(('not' a1).z '&' ('not' b1).z '&' ('not' c1).z) '&' ((a1 'or' b1
    'or' c1).z) by BVFUNC_1:def 4
      .=(('not' a1 '&' 'not' b1).z '&' ('not' c1).z) '&' ((a1 'or' b1 'or'
    c1).z) by MARGREL1:def 20
      .=(('not' a1 '&' 'not' b1 '&' 'not' c1).z) '&' ((a1 'or' b1 'or' c1).z
    ) by MARGREL1:def 20
      .=(('not' a1 '&' 'not' b1 '&' 'not' c1) '&' (a1 'or' b1 'or' c1)).z by
MARGREL1:def 20;
    hence contradiction by A2,A1,A5,BVFUNC_1:def 10;
  end;
  hence thesis;
end;

Lm3: for a1,a2,b1,b2 being Function of Y,BOOLEAN holds (a1 'imp' b1) '&'
(a2 'imp' b2) '&' (a1 'or' a2) '&' 'not'( b1 '&' b2) '<' (b1 'imp' a1) '&' (b2
'imp' a2) '&' (b1 'or' b2) '&' 'not'( a1 '&' a2)
proof
  let a1,a2,b1,b2 be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: ((a1 'imp' b1) '&' (a2 'imp' b2) '&' (a1 'or' a2) '&' 'not'( b1 '&' b2))
.z =(('not' a1 'or' b1) '&' (a2 'imp' b2) '&' (a1 'or' a2) '&' 'not' (b1 '&' b2
  )).z by BVFUNC_4:8
    .=(('not' a1 'or' b1) '&' ('not' a2 'or' b2) '&' (a1 'or' a2) '&' 'not'
  (b1 '&' b2)).z by BVFUNC_4:8
    .=(('not' a1 'or' b1) '&' ('not' a2 'or' b2) '&' (a1 'or' a2)).z '&' (
  'not'( b1 '&' b2)).z by MARGREL1:def 20
    .=(('not' a1 'or' b1) '&' ('not' a2 'or' b2)).z '&' (a1 'or' a2).z '&' (
  'not'( b1 '&' b2)).z by MARGREL1:def 20
    .=(('not' a1 'or' b1) '&' ('not' a2 'or' b2)).z '&' (a1 'or' a2).z '&' (
  'not' b1 'or' 'not' b2).z by BVFUNC_1:14
    .=('not' a1 'or' b1).z '&' ('not' a2 'or' b2).z '&' (a1 'or' a2).z '&' (
  'not' b1 'or' 'not' b2).z by MARGREL1:def 20
    .=(('not' a1).z 'or' (b1).z) '&' ('not' a2 'or' b2).z '&' (a1 'or' a2).z
  '&' ('not' b1 'or' 'not' b2).z by BVFUNC_1:def 4
    .=(('not' a1).z 'or' (b1).z) '&' (('not' a2).z 'or' (b2).z) '&' (a1 'or'
  a2).z '&' ('not' b1 'or' 'not' b2).z by BVFUNC_1:def 4
    .=(('not' a1).z 'or' (b1).z) '&' (('not' a2).z 'or' (b2).z) '&' ((a1).z
  'or' (a2).z) '&' ('not' b1 'or' 'not' b2).z by BVFUNC_1:def 4
    .=(('not' a1).z 'or' (b1).z) '&' (('not' a2).z 'or' (b2).z) '&' ((a1).z
  'or' (a2).z) '&' (('not' b1).z 'or' ('not' b2).z) by BVFUNC_1:def 4
    .=('not' (a1).z 'or' (b1).z) '&' (('not' a2).z 'or' (b2).z) '&' ((a1).z
  'or' (a2).z) '&' (('not' b1).z 'or' ('not' b2).z) by MARGREL1:def 19
    .=('not' (a1).z 'or' (b1).z) '&' ('not' (a2).z 'or' (b2).z) '&' ((a1).z
  'or' (a2).z) '&' (('not' b1).z 'or' ('not' b2).z) by MARGREL1:def 19
    .=('not' (a1).z 'or' (b1).z) '&' ('not' (a2).z 'or' (b2).z) '&' ((a1).z
  'or' (a2).z) '&' ('not' (b1).z 'or' ('not' b2).z) by MARGREL1:def 19
    .=('not' (a1).z 'or' (b1).z) '&' ('not' (a2).z 'or' (b2).z) '&' ((a1).z
  'or' (a2).z) '&' ('not' (b1).z 'or' 'not' (b2).z) by MARGREL1:def 19;
  assume
A2: ((a1 'imp' b1) '&' (a2 'imp' b2) '&' (a1 'or' a2) '&' 'not'( b1 '&'
  b2)).z=TRUE;
  now
A3: ((b1 'imp' a1) '&' (b2 'imp' a2) '&' (b1 'or' b2) '&' 'not'( a1 '&' a2
)).z =(('not' b1 'or' a1) '&' (b2 'imp' a2) '&' (b1 'or' b2) '&' 'not' (a1 '&'
    a2)).z by BVFUNC_4:8
      .=(('not' b1 'or' a1) '&' ('not' b2 'or' a2) '&' (b1 'or' b2) '&'
    'not' (a1 '&' a2)).z by BVFUNC_4:8
      .=(('not' b1 'or' a1) '&' ('not' b2 'or' a2) '&' (b1 'or' b2)).z '&' (
    'not'( a1 '&' a2)).z by MARGREL1:def 20
      .=(('not' b1 'or' a1) '&' ('not' b2 'or' a2)).z '&' (b1 'or' b2).z '&'
    ('not'( a1 '&' a2)).z by MARGREL1:def 20
      .=('not' b1 'or' a1).z '&' ('not' b2 'or' a2).z '&' (b1 'or' b2).z '&'
    ('not'( a1 '&' a2)).z by MARGREL1:def 20
      .=('not' b1 'or' a1).z '&' ('not' b2 'or' a2).z '&' (b1 'or' b2).z '&'
    (('not' a1 'or' 'not' a2)).z by BVFUNC_1:14
      .=(('not' b1).z 'or' (a1).z) '&' ('not' b2 'or' a2).z '&' (b1 'or' b2)
    .z '&' (('not' a1 'or' 'not' a2)).z by BVFUNC_1:def 4
      .=(('not' b1).z 'or' (a1).z) '&' (('not' b2).z 'or' (a2).z) '&' (b1
    'or' b2).z '&' (('not' a1 'or' 'not' a2)).z by BVFUNC_1:def 4
      .=(('not' b1).z 'or' (a1).z) '&' (('not' b2).z 'or' (a2).z) '&' ((b1).
    z 'or' (b2).z) '&' (('not' a1 'or' 'not' a2)).z by BVFUNC_1:def 4
      .=(('not' b1).z 'or' (a1).z) '&' (('not' b2).z 'or' (a2).z) '&' ((b1).
    z 'or' (b2).z) '&' (('not' a1).z 'or' ('not' a2).z) by BVFUNC_1:def 4;
    assume ((b1 'imp' a1) '&' (b2 'imp' a2) '&' (b1 'or' b2) '&' 'not'( a1
    '&' a2)).z<>TRUE;
    then
A4: (('not' b1).z 'or' (a1).z) '&' (('not' b2).z 'or' (a2).z) '&' ((b1).z
'or' (b2).z) '&' (('not' a1).z 'or' ('not' a2).z)=FALSE by A3,XBOOLEAN:def 3;
    now
      per cases by A4,MARGREL1:12;
      case
A5:     (('not' b1).z 'or' (a1).z) '&' (('not' b2).z 'or' (a2).z) '&'
        ((b1).z 'or' (b2).z)=FALSE;
        now
          per cases by A5,MARGREL1:12;
          case
A6:         (('not' b1).z 'or' (a1).z) '&' (('not' b2).z 'or' (a2).z) =FALSE;
            now
              per cases by A6,MARGREL1:12;
              case
A7:             (('not' b1).z 'or' (a1).z)=FALSE;
A8:             (a1).z=TRUE or (a1).z=FALSE by XBOOLEAN:def 3;
                then 'not' (b1).z=FALSE by A7,MARGREL1:def 19;
                then
                ('not' (a1).z 'or' (b1).z) '&' ('not' (a2).z 'or' (b2).z)
'&' ((a1).z 'or' (a2).z) '&' ('not' (b1).z 'or' 'not' (b2).z) =((a2).z '&'
'not' (a2).z 'or' (a2).z '&' (b2).z) '&' 'not' (b2).z by A7,A8,XBOOLEAN:8
                  .=(FALSE 'or' (a2).z '&' (b2).z) '&' 'not' (b2).z by
XBOOLEAN:138
                  .=((a2).z '&' (b2).z) '&' 'not' (b2).z
                  .=(a2).z '&' ((b2).z '&' 'not' (b2).z)
                  .=FALSE '&' (a2).z by XBOOLEAN:138
                  .=FALSE;
                hence thesis by A2,A1;
              end;
              case
A9:             (('not' b2).z 'or' (a2).z)=FALSE;
A10:            (a2).z=TRUE or (a2).z=FALSE by XBOOLEAN:def 3;
                then 'not' (b2).z=FALSE by A9,MARGREL1:def 19;
                then
                ('not' (a1).z 'or' (b1).z) '&' ('not' (a2).z 'or' (b2).z)
'&' ((a1).z 'or' (a2).z) '&' ('not' (b1).z 'or' 'not' (b2).z) =((a1).z '&'
'not' (a1).z 'or' (a1).z '&' (b1).z) '&' 'not' (b1).z by A9,A10,XBOOLEAN:8
                  .=(FALSE 'or' (a1).z '&' (b1).z) '&' 'not' (b1).z by
XBOOLEAN:138
                  .=((a1).z '&' (b1).z) '&' 'not' (b1).z
                  .=(a1).z '&' ((b1).z '&' 'not' (b1).z)
                  .=FALSE '&' (a1).z by XBOOLEAN:138
                  .=FALSE;
                hence thesis by A2,A1;
              end;
            end;
            hence thesis;
          end;
          case
A11:        b1.z 'or' b2.z=FALSE;
            reconsider a2z = a2.z as boolean object;
            reconsider a1z = a1.z as boolean object;
            (b1).z=TRUE or (b1).z=FALSE by XBOOLEAN:def 3;
            then
            ('not' (a1).z 'or' (b1).z) '&' ('not' (a2).z 'or' (b2).z) '&'
((a1).z 'or' (a2).z) '&' ('not' (b1).z 'or' 'not' (b2).z) ='not' (a1).z '&' (
            'not' (a2).z '&' ((a1).z 'or' (a2).z)) by A11
              .='not' (a1).z '&' ('not' (a2).z '&' (a1).z 'or' 'not' a2z '&'
            a2z) by XBOOLEAN:8
              .='not' (a1).z '&' ('not' (a2).z '&' (a1).z 'or' FALSE) by
XBOOLEAN:138
              .='not' (a1).z '&' ((a1).z '&' 'not' (a2).z)
              .='not' a1z '&' a1z '&' 'not' (a2).z
              .=FALSE '&' 'not' (a2).z by XBOOLEAN:138
              .=FALSE;
            hence thesis by A2,A1;
          end;
        end;
        hence thesis;
      end;
      case
A12:    (('not' a1).z 'or' ('not' a2).z)=FALSE;
        ('not' a2).z=TRUE or ('not' a2).z=FALSE by XBOOLEAN:def 3;
        then 'not' (a1).z=FALSE & 'not' (a2).z=FALSE by A12,MARGREL1:def 19;
        then ('not' (a1).z 'or' (b1).z) '&' ('not' (a2).z 'or' (b2).z) '&' ((
a1).z 'or' (a2).z) '&' ('not' (b1).z 'or' 'not' (b2).z) =(b1).z '&' ((b2).z '&'
        ('not' (b1).z 'or' 'not' (b2).z))
          .=(b1).z '&' (b2.z '&' 'not' (b1).z 'or' (b2).z '&' 'not' (b2).z
        ) by XBOOLEAN:8
          .=(b1).z '&' ((b2).z '&' 'not' (b1).z 'or' FALSE) by XBOOLEAN:138
          .=(b1).z '&' ('not' (b1).z '&' (b2).z)
          .=(b1).z '&' 'not' (b1).z '&' (b2).z
          .=FALSE '&' (b2).z by XBOOLEAN:138
          .=FALSE;
        hence thesis by A2,A1;
      end;
    end;
    hence thesis;
  end;
  hence thesis;
end;

theorem
  for a1,a2,b1,b2 being Function of Y,BOOLEAN holds (a1 'imp' b1)
'&' (a2 'imp' b2) '&' (a1 'or' a2) '&' 'not'( b1 '&' b2)= (b1 'imp' a1) '&' (b2
  'imp' a2) '&' (b1 'or' b2) '&' 'not'( a1 '&' a2)
proof
  let a1,a2,b1,b2 be Function of Y,BOOLEAN;
  (a1 'imp' b1) '&' (a2 'imp' b2) '&' (a1 'or' a2) '&' 'not'( b1 '&' b2)
'<' ( b1 'imp' a1) '&' (b2 'imp' a2) '&' (b1 'or' b2) '&' 'not'( a1 '&' a2) & (
  b1 'imp' a1) '&' (b2 'imp' a2) '&' (b1 'or' b2) '&' 'not'( a1 '&' a2) '<' (a1
  'imp' b1) '&' (a2 'imp' b2) '&' (a1 'or' a2) '&' 'not'( b1 '&' b2) by Lm3;
  hence thesis by BVFUNC_1:15;
end;

theorem
  for a,b,c,d being Function of Y,BOOLEAN holds (a 'or' b) '&' (c
  'or' d) = (a '&' c) 'or' (a '&' d) 'or' (b '&' c) 'or' (b '&' d)
proof
  let a,b,c,d be Function of Y,BOOLEAN;
  (a 'or' b) '&' (c 'or' d) =((a 'or' b) '&' c) 'or' ((a 'or' b) '&' d) by
BVFUNC_1:12
    .=(a '&' c) 'or' (b '&' c) 'or' ((a 'or' b) '&' d) by BVFUNC_1:12
    .=(a '&' c) 'or' (b '&' c) 'or' ((a '&' d) 'or' (b '&' d)) by BVFUNC_1:12
    .=(a '&' c) 'or' (b '&' c) 'or' (a '&' d) 'or' (b '&' d) by BVFUNC_1:8
    .=(a '&' c) 'or' (a '&' d) 'or' (b '&' c) 'or' (b '&' d) by BVFUNC_1:8;
  hence thesis;
end;

theorem
  for a1,a2,b1,b2,b3 being Function of Y,BOOLEAN holds (a1 '&' a2)
'or' (b1 '&' b2 '&' b3)= (a1 'or' b1) '&' (a1 'or' b2) '&' (a1 'or' b3) '&' (a2
  'or' b1) '&' (a2 'or' b2) '&' (a2 'or' b3)
proof
  let a1,a2,b1,b2,b3 be Function of Y,BOOLEAN;
  (a1 'or' b1) '&' (a1 'or' b2) '&' (a1 'or' b3) '&' (a2 'or' b1) '&' (a2
'or' b2) '&' (a2 'or' b3) =(a1 'or' (b1 '&' b2)) '&' (a1 'or' b3) '&' (a2 'or'
  b1) '&' (a2 'or' b2) '&' (a2 'or' b3) by BVFUNC_1:11
    .=(a1 'or' (b1 '&' b2 '&' b3)) '&' (a2 'or' b1) '&' (a2 'or' b2) '&' (a2
  'or' b3) by BVFUNC_1:11
    .=(a1 'or' (b1 '&' b2 '&' b3)) '&' ((a2 'or' b1) '&' (a2 'or' b2)) '&' (
  a2 'or' b3) by BVFUNC_1:4
    .=(a1 'or' (b1 '&' b2 '&' b3)) '&' (((a2 'or' b1) '&' (a2 'or' b2)) '&'
  (a2 'or' b3)) by BVFUNC_1:4
    .=(a1 'or' (b1 '&' b2 '&' b3)) '&' ((a2 'or' (b1 '&' b2)) '&' (a2 'or'
  b3)) by BVFUNC_1:11
    .=(a1 'or' (b1 '&' b2 '&' b3)) '&' (a2 'or' (b1 '&' b2 '&' b3)) by
BVFUNC_1:11
    .=(a1 '&' a2) 'or' (b1 '&' b2 '&' b3) by BVFUNC_1:11;
  hence thesis;
end;

theorem
  for a,b,c,d being Function of Y,BOOLEAN holds (a 'imp' b) '&' (b
'imp' c) '&' (c 'imp' d)= (a 'imp' (b '&' c '&' d)) '&' (b 'imp' (c '&' d)) '&'
  (c 'imp' d)
proof
  let a,b,c,d be Function of Y,BOOLEAN;
A1: (a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' d) =(a 'imp' b) '&' (b 'imp' c)
  '&' (a 'imp' c) '&' (c 'imp' d) by Th12
    .=(a 'imp' b) '&' (b 'imp' c) '&' ((a 'imp' c) '&' (c 'imp' d)) by
BVFUNC_1:4
    .=(a 'imp' b) '&' (b 'imp' c) '&' ((a 'imp' c) '&' (c 'imp' d) '&' (a
  'imp' d)) by Th12
    .=(a 'imp' b) '&' (b 'imp' c) '&' ((a 'imp' c) '&' (c 'imp' d)) '&' (a
  'imp' d) by BVFUNC_1:4
    .=(a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' d) '&' (a 'imp' c) '&' (a
  'imp' d) by BVFUNC_1:4
    .=(a 'imp' b) '&' ((b 'imp' c) '&' (c 'imp' d)) '&' (a 'imp' c) '&' (a
  'imp' d) by BVFUNC_1:4
    .=(a 'imp' b) '&' (((b 'imp' c) '&' (c 'imp' d)) '&' (b 'imp' d)) '&' (a
  'imp' c) '&' (a 'imp' d) by Th12
    .=(a 'imp' b) '&' ((b 'imp' c) '&' (c 'imp' d)) '&' (b 'imp' d) '&' (a
  'imp' c) '&' (a 'imp' d) by BVFUNC_1:4
    .=(a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' d) '&' (b 'imp' d) '&' (a
  'imp' c) '&' (a 'imp' d) by BVFUNC_1:4
    .=(a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' d) '&' (a 'imp' c) '&' (b
  'imp' d) '&' (a 'imp' d) by BVFUNC_1:4
    .=(a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' d) '&' (a 'imp' c) '&' (a
  'imp' d) '&' (b 'imp' d) by BVFUNC_1:4;
  (a 'imp' (b '&' c '&' d)) '&' (b 'imp' (c '&' d)) '&' (c 'imp' d) =(
  'not' a 'or' (b '&' c '&' d)) '&' (b 'imp' (c '&' d)) '&' (c 'imp' d) by
BVFUNC_4:8
    .=('not' a 'or' (b '&' c '&' d)) '&' ('not' b 'or' (c '&' d)) '&' (c
  'imp' d) by BVFUNC_4:8
    .=('not' a 'or' (b '&' c '&' d)) '&' ('not' b 'or' (c '&' d)) '&' ('not'
  c 'or' d) by BVFUNC_4:8
    .=(('not' a 'or' b) '&' ('not' a 'or' c) '&' ('not' a 'or' d)) '&' (
  'not' b 'or' (c '&' d)) '&' ('not' c 'or' d) by BVFUNC_5:39
    .=(('not' a 'or' b) '&' ('not' a 'or' c) '&' ('not' a 'or' d)) '&' ((
  'not' b 'or' c) '&' ('not' b 'or' d)) '&' ('not' c 'or' d) by BVFUNC_1:11
    .=('not' a 'or' b) '&' ('not' a 'or' c) '&' ('not' a 'or' d) '&' ('not'
  b 'or' c) '&' ('not' b 'or' d) '&' ('not' c 'or' d) by BVFUNC_1:4
    .=('not' a 'or' b) '&' ('not' a 'or' c) '&' ('not' b 'or' c) '&' ('not'
  a 'or' d) '&' ('not' b 'or' d) '&' ('not' c 'or' d) by BVFUNC_1:4
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' ('not' a 'or' c) '&' ('not'
  a 'or' d) '&' ('not' b 'or' d) '&' ('not' c 'or' d) by BVFUNC_1:4
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' ('not' a 'or' c) '&' ('not'
  a 'or' d) '&' ('not' c 'or' d) '&' ('not' b 'or' d) by BVFUNC_1:4
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' ('not' a 'or' c) '&' ('not'
  c 'or' d) '&' ('not' a 'or' d) '&' ('not' b 'or' d) by BVFUNC_1:4
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' ('not' c 'or' d) '&' ('not'
  a 'or' c) '&' ('not' a 'or' d) '&' ('not' b 'or' d) by BVFUNC_1:4
    .=(a 'imp' b) '&' ('not' b 'or' c) '&' ('not' c 'or' d) '&' ('not' a
  'or' c) '&' ('not' a 'or' d) '&' ('not' b 'or' d) by BVFUNC_4:8
    .=(a 'imp' b) '&' (b 'imp' c) '&' ('not' c 'or' d) '&' ('not' a 'or' c)
  '&' ('not' a 'or' d) '&' ('not' b 'or' d) by BVFUNC_4:8
    .=(a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' d) '&' ('not' a 'or' c) '&' (
  'not' a 'or' d) '&' ('not' b 'or' d) by BVFUNC_4:8
    .=(a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' d) '&' (a 'imp' c) '&' ('not'
  a 'or' d) '&' ('not' b 'or' d) by BVFUNC_4:8
    .=(a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' d) '&' (a 'imp' c) '&' (a
  'imp' d) '&' ('not' b 'or' d) by BVFUNC_4:8
    .=(a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' d) '&' (a 'imp' c) '&' (a
  'imp' d) '&' (b 'imp' d) by BVFUNC_4:8;
  hence thesis by A1;
end;

theorem
  for a,b,c,d being Function of Y,BOOLEAN holds (a 'imp' c) '&' (b
  'imp' d) '&' (a 'or' b) '<' (c 'or' d)
proof
  let a,b,c,d be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: ((a 'imp' c) '&' (b 'imp' d) '&' (a 'or' b)).z =((a 'imp' c) '&' (b
  'imp' d)).z '&' (a 'or' b).z by MARGREL1:def 20
    .=(a 'imp' c).z '&' (b 'imp' d).z '&' (a 'or' b).z by MARGREL1:def 20
    .=('not' a 'or' c).z '&' (b 'imp' d).z '&' (a 'or' b).z by BVFUNC_4:8
    .=('not' a 'or' c).z '&' ('not' b 'or' d).z '&' (a 'or' b).z by BVFUNC_4:8
    .=(('not' a).z 'or' c.z) '&' ('not' b 'or' d).z '&' (a 'or' b).z by
BVFUNC_1:def 4
    .=(('not' a).z 'or' c.z) '&' (('not' b).z 'or' (d).z) '&' (a 'or' b).z
  by BVFUNC_1:def 4
    .=(('not' a).z 'or' c.z) '&' (('not' b).z 'or' (d).z) '&' (a.z 'or'
  b.z) by BVFUNC_1:def 4
    .=('not' a.z 'or' c.z) '&' (('not' b).z 'or' (d).z) '&' (a.z 'or'
  b.z) by MARGREL1:def 19
    .=('not' a.z 'or' c.z) '&' ('not' b.z 'or' (d).z) '&' (a.z 'or'
  b.z) by MARGREL1:def 19;
  reconsider bz = b.z as boolean object;
  reconsider az = a.z as boolean object;
  assume
A2: ((a 'imp' c) '&' (b 'imp' d) '&' (a 'or' b)).z=TRUE;
  now
    assume (c 'or' d).z<>TRUE;
    then (c 'or' d).z=FALSE by XBOOLEAN:def 3;
    then
A3: c.z 'or' (d).z=FALSE by BVFUNC_1:def 4;
    (d).z=TRUE or (d).z=FALSE by XBOOLEAN:def 3;
    then
    ('not' a.z 'or' c.z) '&' ('not' b.z 'or' (d).z) '&' (a.z 'or'
    b.z) ='not' a.z '&' ('not' b.z '&' (b.z 'or' a.z)) by A3
      .='not' a.z '&' ( ('not' bz '&' bz 'or' 'not' b.z '&' a.z)) by
XBOOLEAN:8
      .='not' a.z '&' ( (FALSE 'or' 'not' b.z '&' a.z)) by XBOOLEAN:138
      .='not' a.z '&' (a.z '&' 'not' b.z)
      .='not' az '&' az '&' 'not' b.z
      .=FALSE '&' 'not' b.z by XBOOLEAN:138
      .=FALSE;
    hence thesis by A2,A1;
  end;
  hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds ((a '&' b) 'imp'
  'not' c) '&' a '&' c '<' 'not' b
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: (((a '&' b) 'imp' 'not' c) '&' a '&' c).z =(((a '&' b) 'imp' 'not' c)
  '&' a).z '&' c.z by MARGREL1:def 20
    .=((a '&' b) 'imp' 'not' c).z '&' a.z '&' c.z by MARGREL1:def 20
    .=('not'( a '&' b) 'or' 'not' c).z '&' a.z '&' c.z by BVFUNC_4:8
    .=(('not' a 'or' 'not' b) 'or' 'not' c).z '&' a.z '&' c.z by
BVFUNC_1:14
    .=(('not' a 'or' 'not' b).z 'or' ('not' c).z) '&' a.z '&' c.z by
BVFUNC_1:def 4
    .=((('not' a).z 'or' ('not' b).z) 'or' ('not' c).z) '&' a.z '&' c.z
  by BVFUNC_1:def 4;
  reconsider cz = c.z as boolean object;
  assume
A2: (((a '&' b) 'imp' 'not' c) '&' a '&' c).z=TRUE;
  now
    assume ('not' b).z<>TRUE;
    then ('not' b).z=FALSE by XBOOLEAN:def 3;
    then
    ((('not' a).z 'or' ('not' b).z) 'or' ('not' c).z) '&' a.z '&' c.z
    =('not' a.z 'or' ('not' c).z) '&' a.z '&' c.z by MARGREL1:def 19
      .=a.z '&' ('not' a.z 'or' 'not' c.z) '&' c.z by MARGREL1:def 19
      .=(a.z '&' 'not' a.z 'or' a.z '&' 'not' c.z) '&' c.z by
XBOOLEAN:8
      .=(FALSE 'or' a.z '&' 'not' c.z) '&' c.z by XBOOLEAN:138
      .=(a.z '&' 'not' c.z) '&' c.z
      .=a.z '&' ('not' cz '&' cz)
      .=FALSE '&' a.z by XBOOLEAN:138
      .=FALSE;
    hence thesis by A2,A1;
  end;
  hence thesis;
end;

theorem
  for a1,a2,a3,b1,b2,b3 being Function of Y,BOOLEAN holds (a1 '&'
  a2 '&' a3) 'imp' (b1 'or' b2 'or' b3)= ('not' b1 '&' 'not' b2 '&' a3) 'imp' (
  'not' a1 'or' 'not' a2 'or' b3)
proof
  let a1,a2,a3,b1,b2,b3 be Function of Y,BOOLEAN;
  ('not' b1 '&' 'not' b2 '&' a3) 'imp' ('not' a1 'or' 'not' a2 'or' b3) =
  'not'( 'not' b1 '&' 'not' b2 '&' a3) 'or' ('not' a1 'or' 'not' a2 'or' b3)
by BVFUNC_4:8
    .=('not' 'not' b1 'or' 'not' 'not' b2 'or' 'not' a3) 'or' ('not' a1 'or'
  'not' a2 'or' b3) by BVFUNC_5:37
    .=b1 'or' b2 'or' 'not' a3 'or' ('not' a1 'or' 'not' a2) 'or' b3 by
BVFUNC_1:8
    .=b1 'or' b2 'or' (('not' a1 'or' 'not' a2) 'or' 'not' a3) 'or' b3 by
BVFUNC_1:8
    .=(('not' a1 'or' 'not' a2) 'or' 'not' a3) 'or' ((b1 'or' b2) 'or' b3)
  by BVFUNC_1:8
    .='not'( a1 '&' a2 '&' a3) 'or' (b1 'or' b2 'or' b3) by BVFUNC_5:37
    .=(a1 '&' a2 '&' a3) 'imp' (b1 'or' b2 'or' b3) by BVFUNC_4:8;
  hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b) '&' (b
'imp' c) '&' (c 'imp' a) = (a '&' b '&' c) 'or' ('not' a '&' 'not' b '&' 'not'
  c)
proof
  let a,b,c be Function of Y,BOOLEAN;
  for z being Element of Y st ((a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' a)
).z=TRUE holds ((a '&' b '&' c) 'or' ('not' a '&' 'not' b '&' 'not' c)).z=TRUE
  proof
    let z be Element of Y;
A1: ((a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' a)).z =((a 'imp' b) '&' (b
    'imp' c)).z '&' (c 'imp' a).z by MARGREL1:def 20
      .=(a 'imp' b).z '&' (b 'imp' c).z '&' (c 'imp' a).z by MARGREL1:def 20
      .=('not' a 'or' b).z '&' (b 'imp' c).z '&' (c 'imp' a).z by BVFUNC_4:8
      .=('not' a 'or' b).z '&' ('not' b 'or' c).z '&' (c 'imp' a).z by
BVFUNC_4:8
      .=('not' a 'or' b).z '&' ('not' b 'or' c).z '&' ('not' c 'or' a).z by
BVFUNC_4:8
      .=(('not' a).z 'or' b.z) '&' ('not' b 'or' c).z '&' ('not' c 'or' a)
    .z by BVFUNC_1:def 4
      .=(('not' a).z 'or' b.z) '&' (('not' b).z 'or' c.z) '&' ('not' c
    'or' a).z by BVFUNC_1:def 4
      .=(('not' a).z 'or' b.z) '&' (('not' b).z 'or' c.z) '&' (('not' c)
    .z 'or' a.z) by BVFUNC_1:def 4
      .=('not' a.z 'or' b.z) '&' (('not' b).z 'or' c.z) '&' (('not' c)
    .z 'or' a.z) by MARGREL1:def 19
      .=('not' a.z 'or' b.z) '&' ('not' b.z 'or' c.z) '&' (('not' c)
    .z 'or' a.z) by MARGREL1:def 19
      .=('not' a.z 'or' b.z) '&' ('not' b.z 'or' c.z) '&' ('not' (c)
    .z 'or' a.z) by MARGREL1:def 19;
    assume
A2: ((a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' a)).z=TRUE;
    now
A3:   ('not' a.z '&' 'not' b.z '&' 'not' c.z)=TRUE or ('not' a.z
      '&' 'not' b.z '&' 'not' c.z)=FALSE by XBOOLEAN:def 3;
      assume
A4:   ((a '&' b '&' c) 'or' ('not' a '&' 'not' b '&' 'not' c)).z<>TRUE;
A5:   ((a '&' b '&' c) 'or' ('not' a '&' 'not' b '&' 'not' c)).z =(a '&' b
      '&' c).z 'or' ('not' a '&' 'not' b '&' 'not' c).z by BVFUNC_1:def 4
        .=((a '&' b).z '&' c.z) 'or' ('not' a '&' 'not' b '&' 'not' c).z
      by MARGREL1:def 20
        .=(a.z '&' b.z '&' c.z) 'or' ('not' a '&' 'not' b '&' 'not' c)
      .z by MARGREL1:def 20
        .=(a.z '&' b.z '&' c.z) 'or' (('not' a '&' 'not' b).z '&' (
      'not' c).z) by MARGREL1:def 20
        .=(a.z '&' b.z '&' c.z) 'or' (('not' a).z '&' ('not' b).z '&'
      ('not' c).z) by MARGREL1:def 20
        .=(a.z '&' b.z '&' c.z) 'or' ('not' a.z '&' ('not' b).z '&'
      ('not' c).z) by MARGREL1:def 19
        .=(a.z '&' b.z '&' c.z) 'or' ('not' a.z '&' 'not' b.z '&'
      ('not' c).z) by MARGREL1:def 19
        .=(a.z '&' b.z '&' c.z) 'or' ('not' a.z '&' 'not' b.z '&'
      'not' c.z) by MARGREL1:def 19;
A6:   (a.z '&' b.z '&' c.z)=TRUE or (a.z '&' b.z '&' c.z)=
      FALSE by XBOOLEAN:def 3;
      now
        per cases by A4,A5,A6,MARGREL1:12;
        case
A7:       (a.z '&' b.z)=FALSE;
          now
            per cases by A7,MARGREL1:12;
            case
A8:           a.z=FALSE;
              now
                per cases by A4,A5,A3,A8,MARGREL1:12;
                case
                  'not' b.z=FALSE;
                  hence thesis by A2,A1,A8,XBOOLEAN:138;
                end;
                case
                  'not' c.z=FALSE;
                  hence thesis by A2,A1,A8;
                end;
              end;
              hence thesis;
            end;
            case
A9:           b.z=FALSE;
              now
                per cases by A4,A5,A3,A9,MARGREL1:12;
                case
                  'not' a.z=FALSE;
                  hence thesis by A2,A1,A9;
                end;
                case
                  'not' c.z=FALSE;
                  hence thesis by A2,A1,A9,XBOOLEAN:138;
                end;
              end;
              hence thesis;
            end;
          end;
          hence thesis;
        end;
        case
A10:      c.z=FALSE;
          now
            per cases by A4,A5,A3,A10,MARGREL1:12;
            case
              'not' a.z=FALSE;
              hence thesis by A2,A1,A10,XBOOLEAN:138;
            end;
            case
              'not' b.z=FALSE;
              hence thesis by A2,A1,A10;
            end;
          end;
          hence thesis;
        end;
      end;
      hence thesis;
    end;
    hence thesis;
  end;
  then
A11: (a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' a) '<' (a '&' b '&' c) 'or' (
  'not' a '&' 'not' b '&' 'not' c);
  for z being Element of Y st ((a '&' b '&' c) 'or' ('not' a '&' 'not' b
'&' 'not' c)).z=TRUE holds ((a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' a)).z=TRUE
  proof
    let z be Element of Y;
A12: ((a '&' b '&' c) 'or' ('not' a '&' 'not' b '&' 'not' c)).z =(a '&' b
    '&' c).z 'or' ('not' a '&' 'not' b '&' 'not' c).z by BVFUNC_1:def 4
      .=((a '&' b).z '&' c.z) 'or' ('not' a '&' 'not' b '&' 'not' c).z by
MARGREL1:def 20
      .=(a.z '&' b.z '&' c.z) 'or' ('not' a '&' 'not' b '&' 'not' c).z
    by MARGREL1:def 20
      .=(a.z '&' b.z '&' c.z) 'or' (('not' a '&' 'not' b).z '&' ('not'
    c).z) by MARGREL1:def 20
      .=(a.z '&' b.z '&' c.z) 'or' (('not' a).z '&' ('not' b).z '&' (
    'not' c).z) by MARGREL1:def 20
      .=(a.z '&' b.z '&' c.z) 'or' ('not' a.z '&' ('not' b).z '&' (
    'not' c).z) by MARGREL1:def 19
      .=(a.z '&' b.z '&' c.z) 'or' ('not' a.z '&' 'not' b.z '&' (
    'not' c).z) by MARGREL1:def 19
      .=(a.z '&' b.z '&' c.z) 'or' ('not' a.z '&' 'not' b.z '&'
    'not' c.z) by MARGREL1:def 19;
    assume
A13: ((a '&' b '&' c) 'or' ('not' a '&' 'not' b '&' 'not' c)).z=TRUE;
    now
A14:  ((a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' a)).z =((a 'imp' b) '&' (
      b 'imp' c)).z '&' (c 'imp' a).z by MARGREL1:def 20
        .=(a 'imp' b).z '&' (b 'imp' c).z '&' (c 'imp' a).z by MARGREL1:def 20
        .=('not' a 'or' b).z '&' (b 'imp' c).z '&' (c 'imp' a).z by BVFUNC_4:8
        .=('not' a 'or' b).z '&' ('not' b 'or' c).z '&' (c 'imp' a).z by
BVFUNC_4:8
        .=('not' a 'or' b).z '&' ('not' b 'or' c).z '&' ('not' c 'or' a).z
      by BVFUNC_4:8
        .=(('not' a).z 'or' b.z) '&' ('not' b 'or' c).z '&' ('not' c 'or'
      a).z by BVFUNC_1:def 4
        .=(('not' a).z 'or' b.z) '&' (('not' b).z 'or' c.z) '&' ('not' c
      'or' a).z by BVFUNC_1:def 4
        .=(('not' a).z 'or' b.z) '&' (('not' b).z 'or' c.z) '&' (('not'
      c).z 'or' a.z) by BVFUNC_1:def 4
        .=('not' a.z 'or' b.z) '&' (('not' b).z 'or' c.z) '&' (('not'
      c).z 'or' a.z) by MARGREL1:def 19
        .=('not' a.z 'or' b.z) '&' ('not' b.z 'or' c.z) '&' (('not'
      c).z 'or' a.z) by MARGREL1:def 19
        .=('not' a.z 'or' b.z) '&' ('not' b.z 'or' c.z) '&' ('not' (
      c).z 'or' a.z) by MARGREL1:def 19;
      assume ((a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' a)).z<>TRUE;
      then
A15:  ('not' a.z 'or' b.z) '&' ('not' b.z 'or' c.z) '&' ('not' (c
      ).z 'or' a.z)=FALSE by A14,XBOOLEAN:def 3;
      now
        per cases by A15,MARGREL1:12;
        case
A16:      ('not' a.z 'or' b.z) '&' ('not' b.z 'or' c.z)= FALSE;
          now
            per cases by A16,MARGREL1:12;
            case
A17:          ('not' a.z 'or' b.z)=FALSE;
              b.z=TRUE or b.z=FALSE by XBOOLEAN:def 3;
              hence thesis by A13,A12,A17;
            end;
            case
A18:          ('not' b.z 'or' c.z)=FALSE;
              c.z=TRUE or c.z=FALSE by XBOOLEAN:def 3;
              hence thesis by A13,A12,A18;
            end;
          end;
          hence thesis;
        end;
        case
A19:      ('not' c.z 'or' a.z)=FALSE;
          a.z=TRUE or a.z=FALSE by XBOOLEAN:def 3;
          hence thesis by A13,A12,A19;
        end;
      end;
      hence thesis;
    end;
    hence thesis;
  end;
  then (a '&' b '&' c) 'or' ('not' a '&' 'not' b '&' 'not' c) '<' (a 'imp' b)
  '&' (b 'imp' c) '&' (c 'imp' a);
  hence thesis by A11,BVFUNC_1:15;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b) '&' (b
  'imp' c) '&' (c 'imp' a) '&' (a 'or' b 'or' c)= (a '&' b '&' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
  (a 'imp' b) '&' (b 'imp' c) '&' (c 'imp' a) '&' (a 'or' b 'or' c) =(
  'not' a 'or' b) '&' (b 'imp' c) '&' (c 'imp' a) '&' (a 'or' b 'or' c) by
BVFUNC_4:8
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' (c 'imp' a) '&' (a 'or' b
  'or' c) by BVFUNC_4:8
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' ('not' c 'or' a) '&' (a 'or'
  b 'or' c) by BVFUNC_4:8
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' (('not' c 'or' a) '&' (a
  'or' b 'or' c)) by BVFUNC_1:4
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' (('not' c 'or' a) '&' (a
  'or' b) 'or' ('not' c 'or' a) '&' c) by BVFUNC_1:12
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' (('not' c 'or' a) '&' (a
  'or' b) 'or' ('not' c '&' c 'or' a '&' c)) by BVFUNC_1:12
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' (('not' c 'or' a) '&' (a
  'or' b) 'or' (O_el(Y) 'or' a '&' c)) by BVFUNC_4:5
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' (('not' c 'or' a) '&' (a
  'or' b) 'or' (a '&' c)) by BVFUNC_1:9
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' (a 'or' ('not' c '&' b) 'or'
  (a '&' c)) by BVFUNC_1:11
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' (a 'or' (a '&' c) 'or' (
  'not' c '&' b)) by BVFUNC_1:8
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' ((a '&' I_el(Y)) 'or' (a '&'
  c) 'or' ('not' c '&' b)) by BVFUNC_1:6
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' ((a '&' (I_el(Y) 'or' c))
  'or' ('not' c '&' b)) by BVFUNC_1:12
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' ((a '&' I_el(Y)) 'or' ('not'
  c '&' b)) by BVFUNC_1:10
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' (a 'or' ('not' c '&' b)) by
BVFUNC_1:6
    .=('not' a 'or' b) '&' ('not' b 'or' c) '&' ((a 'or' 'not' c) '&' (a
  'or' b)) by BVFUNC_1:11
    .=(a 'or' b) '&' (('not' a 'or' b) '&' ('not' b 'or' c)) '&' (a 'or'
  'not' c) by BVFUNC_1:4
    .=(a 'or' b) '&' ('not' a 'or' b) '&' ('not' b 'or' c) '&' (a 'or' 'not'
  c) by BVFUNC_1:4
    .=((a '&' 'not' a) 'or' b) '&' ('not' b 'or' c) '&' (a 'or' 'not' c) by
BVFUNC_1:11
    .=(O_el(Y) 'or' b) '&' ('not' b 'or' c) '&' (a 'or' 'not' c) by BVFUNC_4:5
    .=b '&' ('not' b 'or' c) '&' (a 'or' 'not' c) by BVFUNC_1:9
    .=(b '&' 'not' b 'or' b '&' c) '&' (a 'or' 'not' c) by BVFUNC_1:12
    .=(O_el(Y) 'or' b '&' c) '&' (a 'or' 'not' c) by BVFUNC_4:5
    .=(b '&' c) '&' (a 'or' 'not' c) by BVFUNC_1:9
    .=(b '&' c) '&' a 'or' (b '&' c) '&' 'not' c by BVFUNC_1:12
    .=(b '&' c) '&' a 'or' b '&' (c '&' 'not' c) by BVFUNC_1:4
    .=(b '&' c) '&' a 'or' b '&' O_el(Y) by BVFUNC_4:5
    .=(b '&' c) '&' a 'or' O_el(Y) by BVFUNC_1:5
    .=(b '&' c) '&' a by BVFUNC_1:9
    .=(a '&' b '&' c) by BVFUNC_1:4;
  hence thesis;
end;

Lm4: for a,b,c being Function of Y,BOOLEAN holds ('not' a '&' b '&' c)
'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&' 'not' c) '<' (a 'or' b) '&' 'not'(
a '&' b '&' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: (('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
'not' c)).z =(('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c)).z 'or' (a '&' b
  '&' 'not' c).z by BVFUNC_1:def 4
    .=('not' a '&' b '&' c).z 'or' (a '&' 'not' b '&' c).z 'or' (a '&' b '&'
  'not' c).z by BVFUNC_1:def 4
    .=('not' a '&' b '&' c).z 'or' (a '&' 'not' b '&' c).z 'or' ((a '&' b).z
  '&' ('not' c).z) by MARGREL1:def 20
    .=('not' a '&' b '&' c).z 'or' (a '&' 'not' b '&' c).z 'or' (a.z '&' (
  b).z '&' ('not' c).z) by MARGREL1:def 20
    .=('not' a '&' b '&' c).z 'or' ((a '&' 'not' b).z '&' c.z) 'or' (a.z
  '&' b.z '&' ('not' c).z) by MARGREL1:def 20
    .=('not' a '&' b '&' c).z 'or' (a.z '&' ('not' b).z '&' c.z) 'or' ((
  a).z '&' b.z '&' ('not' c).z) by MARGREL1:def 20
    .=(('not' a '&' b).z '&' c.z) 'or' (a.z '&' ('not' b).z '&' c.z)
  'or' (a.z '&' b.z '&' ('not' c).z) by MARGREL1:def 20
    .=(('not' a).z '&' b.z '&' c.z) 'or' (a.z '&' ('not' b).z '&' c.
  z) 'or' (a.z '&' b.z '&' ('not' c).z) by MARGREL1:def 20
    .=('not' a.z '&' b.z '&' c.z) 'or' (a.z '&' ('not' b).z '&' c.
  z) 'or' (a.z '&' b.z '&' ('not' c).z) by MARGREL1:def 19
    .=('not' a.z '&' b.z '&' c.z) 'or' (a.z '&' 'not' b.z '&' c.
  z) 'or' (a.z '&' b.z '&' ('not' c).z) by MARGREL1:def 19
    .=('not' a.z '&' b.z '&' c.z) 'or' (a.z '&' 'not' b.z '&' c.
  z) 'or' (a.z '&' b.z '&' 'not' c.z) by MARGREL1:def 19;
  assume
A2: (('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
  'not' c)).z=TRUE;
  now
A3: ((a 'or' b) '&' 'not'( a '&' b '&' c)).z =((a 'or' b) '&' ('not' a
    'or' 'not' b 'or' 'not' c)).z by BVFUNC_5:37
      .=(a 'or' b).z '&' ('not' a 'or' 'not' b 'or' 'not' c).z by
MARGREL1:def 20
      .=(a.z 'or' b.z) '&' ('not' a 'or' 'not' b 'or' 'not' c).z by
BVFUNC_1:def 4
      .=(a.z 'or' b.z) '&' (('not' a 'or' 'not' b).z 'or' ('not' c).z)
    by BVFUNC_1:def 4
      .=(a.z 'or' b.z) '&' (('not' a).z 'or' ('not' b).z 'or' ('not' c).
    z) by BVFUNC_1:def 4
      .=(a.z 'or' b.z) '&' ('not' a.z 'or' ('not' b).z 'or' ('not' c).
    z) by MARGREL1:def 19
      .=(a.z 'or' b.z) '&' ('not' a.z 'or' 'not' b.z 'or' ('not' c).
    z) by MARGREL1:def 19
      .=(a.z 'or' b.z) '&' ('not' a.z 'or' 'not' b.z 'or' 'not' c.
    z) by MARGREL1:def 19;
    assume ((a 'or' b) '&' 'not'( a '&' b '&' c)).z<>TRUE;
    then
A4: (a.z 'or' b.z) '&' ('not' a.z 'or' 'not' b.z 'or' 'not' c.z)
    =FALSE by A3,XBOOLEAN:def 3;
    now
      per cases by A4,MARGREL1:12;
      case
A5:     (a.z 'or' b.z)=FALSE;
        b.z=TRUE or b.z=FALSE by XBOOLEAN:def 3;
        hence thesis by A2,A1,A5;
      end;
      case
A6:     ('not' a.z 'or' 'not' b.z 'or' 'not' c.z)=FALSE;
A7:     'not' b.z=TRUE or 'not' b.z=FALSE by XBOOLEAN:def 3;
        'not' a.z 'or' 'not' b.z=TRUE or 'not' a.z 'or' 'not' b.z
        =FALSE by XBOOLEAN:def 3;
        hence thesis by A2,A1,A6,A7;
      end;
    end;
    hence thesis;
  end;
  hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'or' b) '&' (b
'or' c) '&' (c 'or' a) '&' 'not'( a '&' b '&' c)= ('not' a '&' b '&' c) 'or' (a
  '&' 'not' b '&' c) 'or' (a '&' b '&' 'not' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
A1: (a 'or' b) '&' (b 'or' c) '&' 'not'( a '&' b '&' c) '&' ((c 'or' a) '&'
'not'( a '&' b '&' c)) =(a 'or' b) '&' (b 'or' c) '&' 'not'( a '&' b '&' c) '&'
  (c 'or' a) '&' 'not'( a '&' b '&' c) by BVFUNC_1:4
    .=(a 'or' b) '&' (b 'or' c) '&' (c 'or' a) '&' 'not'( a '&' b '&' c) '&'
  'not'( a '&' b '&' c) by BVFUNC_1:4
    .=(a 'or' b) '&' (b 'or' c) '&' (c 'or' a) '&' ('not'( a '&' b '&' c)
  '&' 'not'( a '&' b '&' c)) by BVFUNC_1:4
    .=(a 'or' b) '&' (b 'or' c) '&' (c 'or' a) '&' 'not'( a '&' b '&' c);
  for z being Element of Y st ((a 'or' b) '&' (b 'or' c) '&' (c 'or' a)
  '&' 'not' (a '&' b '&' c)).z=TRUE holds (('not' a '&' b '&' c) 'or' (a '&'
  'not' b '&' c) 'or' (a '&' b '&' 'not' c)).z=TRUE
  proof
    let z be Element of Y;
A2: ((a 'or' b) '&' (b 'or' c) '&' (c 'or' a) '&' 'not'( a '&' b '&' c)).z
=((a 'or' b) '&' (b 'or' c) '&' (c 'or' a)).z '&' ('not' (a '&' b '&' c)).z by
MARGREL1:def 20
      .=((a 'or' b) '&' (b 'or' c)).z '&' (c 'or' a).z '&' ('not'( a '&' b
    '&' c)).z by MARGREL1:def 20
      .=(a 'or' b).z '&' (b 'or' c).z '&' (c 'or' a).z '&' ('not'( a '&' b
    '&' c)).z by MARGREL1:def 20
      .=(a 'or' b).z '&' (b 'or' c).z '&' (c 'or' a).z '&' (('not' a 'or'
    'not' b 'or' 'not' c)).z by BVFUNC_5:37
      .=(a.z 'or' b.z) '&' (b 'or' c).z '&' (c 'or' a).z '&' (('not' a
    'or' 'not' b 'or' 'not' c)).z by BVFUNC_1:def 4
      .=(a.z 'or' b.z) '&' (b.z 'or' c.z) '&' (c 'or' a).z '&' ((
    'not' a 'or' 'not' b 'or' 'not' c)).z by BVFUNC_1:def 4
      .=(a.z 'or' b.z) '&' (b.z 'or' c.z) '&' (c.z 'or' a.z) '&'
    (('not' a 'or' 'not' b 'or' 'not' c)).z by BVFUNC_1:def 4
      .=(a.z 'or' b.z) '&' (b.z 'or' c.z) '&' (c.z 'or' a.z) '&'
    (('not' a 'or' 'not' b).z 'or' ('not' c).z) by BVFUNC_1:def 4
      .=(a.z 'or' b.z) '&' (b.z 'or' c.z) '&' (c.z 'or' a.z) '&'
    (('not' a).z 'or' ('not' b).z 'or' ('not' c).z) by BVFUNC_1:def 4
      .=(a.z 'or' b.z) '&' (b.z 'or' c.z) '&' (c.z 'or' a.z) '&'
    ('not' a.z 'or' ('not' b).z 'or' ('not' c).z) by MARGREL1:def 19
      .=(a.z 'or' b.z) '&' (b.z 'or' c.z) '&' (c.z 'or' a.z) '&'
    ('not' a.z 'or' 'not' b.z 'or' ('not' c).z) by MARGREL1:def 19
      .=(a.z 'or' b.z) '&' (b.z 'or' c.z) '&' (c.z 'or' a.z) '&'
    ('not' a.z 'or' 'not' b.z 'or' 'not' c.z) by MARGREL1:def 19;
    assume
A3: ((a 'or' b) '&' (b 'or' c) '&' (c 'or' a) '&' 'not' (a '&' b '&' c
    )).z=TRUE;
    now
A4:   (a.z '&' b.z '&' 'not' c.z)=TRUE or (a.z '&' b.z '&' 'not'
      c.z)=FALSE by XBOOLEAN:def 3;
      assume
A5:   (('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b
      '&' 'not' c)).z<>TRUE;
A6:   (a.z '&' 'not' b.z '&' c.z)=TRUE or (a.z '&' 'not' b.z '&'
      c.z)=FALSE by XBOOLEAN:def 3;
A7:   (('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
'not' c)).z =(('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c)).z 'or' (a '&' b
      '&' 'not' c).z by BVFUNC_1:def 4
        .=('not' a '&' b '&' c).z 'or' (a '&' 'not' b '&' c).z 'or' (a '&' b
      '&' 'not' c).z by BVFUNC_1:def 4
        .=('not' a '&' b '&' c).z 'or' (a '&' 'not' b '&' c).z 'or' ((a '&'
      b).z '&' ('not' c).z) by MARGREL1:def 20
        .=('not' a '&' b '&' c).z 'or' (a '&' 'not' b '&' c).z 'or' (a.z
      '&' b.z '&' ('not' c).z) by MARGREL1:def 20
        .=('not' a '&' b '&' c).z 'or' ((a '&' 'not' b).z '&' c.z) 'or' ((
      a).z '&' b.z '&' ('not' c).z) by MARGREL1:def 20
        .=('not' a '&' b '&' c).z 'or' (a.z '&' ('not' b).z '&' c.z)
      'or' (a.z '&' b.z '&' ('not' c).z) by MARGREL1:def 20
        .=(('not' a '&' b).z '&' c.z) 'or' (a.z '&' ('not' b).z '&' c.
      z) 'or' (a.z '&' b.z '&' ('not' c).z) by MARGREL1:def 20
        .=(('not' a).z '&' b.z '&' c.z) 'or' (a.z '&' ('not' b).z '&'
      c.z) 'or' (a.z '&' b.z '&' ('not' c).z) by MARGREL1:def 20
        .=('not' a.z '&' b.z '&' c.z) 'or' (a.z '&' ('not' b).z '&'
      c.z) 'or' (a.z '&' b.z '&' ('not' c).z) by MARGREL1:def 19
        .=('not' a.z '&' b.z '&' c.z) 'or' (a.z '&' 'not' b.z '&'
      c.z) 'or' (a.z '&' b.z '&' ('not' c).z) by MARGREL1:def 19
        .=('not' a.z '&' b.z '&' c.z) 'or' (a.z '&' 'not' b.z '&'
      c.z) 'or' (a.z '&' b.z '&' 'not' c.z) by MARGREL1:def 19;
A8:   ('not' a.z '&' b.z '&' c.z) 'or' (a.z '&' 'not' b.z '&' (c
).z)=TRUE or ('not' a.z '&' b.z '&' c.z) 'or' (a.z '&' 'not' b.z '&'
      c.z)=FALSE by XBOOLEAN:def 3;
      now
        per cases by A5,A7,A8,A6,MARGREL1:12;
        case
A9:       'not' a.z '&' b.z=FALSE;
          now
            per cases by A9,MARGREL1:12;
            case
A10:          'not' a.z=FALSE;
              now
                per cases by A5,A7,A6,A10,MARGREL1:12;
                case
                  'not' b.z=FALSE;
                  hence thesis by A3,A2,A7,A10;
                end;
                case
                  c.z=FALSE;
                  hence thesis by A3,A2,A7,A10;
                end;
              end;
              hence thesis;
            end;
            case
A11:          b.z=FALSE;
              now
                per cases by A5,A7,A6,A11,MARGREL1:12;
                case
                  a.z=FALSE;
                  hence thesis by A3,A2,A11;
                end;
                case
                  c.z=FALSE;
                  hence thesis by A3,A2,A11;
                end;
              end;
              hence thesis;
            end;
          end;
          hence thesis;
        end;
        case
A12:      c.z=FALSE;
          now
            per cases by A5,A7,A4,A12,MARGREL1:12;
            case
              a.z=FALSE;
              hence thesis by A3,A2,A12;
            end;
            case
              b.z=FALSE;
              hence thesis by A3,A2,A12;
            end;
          end;
          hence thesis;
        end;
      end;
      hence thesis;
    end;
    hence thesis;
  end;
  then
A13: (a 'or' b) '&' (b 'or' c) '&' (c 'or' a) '&' 'not'( a '&' b '&' c) '<'
('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&' 'not' c);
  ('not' c '&' a '&' b) 'or' (c '&' 'not' a '&' b) 'or' (c '&' a '&'
  'not' b) '<' (c 'or' a) '&' 'not'( c '&' a '&' b) by Lm4;
  then ('not' c '&' a '&' b) 'or' (c '&' 'not' a '&' b) 'or' (c '&' a '&'
  'not' b) '<' (c 'or' a) '&' 'not'( a '&' b '&' c) by BVFUNC_1:4;
  then (a '&' b '&' 'not' c) 'or' (c '&' 'not' a '&' b) 'or' (c '&' a '&'
  'not' b) '<' (c 'or' a) '&' 'not'( a '&' b '&' c) by BVFUNC_1:4;
  then (a '&' b '&' 'not' c) 'or' ('not' a '&' b '&' c) 'or' (c '&' a '&'
  'not' b) '<' (c 'or' a) '&' 'not'( a '&' b '&' c) by BVFUNC_1:4;
  then (a '&' b '&' 'not' c) 'or' ('not' a '&' b '&' c) 'or' (a '&' 'not' b
  '&' c) '<' (c 'or' a) '&' 'not'( a '&' b '&' c) by BVFUNC_1:4;
  then ('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
  'not' c) '<' (c 'or' a) '&' 'not'( a '&' b '&' c) by BVFUNC_1:8;
  then
A14: ('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
  'not' c) 'imp' (c 'or' a) '&' 'not'( a '&' b '&' c) = I_el(Y) by BVFUNC_1:16;
  ('not' b '&' c '&' a) 'or' (b '&' 'not' c '&' a) 'or' (b '&' c '&'
  'not' a) '<' (b 'or' c) '&' 'not'( b '&' c '&' a) by Lm4;
  then ('not' b '&' c '&' a) 'or' (b '&' 'not' c '&' a) 'or' (b '&' c '&'
  'not' a) '<' (b 'or' c) '&' 'not'( a '&' b '&' c) by BVFUNC_1:4;
  then ('not' b '&' c '&' a) 'or' (b '&' 'not' c '&' a) 'or' ('not' a '&' b
  '&' c) '<' (b 'or' c) '&' 'not'( a '&' b '&' c) by BVFUNC_1:4;
  then (a '&' 'not' b '&' c) 'or' (b '&' 'not' c '&' a) 'or' ('not' a '&' b
  '&' c) '<' (b 'or' c) '&' 'not'( a '&' b '&' c) by BVFUNC_1:4;
  then (a '&' 'not' b '&' c) 'or' (a '&' b '&' 'not' c) 'or' ('not' a '&' b
  '&' c) '<' (b 'or' c) '&' 'not'( a '&' b '&' c) by BVFUNC_1:4;
  then ('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
  'not' c) '<' (b 'or' c) '&' 'not'( a '&' b '&' c) by BVFUNC_1:8;
  then
A15: ('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
  'not' c) 'imp' (b 'or' c) '&' 'not'( a '&' b '&' c) = I_el(Y) by BVFUNC_1:16;
  ('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
  'not' c) '<' (a 'or' b) '&' 'not'( a '&' b '&' c) by Lm4;
  then ('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
  'not' c) 'imp' (a 'or' b) '&' 'not'( a '&' b '&' c) = I_el(Y) by BVFUNC_1:16;
  then ('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
'not' c) 'imp' (a 'or' b) '&' 'not'( a '&' b '&' c) '&' ((b 'or' c) '&' 'not'(
  a '&' b '&' c)) = I_el(Y) by A15,th18;
  then ('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
'not' c) 'imp' (a 'or' b) '&' 'not'( a '&' b '&' c) '&' (b 'or' c) '&' 'not'( a
  '&' b '&' c) = I_el(Y) by BVFUNC_1:4;
  then ('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
'not' c) 'imp' (a 'or' b) '&' (b 'or' c) '&' 'not'( a '&' b '&' c) '&' 'not'( a
  '&' b '&' c) = I_el(Y) by BVFUNC_1:4;
  then ('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
'not' c) 'imp' (a 'or' b) '&' (b 'or' c) '&' ('not'( a '&' b '&' c) '&' 'not'(
  a '&' b '&' c)) = I_el(Y) by BVFUNC_1:4;
  then ('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
'not' c) 'imp' (a 'or' b) '&' (b 'or' c) '&' 'not'( a '&' b '&' c) '&' ((c 'or'
  a) '&' 'not'( a '&' b '&' c)) = I_el(Y) by A14,th18;
  then ('not' a '&' b '&' c) 'or' (a '&' 'not' b '&' c) 'or' (a '&' b '&'
'not' c) '<' (a 'or' b) '&' (b 'or' c) '&' (c 'or' a) '&' 'not'( a '&' b '&' c)
  by A1,BVFUNC_1:16;
  hence thesis by A13,BVFUNC_1:15;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b) '&' (b
  'imp' c) '<' (a 'imp' (b '&' c))
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: ((a 'imp' b) '&' (b 'imp' c)).z =(a 'imp' b).z '&' (b 'imp' c).z by
MARGREL1:def 20
    .=('not' a 'or' b).z '&' (b 'imp' c).z by BVFUNC_4:8
    .=('not' a 'or' b).z '&' ('not' b 'or' c).z by BVFUNC_4:8
    .=(('not' a).z 'or' b.z) '&' ('not' b 'or' c).z by BVFUNC_1:def 4
    .=(('not' a).z 'or' b.z) '&' (('not' b).z 'or' c.z) by BVFUNC_1:def 4;
  assume
A2: ((a 'imp' b) '&' (b 'imp' c)).z=TRUE;
  now
A3: (a 'imp' (b '&' c)).z =('not' a 'or' (b '&' c)).z by BVFUNC_4:8
      .=('not' a).z 'or' (b '&' c).z by BVFUNC_1:def 4
      .=('not' a).z 'or' (b.z '&' c.z) by MARGREL1:def 20
      .='not' a.z 'or' (b.z '&' c.z) by MARGREL1:def 19;
    assume
A4: (a 'imp' (b '&' c)).z<>TRUE;
    'not' a.z=TRUE or 'not' a.z=FALSE by XBOOLEAN:def 3;
    then
A5: ('not' a).z=FALSE by A4,A3,MARGREL1:def 19;
A6: (b.z '&' c.z)=TRUE or (b.z '&' c.z)=FALSE by XBOOLEAN:def 3;
    now
      per cases by A4,A3,A6,MARGREL1:12;
      case
        b.z=FALSE;
        hence thesis by A2,A1,A5;
      end;
      case
        c.z=FALSE;
        then (('not' a).z 'or' b.z) '&' (('not' b).z 'or' c.z) =b.z '&'
        'not' b.z by A5,MARGREL1:def 19
          .=FALSE by XBOOLEAN:138;
        hence thesis by A2,A1;
      end;
    end;
    hence thesis;
  end;
  hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b) '&' (b
  'imp' c) '<' ((a 'or' b) 'imp' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: ((a 'imp' b) '&' (b 'imp' c)).z =(a 'imp' b).z '&' (b 'imp' c).z by
MARGREL1:def 20
    .=('not' a 'or' b).z '&' (b 'imp' c).z by BVFUNC_4:8
    .=('not' a 'or' b).z '&' ('not' b 'or' c).z by BVFUNC_4:8
    .=(('not' a).z 'or' b.z) '&' ('not' b 'or' c).z by BVFUNC_1:def 4
    .=(('not' a).z 'or' b.z) '&' (('not' b).z 'or' c.z) by BVFUNC_1:def 4;
  assume
A2: ((a 'imp' b) '&' (b 'imp' c)).z=TRUE;
  now
A3: c.z=TRUE or c.z=FALSE by XBOOLEAN:def 3;
    assume
A4: ((a 'or' b) 'imp' c).z<>TRUE;
A5: ((a 'or' b) 'imp' c).z =('not'( a 'or' b) 'or' c).z by BVFUNC_4:8
      .=(('not' a '&' 'not' b) 'or' c).z by BVFUNC_1:13
      .=('not' a '&' 'not' b).z 'or' c.z by BVFUNC_1:def 4
      .=(('not' a).z '&' ('not' b).z) 'or' c.z by MARGREL1:def 20;
A6: (('not' a).z '&' ('not' b).z)=TRUE or (('not' a).z '&' ('not' b).z)=
    FALSE by XBOOLEAN:def 3;
    now
      per cases by A4,A5,A6,MARGREL1:12;
      case
        ('not' a).z=FALSE;
        then (('not' a).z 'or' b.z) '&' (('not' b).z 'or' c.z) =b.z '&'
        'not' b.z by A4,A5,A3,MARGREL1:def 19
          .=FALSE by XBOOLEAN:138;
        hence thesis by A2,A1;
      end;
      case
        ('not' b).z=FALSE;
        then
        (('not' a).z 'or' b.z) '&' (('not' b).z 'or' c.z) =(('not' a)
        .z 'or' b.z) '&' FALSE by A4,A5,XBOOLEAN:def 3
          .=FALSE;
        hence thesis by A2,A1;
      end;
    end;
    hence thesis;
  end;
  hence thesis;
end;

theorem Th19:
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b)
  '&' (b 'imp' c) '<' (a 'imp' (b 'or' c))
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: ((a 'imp' b) '&' (b 'imp' c)).z =(a 'imp' b).z '&' (b 'imp' c).z by
MARGREL1:def 20
    .=('not' a 'or' b).z '&' (b 'imp' c).z by BVFUNC_4:8
    .=('not' a 'or' b).z '&' ('not' b 'or' c).z by BVFUNC_4:8
    .=(('not' a).z 'or' b.z) '&' ('not' b 'or' c).z by BVFUNC_1:def 4
    .=(('not' a).z 'or' b.z) '&' (('not' b).z 'or' c.z) by BVFUNC_1:def 4;
  assume
A2: ((a 'imp' b) '&' (b 'imp' c)).z=TRUE;
  now
    assume (a 'imp' (b 'or' c)).z<>TRUE;
A3: ('not' a).z=TRUE or ('not' a).z=FALSE by XBOOLEAN:def 3;
A4: (b.z 'or' c.z)=TRUE or (b.z 'or' c.z)=FALSE by XBOOLEAN:def 3;
A5: c.z=TRUE or c.z=FALSE by XBOOLEAN:def 3;
    (a 'imp' (b 'or' c)).z =('not' a 'or' (b 'or' c)).z by BVFUNC_4:8
      .=('not' a).z 'or' (b 'or' c).z by BVFUNC_1:def 4
      .=('not' a).z 'or' (b.z 'or' c.z) by BVFUNC_1:def 4;
    hence thesis by A2,A1,A3,A4,A5;
  end;
  hence thesis;
end;

theorem Th20:
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b)
  '&' (b 'imp' c) '<' (a 'imp' (b 'or' 'not' c))
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: ((a 'imp' b) '&' (b 'imp' c)).z =(a 'imp' b).z '&' (b 'imp' c).z by
MARGREL1:def 20
    .=('not' a 'or' b).z '&' (b 'imp' c).z by BVFUNC_4:8
    .=('not' a 'or' b).z '&' ('not' b 'or' c).z by BVFUNC_4:8
    .=(('not' a).z 'or' b.z) '&' ('not' b 'or' c).z by BVFUNC_1:def 4
    .=(('not' a).z 'or' b.z) '&' (('not' b).z 'or' c.z) by BVFUNC_1:def 4;
  assume
A2: ((a 'imp' b) '&' (b 'imp' c)).z=TRUE;
  now
    assume (a 'imp' (b 'or' 'not' c)).z<>TRUE;
A3: ('not' a).z=TRUE or ('not' a).z=FALSE by XBOOLEAN:def 3;
A4: (b.z 'or' ('not' c).z)=TRUE or (b.z 'or' ('not' c).z)= FALSE by
XBOOLEAN:def 3;
A5: ('not' c).z=TRUE or ('not' c).z=FALSE by XBOOLEAN:def 3;
    (a 'imp' (b 'or' 'not' c)).z =('not' a 'or' (b 'or' 'not' c)).z by
BVFUNC_4:8
      .=('not' a).z 'or' (b 'or' 'not' c).z by BVFUNC_1:def 4
      .=('not' a).z 'or' (b.z 'or' ('not' c).z) by BVFUNC_1:def 4;
    hence thesis by A2,A1,A3,A4,A5;
  end;
  hence thesis;
end;

theorem Th21:
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b)
  '&' (b 'imp' c) '<' (b 'imp' (c 'or' a))
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: ((a 'imp' b) '&' (b 'imp' c)).z =(a 'imp' b).z '&' (b 'imp' c).z by
MARGREL1:def 20
    .=('not' a 'or' b).z '&' (b 'imp' c).z by BVFUNC_4:8
    .=('not' a 'or' b).z '&' ('not' b 'or' c).z by BVFUNC_4:8
    .=(('not' a).z 'or' b.z) '&' ('not' b 'or' c).z by BVFUNC_1:def 4
    .=(('not' a).z 'or' b.z) '&' (('not' b).z 'or' c.z) by BVFUNC_1:def 4;
  assume
A2: ((a 'imp' b) '&' (b 'imp' c)).z=TRUE;
  now
    assume (b 'imp' (c 'or' a)).z<>TRUE;
A3: ('not' b).z=TRUE or ('not' b).z=FALSE by XBOOLEAN:def 3;
A4: (c.z 'or' a.z)=TRUE or (c.z 'or' a.z)=FALSE by XBOOLEAN:def 3;
A5: a.z=TRUE or a.z=FALSE by XBOOLEAN:def 3;
    (b 'imp' (c 'or' a)).z =('not' b 'or' (c 'or' a)).z by BVFUNC_4:8
      .=('not' b).z 'or' (c 'or' a).z by BVFUNC_1:def 4
      .=('not' b).z 'or' (c.z 'or' a.z) by BVFUNC_1:def 4;
    hence thesis by A2,A1,A3,A4,A5;
  end;
  hence thesis;
end;

theorem Th22:
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b)
  '&' (b 'imp' c) '<' (b 'imp' (c 'or' 'not' a))
proof
  let a,b,c be Function of Y,BOOLEAN;
  let z be Element of Y;
A1: ((a 'imp' b) '&' (b 'imp' c)).z =(a 'imp' b).z '&' (b 'imp' c).z by
MARGREL1:def 20
    .=('not' a 'or' b).z '&' (b 'imp' c).z by BVFUNC_4:8
    .=('not' a 'or' b).z '&' ('not' b 'or' c).z by BVFUNC_4:8
    .=(('not' a).z 'or' b.z) '&' ('not' b 'or' c).z by BVFUNC_1:def 4
    .=(('not' a).z 'or' b.z) '&' (('not' b).z 'or' c.z) by BVFUNC_1:def 4;
  assume
A2: ((a 'imp' b) '&' (b 'imp' c)).z=TRUE;
  now
    assume (b 'imp' (c 'or' 'not' a)).z<>TRUE;
A3: ('not' b).z=TRUE or ('not' b).z=FALSE by XBOOLEAN:def 3;
A4: (c.z 'or' ('not' a).z)=TRUE or (c.z 'or' ('not' a).z)= FALSE by
XBOOLEAN:def 3;
A5: ('not' a).z=TRUE or ('not' a).z=FALSE by XBOOLEAN:def 3;
    (b 'imp' (c 'or' 'not' a)).z =('not' b 'or' (c 'or' 'not' a)).z by
BVFUNC_4:8
      .=('not' b).z 'or' (c 'or' 'not' a).z by BVFUNC_1:def 4
      .=('not' b).z 'or' (c.z 'or' ('not' a).z) by BVFUNC_1:def 4;
    hence thesis by A2,A1,A3,A4,A5;
  end;
  hence thesis;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b) '&' (b
  'imp' c) '<' (a 'imp' b) '&' (b 'imp' (c 'or' a))
proof
  let a,b,c be Function of Y,BOOLEAN;
  (a 'imp' b) '&' (b 'imp' c) '<' (b 'imp' (c 'or' a)) by Th21;
  then
A1: (a 'imp' b) '&' (b 'imp' c) 'imp' (b 'imp' (c 'or' a))=I_el(Y) by
BVFUNC_1:16;
  (a 'imp' b) '&' (b 'imp' c) 'imp' (a 'imp' b)=I_el(Y) by Th38;
  then
  (a 'imp' b) '&' (b 'imp' c) 'imp' (a 'imp' b) '&' (b 'imp' (c 'or' a))=
  I_el(Y) by A1,th18;
  hence thesis by BVFUNC_1:16;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b) '&' (b
  'imp' c) '<' (a 'imp' (b 'or' 'not' c)) '&' (b 'imp' c)
proof
  let a,b,c be Function of Y,BOOLEAN;
  (a 'imp' b) '&' (b 'imp' c) '<' (a 'imp' (b 'or' 'not' c)) by Th20;
  then
A1: (a 'imp' b) '&' (b 'imp' c) 'imp' (a 'imp' (b 'or' 'not' c))=I_el(Y) by
BVFUNC_1:16;
  (a 'imp' b) '&' (b 'imp' c) 'imp' (b 'imp' c)=I_el(Y) by Th38;
  then (a 'imp' b) '&' (b 'imp' c) 'imp' (a 'imp' (b 'or' 'not' c)) '&' (b
  'imp' c)=I_el(Y) by A1,th18;
  hence thesis by BVFUNC_1:16;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b) '&' (b
  'imp' c) '<' (a 'imp' (b 'or' c)) '&' (b 'imp' (c 'or' a))
proof
  let a,b,c be Function of Y,BOOLEAN;
  (a 'imp' b) '&' (b 'imp' c) '<' (b 'imp' (c 'or' a)) by Th21;
  then
A1: (a 'imp' b) '&' (b 'imp' c) 'imp' (b 'imp' (c 'or' a))=I_el(Y) by
BVFUNC_1:16;
  (a 'imp' b) '&' (b 'imp' c) '<' (a 'imp' (b 'or' c)) by Th19;
  then (a 'imp' b) '&' (b 'imp' c) 'imp' (a 'imp' (b 'or' c))=I_el(Y) by
BVFUNC_1:16;
  then (a 'imp' b) '&' (b 'imp' c) 'imp' (a 'imp' (b 'or' c)) '&' (b 'imp' (c
  'or' a))=I_el(Y) by A1,th18;
  hence thesis by BVFUNC_1:16;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b) '&' (b
  'imp' c) '<' (a 'imp' (b 'or' 'not' c)) '&' (b 'imp' (c 'or' a))
proof
  let a,b,c be Function of Y,BOOLEAN;
  (a 'imp' b) '&' (b 'imp' c) '<' (b 'imp' (c 'or' a)) by Th21;
  then
A1: (a 'imp' b) '&' (b 'imp' c) 'imp' (b 'imp' (c 'or' a))=I_el(Y) by
BVFUNC_1:16;
  (a 'imp' b) '&' (b 'imp' c) '<' (a 'imp' (b 'or' 'not' c)) by Th20;
  then
  (a 'imp' b) '&' (b 'imp' c) 'imp' (a 'imp' (b 'or' 'not' c))=I_el(Y) by
BVFUNC_1:16;
  then (a 'imp' b) '&' (b 'imp' c) 'imp' (a 'imp' (b 'or' 'not' c)) '&' (b
  'imp' (c 'or' a))=I_el(Y) by A1,th18;
  hence thesis by BVFUNC_1:16;
end;

theorem
  for a,b,c being Function of Y,BOOLEAN holds (a 'imp' b) '&' (b
  'imp' c) '<' (a 'imp' (b 'or' 'not' c)) '&' (b 'imp' (c 'or' 'not' a))
proof
  let a,b,c be Function of Y,BOOLEAN;
  (a 'imp' b) '&' (b 'imp' c) '<' (b 'imp' (c 'or' 'not' a)) by Th22;
  then
A1: (a 'imp' b) '&' (b 'imp' c) 'imp' (b 'imp' (c 'or' 'not' a))=I_el(Y) by
BVFUNC_1:16;
  (a 'imp' b) '&' (b 'imp' c) '<' (a 'imp' (b 'or' 'not' c)) by Th20;
  then
  (a 'imp' b) '&' (b 'imp' c) 'imp' (a 'imp' (b 'or' 'not' c))=I_el(Y) by
BVFUNC_1:16;
  then (a 'imp' b) '&' (b 'imp' c) 'imp' (a 'imp' (b 'or' 'not' c)) '&' (b
  'imp' (c 'or' 'not' a))=I_el(Y) by A1,th18;
  hence thesis by BVFUNC_1:16;
end;