Proof of Theorem mod2addne
| Step | Hyp | Ref
| Expression |
| 1 | | simp1 1136 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → 𝑁 ∈ ℕ) |
| 2 | | zsubcl 12581 |
. . . . . . . 8
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 − 𝐵) ∈ ℤ) |
| 3 | 2 | 3adant1 1130 |
. . . . . . 7
⊢ ((𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 − 𝐵) ∈ ℤ) |
| 4 | 3 | 3ad2ant2 1134 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → (𝐴 − 𝐵) ∈ ℤ) |
| 5 | | elfzolt2 13635 |
. . . . . . 7
⊢
((abs‘(𝐴
− 𝐵)) ∈
(1..^𝑁) →
(abs‘(𝐴 − 𝐵)) < 𝑁) |
| 6 | 5 | 3ad2ant3 1135 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → (abs‘(𝐴 − 𝐵)) < 𝑁) |
| 7 | | modlt0b 47354 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ ∧ (𝐴 − 𝐵) ∈ ℤ ∧ (abs‘(𝐴 − 𝐵)) < 𝑁) → (((𝐴 − 𝐵) mod 𝑁) = 0 ↔ (𝐴 − 𝐵) = 0)) |
| 8 | 1, 4, 6, 7 | syl3anc 1373 |
. . . . 5
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → (((𝐴 − 𝐵) mod 𝑁) = 0 ↔ (𝐴 − 𝐵) = 0)) |
| 9 | | fveq2 6860 |
. . . . . . . . . . 11
⊢ ((𝐴 − 𝐵) = 0 → (abs‘(𝐴 − 𝐵)) = (abs‘0)) |
| 10 | 9 | eleq1d 2814 |
. . . . . . . . . 10
⊢ ((𝐴 − 𝐵) = 0 → ((abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁) ↔ (abs‘0) ∈ (1..^𝑁))) |
| 11 | 10 | adantl 481 |
. . . . . . . . 9
⊢ (((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) ∧ (𝐴 − 𝐵) = 0) → ((abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁) ↔ (abs‘0) ∈ (1..^𝑁))) |
| 12 | | abs0 15257 |
. . . . . . . . . . . . 13
⊢
(abs‘0) = 0 |
| 13 | 12 | eleq1i 2820 |
. . . . . . . . . . . 12
⊢
((abs‘0) ∈ (1..^𝑁) ↔ 0 ∈ (1..^𝑁)) |
| 14 | 13 | a1i 11 |
. . . . . . . . . . 11
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) → ((abs‘0)
∈ (1..^𝑁) ↔ 0
∈ (1..^𝑁))) |
| 15 | | elfzo1 13679 |
. . . . . . . . . . . . 13
⊢ (0 ∈
(1..^𝑁) ↔ (0 ∈
ℕ ∧ 𝑁 ∈
ℕ ∧ 0 < 𝑁)) |
| 16 | | 0nnn 12223 |
. . . . . . . . . . . . . . 15
⊢ ¬ 0
∈ ℕ |
| 17 | 16 | pm2.21i 119 |
. . . . . . . . . . . . . 14
⊢ (0 ∈
ℕ → ¬ ((𝐴
− 𝐵) mod 𝑁) = 0) |
| 18 | 17 | 3ad2ant1 1133 |
. . . . . . . . . . . . 13
⊢ ((0
∈ ℕ ∧ 𝑁
∈ ℕ ∧ 0 < 𝑁) → ¬ ((𝐴 − 𝐵) mod 𝑁) = 0) |
| 19 | 15, 18 | sylbi 217 |
. . . . . . . . . . . 12
⊢ (0 ∈
(1..^𝑁) → ¬
((𝐴 − 𝐵) mod 𝑁) = 0) |
| 20 | 19 | a1i 11 |
. . . . . . . . . . 11
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) → (0 ∈
(1..^𝑁) → ¬
((𝐴 − 𝐵) mod 𝑁) = 0)) |
| 21 | 14, 20 | sylbid 240 |
. . . . . . . . . 10
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) → ((abs‘0)
∈ (1..^𝑁) → ¬
((𝐴 − 𝐵) mod 𝑁) = 0)) |
| 22 | 21 | adantr 480 |
. . . . . . . . 9
⊢ (((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) ∧ (𝐴 − 𝐵) = 0) → ((abs‘0) ∈
(1..^𝑁) → ¬
((𝐴 − 𝐵) mod 𝑁) = 0)) |
| 23 | 11, 22 | sylbid 240 |
. . . . . . . 8
⊢ (((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) ∧ (𝐴 − 𝐵) = 0) → ((abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁) → ¬ ((𝐴 − 𝐵) mod 𝑁) = 0)) |
| 24 | 23 | ex 412 |
. . . . . . 7
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) → ((𝐴 − 𝐵) = 0 → ((abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁) → ¬ ((𝐴 − 𝐵) mod 𝑁) = 0))) |
| 25 | 24 | com23 86 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) → ((abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁) → ((𝐴 − 𝐵) = 0 → ¬ ((𝐴 − 𝐵) mod 𝑁) = 0))) |
| 26 | 25 | 3impia 1117 |
. . . . 5
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → ((𝐴 − 𝐵) = 0 → ¬ ((𝐴 − 𝐵) mod 𝑁) = 0)) |
| 27 | 8, 26 | sylbid 240 |
. . . 4
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → (((𝐴 − 𝐵) mod 𝑁) = 0 → ¬ ((𝐴 − 𝐵) mod 𝑁) = 0)) |
| 28 | 27 | pm2.01d 190 |
. . 3
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → ¬ ((𝐴 − 𝐵) mod 𝑁) = 0) |
| 29 | | simp2 1137 |
. . . . . . 7
⊢ ((𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 𝐴 ∈ ℤ) |
| 30 | 29 | adantl 481 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) → 𝐴 ∈ ℤ) |
| 31 | | simp3 1138 |
. . . . . . 7
⊢ ((𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 𝐵 ∈ ℤ) |
| 32 | 31 | adantl 481 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) → 𝐵 ∈ ℤ) |
| 33 | | simpl 482 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) → 𝑁 ∈ ℕ) |
| 34 | 30, 32, 33 | 3jca 1128 |
. . . . 5
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) → (𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑁 ∈ ℕ)) |
| 35 | 34 | 3adant3 1132 |
. . . 4
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → (𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑁 ∈ ℕ)) |
| 36 | | difmod0 16263 |
. . . 4
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (((𝐴 − 𝐵) mod 𝑁) = 0 ↔ (𝐴 mod 𝑁) = (𝐵 mod 𝑁))) |
| 37 | 35, 36 | syl 17 |
. . 3
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → (((𝐴 − 𝐵) mod 𝑁) = 0 ↔ (𝐴 mod 𝑁) = (𝐵 mod 𝑁))) |
| 38 | 28, 37 | mtbid 324 |
. 2
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → ¬ (𝐴 mod 𝑁) = (𝐵 mod 𝑁)) |
| 39 | | elfzoelz 13626 |
. . . . . . . . . . 11
⊢ (𝑋 ∈ (0..^𝑁) → 𝑋 ∈ ℤ) |
| 40 | | mod2addne.i |
. . . . . . . . . . 11
⊢ 𝐼 = (0..^𝑁) |
| 41 | 39, 40 | eleq2s 2847 |
. . . . . . . . . 10
⊢ (𝑋 ∈ 𝐼 → 𝑋 ∈ ℤ) |
| 42 | 41 | 3ad2ant1 1133 |
. . . . . . . . 9
⊢ ((𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 𝑋 ∈ ℤ) |
| 43 | 42 | zcnd 12645 |
. . . . . . . 8
⊢ ((𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 𝑋 ∈ ℂ) |
| 44 | 29 | zcnd 12645 |
. . . . . . . 8
⊢ ((𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 𝐴 ∈ ℂ) |
| 45 | 43, 44 | addcomd 11382 |
. . . . . . 7
⊢ ((𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝑋 + 𝐴) = (𝐴 + 𝑋)) |
| 46 | 45 | oveq1d 7404 |
. . . . . 6
⊢ ((𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → ((𝑋 + 𝐴) mod 𝑁) = ((𝐴 + 𝑋) mod 𝑁)) |
| 47 | 31 | zcnd 12645 |
. . . . . . . 8
⊢ ((𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 𝐵 ∈ ℂ) |
| 48 | 43, 47 | addcomd 11382 |
. . . . . . 7
⊢ ((𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝑋 + 𝐵) = (𝐵 + 𝑋)) |
| 49 | 48 | oveq1d 7404 |
. . . . . 6
⊢ ((𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → ((𝑋 + 𝐵) mod 𝑁) = ((𝐵 + 𝑋) mod 𝑁)) |
| 50 | 46, 49 | eqeq12d 2746 |
. . . . 5
⊢ ((𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (((𝑋 + 𝐴) mod 𝑁) = ((𝑋 + 𝐵) mod 𝑁) ↔ ((𝐴 + 𝑋) mod 𝑁) = ((𝐵 + 𝑋) mod 𝑁))) |
| 51 | 50 | 3ad2ant2 1134 |
. . . 4
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → (((𝑋 + 𝐴) mod 𝑁) = ((𝑋 + 𝐵) mod 𝑁) ↔ ((𝐴 + 𝑋) mod 𝑁) = ((𝐵 + 𝑋) mod 𝑁))) |
| 52 | | zre 12539 |
. . . . . . . . . 10
⊢ (𝐴 ∈ ℤ → 𝐴 ∈
ℝ) |
| 53 | | zre 12539 |
. . . . . . . . . 10
⊢ (𝐵 ∈ ℤ → 𝐵 ∈
ℝ) |
| 54 | 52, 53 | anim12i 613 |
. . . . . . . . 9
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 ∈ ℝ ∧ 𝐵 ∈
ℝ)) |
| 55 | 54 | 3adant1 1130 |
. . . . . . . 8
⊢ ((𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ)) |
| 56 | 55 | adantl 481 |
. . . . . . 7
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) → (𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ)) |
| 57 | | nnrp 12969 |
. . . . . . . 8
⊢ (𝑁 ∈ ℕ → 𝑁 ∈
ℝ+) |
| 58 | 41 | zred 12644 |
. . . . . . . . 9
⊢ (𝑋 ∈ 𝐼 → 𝑋 ∈ ℝ) |
| 59 | 58 | 3ad2ant1 1133 |
. . . . . . . 8
⊢ ((𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 𝑋 ∈ ℝ) |
| 60 | 57, 59 | anim12ci 614 |
. . . . . . 7
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) → (𝑋 ∈ ℝ ∧ 𝑁 ∈
ℝ+)) |
| 61 | 56, 60 | jca 511 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ)) → ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ (𝑋 ∈ ℝ ∧ 𝑁 ∈
ℝ+))) |
| 62 | 61 | 3adant3 1132 |
. . . . 5
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ (𝑋 ∈ ℝ ∧ 𝑁 ∈
ℝ+))) |
| 63 | | modaddb 13877 |
. . . . 5
⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ (𝑋 ∈ ℝ ∧ 𝑁 ∈ ℝ+))
→ ((𝐴 mod 𝑁) = (𝐵 mod 𝑁) ↔ ((𝐴 + 𝑋) mod 𝑁) = ((𝐵 + 𝑋) mod 𝑁))) |
| 64 | 62, 63 | syl 17 |
. . . 4
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → ((𝐴 mod 𝑁) = (𝐵 mod 𝑁) ↔ ((𝐴 + 𝑋) mod 𝑁) = ((𝐵 + 𝑋) mod 𝑁))) |
| 65 | 51, 64 | bitr4d 282 |
. . 3
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → (((𝑋 + 𝐴) mod 𝑁) = ((𝑋 + 𝐵) mod 𝑁) ↔ (𝐴 mod 𝑁) = (𝐵 mod 𝑁))) |
| 66 | 65 | necon3abid 2962 |
. 2
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → (((𝑋 + 𝐴) mod 𝑁) ≠ ((𝑋 + 𝐵) mod 𝑁) ↔ ¬ (𝐴 mod 𝑁) = (𝐵 mod 𝑁))) |
| 67 | 38, 66 | mpbird 257 |
1
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ 𝐼 ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴 − 𝐵)) ∈ (1..^𝑁)) → ((𝑋 + 𝐴) mod 𝑁) ≠ ((𝑋 + 𝐵) mod 𝑁)) |