Proof of Theorem modqmuladd
| Step | Hyp | Ref
| Expression |
| 1 | | modqmuladd.a |
. . . . . . 7
⊢ (𝜑 → 𝐴 ∈ ℤ) |
| 2 | | zq 9700 |
. . . . . . 7
⊢ (𝐴 ∈ ℤ → 𝐴 ∈
ℚ) |
| 3 | 1, 2 | syl 14 |
. . . . . 6
⊢ (𝜑 → 𝐴 ∈ ℚ) |
| 4 | | modqmuladd.m |
. . . . . 6
⊢ (𝜑 → 𝑀 ∈ ℚ) |
| 5 | | modqmuladd.mgt0 |
. . . . . . 7
⊢ (𝜑 → 0 < 𝑀) |
| 6 | 5 | gt0ne0d 8539 |
. . . . . 6
⊢ (𝜑 → 𝑀 ≠ 0) |
| 7 | | qdivcl 9717 |
. . . . . 6
⊢ ((𝐴 ∈ ℚ ∧ 𝑀 ∈ ℚ ∧ 𝑀 ≠ 0) → (𝐴 / 𝑀) ∈ ℚ) |
| 8 | 3, 4, 6, 7 | syl3anc 1249 |
. . . . 5
⊢ (𝜑 → (𝐴 / 𝑀) ∈ ℚ) |
| 9 | 8 | flqcld 10367 |
. . . 4
⊢ (𝜑 → (⌊‘(𝐴 / 𝑀)) ∈ ℤ) |
| 10 | | oveq1 5929 |
. . . . . . 7
⊢ (𝑘 = (⌊‘(𝐴 / 𝑀)) → (𝑘 · 𝑀) = ((⌊‘(𝐴 / 𝑀)) · 𝑀)) |
| 11 | 10 | oveq1d 5937 |
. . . . . 6
⊢ (𝑘 = (⌊‘(𝐴 / 𝑀)) → ((𝑘 · 𝑀) + (𝐴 mod 𝑀)) = (((⌊‘(𝐴 / 𝑀)) · 𝑀) + (𝐴 mod 𝑀))) |
| 12 | 11 | eqeq2d 2208 |
. . . . 5
⊢ (𝑘 = (⌊‘(𝐴 / 𝑀)) → (𝐴 = ((𝑘 · 𝑀) + (𝐴 mod 𝑀)) ↔ 𝐴 = (((⌊‘(𝐴 / 𝑀)) · 𝑀) + (𝐴 mod 𝑀)))) |
| 13 | 12 | adantl 277 |
. . . 4
⊢ ((𝜑 ∧ 𝑘 = (⌊‘(𝐴 / 𝑀))) → (𝐴 = ((𝑘 · 𝑀) + (𝐴 mod 𝑀)) ↔ 𝐴 = (((⌊‘(𝐴 / 𝑀)) · 𝑀) + (𝐴 mod 𝑀)))) |
| 14 | | flqpmodeq 10419 |
. . . . . 6
⊢ ((𝐴 ∈ ℚ ∧ 𝑀 ∈ ℚ ∧ 0 <
𝑀) →
(((⌊‘(𝐴 / 𝑀)) · 𝑀) + (𝐴 mod 𝑀)) = 𝐴) |
| 15 | 3, 4, 5, 14 | syl3anc 1249 |
. . . . 5
⊢ (𝜑 → (((⌊‘(𝐴 / 𝑀)) · 𝑀) + (𝐴 mod 𝑀)) = 𝐴) |
| 16 | 15 | eqcomd 2202 |
. . . 4
⊢ (𝜑 → 𝐴 = (((⌊‘(𝐴 / 𝑀)) · 𝑀) + (𝐴 mod 𝑀))) |
| 17 | 9, 13, 16 | rspcedvd 2874 |
. . 3
⊢ (𝜑 → ∃𝑘 ∈ ℤ 𝐴 = ((𝑘 · 𝑀) + (𝐴 mod 𝑀))) |
| 18 | | oveq2 5930 |
. . . . . 6
⊢ (𝐵 = (𝐴 mod 𝑀) → ((𝑘 · 𝑀) + 𝐵) = ((𝑘 · 𝑀) + (𝐴 mod 𝑀))) |
| 19 | 18 | eqeq2d 2208 |
. . . . 5
⊢ (𝐵 = (𝐴 mod 𝑀) → (𝐴 = ((𝑘 · 𝑀) + 𝐵) ↔ 𝐴 = ((𝑘 · 𝑀) + (𝐴 mod 𝑀)))) |
| 20 | 19 | eqcoms 2199 |
. . . 4
⊢ ((𝐴 mod 𝑀) = 𝐵 → (𝐴 = ((𝑘 · 𝑀) + 𝐵) ↔ 𝐴 = ((𝑘 · 𝑀) + (𝐴 mod 𝑀)))) |
| 21 | 20 | rexbidv 2498 |
. . 3
⊢ ((𝐴 mod 𝑀) = 𝐵 → (∃𝑘 ∈ ℤ 𝐴 = ((𝑘 · 𝑀) + 𝐵) ↔ ∃𝑘 ∈ ℤ 𝐴 = ((𝑘 · 𝑀) + (𝐴 mod 𝑀)))) |
| 22 | 17, 21 | syl5ibrcom 157 |
. 2
⊢ (𝜑 → ((𝐴 mod 𝑀) = 𝐵 → ∃𝑘 ∈ ℤ 𝐴 = ((𝑘 · 𝑀) + 𝐵))) |
| 23 | | oveq1 5929 |
. . . . . 6
⊢ (𝐴 = ((𝑘 · 𝑀) + 𝐵) → (𝐴 mod 𝑀) = (((𝑘 · 𝑀) + 𝐵) mod 𝑀)) |
| 24 | 23 | adantl 277 |
. . . . 5
⊢ (((𝜑 ∧ 𝑘 ∈ ℤ) ∧ 𝐴 = ((𝑘 · 𝑀) + 𝐵)) → (𝐴 mod 𝑀) = (((𝑘 · 𝑀) + 𝐵) mod 𝑀)) |
| 25 | | simplr 528 |
. . . . . 6
⊢ (((𝜑 ∧ 𝑘 ∈ ℤ) ∧ 𝐴 = ((𝑘 · 𝑀) + 𝐵)) → 𝑘 ∈ ℤ) |
| 26 | 4 | ad2antrr 488 |
. . . . . 6
⊢ (((𝜑 ∧ 𝑘 ∈ ℤ) ∧ 𝐴 = ((𝑘 · 𝑀) + 𝐵)) → 𝑀 ∈ ℚ) |
| 27 | | modqmuladd.bq |
. . . . . . 7
⊢ (𝜑 → 𝐵 ∈ ℚ) |
| 28 | 27 | ad2antrr 488 |
. . . . . 6
⊢ (((𝜑 ∧ 𝑘 ∈ ℤ) ∧ 𝐴 = ((𝑘 · 𝑀) + 𝐵)) → 𝐵 ∈ ℚ) |
| 29 | | modqmuladd.b |
. . . . . . 7
⊢ (𝜑 → 𝐵 ∈ (0[,)𝑀)) |
| 30 | 29 | ad2antrr 488 |
. . . . . 6
⊢ (((𝜑 ∧ 𝑘 ∈ ℤ) ∧ 𝐴 = ((𝑘 · 𝑀) + 𝐵)) → 𝐵 ∈ (0[,)𝑀)) |
| 31 | | mulqaddmodid 10456 |
. . . . . 6
⊢ (((𝑘 ∈ ℤ ∧ 𝑀 ∈ ℚ) ∧ (𝐵 ∈ ℚ ∧ 𝐵 ∈ (0[,)𝑀))) → (((𝑘 · 𝑀) + 𝐵) mod 𝑀) = 𝐵) |
| 32 | 25, 26, 28, 30, 31 | syl22anc 1250 |
. . . . 5
⊢ (((𝜑 ∧ 𝑘 ∈ ℤ) ∧ 𝐴 = ((𝑘 · 𝑀) + 𝐵)) → (((𝑘 · 𝑀) + 𝐵) mod 𝑀) = 𝐵) |
| 33 | 24, 32 | eqtrd 2229 |
. . . 4
⊢ (((𝜑 ∧ 𝑘 ∈ ℤ) ∧ 𝐴 = ((𝑘 · 𝑀) + 𝐵)) → (𝐴 mod 𝑀) = 𝐵) |
| 34 | 33 | ex 115 |
. . 3
⊢ ((𝜑 ∧ 𝑘 ∈ ℤ) → (𝐴 = ((𝑘 · 𝑀) + 𝐵) → (𝐴 mod 𝑀) = 𝐵)) |
| 35 | 34 | rexlimdva 2614 |
. 2
⊢ (𝜑 → (∃𝑘 ∈ ℤ 𝐴 = ((𝑘 · 𝑀) + 𝐵) → (𝐴 mod 𝑀) = 𝐵)) |
| 36 | 22, 35 | impbid 129 |
1
⊢ (𝜑 → ((𝐴 mod 𝑀) = 𝐵 ↔ ∃𝑘 ∈ ℤ 𝐴 = ((𝑘 · 𝑀) + 𝐵))) |