Metamath Proof Explorer


Theorem modfsummods

Description: Induction step for modfsummod . (Contributed by Alexander van der Vekens, 1-Sep-2018)

Ref Expression
Assertion modfsummods
|- ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> ( ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) -> ( sum_ k e. ( A u. { z } ) B mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) ) )

Proof

Step Hyp Ref Expression
1 snssi
 |-  ( z e. A -> { z } C_ A )
2 ssequn1
 |-  ( { z } C_ A <-> ( { z } u. A ) = A )
3 uncom
 |-  ( { z } u. A ) = ( A u. { z } )
4 3 eqeq1i
 |-  ( ( { z } u. A ) = A <-> ( A u. { z } ) = A )
5 sumeq1
 |-  ( A = ( A u. { z } ) -> sum_ k e. A B = sum_ k e. ( A u. { z } ) B )
6 5 oveq1d
 |-  ( A = ( A u. { z } ) -> ( sum_ k e. A B mod N ) = ( sum_ k e. ( A u. { z } ) B mod N ) )
7 sumeq1
 |-  ( A = ( A u. { z } ) -> sum_ k e. A ( B mod N ) = sum_ k e. ( A u. { z } ) ( B mod N ) )
8 7 oveq1d
 |-  ( A = ( A u. { z } ) -> ( sum_ k e. A ( B mod N ) mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) )
9 6 8 eqeq12d
 |-  ( A = ( A u. { z } ) -> ( ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) <-> ( sum_ k e. ( A u. { z } ) B mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) ) )
10 9 eqcoms
 |-  ( ( A u. { z } ) = A -> ( ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) <-> ( sum_ k e. ( A u. { z } ) B mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) ) )
11 4 10 sylbi
 |-  ( ( { z } u. A ) = A -> ( ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) <-> ( sum_ k e. ( A u. { z } ) B mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) ) )
12 11 biimpd
 |-  ( ( { z } u. A ) = A -> ( ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) -> ( sum_ k e. ( A u. { z } ) B mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) ) )
13 12 a1d
 |-  ( ( { z } u. A ) = A -> ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> ( ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) -> ( sum_ k e. ( A u. { z } ) B mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) ) ) )
14 2 13 sylbi
 |-  ( { z } C_ A -> ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> ( ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) -> ( sum_ k e. ( A u. { z } ) B mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) ) ) )
15 1 14 syl
 |-  ( z e. A -> ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> ( ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) -> ( sum_ k e. ( A u. { z } ) B mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) ) ) )
16 df-nel
 |-  ( z e/ A <-> -. z e. A )
17 simp1
 |-  ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> A e. Fin )
18 17 ad2antlr
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> A e. Fin )
19 simpl
 |-  ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) -> z e/ A )
20 19 adantr
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> z e/ A )
21 vex
 |-  z e. _V
22 20 21 jctil
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( z e. _V /\ z e/ A ) )
23 simplr3
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> A. k e. ( A u. { z } ) B e. ZZ )
24 fsumsplitsnun
 |-  ( ( A e. Fin /\ ( z e. _V /\ z e/ A ) /\ A. k e. ( A u. { z } ) B e. ZZ ) -> sum_ k e. ( A u. { z } ) B = ( sum_ k e. A B + [_ z / k ]_ B ) )
25 18 22 23 24 syl3anc
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> sum_ k e. ( A u. { z } ) B = ( sum_ k e. A B + [_ z / k ]_ B ) )
26 25 oveq1d
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( sum_ k e. ( A u. { z } ) B mod N ) = ( ( sum_ k e. A B + [_ z / k ]_ B ) mod N ) )
27 ralunb
 |-  ( A. k e. ( A u. { z } ) B e. ZZ <-> ( A. k e. A B e. ZZ /\ A. k e. { z } B e. ZZ ) )
28 simpl
 |-  ( ( A. k e. A B e. ZZ /\ A. k e. { z } B e. ZZ ) -> A. k e. A B e. ZZ )
29 27 28 sylbi
 |-  ( A. k e. ( A u. { z } ) B e. ZZ -> A. k e. A B e. ZZ )
30 fsumzcl2
 |-  ( ( A e. Fin /\ A. k e. A B e. ZZ ) -> sum_ k e. A B e. ZZ )
31 29 30 sylan2
 |-  ( ( A e. Fin /\ A. k e. ( A u. { z } ) B e. ZZ ) -> sum_ k e. A B e. ZZ )
32 31 3adant2
 |-  ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> sum_ k e. A B e. ZZ )
33 32 adantl
 |-  ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) -> sum_ k e. A B e. ZZ )
34 33 zred
 |-  ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) -> sum_ k e. A B e. RR )
35 modfsummodslem1
 |-  ( A. k e. ( A u. { z } ) B e. ZZ -> [_ z / k ]_ B e. ZZ )
36 35 3ad2ant3
 |-  ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> [_ z / k ]_ B e. ZZ )
37 36 adantl
 |-  ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) -> [_ z / k ]_ B e. ZZ )
38 37 zred
 |-  ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) -> [_ z / k ]_ B e. RR )
39 nnrp
 |-  ( N e. NN -> N e. RR+ )
