Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
Mirrors > Home > MPE Home > Th. List > eucalgcvga | Structured version Visualization version GIF version |
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.) |
Ref | Expression |
---|---|
eucalgval.1 | ⊢ 𝐸 = (𝑥 ∈ ℕ0, 𝑦 ∈ ℕ0 ↦ if(𝑦 = 0, 〈𝑥, 𝑦〉, 〈𝑦, (𝑥 mod 𝑦)〉)) |
eucalg.2 | ⊢ 𝑅 = seq0((𝐸 ∘ 1st ), (ℕ0 × {𝐴})) |
eucalgcvga.3 | ⊢ 𝑁 = (2nd ‘𝐴) |
Ref | Expression |
---|---|
eucalgcvga | ⊢ (𝐴 ∈ (ℕ0 × ℕ0) → (𝐾 ∈ (ℤ≥‘𝑁) → (2nd ‘(𝑅‘𝐾)) = 0)) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | eucalgcvga.3 | . . . . . . 7 ⊢ 𝑁 = (2nd ‘𝐴) | |
2 | xp2nd 7711 | . . . . . . 7 ⊢ (𝐴 ∈ (ℕ0 × ℕ0) → (2nd ‘𝐴) ∈ ℕ0) | |
3 | 1, 2 | eqeltrid 2914 | . . . . . 6 ⊢ (𝐴 ∈ (ℕ0 × ℕ0) → 𝑁 ∈ ℕ0) |
4 | eluznn0 12305 | . . . . . 6 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ (ℤ≥‘𝑁)) → 𝐾 ∈ ℕ0) | |
5 | 3, 4 | sylan 580 | . . . . 5 ⊢ ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ (ℤ≥‘𝑁)) → 𝐾 ∈ ℕ0) |
6 | nn0uz 12268 | . . . . . . 7 ⊢ ℕ0 = (ℤ≥‘0) | |
7 | eucalg.2 | . . . . . . 7 ⊢ 𝑅 = seq0((𝐸 ∘ 1st ), (ℕ0 × {𝐴})) | |
8 | 0zd 11981 | . . . . . . 7 ⊢ (𝐴 ∈ (ℕ0 × ℕ0) → 0 ∈ ℤ) | |
9 | id 22 | . . . . . . 7 ⊢ (𝐴 ∈ (ℕ0 × ℕ0) → 𝐴 ∈ (ℕ0 × ℕ0)) | |
10 | eucalgval.1 | . . . . . . . . 9 ⊢ 𝐸 = (𝑥 ∈ ℕ0, 𝑦 ∈ ℕ0 ↦ if(𝑦 = 0, 〈𝑥, 𝑦〉, 〈𝑦, (𝑥 mod 𝑦)〉)) | |
11 | 10 | eucalgf 15915 | . . . . . . . 8 ⊢ 𝐸:(ℕ0 × ℕ0)⟶(ℕ0 × ℕ0) |
12 | 11 | a1i 11 | . . . . . . 7 ⊢ (𝐴 ∈ (ℕ0 × ℕ0) → 𝐸:(ℕ0 × ℕ0)⟶(ℕ0 × ℕ0)) |
13 | 6, 7, 8, 9, 12 | algrf 15905 | . . . . . 6 ⊢ (𝐴 ∈ (ℕ0 × ℕ0) → 𝑅:ℕ0⟶(ℕ0 × ℕ0)) |
14 | 13 | ffvelrnda 6843 | . . . . 5 ⊢ ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ ℕ0) → (𝑅‘𝐾) ∈ (ℕ0 × ℕ0)) |
15 | 5, 14 | syldan 591 | . . . 4 ⊢ ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ (ℤ≥‘𝑁)) → (𝑅‘𝐾) ∈ (ℕ0 × ℕ0)) |
16 | 15 | fvresd 6683 | . . 3 ⊢ ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ (ℤ≥‘𝑁)) → ((2nd ↾ (ℕ0 × ℕ0))‘(𝑅‘𝐾)) = (2nd ‘(𝑅‘𝐾))) |
17 | simpl 483 | . . . 4 ⊢ ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ (ℤ≥‘𝑁)) → 𝐴 ∈ (ℕ0 × ℕ0)) | |
18 | fvres 6682 | . . . . . . . 8 ⊢ (𝐴 ∈ (ℕ0 × ℕ0) → ((2nd ↾ (ℕ0 × ℕ0))‘𝐴) = (2nd ‘𝐴)) | |
19 | 18, 1 | syl6eqr 2871 | . . . . . . 7 ⊢ (𝐴 ∈ (ℕ0 × ℕ0) → ((2nd ↾ (ℕ0 × ℕ0))‘𝐴) = 𝑁) |
20 | 19 | fveq2d 6667 | . . . . . 6 ⊢ (𝐴 ∈ (ℕ0 × ℕ0) → (ℤ≥‘((2nd ↾ (ℕ0 × ℕ0))‘𝐴)) = (ℤ≥‘𝑁)) |
21 | 20 | eleq2d 2895 | . . . . 5 ⊢ (𝐴 ∈ (ℕ0 × ℕ0) → (𝐾 ∈ (ℤ≥‘((2nd ↾ (ℕ0 × ℕ0))‘𝐴)) ↔ 𝐾 ∈ (ℤ≥‘𝑁))) |
22 | 21 | biimpar 478 | . . . 4 ⊢ ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ (ℤ≥‘𝑁)) → 𝐾 ∈ (ℤ≥‘((2nd ↾ (ℕ0 × ℕ0))‘𝐴))) |
23 | f2ndres 7703 | . . . . 5 ⊢ (2nd ↾ (ℕ0 × ℕ0)):(ℕ0 × ℕ0)⟶ℕ0 | |
24 | 10 | eucalglt 15917 | . . . . . 6 ⊢ (𝑧 ∈ (ℕ0 × ℕ0) → ((2nd ‘(𝐸‘𝑧)) ≠ 0 → (2nd ‘(𝐸‘𝑧)) < (2nd ‘𝑧))) |
25 | 11 | ffvelrni 6842 | . . . . . . . 8 ⊢ (𝑧 ∈ (ℕ0 × ℕ0) → (𝐸‘𝑧) ∈ (ℕ0 × ℕ0)) |
26 | 25 | fvresd 6683 | . . . . . . 7 ⊢ (𝑧 ∈ (ℕ0 × ℕ0) → ((2nd ↾ (ℕ0 × ℕ0))‘(𝐸‘𝑧)) = (2nd ‘(𝐸‘𝑧))) |
27 | 26 | neeq1d 3072 | . . . . . 6 ⊢ (𝑧 ∈ (ℕ0 × ℕ0) → (((2nd ↾ (ℕ0 × ℕ0))‘(𝐸‘𝑧)) ≠ 0 ↔ (2nd ‘(𝐸‘𝑧)) ≠ 0)) |
28 | fvres 6682 | . . . . . . 7 ⊢ (𝑧 ∈ (ℕ0 × ℕ0) → ((2nd ↾ (ℕ0 × ℕ0))‘𝑧) = (2nd ‘𝑧)) | |
29 | 26, 28 | breq12d 5070 | . . . . . 6 ⊢ (𝑧 ∈ (ℕ0 × ℕ0) → (((2nd ↾ (ℕ0 × ℕ0))‘(𝐸‘𝑧)) < ((2nd ↾ (ℕ0 × ℕ0))‘𝑧) ↔ (2nd ‘(𝐸‘𝑧)) < (2nd ‘𝑧))) |
30 | 24, 27, 29 | 3imtr4d 295 | . . . . 5 ⊢ (𝑧 ∈ (ℕ0 × ℕ0) → (((2nd ↾ (ℕ0 × ℕ0))‘(𝐸‘𝑧)) ≠ 0 → ((2nd ↾ (ℕ0 × ℕ0))‘(𝐸‘𝑧)) < ((2nd ↾ (ℕ0 × ℕ0))‘𝑧))) |
31 | eqid 2818 | . . . . 5 ⊢ ((2nd ↾ (ℕ0 × ℕ0))‘𝐴) = ((2nd ↾ (ℕ0 × ℕ0))‘𝐴) | |
32 | 11, 7, 23, 30, 31 | algcvga 15911 | . . . 4 ⊢ (𝐴 ∈ (ℕ0 × ℕ0) → (𝐾 ∈ (ℤ≥‘((2nd ↾ (ℕ0 × ℕ0))‘𝐴)) → ((2nd ↾ (ℕ0 × ℕ0))‘(𝑅‘𝐾)) = 0)) |
33 | 17, 22, 32 | sylc 65 | . . 3 ⊢ ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ (ℤ≥‘𝑁)) → ((2nd ↾ (ℕ0 × ℕ0))‘(𝑅‘𝐾)) = 0) |
34 | 16, 33 | eqtr3d 2855 | . 2 ⊢ ((𝐴 ∈ (ℕ0 × ℕ0) ∧ 𝐾 ∈ (ℤ≥‘𝑁)) → (2nd ‘(𝑅‘𝐾)) = 0) |
35 | 34 | ex 413 | 1 ⊢ (𝐴 ∈ (ℕ0 × ℕ0) → (𝐾 ∈ (ℤ≥‘𝑁) → (2nd ‘(𝑅‘𝐾)) = 0)) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 396 = wceq 1528 ∈ wcel 2105 ≠ wne 3013 ifcif 4463 {csn 4557 〈cop 4563 class class class wbr 5057 × cxp 5546 ↾ cres 5550 ∘ ccom 5552 ⟶wf 6344 ‘cfv 6348 (class class class)co 7145 ∈ cmpo 7147 1st c1st 7676 2nd c2nd 7677 0cc0 10525 < clt 10663 ℕ0cn0 11885 ℤ≥cuz 12231 mod cmo 13225 seqcseq 13357 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1787 ax-4 1801 ax-5 1902 ax-6 1961 ax-7 2006 ax-8 2107 ax-9 2115 ax-10 2136 ax-11 2151 ax-12 2167 ax-ext 2790 ax-sep 5194 ax-nul 5201 ax-pow 5257 ax-pr 5320 ax-un 7450 ax-cnex 10581 ax-resscn 10582 ax-1cn 10583 ax-icn 10584 ax-addcl 10585 ax-addrcl 10586 ax-mulcl 10587 ax-mulrcl 10588 ax-mulcom 10589 ax-addass 10590 ax-mulass 10591 ax-distr 10592 ax-i2m1 10593 ax-1ne0 10594 ax-1rid 10595 ax-rnegex 10596 ax-rrecex 10597 ax-cnre 10598 ax-pre-lttri 10599 ax-pre-lttrn 10600 ax-pre-ltadd 10601 ax-pre-mulgt0 10602 ax-pre-sup 10603 |
This theorem depends on definitions: df-bi 208 df-an 397 df-or 842 df-3or 1080 df-3an 1081 df-tru 1531 df-ex 1772 df-nf 1776 df-sb 2061 df-mo 2615 df-eu 2647 df-clab 2797 df-cleq 2811 df-clel 2890 df-nfc 2960 df-ne 3014 df-nel 3121 df-ral 3140 df-rex 3141 df-reu 3142 df-rmo 3143 df-rab 3144 df-v 3494 df-sbc 3770 df-csb 3881 df-dif 3936 df-un 3938 df-in 3940 df-ss 3949 df-pss 3951 df-nul 4289 df-if 4464 df-pw 4537 df-sn 4558 df-pr 4560 df-tp 4562 df-op 4564 df-uni 4831 df-iun 4912 df-br 5058 df-opab 5120 df-mpt 5138 df-tr 5164 df-id 5453 df-eprel 5458 df-po 5467 df-so 5468 df-fr 5507 df-we 5509 df-xp 5554 df-rel 5555 df-cnv 5556 df-co 5557 df-dm 5558 df-rn 5559 df-res 5560 df-ima 5561 df-pred 6141 df-ord 6187 df-on 6188 df-lim 6189 df-suc 6190 df-iota 6307 df-fun 6350 df-fn 6351 df-f 6352 df-f1 6353 df-fo 6354 df-f1o 6355 df-fv 6356 df-riota 7103 df-ov 7148 df-oprab 7149 df-mpo 7150 df-om 7570 df-1st 7678 df-2nd 7679 df-wrecs 7936 df-recs 7997 df-rdg 8035 df-er 8278 df-en 8498 df-dom 8499 df-sdom 8500 df-sup 8894 df-inf 8895 df-pnf 10665 df-mnf 10666 df-xr 10667 df-ltxr 10668 df-le 10669 df-sub 10860 df-neg 10861 df-div 11286 df-nn 11627 df-n0 11886 df-z 11970 df-uz 12232 df-rp 12378 df-fz 12881 df-fl 13150 df-mod 13226 df-seq 13358 |
This theorem is referenced by: eucalg 15919 |
Copyright terms: Public domain | W3C validator |