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

Theorem clwwlkf 24659
Description: Lemma 1 for clwwlkbij 24664: F is a function. (Contributed by Alexander van der Vekens, 27-Sep-2018.)
Hypotheses
Ref Expression
clwwlkbij.d  |-  D  =  { w  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  w )  =  ( w `  0 ) }
clwwlkbij.f  |-  F  =  ( t  e.  D  |->  ( t substr  <. 0 ,  N >. ) )
Assertion
Ref Expression
clwwlkf  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  F : D --> ( ( V ClWWalksN  E ) `  N
) )
Distinct variable groups:    w, E    w, N    w, V    t, D    t, E, w    t, N    t, V    t, X    t, Y
Allowed substitution hints:    D( w)    F( w, t)    X( w)    Y( w)

Proof of Theorem clwwlkf
Dummy variable  i is distinct from all other variables.
StepHypRef Expression
1 fveq2 5852 . . . . 5  |-  ( w  =  t  ->  ( lastS  `  w )  =  ( lastS  `  t ) )
2 fveq1 5851 . . . . 5  |-  ( w  =  t  ->  (
w `  0 )  =  ( t ` 
0 ) )
31, 2eqeq12d 2463 . . . 4  |-  ( w  =  t  ->  (
( lastS  `  w )  =  ( w `  0
)  <->  ( lastS  `  t )  =  ( t ` 
0 ) ) )
4 clwwlkbij.d . . . 4  |-  D  =  { w  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  w )  =  ( w `  0 ) }
53, 4elrab2 3243 . . 3  |-  ( t  e.  D  <->  ( t  e.  ( ( V WWalksN  E
) `  N )  /\  ( lastS  `  t )  =  ( t ` 
0 ) ) )
6 nnnn0 10803 . . . . . . . 8  |-  ( N  e.  NN  ->  N  e.  NN0 )
7 iswwlkn 24549 . . . . . . . 8  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN0 )  -> 
( t  e.  ( ( V WWalksN  E ) `  N )  <->  ( t  e.  ( V WWalks  E )  /\  ( # `  t
)  =  ( N  +  1 ) ) ) )
86, 7syl3an3 1262 . . . . . . 7  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( t  e.  ( ( V WWalksN  E ) `  N )  <->  ( t  e.  ( V WWalks  E )  /\  ( # `  t
)  =  ( N  +  1 ) ) ) )
9 iswwlk 24548 . . . . . . . . 9  |-  ( ( V  e.  X  /\  E  e.  Y )  ->  ( t  e.  ( V WWalks  E )  <->  ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
) ) )
1093adant3 1015 . . . . . . . 8  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( t  e.  ( V WWalks  E )  <->  ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
) ) )
1110anbi1d 704 . . . . . . 7  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( t  e.  ( V WWalks  E )  /\  ( # `  t
)  =  ( N  +  1 ) )  <-> 
( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) ) )
128, 11bitrd 253 . . . . . 6  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( t  e.  ( ( V WWalksN  E ) `  N )  <->  ( (
t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) ) )
13 simpll 753 . . . . . . . . . . . . . . . 16  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  t  e. Word  V
)
14 peano2nn0 10837 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN0  ->  ( N  +  1 )  e. 
NN0 )
156, 14syl 16 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  NN0 )
16 nnre 10544 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  N  e.  RR )
1716lep1d 10478 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  <_  ( N  +  1 ) )
18 elfz2nn0 11772 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  ( 0 ... ( N  +  1 ) )  <->  ( N  e.  NN0  /\  ( N  +  1 )  e. 
NN0  /\  N  <_  ( N  +  1 ) ) )
196, 15, 17, 18syl3anbrc 1179 . . . . . . . . . . . . . . . . . 18  |-  ( N  e.  NN  ->  N  e.  ( 0 ... ( N  +  1 ) ) )
2019adantl 466 . . . . . . . . . . . . . . . . 17  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  N  e.  ( 0 ... ( N  +  1 ) ) )
21 oveq2 6285 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
0 ... ( # `  t
) )  =  ( 0 ... ( N  +  1 ) ) )
2221eleq2d 2511 . . . . . . . . . . . . . . . . . . 19  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  ( N  e.  ( 0 ... ( # `  t
) )  <->  N  e.  ( 0 ... ( N  +  1 ) ) ) )
2322adantl 466 . . . . . . . . . . . . . . . . . 18  |-  ( ( t  e. Word  V  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( N  e.  ( 0 ... ( # `  t ) )  <->  N  e.  ( 0 ... ( N  +  1 ) ) ) )
2423adantr 465 . . . . . . . . . . . . . . . . 17  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  ( N  e.  ( 0 ... ( # `
 t ) )  <-> 
N  e.  ( 0 ... ( N  + 
1 ) ) ) )
2520, 24mpbird 232 . . . . . . . . . . . . . . . 16  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  N  e.  ( 0 ... ( # `  t ) ) )
2613, 25jca 532 . . . . . . . . . . . . . . 15  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t ) ) ) )
27 swrd0len 12623 . . . . . . . . . . . . . . 15  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) ) )  -> 
( # `  ( t substr  <. 0 ,  N >. ) )  =  N )
2826, 27syl 16 . . . . . . . . . . . . . 14  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N )
2928ex 434 . . . . . . . . . . . . 13  |-  ( ( t  e. Word  V  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( N  e.  NN  ->  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N ) )
30293ad2antl2 1158 . . . . . . . . . . . 12  |-  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  ( N  e.  NN  ->  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N ) )
3130com12 31 . . . . . . . . . . 11  |-  ( N  e.  NN  ->  (
( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) )  ->  ( # `
 ( t substr  <. 0 ,  N >. ) )  =  N ) )
