let n be Element of NAT ; for p being Tuple of n, BOOLEAN holds ('not' (n -BinarySequence 0)) '&' p = p
let p be Tuple of n, BOOLEAN ; ('not' (n -BinarySequence 0)) '&' p = p
set B = n -BinarySequence 0;
set nB = 'not' (n -BinarySequence 0);
now let x be
set ;
( dom (('not' (n -BinarySequence 0)) '&' p) = dom p & ( for x being set st x in dom (('not' (n -BinarySequence 0)) '&' p) holds
(('not' (n -BinarySequence 0)) '&' p) . x = p . x ) )A1:
dom (n -BinarySequence 0) = Seg n
by Lm1;
A2:
dom (('not' (n -BinarySequence 0)) '&' p) = Seg n
by Lm1;
hence A3:
dom (('not' (n -BinarySequence 0)) '&' p) = dom p
by Lm1;
for x being set st x in dom (('not' (n -BinarySequence 0)) '&' p) holds
(('not' (n -BinarySequence 0)) '&' p) . x = p . xlet x be
set ;
( x in dom (('not' (n -BinarySequence 0)) '&' p) implies (('not' (n -BinarySequence 0)) '&' p) . x = p . x )assume A4:
x in dom (('not' (n -BinarySequence 0)) '&' p)
;
(('not' (n -BinarySequence 0)) '&' p) . x = p . xthen reconsider k =
x as
Element of
NAT ;
n -BinarySequence 0 =
0* n
by BINARI_3:25
.=
n |-> 0
by EUCLID:def 4
;
then
(n -BinarySequence 0) . x = 0
by A2, A4, FUNCOP_1:7;
then A5:
(n -BinarySequence 0) /. x = FALSE
by A2, A4, A1, PARTFUN1:def 6;
('not' (n -BinarySequence 0)) /. x =
'not' ((n -BinarySequence 0) /. k)
by A2, A4, BINARITH:def 1
.=
TRUE
by A5
;
hence (('not' (n -BinarySequence 0)) '&' p) . x =
TRUE '&' (p /. x)
by A2, A4, Def5
.=
p . x
by A3, A4, PARTFUN1:def 6
;
verum end;
hence
('not' (n -BinarySequence 0)) '&' p = p
by FUNCT_1:2; verum