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

Theorem gcddiv 16518
Description: Division law for GCD. (Contributed by Scott Fenton, 18-Apr-2014.) (Revised by Mario Carneiro, 19-Apr-2014.)
Assertion
Ref Expression
gcddiv (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) ∧ (𝐶𝐴𝐶𝐵)) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶)))

Proof of Theorem gcddiv
Dummy variables 𝑎 𝑏 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 nnz 12543 . . . . . . 7 (𝐶 ∈ ℕ → 𝐶 ∈ ℤ)
213ad2ant3 1141 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → 𝐶 ∈ ℤ)
3 simp1 1142 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → 𝐴 ∈ ℤ)
4 divides 16221 . . . . . 6 ((𝐶 ∈ ℤ ∧ 𝐴 ∈ ℤ) → (𝐶𝐴 ↔ ∃𝑎 ∈ ℤ (𝑎 · 𝐶) = 𝐴))
52, 3, 4syl2anc 590 . . . . 5 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (𝐶𝐴 ↔ ∃𝑎 ∈ ℤ (𝑎 · 𝐶) = 𝐴))
6 simp2 1143 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → 𝐵 ∈ ℤ)
7 divides 16221 . . . . . 6 ((𝐶 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐶𝐵 ↔ ∃𝑏 ∈ ℤ (𝑏 · 𝐶) = 𝐵))
82, 6, 7syl2anc 590 . . . . 5 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (𝐶𝐵 ↔ ∃𝑏 ∈ ℤ (𝑏 · 𝐶) = 𝐵))
95, 8anbi12d 638 . . . 4 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → ((𝐶𝐴𝐶𝐵) ↔ (∃𝑎 ∈ ℤ (𝑎 · 𝐶) = 𝐴 ∧ ∃𝑏 ∈ ℤ (𝑏 · 𝐶) = 𝐵)))
10 reeanv 3212 . . . 4 (∃𝑎 ∈ ℤ ∃𝑏 ∈ ℤ ((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) ↔ (∃𝑎 ∈ ℤ (𝑎 · 𝐶) = 𝐴 ∧ ∃𝑏 ∈ ℤ (𝑏 · 𝐶) = 𝐵))
119, 10bitr4di 290 . . 3 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → ((𝐶𝐴𝐶𝐵) ↔ ∃𝑎 ∈ ℤ ∃𝑏 ∈ ℤ ((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵)))
12 gcdcl 16473 . . . . . . . . . . . 12 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (𝑎 gcd 𝑏) ∈ ℕ0)
1312nn0cnd 12498 . . . . . . . . . . 11 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (𝑎 gcd 𝑏) ∈ ℂ)
14133adant3 1138 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (𝑎 gcd 𝑏) ∈ ℂ)
15 nncn 12180 . . . . . . . . . . 11 (𝐶 ∈ ℕ → 𝐶 ∈ ℂ)
16153ad2ant3 1141 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → 𝐶 ∈ ℂ)
17 nnne0 12209 . . . . . . . . . . 11 (𝐶 ∈ ℕ → 𝐶 ≠ 0)
18173ad2ant3 1141 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → 𝐶 ≠ 0)
1914, 16, 18divcan4d 11935 . . . . . . . . 9 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (((𝑎 gcd 𝑏) · 𝐶) / 𝐶) = (𝑎 gcd 𝑏))
20 nnnn0 12442 . . . . . . . . . . 11 (𝐶 ∈ ℕ → 𝐶 ∈ ℕ0)
21 mulgcdr 16517 . . . . . . . . . . 11 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ0) → ((𝑎 · 𝐶) gcd (𝑏 · 𝐶)) = ((𝑎 gcd 𝑏) · 𝐶))
2220, 21syl3an3 1171 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → ((𝑎 · 𝐶) gcd (𝑏 · 𝐶)) = ((𝑎 gcd 𝑏) · 𝐶))
2322oveq1d 7378 . . . . . . . . 9 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (((𝑎 · 𝐶) gcd (𝑏 · 𝐶)) / 𝐶) = (((𝑎 gcd 𝑏) · 𝐶) / 𝐶))
24 zcn 12527 . . . . . . . . . . . 12 (𝑎 ∈ ℤ → 𝑎 ∈ ℂ)
25243ad2ant1 1139 . . . . . . . . . . 11 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → 𝑎 ∈ ℂ)
2625, 16, 18divcan4d 11935 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → ((𝑎 · 𝐶) / 𝐶) = 𝑎)
27 zcn 12527 . . . . . . . . . . . 12 (𝑏 ∈ ℤ → 𝑏 ∈ ℂ)
28273ad2ant2 1140 . . . . . . . . . . 11 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → 𝑏 ∈ ℂ)
2928, 16, 18divcan4d 11935 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → ((𝑏 · 𝐶) / 𝐶) = 𝑏)
3026, 29oveq12d 7381 . . . . . . . . 9 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (((𝑎 · 𝐶) / 𝐶) gcd ((𝑏 · 𝐶) / 𝐶)) = (𝑎 gcd 𝑏))
3119, 23, 303eqtr4d 2785 . . . . . . . 8 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (((𝑎 · 𝐶) gcd (𝑏 · 𝐶)) / 𝐶) = (((𝑎 · 𝐶) / 𝐶) gcd ((𝑏 · 𝐶) / 𝐶)))
32 oveq12 7372 . . . . . . . . . 10 (((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → ((𝑎 · 𝐶) gcd (𝑏 · 𝐶)) = (𝐴 gcd 𝐵))
3332oveq1d 7378 . . . . . . . . 9 (((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → (((𝑎 · 𝐶) gcd (𝑏 · 𝐶)) / 𝐶) = ((𝐴 gcd 𝐵) / 𝐶))
34 oveq1 7370 . . . . . . . . . 10 ((𝑎 · 𝐶) = 𝐴 → ((𝑎 · 𝐶) / 𝐶) = (𝐴 / 𝐶))
35 oveq1 7370 . . . . . . . . . 10 ((𝑏 · 𝐶) = 𝐵 → ((𝑏 · 𝐶) / 𝐶) = (𝐵 / 𝐶))
3634, 35oveqan12d 7382 . . . . . . . . 9 (((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → (((𝑎 · 𝐶) / 𝐶) gcd ((𝑏 · 𝐶) / 𝐶)) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶)))
3733, 36eqeq12d 2756 . . . . . . . 8 (((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → ((((𝑎 · 𝐶) gcd (𝑏 · 𝐶)) / 𝐶) = (((𝑎 · 𝐶) / 𝐶) gcd ((𝑏 · 𝐶) / 𝐶)) ↔ ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶))))
3831, 37syl5ibcom 246 . . . . . . 7 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶))))
39383expa 1124 . . . . . 6 (((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ 𝐶 ∈ ℕ) → (((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶))))
4039expcom 414 . . . . 5 (𝐶 ∈ ℕ → ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶)))))
4140rexlimdvv 3196 . . . 4 (𝐶 ∈ ℕ → (∃𝑎 ∈ ℤ ∃𝑏 ∈ ℤ ((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶))))
42413ad2ant3 1141 . . 3 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (∃𝑎 ∈ ℤ ∃𝑏 ∈ ℤ ((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶))))
4311, 42sylbid 241 . 2 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → ((𝐶𝐴𝐶𝐵) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶))))
4443imp 407 1 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) ∧ (𝐶𝐴𝐶𝐵)) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 207  wa 396  w3a 1092   = wceq 1547  wcel 2119  wne 2935  wrex 3064   class class class wbr 5079  (class class class)co 7363  cc 11034  0cc0 11036   · cmul 11041   / cdiv 11805  cn 12172  0cn0 12435  cz 12522  cdvds 16219   gcd cgcd 16461
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-ext 2712  ax-sep 5225  ax-nul 5235  ax-pow 5301  ax-pr 5369  ax-un 7685  ax-cnex 11092  ax-resscn 11093  ax-1cn 11094  ax-icn 11095  ax-addcl 11096  ax-addrcl 11097  ax-mulcl 11098  ax-mulrcl 11099  ax-mulcom 11100  ax-addass 11101  ax-mulass 11102  ax-distr 11103  ax-i2m1 11104  ax-1ne0 11105  ax-1rid 11106  ax-rnegex 11107  ax-rrecex 11108  ax-cnre 11109  ax-pre-lttri 11110  ax-pre-lttrn 11111  ax-pre-ltadd 11112  ax-pre-mulgt0 11113  ax-pre-sup 11114
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3or 1093  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-mo 2543  df-eu 2573  df-clab 2719  df-cleq 2732  df-clel 2815  df-nfc 2889  df-ne 2936  df-nel 3040  df-ral 3055  df-rex 3065  df-rmo 3345  df-reu 3346  df-rab 3393  df-v 3434  df-sbc 3731  df-csb 3839  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-pss 3910  df-nul 4269  df-if 4462  df-pw 4538  df-sn 4563  df-pr 4565  df-op 4569  df-uni 4846  df-iun 4930  df-br 5080  df-opab 5142  df-mpt 5161  df-tr 5187  df-id 5520  df-eprel 5525  df-po 5533  df-so 5534  df-fr 5578  df-we 5580  df-xp 5631  df-rel 5632  df-cnv 5633  df-co 5634  df-dm 5635  df-rn 5636  df-res 5637  df-ima 5638  df-pred 6259  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-fv 6500  df-riota 7320  df-ov 7366  df-oprab 7367  df-mpo 7368  df-om 7814  df-2nd 7939  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 11179  df-mnf 11180  df-xr 11181  df-ltxr 11182  df-le 11183  df-sub 11377  df-neg 11378  df-div 11806  df-nn 12173  df-2 12242  df-3 12243  df-n0 12436  df-z 12523  df-uz 12787  df-rp 12941  df-fl 13749  df-mod 13827  df-seq 13962  df-exp 14022  df-cj 15059  df-re 15060  df-im 15061  df-sqrt 15195  df-abs 15196  df-dvds 16220  df-gcd 16462
This theorem is referenced by:  sqgcd  16529  expgcd  16530  divgcdodd  16678  divnumden  16716  hashgcdlem  16756  pythagtriplem19  16802
  Copyright terms: Public domain W3C validator