Metamath Proof Explorer


Theorem modmulnn

Description: Move a positive integer in and out of a floor in the first argument of a modulo operation. (Contributed by NM, 2-Jan-2009)

Ref Expression
Assertion modmulnn ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A mod N ⋅ M ≤ N ⁢ A mod N ⋅ M

Proof

Step Hyp Ref Expression
1 nnre ⊢ N ∈ ℕ → N ∈ ℝ
2 reflcl ⊢ A ∈ ℝ → A ∈ ℝ
3 remulcl ⊢ N ∈ ℝ ∧ A ∈ ℝ → N ⁢ A ∈ ℝ
4 1 2 3 syl2an ⊢ N ∈ ℕ ∧ A ∈ ℝ → N ⁢ A ∈ ℝ
5 4 3adant3 ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A ∈ ℝ
6 remulcl ⊢ N ∈ ℝ ∧ A ∈ ℝ → N ⁢ A ∈ ℝ
7 1 6 sylan ⊢ N ∈ ℕ ∧ A ∈ ℝ → N ⁢ A ∈ ℝ
8 reflcl ⊢ N ⁢ A ∈ ℝ → N ⁢ A ∈ ℝ
9 7 8 syl ⊢ N ∈ ℕ ∧ A ∈ ℝ → N ⁢ A ∈ ℝ
10 9 3adant3 ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A ∈ ℝ
11 nnmulcl ⊢ N ∈ ℕ ∧ M ∈ ℕ → N ⋅ M ∈ ℕ
12 11 nnred ⊢ N ∈ ℕ ∧ M ∈ ℕ → N ⋅ M ∈ ℝ
13 12 3adant2 ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⋅ M ∈ ℝ
14 nncn ⊢ N ∈ ℕ → N ∈ ℂ
15 nnne0 ⊢ N ∈ ℕ → N ≠ 0
16 14 15 jca ⊢ N ∈ ℕ → N ∈ ℂ ∧ N ≠ 0
17 nncn ⊢ M ∈ ℕ → M ∈ ℂ
18 nnne0 ⊢ M ∈ ℕ → M ≠ 0
19 17 18 jca ⊢ M ∈ ℕ → M ∈ ℂ ∧ M ≠ 0
20 mulne0 ⊢ N ∈ ℂ ∧ N ≠ 0 ∧ M ∈ ℂ ∧ M ≠ 0 → N ⋅ M ≠ 0
21 16 19 20 syl2an ⊢ N ∈ ℕ ∧ M ∈ ℕ → N ⋅ M ≠ 0
22 21 3adant2 ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⋅ M ≠ 0
23 5 13 22 redivcld ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A N ⋅ M ∈ ℝ
24 reflcl ⊢ N ⁢ A N ⋅ M ∈ ℝ → N ⁢ A N ⋅ M ∈ ℝ
25 23 24 syl ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A N ⋅ M ∈ ℝ
26 13 25 remulcld ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⋅ M ⁢ N ⁢ A N ⋅ M ∈ ℝ
27 nnnn0 ⊢ N ∈ ℕ → N ∈ ℕ 0
28 flmulnn0 ⊢ N ∈ ℕ 0 ∧ A ∈ ℝ → N ⁢ A ≤ N ⁢ A
29 27 28 sylan ⊢ N ∈ ℕ ∧ A ∈ ℝ → N ⁢ A ≤ N ⁢ A
30 29 3adant3 ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A ≤ N ⁢ A
31 5 10 26 30 lesub1dd ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A − N ⋅ M ⁢ N ⁢ A N ⋅ M ≤ N ⁢ A − N ⋅ M ⁢ N ⁢ A N ⋅ M
32 11 nnrpd ⊢ N ∈ ℕ ∧ M ∈ ℕ → N ⋅ M ∈ ℝ +
33 modval ⊢ N ⁢ A ∈ ℝ ∧ N ⋅ M ∈ ℝ + → N ⁢ A mod N ⋅ M = N ⁢ A − N ⋅ M ⁢ N ⁢ A N ⋅ M
34 5 32 33 3imp3i2an ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A mod N ⋅ M = N ⁢ A − N ⋅ M ⁢ N ⁢ A N ⋅ M
35 modval ⊢ N ⁢ A ∈ ℝ ∧ N ⋅ M ∈ ℝ + → N ⁢ A mod N ⋅ M = N ⁢ A − N ⋅ M ⁢ N ⁢ A N ⋅ M
36 10 32 35 3imp3i2an ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A mod N ⋅ M = N ⁢ A − N ⋅ M ⁢ N ⁢ A N ⋅ M
37 7 3adant3 ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A ∈ ℝ
38 fldiv ⊢ N ⁢ A ∈ ℝ ∧ N ⋅ M ∈ ℕ → N ⁢ A N ⋅ M = N ⁢ A N ⋅ M
39 37 11 38 3imp3i2an ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A N ⋅ M = N ⁢ A N ⋅ M
40 fldiv ⊢ A ∈ ℝ ∧ M ∈ ℕ → A M = A M
41 40 3adant3 ⊢ A ∈ ℝ ∧ M ∈ ℕ ∧ N ∈ ℕ → A M = A M
42 2 recnd ⊢ A ∈ ℝ → A ∈ ℂ
43 divcan5 ⊢ A ∈ ℂ ∧ M ∈ ℂ ∧ M ≠ 0 ∧ N ∈ ℂ ∧ N ≠ 0 → N ⁢ A N ⋅ M = A M
44 42 19 16 43 syl3an ⊢ A ∈ ℝ ∧ M ∈ ℕ ∧ N ∈ ℕ → N ⁢ A N ⋅ M = A M
45 44 fveq2d ⊢ A ∈ ℝ ∧ M ∈ ℕ ∧ N ∈ ℕ → N ⁢ A N ⋅ M = A M
46 recn ⊢ A ∈ ℝ → A ∈ ℂ
47 divcan5 ⊢ A ∈ ℂ ∧ M ∈ ℂ ∧ M ≠ 0 ∧ N ∈ ℂ ∧ N ≠ 0 → N ⁢ A N ⋅ M = A M
48 46 19 16 47 syl3an ⊢ A ∈ ℝ ∧ M ∈ ℕ ∧ N ∈ ℕ → N ⁢ A N ⋅ M = A M
49 48 fveq2d ⊢ A ∈ ℝ ∧ M ∈ ℕ ∧ N ∈ ℕ → N ⁢ A N ⋅ M = A M
50 41 45 49 3eqtr4rd ⊢ A ∈ ℝ ∧ M ∈ ℕ ∧ N ∈ ℕ → N ⁢ A N ⋅ M = N ⁢ A N ⋅ M
51 50 3comr ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A N ⋅ M = N ⁢ A N ⋅ M
52 39 51 eqtrd ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A N ⋅ M = N ⁢ A N ⋅ M
53 52 oveq2d ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⋅ M ⁢ N ⁢ A N ⋅ M = N ⋅ M ⁢ N ⁢ A N ⋅ M
54 53 oveq2d ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A − N ⋅ M ⁢ N ⁢ A N ⋅ M = N ⁢ A − N ⋅ M ⁢ N ⁢ A N ⋅ M
55 36 54 eqtrd ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A mod N ⋅ M = N ⁢ A − N ⋅ M ⁢ N ⁢ A N ⋅ M
56 31 34 55 3brtr4d ⊢ N ∈ ℕ ∧ A ∈ ℝ ∧ M ∈ ℕ → N ⁢ A mod N ⋅ M ≤ N ⁢ A mod N ⋅ M