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

Theorem clwwlkf 24456
Description: Lemma 1 for clwwlkbij 24461: 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 5857 . . . . 5  |-  ( w  =  t  ->  ( lastS  `  w )  =  ( lastS  `  t ) )
2 fveq1 5856 . . . . 5  |-  ( w  =  t  ->  (
w `  0 )  =  ( t ` 
0 ) )
31, 2eqeq12d 2482 . . . 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 3256 . . 3  |-  ( t  e.  D  <->  ( t  e.  ( ( V WWalksN  E
) `  N )  /\  ( lastS  `  t )  =  ( t ` 
0 ) ) )
6 nnnn0 10791 . . . . . . . 8  |-  ( N  e.  NN  ->  N  e.  NN0 )
7 iswwlkn 24346 . . . . . . . 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 1258 . . . . . . 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 24345 . . . . . . . . 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 1011 . . . . . . . 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 10825 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN0  ->  ( N  +  1 )  e. 
NN0 )
156, 14syl 16 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  NN0 )
16 nnre 10532 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  N  e.  RR )
1716lep1d 10466 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  <_  ( N  +  1 ) )
18 elfz2nn0 11757 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  ( 0 ... ( N  +  1 ) )  <->  ( N  e.  NN0  /\  ( N  +  1 )  e. 
NN0  /\  N  <_  ( N  +  1 ) ) )
196, 15, 17, 18syl3anbrc 1175 . . . . . . . . . . . . . . . . . 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 6283 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
0 ... ( # `  t
) )  =  ( 0 ... ( N  +  1 ) ) )
2221eleq2d 2530 . . . . . . . . . . . . . . . . . . 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 12599 . . . . . . . . . . . . . . 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 1154 . . . . . . . . . . . 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 1014 . . . . . . . . . 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 12596 . . . . . . . . . . . . 13  |-  ( t  e. Word  V  ->  (
t substr  <. 0 ,  N >. )  e. Word  V )
36353ad2ant2 1013 . . . . . . . . . . . 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 6282 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
( # `  t )  -  1 )  =  ( ( N  + 
1 )  -  1 ) )
4039oveq2d 6291 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
0..^ ( ( # `  t )  -  1 ) )  =  ( 0..^ ( ( N  +  1 )  - 
1 ) ) )
41 nncn 10533 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  N  e.  CC )
42 ax-1cn 9539 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  1  e.  CC
4342a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  1  e.  CC )
4441, 43pncand 9920 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( N  e.  NN  ->  (
( N  +  1 )  -  1 )  =  N )
4544oveq2d 6291 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  NN  ->  (
0..^ ( ( N  +  1 )  - 
1 ) )  =  ( 0..^ N ) )
4640, 45sylan9eqr 2523 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( 0..^ ( (
# `  t )  -  1 ) )  =  ( 0..^ N ) )
4746raleqdv 3057 . . . . . . . . . . . . . . . . . . . . . 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 ) )
48 nnz 10875 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  NN  ->  N  e.  ZZ )
49 peano2zm 10895 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  ZZ  ->  ( N  -  1 )  e.  ZZ )
5048, 49syl 16 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  ZZ )
5116lem1d 10468 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  NN  ->  ( N  -  1 )  <_  N )
52 eluz2 11077 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  ( ZZ>= `  ( N  -  1 ) )  <->  ( ( N  -  1 )  e.  ZZ  /\  N  e.  ZZ  /\  ( N  -  1 )  <_  N ) )
5350, 48, 51, 52syl3anbrc 1175 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  N  e.  ( ZZ>= `  ( N  -  1 ) ) )
54 fzoss2 11810 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  ( ZZ>= `  ( N  -  1 ) )  ->  ( 0..^ ( N  -  1 ) )  C_  (
0..^ N ) )
5553, 54syl 16 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( N  e.  NN  ->  (
0..^ ( N  - 
1 ) )  C_  ( 0..^ N ) )
5655adantr 465 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( 0..^ ( N  -  1 ) ) 
C_  ( 0..^ N ) )
57 ssralv 3557 . . . . . . . . . . . . . . . . . . . . . . . 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 ) )
5856, 57syl 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 ) )
59 simplr 754 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  t  e. Word  V )
6019adantr 465 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  ->  N  e.  ( 0 ... ( N  + 
1 ) ) )
6122adantl 466 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( N  e.  ( 0 ... ( # `  t ) )  <->  N  e.  ( 0 ... ( N  +  1 ) ) ) )
6260, 61mpbird 232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  ->  N  e.  ( 0 ... ( # `  t
) ) )
6362ad2antrr 725 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  N  e.  ( 0 ... ( # `
 t ) ) )