32313ad2ant3 1018 . . . . . . . . . 10  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N ) )
3332imp 429 . . . . . . . . 9  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N )
3433adantr 465 . . . . . . . 8  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N )
35 swrdcl 12620 . . . . . . . . . . . . 13  |-  ( t  e. Word  V  ->  (
t substr  <. 0 ,  N >. )  e. Word  V )
36353ad2ant2 1017 . . . . . . . . . . . 12  |-  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  ->  ( t substr  <.
0 ,  N >. )  e. Word  V )
3736ad2antrl 727 . . . . . . . . . . 11  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  ( t substr  <.
0 ,  N >. )  e. Word  V )
3837ad2antrl 727 . . . . . . . . . 10  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  -> 
( t substr  <. 0 ,  N >. )  e. Word  V
)
39 oveq1 6284 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
( # `  t )  -  1 )  =  ( ( N  + 
1 )  -  1 ) )
4039oveq2d 6293 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
0..^ ( ( # `  t )  -  1 ) )  =  ( 0..^ ( ( N  +  1 )  - 
1 ) ) )
41 nncn 10545 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  N  e.  CC )
42 1cnd 9610 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  1  e.  CC )
4341, 42pncand 9932 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( N  e.  NN  ->  (
( N  +  1 )  -  1 )  =  N )
4443oveq2d 6293 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  NN  ->  (
0..^ ( ( N  +  1 )  - 
1 ) )  =  ( 0..^ N ) )
4540, 44sylan9eqr 2504 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( 0..^ ( (
# `  t )  -  1 ) )  =  ( 0..^ N ) )
4645raleqdv 3044 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  <->  A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E ) )
47 nnz 10887 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  NN  ->  N  e.  ZZ )
48 peano2zm 10908 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  ZZ  ->  ( N  -  1 )  e.  ZZ )
4947, 48syl 16 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  ZZ )
5016lem1d 10480 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  NN  ->  ( N  -  1 )  <_  N )
51 eluz2 11091 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  ( ZZ>= `  ( N  -  1 ) )  <->  ( ( N  -  1 )  e.  ZZ  /\  N  e.  ZZ  /\  ( N  -  1 )  <_  N ) )
5249, 47, 50, 51syl3anbrc 1179 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  N  e.  ( ZZ>= `  ( N  -  1 ) ) )
53 fzoss2 11827 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  ( ZZ>= `  ( N  -  1 ) )  ->  ( 0..^ ( N  -  1 ) )  C_  (
0..^ N ) )
5452, 53syl 16 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( N  e.  NN  ->  (
0..^ ( N  - 
1 ) )  C_  ( 0..^ N ) )
5554adantr 465 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( 0..^ ( N  -  1 ) ) 
C_  ( 0..^ N ) )
56 ssralv 3546 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( 0..^ ( N  - 
1 ) )  C_  ( 0..^ N )  -> 
( A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( t `  i
) ,  ( t `
 ( i  +  1 ) ) }  e.  ran  E ) )
5755, 56syl 16 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( t `  i
) ,  ( t `
 ( i  +  1 ) ) }  e.  ran  E ) )
58 simplr 754 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  t  e. Word  V )
5919adantr 465 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  ->  N  e.  ( 0 ... ( N  + 
1 ) ) )
6022adantl 466 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( N  e.  ( 0 ... ( # `  t ) )  <->  N  e.  ( 0 ... ( N  +  1 ) ) ) )
6159, 60mpbird 232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  ->  N  e.  ( 0 ... ( # `  t
) ) )
6261ad2antrr 725 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  N  e.  ( 0 ... ( # `
 t ) ) )
