MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  eucalgcvga Unicode version

Theorem eucalgcvga 12758
Description: Once Euclid's Algorithm halts after  N 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  |-  E  =  ( x  e.  NN0 ,  y  e.  NN0  |->  if ( y  =  0 , 
<. x ,  y >. ,  <. y ,  ( x  mod  y )
>. ) )
eucalg.2  |-  R  =  seq  0 ( ( E  o.  1st ) ,  ( NN0  X.  { A } ) )
eucalgcvga.3  |-  N  =  ( 2nd `  A
)
Assertion
Ref Expression
eucalgcvga  |-  ( A  e.  ( NN0  X.  NN0 )  ->  ( K  e.  ( ZZ>= `  N
)  ->  ( 2nd `  ( R `  K
) )  =  0 ) )
Distinct variable groups:    x, y, N    x, A, y    x, R
Allowed substitution hints:    R( y)    E( x, y)    K( x, y)

Proof of Theorem eucalgcvga
Dummy variable  z is distinct from all other variables.
StepHypRef Expression
1 eucalgcvga.3 . . . . . . 7  |-  N  =  ( 2nd `  A
)
2 xp2nd 6152 . . . . . . 7  |-  ( A  e.  ( NN0  X.  NN0 )  ->  ( 2nd `  A )  e.  NN0 )
31, 2syl5eqel 2369 . . . . . 6  |-  ( A  e.  ( NN0  X.  NN0 )  ->  N  e. 
NN0 )
4 eluznn0 10290 . . . . . 6  |-  ( ( N  e.  NN0  /\  K  e.  ( ZZ>= `  N ) )  ->  K  e.  NN0 )
53, 4sylan 457 . . . . 5  |-  ( ( A  e.  ( NN0 
X.  NN0 )  /\  K  e.  ( ZZ>= `  N )
)  ->  K  e.  NN0 )
6 nn0uz 10264 . . . . . . 7  |-  NN0  =  ( ZZ>= `  0 )
7 eucalg.2 . . . . . . 7  |-  R  =  seq  0 ( ( E  o.  1st ) ,  ( NN0  X.  { A } ) )
8 0z 10037 . . . . . . . 8  |-  0  e.  ZZ
98a1i 10 . . . . . . 7  |-  ( A  e.  ( NN0  X.  NN0 )  ->  0  e.  ZZ )
10 id 19 . . . . . . 7  |-  ( A  e.  ( NN0  X.  NN0 )  ->  A  e.  ( NN0  X.  NN0 ) )
11 eucalgval.1 . . . . . . . . 9  |-  E  =  ( x  e.  NN0 ,  y  e.  NN0  |->  if ( y  =  0 , 
<. x ,  y >. ,  <. y ,  ( x  mod  y )
>. ) )
1211eucalgf 12755 . . . . . . . 8  |-  E :
( NN0  X.  NN0 ) --> ( NN0  X.  NN0 )
1312a1i 10 . . . . . . 7  |-  ( A  e.  ( NN0  X.  NN0 )  ->  E :
( NN0  X.  NN0 ) --> ( NN0  X.  NN0 )
)
146, 7, 9, 10, 13algrf 12745 . . . . . 6  |-  ( A  e.  ( NN0  X.  NN0 )  ->  R : NN0
--> ( NN0  X.  NN0 ) )
15 ffvelrn 5665 . . . . . 6  |-  ( ( R : NN0 --> ( NN0 
X.  NN0 )  /\  K  e.  NN0 )  ->  ( R `  K )  e.  ( NN0  X.  NN0 ) )
1614, 15sylan 457 . . . . 5  |-  ( ( A  e.  ( NN0 
X.  NN0 )  /\  K  e.  NN0 )  ->  ( R `  K )  e.  ( NN0  X.  NN0 ) )
175, 16syldan 456 . . . 4  |-  ( ( A  e.  ( NN0 
X.  NN0 )  /\  K  e.  ( ZZ>= `  N )
)  ->  ( R `  K )  e.  ( NN0  X.  NN0 )
)
18 fvres 5544 . . . 4  |-  ( ( R `  K )  e.  ( NN0  X.  NN0 )  ->  ( ( 2nd  |`  ( NN0  X. 
NN0 ) ) `  ( R `  K ) )  =  ( 2nd `  ( R `  K
) ) )
1917, 18syl 15 . . 3  |-  ( ( A  e.  ( NN0 
X.  NN0 )  /\  K  e.  ( ZZ>= `  N )
)  ->  ( ( 2nd  |`  ( NN0  X.  NN0 ) ) `  ( R `  K )
)  =  ( 2nd `  ( R `  K
) ) )
20 simpl 443 . . . 4  |-  ( ( A  e.  ( NN0 
X.  NN0 )  /\  K  e.  ( ZZ>= `  N )
)  ->  A  e.  ( NN0  X.  NN0 )
)
21 fvres 5544 . . . . . . . 8  |-  ( A  e.  ( NN0  X.  NN0 )  ->  ( ( 2nd  |`  ( NN0  X. 
NN0 ) ) `  A )  =  ( 2nd `  A ) )
2221, 1syl6eqr 2335 . . . . . . 7  |-  ( A  e.  ( NN0  X.  NN0 )  ->  ( ( 2nd  |`  ( NN0  X. 
NN0 ) ) `  A )  =  N )
2322fveq2d 5531 . . . . . 6  |-  ( A  e.  ( NN0  X.  NN0 )  ->  ( ZZ>= `  ( ( 2nd  |`  ( NN0  X.  NN0 ) ) `
 A ) )  =  ( ZZ>= `  N
) )
2423eleq2d 2352 . . . . 5  |-  ( A  e.  ( NN0  X.  NN0 )  ->  ( K  e.  ( ZZ>= `  (
( 2nd  |`  ( NN0 
X.  NN0 ) ) `  A ) )  <->  K  e.  ( ZZ>= `  N )
) )
2524biimpar 471 . . . 4  |-  ( ( A  e.  ( NN0 
X.  NN0 )  /\  K  e.  ( ZZ>= `  N )
)  ->  K  e.  ( ZZ>= `  ( ( 2nd  |`  ( NN0  X.  NN0 ) ) `  A
) ) )
26 f2ndres 6144 . . . . 5  |-  ( 2nd  |`  ( NN0  X.  NN0 ) ) : ( NN0  X.  NN0 ) --> NN0
2711eucalglt 12757 . . . . . 6  |-  ( z  e.  ( NN0  X.  NN0 )  ->  ( ( 2nd `  ( E `
 z ) )  =/=  0  ->  ( 2nd `  ( E `  z ) )  < 
( 2nd `  z
) ) )
2812ffvelrni 5666 . . . . . . . 8  |-  ( z  e.  ( NN0  X.  NN0 )  ->  ( E `
 z )  e.  ( NN0  X.  NN0 ) )
29 fvres 5544 . . . . . . . 8  |-  ( ( E `  z )  e.  ( NN0  X.  NN0 )  ->  ( ( 2nd  |`  ( NN0  X. 
NN0 ) ) `  ( E `  z ) )  =  ( 2nd `  ( E `  z
) ) )
3028, 29syl 15 . . . . . . 7  |-  ( z  e.  ( NN0  X.  NN0 )  ->  ( ( 2nd  |`  ( NN0  X. 
NN0 ) ) `  ( E `  z ) )  =  ( 2nd `  ( E `  z
) ) )
3130neeq1d 2461 . . . . . 6  |-  ( z  e.  ( NN0  X.  NN0 )  ->  ( ( ( 2nd  |`  ( NN0  X.  NN0 ) ) `
 ( E `  z ) )  =/=  0  <->  ( 2nd `  ( E `  z )
)  =/=  0 ) )
32 fvres 5544 . . . . . . 7  |-  ( z  e.  ( NN0  X.  NN0 )  ->  ( ( 2nd  |`  ( NN0  X. 
NN0 ) ) `  z )  =  ( 2nd `  z ) )
3330, 32breq12d 4038 . . . . . 6  |-  ( z  e.  ( NN0  X.  NN0 )  ->  ( ( ( 2nd  |`  ( NN0  X.  NN0 ) ) `
 ( E `  z ) )  < 
