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 35422
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 16141 . . 3 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 gcd 𝑁) ∈ ℕ0)
2 simplr 765 . . . . . . . . 9 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 ∈ ℕ0)
32nn0zd 12353 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 ∈ ℤ)
4 iddvds 15907 . . . . . . . 8 (𝑑 ∈ ℤ → 𝑑𝑑)
53, 4syl 17 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑𝑑)
6 simpr 484 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
7 breq1 5073 . . . . . . . . . 10 (𝑧 = 𝑑 → (𝑧𝑑𝑑𝑑))
8 breq1 5073 . . . . . . . . . . 11 (𝑧 = 𝑑 → (𝑧𝑀𝑑𝑀))
9 breq1 5073 . . . . . . . . . . 11 (𝑧 = 𝑑 → (𝑧𝑁𝑑𝑁))
108, 9anbi12d 630 . . . . . . . . . 10 (𝑧 = 𝑑 → ((𝑧𝑀𝑧𝑁) ↔ (𝑑𝑀𝑑𝑁)))
117, 10bibi12d 345 . . . . . . . . 9 (𝑧 = 𝑑 → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁))))
1211rspcv 3547 . . . . . . . 8 (𝑑 ∈ ℤ → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁))))
133, 6, 12sylc 65 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁)))
145, 13mpbid 231 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑𝑀𝑑𝑁))
15 biimpr 219 . . . . . . . 8 ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
1615ralimi 3086 . . . . . . 7 (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
176, 16syl 17 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
18 dfgcd2 16182 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 = (𝑀 gcd 𝑁) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
1918adantr 480 . . . . . . . 8 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
20 simpr 484 . . . . . . . . . 10 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → 𝑑 ∈ ℕ0)
2120nn0ge0d 12226 . . . . . . . . 9 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → 0 ≤ 𝑑)
22213biant1d 1476 . . . . . . . 8 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑)) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2319, 22bitr4d 281 . . . . . . 7 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) ↔ ((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2423adantr 480 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑 = (𝑀 gcd 𝑁) ↔ ((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2514, 17, 24mpbir2and 709 . . . . 5 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 = (𝑀 gcd 𝑁))
2625ex 412 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → 𝑑 = (𝑀 gcd 𝑁)))
27 dvdsgcdb 16181 . . . . . . . . . . 11 ((𝑧 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((𝑧𝑀𝑧𝑁) ↔ 𝑧 ∥ (𝑀 gcd 𝑁)))
2827bicomd 222 . . . . . . . . . 10 ((𝑧 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
29283coml 1125 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑧 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
3029ad4ant124 1171 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
31 breq2 5074 . . . . . . . . . 10 (𝑑 = (𝑀 gcd 𝑁) → (𝑧𝑑𝑧 ∥ (𝑀 gcd 𝑁)))
3231bibi1d 343 . . . . . . . . 9 (𝑑 = (𝑀 gcd 𝑁) → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁))))
3332ad2antlr 723 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁))))
3430, 33mpbird 256 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
3534ralrimiva 3107 . . . . . 6 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
3635ex 412 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 = (𝑀 gcd 𝑁) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
3736adantr 480 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
3826, 37impbid 211 . . 3 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ 𝑑 = (𝑀 gcd 𝑁)))
391, 38riota5 7242 . 2 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 ∈ ℕ0𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) = (𝑀 gcd 𝑁))
4039eqcomd 2744 1 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 gcd 𝑁) = (𝑑 ∈ ℕ0𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 395  w3a 1085   = wceq 1539  wcel 2108  wral 3063   class class class wbr 5070  crio 7211  (class class class)co 7255  0cc0 10802  cle 10941  0cn0 12163  cz 12249  cdvds 15891   gcd cgcd 16129
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1799  ax-4 1813  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2110  ax-9 2118  ax-10 2139  ax-11 2156  ax-12 2173  ax-ext 2709  ax-sep 5218  ax-nul 5225  ax-pow 5283  ax-pr 5347  ax-un 7566  ax-cnex 10858  ax-resscn 10859  ax-1cn 10860  ax-icn 10861  ax-addcl 10862  ax-addrcl 10863  ax-mulcl 10864  ax-mulrcl 10865  ax-mulcom 10866  ax-addass 10867  ax-mulass 10868  ax-distr 10869  ax-i2m1 10870  ax-1ne0 10871  ax-1rid 10872  ax-rnegex 10873  ax-rrecex 10874  ax-cnre 10875  ax-pre-lttri 10876  ax-pre-lttrn 10877  ax-pre-ltadd 10878  ax-pre-mulgt0 10879  ax-pre-sup 10880
This theorem depends on definitions:  df-bi 206  df-an 396  df-or 844  df-3or 1086  df-3an 1087  df-tru 1542  df-fal 1552  df-ex 1784  df-nf 1788  df-sb 2069  df-mo 2540  df-eu 2569  df-clab 2716  df-cleq 2730  df-clel 2817  df-nfc 2888  df-ne 2943  df-nel 3049  df-ral 3068  df-rex 3069  df-reu 3070  df-rmo 3071  df-rab 3072  df-v 3424  df-sbc 3712  df-csb 3829  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-pss 3902  df-nul 4254  df-if 4457  df-pw 4532  df-sn 4559  df-pr 4561  df-tp 4563  df-op 4565  df-uni 4837  df-iun 4923  df-br 5071  df-opab 5133  df-mpt 5154  df-tr 5188  df-id 5480  df-eprel 5486  df-po 5494  df-so 5495  df-fr 5535  df-we 5537  df-xp 5586  df-rel 5587  df-cnv 5588  df-co 5589  df-dm 5590  df-rn 5591  df-res 5592  df-ima 5593  df-pred 6191  df-ord 6254  df-on 6255  df-lim 6256  df-suc 6257  df-iota 6376  df-fun 6420  df-fn 6421  df-f 6422  df-f1 6423  df-fo 6424  df-f1o 6425  df-fv 6426  df-riota 7212  df-ov 7258  df-oprab 7259  df-mpo 7260  df-om 7688  df-2nd 7805  df-frecs 8068  df-wrecs 8099  df-recs 8173  df-rdg 8212  df-er 8456  df-en 8692  df-dom 8693  df-sdom 8694  df-sup 9131  df-inf 9132  df-pnf 10942  df-mnf 10943  df-xr 10944  df-ltxr 10945  df-le 10946  df-sub 11137  df-neg 11138  df-div 11563  df-nn 11904  df-2 11966  df-3 11967  df-n0 12164  df-z 12250  df-uz 12512  df-rp 12660  df-fl 13440  df-mod 13518  df-seq 13650  df-exp 13711  df-cj 14738  df-re 14739  df-im 14740  df-sqrt 14874  df-abs 14875  df-dvds 15892  df-gcd 16130
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator