Metamath Proof Explorer


Theorem modcyc

Description: The modulo operation is periodic. (Contributed by NM, 10-Nov-2008)

Ref Expression
Assertion modcyc ⊢ A ∈ ℝ ∧ B ∈ ℝ + ∧ N ∈ ℤ → A + N ⁢ B mod B = A mod B

Proof

Step Hyp Ref Expression
1 zre ⊢ N ∈ ℤ → N ∈ ℝ
2 rpre ⊢ B ∈ ℝ + → B ∈ ℝ
3 remulcl ⊢ N ∈ ℝ ∧ B ∈ ℝ → N ⁢ B ∈ ℝ
4 1 2 3 syl2an ⊢ N ∈ ℤ ∧ B ∈ ℝ + → N ⁢ B ∈ ℝ
5 readdcl ⊢ A ∈ ℝ ∧ N ⁢ B ∈ ℝ → A + N ⁢ B ∈ ℝ
6 4 5 sylan2 ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A + N ⁢ B ∈ ℝ
7 6 3impb ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A + N ⁢ B ∈ ℝ
8 simp3 ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → B ∈ ℝ +
9 modval ⊢ A + N ⁢ B ∈ ℝ ∧ B ∈ ℝ + → A + N ⁢ B mod B = A + N ⁢ B - B ⁢ A + N ⁢ B B
10 7 8 9 syl2anc ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A + N ⁢ B mod B = A + N ⁢ B - B ⁢ A + N ⁢ B B
11 recn ⊢ A ∈ ℝ → A ∈ ℂ
12 11 3ad2ant1 ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A ∈ ℂ
13 4 recnd ⊢ N ∈ ℤ ∧ B ∈ ℝ + → N ⁢ B ∈ ℂ
14 13 3adant1 ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → N ⁢ B ∈ ℂ
15 rpcnne0 ⊢ B ∈ ℝ + → B ∈ ℂ ∧ B ≠ 0
16 15 3ad2ant3 ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → B ∈ ℂ ∧ B ≠ 0
17 divdir ⊢ A ∈ ℂ ∧ N ⁢ B ∈ ℂ ∧ B ∈ ℂ ∧ B ≠ 0 → A + N ⁢ B B = A B + N ⁢ B B
18 12 14 16 17 syl3anc ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A + N ⁢ B B = A B + N ⁢ B B
19 zcn ⊢ N ∈ ℤ → N ∈ ℂ
20 divcan4 ⊢ N ∈ ℂ ∧ B ∈ ℂ ∧ B ≠ 0 → N ⁢ B B = N
21 20 3expb ⊢ N ∈ ℂ ∧ B ∈ ℂ ∧ B ≠ 0 → N ⁢ B B = N
22 19 15 21 syl2an ⊢ N ∈ ℤ ∧ B ∈ ℝ + → N ⁢ B B = N
23 22 3adant1 ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → N ⁢ B B = N
24 23 oveq2d ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A B + N ⁢ B B = A B + N
25 18 24 eqtrd ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A + N ⁢ B B = A B + N
26 25 fveq2d ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A + N ⁢ B B = A B + N
27 rerpdivcl ⊢ A ∈ ℝ ∧ B ∈ ℝ + → A B ∈ ℝ
28 27 3adant2 ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A B ∈ ℝ
29 simp2 ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → N ∈ ℤ
30 fladdz ⊢ A B ∈ ℝ ∧ N ∈ ℤ → A B + N = A B + N
31 28 29 30 syl2anc ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A B + N = A B + N
32 26 31 eqtrd ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A + N ⁢ B B = A B + N
33 32 oveq2d ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → B ⁢ A + N ⁢ B B = B ⁢ A B + N
34 rpcn ⊢ B ∈ ℝ + → B ∈ ℂ
35 34 3ad2ant3 ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → B ∈ ℂ
36 reflcl ⊢ A B ∈ ℝ → A B ∈ ℝ
37 36 recnd ⊢ A B ∈ ℝ → A B ∈ ℂ
38 27 37 syl ⊢ A ∈ ℝ ∧ B ∈ ℝ + → A B ∈ ℂ
39 38 3adant2 ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A B ∈ ℂ
40 19 3ad2ant2 ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → N ∈ ℂ
41 35 39 40 adddid ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → B ⁢ A B + N = B ⁢ A B + B ⋅ N
42 mulcom ⊢ N ∈ ℂ ∧ B ∈ ℂ → N ⁢ B = B ⋅ N
43 19 34 42 syl2an ⊢ N ∈ ℤ ∧ B ∈ ℝ + → N ⁢ B = B ⋅ N
44 43 3adant1 ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → N ⁢ B = B ⋅ N
45 44 eqcomd ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → B ⋅ N = N ⁢ B
46 45 oveq2d ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → B ⁢ A B + B ⋅ N = B ⁢ A B + N ⁢ B
47 33 41 46 3eqtrd ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → B ⁢ A + N ⁢ B B = B ⁢ A B + N ⁢ B
48 47 oveq2d ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A + N ⁢ B - B ⁢ A + N ⁢ B B = A + N ⁢ B - B ⁢ A B + N ⁢ B
49 34 adantl ⊢ A ∈ ℝ ∧ B ∈ ℝ + → B ∈ ℂ
50 49 38 mulcld ⊢ A ∈ ℝ ∧ B ∈ ℝ + → B ⁢ A B ∈ ℂ
51 50 3adant2 ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → B ⁢ A B ∈ ℂ
52 12 51 14 pnpcan2d ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A + N ⁢ B - B ⁢ A B + N ⁢ B = A − B ⁢ A B
53 10 48 52 3eqtrd ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A + N ⁢ B mod B = A − B ⁢ A B
54 modval ⊢ A ∈ ℝ ∧ B ∈ ℝ + → A mod B = A − B ⁢ A B
55 54 3adant2 ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A mod B = A − B ⁢ A B
56 53 55 eqtr4d ⊢ A ∈ ℝ ∧ N ∈ ℤ ∧ B ∈ ℝ + → A + N ⁢ B mod B = A mod B
57 56 3com23 ⊢ A ∈ ℝ ∧ B ∈ ℝ + ∧ N ∈ ℤ → A + N ⁢ B mod B = A mod B