6354sseld 3485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( N  e.  NN  ->  (
i  e.  ( 0..^ ( N  -  1 ) )  ->  i  e.  ( 0..^ N ) ) )
6463ad2antrr 725 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( N  e.  NN  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  t  e. Word  V
)  ->  ( i  e.  ( 0..^ ( N  -  1 ) )  ->  i  e.  ( 0..^ N ) ) )
6564imp 429 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  i  e.  ( 0..^ N ) )
66 swrd0fv 12640 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  i  e.  ( 0..^ N ) )  ->  ( (
t substr  <. 0 ,  N >. ) `  i )  =  ( t `  i ) )
6766eqcomd 2449 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  i  e.  ( 0..^ N ) )  ->  ( t `  i )  =  ( ( t substr  <. 0 ,  N >. ) `  i
) )
6858, 62, 65, 67syl3anc 1227 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  ( t `  i )  =  ( ( t substr  <. 0 ,  N >. ) `  i
) )
6947ad2antrr 725 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( N  e.  NN  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  t  e. Word  V
)  ->  N  e.  ZZ )
70 elfzom1elp1fzo 11857 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( N  e.  ZZ  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  -> 
( i  +  1 )  e.  ( 0..^ N ) )
7169, 70sylan 471 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  ( i  +  1 )  e.  ( 0..^ N ) )
72 swrd0fv 12640 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  (
i  +  1 )  e.  ( 0..^ N ) )  ->  (
( t substr  <. 0 ,  N >. ) `  (
i  +  1 ) )  =  ( t `
 ( i  +  1 ) ) )
