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

Theorem bezoutlemle 12578
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 9490 . . . . . . . . . . 11 (𝜑 → 0 ∈ ℤ)
2725, 10, 26rspcdva 2915 . . . . . . . . . 10 (𝜑 → (0 ∥ 𝐷 ↔ (0 ∥ 𝐴 ∧ 0 ∥ 𝐵)))
2827ad2antrr 488 . . . . . . . . 9 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (0 ∥ 𝐷 ↔ (0 ∥ 𝐴 ∧ 0 ∥ 𝐵)))
2918nn0zd 9599 . . . . . . . . . 10 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐷 ∈ ℤ)
30 0dvds 12371 . . . . . . . . . 10 (𝐷 ∈ ℤ → (0 ∥ 𝐷𝐷 = 0))
3129, 30syl 14 . . . . . . . . 9 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (0 ∥ 𝐷𝐷 = 0))
32 bezoutlemgcd.1 . . . . . . . . . . . 12 (𝜑𝐴 ∈ ℤ)
3332ad2antrr 488 . . . . . . . . . . 11 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐴 ∈ ℤ)
34 0dvds 12371 . . . . . . . . . . 11 (𝐴 ∈ ℤ → (0 ∥ 𝐴𝐴 = 0))
3533, 34syl 14 . . . . . . . . . 10 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (0 ∥ 𝐴𝐴 = 0))
36 bezoutlemgcd.2 . . . . . . . . . . . 12 (𝜑𝐵 ∈ ℤ)
3736ad2antrr 488 . . . . . . . . . . 11 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐵 ∈ ℤ)
38 0dvds 12371 . . . . . . . . . . 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 9415 . . . . . 6 (𝐷 ∈ ℕ ↔ (𝐷 ∈ ℕ0𝐷 ≠ 0))
4518, 43, 44sylanbrc 417 . . . . 5 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐷 ∈ ℕ)
46 dvdsle 12404 . . . . 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 8031  cle 8214  cn 9142  0cn0 9401  cz 9478  cdvds 12347
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 8122  ax-resscn 8123  ax-1cn 8124  ax-1re 8125  ax-icn 8126  ax-addcl 8127  ax-addrcl 8128  ax-mulcl 8129  ax-mulrcl 8130  ax-addcom 8131  ax-mulcom 8132  ax-addass 8133  ax-mulass 8134  ax-distr 8135  ax-i2m1 8136  ax-0lt1 8137  ax-1rid 8138  ax-0id 8139  ax-rnegex 8140  ax-precex 8141  ax-cnre 8142  ax-pre-ltirr 8143  ax-pre-ltwlin 8144  ax-pre-lttrn 8145  ax-pre-apti 8146  ax-pre-ltadd 8147  ax-pre-mulgt0 8148  ax-pre-mulext 8149
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 5970  df-ov 6020  df-oprab 6021  df-mpo 6022  df-1st 6302  df-2nd 6303  df-pnf 8215  df-mnf 8216  df-xr 8217  df-ltxr 8218  df-le 8219  df-sub 8351  df-neg 8352  df-reap 8754  df-ap 8761  df-div 8852  df-inn 9143  df-n0 9402  df-z 9479  df-q 9853  df-dvds 12348
This theorem is referenced by:  bezoutlemsup  12579
  Copyright terms: Public domain W3C validator