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

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;
