reserve i,n for Nat;
reserve m for non zero Nat;
reserve p,q for Tuple of n, BOOLEAN;
reserve d,d1,d2 for Element of BOOLEAN;

theorem Th9:
  for z being Tuple of m, BOOLEAN for d being Element of BOOLEAN holds
  'not' (z^<* d *>) = 'not' z^<* 'not' d *>
proof
  let z be Tuple of m,BOOLEAN;
  let d;
  A1: len('not' (z^<*d*>))= m+1 & len('not' z^<*'not' d*>) = m+1 by
CARD_1:def 7;
 for i st i in Seg (m+1) holds
  ('not' (z^<*d*>))/.i = ('not' z^<*'not' d*>)/.i
  proof
    let i such that
A2: i in Seg (m+1);
    per cases by A2,FINSEQ_2:7;
    suppose
A3:   i in Seg m;
A4:   ('not' (z^<*d*>))/.i = 'not' ((z^<*d*>)/.i) by A2,BINARITH:def 1
        .= 'not' (z/.i) by A3,BINARITH:1;
   ('not' z^<*'not' d*>)/.i = ('not' z)/.i by A3,BINARITH:1
        .= 'not' (z/.i) by A3,BINARITH:def 1;
      hence thesis by A4;
    end;
    suppose
A5:   i = m + 1;
   ('not' (z^<*d*>))/.i = 'not' ((z^<*d*>)/.i) by A2,BINARITH:def 1
        .= 'not' d by A5,BINARITH:2;
      hence thesis by A5,BINARITH:2;
    end;
  end;
  hence thesis by A1,Lm1;
end;
