Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
Mirrors > Home > MPE Home > Th. List > eucalg | Structured version Visualization version Unicode version |
Description: Euclid's Algorithm
computes the greatest common divisor of two
nonnegative integers by repeatedly replacing the larger of them with its
remainder modulo the smaller until the remainder is 0. Theorem 1.15 in
[ApostolNT] p. 20.
Upon halting, the 1st member of the final state is equal to the gcd of the values comprising the input state . This is Metamath 100 proof #69 (greatest common divisor algorithm). (Contributed by Paul Chapman, 31-Mar-2011.) (Proof shortened by Mario Carneiro, 29-May-2014.) |
Ref | Expression |
---|---|
eucalgval.1 | |
eucalg.2 | |
eucalg.3 |
Ref | Expression |
---|---|
eucalg |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | nn0uz 11722 | . . . . . . . 8 | |
2 | eucalg.2 | . . . . . . . 8 | |
3 | 0zd 11389 | . . . . . . . 8 | |
4 | eucalg.3 | . . . . . . . . 9 | |
5 | opelxpi 5148 | . . . . . . . . 9 | |
6 | 4, 5 | syl5eqel 2705 | . . . . . . . 8 |
7 | eucalgval.1 | . . . . . . . . . 10 | |
8 | 7 | eucalgf 15296 | . . . . . . . . 9 |
9 | 8 | a1i 11 | . . . . . . . 8 |
10 | 1, 2, 3, 6, 9 | algrf 15286 | . . . . . . 7 |
11 | ffvelrn 6357 | . . . . . . 7 | |
12 | 10, 11 | sylancom 701 | . . . . . 6 |
13 | 1st2nd2 7205 | . . . . . 6 | |
14 | 12, 13 | syl 17 | . . . . 5 |
15 | 14 | fveq2d 6195 | . . . 4 |
16 | df-ov 6653 | . . . 4 | |
17 | 15, 16 | syl6eqr 2674 | . . 3 |
18 | 4 | fveq2i 6194 | . . . . . . . 8 |
19 | op2ndg 7181 | . . . . . . . 8 | |
20 | 18, 19 | syl5eq 2668 | . . . . . . 7 |
21 | 20 | fveq2d 6195 | . . . . . 6 |
22 | 21 | fveq2d 6195 | . . . . 5 |
23 | xp2nd 7199 | . . . . . . . . 9 | |
24 | 23 | nn0zd 11480 | . . . . . . . 8 |
25 | uzid 11702 | . . . . . . . 8 | |
26 | 24, 25 | syl 17 | . . . . . . 7 |
27 | eqid 2622 | . . . . . . . 8 | |
28 | 7, 2, 27 | eucalgcvga 15299 | . . . . . . 7 |
29 | 26, 28 | mpd 15 | . . . . . 6 |
30 | 6, 29 | syl 17 | . . . . 5 |
31 | 22, 30 | eqtr3d 2658 | . . . 4 |
32 | 31 | oveq2d 6666 | . . 3 |
33 | xp1st 7198 | . . . 4 | |
34 | nn0gcdid0 15242 | . . . 4 | |
35 | 12, 33, 34 | 3syl 18 | . . 3 |
36 | 17, 32, 35 | 3eqtrrd 2661 | . 2 |
37 | gcdf 15234 | . . . . . . 7 | |
38 | ffn 6045 | . . . . . . 7 | |
39 | 37, 38 | ax-mp 5 | . . . . . 6 |
40 | nn0ssz 11398 | . . . . . . 7 | |
41 | xpss12 5225 | . . . . . . 7 | |
42 | 40, 40, 41 | mp2an 708 | . . . . . 6 |
43 | fnssres 6004 | . . . . . 6 | |
44 | 39, 42, 43 | mp2an 708 | . . . . 5 |
45 | 7 | eucalginv 15297 | . . . . . 6 |
46 | 8 | ffvelrni 6358 | . . . . . . 7 |
47 | fvres 6207 | . . . . . . 7 | |
48 | 46, 47 | syl 17 | . . . . . 6 |
49 | fvres 6207 | . . . . . 6 | |
50 | 45, 48, 49 | 3eqtr4d 2666 | . . . . 5 |
51 | 2, 8, 44, 50 | alginv 15288 | . . . 4 |
52 | 6, 51 | sylancom 701 | . . 3 |
53 | fvres 6207 | . . . 4 | |
54 | 12, 53 | syl 17 | . . 3 |
55 | 0nn0 11307 | . . . . 5 | |
56 | ffvelrn 6357 | . . . . 5 | |
57 | 10, 55, 56 | sylancl 694 | . . . 4 |
58 | fvres 6207 | . . . 4 | |
59 | 57, 58 | syl 17 | . . 3 |
60 | 52, 54, 59 | 3eqtr3d 2664 | . 2 |
61 | 1, 2, 3, 6 | algr0 15285 | . . . . 5 |
62 | 61, 4 | syl6eq 2672 | . . . 4 |
63 | 62 | fveq2d 6195 | . . 3 |
64 | df-ov 6653 | . . 3 | |
65 | 63, 64 | syl6eqr 2674 | . 2 |
66 | 36, 60, 65 | 3eqtrd 2660 | 1 |
Colors of variables: wff setvar class |
Syntax hints: wi 4 wa 384 wceq 1483 wcel 1990 wss 3574 cif 4086 csn 4177 cop 4183 cxp 5112 cres 5116 ccom 5118 wfn 5883 wf 5884 cfv 5888 (class class class)co 6650 cmpt2 6652 c1st 7166 c2nd 7167 cc0 9936 cn0 11292 cz 11377 cuz 11687 cmo 12668 cseq 12801 cgcd 15216 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1722 ax-4 1737 ax-5 1839 ax-6 1888 ax-7 1935 ax-8 1992 ax-9 1999 ax-10 2019 ax-11 2034 ax-12 2047 ax-13 2246 ax-ext 2602 ax-sep 4781 ax-nul 4789 ax-pow 4843 ax-pr 4906 ax-un 6949 ax-cnex 9992 ax-resscn 9993 ax-1cn 9994 ax-icn 9995 ax-addcl 9996 ax-addrcl 9997 ax-mulcl 9998 ax-mulrcl 9999 ax-mulcom 10000 ax-addass 10001 ax-mulass 10002 ax-distr 10003 ax-i2m1 10004 ax-1ne0 10005 ax-1rid 10006 ax-rnegex 10007 ax-rrecex 10008 ax-cnre 10009 ax-pre-lttri 10010 ax-pre-lttrn 10011 ax-pre-ltadd 10012 ax-pre-mulgt0 10013 ax-pre-sup 10014 |
This theorem depends on definitions: df-bi 197 df-or 385 df-an 386 df-3or 1038 df-3an 1039 df-tru 1486 df-ex 1705 df-nf 1710 df-sb 1881 df-eu 2474 df-mo 2475 df-clab 2609 df-cleq 2615 df-clel 2618 df-nfc 2753 df-ne 2795 df-nel 2898 df-ral 2917 df-rex 2918 df-reu 2919 df-rmo 2920 df-rab 2921 df-v 3202 df-sbc 3436 df-csb 3534 df-dif 3577 df-un 3579 df-in 3581 df-ss 3588 df-pss 3590 df-nul 3916 df-if 4087 df-pw 4160 df-sn 4178 df-pr 4180 df-tp 4182 df-op 4184 df-uni 4437 df-iun 4522 df-br 4654 df-opab 4713 df-mpt 4730 df-tr 4753 df-id 5024 df-eprel 5029 df-po 5035 df-so 5036 df-fr 5073 df-we 5075 df-xp 5120 df-rel 5121 df-cnv 5122 df-co 5123 df-dm 5124 df-rn 5125 df-res 5126 df-ima 5127 df-pred 5680 df-ord 5726 df-on 5727 df-lim 5728 df-suc 5729 df-iota 5851 df-fun 5890 df-fn 5891 df-f 5892 df-f1 5893 df-fo 5894 df-f1o 5895 df-fv 5896 df-riota 6611 df-ov 6653 df-oprab 6654 df-mpt2 6655 df-om 7066 df-1st 7168 df-2nd 7169 df-wrecs 7407 df-recs 7468 df-rdg 7506 df-er 7742 df-en 7956 df-dom 7957 df-sdom 7958 df-sup 8348 df-inf 8349 df-pnf 10076 df-mnf 10077 df-xr 10078 df-ltxr 10079 df-le 10080 df-sub 10268 df-neg 10269 df-div 10685 df-nn 11021 df-2 11079 df-3 11080 df-n0 11293 df-z 11378 df-uz 11688 df-rp 11833 df-fz 12327 df-fl 12593 df-mod 12669 df-seq 12802 df-exp 12861 df-cj 13839 df-re 13840 df-im 13841 df-sqrt 13975 df-abs 13976 df-dvds 14984 df-gcd 15217 |
This theorem is referenced by: (None) |
Copyright terms: Public domain | W3C validator |