MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  dvdssq Structured version   Visualization version   GIF version

Theorem dvdssq 15204
Description: Two numbers are divisible iff their squares are. (Contributed by Scott Fenton, 18-Apr-2014.) (Revised by Mario Carneiro, 19-Apr-2014.)
Assertion
Ref Expression
dvdssq ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)))

Proof of Theorem dvdssq
StepHypRef Expression
1 breq1 4616 . . 3 (𝑀 = 0 → (𝑀𝑁 ↔ 0 ∥ 𝑁))
2 sq0i 12896 . . . 4 (𝑀 = 0 → (𝑀↑2) = 0)
32breq1d 4623 . . 3 (𝑀 = 0 → ((𝑀↑2) ∥ (𝑁↑2) ↔ 0 ∥ (𝑁↑2)))
41, 3bibi12d 335 . 2 (𝑀 = 0 → ((𝑀𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)) ↔ (0 ∥ 𝑁 ↔ 0 ∥ (𝑁↑2))))
5 nnabscl 13999 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → (abs‘𝑀) ∈ ℕ)
6 breq2 4617 . . . . . . 7 (𝑁 = 0 → ((abs‘𝑀) ∥ 𝑁 ↔ (abs‘𝑀) ∥ 0))
7 sq0i 12896 . . . . . . . 8 (𝑁 = 0 → (𝑁↑2) = 0)
87breq2d 4625 . . . . . . 7 (𝑁 = 0 → (((abs‘𝑀)↑2) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ 0))
96, 8bibi12d 335 . . . . . 6 (𝑁 = 0 → (((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)) ↔ ((abs‘𝑀) ∥ 0 ↔ ((abs‘𝑀)↑2) ∥ 0)))
10 nnabscl 13999 . . . . . . . . 9 ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → (abs‘𝑁) ∈ ℕ)
11 dvdssqlem 15203 . . . . . . . . 9 (((abs‘𝑀) ∈ ℕ ∧ (abs‘𝑁) ∈ ℕ) → ((abs‘𝑀) ∥ (abs‘𝑁) ↔ ((abs‘𝑀)↑2) ∥ ((abs‘𝑁)↑2)))
1210, 11sylan2 491 . . . . . . . 8 (((abs‘𝑀) ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ 𝑁 ≠ 0)) → ((abs‘𝑀) ∥ (abs‘𝑁) ↔ ((abs‘𝑀)↑2) ∥ ((abs‘𝑁)↑2)))
13 nnz 11343 . . . . . . . . 9 ((abs‘𝑀) ∈ ℕ → (abs‘𝑀) ∈ ℤ)
14 simpl 473 . . . . . . . . 9 ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → 𝑁 ∈ ℤ)
15 dvdsabsb 14925 . . . . . . . . 9 (((abs‘𝑀) ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((abs‘𝑀) ∥ 𝑁 ↔ (abs‘𝑀) ∥ (abs‘𝑁)))
1613, 14, 15syl2an 494 . . . . . . . 8 (((abs‘𝑀) ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ 𝑁 ≠ 0)) → ((abs‘𝑀) ∥ 𝑁 ↔ (abs‘𝑀) ∥ (abs‘𝑁)))
17 nnsqcl 12873 . . . . . . . . . . 11 ((abs‘𝑀) ∈ ℕ → ((abs‘𝑀)↑2) ∈ ℕ)
1817nnzd 11425 . . . . . . . . . 10 ((abs‘𝑀) ∈ ℕ → ((abs‘𝑀)↑2) ∈ ℤ)
19 zsqcl 12874 . . . . . . . . . . 11 (𝑁 ∈ ℤ → (𝑁↑2) ∈ ℤ)
2019adantr 481 . . . . . . . . . 10 ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → (𝑁↑2) ∈ ℤ)
21 dvdsabsb 14925 . . . . . . . . . 10 ((((abs‘𝑀)↑2) ∈ ℤ ∧ (𝑁↑2) ∈ ℤ) → (((abs‘𝑀)↑2) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ (abs‘(𝑁↑2))))
2218, 20, 21syl2an 494 . . . . . . . . 9 (((abs‘𝑀) ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ 𝑁 ≠ 0)) → (((abs‘𝑀)↑2) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ (abs‘(𝑁↑2))))
23 zcn 11326 . . . . . . . . . . . . 13 (𝑁 ∈ ℤ → 𝑁 ∈ ℂ)
2423adantr 481 . . . . . . . . . . . 12 ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → 𝑁 ∈ ℂ)
25 abssq 13980 . . . . . . . . . . . 12 (𝑁 ∈ ℂ → ((abs‘𝑁)↑2) = (abs‘(𝑁↑2)))
2624, 25syl 17 . . . . . . . . . . 11 ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → ((abs‘𝑁)↑2) = (abs‘(𝑁↑2)))
2726breq2d 4625 . . . . . . . . . 10 ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → (((abs‘𝑀)↑2) ∥ ((abs‘𝑁)↑2) ↔ ((abs‘𝑀)↑2) ∥ (abs‘(𝑁↑2))))
2827adantl 482 . . . . . . . . 9 (((abs‘𝑀) ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ 𝑁 ≠ 0)) → (((abs‘𝑀)↑2) ∥ ((abs‘𝑁)↑2) ↔ ((abs‘𝑀)↑2) ∥ (abs‘(𝑁↑2))))
2922, 28bitr4d 271 . . . . . . . 8 (((abs‘𝑀) ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ 𝑁 ≠ 0)) → (((abs‘𝑀)↑2) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ ((abs‘𝑁)↑2)))
3012, 16, 293bitr4d 300 . . . . . . 7 (((abs‘𝑀) ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ 𝑁 ≠ 0)) → ((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))
3130anassrs 679 . . . . . 6 ((((abs‘𝑀) ∈ ℕ ∧ 𝑁 ∈ ℤ) ∧ 𝑁 ≠ 0) → ((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))
32 dvds0 14921 . . . . . . . . 9 ((abs‘𝑀) ∈ ℤ → (abs‘𝑀) ∥ 0)
33 zsqcl 12874 . . . . . . . . . 10 ((abs‘𝑀) ∈ ℤ → ((abs‘𝑀)↑2) ∈ ℤ)
34 dvds0 14921 . . . . . . . . . 10 (((abs‘𝑀)↑2) ∈ ℤ → ((abs‘𝑀)↑2) ∥ 0)
3533, 34syl 17 . . . . . . . . 9 ((abs‘𝑀) ∈ ℤ → ((abs‘𝑀)↑2) ∥ 0)
3632, 352thd 255 . . . . . . . 8 ((abs‘𝑀) ∈ ℤ → ((abs‘𝑀) ∥ 0 ↔ ((abs‘𝑀)↑2) ∥ 0))
3713, 36syl 17 . . . . . . 7 ((abs‘𝑀) ∈ ℕ → ((abs‘𝑀) ∥ 0 ↔ ((abs‘𝑀)↑2) ∥ 0))
3837adantr 481 . . . . . 6 (((abs‘𝑀) ∈ ℕ ∧ 𝑁 ∈ ℤ) → ((abs‘𝑀) ∥ 0 ↔ ((abs‘𝑀)↑2) ∥ 0))
399, 31, 38pm2.61ne 2875 . . . . 5 (((abs‘𝑀) ∈ ℕ ∧ 𝑁 ∈ ℤ) → ((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))
405, 39sylan 488 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → ((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))
41 absdvdsb 14924 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀𝑁 ↔ (abs‘𝑀) ∥ 𝑁))
4241adantlr 750 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → (𝑀𝑁 ↔ (abs‘𝑀) ∥ 𝑁))
43 zsqcl 12874 . . . . . . 7 (𝑀 ∈ ℤ → (𝑀↑2) ∈ ℤ)
4443adantr 481 . . . . . 6 ((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → (𝑀↑2) ∈ ℤ)
45 absdvdsb 14924 . . . . . 6 (((𝑀↑2) ∈ ℤ ∧ (𝑁↑2) ∈ ℤ) → ((𝑀↑2) ∥ (𝑁↑2) ↔ (abs‘(𝑀↑2)) ∥ (𝑁↑2)))
4644, 19, 45syl2an 494 . . . . 5 (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → ((𝑀↑2) ∥ (𝑁↑2) ↔ (abs‘(𝑀↑2)) ∥ (𝑁↑2)))
47 zcn 11326 . . . . . . . . . 10 (𝑀 ∈ ℤ → 𝑀 ∈ ℂ)
48 abssq 13980 . . . . . . . . . 10 (𝑀 ∈ ℂ → ((abs‘𝑀)↑2) = (abs‘(𝑀↑2)))
4947, 48syl 17 . . . . . . . . 9 (𝑀 ∈ ℤ → ((abs‘𝑀)↑2) = (abs‘(𝑀↑2)))
5049eqcomd 2627 . . . . . . . 8 (𝑀 ∈ ℤ → (abs‘(𝑀↑2)) = ((abs‘𝑀)↑2))
5150adantr 481 . . . . . . 7 ((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → (abs‘(𝑀↑2)) = ((abs‘𝑀)↑2))
5251breq1d 4623 . . . . . 6 ((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → ((abs‘(𝑀↑2)) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))
5352adantr 481 . . . . 5 (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → ((abs‘(𝑀↑2)) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))
5446, 53bitrd 268 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → ((𝑀↑2) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))
5540, 42, 543bitr4d 300 . . 3 (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → (𝑀𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)))
5655an32s 845 . 2 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑀 ≠ 0) → (𝑀𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)))
57 0dvds 14926 . . . . 5 (𝑁 ∈ ℤ → (0 ∥ 𝑁𝑁 = 0))
58 sqeq0 12867 . . . . . 6 (𝑁 ∈ ℂ → ((𝑁↑2) = 0 ↔ 𝑁 = 0))
5923, 58syl 17 . . . . 5 (𝑁 ∈ ℤ → ((𝑁↑2) = 0 ↔ 𝑁 = 0))
6057, 59bitr4d 271 . . . 4 (𝑁 ∈ ℤ → (0 ∥ 𝑁 ↔ (𝑁↑2) = 0))
61 0dvds 14926 . . . . 5 ((𝑁↑2) ∈ ℤ → (0 ∥ (𝑁↑2) ↔ (𝑁↑2) = 0))
6219, 61syl 17 . . . 4 (𝑁 ∈ ℤ → (0 ∥ (𝑁↑2) ↔ (𝑁↑2) = 0))
6360, 62bitr4d 271 . . 3 (𝑁 ∈ ℤ → (0 ∥ 𝑁 ↔ 0 ∥ (𝑁↑2)))
6463adantl 482 . 2 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (0 ∥ 𝑁 ↔ 0 ∥ (𝑁↑2)))
654, 56, 64pm2.61ne 2875 1 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 384   = wceq 1480  wcel 1987  wne 2790   class class class wbr 4613  cfv 5847  (class class class)co 6604  cc 9878  0cc0 9880  cn 10964  2c2 11014  cz 11321  cexp 12800  abscabs 13908  cdvds 14907
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1719  ax-4 1734  ax-5 1836  ax-6 1885  ax-7 1932  ax-8 1989  ax-9 1996  ax-10 2016  ax-11 2031  ax-12 2044  ax-13 2245  ax-ext 2601  ax-sep 4741  ax-nul 4749  ax-pow 4803  ax-pr 4867  ax-un 6902  ax-cnex 9936  ax-resscn 9937  ax-1cn 9938  ax-icn 9939  ax-addcl 9940  ax-addrcl 9941  ax-mulcl 9942  ax-mulrcl 9943  ax-mulcom 9944  ax-addass 9945  ax-mulass 9946  ax-distr 9947  ax-i2m1 9948  ax-1ne0 9949  ax-1rid 9950  ax-rnegex 9951  ax-rrecex 9952  ax-cnre 9953  ax-pre-lttri 9954  ax-pre-lttrn 9955  ax-pre-ltadd 9956  ax-pre-mulgt0 9957  ax-pre-sup 9958
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1037  df-3an 1038  df-tru 1483  df-ex 1702  df-nf 1707  df-sb 1878  df-eu 2473  df-mo 2474  df-clab 2608  df-cleq 2614  df-clel 2617  df-nfc 2750  df-ne 2791  df-nel 2894  df-ral 2912  df-rex 2913  df-reu 2914  df-rmo 2915  df-rab 2916  df-v 3188  df-sbc 3418  df-csb 3515  df-dif 3558  df-un 3560  df-in 3562  df-ss 3569  df-pss 3571  df-nul 3892  df-if 4059  df-pw 4132  df-sn 4149  df-pr 4151  df-tp 4153  df-op 4155  df-uni 4403  df-iun 4487  df-br 4614  df-opab 4674  df-mpt 4675  df-tr 4713  df-eprel 4985  df-id 4989  df-po 4995  df-so 4996  df-fr 5033  df-we 5035  df-xp 5080  df-rel 5081  df-cnv 5082  df-co 5083  df-dm 5084  df-rn 5085  df-res 5086  df-ima 5087  df-pred 5639  df-ord 5685  df-on 5686  df-lim 5687  df-suc 5688  df-iota 5810  df-fun 5849  df-fn 5850  df-f 5851  df-f1 5852  df-fo 5853  df-f1o 5854  df-fv 5855  df-riota 6565  df-ov 6607  df-oprab 6608  df-mpt2 6609  df-om 7013  df-2nd 7114  df-wrecs 7352  df-recs 7413  df-rdg 7451  df-er 7687  df-en 7900  df-dom 7901  df-sdom 7902  df-sup 8292  df-inf 8293  df-pnf 10020  df-mnf 10021  df-xr 10022  df-ltxr 10023  df-le 10024  df-sub 10212  df-neg 10213  df-div 10629  df-nn 10965  df-2 11023  df-3 11024  df-n0 11237  df-z 11322  df-uz 11632  df-rp 11777  df-fl 12533  df-mod 12609  df-seq 12742  df-exp 12801  df-cj 13773  df-re 13774  df-im 13775  df-sqrt 13909  df-abs 13910  df-dvds 14908  df-gcd 15141
This theorem is referenced by:  pythagtriplem19  15462  4sqlem9  15574  4sqlem10  15575  lgsdir  24957  2sqlem8a  25050
  Copyright terms: Public domain W3C validator