7372eqcomd 2449 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  (
i  +  1 )  e.  ( 0..^ N ) )  ->  (
t `  ( i  +  1 ) )  =  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) )
7458, 62, 71, 73syl3anc 1227 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  ( t `  ( i  +  1 ) )  =  ( ( t substr  <. 0 ,  N >. ) `  (
i  +  1 ) ) )
7568, 74preq12d 4098 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  { (
t `  i ) ,  ( t `  ( i  +  1 ) ) }  =  { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) } )
7675eleq1d 2510 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  ( {
( t `  i
) ,  ( t `
 ( i  +  1 ) ) }  e.  ran  E  <->  { (
( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E
) )
7776ralbidva 2877 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( N  e.  NN  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  t  e. Word  V
)  ->  ( A. i  e.  ( 0..^ ( N  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  <->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) )
7877biimpd 207 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( N  e.  NN  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  t  e. Word  V
)  ->  ( A. i  e.  ( 0..^ ( N  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) )
7978ex 434 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( t  e. Word  V  ->  ( A. i  e.  ( 0..^ ( N  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) )
8079com23 78 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( A. i  e.  ( 0..^ ( N  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  ( t  e. Word  V  ->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) )
8157, 80syld 44 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  ( t  e. Word  V  ->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) )
8246, 81sylbid 215 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  ( t  e. Word  V  ->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) )
8382ex 434 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  (
( # `  t )  =  ( N  + 
1 )  ->  ( A. i  e.  (
0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  ( t  e. Word  V  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) ) )
8483com23 78 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  ( A. i  e.  (
0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  ( ( # `
 t )  =  ( N  +  1 )  ->  ( t  e. Word  V  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) ) )
8584com14 88 . . . . . . . . . . . . . . . . . 18  |-  ( t  e. Word  V  ->  ( A. i  e.  (
0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  ( ( # `
 t )  =  ( N  +  1 )  ->  ( N  e.  NN  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) ) )
8685imp 429 . . . . . . . . . . . . . . . . 17  |-  ( ( t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t
)  -  1 ) ) { ( t `
 i ) ,  ( t `  (
i  +  1 ) ) }  e.  ran  E )  ->  ( ( # `
 t )  =  ( N  +  1 )  ->  ( N  e.  NN  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) )
87863adant1 1013 . . . . . . . . . . . . . . . 16  |-  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  ->  ( ( # `
 t )  =  ( N  +  1 )  ->  ( N  e.  NN  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) )
8887imp 429 . . . . . . . . . . . . . . 15  |-  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  ( N  e.  NN  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) )
8988com12 31 . . . . . . . . . . . . . 14  |-  ( N  e.  NN  ->  (
( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) )  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) )
90893ad2ant3 1018 . . . . . . . . . . . . 13  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) )
9190imp 429 . . . . . . . . . . . 12  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E )
9291ad2antrl 727 . . . . . . . . . . 11  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  ->  A. i  e.  (
0..^ ( N  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E )
93 oveq1 6284 . . . . . . . . . . . . . 14  |-  ( (
# `  ( t substr  <.
0 ,  N >. ) )  =  N  -> 
( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 )  =  ( N  -  1 ) )
9493oveq2d 6293 . . . . . . . . . . . . 13  |-  ( (
# `  ( t substr  <.
0 ,  N >. ) )  =  N  -> 
( 0..^ ( (
# `  ( t substr  <.
0 ,  N >. ) )  -  1 ) )  =  ( 0..^ ( N  -  1 ) ) )
9594adantr 465 . . . . . . . . . . . 12  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  -> 
( 0..^ ( (
# `  ( t substr  <.
0 ,  N >. ) )  -  1 ) )  =  ( 0..^ ( N  -  1 ) ) )
9695raleqdv 3044 . . . . . . . . . . 11  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  -> 
( A. i  e.  ( 0..^ ( (
# `  ( t substr  <.
0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E  <->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) )
9792, 96mpbird 232 . . . . . . . . . 10  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  ->  A. i  e.  (
0..^ ( ( # `  ( t substr  <. 0 ,  N >. ) )  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E )
98 simprl2 1041 . . . . . . . . . . . . . . . 16  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  t  e. Word  V )
9917ancli 551 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  ( N  e.  NN  /\  N  <_  ( N  +  1 ) ) )
10047peano2zd 10972 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  ZZ )
101 fznn 11751 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( N  +  1 )  e.  ZZ  ->  ( N  e.  ( 1 ... ( N  + 
1 ) )  <->  ( N  e.  NN  /\  N  <_ 
( N  +  1 ) ) ) )
102100, 101syl 16 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  ( N  e.  ( 1 ... ( N  + 
1 ) )  <->  ( N  e.  NN  /\  N  <_ 
( N  +  1 ) ) ) )
10399, 102mpbird 232 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  e.  ( 1 ... ( N  +  1 ) ) )
1041033ad2ant3 1018 . . . . . . . . . . . . . . . . . 18  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  N  e.  ( 1 ... ( N  + 
1 ) ) )
105104adantr 465 . . . . . . . . . . . . . . . . 17  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  N  e.  ( 1 ... ( N  +  1 ) ) )
106 oveq2 6285 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
1 ... ( # `  t
) )  =  ( 1 ... ( N  +  1 ) ) )
107106eleq2d 2511 . . . . . . . . . . . . . . . . . . 19  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  ( N  e.  ( 1 ... ( # `  t
) )  <->  N  e.  ( 1 ... ( N  +  1 ) ) ) )
108107adantl 466 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  ( N  e.  ( 1 ... ( # `
 t ) )  <-> 
N  e.  ( 1 ... ( N  + 
1 ) ) ) )
109108adantl 466 . . . . . . . . . . . . . . . . 17  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  ( N  e.  ( 1 ... ( # `
 t ) )  <-> 
N  e.  ( 1 ... ( N  + 
1 ) ) ) )
110105, 109mpbird 232 . . . . . . . . . . . . . . . 16  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  N  e.  ( 1 ... ( # `
 t ) ) )
11198, 110jca 532 . . . . . . . . . . . . . . 15  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  ( t  e. Word  V  /\  N  e.  ( 1 ... ( # `
 t ) ) ) )
112111adantr 465 . . . . . . . . . . . . . 14  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( t  e. Word  V  /\  N  e.  ( 1 ... ( # `  t ) ) ) )
113 swrd0fvlsw 12644 . . . . . . . . . . . . . 14  |-  ( ( t  e. Word  V  /\  N  e.  ( 1 ... ( # `  t
) ) )  -> 
( lastS  `  ( t substr  <. 0 ,  N >. ) )  =  ( t `
 ( N  - 
1 ) ) )
114112, 113syl 16 . . . . . . . . . . . . 13  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( lastS  `  ( t substr  <. 0 ,  N >. ) )  =  ( t `
 ( N  - 
1 ) ) )
115 swrd0fv0 12641 . . . . . . . . . . . . . . 15  |-  ( ( t  e. Word  V  /\  N  e.  ( 1 ... ( # `  t
) ) )  -> 
( ( t substr  <. 0 ,  N >. ) `
 0 )  =  ( t `  0
) )
116111, 115syl 16 . . . . . . . . . . . . . 14  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  ( (
t substr  <. 0 ,  N >. ) `  0 )  =  ( t ` 
0 ) )
117116adantr 465 . . . . . . . . . . . . 13  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( ( t substr  <. 0 ,  N >. ) `
 0 )  =  ( t `  0
) )
118114, 117preq12d 4098 . . . . . . . . . . . 12  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  =  {
( t `  ( N  -  1 ) ) ,  ( t `
 0 ) } )