6455sseld 3496 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( N  e.  NN  ->  (
i  e.  ( 0..^ ( N  -  1 ) )  ->  i  e.  ( 0..^ N ) ) )
6564ad2antrr 725 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( N  e.  NN  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  t  e. Word  V
)  ->  ( i  e.  ( 0..^ ( N  -  1 ) )  ->  i  e.  ( 0..^ N ) ) )
6665imp 429 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  i  e.  ( 0..^ N ) )
67 swrd0fv 12616 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  i  e.  ( 0..^ N ) )  ->  ( (
t substr  <. 0 ,  N >. ) `  i )  =  ( t `  i ) )
6867eqcomd 2468 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  i  e.  ( 0..^ N ) )  ->  ( t `  i )  =  ( ( t substr  <. 0 ,  N >. ) `  i
) )
6959, 63, 66, 68syl3anc 1223 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  ( t `  i )  =  ( ( t substr  <. 0 ,  N >. ) `  i
) )
7048ad2antrr 725 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( N  e.  NN  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  t  e. Word  V
)  ->  N  e.  ZZ )
71 elfzom1elp1fzo 11840 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( N  e.  ZZ  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  -> 
( i  +  1 )  e.  ( 0..^ N ) )
7270, 71sylan 471 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  ( i  +  1 )  e.  ( 0..^ N ) )
73 swrd0fv 12616 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  (
i  +  1 )  e.  ( 0..^ N ) )  ->  (
( t substr  <. 0 ,  N >. ) `  (
i  +  1 ) )  =  ( t `
 ( i  +  1 ) ) )
