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

Theorem bezoutlemle 12729
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 4117 . . . . . . . 8 (𝑧 = 𝑤 → (𝑧𝐷𝑤𝐷))
3 breq1 4117 . . . . . . . . 9 (𝑧 = 𝑤 → (𝑧𝐴𝑤𝐴))
4 breq1 4117 . . . . . . . . 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 2780 . . . . . . . 8 (∀𝑧 ∈ ℤ (𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵)) ↔ ∀𝑤 ∈ ℤ (𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵)))
1210, 11sylib 122 . . . . . . 7 (𝜑 → ∀𝑤 ∈ ℤ (𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵)))
1312ad2antrr 488 . . . . . 6 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → ∀𝑤 ∈ ℤ (𝑤𝐷 ↔ (𝑤𝐴𝑤𝐵)))
14 simplr 529 . . . . . 6 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝑧 ∈ ℤ)
159, 13, 14rspcdva 2928 . . . . 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 4117 . . . . . . . . . . . 12 (𝑧 = 0 → (𝑧𝐷 ↔ 0 ∥ 𝐷))
22 breq1 4117 . . . . . . . . . . . . 13 (𝑧 = 0 → (𝑧𝐴 ↔ 0 ∥ 𝐴))
23 breq1 4117 . . . . . . . . . . . . 13 (𝑧 = 0 → (𝑧𝐵 ↔ 0 ∥ 𝐵))
2422, 23anbi12d 473 . . . . . . . . . . . 12 (𝑧 = 0 → ((𝑧𝐴𝑧𝐵) ↔ (0 ∥ 𝐴 ∧ 0 ∥ 𝐵)))
2521, 24bibi12d 235 . . . . . . . . . . 11 (𝑧 = 0 → ((𝑧𝐷 ↔ (𝑧𝐴𝑧𝐵)) ↔ (0 ∥ 𝐷 ↔ (0 ∥ 𝐴 ∧ 0 ∥ 𝐵))))
26 0zd 9606 . . . . . . . . . . 11 (𝜑 → 0 ∈ ℤ)
2725, 10, 26rspcdva 2928 . . . . . . . . . 10 (𝜑 → (0 ∥ 𝐷 ↔ (0 ∥ 𝐴 ∧ 0 ∥ 𝐵)))
2827ad2antrr 488 . . . . . . . . 9 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (0 ∥ 𝐷 ↔ (0 ∥ 𝐴 ∧ 0 ∥ 𝐵)))
2918nn0zd 9716 . . . . . . . . . 10 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐷 ∈ ℤ)
30 0dvds 12522 . . . . . . . . . 10 (𝐷 ∈ ℤ → (0 ∥ 𝐷𝐷 = 0))
3129, 30syl 14 . . . . . . . . 9 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (0 ∥ 𝐷𝐷 = 0))
32 bezoutlemgcd.1 . . . . . . . . . . . 12 (𝜑𝐴 ∈ ℤ)
3332ad2antrr 488 . . . . . . . . . . 11 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐴 ∈ ℤ)
34 0dvds 12522 . . . . . . . . . . 11 (𝐴 ∈ ℤ → (0 ∥ 𝐴𝐴 = 0))
3533, 34syl 14 . . . . . . . . . 10 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (0 ∥ 𝐴𝐴 = 0))
36 bezoutlemgcd.2 . . . . . . . . . . . 12 (𝜑𝐵 ∈ ℤ)
3736ad2antrr 488 . . . . . . . . . . 11 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐵 ∈ ℤ)
38 0dvds 12522 . . . . . . . . . . 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 680 . . . . . . 7 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → ¬ 𝐷 = 0)
4342neqned 2421 . . . . . 6 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐷 ≠ 0)
44 elnnne0 9527 . . . . . 6 (𝐷 ∈ ℕ ↔ (𝐷 ∈ ℕ0𝐷 ≠ 0))
4518, 43, 44sylanbrc 417 . . . . 5 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝐷 ∈ ℕ)
46 dvdsle 12555 . . . . 5 ((𝑧 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑧𝐷𝑧𝐷))
4714, 45, 46syl2anc 411 . . . 4 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → (𝑧𝐷𝑧𝐷))
4816, 47mpd 13 . . 3 (((𝜑𝑧 ∈ ℤ) ∧ (𝑧𝐴𝑧𝐵)) → 𝑧𝐷)
4948ex 115 . 2 ((𝜑𝑧 ∈ ℤ) → ((𝑧𝐴𝑧𝐵) → 𝑧𝐷))
5049ralrimiva 2617 1 (𝜑 → ∀𝑧 ∈ ℤ ((𝑧𝐴𝑧𝐵) → 𝑧𝐷))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104  wb 105   = wceq 1398  wcel 2205  wne 2414  wral 2522   class class class wbr 4114  0cc0 8143  cle 8325  cn 9254  0cn0 9513  cz 9594  cdvds 12498
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 717  ax-5 1496  ax-7 1497  ax-gen 1498  ax-ie1 1542  ax-ie2 1543  ax-8 1553  ax-10 1554  ax-11 1555  ax-i12 1556  ax-bndl 1558  ax-4 1559  ax-17 1575  ax-i9 1579  ax-ial 1583  ax-i5r 1584  ax-13 2207  ax-14 2208  ax-ext 2216  ax-sep 4233  ax-pow 4292  ax-pr 4327  ax-un 4559  ax-setind 4664  ax-cnex 8234  ax-resscn 8235  ax-1cn 8236  ax-1re 8237  ax-icn 8238  ax-addcl 8239  ax-addrcl 8240  ax-mulcl 8241  ax-mulrcl 8242  ax-addcom 8243  ax-mulcom 8244  ax-addass 8245  ax-mulass 8246  ax-distr 8247  ax-i2m1 8248  ax-0lt1 8249  ax-1rid 8250  ax-0id 8251  ax-rnegex 8252  ax-precex 8253  ax-cnre 8254  ax-pre-ltirr 8255  ax-pre-ltwlin 8256  ax-pre-lttrn 8257  ax-pre-apti 8258  ax-pre-ltadd 8259  ax-pre-mulgt0 8260  ax-pre-mulext 8261
This theorem depends on definitions:  df-bi 117  df-3or 1006  df-3an 1007  df-tru 1401  df-fal 1404  df-nf 1510  df-sb 1812  df-eu 2085  df-mo 2086  df-clab 2221  df-cleq 2227  df-clel 2230  df-nfc 2375  df-ne 2415  df-nel 2510  df-ral 2527  df-rex 2528  df-reu 2529  df-rmo 2530  df-rab 2531  df-v 2817  df-sbc 3046  df-csb 3142  df-dif 3216  df-un 3218  df-in 3220  df-ss 3227  df-nul 3513  df-pw 3676  df-sn 3700  df-pr 3701  df-op 3703  df-uni 3920  df-int 3955  df-iun 3998  df-br 4115  df-opab 4177  df-mpt 4178  df-id 4419  df-po 4422  df-iso 4423  df-xp 4760  df-rel 4761  df-cnv 4762  df-co 4763  df-dm 4764  df-rn 4765  df-res 4766  df-ima 4767  df-iota 5317  df-fun 5359  df-fn 5360  df-f 5361  df-fv 5365  df-riota 6011  df-ov 6061  df-oprab 6062  df-mpo 6063  df-1st 6347  df-2nd 6348  df-pnf 8326  df-mnf 8327  df-xr 8328  df-ltxr 8329  df-le 8330  df-sub 8462  df-neg 8463  df-reap 8866  df-ap 8873  df-div 8964  df-inn 9255  df-n0 9514  df-z 9595  df-q 9970  df-dvds 12499
This theorem is referenced by:  bezoutlemsup  12730
  Copyright terms: Public domain W3C validator