119 eqcom 2450 . . . . . . . . . . . . . . . . 17  |-  ( ( lastS  `  t )  =  ( t `  0 )  <-> 
( t `  0
)  =  ( lastS  `  t
) )
120119biimpi 194 . . . . . . . . . . . . . . . 16  |-  ( ( lastS  `  t )  =  ( t `  0 )  ->  ( t ` 
0 )  =  ( lastS  `  t ) )
121120adantl 466 . . . . . . . . . . . . . . 15  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( t ` 
0 )  =  ( lastS  `  t ) )
122 lsw 12559 . . . . . . . . . . . . . . . . . 18  |-  ( t  e. Word  V  ->  ( lastS  `  t )  =  ( t `  ( (
# `  t )  -  1 ) ) )
1231223ad2ant2 1017 . . . . . . . . . . . . . . . . 17  |-  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  ->  ( lastS  `  t
)  =  ( t `
 ( ( # `  t )  -  1 ) ) )
124123ad2antrl 727 . . . . . . . . . . . . . . . 16  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  ( lastS  `  t
)  =  ( t `
 ( ( # `  t )  -  1 ) ) )
125124adantr 465 . . . . . . . . . . . . . . 15  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( lastS  `  t )  =  ( t `  ( ( # `  t
)  -  1 ) ) )
12639adantl 466 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  ( ( # `  t )  -  1 )  =  ( ( N  +  1 )  -  1 ) )
127433ad2ant3 1018 . . . . . . . . . . . . . . . . . 18  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( N  + 
1 )  -  1 )  =  N )
128126, 127sylan9eqr 2504 . . . . . . . . . . . . . . . . 17  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  ( ( # `
 t )  - 
1 )  =  N )
129128adantr 465 . . . . . . . . . . . . . . . 16  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( ( # `  t )  -  1 )  =  N )
130129fveq2d 5856 . . . . . . . . . . . . . . 15  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( t `  ( ( # `  t
)  -  1 ) )  =  ( t `
 N ) )
131121, 125, 1303eqtrd 2486 . . . . . . . . . . . . . 14  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( t ` 
0 )  =  ( t `  N ) )
132131preq2d 4097 . . . . . . . . . . . . 13  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  { ( t `
 ( N  - 
1 ) ) ,  ( t `  0
) }  =  {
( t `  ( N  -  1 ) ) ,  ( t `
 N ) } )
13339, 43sylan9eq 2502 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( ( # `  t
)  -  1 )  =  N )
134133oveq2d 6293 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( 0..^ ( (
# `  t )  -  1 ) )  =  ( 0..^ N ) )
135134raleqdv 3044 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  <->  A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E ) )
136 fzo0end 11878 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  ( 0..^ N ) )
137 fveq2 5852 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( i  =  ( N  - 
1 )  ->  (
t `  i )  =  ( t `  ( N  -  1
) ) )
138 oveq1 6284 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( i  =  ( N  - 
1 )  ->  (
i  +  1 )  =  ( ( N  -  1 )  +  1 ) )
139138fveq2d 5856 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( i  =  ( N  - 
1 )  ->  (
t `  ( i  +  1 ) )  =  ( t `  ( ( N  - 
1 )  +  1 ) ) )
140137, 139preq12d 4098 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( i  =  ( N  - 
1 )  ->  { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  =  { ( t `  ( N  -  1
) ) ,  ( t `  ( ( N  -  1 )  +  1 ) ) } )
141140eleq1d 2510 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( i  =  ( N  - 
1 )  ->  ( { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  <->  { ( t `  ( N  -  1 ) ) ,  ( t `
 ( ( N  -  1 )  +  1 ) ) }  e.  ran  E ) )
142141rspcva 3192 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( N  -  1 )  e.  ( 0..^ N )  /\  A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  ->  { ( t `  ( N  -  1 ) ) ,  ( t `  ( ( N  - 
1 )  +  1 ) ) }  e.  ran  E )
143136, 142sylan 471 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( N  e.  NN  /\  A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  ->  { ( t `  ( N  -  1 ) ) ,  ( t `  ( ( N  - 
1 )  +  1 ) ) }  e.  ran  E )
14441, 42npcand 9935 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( N  e.  NN  ->  (
( N  -  1 )  +  1 )  =  N )
145144fveq2d 5856 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( N  e.  NN  ->  (
t `  ( ( N  -  1 )  +  1 ) )  =  ( t `  N ) )
146145preq2d 4097 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  NN  ->  { ( t `  ( N  -  1 ) ) ,  ( t `  ( ( N  - 
1 )  +  1 ) ) }  =  { ( t `  ( N  -  1
) ) ,  ( t `  N ) } )
147146eleq1d 2510 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  NN  ->  ( { ( t `  ( N  -  1
) ) ,  ( t `  ( ( N  -  1 )  +  1 ) ) }  e.  ran  E  <->  { ( t `  ( N  -  1 ) ) ,  ( t `
 N ) }  e.  ran  E ) )
148147biimpd 207 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  ( { ( t `  ( N  -  1
) ) ,  ( t `  ( ( N  -  1 )  +  1 ) ) }  e.  ran  E  ->  { ( t `  ( N  -  1
) ) ,  ( t `  N ) }  e.  ran  E
) )
149148adantr 465 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( N  e.  NN  /\  A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  ->  ( { ( t `  ( N  -  1
) ) ,  ( t `  ( ( N  -  1 )  +  1 ) ) }  e.  ran  E  ->  { ( t `  ( N  -  1
) ) ,  ( t `  N ) }  e.  ran  E
) )
150143, 149mpd 15 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( N  e.  NN  /\  A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  ->  { ( t `  ( N  -  1 ) ) ,  ( t `  N ) }  e.  ran  E )
151150ex 434 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  NN  ->  ( A. i  e.  (
0..^ N ) { ( t `  i
) ,  ( t `
 ( i  +  1 ) ) }  e.  ran  E  ->  { ( t `  ( N  -  1
) ) ,  ( t `  N ) }  e.  ran  E
) )
152151adantl 466 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  { ( t `  ( N  -  1
) ) ,  ( t `  N ) }  e.  ran  E
) )
153135, 152sylbid 215 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  { ( t `  ( N  -  1
) ) ,  ( t `  N ) }  e.  ran  E
) )
154153ex 434 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  ( N  e.  NN  ->  ( A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  { (
t `  ( N  -  1 ) ) ,  ( t `  N ) }  e.  ran  E ) ) )
155154com3r 79 . . . . . . . . . . . . . . . . . . 19  |-  ( A. i  e.  ( 0..^ ( ( # `  t
)  -  1 ) ) { ( t `
 i ) ,  ( t `  (
i  +  1 ) ) }  e.  ran  E  ->  ( ( # `  t )  =  ( N  +  1 )  ->  ( N  e.  NN  ->  { (
t `  ( N  -  1 ) ) ,  ( t `  N ) }  e.  ran  E ) ) )
1561553ad2ant3 1018 . . . . . . . . . . . . . . . . . 18  |-  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  ->  ( ( # `
 t )  =  ( N  +  1 )  ->  ( N  e.  NN  ->  { (
t `  ( N  -  1 ) ) ,  ( t `  N ) }  e.  ran  E ) ) )
157156imp 429 . . . . . . . . . . . . . . . . 17  |-  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  ( N  e.  NN  ->  { (
t `  ( N  -  1 ) ) ,  ( t `  N ) }  e.  ran  E ) )
158157com12 31 . . . . . . . . . . . . . . . 16  |-  ( N  e.  NN  ->  (
( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) )  ->  { ( t `  ( N  -  1 ) ) ,  ( t `  N ) }  e.  ran  E ) )
1591583ad2ant3 1018 . . . . . . . . . . . . . . 15  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  { ( t `
 ( N  - 
1 ) ) ,  ( t `  N
) }  e.  ran  E ) )
160159imp 429 . . . . . . . . . . . . . 14  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  { (
t `  ( N  -  1 ) ) ,  ( t `  N ) }  e.  ran  E )
161160adantr 465 . . . . . . . . . . . . 13  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  { ( t `
 ( N  - 
1 ) ) ,  ( t `  N
) }  e.  ran  E )
162132, 161eqeltrd 2529 . . . . . . . . . . . 12  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  { ( t `
 ( N  - 
1 ) ) ,  ( t `  0
) }  e.  ran  E )
163118, 162eqeltrd 2529 . . . . . . . . . . 11  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )
164163adantl 466 . . . . . . . . . 10  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  ->  { ( lastS  `  ( t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0 ) }  e.  ran  E
)
16538, 97, 1643jca 1175 . . . . . . . . 9  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  -> 
( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E ) )
166 simpl 457 . . . . . . . . 9  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  -> 
( # `  ( t substr  <. 0 ,  N >. ) )  =  N )
167165, 166jca 532 . . . . . . . 8  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  -> 
( ( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )  /\  ( # `  ( t substr  <. 0 ,  N >. ) )  =  N ) )
16834, 167mpancom 669 . . . . . . 7  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( ( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )  /\  ( # `  ( t substr  <. 0 ,  N >. ) )  =  N ) )
169168exp31 604 . . . . . 6  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  ( ( lastS  `  t
)  =  ( t `
 0 )  -> 
( ( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )  /\  ( # `  ( t substr  <. 0 ,  N >. ) )  =  N ) ) ) )
17012, 169sylbid 215 . . . . 5  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( t  e.  ( ( V WWalksN  E ) `  N )  ->  (
( lastS  `  t )  =  ( t `  0
)  ->  ( (
( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( t substr  <. 0 ,  N >. ) )  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( t substr  <.
0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0 ) }  e.  ran  E
)  /\  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N ) ) ) )
171170imp32 433 . . . 4  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( t  e.  ( ( V WWalksN  E
) `  N )  /\  ( lastS  `  t )  =  ( t ` 
0 ) ) )  ->  ( ( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )  /\  ( # `  ( t substr  <. 0 ,  N >. ) )  =  N ) )
172 isclwwlkn 24634 . . . . . . 7  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN0 )  -> 
( ( t substr  <. 0 ,  N >. )  e.  ( ( V ClWWalksN  E ) `  N
)  <->  ( ( t substr  <. 0 ,  N >. )  e.  ( V ClWWalks  E )  /\  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N ) ) )
1736, 172syl3an3 1262 . . . . . 6  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( t substr  <. 0 ,  N >. )  e.  ( ( V ClWWalksN  E ) `  N
)  <->  ( ( t substr  <. 0 ,  N >. )  e.  ( V ClWWalks  E )  /\  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N ) ) )
174 isclwwlk 24633 . . . . . . . 8  |-  ( ( V  e.  X  /\  E  e.  Y )  ->  ( ( t substr  <. 0 ,  N >. )  e.  ( V ClWWalks  E )  <-> 
( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E ) ) )
1751743adant3 1015 . . . . . . 7  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( t substr  <. 0 ,  N >. )  e.  ( V ClWWalks  E )  <-> 
( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E ) ) )
176175anbi1d 704 . . . . . 6  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( ( t substr  <. 0 ,  N >. )  e.  ( V ClWWalks  E )  /\  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N )  <->  ( ( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )  /\  ( # `  ( t substr  <. 0 ,  N >. ) )  =  N ) ) )
177173, 176bitrd 253 . . . . 5  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( t substr  <. 0 ,  N >. )  e.  ( ( V ClWWalksN  E ) `  N
)  <->  ( ( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )  /\  ( # `  ( t substr  <. 0 ,  N >. ) )  =  N ) ) )
178177adantr 465 . . . 4  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( t  e.  ( ( V WWalksN  E
) `  N )  /\  ( lastS  `  t )  =  ( t ` 
0 ) ) )  ->  ( ( t substr  <. 0 ,  N >. )  e.  ( ( V ClWWalksN  E ) `  N
)  <->  ( ( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )  /\  ( # `  ( t substr  <. 0 ,  N >. ) )  =  N ) ) )
179171, 178mpbird 232 . . 3  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( t  e.  ( ( V WWalksN  E
) `  N )  /\  ( lastS  `  t )  =  ( t ` 
0 ) ) )  ->  ( t substr  <. 0 ,  N >. )  e.  ( ( V ClWWalksN  E ) `  N
) )
1805, 179sylan2b 475 . 2  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  t  e.  D
)  ->  ( t substr  <.
0 ,  N >. )  e.  ( ( V ClWWalksN  E ) `  N
) )
181 clwwlkbij.f . 2  |-  F  =  ( t  e.  D  |->  ( t substr  <. 0 ,  N >. ) )
182180, 181fmptd 6036 1  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  F : D --> ( ( V ClWWalksN  E ) `  N
) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    /\ w3a 972    = wceq 1381    e. wcel 1802    =/= wne 2636   A.wral 2791   {crab 2795    C_ wss 3458   (/)c0 3767   {cpr 4012   <.cop 4016   class class class wbr 4433    |-> cmpt 4491   ran crn 4986   -->wf 5570   ` cfv 5574  (class class class)co 6277   0cc0 9490   1c1 9491    + caddc 9493    <_ cle 9627    - cmin 9805   NNcn 10537   NN0cn0 10796   ZZcz 10865   ZZ>=cuz 11085   ...cfz 11676  ..^cfzo 11798   #chash 12379  Word cword 12508   lastS clsw 12509   substr csubstr 12512   WWalks cwwlk 24542   WWalksN cwwlkn 24543   ClWWalks cclwwlk 24613   ClWWalksN cclwwlkn 24614
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1603  ax-4 1616  ax-5 1689  ax-6 1732  ax-7 1774  ax-8 1804  ax-9 1806  ax-10 1821  ax-11 1826  ax-12 1838  ax-13 1983  ax-ext 2419  ax-rep 4544  ax-sep 4554  ax-nul 4562  ax-pow 4611  ax-pr 4672  ax-un 6573  ax-cnex 9546  ax-resscn 9547  ax-1cn 9548  ax-icn 9549  ax-addcl 9550  ax-addrcl 9551  ax-mulcl 9552  ax-mulrcl 9553  ax-mulcom 9554  ax-addass 9555  ax-mulass 9556  ax-distr 9557  ax-i2m1 9558  ax-1ne0 9559  ax-1rid 9560  ax-rnegex 9561  ax-rrecex 9562  ax-cnre 9563  ax-pre-lttri 9564  ax-pre-lttrn 9565  ax-pre-ltadd 9566  ax-pre-mulgt0 9567
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 973  df-3an 974  df-tru 1384  df-ex 1598  df-nf 1602  df-sb 1725  df-eu 2270  df-mo 2271  df-clab 2427  df-cleq 2433  df-clel 2436  df-nfc 2591  df-ne 2638  df-nel 2639  df-ral 2796  df-rex 2797  df-reu 2798  df-rmo 2799  df-rab 2800  df-v 3095  df-sbc 3312  df-csb 3418  df-dif 3461  df-un 3463  df-in 3465  df-ss 3472  df-pss 3474  df-nul 3768  df-if 3923  df-pw 3995  df-sn 4011  df-pr 4013  df-tp 4015  df-op 4017  df-uni 4231  df-int 4268  df-iun 4313  df-br 4434  df-opab 4492  df-mpt 4493  df-tr 4527  df-eprel 4777  df-id 4781  df-po 4786  df-so 4787  df-fr 4824  df-we 4826  df-ord 4867  df-on 4868  df-lim 4869  df-suc 4870  df-xp 4991  df-rel 4992  df-cnv 4993  df-co 4994  df-dm 4995  df-rn 4996  df-res 4997  df-ima 4998  df-iota 5537  df-fun 5576  df-fn 5577  df-f 5578  df-f1 5579  df-fo 5580  df-f1o 5581  df-fv 5582  df-riota 6238  df-ov 6280  df-oprab 6281  df-mpt2 6282  df-om 6682  df-1st 6781  df-2nd 6782  df-recs 7040  df-rdg 7074  df-1o 7128  df-oadd 7132  df-er 7309  df-map 7420  df-pm 7421  df-en 7515  df-dom 7516  df-sdom 7517  df-fin 7518  df-card 8318  df-cda 8546  df-pnf 9628  df-mnf 9629  df-xr 9630  df-ltxr 9631  df-le 9632  df-sub 9807  df-neg 9808  df-nn 10538  df-2 10595  df-n0 10797  df-z 10866  df-uz 11086  df-fz 11677  df-fzo 11799  df-hash 12380  df-word 12516  df-lsw 12517  df-substr 12520  df-wwlk 24544  df-wwlkn 24545  df-clwwlk 24616  df-clwwlkn 24617
This theorem is referenced by:  clwwlkf1  24661  clwwlkfo  24662
  Copyright terms: Public domain W3C validator