40 39 3ad2ant2
 |-  ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> N e. RR+ )
41 40 adantl
 |-  ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) -> N e. RR+ )
42 modaddabs
 |-  ( ( sum_ k e. A B e. RR /\ [_ z / k ]_ B e. RR /\ N e. RR+ ) -> ( ( ( sum_ k e. A B mod N ) + ( [_ z / k ]_ B mod N ) ) mod N ) = ( ( sum_ k e. A B + [_ z / k ]_ B ) mod N ) )
43 34 38 41 42 syl3anc
 |-  ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) -> ( ( ( sum_ k e. A B mod N ) + ( [_ z / k ]_ B mod N ) ) mod N ) = ( ( sum_ k e. A B + [_ z / k ]_ B ) mod N ) )
44 43 eqcomd
 |-  ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) -> ( ( sum_ k e. A B + [_ z / k ]_ B ) mod N ) = ( ( ( sum_ k e. A B mod N ) + ( [_ z / k ]_ B mod N ) ) mod N ) )
45 44 adantr
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( ( sum_ k e. A B + [_ z / k ]_ B ) mod N ) = ( ( ( sum_ k e. A B mod N ) + ( [_ z / k ]_ B mod N ) ) mod N ) )
46 simpr
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) )
47 35 zred
 |-  ( A. k e. ( A u. { z } ) B e. ZZ -> [_ z / k ]_ B e. RR )
48 47 3ad2ant3
 |-  ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> [_ z / k ]_ B e. RR )
49 48 adantl
 |-  ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) -> [_ z / k ]_ B e. RR )
50 49 41 jca
 |-  ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) -> ( [_ z / k ]_ B e. RR /\ N e. RR+ ) )
51 50 adantr
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( [_ z / k ]_ B e. RR /\ N e. RR+ ) )
52 modabs2
 |-  ( ( [_ z / k ]_ B e. RR /\ N e. RR+ ) -> ( ( [_ z / k ]_ B mod N ) mod N ) = ( [_ z / k ]_ B mod N ) )
53 52 eqcomd
 |-  ( ( [_ z / k ]_ B e. RR /\ N e. RR+ ) -> ( [_ z / k ]_ B mod N ) = ( ( [_ z / k ]_ B mod N ) mod N ) )
54 51 53 syl
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( [_ z / k ]_ B mod N ) = ( ( [_ z / k ]_ B mod N ) mod N ) )
55 46 54 oveq12d
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( ( sum_ k e. A B mod N ) + ( [_ z / k ]_ B mod N ) ) = ( ( sum_ k e. A ( B mod N ) mod N ) + ( ( [_ z / k ]_ B mod N ) mod N ) ) )
56 55 oveq1d
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( ( ( sum_ k e. A B mod N ) + ( [_ z / k ]_ B mod N ) ) mod N ) = ( ( ( sum_ k e. A ( B mod N ) mod N ) + ( ( [_ z / k ]_ B mod N ) mod N ) ) mod N ) )
57 45 56 eqtrd
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( ( sum_ k e. A B + [_ z / k ]_ B ) mod N ) = ( ( ( sum_ k e. A ( B mod N ) mod N ) + ( ( [_ z / k ]_ B mod N ) mod N ) ) mod N ) )
58 zmodcl
 |-  ( ( B e. ZZ /\ N e. NN ) -> ( B mod N ) e. NN0 )
59 58 nn0zd
 |-  ( ( B e. ZZ /\ N e. NN ) -> ( B mod N ) e. ZZ )
60 59 expcom
 |-  ( N e. NN -> ( B e. ZZ -> ( B mod N ) e. ZZ ) )
61 60 ralimdv
 |-  ( N e. NN -> ( A. k e. A B e. ZZ -> A. k e. A ( B mod N ) e. ZZ ) )
62 61 com12
 |-  ( A. k e. A B e. ZZ -> ( N e. NN -> A. k e. A ( B mod N ) e. ZZ ) )
63 62 adantr
 |-  ( ( A. k e. A B e. ZZ /\ A. k e. { z } B e. ZZ ) -> ( N e. NN -> A. k e. A ( B mod N ) e. ZZ ) )
64 27 63 sylbi
 |-  ( A. k e. ( A u. { z } ) B e. ZZ -> ( N e. NN -> A. k e. A ( B mod N ) e. ZZ ) )
65 64 impcom
 |-  ( ( N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> A. k e. A ( B mod N ) e. ZZ )
66 65 3adant1
 |-  ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> A. k e. A ( B mod N ) e. ZZ )
67 17 66 jca
 |-  ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> ( A e. Fin /\ A. k e. A ( B mod N ) e. ZZ ) )
68 fsumzcl2
 |-  ( ( A e. Fin /\ A. k e. A ( B mod N ) e. ZZ ) -> sum_ k e. A ( B mod N ) e. ZZ )
69 68 zred
 |-  ( ( A e. Fin /\ A. k e. A ( B mod N ) e. ZZ ) -> sum_ k e. A ( B mod N ) e. RR )
70 67 69 syl
 |-  ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> sum_ k e. A ( B mod N ) e. RR )
