Proof of Theorem modaddmodlo
Step | Hyp | Ref
| Expression |
1 | | elfzoelz 10103 |
. . . . . . 7
⊢ (𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀))) → 𝐵 ∈ ℤ) |
2 | 1 | adantl 275 |
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 𝐵 ∈ ℤ) |
3 | | zq 9585 |
. . . . . 6
⊢ (𝐵 ∈ ℤ → 𝐵 ∈
ℚ) |
4 | 2, 3 | syl 14 |
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 𝐵 ∈ ℚ) |
5 | | zmodcl 10300 |
. . . . . . . 8
⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐴 mod 𝑀) ∈
ℕ0) |
6 | 5 | adantr 274 |
. . . . . . 7
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → (𝐴 mod 𝑀) ∈
ℕ0) |
7 | 6 | nn0zd 9332 |
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → (𝐴 mod 𝑀) ∈ ℤ) |
8 | | zq 9585 |
. . . . . 6
⊢ ((𝐴 mod 𝑀) ∈ ℤ → (𝐴 mod 𝑀) ∈ ℚ) |
9 | 7, 8 | syl 14 |
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → (𝐴 mod 𝑀) ∈ ℚ) |
10 | | qaddcl 9594 |
. . . . 5
⊢ ((𝐵 ∈ ℚ ∧ (𝐴 mod 𝑀) ∈ ℚ) → (𝐵 + (𝐴 mod 𝑀)) ∈ ℚ) |
11 | 4, 9, 10 | syl2anc 409 |
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → (𝐵 + (𝐴 mod 𝑀)) ∈ ℚ) |
12 | | simplr 525 |
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 𝑀 ∈ ℕ) |
13 | | nnq 9592 |
. . . . 5
⊢ (𝑀 ∈ ℕ → 𝑀 ∈
ℚ) |
14 | 12, 13 | syl 14 |
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 𝑀 ∈ ℚ) |
15 | 2 | zred 9334 |
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 𝐵 ∈ ℝ) |
16 | 6 | nn0red 9189 |
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → (𝐴 mod 𝑀) ∈ ℝ) |
17 | | elfzole1 10111 |
. . . . . 6
⊢ (𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀))) → 0 ≤ 𝐵) |
18 | 17 | adantl 275 |
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 0 ≤ 𝐵) |
19 | 6 | nn0ge0d 9191 |
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 0 ≤ (𝐴 mod 𝑀)) |
20 | 15, 16, 18, 19 | addge0d 8441 |
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 0 ≤ (𝐵 + (𝐴 mod 𝑀))) |
21 | | elfzolt2 10112 |
. . . . . 6
⊢ (𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀))) → 𝐵 < (𝑀 − (𝐴 mod 𝑀))) |
22 | 21 | adantl 275 |
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 𝐵 < (𝑀 − (𝐴 mod 𝑀))) |
23 | 12 | nnred 8891 |
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 𝑀 ∈ ℝ) |
24 | 15, 16, 23 | ltaddsubd 8464 |
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → ((𝐵 + (𝐴 mod 𝑀)) < 𝑀 ↔ 𝐵 < (𝑀 − (𝐴 mod 𝑀)))) |
25 | 22, 24 | mpbird 166 |
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → (𝐵 + (𝐴 mod 𝑀)) < 𝑀) |
26 | | modqid 10305 |
. . . 4
⊢ ((((𝐵 + (𝐴 mod 𝑀)) ∈ ℚ ∧ 𝑀 ∈ ℚ) ∧ (0 ≤ (𝐵 + (𝐴 mod 𝑀)) ∧ (𝐵 + (𝐴 mod 𝑀)) < 𝑀)) → ((𝐵 + (𝐴 mod 𝑀)) mod 𝑀) = (𝐵 + (𝐴 mod 𝑀))) |
27 | 11, 14, 20, 25, 26 | syl22anc 1234 |
. . 3
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → ((𝐵 + (𝐴 mod 𝑀)) mod 𝑀) = (𝐵 + (𝐴 mod 𝑀))) |
28 | | zq 9585 |
. . . . 5
⊢ (𝐴 ∈ ℤ → 𝐴 ∈
ℚ) |
29 | 28 | ad2antrr 485 |
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 𝐴 ∈ ℚ) |
30 | 12 | nngt0d 8922 |
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → 0 < 𝑀) |
31 | | modqadd2mod 10330 |
. . . 4
⊢ (((𝐴 ∈ ℚ ∧ 𝐵 ∈ ℚ) ∧ (𝑀 ∈ ℚ ∧ 0 <
𝑀)) → ((𝐵 + (𝐴 mod 𝑀)) mod 𝑀) = ((𝐵 + 𝐴) mod 𝑀)) |
32 | 29, 4, 14, 30, 31 | syl22anc 1234 |
. . 3
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → ((𝐵 + (𝐴 mod 𝑀)) mod 𝑀) = ((𝐵 + 𝐴) mod 𝑀)) |
33 | 27, 32 | eqtr3d 2205 |
. 2
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀)))) → (𝐵 + (𝐴 mod 𝑀)) = ((𝐵 + 𝐴) mod 𝑀)) |
34 | 33 | ex 114 |
1
⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐵 ∈ (0..^(𝑀 − (𝐴 mod 𝑀))) → (𝐵 + (𝐴 mod 𝑀)) = ((𝐵 + 𝐴) mod 𝑀))) |