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

Theorem nn0gcdsq 15938
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 11702 . 2 (𝐴 ∈ ℕ0 ↔ (𝐴 ∈ ℕ ∨ 𝐴 = 0))
2 elnn0 11702 . 2 (𝐵 ∈ ℕ0 ↔ (𝐵 ∈ ℕ ∨ 𝐵 = 0))
3 sqgcd 15755 . . 3 ((𝐴 ∈ ℕ ∧ 𝐵 ∈ ℕ) → ((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)))
4 nncn 11440 . . . . . . 7 (𝐵 ∈ ℕ → 𝐵 ∈ ℂ)
5 abssq 14517 . . . . . . 7 (𝐵 ∈ ℂ → ((abs‘𝐵)↑2) = (abs‘(𝐵↑2)))
64, 5syl 17 . . . . . 6 (𝐵 ∈ ℕ → ((abs‘𝐵)↑2) = (abs‘(𝐵↑2)))
7 nnz 11810 . . . . . . . 8 (𝐵 ∈ ℕ → 𝐵 ∈ ℤ)
8 gcd0id 15717 . . . . . . . 8 (𝐵 ∈ ℤ → (0 gcd 𝐵) = (abs‘𝐵))
97, 8syl 17 . . . . . . 7 (𝐵 ∈ ℕ → (0 gcd 𝐵) = (abs‘𝐵))
109oveq1d 6985 . . . . . 6 (𝐵 ∈ ℕ → ((0 gcd 𝐵)↑2) = ((abs‘𝐵)↑2))
11 sq0 13363 . . . . . . . . 9 (0↑2) = 0
1211a1i 11 . . . . . . . 8 (𝐵 ∈ ℕ → (0↑2) = 0)
1312oveq1d 6985 . . . . . . 7 (𝐵 ∈ ℕ → ((0↑2) gcd (𝐵↑2)) = (0 gcd (𝐵↑2)))
14 zsqcl 13302 . . . . . . . 8 (𝐵 ∈ ℤ → (𝐵↑2) ∈ ℤ)
15 gcd0id 15717 . . . . . . . 8 ((𝐵↑2) ∈ ℤ → (0 gcd (𝐵↑2)) = (abs‘(𝐵↑2)))
167, 14, 153syl 18 . . . . . . 7 (𝐵 ∈ ℕ → (0 gcd (𝐵↑2)) = (abs‘(𝐵↑2)))
1713, 16eqtrd 2808 . . . . . 6 (𝐵 ∈ ℕ → ((0↑2) gcd (𝐵↑2)) = (abs‘(𝐵↑2)))
186, 10, 173eqtr4d 2818 . . . . 5 (𝐵 ∈ ℕ → ((0 gcd 𝐵)↑2) = ((0↑2) gcd (𝐵↑2)))
1918adantl 474 . . . 4 ((𝐴 = 0 ∧ 𝐵 ∈ ℕ) → ((0 gcd 𝐵)↑2) = ((0↑2) gcd (𝐵↑2)))
20 oveq1 6977 . . . . . . 7 (𝐴 = 0 → (𝐴 gcd 𝐵) = (0 gcd 𝐵))
2120oveq1d 6985 . . . . . 6 (𝐴 = 0 → ((𝐴 gcd 𝐵)↑2) = ((0 gcd 𝐵)↑2))
22 oveq1 6977 . . . . . . 7 (𝐴 = 0 → (𝐴↑2) = (0↑2))
2322oveq1d 6985 . . . . . 6 (𝐴 = 0 → ((𝐴↑2) gcd (𝐵↑2)) = ((0↑2) gcd (𝐵↑2)))
2421, 23eqeq12d 2787 . . . . 5 (𝐴 = 0 → (((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)) ↔ ((0 gcd 𝐵)↑2) = ((0↑2) gcd (𝐵↑2))))
2524adantr 473 . . . 4 ((𝐴 = 0 ∧ 𝐵 ∈ ℕ) → (((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)) ↔ ((0 gcd 𝐵)↑2) = ((0↑2) gcd (𝐵↑2))))
2619, 25mpbird 249 . . 3 ((𝐴 = 0 ∧ 𝐵 ∈ ℕ) → ((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)))
27 nncn 11440 . . . . . . 7 (𝐴 ∈ ℕ → 𝐴 ∈ ℂ)
28 abssq 14517 . . . . . . 7 (𝐴 ∈ ℂ → ((abs‘𝐴)↑2) = (abs‘(𝐴↑2)))
2927, 28syl 17 . . . . . 6 (𝐴 ∈ ℕ → ((abs‘𝐴)↑2) = (abs‘(𝐴↑2)))
30 nnz 11810 . . . . . . . 8 (𝐴 ∈ ℕ → 𝐴 ∈ ℤ)
31 gcdid0 15718 . . . . . . . 8 (𝐴 ∈ ℤ → (𝐴 gcd 0) = (abs‘𝐴))
3230, 31syl 17 . . . . . . 7 (𝐴 ∈ ℕ → (𝐴 gcd 0) = (abs‘𝐴))
3332oveq1d 6985 . . . . . 6 (𝐴 ∈ ℕ → ((𝐴 gcd 0)↑2) = ((abs‘𝐴)↑2))
3411a1i 11 . . . . . . . 8 (𝐴 ∈ ℕ → (0↑2) = 0)
3534oveq2d 6986 . . . . . . 7 (𝐴 ∈ ℕ → ((𝐴↑2) gcd (0↑2)) = ((𝐴↑2) gcd 0))
36 zsqcl 13302 . . . . . . . 8 (𝐴 ∈ ℤ → (𝐴↑2) ∈ ℤ)
37 gcdid0 15718 . . . . . . . 8 ((𝐴↑2) ∈ ℤ → ((𝐴↑2) gcd 0) = (abs‘(𝐴↑2)))
3830, 36, 373syl 18 . . . . . . 7 (𝐴 ∈ ℕ → ((𝐴↑2) gcd 0) = (abs‘(𝐴↑2)))
3935, 38eqtrd 2808 . . . . . 6 (𝐴 ∈ ℕ → ((𝐴↑2) gcd (0↑2)) = (abs‘(𝐴↑2)))
4029, 33, 393eqtr4d 2818 . . . . 5 (𝐴 ∈ ℕ → ((𝐴 gcd 0)↑2) = ((𝐴↑2) gcd (0↑2)))
4140adantr 473 . . . 4 ((𝐴 ∈ ℕ ∧ 𝐵 = 0) → ((𝐴 gcd 0)↑2) = ((𝐴↑2) gcd (0↑2)))
42 oveq2 6978 . . . . . . 7 (𝐵 = 0 → (𝐴 gcd 𝐵) = (𝐴 gcd 0))
4342oveq1d 6985 . . . . . 6 (𝐵 = 0 → ((𝐴 gcd 𝐵)↑2) = ((𝐴 gcd 0)↑2))
44 oveq1 6977 . . . . . . 7 (𝐵 = 0 → (𝐵↑2) = (0↑2))
4544oveq2d 6986 . . . . . 6 (𝐵 = 0 → ((𝐴↑2) gcd (𝐵↑2)) = ((𝐴↑2) gcd (0↑2)))
4643, 45eqeq12d 2787 . . . . 5 (𝐵 = 0 → (((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)) ↔ ((𝐴 gcd 0)↑2) = ((𝐴↑2) gcd (0↑2))))
4746adantl 474 . . . 4 ((𝐴 ∈ ℕ ∧ 𝐵 = 0) → (((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)) ↔ ((𝐴 gcd 0)↑2) = ((𝐴↑2) gcd (0↑2))))
4841, 47mpbird 249 . . 3 ((𝐴 ∈ ℕ ∧ 𝐵 = 0) → ((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)))
49 gcd0val 15696 . . . . . 6 (0 gcd 0) = 0
5049oveq1i 6980 . . . . 5 ((0 gcd 0)↑2) = (0↑2)
5111, 11oveq12i 6982 . . . . . 6 ((0↑2) gcd (0↑2)) = (0 gcd 0)
5251, 49eqtri 2796 . . . . 5 ((0↑2) gcd (0↑2)) = 0
5311, 50, 523eqtr4i 2806 . . . 4 ((0 gcd 0)↑2) = ((0↑2) gcd (0↑2))
54 oveq12 6979 . . . . 5 ((𝐴 = 0 ∧ 𝐵 = 0) → (𝐴 gcd 𝐵) = (0 gcd 0))
5554oveq1d 6985 . . . 4 ((𝐴 = 0 ∧ 𝐵 = 0) → ((𝐴 gcd 𝐵)↑2) = ((0 gcd 0)↑2))
5622, 44oveqan12d 6989 . . . 4 ((𝐴 = 0 ∧ 𝐵 = 0) → ((𝐴↑2) gcd (𝐵↑2)) = ((0↑2) gcd (0↑2)))
5753, 55, 563eqtr4a 2834 . . 3 ((𝐴 = 0 ∧ 𝐵 = 0) → ((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)))
583, 26, 48, 57ccase 1018 . 2 (((𝐴 ∈ ℕ ∨ 𝐴 = 0) ∧ (𝐵 ∈ ℕ ∨ 𝐵 = 0)) → ((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)))
591, 2, 58syl2anb 588 1 ((𝐴 ∈ ℕ0𝐵 ∈ ℕ0) → ((𝐴 gcd 𝐵)↑2) = ((𝐴↑2) gcd (𝐵↑2)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 198  wa 387  wo 833   = wceq 1507  wcel 2048  cfv 6182  (class class class)co 6970  cc 10325  0cc0 10327  cn 11431  2c2 11488  0cn0 11700  cz 11786  cexp 13237  abscabs 14444   gcd cgcd 15693
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1758  ax-4 1772  ax-5 1869  ax-6 1928  ax-7 1964  ax-8 2050  ax-9 2057  ax-10 2077  ax-11 2091  ax-12 2104  ax-13 2299  ax-ext 2745  ax-sep 5054  ax-nul 5061  ax-pow 5113  ax-pr 5180  ax-un 7273  ax-cnex 10383  ax-resscn 10384  ax-1cn 10385  ax-icn 10386  ax-addcl 10387  ax-addrcl 10388  ax-mulcl 10389  ax-mulrcl 10390  ax-mulcom 10391  ax-addass 10392  ax-mulass 10393  ax-distr 10394  ax-i2m1 10395  ax-1ne0 10396  ax-1rid 10397  ax-rnegex 10398  ax-rrecex 10399  ax-cnre 10400  ax-pre-lttri 10401  ax-pre-lttrn 10402  ax-pre-ltadd 10403  ax-pre-mulgt0 10404  ax-pre-sup 10405
This theorem depends on definitions:  df-bi 199  df-an 388  df-or 834  df-3or 1069  df-3an 1070  df-tru 1510  df-ex 1743  df-nf 1747  df-sb 2014  df-mo 2544  df-eu 2580  df-clab 2754  df-cleq 2765  df-clel 2840  df-nfc 2912  df-ne 2962  df-nel 3068  df-ral 3087  df-rex 3088  df-reu 3089  df-rmo 3090  df-rab 3091  df-v 3411  df-sbc 3678  df-csb 3783  df-dif 3828  df-un 3830  df-in 3832  df-ss 3839  df-pss 3841  df-nul 4174  df-if 4345  df-pw 4418  df-sn 4436  df-pr 4438  df-tp 4440  df-op 4442  df-uni 4707  df-iun 4788  df-br 4924  df-opab 4986  df-mpt 5003  df-tr 5025  df-id 5305  df-eprel 5310  df-po 5319  df-so 5320  df-fr 5359  df-we 5361  df-xp 5406  df-rel 5407  df-cnv 5408  df-co 5409  df-dm 5410  df-rn 5411  df-res 5412  df-ima 5413  df-pred 5980  df-ord 6026  df-on 6027  df-lim 6028  df-suc 6029  df-iota 6146  df-fun 6184  df-fn 6185  df-f 6186  df-f1 6187  df-fo 6188  df-f1o 6189  df-fv 6190  df-riota 6931  df-ov 6973  df-oprab 6974  df-mpo 6975  df-om 7391  df-2nd 7495  df-wrecs 7743  df-recs 7805  df-rdg 7843  df-er 8081  df-en 8299  df-dom 8300  df-sdom 8301  df-sup 8693  df-inf 8694  df-pnf 10468  df-mnf 10469  df-xr 10470  df-ltxr 10471  df-le 10472  df-sub 10664  df-neg 10665  df-div 11091  df-nn 11432  df-2 11496  df-3 11497  df-n0 11701  df-z 11787  df-uz 12052  df-rp 12198  df-fl 12970  df-mod 13046  df-seq 13178  df-exp 13238  df-cj 14309  df-re 14310  df-im 14311  df-sqrt 14445  df-abs 14446  df-dvds 15458  df-gcd 15694
This theorem is referenced by:  zgcdsq  15939
  Copyright terms: Public domain W3C validator