ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  bezoutlemle GIF version

Theorem bezoutlemle 12597
Description: Lemma for Bézout's identity. The number satisfying the greatest common divisor condition is the largest number which divides both 𝐴 and 𝐵. (Contributed by Mario Carneiro and Jim Kingdon, 9-Jan-2022.)
Hypotheses
Ref Expression
bezoutlemgcd.1 (𝜑𝐴 ∈ ℤ)
bezoutlemgcd.2 (𝜑𝐵 ∈ ℤ)
bezoutlemgcd.3 (𝜑𝐷 ∈ ℕ0)
bezoutlemgcd.4 (𝜑 → ∀𝑧 ∈ ℤ (𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵)))
bezoutlemgcd.5 (𝜑 → ¬ (𝐴 = 0 ∧ 𝐵 = 0))
Assertion
Ref Expression
bezoutlemle (𝜑 → ∀𝑧 ∈ ℤ ((𝑧𝐴𝑧𝐵) → 𝑧𝐷))
Distinct variable groups:   𝑧,𝐷   𝑧,𝐴   𝑧,𝐵   𝜑,𝑧

Proof of Theorem bezoutlemle
Dummy variable 𝑤 is distinct from all other variables.
StepHypRef Expression
1 simpr 110 . . . . 5 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (𝑧𝐴𝑧𝐵))
2 breq1 4091 . . . . . . . 8 (𝑧 = 𝑤 → (𝑧𝐷𝑤𝐷))
3 breq1 4091 . . . . . . . . 9 (𝑧 = 𝑤 → (𝑧𝐴𝑤𝐴))
4 breq1 4091 . . . . . . . . 9 (𝑧 = 𝑤 → (𝑧𝐵𝑤𝐵))
53, 4anbi12d 473 . . . . . . . 8 (𝑧 = 𝑤 → ((𝑧𝐴𝑧𝐵) ↔ (𝑤𝐴𝑤𝐵)))
62, 5bibi12d 235 . . . . . . 7 (𝑧 = 𝑤 → ((𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵)) ↔ (𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵))))
7 equcom 1754 . . . . . . 7 (𝑧 = 𝑤𝑤 = 𝑧)
8 bicom 140 . . . . . . 7 (((𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵)) ↔ (𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵))) ↔ ((𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵)) ↔ (𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵))))
96, 7, 83imtr3i 200 . . . . . 6 (𝑤 = 𝑧 → ((𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵)) ↔ (𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵))))
10 bezoutlemgcd.4 . . . . . . . 8 (𝜑 → ∀𝑧 ∈ ℤ (𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵)))
116cbvralv 2767 . . . . . . . 8 (∀𝑧 ∈ ℤ (𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵)) ↔ ∀𝑤 ∈ ℤ (𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵)))
1210, 11sylib 122 . . . . . . 7 (𝜑 → ∀𝑤 ∈ ℤ (𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵)))
1312ad2antrr 488 . . . . . 6 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → ∀𝑤 ∈ ℤ (𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵)))
14 simplr 529 . . . . . 6 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝑧 ∈ ℤ)
159, 13, 14rspcdva 2915 . . . . 5 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵)))
161, 15mpbird 167 . . . 4 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝑧𝐷)
17 bezoutlemgcd.3 . . . . . . 7 (𝜑𝐷 ∈ ℕ0)
1817ad2antrr 488 . . . . . 6 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐷 ∈ ℕ0)
19 bezoutlemgcd.5 . . . . . . . . 9 (𝜑 → ¬ (𝐴 = 0 ∧ 𝐵 = 0))
2019ad2antrr 488 . . . . . . . 8 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → ¬ (𝐴 = 0 ∧ 𝐵 = 0))
21 breq1 4091 . . . . . . . . . . . 12 (𝑧 = 0 → (𝑧𝐷 ↔ 0 ∥ 𝐷))
22 breq1 4091 . . . . . . . . . . . . 13 (𝑧 = 0 → (𝑧𝐴 ↔ 0 ∥ 𝐴))
23 breq1 4091 . . . . . . . . . . . . 13 (𝑧 = 0 → (𝑧𝐵 ↔ 0 ∥ 𝐵))
2422, 23anbi12d 473 . . . . . . . . . . . 12 (𝑧 = 0 → ((𝑧𝐴𝑧𝐵) ↔ (0 ∥ 𝐴 ∧ 0 ∥ 𝐵)))
2521, 24bibi12d 235 . . . . . . . . . . 11 (𝑧 = 0 → ((𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵)) ↔ (0 ∥ 𝐷 ↔ (0 ∥ 𝐴 ∧ 0 ∥ 𝐵))))
26 0zd 9491 . . . . . . . . . . 11 (𝜑 → 0 ∈ ℤ)
2725, 10, 26rspcdva 2915 . . . . . . . . . 10 (𝜑 → (0 ∥ 𝐷 ↔ (0 ∥ 𝐴 ∧ 0 ∥ 𝐵)))
2827ad2antrr 488 . . . . . . . . 9 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (0 ∥ 𝐷 ↔ (0 ∥ 𝐴 ∧ 0 ∥ 𝐵)))
2918nn0zd 9600 . . . . . . . . . 10 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐷 ∈ ℤ)
30 0dvds 12390 . . . . . . . . . 10 (𝐷 ∈ ℤ → (0 ∥ 𝐷𝐷 = 0))
3129, 30syl 14 . . . . . . . . 9 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (0 ∥ 𝐷𝐷 = 0))
32 bezoutlemgcd.1 . . . . . . . . . . . 12 (𝜑𝐴 ∈ ℤ)
3332ad2antrr 488 . . . . . . . . . . 11 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐴 ∈ ℤ)
34 0dvds 12390 . . . . . . . . . . 11 (𝐴 ∈ ℤ → (0 ∥ 𝐴𝐴 = 0))
3533, 34syl 14 . . . . . . . . . 10 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (0 ∥ 𝐴𝐴 = 0))
36 bezoutlemgcd.2 . . . . . . . . . . . 12 (𝜑𝐵 ∈ ℤ)
3736ad2antrr 488 . . . . . . . . . . 11 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐵 ∈ ℤ)
38 0dvds 12390 . . . . . . . . . . 11 (𝐵 ∈ ℤ → (0 ∥ 𝐵𝐵 = 0))
3937, 38syl 14 . . . . . . . . . 10 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (0 ∥ 𝐵𝐵 = 0))
4035, 39anbi12d 473 . . . . . . . . 9 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → ((0 ∥ 𝐴 ∧ 0 ∥ 𝐵) ↔ (𝐴 = 0 ∧ 𝐵 = 0)))
4128, 31, 403bitr3d 218 . . . . . . . 8 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (𝐷 = 0 ↔ (𝐴 = 0 ∧ 𝐵 = 0)))
4220, 41mtbird 679 . . . . . . 7 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → ¬ 𝐷 = 0)
4342neqned 2409 . . . . . 6 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐷 ≠ 0)
44 elnnne0 9416 . . . . . 6 (𝐷 ∈ ℕ ↔ (𝐷 ∈ ℕ0𝐷 ≠ 0))
4518, 43, 44sylanbrc 417 . . . . 5 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐷 ∈ ℕ)
46 dvdsle 12423 . . . . 5 ((𝑧 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑧𝐷𝑧𝐷))
4714, 45, 46syl2anc 411 . . . 4 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (𝑧𝐷𝑧𝐷))
4816, 47mpd 13 . . 3 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝑧𝐷)
4948ex 115 . 2 ((𝜑𝑧 ∈ ℤ) → ((𝑧𝐴𝑧𝐵) → 𝑧𝐷))
5049ralrimiva 2605 1 (𝜑 → ∀𝑧 ∈ ℤ ((𝑧𝐴𝑧𝐵) → 𝑧𝐷))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104  wb 105   = wceq 1397  wcel 2202  wne 2402  wral 2510   class class class wbr 4088  0cc0 8032  cle 8215  cn 9143  0cn0 9402  cz 9479  cdvds 12366
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 619  ax-in2 620  ax-io 716  ax-5 1495  ax-7 1496  ax-gen 1497  ax-ie1 1541  ax-ie2 1542  ax-8 1552  ax-10 1553  ax-11 1554  ax-i12 1555  ax-bndl 1557  ax-4 1558  ax-17 1574  ax-i9 1578  ax-ial 1582  ax-i5r 1583  ax-13 2204  ax-14 2205  ax-ext 2213  ax-sep 4207  ax-pow 4264  ax-pr 4299  ax-un 4530  ax-setind 4635  ax-cnex 8123  ax-resscn 8124  ax-1cn 8125  ax-1re 8126  ax-icn 8127  ax-addcl 8128  ax-addrcl 8129  ax-mulcl 8130  ax-mulrcl 8131  ax-addcom 8132  ax-mulcom 8133  ax-addass 8134  ax-mulass 8135  ax-distr 8136  ax-i2m1 8137  ax-0lt1 8138  ax-1rid 8139  ax-0id 8140  ax-rnegex 8141  ax-precex 8142  ax-cnre 8143  ax-pre-ltirr 8144  ax-pre-ltwlin 8145  ax-pre-lttrn 8146  ax-pre-apti 8147  ax-pre-ltadd 8148  ax-pre-mulgt0 8149  ax-pre-mulext 8150
This theorem depends on definitions:  df-bi 117  df-3or 1005  df-3an 1006  df-tru 1400  df-fal 1403  df-nf 1509  df-sb 1811  df-eu 2082  df-mo 2083  df-clab 2218  df-cleq 2224  df-clel 2227  df-nfc 2363  df-ne 2403  df-nel 2498  df-ral 2515  df-rex 2516  df-reu 2517  df-rmo 2518  df-rab 2519  df-v 2804  df-sbc 3032  df-csb 3128  df-dif 3202  df-un 3204  df-in 3206  df-ss 3213  df-nul 3495  df-pw 3654  df-sn 3675  df-pr 3676  df-op 3678  df-uni 3894  df-int 3929  df-iun 3972  df-br 4089  df-opab 4151  df-mpt 4152  df-id 4390  df-po 4393  df-iso 4394  df-xp 4731  df-rel 4732  df-cnv 4733  df-co 4734  df-dm 4735  df-rn 4736  df-res 4737  df-ima 4738  df-iota 5286  df-fun 5328  df-fn 5329  df-f 5330  df-fv 5334  df-riota 5971  df-ov 6021  df-oprab 6022  df-mpo 6023  df-1st 6303  df-2nd 6304  df-pnf 8216  df-mnf 8217  df-xr 8218  df-ltxr 8219  df-le 8220  df-sub 8352  df-neg 8353  df-reap 8755  df-ap 8762  df-div 8853  df-inn 9144  df-n0 9403  df-z 9480  df-q 9854  df-dvds 12367
This theorem is referenced by:  bezoutlemsup  12598
  Copyright terms: Public domain W3C validator