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

Theorem gcddiv 16571
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 12618 . . . . . . 7 (𝐶 ∈ ℕ → 𝐶 ∈ ℤ)
213ad2ant3 1135 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → 𝐶 ∈ ℤ)
3 simp1 1136 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → 𝐴 ∈ ℤ)
4 divides 16275 . . . . . 6 ((𝐶 ∈ ℤ ∧ 𝐴 ∈ ℤ) → (𝐶𝐴 ↔ ∃𝑎 ∈ ℤ (𝑎 · 𝐶) = 𝐴))
52, 3, 4syl2anc 584 . . . . 5 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (𝐶𝐴 ↔ ∃𝑎 ∈ ℤ (𝑎 · 𝐶) = 𝐴))
6 simp2 1137 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → 𝐵 ∈ ℤ)
7 divides 16275 . . . . . 6 ((𝐶 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐶𝐵 ↔ ∃𝑏 ∈ ℤ (𝑏 · 𝐶) = 𝐵))
82, 6, 7syl2anc 584 . . . . 5 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (𝐶𝐵 ↔ ∃𝑏 ∈ ℤ (𝑏 · 𝐶) = 𝐵))
95, 8anbi12d 632 . . . 4 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → ((𝐶𝐴𝐶𝐵) ↔ (∃𝑎 ∈ ℤ (𝑎 · 𝐶) = 𝐴 ∧ ∃𝑏 ∈ ℤ (𝑏 · 𝐶) = 𝐵)))
10 reeanv 3216 . . . 4 (∃𝑎 ∈ ℤ ∃𝑏 ∈ ℤ ((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) ↔ (∃𝑎 ∈ ℤ (𝑎 · 𝐶) = 𝐴 ∧ ∃𝑏 ∈ ℤ (𝑏 · 𝐶) = 𝐵))
119, 10bitr4di 289 . . 3 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → ((𝐶𝐴𝐶𝐵) ↔ ∃𝑎 ∈ ℤ ∃𝑏 ∈ ℤ ((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵)))
12 gcdcl 16526 . . . . . . . . . . . 12 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (𝑎 gcd 𝑏) ∈ ℕ0)
1312nn0cnd 12573 . . . . . . . . . . 11 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (𝑎 gcd 𝑏) ∈ ℂ)
14133adant3 1132 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (𝑎 gcd 𝑏) ∈ ℂ)
15 nncn 12257 . . . . . . . . . . 11 (𝐶 ∈ ℕ → 𝐶 ∈ ℂ)
16153ad2ant3 1135 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → 𝐶 ∈ ℂ)
17 nnne0 12283 . . . . . . . . . . 11 (𝐶 ∈ ℕ → 𝐶 ≠ 0)
18173ad2ant3 1135 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → 𝐶 ≠ 0)
1914, 16, 18divcan4d 12032 . . . . . . . . 9 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (((𝑎 gcd 𝑏) · 𝐶) / 𝐶) = (𝑎 gcd 𝑏))
20 nnnn0 12517 . . . . . . . . . . 11 (𝐶 ∈ ℕ → 𝐶 ∈ ℕ0)
21 mulgcdr 16570 . . . . . . . . . . 11 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ0) → ((𝑎 · 𝐶) gcd (𝑏 · 𝐶)) = ((𝑎 gcd 𝑏) · 𝐶))
2220, 21syl3an3 1165 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → ((𝑎 · 𝐶) gcd (𝑏 · 𝐶)) = ((𝑎 gcd 𝑏) · 𝐶))
2322oveq1d 7429 . . . . . . . . 9 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (((𝑎 · 𝐶) gcd (𝑏 · 𝐶)) / 𝐶) = (((𝑎 gcd 𝑏) · 𝐶) / 𝐶))
24 zcn 12602 . . . . . . . . . . . 12 (𝑎 ∈ ℤ → 𝑎 ∈ ℂ)
25243ad2ant1 1133 . . . . . . . . . . 11 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → 𝑎 ∈ ℂ)
2625, 16, 18divcan4d 12032 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → ((𝑎 · 𝐶) / 𝐶) = 𝑎)
27 zcn 12602 . . . . . . . . . . . 12 (𝑏 ∈ ℤ → 𝑏 ∈ ℂ)
28273ad2ant2 1134 . . . . . . . . . . 11 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → 𝑏 ∈ ℂ)
2928, 16, 18divcan4d 12032 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → ((𝑏 · 𝐶) / 𝐶) = 𝑏)
3026, 29oveq12d 7432 . . . . . . . . 9 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (((𝑎 · 𝐶) / 𝐶) gcd ((𝑏 · 𝐶) / 𝐶)) = (𝑎 gcd 𝑏))
3119, 23, 303eqtr4d 2779 . . . . . . . 8 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (((𝑎 · 𝐶) gcd (𝑏 · 𝐶)) / 𝐶) = (((𝑎 · 𝐶) / 𝐶) gcd ((𝑏 · 𝐶) / 𝐶)))
32 oveq12 7423 . . . . . . . . . 10 (((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → ((𝑎 · 𝐶) gcd (𝑏 · 𝐶)) = (𝐴 gcd 𝐵))
3332oveq1d 7429 . . . . . . . . 9 (((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → (((𝑎 · 𝐶) gcd (𝑏 · 𝐶)) / 𝐶) = ((𝐴 gcd 𝐵) / 𝐶))
34 oveq1 7421 . . . . . . . . . 10 ((𝑎 · 𝐶) = 𝐴 → ((𝑎 · 𝐶) / 𝐶) = (𝐴 / 𝐶))
35 oveq1 7421 . . . . . . . . . 10 ((𝑏 · 𝐶) = 𝐵 → ((𝑏 · 𝐶) / 𝐶) = (𝐵 / 𝐶))
3634, 35oveqan12d 7433 . . . . . . . . 9 (((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → (((𝑎 · 𝐶) / 𝐶) gcd ((𝑏 · 𝐶) / 𝐶)) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶)))
3733, 36eqeq12d 2750 . . . . . . . 8 (((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → ((((𝑎 · 𝐶) gcd (𝑏 · 𝐶)) / 𝐶) = (((𝑎 · 𝐶) / 𝐶) gcd ((𝑏 · 𝐶) / 𝐶)) ↔ ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶))))
3831, 37syl5ibcom 245 . . . . . . 7 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶))))
39383expa 1118 . . . . . 6 (((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ 𝐶 ∈ ℕ) → (((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶))))
4039expcom 413 . . . . 5 (𝐶 ∈ ℕ → ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶)))))
4140rexlimdvv 3199 . . . 4 (𝐶 ∈ ℕ → (∃𝑎 ∈ ℤ ∃𝑏 ∈ ℤ ((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶))))
42413ad2ant3 1135 . . 3 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → (∃𝑎 ∈ ℤ ∃𝑏 ∈ ℤ ((𝑎 · 𝐶) = 𝐴 ∧ (𝑏 · 𝐶) = 𝐵) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶))))
4311, 42sylbid 240 . 2 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) → ((𝐶𝐴𝐶𝐵) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶))))
4443imp 406 1 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℕ) ∧ (𝐶𝐴𝐶𝐵)) → ((𝐴 gcd 𝐵) / 𝐶) = ((𝐴 / 𝐶) gcd (𝐵 / 𝐶)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1086   = wceq 1539  wcel 2107  wne 2931  wrex 3059   class class class wbr 5125  (class class class)co 7414  cc 11136  0cc0 11138   · cmul 11143   / cdiv 11903  cn 12249  0cn0 12510  cz 12597  cdvds 16273   gcd cgcd 16514
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1794  ax-4 1808  ax-5 1909  ax-6 1966  ax-7 2006  ax-8 2109  ax-9 2117  ax-10 2140  ax-11 2156  ax-12 2176  ax-ext 2706  ax-sep 5278  ax-nul 5288  ax-pow 5347  ax-pr 5414  ax-un 7738  ax-cnex 11194  ax-resscn 11195  ax-1cn 11196  ax-icn 11197  ax-addcl 11198  ax-addrcl 11199  ax-mulcl 11200  ax-mulrcl 11201  ax-mulcom 11202  ax-addass 11203  ax-mulass 11204  ax-distr 11205  ax-i2m1 11206  ax-1ne0 11207  ax-1rid 11208  ax-rnegex 11209  ax-rrecex 11210  ax-cnre 11211  ax-pre-lttri 11212  ax-pre-lttrn 11213  ax-pre-ltadd 11214  ax-pre-mulgt0 11215  ax-pre-sup 11216
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1542  df-fal 1552  df-ex 1779  df-nf 1783  df-sb 2064  df-mo 2538  df-eu 2567  df-clab 2713  df-cleq 2726  df-clel 2808  df-nfc 2884  df-ne 2932  df-nel 3036  df-ral 3051  df-rex 3060  df-rmo 3364  df-reu 3365  df-rab 3421  df-v 3466  df-sbc 3773  df-csb 3882  df-dif 3936  df-un 3938  df-in 3940  df-ss 3950  df-pss 3953  df-nul 4316  df-if 4508  df-pw 4584  df-sn 4609  df-pr 4611  df-op 4615  df-uni 4890  df-iun 4975  df-br 5126  df-opab 5188  df-mpt 5208  df-tr 5242  df-id 5560  df-eprel 5566  df-po 5574  df-so 5575  df-fr 5619  df-we 5621  df-xp 5673  df-rel 5674  df-cnv 5675  df-co 5676  df-dm 5677  df-rn 5678  df-res 5679  df-ima 5680  df-pred 6303  df-ord 6368  df-on 6369  df-lim 6370  df-suc 6371  df-iota 6495  df-fun 6544  df-fn 6545  df-f 6546  df-f1 6547  df-fo 6548  df-f1o 6549  df-fv 6550  df-riota 7371  df-ov 7417  df-oprab 7418  df-mpo 7419  df-om 7871  df-2nd 7998  df-frecs 8289  df-wrecs 8320  df-recs 8394  df-rdg 8433  df-er 8728  df-en 8969  df-dom 8970  df-sdom 8971  df-sup 9465  df-inf 9466  df-pnf 11280  df-mnf 11281  df-xr 11282  df-ltxr 11283  df-le 11284  df-sub 11477  df-neg 11478  df-div 11904  df-nn 12250  df-2 12312  df-3 12313  df-n0 12511  df-z 12598  df-uz 12862  df-rp 13018  df-fl 13815  df-mod 13893  df-seq 14026  df-exp 14086  df-cj 15121  df-re 15122  df-im 15123  df-sqrt 15257  df-abs 15258  df-dvds 16274  df-gcd 16515
This theorem is referenced by:  sqgcd  16582  expgcd  16583  divgcdodd  16730  divnumden  16768  hashgcdlem  16808  pythagtriplem19  16854
  Copyright terms: Public domain W3C validator