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

Theorem bezoutlemle 12545
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 4086 . . . . . . . 8 (𝑧 = 𝑤 → (𝑧𝐷𝑤𝐷))
3 breq1 4086 . . . . . . . . 9 (𝑧 = 𝑤 → (𝑧𝐴𝑤𝐴))
4 breq1 4086 . . . . . . . . 9 (𝑧 = 𝑤 → (𝑧𝐵𝑤𝐵))
53, 4anbi12d 473 . . . . . . . 8 (𝑧 = 𝑤 → ((𝑧𝐴𝑧𝐵) ↔ (𝑤𝐴𝑤𝐵)))
62, 5bibi12d 235 . . . . . . 7 (𝑧 = 𝑤 → ((𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵)) ↔ (𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵))))
7 equcom 1752 . . . . . . 7 (𝑧 = 𝑤𝑤 = 𝑧)
8 bicom 140 . . . . . . 7 (((𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵)) ↔ (𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵))) ↔ ((𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵)) ↔ (𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵))))
96, 7, 83imtr3i 200 . . . . . 6 (𝑤 = 𝑧 → ((𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵)) ↔ (𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵))))
10 bezoutlemgcd.4 . . . . . . . 8 (𝜑 → ∀𝑧 ∈ ℤ (𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵)))
116cbvralv 2765 . . . . . . . 8 (∀𝑧 ∈ ℤ (𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵)) ↔ ∀𝑤 ∈ ℤ (𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵)))
1210, 11sylib 122 . . . . . . 7 (𝜑 → ∀𝑤 ∈ ℤ (𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵)))
1312ad2antrr 488 . . . . . 6 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → ∀𝑤 ∈ ℤ (𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵)))
14 simplr 528 . . . . . 6 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝑧 ∈ ℤ)
159, 13, 14rspcdva 2912 . . . . 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 4086 . . . . . . . . . . . 12 (𝑧 = 0 → (𝑧𝐷 ↔ 0 ∥ 𝐷))
22 breq1 4086 . . . . . . . . . . . . 13 (𝑧 = 0 → (𝑧𝐴 ↔ 0 ∥ 𝐴))
23 breq1 4086 . . . . . . . . . . . . 13 (𝑧 = 0 → (𝑧𝐵 ↔ 0 ∥ 𝐵))
2422, 23anbi12d 473 . . . . . . . . . . . 12 (𝑧 = 0 → ((𝑧𝐴𝑧𝐵) ↔ (0 ∥ 𝐴 ∧ 0 ∥ 𝐵)))
2521, 24bibi12d 235 . . . . . . . . . . 11 (𝑧 = 0 → ((𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵)) ↔ (0 ∥ 𝐷 ↔ (0 ∥ 𝐴 ∧ 0 ∥ 𝐵))))
26 0zd 9469 . . . . . . . . . . 11 (𝜑 → 0 ∈ ℤ)
2725, 10, 26rspcdva 2912 . . . . . . . . . 10 (𝜑 → (0 ∥ 𝐷 ↔ (0 ∥ 𝐴 ∧ 0 ∥ 𝐵)))
2827ad2antrr 488 . . . . . . . . 9 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (0 ∥ 𝐷 ↔ (0 ∥ 𝐴 ∧ 0 ∥ 𝐵)))
2918nn0zd 9578 . . . . . . . . . 10 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐷 ∈ ℤ)
30 0dvds 12338 . . . . . . . . . 10 (𝐷 ∈ ℤ → (0 ∥ 𝐷𝐷 = 0))
3129, 30syl 14 . . . . . . . . 9 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (0 ∥ 𝐷𝐷 = 0))
32 bezoutlemgcd.1 . . . . . . . . . . . 12 (𝜑𝐴 ∈ ℤ)
3332ad2antrr 488 . . . . . . . . . . 11 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐴 ∈ ℤ)
34 0dvds 12338 . . . . . . . . . . 11 (𝐴 ∈ ℤ → (0 ∥ 𝐴𝐴 = 0))
3533, 34syl 14 . . . . . . . . . 10 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (0 ∥ 𝐴𝐴 = 0))
36 bezoutlemgcd.2 . . . . . . . . . . . 12 (𝜑𝐵 ∈ ℤ)
3736ad2antrr 488 . . . . . . . . . . 11 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐵 ∈ ℤ)
38 0dvds 12338 . . . . . . . . . . 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 677 . . . . . . 7 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → ¬ 𝐷 = 0)
4342neqned 2407 . . . . . 6 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐷 ≠ 0)
44 elnnne0 9394 . . . . . 6 (𝐷 ∈ ℕ ↔ (𝐷 ∈ ℕ0𝐷 ≠ 0))
4518, 43, 44sylanbrc 417 . . . . 5 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐷 ∈ ℕ)
46 dvdsle 12371 . . . . 5 ((𝑧 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑧𝐷𝑧𝐷))
4714, 45, 46syl2anc 411 . . . 4 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (𝑧𝐷𝑧𝐷))
4816, 47mpd 13 . . 3 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝑧𝐷)
4948ex 115 . 2 ((𝜑𝑧 ∈ ℤ) → ((𝑧𝐴𝑧𝐵) → 𝑧𝐷))
5049ralrimiva 2603 1 (𝜑 → ∀𝑧 ∈ ℤ ((𝑧𝐴𝑧𝐵) → 𝑧𝐷))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104  wb 105   = wceq 1395  wcel 2200  wne 2400  wral 2508   class class class wbr 4083  0cc0 8010  cle 8193  cn 9121  0cn0 9380  cz 9457  cdvds 12314
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 617  ax-in2 618  ax-io 714  ax-5 1493  ax-7 1494  ax-gen 1495  ax-ie1 1539  ax-ie2 1540  ax-8 1550  ax-10 1551  ax-11 1552  ax-i12 1553  ax-bndl 1555  ax-4 1556  ax-17 1572  ax-i9 1576  ax-ial 1580  ax-i5r 1581  ax-13 2202  ax-14 2203  ax-ext 2211  ax-sep 4202  ax-pow 4258  ax-pr 4293  ax-un 4524  ax-setind 4629  ax-cnex 8101  ax-resscn 8102  ax-1cn 8103  ax-1re 8104  ax-icn 8105  ax-addcl 8106  ax-addrcl 8107  ax-mulcl 8108  ax-mulrcl 8109  ax-addcom 8110  ax-mulcom 8111  ax-addass 8112  ax-mulass 8113  ax-distr 8114  ax-i2m1 8115  ax-0lt1 8116  ax-1rid 8117  ax-0id 8118  ax-rnegex 8119  ax-precex 8120  ax-cnre 8121  ax-pre-ltirr 8122  ax-pre-ltwlin 8123  ax-pre-lttrn 8124  ax-pre-apti 8125  ax-pre-ltadd 8126  ax-pre-mulgt0 8127  ax-pre-mulext 8128
This theorem depends on definitions:  df-bi 117  df-3or 1003  df-3an 1004  df-tru 1398  df-fal 1401  df-nf 1507  df-sb 1809  df-eu 2080  df-mo 2081  df-clab 2216  df-cleq 2222  df-clel 2225  df-nfc 2361  df-ne 2401  df-nel 2496  df-ral 2513  df-rex 2514  df-reu 2515  df-rmo 2516  df-rab 2517  df-v 2801  df-sbc 3029  df-csb 3125  df-dif 3199  df-un 3201  df-in 3203  df-ss 3210  df-nul 3492  df-pw 3651  df-sn 3672  df-pr 3673  df-op 3675  df-uni 3889  df-int 3924  df-iun 3967  df-br 4084  df-opab 4146  df-mpt 4147  df-id 4384  df-po 4387  df-iso 4388  df-xp 4725  df-rel 4726  df-cnv 4727  df-co 4728  df-dm 4729  df-rn 4730  df-res 4731  df-ima 4732  df-iota 5278  df-fun 5320  df-fn 5321  df-f 5322  df-fv 5326  df-riota 5960  df-ov 6010  df-oprab 6011  df-mpo 6012  df-1st 6292  df-2nd 6293  df-pnf 8194  df-mnf 8195  df-xr 8196  df-ltxr 8197  df-le 8198  df-sub 8330  df-neg 8331  df-reap 8733  df-ap 8740  df-div 8831  df-inn 9122  df-n0 9381  df-z 9458  df-q 9827  df-dvds 12315
This theorem is referenced by:  bezoutlemsup  12546
  Copyright terms: Public domain W3C validator