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

Theorem eucalgf 11912
 Description: Domain and codomain of the step function 𝐸 for Euclid's Algorithm. (Contributed by Paul Chapman, 31-Mar-2011.) (Revised by Mario Carneiro, 28-May-2014.)
Hypothesis
Ref Expression
eucalgval.1 𝐸 = (𝑥 ∈ ℕ0, 𝑦 ∈ ℕ0 ↦ if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩))
Assertion
Ref Expression
eucalgf 𝐸:(ℕ0 × ℕ0)⟶(ℕ0 × ℕ0)
Distinct variable group:   𝑥,𝑦
Allowed substitution hints:   𝐸(𝑥,𝑦)

Proof of Theorem eucalgf
StepHypRef Expression
1 nnne0 8844 . . . . . . . . 9 (𝑦 ∈ ℕ → 𝑦 ≠ 0)
21adantl 275 . . . . . . . 8 ((𝑥 ∈ ℕ0𝑦 ∈ ℕ) → 𝑦 ≠ 0)
32neneqd 2348 . . . . . . 7 ((𝑥 ∈ ℕ0𝑦 ∈ ℕ) → ¬ 𝑦 = 0)
43iffalsed 3515 . . . . . 6 ((𝑥 ∈ ℕ0𝑦 ∈ ℕ) → if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩) = ⟨𝑦, (𝑥 mod 𝑦)⟩)
5 nnnn0 9080 . . . . . . . 8 (𝑦 ∈ ℕ → 𝑦 ∈ ℕ0)
65adantl 275 . . . . . . 7 ((𝑥 ∈ ℕ0𝑦 ∈ ℕ) → 𝑦 ∈ ℕ0)
7 nn0z 9170 . . . . . . . 8 (𝑥 ∈ ℕ0𝑥 ∈ ℤ)
8 zmodcl 10225 . . . . . . . 8 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) → (𝑥 mod 𝑦) ∈ ℕ0)
97, 8sylan 281 . . . . . . 7 ((𝑥 ∈ ℕ0𝑦 ∈ ℕ) → (𝑥 mod 𝑦) ∈ ℕ0)
10 opelxpi 4615 . . . . . . 7 ((𝑦 ∈ ℕ0 ∧ (𝑥 mod 𝑦) ∈ ℕ0) → ⟨𝑦, (𝑥 mod 𝑦)⟩ ∈ (ℕ0 × ℕ0))
116, 9, 10syl2anc 409 . . . . . 6 ((𝑥 ∈ ℕ0𝑦 ∈ ℕ) → ⟨𝑦, (𝑥 mod 𝑦)⟩ ∈ (ℕ0 × ℕ0))
124, 11eqeltrd 2234 . . . . 5 ((𝑥 ∈ ℕ0𝑦 ∈ ℕ) → if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩) ∈ (ℕ0 × ℕ0))
1312adantlr 469 . . . 4 (((𝑥 ∈ ℕ0𝑦 ∈ ℕ0) ∧ 𝑦 ∈ ℕ) → if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩) ∈ (ℕ0 × ℕ0))
14 iftrue 3510 . . . . . 6 (𝑦 = 0 → if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩) = ⟨𝑥, 𝑦⟩)
1514adantl 275 . . . . 5 (((𝑥 ∈ ℕ0𝑦 ∈ ℕ0) ∧ 𝑦 = 0) → if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩) = ⟨𝑥, 𝑦⟩)
16 opelxpi 4615 . . . . . 6 ((𝑥 ∈ ℕ0𝑦 ∈ ℕ0) → ⟨𝑥, 𝑦⟩ ∈ (ℕ0 × ℕ0))
1716adantr 274 . . . . 5 (((𝑥 ∈ ℕ0𝑦 ∈ ℕ0) ∧ 𝑦 = 0) → ⟨𝑥, 𝑦⟩ ∈ (ℕ0 × ℕ0))
1815, 17eqeltrd 2234 . . . 4 (((𝑥 ∈ ℕ0𝑦 ∈ ℕ0) ∧ 𝑦 = 0) → if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩) ∈ (ℕ0 × ℕ0))
19 simpr 109 . . . . 5 ((𝑥 ∈ ℕ0𝑦 ∈ ℕ0) → 𝑦 ∈ ℕ0)
20 elnn0 9075 . . . . 5 (𝑦 ∈ ℕ0 ↔ (𝑦 ∈ ℕ ∨ 𝑦 = 0))
2119, 20sylib 121 . . . 4 ((𝑥 ∈ ℕ0𝑦 ∈ ℕ0) → (𝑦 ∈ ℕ ∨ 𝑦 = 0))
2213, 18, 21mpjaodan 788 . . 3 ((𝑥 ∈ ℕ0𝑦 ∈ ℕ0) → if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩) ∈ (ℕ0 × ℕ0))
2322rgen2a 2511 . 2 𝑥 ∈ ℕ0𝑦 ∈ ℕ0 if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩) ∈ (ℕ0 × ℕ0)
24 eucalgval.1 . . 3 𝐸 = (𝑥 ∈ ℕ0, 𝑦 ∈ ℕ0 ↦ if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩))
2524fmpo 6143 . 2 (∀𝑥 ∈ ℕ0𝑦 ∈ ℕ0 if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩) ∈ (ℕ0 × ℕ0) ↔ 𝐸:(ℕ0 × ℕ0)⟶(ℕ0 × ℕ0))
2623, 25mpbi 144 1 𝐸:(ℕ0 × ℕ0)⟶(ℕ0 × ℕ0)
 Colors of variables: wff set class Syntax hints:   ∧ wa 103   ∨ wo 698   = wceq 1335   ∈ wcel 2128   ≠ wne 2327  ∀wral 2435  ifcif 3505  ⟨cop 3563   × cxp 4581  ⟶wf 5163  (class class class)co 5818   ∈ cmpo 5820  0cc0 7715  ℕcn 8816  ℕ0cn0 9073  ℤcz 9150   mod cmo 10203 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 604  ax-in2 605  ax-io 699  ax-5 1427  ax-7 1428  ax-gen 1429  ax-ie1 1473  ax-ie2 1474  ax-8 1484  ax-10 1485  ax-11 1486  ax-i12 1487  ax-bndl 1489  ax-4 1490  ax-17 1506  ax-i9 1510  ax-ial 1514  ax-i5r 1515  ax-13 2130  ax-14 2131  ax-ext 2139  ax-sep 4082  ax-pow 4134  ax-pr 4168  ax-un 4392  ax-setind 4494  ax-cnex 7806  ax-resscn 7807  ax-1cn 7808  ax-1re 7809  ax-icn 7810  ax-addcl 7811  ax-addrcl 7812  ax-mulcl 7813  ax-mulrcl 7814  ax-addcom 7815  ax-mulcom 7816  ax-addass 7817  ax-mulass 7818  ax-distr 7819  ax-i2m1 7820  ax-0lt1 7821  ax-1rid 7822  ax-0id 7823  ax-rnegex 7824  ax-precex 7825  ax-cnre 7826  ax-pre-ltirr 7827  ax-pre-ltwlin 7828  ax-pre-lttrn 7829  ax-pre-apti 7830  ax-pre-ltadd 7831  ax-pre-mulgt0 7832  ax-pre-mulext 7833  ax-arch 7834 This theorem depends on definitions:  df-bi 116  df-3or 964  df-3an 965  df-tru 1338  df-fal 1341  df-nf 1441  df-sb 1743  df-eu 2009  df-mo 2010  df-clab 2144  df-cleq 2150  df-clel 2153  df-nfc 2288  df-ne 2328  df-nel 2423  df-ral 2440  df-rex 2441  df-reu 2442  df-rmo 2443  df-rab 2444  df-v 2714  df-sbc 2938  df-csb 3032  df-dif 3104  df-un 3106  df-in 3108  df-ss 3115  df-if 3506  df-pw 3545  df-sn 3566  df-pr 3567  df-op 3569  df-uni 3773  df-int 3808  df-iun 3851  df-br 3966  df-opab 4026  df-mpt 4027  df-id 4252  df-po 4255  df-iso 4256  df-xp 4589  df-rel 4590  df-cnv 4591  df-co 4592  df-dm 4593  df-rn 4594  df-res 4595  df-ima 4596  df-iota 5132  df-fun 5169  df-fn 5170  df-f 5171  df-fv 5175  df-riota 5774  df-ov 5821  df-oprab 5822  df-mpo 5823  df-1st 6082  df-2nd 6083  df-pnf 7897  df-mnf 7898  df-xr 7899  df-ltxr 7900  df-le 7901  df-sub 8031  df-neg 8032  df-reap 8433  df-ap 8440  df-div 8529  df-inn 8817  df-n0 9074  df-z 9151  df-q 9511  df-rp 9543  df-fl 10151  df-mod 10204 This theorem is referenced by:  eucalgcvga  11915  eucalg  11916
 Copyright terms: Public domain W3C validator