Users' Mathboxes Mathbox for Alexander van der Vekens < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  clwwlkf Structured version   Unicode version

Theorem clwwlkf 30597
Description: Lemma 1 for clwwlkbij 30602: 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 5792 . . . . 5  |-  ( w  =  t  ->  ( lastS  `  w )  =  ( lastS  `  t ) )
2 fveq1 5791 . . . . 5  |-  ( w  =  t  ->  (
w `  0 )  =  ( t ` 
0 ) )
31, 2eqeq12d 2473 . . . 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 3219 . . 3  |-  ( t  e.  D  <->  ( t  e.  ( ( V WWalksN  E
) `  N )  /\  ( lastS  `  t )  =  ( t ` 
0 ) ) )
6 nnnn0 10690 . . . . . . . 8  |-  ( N  e.  NN  ->  N  e.  NN0 )
7 iswwlkn 30459 . . . . . . . 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 1254 . . . . . . 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 30458 . . . . . . . . 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 1008 . . . . . . . 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 10724 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN0  ->  ( N  +  1 )  e. 
NN0 )
156, 14syl 16 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  NN0 )
16 nnre 10433 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  N  e.  RR )
1716lep1d 10368 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  <_  ( N  +  1 ) )
18 elfz2nn0 11590 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  ( 0 ... ( N  +  1 ) )  <->  ( N  e.  NN0  /\  ( N  +  1 )  e. 
NN0  /\  N  <_  ( N  +  1 ) ) )
196, 15, 17, 18syl3anbrc 1172 . . . . . . . . . . . . . . . . . 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 6201 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
0 ... ( # `  t
) )  =  ( 0 ... ( N  +  1 ) ) )
2221eleq2d 2521 . . . . . . . . . . . . . . . . . . 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 12429 . . . . . . . . . . . . . . 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 1151 . . . . . . . . . . . 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 1011 . . . . . . . . . 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 12426 . . . . . . . . . . . . 13  |-  ( t  e. Word  V  ->  (
t substr  <. 0 ,  N >. )  e. Word  V )
36353ad2ant2 1010 . . . . . . . . . . . 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 6200 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
( # `  t )  -  1 )  =  ( ( N  + 
1 )  -  1 ) )
4039oveq2d 6209 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
0..^ ( ( # `  t )  -  1 ) )  =  ( 0..^ ( ( N  +  1 )  - 
1 ) ) )
41 nncn 10434 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  N  e.  CC )
42 ax-1cn 9444 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  1  e.  CC
4342a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  1  e.  CC )
4441, 43pncand 9824 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( N  e.  NN  ->  (
( N  +  1 )  -  1 )  =  N )
4544oveq2d 6209 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  NN  ->  (
0..^ ( ( N  +  1 )  - 
1 ) )  =  ( 0..^ N ) )
4640, 45sylan9eqr 2514 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( 0..^ ( (
# `  t )  -  1 ) )  =  ( 0..^ N ) )
4746raleqdv 3022 . . . . . . . . . . . . . . . . . . . . . 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 10772 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  NN  ->  N  e.  ZZ )
49 peano2zm 10792 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  ZZ  ->  ( N  -  1 )  e.  ZZ )
5048, 49syl 16 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  ZZ )
5116lem1d 10370 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  NN  ->  ( N  -  1 )  <_  N )
52 eluz2 10971 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  ( ZZ>= `  ( N  -  1 ) )  <->  ( ( N  -  1 )  e.  ZZ  /\  N  e.  ZZ  /\  ( N  -  1 )  <_  N ) )
5350, 48, 51, 52syl3anbrc 1172 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  N  e.  ( ZZ>= `  ( N  -  1 ) ) )
54 fzoss2 11687 . . . . . . . . . . . . . . . . . . . . . . . . . 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 3517 . . . . . . . . . . . . . . . . . . . . . . . 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 3456 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 12446 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  i  e.  ( 0..^ N ) )  ->  ( (
t substr  <. 0 ,  N >. ) `  i )  =  ( t `  i ) )
6867eqcomd 2459 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  i  e.  ( 0..^ N ) )  ->  ( t `  i )  =  ( ( t substr  <. 0 ,  N >. ) `  i
) )
6959, 63, 66, 68syl3anc 1219 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 30359 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 12446 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  (
i  +  1 )  e.  ( 0..^ N ) )  ->  (
( t substr  <. 0 ,  N >. ) `  (
i  +  1 ) )  =  ( t `
 ( i  +  1 ) ) )
