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

Theorem dvdssq 16600
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 5150 . . 3 (𝑀 = 0 → (𝑀𝑁 ↔ 0 ∥ 𝑁))
2 sq0i 14228 . . . 4 (𝑀 = 0 → (𝑀↑2) = 0)
32breq1d 5157 . . 3 (𝑀 = 0 → ((𝑀↑2) ∥ (𝑁↑2) ↔ 0 ∥ (𝑁↑2)))
41, 3bibi12d 345 . 2 (𝑀 = 0 → ((𝑀𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)) ↔ (0 ∥ 𝑁 ↔ 0 ∥ (𝑁↑2))))
5 nnabscl 15360 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → (abs‘𝑀) ∈ ℕ)
6 breq2 5151 . . . . . . 7 (𝑁 = 0 → ((abs‘𝑀) ∥ 𝑁 ↔ (abs‘𝑀) ∥ 0))
7 sq0i 14228 . . . . . . . 8 (𝑁 = 0 → (𝑁↑2) = 0)
87breq2d 5159 . . . . . . 7 (𝑁 = 0 → (((abs‘𝑀)↑2) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ 0))
96, 8bibi12d 345 . . . . . 6 (𝑁 = 0 → (((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)) ↔ ((abs‘𝑀) ∥ 0 ↔ ((abs‘𝑀)↑2) ∥ 0)))
10 nnabscl 15360 . . . . . . . . 9 ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → (abs‘𝑁) ∈ ℕ)
11 dvdssqlem 16599 . . . . . . . . 9 (((abs‘𝑀) ∈ ℕ ∧ (abs‘𝑁) ∈ ℕ) → ((abs‘𝑀) ∥ (abs‘𝑁) ↔ ((abs‘𝑀)↑2) ∥ ((abs‘𝑁)↑2)))
1210, 11sylan2 593 . . . . . . . 8 (((abs‘𝑀) ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ 𝑁 ≠ 0)) → ((abs‘𝑀) ∥ (abs‘𝑁) ↔ ((abs‘𝑀)↑2) ∥ ((abs‘𝑁)↑2)))
13 nnz 12631 . . . . . . . . 9 ((abs‘𝑀) ∈ ℕ → (abs‘𝑀) ∈ ℤ)
14 simpl 482 . . . . . . . . 9 ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → 𝑁 ∈ ℤ)
15 dvdsabsb 16309 . . . . . . . . 9 (((abs‘𝑀) ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((abs‘𝑀) ∥ 𝑁 ↔ (abs‘𝑀) ∥ (abs‘𝑁)))
1613, 14, 15syl2an 596 . . . . . . . 8 (((abs‘𝑀) ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ 𝑁 ≠ 0)) → ((abs‘𝑀) ∥ 𝑁 ↔ (abs‘𝑀) ∥ (abs‘𝑁)))
17 nnsqcl 14164 . . . . . . . . . . 11 ((abs‘𝑀) ∈ ℕ → ((abs‘𝑀)↑2) ∈ ℕ)
1817nnzd 12637 . . . . . . . . . 10 ((abs‘𝑀) ∈ ℕ → ((abs‘𝑀)↑2) ∈ ℤ)
19 zsqcl 14165 . . . . . . . . . . 11 (𝑁 ∈ ℤ → (𝑁↑2) ∈ ℤ)
2019adantr 480 . . . . . . . . . 10 ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → (𝑁↑2) ∈ ℤ)
21 dvdsabsb 16309 . . . . . . . . . 10 ((((abs‘𝑀)↑2) ∈ ℤ ∧ (𝑁↑2) ∈ ℤ) → (((abs‘𝑀)↑2) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ (abs‘(𝑁↑2))))
2218, 20, 21syl2an 596 . . . . . . . . 9 (((abs‘𝑀) ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ 𝑁 ≠ 0)) → (((abs‘𝑀)↑2) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ (abs‘(𝑁↑2))))
23 zcn 12615 . . . . . . . . . . . . 13 (𝑁 ∈ ℤ → 𝑁 ∈ ℂ)
2423adantr 480 . . . . . . . . . . . 12 ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → 𝑁 ∈ ℂ)
25 abssq 15341 . . . . . . . . . . . 12 (𝑁 ∈ ℂ → ((abs‘𝑁)↑2) = (abs‘(𝑁↑2)))
2624, 25syl 17 . . . . . . . . . . 11 ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → ((abs‘𝑁)↑2) = (abs‘(𝑁↑2)))
2726breq2d 5159 . . . . . . . . . 10 ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → (((abs‘𝑀)↑2) ∥ ((abs‘𝑁)↑2) ↔ ((abs‘𝑀)↑2) ∥ (abs‘(𝑁↑2))))
2827adantl 481 . . . . . . . . 9 (((abs‘𝑀) ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ 𝑁 ≠ 0)) → (((abs‘𝑀)↑2) ∥ ((abs‘𝑁)↑2) ↔ ((abs‘𝑀)↑2) ∥ (abs‘(𝑁↑2))))
2922, 28bitr4d 282 . . . . . . . 8 (((abs‘𝑀) ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ 𝑁 ≠ 0)) → (((abs‘𝑀)↑2) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ ((abs‘𝑁)↑2)))
3012, 16, 293bitr4d 311 . . . . . . 7 (((abs‘𝑀) ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ 𝑁 ≠ 0)) → ((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))
3130anassrs 467 . . . . . 6 ((((abs‘𝑀) ∈ ℕ ∧ 𝑁 ∈ ℤ) ∧ 𝑁 ≠ 0) → ((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))
32 dvds0 16305 . . . . . . . . 9 ((abs‘𝑀) ∈ ℤ → (abs‘𝑀) ∥ 0)
33 zsqcl 14165 . . . . . . . . . 10 ((abs‘𝑀) ∈ ℤ → ((abs‘𝑀)↑2) ∈ ℤ)
34 dvds0 16305 . . . . . . . . . 10 (((abs‘𝑀)↑2) ∈ ℤ → ((abs‘𝑀)↑2) ∥ 0)
3533, 34syl 17 . . . . . . . . 9 ((abs‘𝑀) ∈ ℤ → ((abs‘𝑀)↑2) ∥ 0)
3632, 352thd 265 . . . . . . . 8 ((abs‘𝑀) ∈ ℤ → ((abs‘𝑀) ∥ 0 ↔ ((abs‘𝑀)↑2) ∥ 0))
3713, 36syl 17 . . . . . . 7 ((abs‘𝑀) ∈ ℕ → ((abs‘𝑀) ∥ 0 ↔ ((abs‘𝑀)↑2) ∥ 0))
3837adantr 480 . . . . . 6 (((abs‘𝑀) ∈ ℕ ∧ 𝑁 ∈ ℤ) → ((abs‘𝑀) ∥ 0 ↔ ((abs‘𝑀)↑2) ∥ 0))
399, 31, 38pm2.61ne 3024 . . . . 5 (((abs‘𝑀) ∈ ℕ ∧ 𝑁 ∈ ℤ) → ((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))
405, 39sylan 580 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → ((abs‘𝑀) ∥ 𝑁 ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))
41 absdvdsb 16308 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀𝑁 ↔ (abs‘𝑀) ∥ 𝑁))
4241adantlr 715 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → (𝑀𝑁 ↔ (abs‘𝑀) ∥ 𝑁))
43 zsqcl 14165 . . . . . . 7 (𝑀 ∈ ℤ → (𝑀↑2) ∈ ℤ)
4443adantr 480 . . . . . 6 ((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → (𝑀↑2) ∈ ℤ)
45 absdvdsb 16308 . . . . . 6 (((𝑀↑2) ∈ ℤ ∧ (𝑁↑2) ∈ ℤ) → ((𝑀↑2) ∥ (𝑁↑2) ↔ (abs‘(𝑀↑2)) ∥ (𝑁↑2)))
4644, 19, 45syl2an 596 . . . . 5 (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → ((𝑀↑2) ∥ (𝑁↑2) ↔ (abs‘(𝑀↑2)) ∥ (𝑁↑2)))
47 zcn 12615 . . . . . . . . . 10 (𝑀 ∈ ℤ → 𝑀 ∈ ℂ)
48 abssq 15341 . . . . . . . . . 10 (𝑀 ∈ ℂ → ((abs‘𝑀)↑2) = (abs‘(𝑀↑2)))
4947, 48syl 17 . . . . . . . . 9 (𝑀 ∈ ℤ → ((abs‘𝑀)↑2) = (abs‘(𝑀↑2)))
5049eqcomd 2740 . . . . . . . 8 (𝑀 ∈ ℤ → (abs‘(𝑀↑2)) = ((abs‘𝑀)↑2))
5150adantr 480 . . . . . . 7 ((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → (abs‘(𝑀↑2)) = ((abs‘𝑀)↑2))
5251breq1d 5157 . . . . . 6 ((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → ((abs‘(𝑀↑2)) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))
5352adantr 480 . . . . 5 (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → ((abs‘(𝑀↑2)) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))
5446, 53bitrd 279 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → ((𝑀↑2) ∥ (𝑁↑2) ↔ ((abs‘𝑀)↑2) ∥ (𝑁↑2)))
5540, 42, 543bitr4d 311 . . 3 (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ 𝑁 ∈ ℤ) → (𝑀𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)))
5655an32s 652 . 2 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑀 ≠ 0) → (𝑀𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)))
57 0dvds 16310 . . . . 5 (𝑁 ∈ ℤ → (0 ∥ 𝑁𝑁 = 0))
58 sqeq0 14156 . . . . . 6 (𝑁 ∈ ℂ → ((𝑁↑2) = 0 ↔ 𝑁 = 0))
5923, 58syl 17 . . . . 5 (𝑁 ∈ ℤ → ((𝑁↑2) = 0 ↔ 𝑁 = 0))
6057, 59bitr4d 282 . . . 4 (𝑁 ∈ ℤ → (0 ∥ 𝑁 ↔ (𝑁↑2) = 0))
61 0dvds 16310 . . . . 5 ((𝑁↑2) ∈ ℤ → (0 ∥ (𝑁↑2) ↔ (𝑁↑2) = 0))
6219, 61syl 17 . . . 4 (𝑁 ∈ ℤ → (0 ∥ (𝑁↑2) ↔ (𝑁↑2) = 0))
6360, 62bitr4d 282 . . 3 (𝑁 ∈ ℤ → (0 ∥ 𝑁 ↔ 0 ∥ (𝑁↑2)))
6463adantl 481 . 2 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (0 ∥ 𝑁 ↔ 0 ∥ (𝑁↑2)))
654, 56, 64pm2.61ne 3024 1 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395   = wceq 1536  wcel 2105  wne 2937   class class class wbr 5147  cfv 6562  (class class class)co 7430  cc 11150  0cc0 11152  cn 12263  2c2 12318  cz 12610  cexp 14098  abscabs 15269  cdvds 16286
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1791  ax-4 1805  ax-5 1907  ax-6 1964  ax-7 2004  ax-8 2107  ax-9 2115  ax-10 2138  ax-11 2154  ax-12 2174  ax-ext 2705  ax-sep 5301  ax-nul 5311  ax-pow 5370  ax-pr 5437  ax-un 7753  ax-cnex 11208  ax-resscn 11209  ax-1cn 11210  ax-icn 11211  ax-addcl 11212  ax-addrcl 11213  ax-mulcl 11214  ax-mulrcl 11215  ax-mulcom 11216  ax-addass 11217  ax-mulass 11218  ax-distr 11219  ax-i2m1 11220  ax-1ne0 11221  ax-1rid 11222  ax-rnegex 11223  ax-rrecex 11224  ax-cnre 11225  ax-pre-lttri 11226  ax-pre-lttrn 11227  ax-pre-ltadd 11228  ax-pre-mulgt0 11229  ax-pre-sup 11230
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1539  df-fal 1549  df-ex 1776  df-nf 1780  df-sb 2062  df-mo 2537  df-eu 2566  df-clab 2712  df-cleq 2726  df-clel 2813  df-nfc 2889  df-ne 2938  df-nel 3044  df-ral 3059  df-rex 3068  df-rmo 3377  df-reu 3378  df-rab 3433  df-v 3479  df-sbc 3791  df-csb 3908  df-dif 3965  df-un 3967  df-in 3969  df-ss 3979  df-pss 3982  df-nul 4339  df-if 4531  df-pw 4606  df-sn 4631  df-pr 4633  df-op 4637  df-uni 4912  df-iun 4997  df-br 5148  df-opab 5210  df-mpt 5231  df-tr 5265  df-id 5582  df-eprel 5588  df-po 5596  df-so 5597  df-fr 5640  df-we 5642  df-xp 5694  df-rel 5695  df-cnv 5696  df-co 5697  df-dm 5698  df-rn 5699  df-res 5700  df-ima 5701  df-pred 6322  df-ord 6388  df-on 6389  df-lim 6390  df-suc 6391  df-iota 6515  df-fun 6564  df-fn 6565  df-f 6566  df-f1 6567  df-fo 6568  df-f1o 6569  df-fv 6570  df-riota 7387  df-ov 7433  df-oprab 7434  df-mpo 7435  df-om 7887  df-2nd 8013  df-frecs 8304  df-wrecs 8335  df-recs 8409  df-rdg 8448  df-er 8743  df-en 8984  df-dom 8985  df-sdom 8986  df-sup 9479  df-inf 9480  df-pnf 11294  df-mnf 11295  df-xr 11296  df-ltxr 11297  df-le 11298  df-sub 11491  df-neg 11492  df-div 11918  df-nn 12264  df-2 12326  df-3 12327  df-n0 12524  df-z 12611  df-uz 12876  df-rp 13032  df-fl 13828  df-mod 13906  df-seq 14039  df-exp 14099  df-cj 15134  df-re 15135  df-im 15136  df-sqrt 15270  df-abs 15271  df-dvds 16287  df-gcd 16528
This theorem is referenced by:  pythagtriplem19  16866  4sqlem9  16979  4sqlem10  16980  lgsdir  27390  2sqlem8a  27483
  Copyright terms: Public domain W3C validator