Proof of Theorem modaddmodup
| Step | Hyp | Ref
| Expression |
| 1 | | elfzoelz 13699 |
. . . . . . . 8
⊢ (𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀) → 𝐵 ∈ ℤ) |
| 2 | 1 | zred 12722 |
. . . . . . 7
⊢ (𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀) → 𝐵 ∈ ℝ) |
| 3 | 2 | adantr 480 |
. . . . . 6
⊢ ((𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀) ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) → 𝐵 ∈ ℝ) |
| 4 | | zmodcl 13931 |
. . . . . . . 8
⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐴 mod 𝑀) ∈
ℕ0) |
| 5 | 4 | nn0red 12588 |
. . . . . . 7
⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐴 mod 𝑀) ∈ ℝ) |
| 6 | 5 | adantl 481 |
. . . . . 6
⊢ ((𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀) ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) → (𝐴 mod 𝑀) ∈ ℝ) |
| 7 | 3, 6 | readdcld 11290 |
. . . . 5
⊢ ((𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀) ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) → (𝐵 + (𝐴 mod 𝑀)) ∈ ℝ) |
| 8 | 7 | ancoms 458 |
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀)) → (𝐵 + (𝐴 mod 𝑀)) ∈ ℝ) |
| 9 | | nnrp 13046 |
. . . . 5
⊢ (𝑀 ∈ ℕ → 𝑀 ∈
ℝ+) |
| 10 | 9 | ad2antlr 727 |
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀)) → 𝑀 ∈
ℝ+) |
| 11 | | elfzo2 13702 |
. . . . . 6
⊢ (𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀) ↔ (𝐵 ∈ (ℤ≥‘(𝑀 − (𝐴 mod 𝑀))) ∧ 𝑀 ∈ ℤ ∧ 𝐵 < 𝑀)) |
| 12 | | eluz2 12884 |
. . . . . . . 8
⊢ (𝐵 ∈
(ℤ≥‘(𝑀 − (𝐴 mod 𝑀))) ↔ ((𝑀 − (𝐴 mod 𝑀)) ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ (𝑀 − (𝐴 mod 𝑀)) ≤ 𝐵)) |
| 13 | | nnre 12273 |
. . . . . . . . . . . . . 14
⊢ (𝑀 ∈ ℕ → 𝑀 ∈
ℝ) |
| 14 | 13 | adantl 481 |
. . . . . . . . . . . . 13
⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝑀 ∈
ℝ) |
| 15 | 14 | adantl 481 |
. . . . . . . . . . . 12
⊢ ((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) → 𝑀 ∈
ℝ) |
| 16 | 5 | adantl 481 |
. . . . . . . . . . . 12
⊢ ((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) → (𝐴 mod 𝑀) ∈ ℝ) |
| 17 | | zre 12617 |
. . . . . . . . . . . . 13
⊢ (𝐵 ∈ ℤ → 𝐵 ∈
ℝ) |
| 18 | 17 | adantr 480 |
. . . . . . . . . . . 12
⊢ ((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) → 𝐵 ∈
ℝ) |
| 19 | 15, 16, 18 | lesubaddd 11860 |
. . . . . . . . . . 11
⊢ ((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) → ((𝑀 − (𝐴 mod 𝑀)) ≤ 𝐵 ↔ 𝑀 ≤ (𝐵 + (𝐴 mod 𝑀)))) |
| 20 | 19 | biimpd 229 |
. . . . . . . . . 10
⊢ ((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) → ((𝑀 − (𝐴 mod 𝑀)) ≤ 𝐵 → 𝑀 ≤ (𝐵 + (𝐴 mod 𝑀)))) |
| 21 | 20 | impancom 451 |
. . . . . . . . 9
⊢ ((𝐵 ∈ ℤ ∧ (𝑀 − (𝐴 mod 𝑀)) ≤ 𝐵) → ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝑀 ≤ (𝐵 + (𝐴 mod 𝑀)))) |
| 22 | 21 | 3adant1 1131 |
. . . . . . . 8
⊢ (((𝑀 − (𝐴 mod 𝑀)) ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ (𝑀 − (𝐴 mod 𝑀)) ≤ 𝐵) → ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝑀 ≤ (𝐵 + (𝐴 mod 𝑀)))) |
| 23 | 12, 22 | sylbi 217 |
. . . . . . 7
⊢ (𝐵 ∈
(ℤ≥‘(𝑀 − (𝐴 mod 𝑀))) → ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝑀 ≤ (𝐵 + (𝐴 mod 𝑀)))) |
| 24 | 23 | 3ad2ant1 1134 |
. . . . . 6
⊢ ((𝐵 ∈
(ℤ≥‘(𝑀 − (𝐴 mod 𝑀))) ∧ 𝑀 ∈ ℤ ∧ 𝐵 < 𝑀) → ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝑀 ≤ (𝐵 + (𝐴 mod 𝑀)))) |
| 25 | 11, 24 | sylbi 217 |
. . . . 5
⊢ (𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀) → ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝑀 ≤ (𝐵 + (𝐴 mod 𝑀)))) |
| 26 | 25 | impcom 407 |
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀)) → 𝑀 ≤ (𝐵 + (𝐴 mod 𝑀))) |
| 27 | | eluzelz 12888 |
. . . . . . . . 9
⊢ (𝐵 ∈
(ℤ≥‘(𝑀 − (𝐴 mod 𝑀))) → 𝐵 ∈ ℤ) |
| 28 | 17, 5 | anim12i 613 |
. . . . . . . . . . . . . . 15
⊢ ((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) → (𝐵 ∈ ℝ ∧ (𝐴 mod 𝑀) ∈ ℝ)) |
| 29 | 13, 13 | jca 511 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑀 ∈ ℕ → (𝑀 ∈ ℝ ∧ 𝑀 ∈
ℝ)) |
| 30 | 29 | adantl 481 |
. . . . . . . . . . . . . . . 16
⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝑀 ∈ ℝ ∧ 𝑀 ∈
ℝ)) |
| 31 | 30 | adantl 481 |
. . . . . . . . . . . . . . 15
⊢ ((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) → (𝑀 ∈ ℝ ∧ 𝑀 ∈
ℝ)) |
| 32 | 28, 31 | jca 511 |
. . . . . . . . . . . . . 14
⊢ ((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) → ((𝐵 ∈ ℝ ∧ (𝐴 mod 𝑀) ∈ ℝ) ∧ (𝑀 ∈ ℝ ∧ 𝑀 ∈ ℝ))) |
| 33 | 32 | adantr 480 |
. . . . . . . . . . . . 13
⊢ (((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) ∧ 𝐵 < 𝑀) → ((𝐵 ∈ ℝ ∧ (𝐴 mod 𝑀) ∈ ℝ) ∧ (𝑀 ∈ ℝ ∧ 𝑀 ∈ ℝ))) |
| 34 | | simpr 484 |
. . . . . . . . . . . . . 14
⊢ (((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) ∧ 𝐵 < 𝑀) → 𝐵 < 𝑀) |
| 35 | | zre 12617 |
. . . . . . . . . . . . . . . . 17
⊢ (𝐴 ∈ ℤ → 𝐴 ∈
ℝ) |
| 36 | | modlt 13920 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝐴 ∈ ℝ ∧ 𝑀 ∈ ℝ+)
→ (𝐴 mod 𝑀) < 𝑀) |
| 37 | 35, 9, 36 | syl2an 596 |
. . . . . . . . . . . . . . . 16
⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐴 mod 𝑀) < 𝑀) |
| 38 | 5, 14, 37 | ltled 11409 |
. . . . . . . . . . . . . . 15
⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐴 mod 𝑀) ≤ 𝑀) |
| 39 | 38 | ad2antlr 727 |
. . . . . . . . . . . . . 14
⊢ (((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) ∧ 𝐵 < 𝑀) → (𝐴 mod 𝑀) ≤ 𝑀) |
| 40 | 34, 39 | jca 511 |
. . . . . . . . . . . . 13
⊢ (((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) ∧ 𝐵 < 𝑀) → (𝐵 < 𝑀 ∧ (𝐴 mod 𝑀) ≤ 𝑀)) |
| 41 | | ltleadd 11746 |
. . . . . . . . . . . . 13
⊢ (((𝐵 ∈ ℝ ∧ (𝐴 mod 𝑀) ∈ ℝ) ∧ (𝑀 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → ((𝐵 < 𝑀 ∧ (𝐴 mod 𝑀) ≤ 𝑀) → (𝐵 + (𝐴 mod 𝑀)) < (𝑀 + 𝑀))) |
| 42 | 33, 40, 41 | sylc 65 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) ∧ 𝐵 < 𝑀) → (𝐵 + (𝐴 mod 𝑀)) < (𝑀 + 𝑀)) |
| 43 | | nncn 12274 |
. . . . . . . . . . . . . . 15
⊢ (𝑀 ∈ ℕ → 𝑀 ∈
ℂ) |
| 44 | 43 | 2timesd 12509 |
. . . . . . . . . . . . . 14
⊢ (𝑀 ∈ ℕ → (2
· 𝑀) = (𝑀 + 𝑀)) |
| 45 | 44 | adantl 481 |
. . . . . . . . . . . . 13
⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (2
· 𝑀) = (𝑀 + 𝑀)) |
| 46 | 45 | ad2antlr 727 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) ∧ 𝐵 < 𝑀) → (2 · 𝑀) = (𝑀 + 𝑀)) |
| 47 | 42, 46 | breqtrrd 5171 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ ℤ ∧ (𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ)) ∧ 𝐵 < 𝑀) → (𝐵 + (𝐴 mod 𝑀)) < (2 · 𝑀)) |
| 48 | 47 | exp31 419 |
. . . . . . . . . 10
⊢ (𝐵 ∈ ℤ → ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐵 < 𝑀 → (𝐵 + (𝐴 mod 𝑀)) < (2 · 𝑀)))) |
| 49 | 48 | com23 86 |
. . . . . . . . 9
⊢ (𝐵 ∈ ℤ → (𝐵 < 𝑀 → ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐵 + (𝐴 mod 𝑀)) < (2 · 𝑀)))) |
| 50 | 27, 49 | syl 17 |
. . . . . . . 8
⊢ (𝐵 ∈
(ℤ≥‘(𝑀 − (𝐴 mod 𝑀))) → (𝐵 < 𝑀 → ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐵 + (𝐴 mod 𝑀)) < (2 · 𝑀)))) |
| 51 | 50 | imp 406 |
. . . . . . 7
⊢ ((𝐵 ∈
(ℤ≥‘(𝑀 − (𝐴 mod 𝑀))) ∧ 𝐵 < 𝑀) → ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐵 + (𝐴 mod 𝑀)) < (2 · 𝑀))) |
| 52 | 51 | 3adant2 1132 |
. . . . . 6
⊢ ((𝐵 ∈
(ℤ≥‘(𝑀 − (𝐴 mod 𝑀))) ∧ 𝑀 ∈ ℤ ∧ 𝐵 < 𝑀) → ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐵 + (𝐴 mod 𝑀)) < (2 · 𝑀))) |
| 53 | 11, 52 | sylbi 217 |
. . . . 5
⊢ (𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀) → ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐵 + (𝐴 mod 𝑀)) < (2 · 𝑀))) |
| 54 | 53 | impcom 407 |
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀)) → (𝐵 + (𝐴 mod 𝑀)) < (2 · 𝑀)) |
| 55 | | 2submod 13973 |
. . . . 5
⊢ ((((𝐵 + (𝐴 mod 𝑀)) ∈ ℝ ∧ 𝑀 ∈ ℝ+) ∧ (𝑀 ≤ (𝐵 + (𝐴 mod 𝑀)) ∧ (𝐵 + (𝐴 mod 𝑀)) < (2 · 𝑀))) → ((𝐵 + (𝐴 mod 𝑀)) mod 𝑀) = ((𝐵 + (𝐴 mod 𝑀)) − 𝑀)) |
| 56 | 55 | eqcomd 2743 |
. . . 4
⊢ ((((𝐵 + (𝐴 mod 𝑀)) ∈ ℝ ∧ 𝑀 ∈ ℝ+) ∧ (𝑀 ≤ (𝐵 + (𝐴 mod 𝑀)) ∧ (𝐵 + (𝐴 mod 𝑀)) < (2 · 𝑀))) → ((𝐵 + (𝐴 mod 𝑀)) − 𝑀) = ((𝐵 + (𝐴 mod 𝑀)) mod 𝑀)) |
| 57 | 8, 10, 26, 54, 56 | syl22anc 839 |
. . 3
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀)) → ((𝐵 + (𝐴 mod 𝑀)) − 𝑀) = ((𝐵 + (𝐴 mod 𝑀)) mod 𝑀)) |
| 58 | 35 | adantr 480 |
. . . . 5
⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → 𝐴 ∈
ℝ) |
| 59 | 58 | adantr 480 |
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀)) → 𝐴 ∈ ℝ) |
| 60 | 2 | adantl 481 |
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀)) → 𝐵 ∈ ℝ) |
| 61 | | modadd2mod 13962 |
. . . 4
⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ∧ 𝑀 ∈ ℝ+)
→ ((𝐵 + (𝐴 mod 𝑀)) mod 𝑀) = ((𝐵 + 𝐴) mod 𝑀)) |
| 62 | 59, 60, 10, 61 | syl3anc 1373 |
. . 3
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀)) → ((𝐵 + (𝐴 mod 𝑀)) mod 𝑀) = ((𝐵 + 𝐴) mod 𝑀)) |
| 63 | 57, 62 | eqtrd 2777 |
. 2
⊢ (((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) ∧ 𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀)) → ((𝐵 + (𝐴 mod 𝑀)) − 𝑀) = ((𝐵 + 𝐴) mod 𝑀)) |
| 64 | 63 | ex 412 |
1
⊢ ((𝐴 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝐵 ∈ ((𝑀 − (𝐴 mod 𝑀))..^𝑀) → ((𝐵 + (𝐴 mod 𝑀)) − 𝑀) = ((𝐵 + 𝐴) mod 𝑀))) |