7473eqcomd 2459 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1219 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 4063 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 2520 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 2839 . . . . . . . . . . . . . . . . . . . . . . . . . 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 1006 . . . . . . . . . . . . . . . 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 1011 . . . . . . . . . . . . 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 6200 . . . . . . . . . . . . . 14  |-  ( (
# `  ( t substr  <.
0 ,  N >. ) )  =  N  -> 
( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 )  =  ( N  -  1 ) )
9594oveq2d 6209 . . . . . . . . . . . . 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 3022 . . . . . . . . . . 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 1034 . . . . . . . . . . . . . . . 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 10854 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  ZZ )
102 fznn 11636 . . . . . . . . . . . . . . . . . . . . 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 1011 . . . . . . . . . . . . . . . . . 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 6201 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
1 ... ( # `  t
) )  =  ( 1 ... ( N  +  1 ) ) )
108107eleq2d 2521 . . . . . . . . . . . . . . . . . . 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 12450 . . . . . . . . . . . . . 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 12447 . . . . . . . . . . . . . . 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 4063 . . . . . . . . . . . 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 2460 . . . . . . . . . . . . . . . . 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 12377 . . . . . . . . . . . . . . . . . 18  |-  ( t  e. Word  V  ->  ( lastS  `  t )  =  ( t `  ( (
# `  t )  -  1 ) ) )
1241233ad2ant2 1010 . . . . . . . . . . . . . . . . 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 1011 . . . . . . . . . . . . . . . . . 18  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( N  + 
1 )  -  1 )  =  N )
129127, 128sylan9eqr 2514 . . . . . . . . . . . . . . . . 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 5796 . . . . . . . . . . . . . . 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 2496 . . . . . . . . . . . . . 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 4062 . . . . . . . . . . . . 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 2512 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( ( # `  t
)  -  1 )  =  N )
135134oveq2d 6209 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( 0..^ ( (
# `  t )  -  1 ) )  =  ( 0..^ N ) )
136135raleqdv 3022 . . . . . . . . . . . . . . . . . . . . . 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 11729 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  ( 0..^ N ) )
138 fveq2 5792 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( i  =  ( N  - 
1 )  ->  (
t `  i )  =  ( t `  ( N  -  1
) ) )
139 oveq1 6200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( i  =  ( N  - 
1 )  ->  (
i  +  1 )  =  ( ( N  -  1 )  +  1 ) )
140139fveq2d 5796 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( i  =  ( N  - 
1 )  ->  (
t `  ( i  +  1 ) )  =  ( t `  ( ( N  - 
1 )  +  1 ) ) )
141138, 140preq12d 4063 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( i  =  ( N  - 
1 )  ->  { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  =  { ( t `  ( N  -  1
) ) ,  ( t `  ( ( N  -  1 )  +  1 ) ) } )
142141eleq1d 2520 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( i  =  ( N  - 
1 )  ->  ( { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  <->  { ( t `  ( N  -  1 ) ) ,  ( t `
 ( ( N  -  1 )  +  1 ) ) }  e.  ran  E ) )
143142rspcva 3170 . . . . . . . . . . . . . . . . . . . . . . . . . 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 9827 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( N  e.  NN  ->  (
( N  -  1 )  +  1 )  =  N )
146145fveq2d 5796 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( N  e.  NN  ->  (
t `  ( ( N  -  1 )  +  1 ) )  =  ( t `  N ) )
147146preq2d 4062 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  NN  ->  { ( t `  ( N  -  1 ) ) ,  ( t `  ( ( N  - 
1 )  +  1 ) ) }  =  { ( t `  ( N  -  1
) ) ,  ( t `  N ) } )
148147eleq1d 2520 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1011 . . . . . . . . . . . . . . . . . 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 1011 . . . . . . . . . . . . . . 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 2539 . . . . . . . . . . . 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 2539 . . . . . . . . . . 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 1168 . . . . . . . . 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 30573 . . . . . . 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 1254 . . . . . 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 30572 . . . . . . . 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 1008 . . . . . . 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 5969 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 965    = wceq 1370    e. wcel 1758    =/= wne 2644   A.wral 2795   {crab 2799    C_ wss 3429   (/)c0 3738   {cpr 3980   <.cop 3984   class class class wbr 4393    |-> cmpt 4451   ran crn 4942   -->wf 5515   ` cfv 5519  (class class class)co 6193   CCcc 9384   0cc0 9386   1c1 9387    + caddc 9389    <_ cle 9523    - cmin 9699   NNcn 10426   NN0cn0 10683   ZZcz 10750   ZZ>=cuz 10965   ...cfz 11547  ..^cfzo 11658   #chash 12213  Word cword 12332   lastS clsw 12333   substr csubstr 12336   WWalks cwwlk 30452   WWalksN cwwlkn 30453   ClWWalks cclwwlk 30554   ClWWalksN cclwwlkn 30555
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1592  ax-4 1603  ax-5 1671  ax-6 1710  ax-7 1730  ax-8 1760  ax-9 1762  ax-10 1777  ax-11 1782  ax-12 1794  ax-13 1952  ax-ext 2430  ax-rep 4504  ax-sep 4514  ax-nul 4522  ax-pow 4571  ax-pr 4632  ax-un 6475  ax-cnex 9442  ax-resscn 9443  ax-1cn 9444  ax-icn 9445  ax-addcl 9446  ax-addrcl 9447  ax-mulcl 9448  ax-mulrcl 9449  ax-mulcom 9450  ax-addass 9451  ax-mulass 9452  ax-distr 9453  ax-i2m1 9454  ax-1ne0 9455  ax-1rid 9456  ax-rnegex 9457  ax-rrecex 9458  ax-cnre 9459  ax-pre-lttri 9460  ax-pre-lttrn 9461  ax-pre-ltadd 9462  ax-pre-mulgt0 9463
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1373  df-ex 1588  df-nf 1591  df-sb 1703  df-eu 2264  df-mo 2265  df-clab 2437  df-cleq 2443  df-clel 2446  df-nfc 2601  df-ne 2646  df-nel 2647  df-ral 2800  df-rex 2801  df-reu 2802  df-rab 2804  df-v 3073  df-sbc 3288  df-csb 3390  df-dif 3432  df-un 3434  df-in 3436  df-ss 3443  df-pss 3445  df-nul 3739  df-if 3893  df-pw 3963  df-sn 3979  df-pr 3981  df-tp 3983  df-op 3985  df-uni 4193  df-int 4230  df-iun 4274  df-br 4394  df-opab 4452  df-mpt 4453  df-tr 4487  df-eprel 4733  df-id 4737  df-po 4742  df-so 4743  df-fr 4780  df-we 4782  df-ord 4823  df-on 4824  df-lim 4825  df-suc 4826  df-xp 4947  df-rel 4948  df-cnv 4949  df-co 4950  df-dm 4951  df-rn 4952  df-res 4953  df-ima 4954  df-iota 5482  df-fun 5521  df-fn 5522  df-f 5523  df-f1 5524  df-fo 5525  df-f1o 5526  df-fv 5527  df-riota 6154  df-ov 6196  df-oprab 6197  df-mpt2 6198  df-om 6580  df-1st 6680  df-2nd 6681  df-recs 6935  df-rdg 6969  df-1o 7023  df-oadd 7027  df-er 7204  df-map 7319  df-pm 7320  df-en 7414  df-dom 7415  df-sdom 7416  df-fin 7417  df-card 8213  df-pnf 9524  df-mnf 9525  df-xr 9526  df-ltxr 9527  df-le 9528  df-sub 9701  df-neg 9702  df-nn 10427  df-n0 10684  df-z 10751  df-uz 10966  df-fz 11548  df-fzo 11659  df-hash 12214  df-word 12340  df-lsw 12341  df-substr 12344  df-wwlk 30454  df-wwlkn 30455  df-clwwlk 30557  df-clwwlkn 30558
This theorem is referenced by:  clwwlkf1  30599  clwwlkfo  30600
  Copyright terms: Public domain W3C validator