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

Theorem clwwlkf 24936
Description: Lemma 1 for clwwlkbij 24941: 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 5787 . . . . 5  |-  ( w  =  t  ->  ( lastS  `  w )  =  ( lastS  `  t ) )
2 fveq1 5786 . . . . 5  |-  ( w  =  t  ->  (
w `  0 )  =  ( t ` 
0 ) )
31, 2eqeq12d 2414 . . . 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 3197 . . 3  |-  ( t  e.  D  <->  ( t  e.  ( ( V WWalksN  E
) `  N )  /\  ( lastS  `  t )  =  ( t ` 
0 ) ) )
6 nnnn0 10737 . . . . . . . 8  |-  ( N  e.  NN  ->  N  e.  NN0 )
7 iswwlkn 24826 . . . . . . . 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 1261 . . . . . . 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 24825 . . . . . . . . 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 1014 . . . . . . . 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 702 . . . . . . 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 751 . . . . . . . . . . . . . . . 16  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  t  e. Word  V
)
14 peano2nn0 10771 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN0  ->  ( N  +  1 )  e. 
NN0 )
156, 14syl 16 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  NN0 )
16 nnre 10477 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  N  e.  RR )
1716lep1d 10411 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  <_  ( N  +  1 ) )
18 elfz2nn0 11709 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  ( 0 ... ( N  +  1 ) )  <->  ( N  e.  NN0  /\  ( N  +  1 )  e. 
NN0  /\  N  <_  ( N  +  1 ) ) )
196, 15, 17, 18syl3anbrc 1178 . . . . . . . . . . . . . . . . . 18  |-  ( N  e.  NN  ->  N  e.  ( 0 ... ( N  +  1 ) ) )
2019adantl 464 . . . . . . . . . . . . . . . . 17  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  N  e.  ( 0 ... ( N  +  1 ) ) )
21 oveq2 6222 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
0 ... ( # `  t
) )  =  ( 0 ... ( N  +  1 ) ) )
2221eleq2d 2462 . . . . . . . . . . . . . . . . . . 19  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  ( N  e.  ( 0 ... ( # `  t
) )  <->  N  e.  ( 0 ... ( N  +  1 ) ) ) )
2322adantl 464 . . . . . . . . . . . . . . . . . 18  |-  ( ( t  e. Word  V  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( N  e.  ( 0 ... ( # `  t ) )  <->  N  e.  ( 0 ... ( N  +  1 ) ) ) )
2423adantr 463 . . . . . . . . . . . . . . . . 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 530 . . . . . . . . . . . . . . 15  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t ) ) ) )
27 swrd0len 12577 . . . . . . . . . . . . . . 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 432 . . . . . . . . . . . . 13  |-  ( ( t  e. Word  V  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( N  e.  NN  ->  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N ) )
30293ad2antl2 1157 . . . . . . . . . . . 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 1017 . . . . . . . . . 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 427 . . . . . . . . 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 463 . . . . . . . 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 12574 . . . . . . . . . . . . 13  |-  ( t  e. Word  V  ->  (
t substr  <. 0 ,  N >. )  e. Word  V )
36353ad2ant2 1016 . . . . . . . . . . . 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 725 . . . . . . . . . . 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 725 . . . . . . . . . 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 6221 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
( # `  t )  -  1 )  =  ( ( N  + 
1 )  -  1 ) )
4039oveq2d 6230 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
0..^ ( ( # `  t )  -  1 ) )  =  ( 0..^ ( ( N  +  1 )  - 
1 ) ) )
41 nncn 10478 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  N  e.  CC )
42 1cnd 9541 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  1  e.  CC )
4341, 42pncand 9863 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( N  e.  NN  ->  (
( N  +  1 )  -  1 )  =  N )
4443oveq2d 6230 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  NN  ->  (
0..^ ( ( N  +  1 )  - 
1 ) )  =  ( 0..^ N ) )
4540, 44sylan9eqr 2455 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( 0..^ ( (
# `  t )  -  1 ) )  =  ( 0..^ N ) )
4645raleqdv 2998 . . . . . . . . . . . . . . . . . . . . . 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 10821 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  NN  ->  N  e.  ZZ )
48 peano2zm 10842 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  ZZ  ->  ( N  -  1 )  e.  ZZ )
4947, 48syl 16 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  ZZ )
5016lem1d 10413 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  NN  ->  ( N  -  1 )  <_  N )
51 eluz2 11025 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  ( ZZ>= `  ( N  -  1 ) )  <->  ( ( N  -  1 )  e.  ZZ  /\  N  e.  ZZ  /\  ( N  -  1 )  <_  N ) )
5249, 47, 50, 51syl3anbrc 1178 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  N  e.  ( ZZ>= `  ( N  -  1 ) ) )
53 fzoss2 11766 . . . . . . . . . . . . . . . . . . . . . . . . . 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 463 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( 0..^ ( N  -  1 ) ) 
C_  ( 0..^ N ) )
56 ssralv 3491 . . . . . . . . . . . . . . . . . . . . . . . 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 753 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  t  e. Word  V )
5919adantr 463 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  ->  N  e.  ( 0 ... ( N  + 
1 ) ) )
6022adantl 464 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 723 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  N  e.  ( 0 ... ( # `
 t ) ) )