7473eqcomd 2468 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  (
i  +  1 )  e.  ( 0..^ N ) )  ->  (
t `  ( i  +  1 ) )  =  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) )
7559, 63, 72, 74syl3anc 1223 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 ) ) )
7669, 75preq12d 4107 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 ) ) } )
7776eleq1d 2529 . . . . . . . . . . . . . . . . . . . . . . . . . . 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
) )
7877ralbidva 2893 . . . . . . . . . . . . . . . . . . . . . . . . . 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 ) )
7978biimpd 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 ) )
8079ex 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 ) ) )
8180com23 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 ) ) )
8258, 81syld 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 ) ) )
8347, 82sylbid 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 ) ) )
8483ex 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 ) ) ) )
8584com23 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 ) ) ) )
8685com14 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 ) ) ) )
8786imp 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 ) ) )
88873adant1 1009 . . . . . . . . . . . . . . . 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 ) ) )
8988imp 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 ) )
9089com12 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 ) )
91903ad2ant3 1014 . . . . . . . . . . . . 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 ) )
9291imp 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 )
9392ad2antrl 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 )
94 oveq1 6282 . . . . . . . . . . . . . 14  |-  ( (
# `  ( t substr  <.
0 ,  N >. ) )  =  N  -> 
( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 )  =  ( N  -  1 ) )
9594oveq2d 6291 . . . . . . . . . . . . 13  |-  ( (
# `  ( t substr  <.
0 ,  N >. ) )  =  N  -> 
( 0..^ ( (
# `  ( t substr  <.
0 ,  N >. ) )  -  1 ) )  =  ( 0..^ ( N  -  1 ) ) )
9695adantr 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 ) ) )
9796raleqdv 3057 . . . . . . . . . . 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 ) )
9893, 97mpbird 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 )
99 simprl2 1037 . . . . . . . . . . . . . . . 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 )
10017ancli 551 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  ( N  e.  NN  /\  N  <_  ( N  +  1 ) ) )
10148peano2zd 10958 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  ZZ )
102 fznn 11736 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( N  +  1 )  e.  ZZ  ->  ( N  e.  ( 1 ... ( N  + 
1 ) )  <->  ( N  e.  NN  /\  N  <_ 
( N  +  1 ) ) ) )
103101, 102syl 16 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  ( N  e.  ( 1 ... ( N  + 
1 ) )  <->  ( N  e.  NN  /\  N  <_ 
( N  +  1 ) ) ) )
104100, 103mpbird 232 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  e.  ( 1 ... ( N  +  1 ) ) )
1051043ad2ant3 1014 . . . . . . . . . . . . . . . . . 18  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  N  e.  ( 1 ... ( N  + 
1 ) ) )
106105adantr 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 ) ) )
107 oveq2 6283 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
1 ... ( # `  t
) )  =  ( 1 ... ( N  +  1 ) ) )
108107eleq2d 2530 . . . . . . . . . . . . . . . . . . 19  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  ( N  e.  ( 1 ... ( # `  t
) )  <->  N  e.  ( 1 ... ( N  +  1 ) ) ) )
109108adantl 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 ) ) ) )
110109adantl 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 ) ) ) )
111106, 110mpbird 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 ) ) )
11299, 111jca 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 ) ) ) )
113112adantr 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 ) ) ) )
114 swrd0fvlsw 12620 . . . . . . . . . . . . . 14  |-  ( ( t  e. Word  V  /\  N  e.  ( 1 ... ( # `  t
) ) )  -> 
( lastS  `  ( t substr  <. 0 ,  N >. ) )  =  ( t `
 ( N  - 
1 ) ) )
115113, 114syl 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 ) ) )
116 swrd0fv0 12617 . . . . . . . . . . . . . . 15  |-  ( ( t  e. Word  V  /\  N  e.  ( 1 ... ( # `  t
) ) )  -> 
( ( t substr  <. 0 ,  N >. ) `
 0 )  =  ( t `  0
) )
117112, 116syl 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 ) )
118117adantr 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
) )
119115, 118preq12d 4107 . . . . . . . . . . . 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 ) } )
120 eqcom 2469 . . . . . . . . . . . . . . . . 17  |-  ( ( lastS  `  t )  =  ( t `  0 )  <-> 
( t `  0
)  =  ( lastS  `  t
) )
121120biimpi 194 . . . . . . . . . . . . . . . 16  |-  ( ( lastS  `  t )  =  ( t `  0 )  ->  ( t ` 
0 )  =  ( lastS  `  t ) )
122121adantl 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 ) )
123 lsw 12537 . . . . . . . . . . . . . . . . . 18  |-  ( t  e. Word  V  ->  ( lastS  `  t )  =  ( t `  ( (
# `  t )  -  1 ) ) )
1241233ad2ant2 1013 . . . . . . . . . . . . . . . . 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 ) ) )
125124ad2antrl 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 ) ) )
126125adantr 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 ) ) )
12739adantl 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 ) )
128443ad2ant3 1014 . . . . . . . . . . . . . . . . . 18  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( N  + 
1 )  -  1 )  =  N )
129127, 128sylan9eqr 2523 . . . . . . . . . . . . . . . . 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 )
130129adantr 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 )
131130fveq2d 5861 . . . . . . . . . . . . . . 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 ) )
132122, 126, 1313eqtrd 2505 . . . . . . . . . . . . . 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 ) )
133132preq2d 4106 . . . . . . . . . . . . 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 ) } )
13439, 44sylan9eq 2521 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( ( # `  t
)  -  1 )  =  N )
135134oveq2d 6291 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( 0..^ ( (
# `  t )  -  1 ) )  =  ( 0..^ N ) )
136135raleqdv 3057 . . . . . . . . . . . . . . . . . . . . . 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 ) )
137 fzo0end 11861 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  ( 0..^ N ) )
138 fveq2 5857 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( i  =  ( N  - 
1 )  ->  (
t `  i )  =  ( t `  ( N  -  1
) ) )
139 oveq1 6282 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( i  =  ( N  - 
1 )  ->  (
i  +  1 )  =  ( ( N  -  1 )  +  1 ) )
140139fveq2d 5861 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( i  =  ( N  - 
1 )  ->  (
t `  ( i  +  1 ) )  =  ( t `  ( ( N  - 
1 )  +  1 ) ) )
141138, 140preq12d 4107 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( i  =  ( N  - 
1 )  ->  { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  =  { ( t `  ( N  -  1
) ) ,  ( t `  ( ( N  -  1 )  +  1 ) ) } )
142141eleq1d 2529 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( i  =  ( N  - 
1 )  ->  ( { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  <->  { ( t `  ( N  -  1 ) ) ,  ( t `
 ( ( N  -  1 )  +  1 ) ) }  e.  ran  E ) )
143142rspcva 3205 . . . . . . . . . . . . . . . . . . . . . . . . . 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 )
144137, 143sylan 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 )
14541, 43npcand 9923 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( N  e.  NN  ->  (
( N  -  1 )  +  1 )  =  N )
146145fveq2d 5861 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( N  e.  NN  ->  (
t `  ( ( N  -  1 )  +  1 ) )  =  ( t `  N ) )
147146preq2d 4106 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  NN  ->  { ( t `  ( N  -  1 ) ) ,  ( t `  ( ( N  - 
1 )  +  1 ) ) }  =  { ( t `  ( N  -  1
) ) ,  ( t `  N ) } )
148147eleq1d 2529 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  NN  ->  ( { ( t `  ( N  -  1
) ) ,  ( t `  ( ( N  -  1 )  +  1 ) ) }  e.  ran  E  <->  { ( t `  ( N  -  1 ) ) ,  ( t `
 N ) }  e.  ran  E ) )
