Proof of Theorem modqmul1
| Step | Hyp | Ref
| Expression |
| 1 | | modqmul1.ab |
. 2
⊢ (𝜑 → (𝐴 mod 𝐷) = (𝐵 mod 𝐷)) |
| 2 | | modqmul1.a |
. . . . . . 7
⊢ (𝜑 → 𝐴 ∈ ℚ) |
| 3 | | modqmul1.d |
. . . . . . 7
⊢ (𝜑 → 𝐷 ∈ ℚ) |
| 4 | | modqmul1.dgt0 |
. . . . . . 7
⊢ (𝜑 → 0 < 𝐷) |
| 5 | | modqval 10416 |
. . . . . . 7
⊢ ((𝐴 ∈ ℚ ∧ 𝐷 ∈ ℚ ∧ 0 <
𝐷) → (𝐴 mod 𝐷) = (𝐴 − (𝐷 · (⌊‘(𝐴 / 𝐷))))) |
| 6 | 2, 3, 4, 5 | syl3anc 1249 |
. . . . . 6
⊢ (𝜑 → (𝐴 mod 𝐷) = (𝐴 − (𝐷 · (⌊‘(𝐴 / 𝐷))))) |
| 7 | | modqmul1.b |
. . . . . . 7
⊢ (𝜑 → 𝐵 ∈ ℚ) |
| 8 | | modqval 10416 |
. . . . . . 7
⊢ ((𝐵 ∈ ℚ ∧ 𝐷 ∈ ℚ ∧ 0 <
𝐷) → (𝐵 mod 𝐷) = (𝐵 − (𝐷 · (⌊‘(𝐵 / 𝐷))))) |
| 9 | 7, 3, 4, 8 | syl3anc 1249 |
. . . . . 6
⊢ (𝜑 → (𝐵 mod 𝐷) = (𝐵 − (𝐷 · (⌊‘(𝐵 / 𝐷))))) |
| 10 | 6, 9 | eqeq12d 2211 |
. . . . 5
⊢ (𝜑 → ((𝐴 mod 𝐷) = (𝐵 mod 𝐷) ↔ (𝐴 − (𝐷 · (⌊‘(𝐴 / 𝐷)))) = (𝐵 − (𝐷 · (⌊‘(𝐵 / 𝐷)))))) |
| 11 | | oveq1 5929 |
. . . . 5
⊢ ((𝐴 − (𝐷 · (⌊‘(𝐴 / 𝐷)))) = (𝐵 − (𝐷 · (⌊‘(𝐵 / 𝐷)))) → ((𝐴 − (𝐷 · (⌊‘(𝐴 / 𝐷)))) · 𝐶) = ((𝐵 − (𝐷 · (⌊‘(𝐵 / 𝐷)))) · 𝐶)) |
| 12 | 10, 11 | biimtrdi 163 |
. . . 4
⊢ (𝜑 → ((𝐴 mod 𝐷) = (𝐵 mod 𝐷) → ((𝐴 − (𝐷 · (⌊‘(𝐴 / 𝐷)))) · 𝐶) = ((𝐵 − (𝐷 · (⌊‘(𝐵 / 𝐷)))) · 𝐶))) |
| 13 | | qcn 9708 |
. . . . . . . . . 10
⊢ (𝐷 ∈ ℚ → 𝐷 ∈
ℂ) |
| 14 | 3, 13 | syl 14 |
. . . . . . . . 9
⊢ (𝜑 → 𝐷 ∈ ℂ) |
| 15 | | modqmul1.c |
. . . . . . . . . 10
⊢ (𝜑 → 𝐶 ∈ ℤ) |
| 16 | 15 | zcnd 9449 |
. . . . . . . . 9
⊢ (𝜑 → 𝐶 ∈ ℂ) |
| 17 | 4 | gt0ne0d 8539 |
. . . . . . . . . . . 12
⊢ (𝜑 → 𝐷 ≠ 0) |
| 18 | | qdivcl 9717 |
. . . . . . . . . . . 12
⊢ ((𝐴 ∈ ℚ ∧ 𝐷 ∈ ℚ ∧ 𝐷 ≠ 0) → (𝐴 / 𝐷) ∈ ℚ) |
| 19 | 2, 3, 17, 18 | syl3anc 1249 |
. . . . . . . . . . 11
⊢ (𝜑 → (𝐴 / 𝐷) ∈ ℚ) |
| 20 | 19 | flqcld 10367 |
. . . . . . . . . 10
⊢ (𝜑 → (⌊‘(𝐴 / 𝐷)) ∈ ℤ) |
| 21 | 20 | zcnd 9449 |
. . . . . . . . 9
⊢ (𝜑 → (⌊‘(𝐴 / 𝐷)) ∈ ℂ) |
| 22 | 14, 16, 21 | mulassd 8050 |
. . . . . . . 8
⊢ (𝜑 → ((𝐷 · 𝐶) · (⌊‘(𝐴 / 𝐷))) = (𝐷 · (𝐶 · (⌊‘(𝐴 / 𝐷))))) |
| 23 | 14, 16, 21 | mul32d 8179 |
. . . . . . . 8
⊢ (𝜑 → ((𝐷 · 𝐶) · (⌊‘(𝐴 / 𝐷))) = ((𝐷 · (⌊‘(𝐴 / 𝐷))) · 𝐶)) |
| 24 | 22, 23 | eqtr3d 2231 |
. . . . . . 7
⊢ (𝜑 → (𝐷 · (𝐶 · (⌊‘(𝐴 / 𝐷)))) = ((𝐷 · (⌊‘(𝐴 / 𝐷))) · 𝐶)) |
| 25 | 24 | oveq2d 5938 |
. . . . . 6
⊢ (𝜑 → ((𝐴 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐴 / 𝐷))))) = ((𝐴 · 𝐶) − ((𝐷 · (⌊‘(𝐴 / 𝐷))) · 𝐶))) |
| 26 | | qcn 9708 |
. . . . . . . 8
⊢ (𝐴 ∈ ℚ → 𝐴 ∈
ℂ) |
| 27 | 2, 26 | syl 14 |
. . . . . . 7
⊢ (𝜑 → 𝐴 ∈ ℂ) |
| 28 | 14, 21 | mulcld 8047 |
. . . . . . 7
⊢ (𝜑 → (𝐷 · (⌊‘(𝐴 / 𝐷))) ∈ ℂ) |
| 29 | 27, 28, 16 | subdird 8441 |
. . . . . 6
⊢ (𝜑 → ((𝐴 − (𝐷 · (⌊‘(𝐴 / 𝐷)))) · 𝐶) = ((𝐴 · 𝐶) − ((𝐷 · (⌊‘(𝐴 / 𝐷))) · 𝐶))) |
| 30 | 25, 29 | eqtr4d 2232 |
. . . . 5
⊢ (𝜑 → ((𝐴 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐴 / 𝐷))))) = ((𝐴 − (𝐷 · (⌊‘(𝐴 / 𝐷)))) · 𝐶)) |
| 31 | | qdivcl 9717 |
. . . . . . . . . . . 12
⊢ ((𝐵 ∈ ℚ ∧ 𝐷 ∈ ℚ ∧ 𝐷 ≠ 0) → (𝐵 / 𝐷) ∈ ℚ) |
| 32 | 7, 3, 17, 31 | syl3anc 1249 |
. . . . . . . . . . 11
⊢ (𝜑 → (𝐵 / 𝐷) ∈ ℚ) |
| 33 | 32 | flqcld 10367 |
. . . . . . . . . 10
⊢ (𝜑 → (⌊‘(𝐵 / 𝐷)) ∈ ℤ) |
| 34 | 33 | zcnd 9449 |
. . . . . . . . 9
⊢ (𝜑 → (⌊‘(𝐵 / 𝐷)) ∈ ℂ) |
| 35 | 14, 16, 34 | mulassd 8050 |
. . . . . . . 8
⊢ (𝜑 → ((𝐷 · 𝐶) · (⌊‘(𝐵 / 𝐷))) = (𝐷 · (𝐶 · (⌊‘(𝐵 / 𝐷))))) |
| 36 | 14, 16, 34 | mul32d 8179 |
. . . . . . . 8
⊢ (𝜑 → ((𝐷 · 𝐶) · (⌊‘(𝐵 / 𝐷))) = ((𝐷 · (⌊‘(𝐵 / 𝐷))) · 𝐶)) |
| 37 | 35, 36 | eqtr3d 2231 |
. . . . . . 7
⊢ (𝜑 → (𝐷 · (𝐶 · (⌊‘(𝐵 / 𝐷)))) = ((𝐷 · (⌊‘(𝐵 / 𝐷))) · 𝐶)) |
| 38 | 37 | oveq2d 5938 |
. . . . . 6
⊢ (𝜑 → ((𝐵 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐵 / 𝐷))))) = ((𝐵 · 𝐶) − ((𝐷 · (⌊‘(𝐵 / 𝐷))) · 𝐶))) |
| 39 | | qcn 9708 |
. . . . . . . 8
⊢ (𝐵 ∈ ℚ → 𝐵 ∈
ℂ) |
| 40 | 7, 39 | syl 14 |
. . . . . . 7
⊢ (𝜑 → 𝐵 ∈ ℂ) |
| 41 | 14, 34 | mulcld 8047 |
. . . . . . 7
⊢ (𝜑 → (𝐷 · (⌊‘(𝐵 / 𝐷))) ∈ ℂ) |
| 42 | 40, 41, 16 | subdird 8441 |
. . . . . 6
⊢ (𝜑 → ((𝐵 − (𝐷 · (⌊‘(𝐵 / 𝐷)))) · 𝐶) = ((𝐵 · 𝐶) − ((𝐷 · (⌊‘(𝐵 / 𝐷))) · 𝐶))) |
| 43 | 38, 42 | eqtr4d 2232 |
. . . . 5
⊢ (𝜑 → ((𝐵 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐵 / 𝐷))))) = ((𝐵 − (𝐷 · (⌊‘(𝐵 / 𝐷)))) · 𝐶)) |
| 44 | 30, 43 | eqeq12d 2211 |
. . . 4
⊢ (𝜑 → (((𝐴 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐴 / 𝐷))))) = ((𝐵 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐵 / 𝐷))))) ↔ ((𝐴 − (𝐷 · (⌊‘(𝐴 / 𝐷)))) · 𝐶) = ((𝐵 − (𝐷 · (⌊‘(𝐵 / 𝐷)))) · 𝐶))) |
| 45 | 12, 44 | sylibrd 169 |
. . 3
⊢ (𝜑 → ((𝐴 mod 𝐷) = (𝐵 mod 𝐷) → ((𝐴 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐴 / 𝐷))))) = ((𝐵 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐵 / 𝐷))))))) |
| 46 | | oveq1 5929 |
. . . 4
⊢ (((𝐴 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐴 / 𝐷))))) = ((𝐵 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐵 / 𝐷))))) → (((𝐴 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐴 / 𝐷))))) mod 𝐷) = (((𝐵 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐵 / 𝐷))))) mod 𝐷)) |
| 47 | | zq 9700 |
. . . . . . . 8
⊢ (𝐶 ∈ ℤ → 𝐶 ∈
ℚ) |
| 48 | 15, 47 | syl 14 |
. . . . . . 7
⊢ (𝜑 → 𝐶 ∈ ℚ) |
| 49 | | qmulcl 9711 |
. . . . . . 7
⊢ ((𝐴 ∈ ℚ ∧ 𝐶 ∈ ℚ) → (𝐴 · 𝐶) ∈ ℚ) |
| 50 | 2, 48, 49 | syl2anc 411 |
. . . . . 6
⊢ (𝜑 → (𝐴 · 𝐶) ∈ ℚ) |
| 51 | 15, 20 | zmulcld 9454 |
. . . . . 6
⊢ (𝜑 → (𝐶 · (⌊‘(𝐴 / 𝐷))) ∈ ℤ) |
| 52 | | modqcyc2 10452 |
. . . . . 6
⊢ ((((𝐴 · 𝐶) ∈ ℚ ∧ (𝐶 · (⌊‘(𝐴 / 𝐷))) ∈ ℤ) ∧ (𝐷 ∈ ℚ ∧ 0 < 𝐷)) → (((𝐴 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐴 / 𝐷))))) mod 𝐷) = ((𝐴 · 𝐶) mod 𝐷)) |
| 53 | 50, 51, 3, 4, 52 | syl22anc 1250 |
. . . . 5
⊢ (𝜑 → (((𝐴 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐴 / 𝐷))))) mod 𝐷) = ((𝐴 · 𝐶) mod 𝐷)) |
| 54 | | qmulcl 9711 |
. . . . . . 7
⊢ ((𝐵 ∈ ℚ ∧ 𝐶 ∈ ℚ) → (𝐵 · 𝐶) ∈ ℚ) |
| 55 | 7, 48, 54 | syl2anc 411 |
. . . . . 6
⊢ (𝜑 → (𝐵 · 𝐶) ∈ ℚ) |
| 56 | 15, 33 | zmulcld 9454 |
. . . . . 6
⊢ (𝜑 → (𝐶 · (⌊‘(𝐵 / 𝐷))) ∈ ℤ) |
| 57 | | modqcyc2 10452 |
. . . . . 6
⊢ ((((𝐵 · 𝐶) ∈ ℚ ∧ (𝐶 · (⌊‘(𝐵 / 𝐷))) ∈ ℤ) ∧ (𝐷 ∈ ℚ ∧ 0 < 𝐷)) → (((𝐵 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐵 / 𝐷))))) mod 𝐷) = ((𝐵 · 𝐶) mod 𝐷)) |
| 58 | 55, 56, 3, 4, 57 | syl22anc 1250 |
. . . . 5
⊢ (𝜑 → (((𝐵 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐵 / 𝐷))))) mod 𝐷) = ((𝐵 · 𝐶) mod 𝐷)) |
| 59 | 53, 58 | eqeq12d 2211 |
. . . 4
⊢ (𝜑 → ((((𝐴 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐴 / 𝐷))))) mod 𝐷) = (((𝐵 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐵 / 𝐷))))) mod 𝐷) ↔ ((𝐴 · 𝐶) mod 𝐷) = ((𝐵 · 𝐶) mod 𝐷))) |
| 60 | 46, 59 | imbitrid 154 |
. . 3
⊢ (𝜑 → (((𝐴 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐴 / 𝐷))))) = ((𝐵 · 𝐶) − (𝐷 · (𝐶 · (⌊‘(𝐵 / 𝐷))))) → ((𝐴 · 𝐶) mod 𝐷) = ((𝐵 · 𝐶) mod 𝐷))) |
| 61 | 45, 60 | syld 45 |
. 2
⊢ (𝜑 → ((𝐴 mod 𝐷) = (𝐵 mod 𝐷) → ((𝐴 · 𝐶) mod 𝐷) = ((𝐵 · 𝐶) mod 𝐷))) |
| 62 | 1, 61 | mpd 13 |
1
⊢ (𝜑 → ((𝐴 · 𝐶) mod 𝐷) = ((𝐵 · 𝐶) mod 𝐷)) |