( ( 2nd  |`  ( NN0  X.  NN0 ) ) `
 z )  <->  ( 2nd `  ( E `  z
) )  <  ( 2nd `  z ) ) )
3427, 31, 333imtr4d 259 . . . . 5  |-  ( z  e.  ( NN0  X.  NN0 )  ->  ( ( ( 2nd  |`  ( NN0  X.  NN0 ) ) `
 ( E `  z ) )  =/=  0  ->  ( ( 2nd  |`  ( NN0  X.  NN0 ) ) `  ( E `  z )
)  <  ( ( 2nd  |`  ( NN0  X.  NN0 ) ) `  z
) ) )
35 eqid 2285 . . . . 5  |-  ( ( 2nd  |`  ( NN0  X. 
NN0 ) ) `  A )  =  ( ( 2nd  |`  ( NN0  X.  NN0 ) ) `
 A )
3612, 7, 26, 34, 35algcvga 12751 . . . 4  |-  ( A  e.  ( NN0  X.  NN0 )  ->  ( K  e.  ( ZZ>= `  (
( 2nd  |`  ( NN0 
X.  NN0 ) ) `  A ) )  -> 
( ( 2nd  |`  ( NN0  X.  NN0 ) ) `
 ( R `  K ) )  =  0 ) )
3720, 25, 36sylc 56 . . 3  |-  ( ( A  e.  ( NN0 
X.  NN0 )  /\  K  e.  ( ZZ>= `  N )
)  ->  ( ( 2nd  |`  ( NN0  X.  NN0 ) ) `  ( R `  K )
)  =  0 )
3819, 37eqtr3d 2319 . 2  |-  ( ( A  e.  ( NN0 
X.  NN0 )  /\  K  e.  ( ZZ>= `  N )
)  ->  ( 2nd `  ( R `  K
) )  =  0 )
3938ex 423 1  |-  ( A  e.  ( NN0  X.  NN0 )  ->  ( K  e.  ( ZZ>= `  N
)  ->  ( 2nd `  ( R `  K
) )  =  0 ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 358    = wceq 1625    e. wcel 1686    =/= wne 2448   ifcif 3567   {csn 3642   <.cop 3645   class class class wbr 4025    X. cxp 4689    |` cres 4693    o. ccom 4695   -->wf 5253   ` cfv 5257  (class class class)co 5860    e. cmpt2 5862   1stc1st 6122   2ndc2nd 6123   0cc0 8739    < clt 8869   NN0cn0 9967   ZZcz 10026   ZZ>=cuz 10232    mod cmo 10975    seq cseq 11048
This theorem is referenced by:  eucalg  12759
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1535  ax-5 1546  ax-17 1605  ax-9 1637  ax-8 1645  ax-13 1688  ax-14 1690  ax-6 1705  ax-7 1710  ax-11 1717  ax-12 1868  ax-ext 2266  ax-sep 4143  ax-nul 4151  ax-pow 4190  ax-pr 4216  ax-un 4514  ax-cnex 8795  ax-resscn 8796  ax-1cn 8797  ax-icn 8798  ax-addcl 8799  ax-addrcl 8800  ax-mulcl 8801  ax-mulrcl 8802  ax-mulcom 8803  ax-addass 8804  ax-mulass 8805  ax-distr 8806  ax-i2m1 8807  ax-1ne0 8808  ax-1rid 8809  ax-rnegex 8810  ax-rrecex 8811  ax-cnre 8812  ax-pre-lttri 8813  ax-pre-lttrn 8814  ax-pre-ltadd 8815  ax-pre-mulgt0 8816  ax-pre-sup 8817
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-ex 1531  df-nf 1534  df-sb 1632  df-eu 2149  df-mo 2150  df-clab 2272  df-cleq 2278  df-clel 2281  df-nfc 2410  df-ne 2450  df-nel 2451  df-ral 2550  df-rex 2551  df-reu 2552  df-rmo 2553  df-rab 2554  df-v 2792  df-sbc 2994  df-csb 3084  df-dif 3157  df-un 3159  df-in 3161  df-ss 3168  df-pss 3170  df-nul 3458  df-if 3568  df-pw 3629  df-sn 3648  df-pr 3649  df-tp 3650  df-op 3651  df-uni 3830  df-iun 3909  df-br 4026  df-opab 4080  df-mpt 4081  df-tr 4116  df-eprel 4307  df-id 4311  df-po 4316  df-so 4317  df-fr 4354  df-we 4356  df-ord 4397  df-on 4398  df-lim 4399  df-suc 4400  df-om 4659  df-xp 4697  df-rel 4698  df-cnv 4699  df-co 4700  df-dm 4701  df-rn 4702  df-res 4703  df-ima 4704  df-iota 5221  df-fun 5259  df-fn 5260  df-f 5261  df-f1 5262  df-fo 5263  df-f1o 5264  df-fv 5265  df-ov 5863  df-oprab 5864  df-mpt2 5865  df-1st 6124  df-2nd 6125  df-riota 6306  df-recs 6390  df-rdg 6425  df-er 6662  df-en 6866  df-dom 6867  df-sdom 6868  df-sup 7196  df-pnf 8871  df-mnf 8872  df-xr 8873  df-ltxr 8874  df-le 8875  df-sub 9041  df-neg 9042  df-div 9426  df-nn 9749  df-n0 9968  df-z 10027  df-uz 10233  df-rp 10357  df-fz 10785  df-fl 10927  df-mod 10976  df-seq 11049
  Copyright terms: Public domain W3C validator