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 36193
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 16443 . . 3 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 gcd 𝑁) ∈ ℕ0)
2 simplr 767 . . . . . . . . 9 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 ∈ ℕ0)
32nn0zd 12580 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 ∈ ℤ)
4 iddvds 16209 . . . . . . . 8 (𝑑 ∈ ℤ → 𝑑𝑑)
53, 4syl 17 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑𝑑)
6 simpr 485 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
7 breq1 5150 . . . . . . . . . 10 (𝑧 = 𝑑 → (𝑧𝑑𝑑𝑑))
8 breq1 5150 . . . . . . . . . . 11 (𝑧 = 𝑑 → (𝑧𝑀𝑑𝑀))
9 breq1 5150 . . . . . . . . . . 11 (𝑧 = 𝑑 → (𝑧𝑁𝑑𝑁))
108, 9anbi12d 631 . . . . . . . . . 10 (𝑧 = 𝑑 → ((𝑧𝑀𝑧𝑁) ↔ (𝑑𝑀𝑑𝑁)))
117, 10bibi12d 345 . . . . . . . . 9 (𝑧 = 𝑑 → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁))))
1211rspcv 3608 . . . . . . . 8 (𝑑 ∈ ℤ → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁))))
133, 6, 12sylc 65 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁)))
145, 13mpbid 231 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑𝑀𝑑𝑁))
15 biimpr 219 . . . . . . . 8 ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
1615ralimi 3083 . . . . . . 7 (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
176, 16syl 17 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
18 dfgcd2 16484 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 = (𝑀 gcd 𝑁) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
1918adantr 481 . . . . . . . 8 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
20 simpr 485 . . . . . . . . . 10 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → 𝑑 ∈ ℕ0)
2120nn0ge0d 12531 . . . . . . . . 9 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → 0 ≤ 𝑑)
22213biant1d 1478 . . . . . . . 8 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑)) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2319, 22bitr4d 281 . . . . . . 7 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) ↔ ((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2423adantr 481 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑 = (𝑀 gcd 𝑁) ↔ ((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2514, 17, 24mpbir2and 711 . . . . 5 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 = (𝑀 gcd 𝑁))
2625ex 413 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → 𝑑 = (𝑀 gcd 𝑁)))
27 dvdsgcdb 16483 . . . . . . . . . . 11 ((𝑧 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((𝑧𝑀𝑧𝑁) ↔ 𝑧 ∥ (𝑀 gcd 𝑁)))
2827bicomd 222 . . . . . . . . . 10 ((𝑧 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
29283coml 1127 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑧 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
3029ad4ant124 1173 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
31 breq2 5151 . . . . . . . . . 10 (𝑑 = (𝑀 gcd 𝑁) → (𝑧𝑑𝑧 ∥ (𝑀 gcd 𝑁)))
3231bibi1d 343 . . . . . . . . 9 (𝑑 = (𝑀 gcd 𝑁) → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁))))
3332ad2antlr 725 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁))))
3430, 33mpbird 256 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
3534ralrimiva 3146 . . . . . 6 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
3635ex 413 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 = (𝑀 gcd 𝑁) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
3736adantr 481 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
3826, 37impbid 211 . . 3 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ 𝑑 = (𝑀 gcd 𝑁)))
391, 38riota5 7391 . 2 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 ∈ ℕ0𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) = (𝑀 gcd 𝑁))
4039eqcomd 2738 1 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 gcd 𝑁) = (𝑑 ∈ ℕ0𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 396  w3a 1087   = wceq 1541  wcel 2106  wral 3061   class class class wbr 5147  crio 7360  (class class class)co 7405  0cc0 11106  cle 11245  0cn0 12468  cz 12554  cdvds 16193   gcd cgcd 16431
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 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2703  ax-sep 5298  ax-nul 5305  ax-pow 5362  ax-pr 5426  ax-un 7721  ax-cnex 11162  ax-resscn 11163  ax-1cn 11164  ax-icn 11165  ax-addcl 11166  ax-addrcl 11167  ax-mulcl 11168  ax-mulrcl 11169  ax-mulcom 11170  ax-addass 11171  ax-mulass 11172  ax-distr 11173  ax-i2m1 11174  ax-1ne0 11175  ax-1rid 11176  ax-rnegex 11177  ax-rrecex 11178  ax-cnre 11179  ax-pre-lttri 11180  ax-pre-lttrn 11181  ax-pre-ltadd 11182  ax-pre-mulgt0 11183  ax-pre-sup 11184
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3or 1088  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2534  df-eu 2563  df-clab 2710  df-cleq 2724  df-clel 2810  df-nfc 2885  df-ne 2941  df-nel 3047  df-ral 3062  df-rex 3071  df-rmo 3376  df-reu 3377  df-rab 3433  df-v 3476  df-sbc 3777  df-csb 3893  df-dif 3950  df-un 3952  df-in 3954  df-ss 3964  df-pss 3966  df-nul 4322  df-if 4528  df-pw 4603  df-sn 4628  df-pr 4630  df-op 4634  df-uni 4908  df-iun 4998  df-br 5148  df-opab 5210  df-mpt 5231  df-tr 5265  df-id 5573  df-eprel 5579  df-po 5587  df-so 5588  df-fr 5630  df-we 5632  df-xp 5681  df-rel 5682  df-cnv 5683  df-co 5684  df-dm 5685  df-rn 5686  df-res 5687  df-ima 5688  df-pred 6297  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6492  df-fun 6542  df-fn 6543  df-f 6544  df-f1 6545  df-fo 6546  df-f1o 6547  df-fv 6548  df-riota 7361  df-ov 7408  df-oprab 7409  df-mpo 7410  df-om 7852  df-2nd 7972  df-frecs 8262  df-wrecs 8293  df-recs 8367  df-rdg 8406  df-er 8699  df-en 8936  df-dom 8937  df-sdom 8938  df-sup 9433  df-inf 9434  df-pnf 11246  df-mnf 11247  df-xr 11248  df-ltxr 11249  df-le 11250  df-sub 11442  df-neg 11443  df-div 11868  df-nn 12209  df-2 12271  df-3 12272  df-n0 12469  df-z 12555  df-uz 12819  df-rp 12971  df-fl 13753  df-mod 13831  df-seq 13963  df-exp 14024  df-cj 15042  df-re 15043  df-im 15044  df-sqrt 15178  df-abs 15179  df-dvds 16194  df-gcd 16432
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator