let m, n be non zero Element of NAT ; for L being the carrier of (n -BinaryVectSp) -valued FinSequence
for Suml being Element of n -tuples_on BOOLEAN
for j being Nat st len L = m & m <= n & Suml = Sum L & j in Seg n holds
ex x being FinSequence of Z_2 st
( len x = m & Suml . j = Sum x & ( for i being Nat st i in Seg m holds
ex K being Element of n -tuples_on BOOLEAN st
( K = L . i & x . i = K . j ) ) )
let L be the carrier of (n -BinaryVectSp) -valued FinSequence; for Suml being Element of n -tuples_on BOOLEAN
for j being Nat st len L = m & m <= n & Suml = Sum L & j in Seg n holds
ex x being FinSequence of Z_2 st
( len x = m & Suml . j = Sum x & ( for i being Nat st i in Seg m holds
ex K being Element of n -tuples_on BOOLEAN st
( K = L . i & x . i = K . j ) ) )
let Suml be Element of n -tuples_on BOOLEAN; for j being Nat st len L = m & m <= n & Suml = Sum L & j in Seg n holds
ex x being FinSequence of Z_2 st
( len x = m & Suml . j = Sum x & ( for i being Nat st i in Seg m holds
ex K being Element of n -tuples_on BOOLEAN st
( K = L . i & x . i = K . j ) ) )
let j be Nat; ( len L = m & m <= n & Suml = Sum L & j in Seg n implies ex x being FinSequence of Z_2 st
( len x = m & Suml . j = Sum x & ( for i being Nat st i in Seg m holds
ex K being Element of n -tuples_on BOOLEAN st
( K = L . i & x . i = K . j ) ) ) )
assume A1:
( len L = m & m <= n & Suml = Sum L & j in Seg n )
; ex x being FinSequence of Z_2 st
( len x = m & Suml . j = Sum x & ( for i being Nat st i in Seg m holds
ex K being Element of n -tuples_on BOOLEAN st
( K = L . i & x . i = K . j ) ) )
then consider x being FinSequence of Z_2 such that
A2:
( len x = m & ( for i being Nat st i in Seg m holds
ex K being Element of n -tuples_on BOOLEAN st
( K = L . i & x . i = K . j ) ) )
by Th6;
consider f being Function of NAT,(n -BinaryVectSp) such that
A3:
( Sum L = f . (len L) & f . 0 = 0. (n -BinaryVectSp) & ( for j being Nat
for v being Element of (n -BinaryVectSp) st j < len L & v = L . (j + 1) holds
f . (j + 1) = (f . j) + v ) )
by RLVECT_1:def 12;
defpred S1[ Nat, set ] means ex K being Element of n -tuples_on BOOLEAN st
( K = f . $1 & $2 = K . j );
A4:
for i being Element of NAT ex y being Element of the carrier of Z_2 st S1[i,y]
consider g being Function of NAT,Z_2 such that
A5:
for i being Element of NAT holds S1[i,g . i]
from FUNCT_2:sch 3(A4);
set Sumlj = Suml . j;
A6:
Suml . j = g . (len x)
A7:
g . 0 = 0. Z_2
A8:
for k being Nat
for vj being Element of Z_2 st k < len x & vj = x . (k + 1) holds
g . (k + 1) = (g . k) + vj
proof
let k be
Nat;
for vj being Element of Z_2 st k < len x & vj = x . (k + 1) holds
g . (k + 1) = (g . k) + vjlet vj be
Element of
Z_2;
( k < len x & vj = x . (k + 1) implies g . (k + 1) = (g . k) + vj )
assume A9:
(
k < len x &
vj = x . (k + 1) )
;
g . (k + 1) = (g . k) + vj
then
( 1
<= k + 1 &
k + 1
<= len x )
by NAT_1:11, NAT_1:13;
then
k + 1
in Seg m
by A2;
then consider LVn being
Element of
n -tuples_on BOOLEAN such that A10:
(
LVn = L . (k + 1) &
x . (k + 1) = LVn . j )
by A2;
reconsider Vn =
LVn as
Element of
(n -BinaryVectSp) ;
consider K1 being
Element of
n -tuples_on BOOLEAN such that A11:
(
K1 = f . (k + 1) &
g . (k + 1) = K1 . j )
by A5;
reconsider VK1 =
K1 as
Element of
(n -BinaryVectSp) ;
for
i being
Nat holds
S1[
i,
g . i]
then consider K0 being
Element of
n -tuples_on BOOLEAN such that A12:
(
K0 = f . k &
g . k = K0 . j )
;
reconsider VK0 =
K0 as
Element of
(n -BinaryVectSp) ;
VK0 + Vn = Op-XOR (
K0,
LVn)
by Def1;
hence
g . (k + 1) = (g . k) + vj
by A11, A3, A9, A10, A1, A2, A12, DESCIP_1:def 4;
verum
end;
Suml . j = Sum x
by A6, A7, A8, RLVECT_1:def 12;
hence
ex x being FinSequence of Z_2 st
( len x = m & Suml . j = Sum x & ( for i being Nat st i in Seg m holds
ex K being Element of n -tuples_on BOOLEAN st
( K = L . i & x . i = K . j ) ) )
by A2; verum