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

Theorem nn0gcdsq 16719
Description: Squaring commutes with GCD, in particular two coprime numbers have coprime squares. (Contributed by Stefan O'Rear, 15-Sep-2014.)
Assertion
Ref Expression
nn0gcdsq ((𝐴 ∈ ℕ0𝐵 ∈ ℕ0) → ((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)))

Proof of Theorem nn0gcdsq
StepHypRef Expression
1 elnn0 12436 . 2 (𝐴 ∈ ℕ0 ↔ (𝐴 ∈ ℕ ∨ 𝐴 = 0))
2 elnn0 12436 . 2 (𝐵 ∈ ℕ0 ↔ (𝐵 ∈ ℕ ∨ 𝐵 = 0))
3 sqgcd 16528 . . 3 ((𝐴 ∈ ℕ ∧ 𝐵 ∈ ℕ) → ((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)))
4 nncn 12179 . . . . . . 7 (𝐵 ∈ ℕ → 𝐵 ∈ ℂ)
5 abssq 15265 . . . . . . 7 (𝐵 ∈ ℂ → ((abs‘𝐵)↑2) = (abs‘(𝐵↑2)))
64, 5syl 17 . . . . . 6 (𝐵 ∈ ℕ → ((abs‘𝐵)↑2) = (abs‘(𝐵↑2)))
7 nnz 12542 . . . . . . . 8 (𝐵 ∈ ℕ → 𝐵 ∈ ℤ)
8 gcd0id 16485 . . . . . . . 8 (𝐵 ∈ ℤ → (0 gcd 𝐵) = (abs‘𝐵))
97, 8syl 17 . . . . . . 7 (𝐵 ∈ ℕ → (0 gcd 𝐵) = (abs‘𝐵))
109oveq1d 7379 . . . . . 6 (𝐵 ∈ ℕ → ((0 gcd 𝐵)↑2) = ((abs‘𝐵)↑2))
11 sq0 14151 . . . . . . . . 9 (0↑2) = 0
1211a1i 11 . . . . . . . 8 (𝐵 ∈ ℕ → (0↑2) = 0)
1312oveq1d 7379 . . . . . . 7 (𝐵 ∈ ℕ → ((0↑2) gcd (𝐵↑2)) = (0 gcd (𝐵↑2)))
14 zsqcl 14088 . . . . . . . 8 (𝐵 ∈ ℤ → (𝐵↑2) ∈ ℤ)
15 gcd0id 16485 . . . . . . . 8 ((𝐵↑2) ∈ ℤ → (0 gcd (𝐵↑2)) = (abs‘(𝐵↑2)))
167, 14, 153syl 18 . . . . . . 7 (𝐵 ∈ ℕ → (0 gcd (𝐵↑2)) = (abs‘(𝐵↑2)))
1713, 16eqtrd 2772 . . . . . 6 (𝐵 ∈ ℕ → ((0↑2) gcd (𝐵↑2)) = (abs‘(𝐵↑2)))
186, 10, 173eqtr4d 2782 . . . . 5 (𝐵 ∈ ℕ → ((0 gcd 𝐵)↑2) = ((0↑2) gcd (𝐵↑2)))
1918adantl 481 . . . 4 ((𝐴 = 0 ∧ 𝐵 ∈ ℕ) → ((0 gcd 𝐵)↑2) = ((0↑2) gcd (𝐵↑2)))
20 oveq1 7371 . . . . . . 7 (𝐴 = 0 → (𝐴 gcd 𝐵) = (0 gcd 𝐵))
2120oveq1d 7379 . . . . . 6 (𝐴 = 0 → ((𝐴 gcd 𝐵)↑2) = ((0 gcd 𝐵)↑2))
22 oveq1 7371 . . . . . . 7 (𝐴 = 0 → (𝐴↑2) = (0↑2))
2322oveq1d 7379 . . . . . 6 (𝐴 = 0 → ((𝐴↑2) gcd (𝐵↑2)) = ((0↑2) gcd (𝐵↑2)))
2421, 23eqeq12d 2753 . . . . 5 (𝐴 = 0 → (((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)) ↔ ((0 gcd 𝐵)↑2) = ((0↑2) gcd (𝐵↑2))))
2524adantr 480 . . . 4 ((𝐴 = 0 ∧ 𝐵 ∈ ℕ) → (((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)) ↔ ((0 gcd 𝐵)↑2) = ((0↑2) gcd (𝐵↑2))))
2619, 25mpbird 257 . . 3 ((𝐴 = 0 ∧ 𝐵 ∈ ℕ) → ((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)))
27 nncn 12179 . . . . . . 7 (𝐴 ∈ ℕ → 𝐴 ∈ ℂ)
28 abssq 15265 . . . . . . 7 (𝐴 ∈ ℂ → ((abs‘𝐴)↑2) = (abs‘(𝐴↑2)))
2927, 28syl 17 . . . . . 6 (𝐴 ∈ ℕ → ((abs‘𝐴)↑2) = (abs‘(𝐴↑2)))
30 nnz 12542 . . . . . . . 8 (𝐴 ∈ ℕ → 𝐴 ∈ ℤ)
31 gcdid0 16486 . . . . . . . 8 (𝐴 ∈ ℤ → (𝐴 gcd 0) = (abs‘𝐴))
3230, 31syl 17 . . . . . . 7 (𝐴 ∈ ℕ → (𝐴 gcd 0) = (abs‘𝐴))
3332oveq1d 7379 . . . . . 6 (𝐴 ∈ ℕ → ((𝐴 gcd 0)↑2) = ((abs‘𝐴)↑2))
3411a1i 11 . . . . . . . 8 (𝐴 ∈ ℕ → (0↑2) = 0)
3534oveq2d 7380 . . . . . . 7 (𝐴 ∈ ℕ → ((𝐴↑2) gcd (0↑2)) = ((𝐴↑2) gcd 0))
36 zsqcl 14088 . . . . . . . 8 (𝐴 ∈ ℤ → (𝐴↑2) ∈ ℤ)
37 gcdid0 16486 . . . . . . . 8 ((𝐴↑2) ∈ ℤ → ((𝐴↑2) gcd 0) = (abs‘(𝐴↑2)))
3830, 36, 373syl 18 . . . . . . 7 (𝐴 ∈ ℕ → ((𝐴↑2) gcd 0) = (abs‘(𝐴↑2)))
3935, 38eqtrd 2772 . . . . . 6 (𝐴 ∈ ℕ → ((𝐴↑2) gcd (0↑2)) = (abs‘(𝐴↑2)))
4029, 33, 393eqtr4d 2782 . . . . 5 (𝐴 ∈ ℕ → ((𝐴 gcd 0)↑2) = ((𝐴↑2) gcd (0↑2)))
4140adantr 480 . . . 4 ((𝐴 ∈ ℕ ∧ 𝐵 = 0) → ((𝐴 gcd 0)↑2) = ((𝐴↑2) gcd (0↑2)))
42 oveq2 7372 . . . . . . 7 (𝐵 = 0 → (𝐴 gcd 𝐵) = (𝐴 gcd 0))
4342oveq1d 7379 . . . . . 6 (𝐵 = 0 → ((𝐴 gcd 𝐵)↑2) = ((𝐴 gcd 0)↑2))
44 oveq1 7371 . . . . . . 7 (𝐵 = 0 → (𝐵↑2) = (0↑2))
4544oveq2d 7380 . . . . . 6 (𝐵 = 0 → ((𝐴↑2) gcd (𝐵↑2)) = ((𝐴↑2) gcd (0↑2)))
4643, 45eqeq12d 2753 . . . . 5 (𝐵 = 0 → (((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)) ↔ ((𝐴 gcd 0)↑2) = ((𝐴↑2) gcd (0↑2))))
4746adantl 481 . . . 4 ((𝐴 ∈ ℕ ∧ 𝐵 = 0) → (((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)) ↔ ((𝐴 gcd 0)↑2) = ((𝐴↑2) gcd (0↑2))))
4841, 47mpbird 257 . . 3 ((𝐴 ∈ ℕ ∧ 𝐵 = 0) → ((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)))
49 gcd0val 16463 . . . . . 6 (0 gcd 0) = 0
5049oveq1i 7374 . . . . 5 ((0 gcd 0)↑2) = (0↑2)
5111, 11oveq12i 7376 . . . . . 6 ((0↑2) gcd (0↑2)) = (0 gcd 0)
5251, 49eqtri 2760 . . . . 5 ((0↑2) gcd (0↑2)) = 0
5311, 50, 523eqtr4i 2770 . . . 4 ((0 gcd 0)↑2) = ((0↑2) gcd (0↑2))
54 oveq12 7373 . . . . 5 ((𝐴 = 0 ∧ 𝐵 = 0) → (𝐴 gcd 𝐵) = (0 gcd 0))
5554oveq1d 7379 . . . 4 ((𝐴 = 0 ∧ 𝐵 = 0) → ((𝐴 gcd 𝐵)↑2) = ((0 gcd 0)↑2))
5622, 44oveqan12d 7383 . . . 4 ((𝐴 = 0 ∧ 𝐵 = 0) → ((𝐴↑2) gcd (𝐵↑2)) = ((0↑2) gcd (0↑2)))
5753, 55, 563eqtr4a 2798 . . 3 ((𝐴 = 0 ∧ 𝐵 = 0) → ((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)))
583, 26, 48, 57ccase 1038 . 2 (((𝐴 ∈ ℕ ∨ 𝐴 = 0) ∧ (𝐵 ∈ ℕ ∨ 𝐵 = 0)) → ((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)))
591, 2, 58syl2anb 599 1 ((𝐴 ∈ ℕ0𝐵 ∈ ℕ0) → ((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  wo 848   = wceq 1542  wcel 2114  cfv 6496  (class class class)co 7364  cc 11033  0cc0 11035  cn 12171  2c2 12233  0cn0 12434  cz 12521  cexp 14020  abscabs 15193   gcd cgcd 16460
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-sep 5232  ax-nul 5242  ax-pow 5306  ax-pr 5374  ax-un 7686  ax-cnex 11091  ax-resscn 11092  ax-1cn 11093  ax-icn 11094  ax-addcl 11095  ax-addrcl 11096  ax-mulcl 11097  ax-mulrcl 11098  ax-mulcom 11099  ax-addass 11100  ax-mulass 11101  ax-distr 11102  ax-i2m1 11103  ax-1ne0 11104  ax-1rid 11105  ax-rnegex 11106  ax-rrecex 11107  ax-cnre 11108  ax-pre-lttri 11109  ax-pre-lttrn 11110  ax-pre-ltadd 11111  ax-pre-mulgt0 11112  ax-pre-sup 11113
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-nel 3038  df-ral 3053  df-rex 3063  df-rmo 3343  df-reu 3344  df-rab 3391  df-v 3432  df-sbc 3730  df-csb 3839  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-pss 3910  df-nul 4275  df-if 4468  df-pw 4544  df-sn 4569  df-pr 4571  df-op 4575  df-uni 4852  df-iun 4936  df-br 5087  df-opab 5149  df-mpt 5168  df-tr 5194  df-id 5523  df-eprel 5528  df-po 5536  df-so 5537  df-fr 5581  df-we 5583  df-xp 5634  df-rel 5635  df-cnv 5636  df-co 5637  df-dm 5638  df-rn 5639  df-res 5640  df-ima 5641  df-pred 6263  df-ord 6324  df-on 6325  df-lim 6326  df-suc 6327  df-iota 6452  df-fun 6498  df-fn 6499  df-f 6500  df-f1 6501  df-fo 6502  df-f1o 6503  df-fv 6504  df-riota 7321  df-ov 7367  df-oprab 7368  df-mpo 7369  df-om 7815  df-2nd 7940  df-frecs 8228  df-wrecs 8259  df-recs 8308  df-rdg 8346  df-er 8640  df-en 8891  df-dom 8892  df-sdom 8893  df-sup 9352  df-inf 9353  df-pnf 11178  df-mnf 11179  df-xr 11180  df-ltxr 11181  df-le 11182  df-sub 11376  df-neg 11377  df-div 11805  df-nn 12172  df-2 12241  df-3 12242  df-n0 12435  df-z 12522  df-uz 12786  df-rp 12940  df-fl 13748  df-mod 13826  df-seq 13961  df-exp 14021  df-cj 15058  df-re 15059  df-im 15060  df-sqrt 15194  df-abs 15195  df-dvds 16219  df-gcd 16461
This theorem is referenced by:  zgcdsq  16720
  Copyright terms: Public domain W3C validator