149148biimpd 207 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  ( { ( t `  ( N  -  1
) ) ,  ( t `  ( ( N  -  1 )  +  1 ) ) }  e.  ran  E  ->  { ( t `  ( N  -  1
) ) ,  ( t `  N ) }  e.  ran  E
) )
150149adantr 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
) )
151144, 150mpd 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 )
152151ex 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
) )
153152adantl 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
) )
154136, 153sylbid 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
) )
155154ex 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 ) ) )
156155com3r 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 ) ) )
1571563ad2ant3 1014 . . . . . . . . . . . . . . . . . 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 ) ) )
158157imp 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 ) )
159158com12 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 ) )
1601593ad2ant3 1014 . . . . . . . . . . . . . . 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 ) )
161160imp 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 )
162161adantr 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 )
163133, 162eqeltrd 2548 . . . . . . . . . . . 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 )
164119, 163eqeltrd 2548 . . . . . . . . . . 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 )
165164adantl 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
)
16638, 98, 1653jca 1171 . . . . . . . . 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 ) )
167 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 )
168166, 167jca 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 ) )
16934, 168mpancom 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 ) )
170169exp31 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 ) ) ) )
17112, 170sylbid 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 ) ) ) )
172171imp32 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 ) )
173 isclwwlkn 24431 . . . . . . 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 ) ) )
1746, 173syl3an3 1258 . . . . . 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 ) ) )
175 isclwwlk 24430 . . . . . . . 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 ) ) )
1761753adant3 1011 . . . . . . 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 ) ) )
177176anbi1d 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 ) ) )
178174, 177bitrd 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 ) ) )
179178adantr 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 ) ) )
180172, 179mpbird 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
) )
1815, 180sylan2b 475 . 2  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  t  e.  D
)  ->  ( t substr  <.
0 ,  N >. )  e.  ( ( V ClWWalksN  E ) `  N
) )
182 clwwlkbij.f . 2  |-  F  =  ( t  e.  D  |->  ( t substr  <. 0 ,  N >. ) )
183181, 182fmptd 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 968    = wceq 1374    e. wcel 1762    =/= wne 2655   A.wral 2807   {crab 2811    C_ wss 3469   (/)c0 3778   {cpr 4022   <.cop 4026   class class class wbr 4440    |-> cmpt 4498   ran crn 4993   -->wf 5575   ` cfv 5579  (class class class)co 6275   CCcc 9479   0cc0 9481   1c1 9482    + caddc 9484    <_ cle 9618    - cmin 9794   NNcn 10525   NN0cn0 10784   ZZcz 10853   ZZ>=cuz 11071   ...cfz 11661  ..^cfzo 11781   #chash 12360  Word cword 12487   lastS clsw 12488   substr csubstr 12491   WWalks cwwlk 24339   WWalksN cwwlkn 24340   ClWWalks cclwwlk 24410   ClWWalksN cclwwlkn 24411
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1596  ax-4 1607  ax-5 1675  ax-6 1714  ax-7 1734  ax-8 1764  ax-9 1766  ax-10 1781  ax-11 1786  ax-12 1798  ax-13 1961  ax-ext 2438  ax-rep 4551  ax-sep 4561  ax-nul 4569  ax-pow 4618  ax-pr 4679  ax-un 6567  ax-cnex 9537  ax-resscn 9538  ax-1cn 9539  ax-icn 9540  ax-addcl 9541  ax-addrcl 9542  ax-mulcl 9543  ax-mulrcl 9544  ax-mulcom 9545  ax-addass 9546  ax-mulass 9547  ax-distr 9548  ax-i2m1 9549  ax-1ne0 9550  ax-1rid 9551  ax-rnegex 9552  ax-rrecex 9553  ax-cnre 9554  ax-pre-lttri 9555  ax-pre-lttrn 9556  ax-pre-ltadd 9557  ax-pre-mulgt0 9558
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 969  df-3an 970  df-tru 1377  df-ex 1592  df-nf 1595  df-sb 1707  df-eu 2272  df-mo 2273  df-clab 2446  df-cleq 2452  df-clel 2455  df-nfc 2610  df-ne 2657  df-nel 2658  df-ral 2812  df-rex 2813  df-reu 2814  df-rab 2816  df-v 3108  df-sbc 3325  df-csb 3429  df-dif 3472  df-un 3474  df-in 3476  df-ss 3483  df-pss 3485  df-nul 3779  df-if 3933  df-pw 4005  df-sn 4021  df-pr 4023  df-tp 4025  df-op 4027  df-uni 4239  df-int 4276  df-iun 4320  df-br 4441  df-opab 4499  df-mpt 4500  df-tr 4534  df-eprel 4784  df-id 4788  df-po 4793  df-so 4794  df-fr 4831  df-we 4833  df-ord 4874  df-on 4875  df-lim 4876  df-suc 4877  df-xp 4998  df-rel 4999  df-cnv 5000  df-co 5001  df-dm 5002  df-rn 5003  df-res 5004  df-ima 5005  df-iota 5542  df-fun 5581  df-fn 5582  df-f 5583  df-f1 5584  df-fo 5585  df-f1o 5586  df-fv 5587  df-riota 6236  df-ov 6278  df-oprab 6279  df-mpt2 6280  df-om 6672  df-1st 6774  df-2nd 6775  df-recs 7032  df-rdg 7066  df-1o 7120  df-oadd 7124  df-er 7301  df-map 7412  df-pm 7413  df-en 7507  df-dom 7508  df-sdom 7509  df-fin 7510  df-card 8309  df-pnf 9619  df-mnf 9620  df-xr 9621  df-ltxr 9622  df-le 9623  df-sub 9796  df-neg 9797  df-nn 10526  df-n0 10785  df-z 10854  df-uz 11072  df-fz 11662  df-fzo 11782  df-hash 12361  df-word 12495  df-lsw 12496  df-substr 12499  df-wwlk 24341  df-wwlkn 24342  df-clwwlk 24413  df-clwwlkn 24414
This theorem is referenced by:  clwwlkf1  24458  clwwlkfo  24459
  Copyright terms: Public domain W3C validator