6354sseld 3429 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( N  e.  NN  ->  (
i  e.  ( 0..^ ( N  -  1 ) )  ->  i  e.  ( 0..^ N ) ) )
6463ad2antrr 723 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( N  e.  NN  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  t  e. Word  V
)  ->  ( i  e.  ( 0..^ ( N  -  1 ) )  ->  i  e.  ( 0..^ N ) ) )
6564imp 427 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  i  e.  ( 0..^ N ) )
66 swrd0fv 12594 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  i  e.  ( 0..^ N ) )  ->  ( (
t substr  <. 0 ,  N >. ) `  i )  =  ( t `  i ) )
6766eqcomd 2400 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  i  e.  ( 0..^ N ) )  ->  ( t `  i )  =  ( ( t substr  <. 0 ,  N >. ) `  i
) )
6858, 62, 65, 67syl3anc 1226 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  ( t `  i )  =  ( ( t substr  <. 0 ,  N >. ) `  i
) )
6947ad2antrr 723 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( N  e.  NN  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  t  e. Word  V
)  ->  N  e.  ZZ )
70 elfzom1elp1fzo 11800 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( N  e.  ZZ  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  -> 
( i  +  1 )  e.  ( 0..^ N ) )
7169, 70sylan 469 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  ( i  +  1 )  e.  ( 0..^ N ) )
72 swrd0fv 12594 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  (
i  +  1 )  e.  ( 0..^ N ) )  ->  (
( t substr  <. 0 ,  N >. ) `  (
i  +  1 ) )  =  ( t `
 ( i  +  1 ) ) )
