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 35489
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 16209 . . 3 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 gcd 𝑁) ∈ ℕ0)
2 simplr 766 . . . . . . . . 9 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 ∈ ℕ0)
32nn0zd 12421 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 ∈ ℤ)
4 iddvds 15975 . . . . . . . 8 (𝑑 ∈ ℤ → 𝑑𝑑)
53, 4syl 17 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑𝑑)
6 simpr 485 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
7 breq1 5082 . . . . . . . . . 10 (𝑧 = 𝑑 → (𝑧𝑑𝑑𝑑))
8 breq1 5082 . . . . . . . . . . 11 (𝑧 = 𝑑 → (𝑧𝑀𝑑𝑀))
9 breq1 5082 . . . . . . . . . . 11 (𝑧 = 𝑑 → (𝑧𝑁𝑑𝑁))
108, 9anbi12d 631 . . . . . . . . . 10 (𝑧 = 𝑑 → ((𝑧𝑀𝑧𝑁) ↔ (𝑑𝑀𝑑𝑁)))
117, 10bibi12d 346 . . . . . . . . 9 (𝑧 = 𝑑 → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁))))
1211rspcv 3556 . . . . . . . 8 (𝑑 ∈ ℤ → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁))))
133, 6, 12sylc 65 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁)))
145, 13mpbid 231 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑𝑀𝑑𝑁))
15 biimpr 219 . . . . . . . 8 ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
1615ralimi 3089 . . . . . . 7 (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
176, 16syl 17 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
18 dfgcd2 16250 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 = (𝑀 gcd 𝑁) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
1918adantr 481 . . . . . . . 8 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
20 simpr 485 . . . . . . . . . 10 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → 𝑑 ∈ ℕ0)
2120nn0ge0d 12294 . . . . . . . . 9 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → 0 ≤ 𝑑)
22213biant1d 1477 . . . . . . . 8 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑)) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2319, 22bitr4d 281 . . . . . . 7 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) ↔ ((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2423adantr 481 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑 = (𝑀 gcd 𝑁) ↔ ((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2514, 17, 24mpbir2and 710 . . . . 5 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 = (𝑀 gcd 𝑁))
2625ex 413 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → 𝑑 = (𝑀 gcd 𝑁)))
27 dvdsgcdb 16249 . . . . . . . . . . 11 ((𝑧 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((𝑧𝑀𝑧𝑁) ↔ 𝑧 ∥ (𝑀 gcd 𝑁)))
2827bicomd 222 . . . . . . . . . 10 ((𝑧 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
29283coml 1126 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑧 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
3029ad4ant124 1172 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
31 breq2 5083 . . . . . . . . . 10 (𝑑 = (𝑀 gcd 𝑁) → (𝑧𝑑𝑧 ∥ (𝑀 gcd 𝑁)))
3231bibi1d 344 . . . . . . . . 9 (𝑑 = (𝑀 gcd 𝑁) → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁))))
3332ad2antlr 724 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁))))
3430, 33mpbird 256 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
3534ralrimiva 3110 . . . . . 6 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
3635ex 413 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 = (𝑀 gcd 𝑁) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
3736adantr 481 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
3826, 37impbid 211 . . 3 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ 𝑑 = (𝑀 gcd 𝑁)))
391, 38riota5 7256 . 2 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 ∈ ℕ0𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) = (𝑀 gcd 𝑁))
4039eqcomd 2746 1 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 gcd 𝑁) = (𝑑 ∈ ℕ0𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 396  w3a 1086   = wceq 1542  wcel 2110  wral 3066   class class class wbr 5079  crio 7225  (class class class)co 7269  0cc0 10870  cle 11009  0cn0 12231  cz 12317  cdvds 15959   gcd cgcd 16197
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 1975  ax-7 2015  ax-8 2112  ax-9 2120  ax-10 2141  ax-11 2158  ax-12 2175  ax-ext 2711  ax-sep 5227  ax-nul 5234  ax-pow 5292  ax-pr 5356  ax-un 7580  ax-cnex 10926  ax-resscn 10927  ax-1cn 10928  ax-icn 10929  ax-addcl 10930  ax-addrcl 10931  ax-mulcl 10932  ax-mulrcl 10933  ax-mulcom 10934  ax-addass 10935  ax-mulass 10936  ax-distr 10937  ax-i2m1 10938  ax-1ne0 10939  ax-1rid 10940  ax-rnegex 10941  ax-rrecex 10942  ax-cnre 10943  ax-pre-lttri 10944  ax-pre-lttrn 10945  ax-pre-ltadd 10946  ax-pre-mulgt0 10947  ax-pre-sup 10948
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3or 1087  df-3an 1088  df-tru 1545  df-fal 1555  df-ex 1787  df-nf 1791  df-sb 2072  df-mo 2542  df-eu 2571  df-clab 2718  df-cleq 2732  df-clel 2818  df-nfc 2891  df-ne 2946  df-nel 3052  df-ral 3071  df-rex 3072  df-reu 3073  df-rmo 3074  df-rab 3075  df-v 3433  df-sbc 3721  df-csb 3838  df-dif 3895  df-un 3897  df-in 3899  df-ss 3909  df-pss 3911  df-nul 4263  df-if 4466  df-pw 4541  df-sn 4568  df-pr 4570  df-op 4574  df-uni 4846  df-iun 4932  df-br 5080  df-opab 5142  df-mpt 5163  df-tr 5197  df-id 5489  df-eprel 5495  df-po 5503  df-so 5504  df-fr 5544  df-we 5546  df-xp 5595  df-rel 5596  df-cnv 5597  df-co 5598  df-dm 5599  df-rn 5600  df-res 5601  df-ima 5602  df-pred 6200  df-ord 6267  df-on 6268  df-lim 6269  df-suc 6270  df-iota 6389  df-fun 6433  df-fn 6434  df-f 6435  df-f1 6436  df-fo 6437  df-f1o 6438  df-fv 6439  df-riota 7226  df-ov 7272  df-oprab 7273  df-mpo 7274  df-om 7705  df-2nd 7823  df-frecs 8086  df-wrecs 8117  df-recs 8191  df-rdg 8230  df-er 8479  df-en 8715  df-dom 8716  df-sdom 8717  df-sup 9177  df-inf 9178  df-pnf 11010  df-mnf 11011  df-xr 11012  df-ltxr 11013  df-le 11014  df-sub 11205  df-neg 11206  df-div 11631  df-nn 11972  df-2 12034  df-3 12035  df-n0 12232  df-z 12318  df-uz 12580  df-rp 12728  df-fl 13508  df-mod 13586  df-seq 13718  df-exp 13779  df-cj 14806  df-re 14807  df-im 14808  df-sqrt 14942  df-abs 14943  df-dvds 15960  df-gcd 16198
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator