Users' Mathboxes Mathbox for Jim Kingdon < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  dfgcd3 Structured version   Visualization version   GIF version

Theorem dfgcd3 34738
Description: Alternate definition of the gcd operator. (Contributed by Jim Kingdon, 31-Dec-2021.)
Assertion
Ref Expression
dfgcd3 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 gcd 𝑁) = (𝑑 ∈ ℕ0𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
Distinct variable groups:   𝑀,𝑑,𝑧   𝑁,𝑑,𝑧

Proof of Theorem dfgcd3
StepHypRef Expression
1 gcdcl 15845 . . 3 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 gcd 𝑁) ∈ ℕ0)
2 simplr 768 . . . . . . . . 9 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 ∈ ℕ0)
32nn0zd 12073 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 ∈ ℤ)
4 iddvds 15615 . . . . . . . 8 (𝑑 ∈ ℤ → 𝑑𝑑)
53, 4syl 17 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑𝑑)
6 simpr 488 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
7 breq1 5033 . . . . . . . . . 10 (𝑧 = 𝑑 → (𝑧𝑑𝑑𝑑))
8 breq1 5033 . . . . . . . . . . 11 (𝑧 = 𝑑 → (𝑧𝑀𝑑𝑀))
9 breq1 5033 . . . . . . . . . . 11 (𝑧 = 𝑑 → (𝑧𝑁𝑑𝑁))
108, 9anbi12d 633 . . . . . . . . . 10 (𝑧 = 𝑑 → ((𝑧𝑀𝑧𝑁) ↔ (𝑑𝑀𝑑𝑁)))
117, 10bibi12d 349 . . . . . . . . 9 (𝑧 = 𝑑 → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁))))
1211rspcv 3566 . . . . . . . 8 (𝑑 ∈ ℤ → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁))))
133, 6, 12sylc 65 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁)))
145, 13mpbid 235 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑𝑀𝑑𝑁))
15 biimpr 223 . . . . . . . 8 ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
1615ralimi 3128 . . . . . . 7 (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
176, 16syl 17 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
18 dfgcd2 15884 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 = (𝑀 gcd 𝑁) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
1918adantr 484 . . . . . . . 8 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
20 simpr 488 . . . . . . . . . 10 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → 𝑑 ∈ ℕ0)
2120nn0ge0d 11946 . . . . . . . . 9 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → 0 ≤ 𝑑)
22213biant1d 1475 . . . . . . . 8 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑)) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2319, 22bitr4d 285 . . . . . . 7 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) ↔ ((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2423adantr 484 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑 = (𝑀 gcd 𝑁) ↔ ((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2514, 17, 24mpbir2and 712 . . . . 5 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 = (𝑀 gcd 𝑁))
2625ex 416 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → 𝑑 = (𝑀 gcd 𝑁)))
27 dvdsgcdb 15883 . . . . . . . . . . 11 ((𝑧 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((𝑧𝑀𝑧𝑁) ↔ 𝑧 ∥ (𝑀 gcd 𝑁)))
2827bicomd 226 . . . . . . . . . 10 ((𝑧 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
29283coml 1124 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑧 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
3029ad4ant124 1170 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
31 breq2 5034 . . . . . . . . . 10 (𝑑 = (𝑀 gcd 𝑁) → (𝑧𝑑𝑧 ∥ (𝑀 gcd 𝑁)))
3231bibi1d 347 . . . . . . . . 9 (𝑑 = (𝑀 gcd 𝑁) → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁))))
3332ad2antlr 726 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁))))
3430, 33mpbird 260 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
3534ralrimiva 3149 . . . . . 6 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
3635ex 416 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 = (𝑀 gcd 𝑁) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
3736adantr 484 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
3826, 37impbid 215 . . 3 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ 𝑑 = (𝑀 gcd 𝑁)))
391, 38riota5 7122 . 2 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 ∈ ℕ0𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) = (𝑀 gcd 𝑁))
4039eqcomd 2804 1 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 gcd 𝑁) = (𝑑 ∈ ℕ0𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 399  w3a 1084   = wceq 1538  wcel 2111  wral 3106   class class class wbr 5030  crio 7092  (class class class)co 7135  0cc0 10526  cle 10665  0cn0 11885  cz 11969  cdvds 15599   gcd cgcd 15833
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 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2770  ax-sep 5167  ax-nul 5174  ax-pow 5231  ax-pr 5295  ax-un 7441  ax-cnex 10582  ax-resscn 10583  ax-1cn 10584  ax-icn 10585  ax-addcl 10586  ax-addrcl 10587  ax-mulcl 10588  ax-mulrcl 10589  ax-mulcom 10590  ax-addass 10591  ax-mulass 10592  ax-distr 10593  ax-i2m1 10594  ax-1ne0 10595  ax-1rid 10596  ax-rnegex 10597  ax-rrecex 10598  ax-cnre 10599  ax-pre-lttri 10600  ax-pre-lttrn 10601  ax-pre-ltadd 10602  ax-pre-mulgt0 10603  ax-pre-sup 10604
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3or 1085  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2598  df-eu 2629  df-clab 2777  df-cleq 2791  df-clel 2870  df-nfc 2938  df-ne 2988  df-nel 3092  df-ral 3111  df-rex 3112  df-reu 3113  df-rmo 3114  df-rab 3115  df-v 3443  df-sbc 3721  df-csb 3829  df-dif 3884  df-un 3886  df-in 3888  df-ss 3898  df-pss 3900  df-nul 4244  df-if 4426  df-pw 4499  df-sn 4526  df-pr 4528  df-tp 4530  df-op 4532  df-uni 4801  df-iun 4883  df-br 5031  df-opab 5093  df-mpt 5111  df-tr 5137  df-id 5425  df-eprel 5430  df-po 5438  df-so 5439  df-fr 5478  df-we 5480  df-xp 5525  df-rel 5526  df-cnv 5527  df-co 5528  df-dm 5529  df-rn 5530  df-res 5531  df-ima 5532  df-pred 6116  df-ord 6162  df-on 6163  df-lim 6164  df-suc 6165  df-iota 6283  df-fun 6326  df-fn 6327  df-f 6328  df-f1 6329  df-fo 6330  df-f1o 6331  df-fv 6332  df-riota 7093  df-ov 7138  df-oprab 7139  df-mpo 7140  df-om 7561  df-2nd 7672  df-wrecs 7930  df-recs 7991  df-rdg 8029  df-er 8272  df-en 8493  df-dom 8494  df-sdom 8495  df-sup 8890  df-inf 8891  df-pnf 10666  df-mnf 10667  df-xr 10668  df-ltxr 10669  df-le 10670  df-sub 10861  df-neg 10862  df-div 11287  df-nn 11626  df-2 11688  df-3 11689  df-n0 11886  df-z 11970  df-uz 12232  df-rp 12378  df-fl 13157  df-mod 13233  df-seq 13365  df-exp 13426  df-cj 14450  df-re 14451  df-im 14452  df-sqrt 14586  df-abs 14587  df-dvds 15600  df-gcd 15834
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator