Proof of Theorem dvdssq
| Step | Hyp | Ref
 | Expression | 
| 1 |   | 0z 9337 | 
. . . 4
⊢ 0 ∈
ℤ | 
| 2 |   | zdceq 9401 | 
. . . 4
⊢ ((𝑀 ∈ ℤ ∧ 0 ∈
ℤ) → DECID 𝑀 = 0) | 
| 3 | 1, 2 | mpan2 425 | 
. . 3
⊢ (𝑀 ∈ ℤ →
DECID 𝑀 =
0) | 
| 4 |   | exmiddc 837 | 
. . 3
⊢
(DECID 𝑀 = 0 → (𝑀 = 0 ∨ ¬ 𝑀 = 0)) | 
| 5 |   | 0dvds 11976 | 
. . . . . . . 8
⊢ (𝑁 ∈ ℤ → (0
∥ 𝑁 ↔ 𝑁 = 0)) | 
| 6 |   | zcn 9331 | 
. . . . . . . . 9
⊢ (𝑁 ∈ ℤ → 𝑁 ∈
ℂ) | 
| 7 |   | sqeq0 10694 | 
. . . . . . . . 9
⊢ (𝑁 ∈ ℂ → ((𝑁↑2) = 0 ↔ 𝑁 = 0)) | 
| 8 | 6, 7 | syl 14 | 
. . . . . . . 8
⊢ (𝑁 ∈ ℤ → ((𝑁↑2) = 0 ↔ 𝑁 = 0)) | 
| 9 | 5, 8 | bitr4d 191 | 
. . . . . . 7
⊢ (𝑁 ∈ ℤ → (0
∥ 𝑁 ↔ (𝑁↑2) = 0)) | 
| 10 |   | zsqcl 10702 | 
. . . . . . . 8
⊢ (𝑁 ∈ ℤ → (𝑁↑2) ∈
ℤ) | 
| 11 |   | 0dvds 11976 | 
. . . . . . . 8
⊢ ((𝑁↑2) ∈ ℤ →
(0 ∥ (𝑁↑2)
↔ (𝑁↑2) =
0)) | 
| 12 | 10, 11 | syl 14 | 
. . . . . . 7
⊢ (𝑁 ∈ ℤ → (0
∥ (𝑁↑2) ↔
(𝑁↑2) =
0)) | 
| 13 | 9, 12 | bitr4d 191 | 
. . . . . 6
⊢ (𝑁 ∈ ℤ → (0
∥ 𝑁 ↔ 0 ∥
(𝑁↑2))) | 
| 14 | 13 | adantl 277 | 
. . . . 5
⊢ ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (0
∥ 𝑁 ↔ 0 ∥
(𝑁↑2))) | 
| 15 |   | breq1 4036 | 
. . . . . 6
⊢ (𝑀 = 0 → (𝑀 ∥ 𝑁 ↔ 0 ∥ 𝑁)) | 
| 16 |   | sq0i 10723 | 
. . . . . . 7
⊢ (𝑀 = 0 → (𝑀↑2) = 0) | 
| 17 | 16 | breq1d 4043 | 
. . . . . 6
⊢ (𝑀 = 0 → ((𝑀↑2) ∥ (𝑁↑2) ↔ 0 ∥ (𝑁↑2))) | 
| 18 | 15, 17 | bibi12d 235 | 
. . . . 5
⊢ (𝑀 = 0 → ((𝑀 ∥ 𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)) ↔ (0 ∥ 𝑁 ↔ 0 ∥ (𝑁↑2)))) | 
| 19 | 14, 18 | imbitrrid 156 | 
. . . 4
⊢ (𝑀 = 0 → ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 ∥ 𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)))) | 
| 20 |   | df-ne 2368 | 
. . . . 5
⊢ (𝑀 ≠ 0 ↔ ¬ 𝑀 = 0) | 
| 21 |   | nnabscl 11265 | 
. . . . . . . . 9
⊢ ((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → (abs‘𝑀) ∈
ℕ) | 
| 22 |   | zdceq 9401 | 
. . . . . . . . . . . 12
⊢ ((𝑁 ∈ ℤ ∧ 0 ∈
ℤ) → DECID 𝑁 = 0) | 
| 23 | 1, 22 | mpan2 425 | 
. . . . . . . . . . 11
⊢ (𝑁 ∈ ℤ →
DECID 𝑁 =
0) | 
| 24 |   | exmiddc 837 | 
. . . . . . . . . . 11
⊢
(DECID 𝑁 = 0 → (𝑁 = 0 ∨ ¬ 𝑁 = 0)) | 
| 25 |   | nnz 9345 | 
. . . . . . . . . . . . . . 15
⊢
((abs‘𝑀)
∈ ℕ → (abs‘𝑀) ∈ ℤ) | 
| 26 |   | dvds0 11971 | 
. . . . . . . . . . . . . . . 16
⊢
((abs‘𝑀)
∈ ℤ → (abs‘𝑀) ∥ 0) | 
| 27 |   | zsqcl 10702 | 
. . . . . . . . . . . . . . . . 17
⊢
((abs‘𝑀)
∈ ℤ → ((abs‘𝑀)↑2) ∈ ℤ) | 
| 28 |   | dvds0 11971 | 
. . . . . . . . . . . . . . . . 17
⊢
(((abs‘𝑀)↑2) ∈ ℤ →
((abs‘𝑀)↑2)
∥ 0) | 
| 29 | 27, 28 | syl 14 | 
. . . . . . . . . . . . . . . 16
⊢
((abs‘𝑀)
∈ ℤ → ((abs‘𝑀)↑2) ∥ 0) | 
| 30 | 26, 29 | 2thd 175 | 
. . . . . . . . . . . . . . 15
⊢
((abs‘𝑀)
∈ ℤ → ((abs‘𝑀) ∥ 0 ↔ ((abs‘𝑀)↑2) ∥
0)) | 
| 31 | 25, 30 | syl 14 | 
. . . . . . . . . . . . . 14
⊢
((abs‘𝑀)
∈ ℕ → ((abs‘𝑀) ∥ 0 ↔ ((abs‘𝑀)↑2) ∥
0)) | 
| 32 | 31 | adantr 276 | 
. . . . . . . . . . . . 13
⊢
(((abs‘𝑀)
∈ ℕ ∧ 𝑁
∈ ℤ) → ((abs‘𝑀) ∥ 0 ↔ ((abs‘𝑀)↑2) ∥
0)) | 
| 33 |   | breq2 4037 | 
. . . . . . . . . . . . . 14
⊢ (𝑁 = 0 → ((abs‘𝑀) ∥ 𝑁 ↔ (abs‘𝑀) ∥ 0)) | 
| 34 |   | sq0i 10723 | 
. . . . . . . . . . . . . . 15
⊢ (𝑁 = 0 → (𝑁↑2) = 0) | 
| 35 | 34 | breq2d 4045 | 
. . . . . . . . . . . . . 14
⊢ (𝑁 = 0 → (((abs‘𝑀)↑2) ∥ (𝑁↑2) ↔
((abs‘𝑀)↑2)
∥ 0)) | 
| 36 | 33, 35 | bibi12d 235 | 
. . . . . . . . . . . . 13
⊢ (𝑁 = 0 → (((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)) ↔ ((abs‘𝑀) ∥ 0 ↔
((abs‘𝑀)↑2)
∥ 0))) | 
| 37 | 32, 36 | imbitrrid 156 | 
. . . . . . . . . . . 12
⊢ (𝑁 = 0 → (((abs‘𝑀) ∈ ℕ ∧ 𝑁 ∈ ℤ) →
((abs‘𝑀) ∥
𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))) | 
| 38 |   | df-ne 2368 | 
. . . . . . . . . . . . 13
⊢ (𝑁 ≠ 0 ↔ ¬ 𝑁 = 0) | 
| 39 |   | nnabscl 11265 | 
. . . . . . . . . . . . . . . . 17
⊢ ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → (abs‘𝑁) ∈
ℕ) | 
| 40 |   | dvdssqlem 12197 | 
. . . . . . . . . . . . . . . . 17
⊢
(((abs‘𝑀)
∈ ℕ ∧ (abs‘𝑁) ∈ ℕ) → ((abs‘𝑀) ∥ (abs‘𝑁) ↔ ((abs‘𝑀)↑2) ∥
((abs‘𝑁)↑2))) | 
| 41 | 39, 40 | sylan2 286 | 
. . . . . . . . . . . . . . . 16
⊢
(((abs‘𝑀)
∈ ℕ ∧ (𝑁
∈ ℤ ∧ 𝑁 ≠
0)) → ((abs‘𝑀)
∥ (abs‘𝑁)
↔ ((abs‘𝑀)↑2) ∥ ((abs‘𝑁)↑2))) | 
| 42 |   | simpl 109 | 
. . . . . . . . . . . . . . . . 17
⊢ ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → 𝑁 ∈
ℤ) | 
| 43 |   | dvdsabsb 11975 | 
. . . . . . . . . . . . . . . . 17
⊢
(((abs‘𝑀)
∈ ℤ ∧ 𝑁
∈ ℤ) → ((abs‘𝑀) ∥ 𝑁 ↔ (abs‘𝑀) ∥ (abs‘𝑁))) | 
| 44 | 25, 42, 43 | syl2an 289 | 
. . . . . . . . . . . . . . . 16
⊢
(((abs‘𝑀)
∈ ℕ ∧ (𝑁
∈ ℤ ∧ 𝑁 ≠
0)) → ((abs‘𝑀)
∥ 𝑁 ↔
(abs‘𝑀) ∥
(abs‘𝑁))) | 
| 45 |   | nnsqcl 10701 | 
. . . . . . . . . . . . . . . . . . 19
⊢
((abs‘𝑀)
∈ ℕ → ((abs‘𝑀)↑2) ∈ ℕ) | 
| 46 | 45 | nnzd 9447 | 
. . . . . . . . . . . . . . . . . 18
⊢
((abs‘𝑀)
∈ ℕ → ((abs‘𝑀)↑2) ∈ ℤ) | 
| 47 | 10 | adantr 276 | 
. . . . . . . . . . . . . . . . . 18
⊢ ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → (𝑁↑2) ∈
ℤ) | 
| 48 |   | dvdsabsb 11975 | 
. . . . . . . . . . . . . . . . . 18
⊢
((((abs‘𝑀)↑2) ∈ ℤ ∧ (𝑁↑2) ∈ ℤ) →
(((abs‘𝑀)↑2)
∥ (𝑁↑2) ↔
((abs‘𝑀)↑2)
∥ (abs‘(𝑁↑2)))) | 
| 49 | 46, 47, 48 | syl2an 289 | 
. . . . . . . . . . . . . . . . 17
⊢
(((abs‘𝑀)
∈ ℕ ∧ (𝑁
∈ ℤ ∧ 𝑁 ≠
0)) → (((abs‘𝑀)↑2) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥
(abs‘(𝑁↑2)))) | 
| 50 | 6 | adantr 276 | 
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → 𝑁 ∈
ℂ) | 
| 51 |   | abssq 11246 | 
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝑁 ∈ ℂ →
((abs‘𝑁)↑2) =
(abs‘(𝑁↑2))) | 
| 52 | 50, 51 | syl 14 | 
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) →
((abs‘𝑁)↑2) =
(abs‘(𝑁↑2))) | 
| 53 | 52 | breq2d 4045 | 
. . . . . . . . . . . . . . . . . 18
⊢ ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) →
(((abs‘𝑀)↑2)
∥ ((abs‘𝑁)↑2) ↔ ((abs‘𝑀)↑2) ∥
(abs‘(𝑁↑2)))) | 
| 54 | 53 | adantl 277 | 
. . . . . . . . . . . . . . . . 17
⊢
(((abs‘𝑀)
∈ ℕ ∧ (𝑁
∈ ℤ ∧ 𝑁 ≠
0)) → (((abs‘𝑀)↑2) ∥ ((abs‘𝑁)↑2) ↔
((abs‘𝑀)↑2)
∥ (abs‘(𝑁↑2)))) | 
| 55 | 49, 54 | bitr4d 191 | 
. . . . . . . . . . . . . . . 16
⊢
(((abs‘𝑀)
∈ ℕ ∧ (𝑁
∈ ℤ ∧ 𝑁 ≠
0)) → (((abs‘𝑀)↑2) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥
((abs‘𝑁)↑2))) | 
| 56 | 41, 44, 55 | 3bitr4d 220 | 
. . . . . . . . . . . . . . 15
⊢
(((abs‘𝑀)
∈ ℕ ∧ (𝑁
∈ ℤ ∧ 𝑁 ≠
0)) → ((abs‘𝑀)
∥ 𝑁 ↔
((abs‘𝑀)↑2)
∥ (𝑁↑2))) | 
| 57 | 56 | anassrs 400 | 
. . . . . . . . . . . . . 14
⊢
((((abs‘𝑀)
∈ ℕ ∧ 𝑁
∈ ℤ) ∧ 𝑁
≠ 0) → ((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2))) | 
| 58 | 57 | expcom 116 | 
. . . . . . . . . . . . 13
⊢ (𝑁 ≠ 0 →
(((abs‘𝑀) ∈
ℕ ∧ 𝑁 ∈
ℤ) → ((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))) | 
| 59 | 38, 58 | sylbir 135 | 
. . . . . . . . . . . 12
⊢ (¬
𝑁 = 0 →
(((abs‘𝑀) ∈
ℕ ∧ 𝑁 ∈
ℤ) → ((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))) | 
| 60 | 37, 59 | jaoi 717 | 
. . . . . . . . . . 11
⊢ ((𝑁 = 0 ∨ ¬ 𝑁 = 0) → (((abs‘𝑀) ∈ ℕ ∧ 𝑁 ∈ ℤ) →
((abs‘𝑀) ∥
𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))) | 
| 61 | 23, 24, 60 | 3syl 17 | 
. . . . . . . . . 10
⊢ (𝑁 ∈ ℤ →
(((abs‘𝑀) ∈
ℕ ∧ 𝑁 ∈
ℤ) → ((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))) | 
| 62 | 61 | anabsi7 581 | 
. . . . . . . . 9
⊢
(((abs‘𝑀)
∈ ℕ ∧ 𝑁
∈ ℤ) → ((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2))) | 
| 63 | 21, 62 | sylan 283 | 
. . . . . . . 8
⊢ (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → ((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2))) | 
| 64 |   | absdvdsb 11974 | 
. . . . . . . . 9
⊢ ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 ∥ 𝑁 ↔ (abs‘𝑀) ∥ 𝑁)) | 
| 65 | 64 | adantlr 477 | 
. . . . . . . 8
⊢ (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → (𝑀 ∥ 𝑁 ↔ (abs‘𝑀) ∥ 𝑁)) | 
| 66 |   | zsqcl 10702 | 
. . . . . . . . . . 11
⊢ (𝑀 ∈ ℤ → (𝑀↑2) ∈
ℤ) | 
| 67 | 66 | adantr 276 | 
. . . . . . . . . 10
⊢ ((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → (𝑀↑2) ∈
ℤ) | 
| 68 |   | absdvdsb 11974 | 
. . . . . . . . . 10
⊢ (((𝑀↑2) ∈ ℤ ∧
(𝑁↑2) ∈ ℤ)
→ ((𝑀↑2) ∥
(𝑁↑2) ↔
(abs‘(𝑀↑2))
∥ (𝑁↑2))) | 
| 69 | 67, 10, 68 | syl2an 289 | 
. . . . . . . . 9
⊢ (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → ((𝑀↑2) ∥ (𝑁↑2) ↔ (abs‘(𝑀↑2)) ∥ (𝑁↑2))) | 
| 70 |   | zcn 9331 | 
. . . . . . . . . . . . . 14
⊢ (𝑀 ∈ ℤ → 𝑀 ∈
ℂ) | 
| 71 |   | abssq 11246 | 
. . . . . . . . . . . . . 14
⊢ (𝑀 ∈ ℂ →
((abs‘𝑀)↑2) =
(abs‘(𝑀↑2))) | 
| 72 | 70, 71 | syl 14 | 
. . . . . . . . . . . . 13
⊢ (𝑀 ∈ ℤ →
((abs‘𝑀)↑2) =
(abs‘(𝑀↑2))) | 
| 73 | 72 | eqcomd 2202 | 
. . . . . . . . . . . 12
⊢ (𝑀 ∈ ℤ →
(abs‘(𝑀↑2)) =
((abs‘𝑀)↑2)) | 
| 74 | 73 | adantr 276 | 
. . . . . . . . . . 11
⊢ ((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) →
(abs‘(𝑀↑2)) =
((abs‘𝑀)↑2)) | 
| 75 | 74 | breq1d 4043 | 
. . . . . . . . . 10
⊢ ((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) →
((abs‘(𝑀↑2))
∥ (𝑁↑2) ↔
((abs‘𝑀)↑2)
∥ (𝑁↑2))) | 
| 76 | 75 | adantr 276 | 
. . . . . . . . 9
⊢ (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → ((abs‘(𝑀↑2)) ∥ (𝑁↑2) ↔
((abs‘𝑀)↑2)
∥ (𝑁↑2))) | 
| 77 | 69, 76 | bitrd 188 | 
. . . . . . . 8
⊢ (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → ((𝑀↑2) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2))) | 
| 78 | 63, 65, 77 | 3bitr4d 220 | 
. . . . . . 7
⊢ (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → (𝑀 ∥ 𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2))) | 
| 79 | 78 | an32s 568 | 
. . . . . 6
⊢ (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑀 ≠ 0) → (𝑀 ∥ 𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2))) | 
| 80 | 79 | expcom 116 | 
. . . . 5
⊢ (𝑀 ≠ 0 → ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 ∥ 𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)))) | 
| 81 | 20, 80 | sylbir 135 | 
. . . 4
⊢ (¬
𝑀 = 0 → ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 ∥ 𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)))) | 
| 82 | 19, 81 | jaoi 717 | 
. . 3
⊢ ((𝑀 = 0 ∨ ¬ 𝑀 = 0) → ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 ∥ 𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)))) | 
| 83 | 3, 4, 82 | 3syl 17 | 
. 2
⊢ (𝑀 ∈ ℤ → ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 ∥ 𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)))) | 
| 84 | 83 | anabsi5 579 | 
1
⊢ ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 ∥ 𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2))) |