71 70 ad2antlr
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> sum_ k e. A ( B mod N ) e. RR )
72 35 anim1i
 |-  ( ( A. k e. ( A u. { z } ) B e. ZZ /\ N e. NN ) -> ( [_ z / k ]_ B e. ZZ /\ N e. NN ) )
73 72 ancoms
 |-  ( ( N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> ( [_ z / k ]_ B e. ZZ /\ N e. NN ) )
74 zmodcl
 |-  ( ( [_ z / k ]_ B e. ZZ /\ N e. NN ) -> ( [_ z / k ]_ B mod N ) e. NN0 )
75 73 74 syl
 |-  ( ( N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> ( [_ z / k ]_ B mod N ) e. NN0 )
76 75 nn0red
 |-  ( ( N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> ( [_ z / k ]_ B mod N ) e. RR )
77 76 3adant1
 |-  ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> ( [_ z / k ]_ B mod N ) e. RR )
78 77 ad2antlr
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( [_ z / k ]_ B mod N ) e. RR )
79 40 ad2antlr
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> N e. RR+ )
80 modaddabs
 |-  ( ( sum_ k e. A ( B mod N ) e. RR /\ ( [_ z / k ]_ B mod N ) e. RR /\ N e. RR+ ) -> ( ( ( sum_ k e. A ( B mod N ) mod N ) + ( ( [_ z / k ]_ B mod N ) mod N ) ) mod N ) = ( ( sum_ k e. A ( B mod N ) + ( [_ z / k ]_ B mod N ) ) mod N ) )
81 71 78 79 80 syl3anc
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( ( ( sum_ k e. A ( B mod N ) mod N ) + ( ( [_ z / k ]_ B mod N ) mod N ) ) mod N ) = ( ( sum_ k e. A ( B mod N ) + ( [_ z / k ]_ B mod N ) ) mod N ) )
82 60 ralimdv
 |-  ( N e. NN -> ( A. k e. ( A u. { z } ) B e. ZZ -> A. k e. ( A u. { z } ) ( B mod N ) e. ZZ ) )
83 82 imp
 |-  ( ( N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> A. k e. ( A u. { z } ) ( B mod N ) e. ZZ )
84 83 3adant1
 |-  ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> A. k e. ( A u. { z } ) ( B mod N ) e. ZZ )
85 84 ad2antlr
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> A. k e. ( A u. { z } ) ( B mod N ) e. ZZ )
86 fsumsplitsnun
 |-  ( ( A e. Fin /\ ( z e. _V /\ z e/ A ) /\ A. k e. ( A u. { z } ) ( B mod N ) e. ZZ ) -> sum_ k e. ( A u. { z } ) ( B mod N ) = ( sum_ k e. A ( B mod N ) + [_ z / k ]_ ( B mod N ) ) )
87 18 22 85 86 syl3anc
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> sum_ k e. ( A u. { z } ) ( B mod N ) = ( sum_ k e. A ( B mod N ) + [_ z / k ]_ ( B mod N ) ) )
88 csbov1g
 |-  ( z e. _V -> [_ z / k ]_ ( B mod N ) = ( [_ z / k ]_ B mod N ) )
89 21 88 mp1i
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> [_ z / k ]_ ( B mod N ) = ( [_ z / k ]_ B mod N ) )
90 89 oveq2d
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( sum_ k e. A ( B mod N ) + [_ z / k ]_ ( B mod N ) ) = ( sum_ k e. A ( B mod N ) + ( [_ z / k ]_ B mod N ) ) )
91 87 90 eqtrd
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> sum_ k e. ( A u. { z } ) ( B mod N ) = ( sum_ k e. A ( B mod N ) + ( [_ z / k ]_ B mod N ) ) )
92 91 eqcomd
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( sum_ k e. A ( B mod N ) + ( [_ z / k ]_ B mod N ) ) = sum_ k e. ( A u. { z } ) ( B mod N ) )
93 92 oveq1d
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( ( sum_ k e. A ( B mod N ) + ( [_ z / k ]_ B mod N ) ) mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) )
94 81 93 eqtrd
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( ( ( sum_ k e. A ( B mod N ) mod N ) + ( ( [_ z / k ]_ B mod N ) mod N ) ) mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) )
95 26 57 94 3eqtrd
 |-  ( ( ( z e/ A /\ ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) ) /\ ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) ) -> ( sum_ k e. ( A u. { z } ) B mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) )
96 95 exp31
 |-  ( z e/ A -> ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> ( ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) -> ( sum_ k e. ( A u. { z } ) B mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) ) ) )
97 16 96 sylbir
 |-  ( -. z e. A -> ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> ( ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) -> ( sum_ k e. ( A u. { z } ) B mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) ) ) )
98 15 97 pm2.61i
 |-  ( ( A e. Fin /\ N e. NN /\ A. k e. ( A u. { z } ) B e. ZZ ) -> ( ( sum_ k e. A B mod N ) = ( sum_ k e. A ( B mod N ) mod N ) -> ( sum_ k e. ( A u. { z } ) B mod N ) = ( sum_ k e. ( A u. { z } ) ( B mod N ) mod N ) ) )