let d, e be XFinSequence of NAT ; for n being Nat st dom d = dom e & ( for i being Nat st i in dom d holds
e . i = (d . i) mod n ) holds
(Sum d) mod n = (Sum e) mod n
let n be Nat; ( dom d = dom e & ( for i being Nat st i in dom d holds
e . i = (d . i) mod n ) implies (Sum d) mod n = (Sum e) mod n )
assume A1:
( dom d = dom e & ( for i being Nat st i in dom d holds
e . i = (d . i) mod n ) )
; (Sum d) mod n = (Sum e) mod n
defpred S1[ XFinSequence of NAT ] means for e being XFinSequence of NAT st dom $1 = dom e & ( for i being Nat st i in dom $1 holds
e . i = ($1 . i) mod n ) holds
(Sum $1) mod n = (Sum e) mod n;
A2:
for p being XFinSequence of NAT
for l being Element of NAT st S1[p] holds
S1[p ^ <%l%>]
proof
let p be
XFinSequence of
NAT ;
for l being Element of NAT st S1[p] holds
S1[p ^ <%l%>]let l be
Element of
NAT ;
( S1[p] implies S1[p ^ <%l%>] )
assume A3:
S1[
p]
;
S1[p ^ <%l%>]
thus
S1[
p ^ <%l%>]
verumproof
reconsider dop =
dom p as
Element of
NAT by ORDINAL1:def 13;
defpred S2[
set ,
set ]
means $2
= (p . $1) mod n;
let e be
XFinSequence of
NAT ;
( dom (p ^ <%l%>) = dom e & ( for i being Nat st i in dom (p ^ <%l%>) holds
e . i = ((p ^ <%l%>) . i) mod n ) implies (Sum (p ^ <%l%>)) mod n = (Sum e) mod n )
assume that A4:
dom (p ^ <%l%>) = dom e
and A5:
for
i being
Nat st
i in dom (p ^ <%l%>) holds
e . i = ((p ^ <%l%>) . i) mod n
;
(Sum (p ^ <%l%>)) mod n = (Sum e) mod n
A6:
for
k being
Element of
NAT st
k in dop holds
ex
x being
Element of
NAT st
S2[
k,
x]
;
consider p' being
XFinSequence of
NAT such that A7:
(
dom p' = dop & ( for
k being
Element of
NAT st
k in dop holds
S2[
k,
p' . k] ) )
from STIRL2_1:sch 6(A6);
dom e =
(len p) + (len <%l%>)
by A4, AFINSQ_1:def 4
.=
(dom p) + 1
by AFINSQ_1:36
.=
(len p') + (len <%(l mod n)%>)
by A7, AFINSQ_1:36
;
then A13:
e = p' ^ <%(l mod n)%>
by A8, A10, AFINSQ_1:def 4;
A14:
for
i being
Nat st
i in dom p holds
p' . i = (p . i) mod n
by A7;
thus (Sum (p ^ <%l%>)) mod n =
((Sum p) + (Sum <%l%>)) mod n
by Th1
.=
((Sum p) + l) mod n
by STIRL2_1:44
.=
(((Sum p) mod n) + l) mod n
by NAT_D:22
.=
(((Sum p) mod n) + (l mod n)) mod n
by NAT_D:22
.=
(((Sum p') mod n) + (l mod n)) mod n
by A3, A7, A14
.=
((Sum p') + (l mod n)) mod n
by NAT_D:22
.=
((Sum p') + (Sum <%(l mod n)%>)) mod n
by STIRL2_1:44
.=
(Sum e) mod n
by A13, Th1
;
verum
end;
end;
A15:
S1[ <%> NAT ]
for p being XFinSequence of NAT holds S1[p]
from STIRL2_1:sch 5(A15, A2);
hence
(Sum d) mod n = (Sum e) mod n
by A1; verum