7372eqcomd 2400 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1226 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 4044 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 2461 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 2828 . . . . . . . . . . . . . . . . . . . . . . . . . 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 432 . . . . . . . . . . . . . . . . . . . . . . . 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 432 . . . . . . . . . . . . . . . . . . . 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 427 . . . . . . . . . . . . . . . . 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 1012 . . . . . . . . . . . . . . . 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 427 . . . . . . . . . . . . . . 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 1017 . . . . . . . . . . . . 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 427 . . . . . . . . . . . 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 725 . . . . . . . . . . 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 6221 . . . . . . . . . . . . . 14  |-  ( (
# `  ( t substr  <.
0 ,  N >. ) )  =  N  -> 
( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 )  =  ( N  -  1 ) )
9493oveq2d 6230 . . . . . . . . . . . . 13  |-  ( (
# `  ( t substr  <.
0 ,  N >. ) )  =  N  -> 
( 0..^ ( (
# `  ( t substr  <.
0 ,  N >. ) )  -  1 ) )  =  ( 0..^ ( N  -  1 ) ) )
9594adantr 463 . . . . . . . . . . . 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 2998 . . . . . . . . . . 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 1040 . . . . . . . . . . . . . . . 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 549 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  ( N  e.  NN  /\  N  <_  ( N  +  1 ) ) )
10047peano2zd 10905 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  ZZ )
101 fznn 11687 . . . . . . . . . . . . . . . . . . . . 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 1017 . . . . . . . . . . . . . . . . . 18  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  N  e.  ( 1 ... ( N  + 
1 ) ) )
105104adantr 463 . . . . . . . . . . . . . . . . 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 6222 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
1 ... ( # `  t
) )  =  ( 1 ... ( N  +  1 ) ) )
107106eleq2d 2462 . . . . . . . . . . . . . . . . . . 19  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  ( N  e.  ( 1 ... ( # `  t
) )  <->  N  e.  ( 1 ... ( N  +  1 ) ) ) )
108107adantl 464 . . . . . . . . . . . . . . . . . 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 464 . . . . . . . . . . . . . . . . 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 530 . . . . . . . . . . . . . . 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 463 . . . . . . . . . . . . . 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 12598 . . . . . . . . . . . . . 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 12595 . . . . . . . . . . . . . . 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 463 . . . . . . . . . . . . 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 4044 . . . . . . . . . . . 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 2401 . . . . . . . . . . . . . . . . 17  |-  ( ( lastS  `  t )  =  ( t `  0 )  <-> 
( t `  0
)  =  ( lastS  `  t
) )
120119biimpi 194 . . . . . . . . . . . . . . . 16  |-  ( ( lastS  `  t )  =  ( t `  0 )  ->  ( t ` 
0 )  =  ( lastS  `  t ) )
121120adantl 464 . . . . . . . . . . . . . . 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 12512 . . . . . . . . . . . . . . . . . 18  |-  ( t  e. Word  V  ->  ( lastS  `  t )  =  ( t `  ( (
# `  t )  -  1 ) ) )
1231223ad2ant2 1016 . . . . . . . . . . . . . . . . 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 725 . . . . . . . . . . . . . . . 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 463 . . . . . . . . . . . . . . 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 464 . . . . . . . . . . . . . . . . . 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 1017 . . . . . . . . . . . . . . . . . 18  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( N  + 
1 )  -  1 )  =  N )
128126, 127sylan9eqr 2455 . . . . . . . . . . . . . . . . 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 463 . . . . . . . . . . . . . . . 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 5791 . . . . . . . . . . . . . . 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 2437 . . . . . . . . . . . . . 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 4043 . . . . . . . . . . . . 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 2453 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( ( # `  t
)  -  1 )  =  N )
134133oveq2d 6230 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( 0..^ ( (
# `  t )  -  1 ) )  =  ( 0..^ N ) )
135134raleqdv 2998 . . . . . . . . . . . . . . . . . . . . . 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 11822 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  ( 0..^ N ) )
137 fveq2 5787 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( i  =  ( N  - 
1 )  ->  (
t `  i )  =  ( t `  ( N  -  1
) ) )
138 oveq1 6221 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( i  =  ( N  - 
1 )  ->  (
i  +  1 )  =  ( ( N  -  1 )  +  1 ) )
139138fveq2d 5791 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( i  =  ( N  - 
1 )  ->  (
t `  ( i  +  1 ) )  =  ( t `  ( ( N  - 
1 )  +  1 ) ) )
140137, 139preq12d 4044 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( i  =  ( N  - 
1 )  ->  { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  =  { ( t `  ( N  -  1
) ) ,  ( t `  ( ( N  -  1 )  +  1 ) ) } )
141140eleq1d 2461 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( i  =  ( N  - 
1 )  ->  ( { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  <->  { ( t `  ( N  -  1 ) ) ,  ( t `
 ( ( N  -  1 )  +  1 ) ) }  e.  ran  E ) )
142141rspcva 3146 . . . . . . . . . . . . . . . . . . . . . . . . . 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 469 . . . . . . . . . . . . . . . . . . . . . . . . 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 9866 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( N  e.  NN  ->  (
( N  -  1 )  +  1 )  =  N )
145144fveq2d 5791 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( N  e.  NN  ->  (
t `  ( ( N  -  1 )  +  1 ) )  =  ( t `  N ) )
146145preq2d 4043 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  NN  ->  { ( t `  ( N  -  1 ) ) ,  ( t `  ( ( N  - 
1 )  +  1 ) ) }  =  { ( t `  ( N  -  1
) ) ,  ( t `  N ) } )
147146eleq1d 2461 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 463 . . . . . . . . . . . . . . . . . . . . . . . . 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 432 . . . . . . . . . . . . . . . . . . . . . . 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 464 . . . . . . . . . . . . . . . . . . . . . 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 432 . . . . . . . . . . . . . . . . . . . 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 1017 . . . . . . . . . . . . . . . . . 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 427 . . . . . . . . . . . . . . . . 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 1017 . . . . . . . . . . . . . . 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 427 . . . . . . . . . . . . . 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 463 . . . . . . . . . . . . 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 2480 . . . . . . . . . . . 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 2480 . . . . . . . . . . 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 464 . . . . . . . . . 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 1174 . . . . . . . . 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 455 . . . . . . . . 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 530 . . . . . . . 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 667 . . . . . . 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 602 . . . . . 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 431 . . . 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 24911 . . . . . . 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 1261 . . . . . 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 24910 . . . . . . . 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 1014 . . . . . . 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 702 . . . . . 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 463 . . . 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 473 . 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 5970 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 367    /\ w3a 971    = wceq 1399    e. wcel 1836    =/= wne 2587   A.wral 2742   {crab 2746    C_ wss 3402   (/)c0 3724   {cpr 3959   <.cop 3963   class class class wbr 4380    |-> cmpt 4438   ran crn 4927   -->wf 5505   ` cfv 5509  (class class class)co 6214   0cc0 9421   1c1 9422    + caddc 9424    <_ cle 9558    - cmin 9736   NNcn 10470   NN0cn0 10730   ZZcz 10799   ZZ>=cuz 11019   ...cfz 11611  ..^cfzo 11735   #chash 12326  Word cword 12457   lastS clsw 12458   substr csubstr 12461   WWalks cwwlk 24819   WWalksN cwwlkn 24820   ClWWalks cclwwlk 24890   ClWWalksN cclwwlkn 24891
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1633  ax-4 1646  ax-5 1719  ax-6 1765  ax-7 1808  ax-8 1838  ax-9 1840  ax-10 1855  ax-11 1860  ax-12 1872  ax-13 2016  ax-ext 2370  ax-rep 4491  ax-sep 4501  ax-nul 4509  ax-pow 4556  ax-pr 4614  ax-un 6509  ax-cnex 9477  ax-resscn 9478  ax-1cn 9479  ax-icn 9480  ax-addcl 9481  ax-addrcl 9482  ax-mulcl 9483  ax-mulrcl 9484  ax-mulcom 9485  ax-addass 9486  ax-mulass 9487  ax-distr 9488  ax-i2m1 9489  ax-1ne0 9490  ax-1rid 9491  ax-rnegex 9492  ax-rrecex 9493  ax-cnre 9494  ax-pre-lttri 9495  ax-pre-lttrn 9496  ax-pre-ltadd 9497  ax-pre-mulgt0 9498
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-3or 972  df-3an 973  df-tru 1402  df-ex 1628  df-nf 1632  df-sb 1758  df-eu 2232  df-mo 2233  df-clab 2378  df-cleq 2384  df-clel 2387  df-nfc 2542  df-ne 2589  df-nel 2590  df-ral 2747  df-rex 2748  df-reu 2749  df-rmo 2750  df-rab 2751  df-v 3049  df-sbc 3266  df-csb 3362  df-dif 3405  df-un 3407  df-in 3409  df-ss 3416  df-pss 3418  df-nul 3725  df-if 3871  df-pw 3942  df-sn 3958  df-pr 3960  df-tp 3962  df-op 3964  df-uni 4177  df-int 4213  df-iun 4258  df-br 4381  df-opab 4439  df-mpt 4440  df-tr 4474  df-eprel 4718  df-id 4722  df-po 4727  df-so 4728  df-fr 4765  df-we 4767  df-ord 4808  df-on 4809  df-lim 4810  df-suc 4811  df-xp 4932  df-rel 4933  df-cnv 4934  df-co 4935  df-dm 4936  df-rn 4937  df-res 4938  df-ima 4939  df-iota 5473  df-fun 5511  df-fn 5512  df-f 5513  df-f1 5514  df-fo 5515  df-f1o 5516  df-fv 5517  df-riota 6176  df-ov 6217  df-oprab 6218  df-mpt2 6219  df-om 6618  df-1st 6717  df-2nd 6718  df-recs 6978  df-rdg 7012  df-1o 7066  df-oadd 7070  df-er 7247  df-map 7358  df-pm 7359  df-en 7454  df-dom 7455  df-sdom 7456  df-fin 7457  df-card 8251  df-cda 8479  df-pnf 9559  df-mnf 9560  df-xr 9561  df-ltxr 9562  df-le 9563  df-sub 9738  df-neg 9739  df-nn 10471  df-2 10529  df-n0 10731  df-z 10800  df-uz 11020  df-fz 11612  df-fzo 11736  df-hash 12327  df-word 12465  df-lsw 12466  df-substr 12469  df-wwlk 24821  df-wwlkn 24822  df-clwwlk 24893  df-clwwlkn 24894
This theorem is referenced by:  clwwlkf1  24938  clwwlkfo  24939
  Copyright terms: Public domain W3C validator