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

Theorem eucalgcvga 11532
Description: Once Euclid's Algorithm halts after 𝑁 steps, the second element of the state remains 0 . (Contributed by Paul Chapman, 22-Jun-2011.) (Revised by Mario Carneiro, 29-May-2014.)
Hypotheses
Ref Expression
eucalgval.1 𝐸 = (𝑥 ∈ ℕ0, 𝑦 ∈ ℕ0 ↦ if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩))
eucalg.2 𝑅 = seq0((𝐸 ∘ 1st ), (ℕ0 × {𝐴}))
eucalgcvga.3 𝑁 = (2nd𝐴)
Assertion
Ref Expression
eucalgcvga (𝐴 ∈ (ℕ0 × ℕ0) → (𝐾 ∈ (ℤ𝑁) → (2nd ‘(𝑅𝐾)) = 0))
Distinct variable groups:   𝑥,𝑦,𝑁   𝑥,𝐴,𝑦   𝑥,𝑅
Allowed substitution hints:   𝑅(𝑦)   𝐸(𝑥,𝑦)   𝐾(𝑥,𝑦)

Proof of Theorem eucalgcvga
Dummy variable 𝑧 is distinct from all other variables.
StepHypRef Expression
1 eucalgcvga.3 . . . . . . 7 𝑁 = (2nd𝐴)
2 xp2nd 5995 . . . . . . 7 (𝐴 ∈ (ℕ0 × ℕ0) → (2nd𝐴) ∈ ℕ0)
31, 2syl5eqel 2186 . . . . . 6 (𝐴 ∈ (ℕ0 × ℕ0) → 𝑁 ∈ ℕ0)
4 eluznn0 9243 . . . . . 6 ((𝑁 ∈ ℕ0𝐾 ∈ (ℤ𝑁)) → 𝐾 ∈ ℕ0)
53, 4sylan 279 . . . . 5 ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ (ℤ𝑁)) → 𝐾 ∈ ℕ0)
6 nn0uz 9210 . . . . . . 7 0 = (ℤ‘0)
7 eucalg.2 . . . . . . 7 𝑅 = seq0((𝐸 ∘ 1st ), (ℕ0 × {𝐴}))
8 0zd 8918 . . . . . . 7 (𝐴 ∈ (ℕ0 × ℕ0) → 0 ∈ ℤ)
9 id 19 . . . . . . 7 (𝐴 ∈ (ℕ0 × ℕ0) → 𝐴 ∈ (ℕ0 × ℕ0))
10 eucalgval.1 . . . . . . . . 9 𝐸 = (𝑥 ∈ ℕ0, 𝑦 ∈ ℕ0 ↦ if(𝑦 = 0, ⟨𝑥, 𝑦⟩, ⟨𝑦, (𝑥 mod 𝑦)⟩))
1110eucalgf 11529 . . . . . . . 8 𝐸:(ℕ0 × ℕ0)⟶(ℕ0 × ℕ0)
1211a1i 9 . . . . . . 7 (𝐴 ∈ (ℕ0 × ℕ0) → 𝐸:(ℕ0 × ℕ0)⟶(ℕ0 × ℕ0))
136, 7, 8, 9, 12algrf 11519 . . . . . 6 (𝐴 ∈ (ℕ0 × ℕ0) → 𝑅:ℕ0⟶(ℕ0 × ℕ0))
1413ffvelrnda 5487 . . . . 5 ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ ℕ0) → (𝑅𝐾) ∈ (ℕ0 × ℕ0))
155, 14syldan 278 . . . 4 ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ (ℤ𝑁)) → (𝑅𝐾) ∈ (ℕ0 × ℕ0))
16 fvres 5377 . . . 4 ((𝑅𝐾) ∈ (ℕ0 × ℕ0) → ((2nd ↾ (ℕ0 × ℕ0))‘(𝑅𝐾)) = (2nd ‘(𝑅𝐾)))
1715, 16syl 14 . . 3 ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ (ℤ𝑁)) → ((2nd ↾ (ℕ0 × ℕ0))‘(𝑅𝐾)) = (2nd ‘(𝑅𝐾)))
18 simpl 108 . . . 4 ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ (ℤ𝑁)) → 𝐴 ∈ (ℕ0 × ℕ0))
19 fvres 5377 . . . . . . . 8 (𝐴 ∈ (ℕ0 × ℕ0) → ((2nd ↾ (ℕ0 × ℕ0))‘𝐴) = (2nd𝐴))
2019, 1syl6eqr 2150 . . . . . . 7 (𝐴 ∈ (ℕ0 × ℕ0) → ((2nd ↾ (ℕ0 × ℕ0))‘𝐴) = 𝑁)
2120fveq2d 5357 . . . . . 6 (𝐴 ∈ (ℕ0 × ℕ0) → (ℤ‘((2nd ↾ (ℕ0 × ℕ0))‘𝐴)) = (ℤ𝑁))
2221eleq2d 2169 . . . . 5 (𝐴 ∈ (ℕ0 × ℕ0) → (𝐾 ∈ (ℤ‘((2nd ↾ (ℕ0 × ℕ0))‘𝐴)) ↔ 𝐾 ∈ (ℤ𝑁)))
2322biimpar 293 . . . 4 ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ (ℤ𝑁)) → 𝐾 ∈ (ℤ‘((2nd ↾ (ℕ0 × ℕ0))‘𝐴)))
24 f2ndres 5989 . . . . 5 (2nd ↾ (ℕ0 × ℕ0)):(ℕ0 × ℕ0)⟶ℕ0
2510eucalglt 11531 . . . . . 6 (𝑧 ∈ (ℕ0 × ℕ0) → ((2nd ‘(𝐸𝑧)) ≠ 0 → (2nd ‘(𝐸𝑧)) < (2nd𝑧)))
2611ffvelrni 5486 . . . . . . . 8 (𝑧 ∈ (ℕ0 × ℕ0) → (𝐸𝑧) ∈ (ℕ0 × ℕ0))
27 fvres 5377 . . . . . . . 8 ((𝐸𝑧) ∈ (ℕ0 × ℕ0) → ((2nd ↾ (ℕ0 × ℕ0))‘(𝐸𝑧)) = (2nd ‘(𝐸𝑧)))
2826, 27syl 14 . . . . . . 7 (𝑧 ∈ (ℕ0 × ℕ0) → ((2nd ↾ (ℕ0 × ℕ0))‘(𝐸𝑧)) = (2nd ‘(𝐸𝑧)))
2928neeq1d 2285 . . . . . 6 (𝑧 ∈ (ℕ0 × ℕ0) → (((2nd ↾ (ℕ0 × ℕ0))‘(𝐸𝑧)) ≠ 0 ↔ (2nd ‘(𝐸𝑧)) ≠ 0))
30 fvres 5377 . . . . . . 7 (𝑧 ∈ (ℕ0 × ℕ0) → ((2nd ↾ (ℕ0 × ℕ0))‘𝑧) = (2nd𝑧))
3128, 30breq12d 3888 . . . . . 6 (𝑧 ∈ (ℕ0 × ℕ0) → (((2nd ↾ (ℕ0 × ℕ0))‘(𝐸𝑧)) < ((2nd ↾ (ℕ0 × ℕ0))‘𝑧) ↔ (2nd ‘(𝐸𝑧)) < (2nd𝑧)))
3225, 29, 313imtr4d 202 . . . . 5 (𝑧 ∈ (ℕ0 × ℕ0) → (((2nd ↾ (ℕ0 × ℕ0))‘(𝐸𝑧)) ≠ 0 → ((2nd ↾ (ℕ0 × ℕ0))‘(𝐸𝑧)) < ((2nd ↾ (ℕ0 × ℕ0))‘𝑧)))
33 eqid 2100 . . . . 5 ((2nd ↾ (ℕ0 × ℕ0))‘𝐴) = ((2nd ↾ (ℕ0 × ℕ0))‘𝐴)
3411, 7, 24, 32, 33algcvga 11525 . . . 4 (𝐴 ∈ (ℕ0 × ℕ0) → (𝐾 ∈ (ℤ‘((2nd ↾ (ℕ0 × ℕ0))‘𝐴)) → ((2nd ↾ (ℕ0 × ℕ0))‘(𝑅𝐾)) = 0))
3518, 23, 34sylc 62 . . 3 ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ (ℤ𝑁)) → ((2nd ↾ (ℕ0 × ℕ0))‘(𝑅𝐾)) = 0)
3617, 35eqtr3d 2134 . 2 ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ (ℤ𝑁)) → (2nd ‘(𝑅𝐾)) = 0)
3736ex 114 1 (𝐴 ∈ (ℕ0 × ℕ0) → (𝐾 ∈ (ℤ𝑁) → (2nd ‘(𝑅𝐾)) = 0))
Colors of variables: wff set class
Syntax hints:  wi 4  wa 103   = wceq 1299  wcel 1448  wne 2267  ifcif 3421  {csn 3474  cop 3477   class class class wbr 3875   × cxp 4475  cres 4479  ccom 4481  wf 5055  cfv 5059  (class class class)co 5706  cmpo 5708  1st c1st 5967  2nd c2nd 5968  0cc0 7500   < clt 7672  0cn0 8829  cuz 9176   mod cmo 9936  seqcseq 10059
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-mp 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 584  ax-in2 585  ax-io 671  ax-5 1391  ax-7 1392  ax-gen 1393  ax-ie1 1437  ax-ie2 1438  ax-8 1450  ax-10 1451  ax-11 1452  ax-i12 1453  ax-bndl 1454  ax-4 1455  ax-13 1459  ax-14 1460  ax-17 1474  ax-i9 1478  ax-ial 1482  ax-i5r 1483  ax-ext 2082  ax-coll 3983  ax-sep 3986  ax-nul 3994  ax-pow 4038  ax-pr 4069  ax-un 4293  ax-setind 4390  ax-iinf 4440  ax-cnex 7586  ax-resscn 7587  ax-1cn 7588  ax-1re 7589  ax-icn 7590  ax-addcl 7591  ax-addrcl 7592  ax-mulcl 7593  ax-mulrcl 7594  ax-addcom 7595  ax-mulcom 7596  ax-addass 7597  ax-mulass 7598  ax-distr 7599  ax-i2m1 7600  ax-0lt1 7601  ax-1rid 7602  ax-0id 7603  ax-rnegex 7604  ax-precex 7605  ax-cnre 7606  ax-pre-ltirr 7607  ax-pre-ltwlin 7608  ax-pre-lttrn 7609  ax-pre-apti 7610  ax-pre-ltadd 7611  ax-pre-mulgt0 7612  ax-pre-mulext 7613  ax-arch 7614
This theorem depends on definitions:  df-bi 116  df-dc 787  df-3or 931  df-3an 932  df-tru 1302  df-fal 1305  df-nf 1405  df-sb 1704  df-eu 1963  df-mo 1964  df-clab 2087  df-cleq 2093  df-clel 2096  df-nfc 2229  df-ne 2268  df-nel 2363  df-ral 2380  df-rex 2381  df-reu 2382  df-rmo 2383  df-rab 2384  df-v 2643  df-sbc 2863  df-csb 2956  df-dif 3023  df-un 3025  df-in 3027  df-ss 3034  df-nul 3311  df-if 3422  df-pw 3459  df-sn 3480  df-pr 3481  df-op 3483  df-uni 3684  df-int 3719  df-iun 3762  df-br 3876  df-opab 3930  df-mpt 3931  df-tr 3967  df-id 4153  df-po 4156  df-iso 4157  df-iord 4226  df-on 4228  df-ilim 4229  df-suc 4231  df-iom 4443  df-xp 4483  df-rel 4484  df-cnv 4485  df-co 4486  df-dm 4487  df-rn 4488  df-res 4489  df-ima 4490  df-iota 5024  df-fun 5061  df-fn 5062  df-f 5063  df-f1 5064  df-fo 5065  df-f1o 5066  df-fv 5067  df-riota 5662  df-ov 5709  df-oprab 5710  df-mpo 5711  df-1st 5969  df-2nd 5970  df-recs 6132  df-frec 6218  df-pnf 7674  df-mnf 7675  df-xr 7676  df-ltxr 7677  df-le 7678  df-sub 7806  df-neg 7807  df-reap 8203  df-ap 8210  df-div 8294  df-inn 8579  df-n0 8830  df-z 8907  df-uz 9177  df-q 9262  df-rp 9292  df-fl 9884  df-mod 9937  df-seqfrec 10060
This theorem is referenced by:  eucalg  11533
  Copyright terms: Public domain W3C validator