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 37780
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 16523 . . 3 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 gcd 𝑁) ∈ ℕ0)
2 simplr 778 . . . . . . . . 9 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 ∈ ℕ0)
32nn0zd 12590 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 ∈ ℤ)
4 iddvds 16286 . . . . . . . 8 (𝑑 ∈ ℤ → 𝑑𝑑)
53, 4syl 17 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑𝑑)
6 simpr 488 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
7 breq1 5102 . . . . . . . . . 10 (𝑧 = 𝑑 → (𝑧𝑑𝑑𝑑))
8 breq1 5102 . . . . . . . . . . 11 (𝑧 = 𝑑 → (𝑧𝑀𝑑𝑀))
9 breq1 5102 . . . . . . . . . . 11 (𝑧 = 𝑑 → (𝑧𝑁𝑑𝑁))
108, 9anbi12d 641 . . . . . . . . . 10 (𝑧 = 𝑑 → ((𝑧𝑀𝑧𝑁) ↔ (𝑑𝑀𝑑𝑁)))
117, 10bibi12d 347 . . . . . . . . 9 (𝑧 = 𝑑 → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁))))
1211rspcv 3577 . . . . . . . 8 (𝑑 ∈ ℤ → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁))))
133, 6, 12sylc 65 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑𝑑 ↔ (𝑑𝑀𝑑𝑁)))
145, 13mpbid 234 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑𝑀𝑑𝑁))
15 biimpr 222 . . . . . . . 8 ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
1615ralimi 3098 . . . . . . 7 (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
176, 16syl 17 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))
18 dfgcd2 16563 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 = (𝑀 gcd 𝑁) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
1918adantr 484 . . . . . . . 8 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
20 simpr 488 . . . . . . . . . 10 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → 𝑑 ∈ ℕ0)
2120nn0ge0d 12542 . . . . . . . . 9 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → 0 ≤ 𝑑)
22213biant1d 1498 . . . . . . . 8 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑)) ↔ (0 ≤ 𝑑 ∧ (𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2319, 22bitr4d 284 . . . . . . 7 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) ↔ ((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2423adantr 484 . . . . . 6 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → (𝑑 = (𝑀 gcd 𝑁) ↔ ((𝑑𝑀𝑑𝑁) ∧ ∀𝑧 ∈ ℤ ((𝑧𝑀𝑧𝑁) → 𝑧𝑑))))
2514, 17, 24mpbir2and 723 . . . . 5 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) ∧ ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) → 𝑑 = (𝑀 gcd 𝑁))
2625ex 416 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) → 𝑑 = (𝑀 gcd 𝑁)))
27 dvdsgcdb 16562 . . . . . . . . . . 11 ((𝑧 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((𝑧𝑀𝑧𝑁) ↔ 𝑧 ∥ (𝑀 gcd 𝑁)))
2827bicomd 225 . . . . . . . . . 10 ((𝑧 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
29283coml 1139 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑧 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
3029ad4ant124 1186 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁)))
31 breq2 5103 . . . . . . . . . 10 (𝑑 = (𝑀 gcd 𝑁) → (𝑧𝑑𝑧 ∥ (𝑀 gcd 𝑁)))
3231bibi1d 345 . . . . . . . . 9 (𝑑 = (𝑀 gcd 𝑁) → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁))))
3332ad2antlr 737 . . . . . . . 8 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → ((𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ (𝑧 ∥ (𝑀 gcd 𝑁) ↔ (𝑧𝑀𝑧𝑁))))
3430, 33mpbird 259 . . . . . . 7 ((((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) ∧ 𝑧 ∈ ℤ) → (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
3534ralrimiva 3153 . . . . . 6 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 = (𝑀 gcd 𝑁)) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)))
3635ex 416 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 = (𝑀 gcd 𝑁) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
3736adantr 484 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (𝑑 = (𝑀 gcd 𝑁) → ∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
3826, 37impbid 214 . . 3 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑑 ∈ ℕ0) → (∀𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁)) ↔ 𝑑 = (𝑀 gcd 𝑁)))
391, 38riota5 7378 . 2 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑑 ∈ ℕ0𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))) = (𝑀 gcd 𝑁))
4039eqcomd 2767 1 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 gcd 𝑁) = (𝑑 ∈ ℕ0𝑧 ∈ ℤ (𝑧𝑑 ↔ (𝑧𝑀𝑧𝑁))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 399  w3a 1097   = wceq 1559  wcel 2141  wral 3075   class class class wbr 5099  crio 7348  (class class class)co 7392  0cc0 11070  cle 11214  0cn0 12478  cz 12565  cdvds 16269   gcd cgcd 16511
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1814  ax-4 1828  ax-5 1929  ax-6 1986  ax-7 2027  ax-8 2143  ax-9 2151  ax-10 2174  ax-11 2190  ax-12 2211  ax-ext 2733  ax-sep 5245  ax-nul 5255  ax-pow 5321  ax-pr 5389  ax-un 7714  ax-cnex 11126  ax-resscn 11127  ax-1cn 11128  ax-icn 11129  ax-addcl 11130  ax-addrcl 11131  ax-mulcl 11132  ax-mulrcl 11133  ax-mulcom 11134  ax-addass 11135  ax-mulass 11136  ax-distr 11137  ax-i2m1 11138  ax-1ne0 11139  ax-1rid 11140  ax-rnegex 11141  ax-rrecex 11142  ax-cnre 11143  ax-pre-lttri 11144  ax-pre-lttrn 11145  ax-pre-ltadd 11146  ax-pre-mulgt0 11147  ax-pre-sup 11148
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-3or 1098  df-3an 1099  df-tru 1562  df-fal 1572  df-ex 1799  df-nf 1803  df-sb 2090  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-nel 3061  df-ral 3076  df-rex 3086  df-rmo 3366  df-reu 3367  df-rab 3414  df-v 3455  df-sbc 3745  df-csb 3853  df-dif 3907  df-un 3909  df-in 3911  df-ss 3921  df-pss 3924  df-nul 4286  df-if 4480  df-pw 4556  df-sn 4582  df-pr 4584  df-op 4588  df-uni 4865  df-iun 4950  df-br 5100  df-opab 5162  df-mpt 5181  df-tr 5207  df-id 5540  df-eprel 5545  df-po 5553  df-so 5554  df-fr 5598  df-we 5600  df-xp 5651  df-rel 5652  df-cnv 5653  df-co 5654  df-dm 5655  df-rn 5656  df-res 5657  df-ima 5658  df-pred 6284  df-ord 6345  df-on 6346  df-lim 6347  df-suc 6348  df-iota 6473  df-fun 6519  df-fn 6520  df-f 6521  df-f1 6522  df-fo 6523  df-f1o 6524  df-fv 6525  df-riota 7349  df-ov 7395  df-oprab 7396  df-mpo 7397  df-om 7843  df-2nd 7967  df-frecs 8257  df-wrecs 8288  df-recs 8337  df-rdg 8376  df-er 8673  df-en 8924  df-dom 8925  df-sdom 8926  df-sup 9385  df-inf 9386  df-pnf 11215  df-mnf 11216  df-xr 11217  df-ltxr 11218  df-le 11219  df-sub 11413  df-neg 11414  df-div 11842  df-nn 12208  df-2 12277  df-3 12278  df-n0 12479  df-z 12566  df-uz 12837  df-rp 12991  df-fl 13799  df-mod 13877  df-seq 14012  df-exp 14072  df-cj 15109  df-re 15110  df-im 15111  df-sqrt 15245  df-abs 15246  df-dvds 16270  df-gcd 16512
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator