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

Theorem clwwlkf 25367
Description: Lemma 1 for clwwlkbij 25372: 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 5881 . . . . 5  |-  ( w  =  t  ->  ( lastS  `  w )  =  ( lastS  `  t ) )
2 fveq1 5880 . . . . 5  |-  ( w  =  t  ->  (
w `  0 )  =  ( t ` 
0 ) )
31, 2eqeq12d 2451 . . . 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 3237 . . 3  |-  ( t  e.  D  <->  ( t  e.  ( ( V WWalksN  E
) `  N )  /\  ( lastS  `  t )  =  ( t ` 
0 ) ) )
6 nnnn0 10876 . . . . . . . 8  |-  ( N  e.  NN  ->  N  e.  NN0 )
7 iswwlkn 25257 . . . . . . . 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 1299 . . . . . . 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 25256 . . . . . . . . 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 1025 . . . . . . . 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 709 . . . . . . 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 256 . . . . . 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 758 . . . . . . . . . . . . . . . 16  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  t  e. Word  V
)
14 peano2nn0 10910 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN0  ->  ( N  +  1 )  e. 
NN0 )
156, 14syl 17 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  NN0 )
16 nnre 10616 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  N  e.  RR )
1716lep1d 10538 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  <_  ( N  +  1 ) )
18 elfz2nn0 11883 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  ( 0 ... ( N  +  1 ) )  <->  ( N  e.  NN0  /\  ( N  +  1 )  e. 
NN0  /\  N  <_  ( N  +  1 ) ) )
196, 15, 17, 18syl3anbrc 1189 . . . . . . . . . . . . . . . . . 18  |-  ( N  e.  NN  ->  N  e.  ( 0 ... ( N  +  1 ) ) )
2019adantl 467 . . . . . . . . . . . . . . . . 17  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  N  e.  ( 0 ... ( N  +  1 ) ) )
21 oveq2 6313 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
0 ... ( # `  t
) )  =  ( 0 ... ( N  +  1 ) ) )
2221eleq2d 2499 . . . . . . . . . . . . . . . . . . 19  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  ( N  e.  ( 0 ... ( # `  t
) )  <->  N  e.  ( 0 ... ( N  +  1 ) ) ) )
2322adantl 467 . . . . . . . . . . . . . . . . . 18  |-  ( ( t  e. Word  V  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( N  e.  ( 0 ... ( # `  t ) )  <->  N  e.  ( 0 ... ( N  +  1 ) ) ) )
2423adantr 466 . . . . . . . . . . . . . . . . 17  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  ( N  e.  ( 0 ... ( # `
 t ) )  <-> 
N  e.  ( 0 ... ( N  + 
1 ) ) ) )
2520, 24mpbird 235 . . . . . . . . . . . . . . . 16  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  N  e.  ( 0 ... ( # `  t ) ) )
2613, 25jca 534 . . . . . . . . . . . . . . 15  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t ) ) ) )
27 swrd0len 12763 . . . . . . . . . . . . . . 15  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) ) )  -> 
( # `  ( t substr  <. 0 ,  N >. ) )  =  N )
2826, 27syl 17 . . . . . . . . . . . . . 14  |-  ( ( ( t  e. Word  V  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N )
2928ex 435 . . . . . . . . . . . . 13  |-  ( ( t  e. Word  V  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( N  e.  NN  ->  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N ) )
30293ad2antl2 1168 . . . . . . . . . . . 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 32 . . . . . . . . . . 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 1028 . . . . . . . . . 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 430 . . . . . . . . 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 466 . . . . . . . 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 12760 . . . . . . . . . . . . 13  |-  ( t  e. Word  V  ->  (
t substr  <. 0 ,  N >. )  e. Word  V )
36353ad2ant2 1027 . . . . . . . . . . . 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 732 . . . . . . . . . . 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 732 . . . . . . . . . 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 6312 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
( # `  t )  -  1 )  =  ( ( N  + 
1 )  -  1 ) )
4039oveq2d 6321 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
0..^ ( ( # `  t )  -  1 ) )  =  ( 0..^ ( ( N  +  1 )  - 
1 ) ) )
41 nncn 10617 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  N  e.  CC )
42 1cnd 9658 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  1  e.  CC )
4341, 42pncand 9986 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( N  e.  NN  ->  (
( N  +  1 )  -  1 )  =  N )
4443oveq2d 6321 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  NN  ->  (
0..^ ( ( N  +  1 )  - 
1 ) )  =  ( 0..^ N ) )
4540, 44sylan9eqr 2492 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( 0..^ ( (
# `  t )  -  1 ) )  =  ( 0..^ N ) )
4645raleqdv 3038 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  <->  A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E ) )
47 nnz 10959 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  NN  ->  N  e.  ZZ )
48 peano2zm 10980 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  ZZ  ->  ( N  -  1 )  e.  ZZ )
4947, 48syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  ZZ )
5016lem1d 10540 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  NN  ->  ( N  -  1 )  <_  N )
51 eluz2 11165 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  ( ZZ>= `  ( N  -  1 ) )  <->  ( ( N  -  1 )  e.  ZZ  /\  N  e.  ZZ  /\  ( N  -  1 )  <_  N ) )
5249, 47, 50, 51syl3anbrc 1189 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  N  e.  ( ZZ>= `  ( N  -  1 ) ) )
53 fzoss2 11944 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  ( ZZ>= `  ( N  -  1 ) )  ->  ( 0..^ ( N  -  1 ) )  C_  (
0..^ N ) )
5452, 53syl 17 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( N  e.  NN  ->  (
0..^ ( N  - 
1 ) )  C_  ( 0..^ N ) )
5554adantr 466 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( 0..^ ( N  -  1 ) ) 
C_  ( 0..^ N ) )
56 ssralv 3531 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( 0..^ ( N  - 
1 ) )  C_  ( 0..^ N )  -> 
( A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( t `  i
) ,  ( t `
 ( i  +  1 ) ) }  e.  ran  E ) )
5755, 56syl 17 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( t `  i
) ,  ( t `
 ( i  +  1 ) ) }  e.  ran  E ) )
58 simplr 760 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  t  e. Word  V )
5919adantr 466 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  ->  N  e.  ( 0 ... ( N  + 
1 ) ) )
6022adantl 467 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( N  e.  ( 0 ... ( # `  t ) )  <->  N  e.  ( 0 ... ( N  +  1 ) ) ) )
6159, 60mpbird 235 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  ->  N  e.  ( 0 ... ( # `  t
) ) )
6261ad2antrr 730 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  N  e.  ( 0 ... ( # `
 t ) ) )
6354sseld 3469 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( N  e.  NN  ->  (
i  e.  ( 0..^ ( N  -  1 ) )  ->  i  e.  ( 0..^ N ) ) )
6463ad2antrr 730 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( N  e.  NN  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  t  e. Word  V
)  ->  ( i  e.  ( 0..^ ( N  -  1 ) )  ->  i  e.  ( 0..^ N ) ) )
6564imp 430 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  i  e.  ( 0..^ N ) )
66 swrd0fv 12780 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  i  e.  ( 0..^ N ) )  ->  ( (
t substr  <. 0 ,  N >. ) `  i )  =  ( t `  i ) )
6766eqcomd 2437 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  i  e.  ( 0..^ N ) )  ->  ( t `  i )  =  ( ( t substr  <. 0 ,  N >. ) `  i
) )
6858, 62, 65, 67syl3anc 1264 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  ( t `  i )  =  ( ( t substr  <. 0 ,  N >. ) `  i
) )
6947ad2antrr 730 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( N  e.  NN  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  t  e. Word  V
)  ->  N  e.  ZZ )
70 elfzom1elp1fzo 11978 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( N  e.  ZZ  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  -> 
( i  +  1 )  e.  ( 0..^ N ) )
7169, 70sylan 473 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  ( i  +  1 )  e.  ( 0..^ N ) )
72 swrd0fv 12780 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  (
i  +  1 )  e.  ( 0..^ N ) )  ->  (
( t substr  <. 0 ,  N >. ) `  (
i  +  1 ) )  =  ( t `
 ( i  +  1 ) ) )
7372eqcomd 2437 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( t  e. Word  V  /\  N  e.  ( 0 ... ( # `  t
) )  /\  (
i  +  1 )  e.  ( 0..^ N ) )  ->  (
t `  ( i  +  1 ) )  =  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) )
7458, 62, 71, 73syl3anc 1264 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  ( t `  ( i  +  1 ) )  =  ( ( t substr  <. 0 ,  N >. ) `  (
i  +  1 ) ) )
7568, 74preq12d 4090 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  { (
t `  i ) ,  ( t `  ( i  +  1 ) ) }  =  { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) } )
7675eleq1d 2498 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ( N  e.  NN  /\  ( # `  t )  =  ( N  +  1 ) )  /\  t  e. Word  V )  /\  i  e.  ( 0..^ ( N  -  1 ) ) )  ->  ( {
( t `  i
) ,  ( t `
 ( i  +  1 ) ) }  e.  ran  E  <->  { (
( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E
) )
7776ralbidva 2868 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( N  e.  NN  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  t  e. Word  V
)  ->  ( A. i  e.  ( 0..^ ( N  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  <->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) )
7877biimpd 210 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( N  e.  NN  /\  ( # `  t
)  =  ( N  +  1 ) )  /\  t  e. Word  V
)  ->  ( A. i  e.  ( 0..^ ( N  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) )
7978ex 435 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( t  e. Word  V  ->  ( A. i  e.  ( 0..^ ( N  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) )
8079com23 81 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( A. i  e.  ( 0..^ ( N  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  ( t  e. Word  V  ->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) )
8157, 80syld 45 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  ( t  e. Word  V  ->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) )
8246, 81sylbid 218 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( N  e.  NN  /\  ( # `  t )  =  ( N  + 
1 ) )  -> 
( A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  ( t  e. Word  V  ->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) )
8382ex 435 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  (
( # `  t )  =  ( N  + 
1 )  ->  ( A. i  e.  (
0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  ( t  e. Word  V  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) ) )
8483com23 81 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  ( A. i  e.  (
0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  ( ( # `
 t )  =  ( N  +  1 )  ->  ( t  e. Word  V  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) ) )
8584com14 91 . . . . . . . . . . . . . . . . . 18  |-  ( t  e. Word  V  ->  ( A. i  e.  (
0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  ( ( # `
 t )  =  ( N  +  1 )  ->  ( N  e.  NN  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) ) )
8685imp 430 . . . . . . . . . . . . . . . . 17  |-  ( ( t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t
)  -  1 ) ) { ( t `
 i ) ,  ( t `  (
i  +  1 ) ) }  e.  ran  E )  ->  ( ( # `
 t )  =  ( N  +  1 )  ->  ( N  e.  NN  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) )
87863adant1 1023 . . . . . . . . . . . . . . . 16  |-  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  ->  ( ( # `
 t )  =  ( N  +  1 )  ->  ( N  e.  NN  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) ) )
8887imp 430 . . . . . . . . . . . . . . 15  |-  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  ( N  e.  NN  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) )
8988com12 32 . . . . . . . . . . . . . 14  |-  ( N  e.  NN  ->  (
( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) )  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) )
90893ad2ant3 1028 . . . . . . . . . . . . 13  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  A. i  e.  ( 0..^ ( N  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) )
9190imp 430 . . . . . . . . . . . 12  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E )
9291ad2antrl 732 . . . . . . . . . . 11  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  ->  A. i  e.  (
0..^ ( N  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E )
93 oveq1 6312 . . . . . . . . . . . . . 14  |-  ( (
# `  ( t substr  <.
0 ,  N >. ) )  =  N  -> 
( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 )  =  ( N  -  1 ) )
9493oveq2d 6321 . . . . . . . . . . . . 13  |-  ( (
# `  ( t substr  <.
0 ,  N >. ) )  =  N  -> 
( 0..^ ( (
# `  ( t substr  <.
0 ,  N >. ) )  -  1 ) )  =  ( 0..^ ( N  -  1 ) ) )
9594adantr 466 . . . . . . . . . . . 12  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  -> 
( 0..^ ( (
# `  ( t substr  <.
0 ,  N >. ) )  -  1 ) )  =  ( 0..^ ( N  -  1 ) ) )
9695raleqdv 3038 . . . . . . . . . . 11  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  -> 
( A. i  e.  ( 0..^ ( (
# `  ( t substr  <.
0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E  <->  A. i  e.  ( 0..^ ( N  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E ) )
9792, 96mpbird 235 . . . . . . . . . 10  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  ->  A. i  e.  (
0..^ ( ( # `  ( t substr  <. 0 ,  N >. ) )  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E )
98 simprl2 1051 . . . . . . . . . . . . . . . 16  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  t  e. Word  V )
9917ancli 553 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  ( N  e.  NN  /\  N  <_  ( N  +  1 ) ) )
10047peano2zd 11043 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  ZZ )
101 fznn 11861 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( N  +  1 )  e.  ZZ  ->  ( N  e.  ( 1 ... ( N  + 
1 ) )  <->  ( N  e.  NN  /\  N  <_ 
( N  +  1 ) ) ) )
102100, 101syl 17 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  ( N  e.  ( 1 ... ( N  + 
1 ) )  <->  ( N  e.  NN  /\  N  <_ 
( N  +  1 ) ) ) )
10399, 102mpbird 235 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN  ->  N  e.  ( 1 ... ( N  +  1 ) ) )
1041033ad2ant3 1028 . . . . . . . . . . . . . . . . . 18  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  N  e.  ( 1 ... ( N  + 
1 ) ) )
105104adantr 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 ... ( N  +  1 ) ) )
106 oveq2 6313 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  (
1 ... ( # `  t
) )  =  ( 1 ... ( N  +  1 ) ) )
107106eleq2d 2499 . . . . . . . . . . . . . . . . . . 19  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  ( N  e.  ( 1 ... ( # `  t
) )  <->  N  e.  ( 1 ... ( N  +  1 ) ) ) )
108107adantl 467 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  ( N  e.  ( 1 ... ( # `
 t ) )  <-> 
N  e.  ( 1 ... ( N  + 
1 ) ) ) )
109108adantl 467 . . . . . . . . . . . . . . . . 17  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  ( N  e.  ( 1 ... ( # `
 t ) )  <-> 
N  e.  ( 1 ... ( N  + 
1 ) ) ) )
110105, 109mpbird 235 . . . . . . . . . . . . . . . 16  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  N  e.  ( 1 ... ( # `
 t ) ) )
11198, 110jca 534 . . . . . . . . . . . . . . 15  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  ( t  e. Word  V  /\  N  e.  ( 1 ... ( # `
 t ) ) ) )
112111adantr 466 . . . . . . . . . . . . . 14  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( t  e. Word  V  /\  N  e.  ( 1 ... ( # `  t ) ) ) )
113 swrd0fvlsw 12784 . . . . . . . . . . . . . 14  |-  ( ( t  e. Word  V  /\  N  e.  ( 1 ... ( # `  t
) ) )  -> 
( lastS  `  ( t substr  <. 0 ,  N >. ) )  =  ( t `
 ( N  - 
1 ) ) )
114112, 113syl 17 . . . . . . . . . . . . 13  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( lastS  `  ( t substr  <. 0 ,  N >. ) )  =  ( t `
 ( N  - 
1 ) ) )
115 swrd0fv0 12781 . . . . . . . . . . . . . . 15  |-  ( ( t  e. Word  V  /\  N  e.  ( 1 ... ( # `  t
) ) )  -> 
( ( t substr  <. 0 ,  N >. ) `
 0 )  =  ( t `  0
) )
116111, 115syl 17 . . . . . . . . . . . . . 14  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  ( (
t substr  <. 0 ,  N >. ) `  0 )  =  ( t ` 
0 ) )
117116adantr 466 . . . . . . . . . . . . 13  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( ( t substr  <. 0 ,  N >. ) `
 0 )  =  ( t `  0
) )
118114, 117preq12d 4090 . . . . . . . . . . . 12  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  =  {
( t `  ( N  -  1 ) ) ,  ( t `
 0 ) } )
119 eqcom 2438 . . . . . . . . . . . . . . . . 17  |-  ( ( lastS  `  t )  =  ( t `  0 )  <-> 
( t `  0
)  =  ( lastS  `  t
) )
120119biimpi 197 . . . . . . . . . . . . . . . 16  |-  ( ( lastS  `  t )  =  ( t `  0 )  ->  ( t ` 
0 )  =  ( lastS  `  t ) )
121120adantl 467 . . . . . . . . . . . . . . 15  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( t ` 
0 )  =  ( lastS  `  t ) )
122 lsw 12698 . . . . . . . . . . . . . . . . . 18  |-  ( t  e. Word  V  ->  ( lastS  `  t )  =  ( t `  ( (
# `  t )  -  1 ) ) )
1231223ad2ant2 1027 . . . . . . . . . . . . . . . . 17  |-  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  ->  ( lastS  `  t
)  =  ( t `
 ( ( # `  t )  -  1 ) ) )
124123ad2antrl 732 . . . . . . . . . . . . . . . 16  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  ( lastS  `  t
)  =  ( t `
 ( ( # `  t )  -  1 ) ) )
125124adantr 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 ) )  ->  ( lastS  `  t )  =  ( t `  ( ( # `  t
)  -  1 ) ) )
12639adantl 467 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  ( ( # `  t )  -  1 )  =  ( ( N  +  1 )  -  1 ) )
127433ad2ant3 1028 . . . . . . . . . . . . . . . . . 18  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( N  + 
1 )  -  1 )  =  N )
128126, 127sylan9eqr 2492 . . . . . . . . . . . . . . . . 17  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  ( ( # `
 t )  - 
1 )  =  N )
129128adantr 466 . . . . . . . . . . . . . . . 16  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( ( # `  t )  -  1 )  =  N )
130129fveq2d 5885 . . . . . . . . . . . . . . 15  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( t `  ( ( # `  t
)  -  1 ) )  =  ( t `
 N ) )
131121, 125, 1303eqtrd 2474 . . . . . . . . . . . . . 14  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( t ` 
0 )  =  ( t `  N ) )
132131preq2d 4089 . . . . . . . . . . . . 13  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  { ( t `
 ( N  - 
1 ) ) ,  ( t `  0
) }  =  {
( t `  ( N  -  1 ) ) ,  ( t `
 N ) } )
13339, 43sylan9eq 2490 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( ( # `  t
)  -  1 )  =  N )
134133oveq2d 6321 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( 0..^ ( (
# `  t )  -  1 ) )  =  ( 0..^ N ) )
135134raleqdv 3038 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  <->  A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E ) )
136 fzo0end 12000 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  ( N  -  1 )  e.  ( 0..^ N ) )
137 fveq2 5881 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( i  =  ( N  - 
1 )  ->  (
t `  i )  =  ( t `  ( N  -  1
) ) )
138 oveq1 6312 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( i  =  ( N  - 
1 )  ->  (
i  +  1 )  =  ( ( N  -  1 )  +  1 ) )
139138fveq2d 5885 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( i  =  ( N  - 
1 )  ->  (
t `  ( i  +  1 ) )  =  ( t `  ( ( N  - 
1 )  +  1 ) ) )
140137, 139preq12d 4090 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( i  =  ( N  - 
1 )  ->  { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  =  { ( t `  ( N  -  1
) ) ,  ( t `  ( ( N  -  1 )  +  1 ) ) } )
141140eleq1d 2498 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( i  =  ( N  - 
1 )  ->  ( { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  <->  { ( t `  ( N  -  1 ) ) ,  ( t `
 ( ( N  -  1 )  +  1 ) ) }  e.  ran  E ) )
142141rspcva 3186 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( N  -  1 )  e.  ( 0..^ N )  /\  A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  ->  { ( t `  ( N  -  1 ) ) ,  ( t `  ( ( N  - 
1 )  +  1 ) ) }  e.  ran  E )
143136, 142sylan 473 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( N  e.  NN  /\  A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  ->  { ( t `  ( N  -  1 ) ) ,  ( t `  ( ( N  - 
1 )  +  1 ) ) }  e.  ran  E )
14441, 42npcand 9989 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( N  e.  NN  ->  (
( N  -  1 )  +  1 )  =  N )
145144fveq2d 5885 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( N  e.  NN  ->  (
t `  ( ( N  -  1 )  +  1 ) )  =  ( t `  N ) )
146145preq2d 4089 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  NN  ->  { ( t `  ( N  -  1 ) ) ,  ( t `  ( ( N  - 
1 )  +  1 ) ) }  =  { ( t `  ( N  -  1
) ) ,  ( t `  N ) } )
147146eleq1d 2498 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  NN  ->  ( { ( t `  ( N  -  1
) ) ,  ( t `  ( ( N  -  1 )  +  1 ) ) }  e.  ran  E  <->  { ( t `  ( N  -  1 ) ) ,  ( t `
 N ) }  e.  ran  E ) )
148147biimpd 210 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN  ->  ( { ( t `  ( N  -  1
) ) ,  ( t `  ( ( N  -  1 )  +  1 ) ) }  e.  ran  E  ->  { ( t `  ( N  -  1
) ) ,  ( t `  N ) }  e.  ran  E
) )
149148adantr 466 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( N  e.  NN  /\  A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  ->  ( { ( t `  ( N  -  1
) ) ,  ( t `  ( ( N  -  1 )  +  1 ) ) }  e.  ran  E  ->  { ( t `  ( N  -  1
) ) ,  ( t `  N ) }  e.  ran  E
) )
150143, 149mpd 15 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( N  e.  NN  /\  A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  ->  { ( t `  ( N  -  1 ) ) ,  ( t `  N ) }  e.  ran  E )
151150ex 435 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  NN  ->  ( A. i  e.  (
0..^ N ) { ( t `  i
) ,  ( t `
 ( i  +  1 ) ) }  e.  ran  E  ->  { ( t `  ( N  -  1
) ) ,  ( t `  N ) }  e.  ran  E
) )
152151adantl 467 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( A. i  e.  ( 0..^ N ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  { ( t `  ( N  -  1
) ) ,  ( t `  N ) }  e.  ran  E
) )
153135, 152sylbid 218 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( # `  t
)  =  ( N  +  1 )  /\  N  e.  NN )  ->  ( A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  { ( t `  ( N  -  1
) ) ,  ( t `  N ) }  e.  ran  E
) )
154153ex 435 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
# `  t )  =  ( N  + 
1 )  ->  ( N  e.  NN  ->  ( A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E  ->  { (
t `  ( N  -  1 ) ) ,  ( t `  N ) }  e.  ran  E ) ) )
155154com3r 82 . . . . . . . . . . . . . . . . . . 19  |-  ( A. i  e.  ( 0..^ ( ( # `  t
)  -  1 ) ) { ( t `
 i ) ,  ( t `  (
i  +  1 ) ) }  e.  ran  E  ->  ( ( # `  t )  =  ( N  +  1 )  ->  ( N  e.  NN  ->  { (
t `  ( N  -  1 ) ) ,  ( t `  N ) }  e.  ran  E ) ) )
1561553ad2ant3 1028 . . . . . . . . . . . . . . . . . 18  |-  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  ->  ( ( # `
 t )  =  ( N  +  1 )  ->  ( N  e.  NN  ->  { (
t `  ( N  -  1 ) ) ,  ( t `  N ) }  e.  ran  E ) ) )
157156imp 430 . . . . . . . . . . . . . . . . 17  |-  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  ( N  e.  NN  ->  { (
t `  ( N  -  1 ) ) ,  ( t `  N ) }  e.  ran  E ) )
158157com12 32 . . . . . . . . . . . . . . . 16  |-  ( N  e.  NN  ->  (
( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) )  ->  { ( t `  ( N  -  1 ) ) ,  ( t `  N ) }  e.  ran  E ) )
1591583ad2ant3 1028 . . . . . . . . . . . . . . 15  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  { ( t `
 ( N  - 
1 ) ) ,  ( t `  N
) }  e.  ran  E ) )
160159imp 430 . . . . . . . . . . . . . 14  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  ->  { (
t `  ( N  -  1 ) ) ,  ( t `  N ) }  e.  ran  E )
161160adantr 466 . . . . . . . . . . . . 13  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  { ( t `
 ( N  - 
1 ) ) ,  ( t `  N
) }  e.  ran  E )
162132, 161eqeltrd 2517 . . . . . . . . . . . 12  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  { ( t `
 ( N  - 
1 ) ) ,  ( t `  0
) }  e.  ran  E )
163118, 162eqeltrd 2517 . . . . . . . . . . 11  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )
164163adantl 467 . . . . . . . . . 10  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  ->  { ( lastS  `  ( t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0 ) }  e.  ran  E
)
16538, 97, 1643jca 1185 . . . . . . . . 9  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  -> 
( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E ) )
166 simpl 458 . . . . . . . . 9  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  -> 
( # `  ( t substr  <. 0 ,  N >. ) )  =  N )
167165, 166jca 534 . . . . . . . 8  |-  ( ( ( # `  (
t substr  <. 0 ,  N >. ) )  =  N  /\  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( # `
 t )  =  ( N  +  1 ) ) )  /\  ( lastS  `  t )  =  ( t `  0
) ) )  -> 
( ( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )  /\  ( # `  ( t substr  <. 0 ,  N >. ) )  =  N ) )
16834, 167mpancom 673 . . . . . . 7  |-  ( ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  (
( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) ) )  /\  ( lastS  `  t
)  =  ( t `
 0 ) )  ->  ( ( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )  /\  ( # `  ( t substr  <. 0 ,  N >. ) )  =  N ) )
169168exp31 607 . . . . . 6  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( ( t  =/=  (/)  /\  t  e. Word  V  /\  A. i  e.  ( 0..^ ( (
# `  t )  -  1 ) ) { ( t `  i ) ,  ( t `  ( i  +  1 ) ) }  e.  ran  E
)  /\  ( # `  t
)  =  ( N  +  1 ) )  ->  ( ( lastS  `  t
)  =  ( t `
 0 )  -> 
( ( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )  /\  ( # `  ( t substr  <. 0 ,  N >. ) )  =  N ) ) ) )
17012, 169sylbid 218 . . . . 5  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( t  e.  ( ( V WWalksN  E ) `  N )  ->  (
( lastS  `  t )  =  ( t `  0
)  ->  ( (
( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( t substr  <. 0 ,  N >. ) )  - 
1 ) ) { ( ( t substr  <. 0 ,  N >. ) `
 i ) ,  ( ( t substr  <. 0 ,  N >. ) `
 ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( t substr  <.
0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0 ) }  e.  ran  E
)  /\  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N ) ) ) )
171170imp32 434 . . . 4  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( t  e.  ( ( V WWalksN  E
) `  N )  /\  ( lastS  `  t )  =  ( t ` 
0 ) ) )  ->  ( ( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )  /\  ( # `  ( t substr  <. 0 ,  N >. ) )  =  N ) )
172 isclwwlkn 25342 . . . . . . 7  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN0 )  -> 
( ( t substr  <. 0 ,  N >. )  e.  ( ( V ClWWalksN  E ) `  N
)  <->  ( ( t substr  <. 0 ,  N >. )  e.  ( V ClWWalks  E )  /\  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N ) ) )
1736, 172syl3an3 1299 . . . . . 6  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( t substr  <. 0 ,  N >. )  e.  ( ( V ClWWalksN  E ) `  N
)  <->  ( ( t substr  <. 0 ,  N >. )  e.  ( V ClWWalks  E )  /\  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N ) ) )
174 isclwwlk 25341 . . . . . . . 8  |-  ( ( V  e.  X  /\  E  e.  Y )  ->  ( ( t substr  <. 0 ,  N >. )  e.  ( V ClWWalks  E )  <-> 
( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E ) ) )
1751743adant3 1025 . . . . . . 7  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( t substr  <. 0 ,  N >. )  e.  ( V ClWWalks  E )  <-> 
( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E ) ) )
176175anbi1d 709 . . . . . 6  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( ( t substr  <. 0 ,  N >. )  e.  ( V ClWWalks  E )  /\  ( # `  (
t substr  <. 0 ,  N >. ) )  =  N )  <->  ( ( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )  /\  ( # `  ( t substr  <. 0 ,  N >. ) )  =  N ) ) )
177173, 176bitrd 256 . . . . 5  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( t substr  <. 0 ,  N >. )  e.  ( ( V ClWWalksN  E ) `  N
)  <->  ( ( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )  /\  ( # `  ( t substr  <. 0 ,  N >. ) )  =  N ) ) )
178177adantr 466 . . . 4  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( t  e.  ( ( V WWalksN  E
) `  N )  /\  ( lastS  `  t )  =  ( t ` 
0 ) ) )  ->  ( ( t substr  <. 0 ,  N >. )  e.  ( ( V ClWWalksN  E ) `  N
)  <->  ( ( ( t substr  <. 0 ,  N >. )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  (
t substr  <. 0 ,  N >. ) )  -  1 ) ) { ( ( t substr  <. 0 ,  N >. ) `  i
) ,  ( ( t substr  <. 0 ,  N >. ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  (
t substr  <. 0 ,  N >. ) ) ,  ( ( t substr  <. 0 ,  N >. ) `  0
) }  e.  ran  E )  /\  ( # `  ( t substr  <. 0 ,  N >. ) )  =  N ) ) )
179171, 178mpbird 235 . . 3  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  ( t  e.  ( ( V WWalksN  E
) `  N )  /\  ( lastS  `  t )  =  ( t ` 
0 ) ) )  ->  ( t substr  <. 0 ,  N >. )  e.  ( ( V ClWWalksN  E ) `  N
) )
1805, 179sylan2b 477 . 2  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  t  e.  D
)  ->  ( t substr  <.
0 ,  N >. )  e.  ( ( V ClWWalksN  E ) `  N
) )
181 clwwlkbij.f . 2  |-  F  =  ( t  e.  D  |->  ( t substr  <. 0 ,  N >. ) )
182180, 181fmptd 6061 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 187    /\ wa 370    /\ w3a 982    = wceq 1437    e. wcel 1870    =/= wne 2625   A.wral 2782   {crab 2786    C_ wss 3442   (/)c0 3767   {cpr 4004   <.cop 4008   class class class wbr 4426    |-> cmpt 4484   ran crn 4855   -->wf 5597   ` cfv 5601  (class class class)co 6305   0cc0 9538   1c1 9539    + caddc 9541    <_ cle 9675    - cmin 9859   NNcn 10609   NN0cn0 10869   ZZcz 10937   ZZ>=cuz 11159   ...cfz 11782  ..^cfzo 11913   #chash 12512  Word cword 12643   lastS clsw 12644   substr csubstr 12647   WWalks cwwlk 25250   WWalksN cwwlkn 25251   ClWWalks cclwwlk 25321   ClWWalksN cclwwlkn 25322
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1665  ax-4 1678  ax-5 1751  ax-6 1797  ax-7 1841  ax-8 1872  ax-9 1874  ax-10 1889  ax-11 1894  ax-12 1907  ax-13 2055  ax-ext 2407  ax-rep 4538  ax-sep 4548  ax-nul 4556  ax-pow 4603  ax-pr 4661  ax-un 6597  ax-cnex 9594  ax-resscn 9595  ax-1cn 9596  ax-icn 9597  ax-addcl 9598  ax-addrcl 9599  ax-mulcl 9600  ax-mulrcl 9601  ax-mulcom 9602  ax-addass 9603  ax-mulass 9604  ax-distr 9605  ax-i2m1 9606  ax-1ne0 9607  ax-1rid 9608  ax-rnegex 9609  ax-rrecex 9610  ax-cnre 9611  ax-pre-lttri 9612  ax-pre-lttrn 9613  ax-pre-ltadd 9614  ax-pre-mulgt0 9615
This theorem depends on definitions:  df-bi 188  df-or 371  df-an 372  df-3or 983  df-3an 984  df-tru 1440  df-ex 1660  df-nf 1664  df-sb 1790  df-eu 2270  df-mo 2271  df-clab 2415  df-cleq 2421  df-clel 2424  df-nfc 2579  df-ne 2627  df-nel 2628  df-ral 2787  df-rex 2788  df-reu 2789  df-rmo 2790  df-rab 2791  df-v 3089  df-sbc 3306  df-csb 3402  df-dif 3445  df-un 3447  df-in 3449  df-ss 3456  df-pss 3458  df-nul 3768  df-if 3916  df-pw 3987  df-sn 4003  df-pr 4005  df-tp 4007  df-op 4009  df-uni 4223  df-int 4259  df-iun 4304  df-br 4427  df-opab 4485  df-mpt 4486  df-tr 4521  df-eprel 4765  df-id 4769  df-po 4775  df-so 4776  df-fr 4813  df-we 4815  df-xp 4860  df-rel 4861  df-cnv 4862  df-co 4863  df-dm 4864  df-rn 4865  df-res 4866  df-ima 4867  df-pred 5399  df-ord 5445  df-on 5446  df-lim 5447  df-suc 5448  df-iota 5565  df-fun 5603  df-fn 5604  df-f 5605  df-f1 5606  df-fo 5607  df-f1o 5608  df-fv 5609  df-riota 6267  df-ov 6308  df-oprab 6309  df-mpt2 6310  df-om 6707  df-1st 6807  df-2nd 6808  df-wrecs 7036  df-recs 7098  df-rdg 7136  df-1o 7190  df-oadd 7194  df-er 7371  df-map 7482  df-pm 7483  df-en 7578  df-dom 7579  df-sdom 7580  df-fin 7581  df-card 8372  df-cda 8596  df-pnf 9676  df-mnf 9677  df-xr 9678  df-ltxr 9679  df-le 9680  df-sub 9861  df-neg 9862  df-nn 10610  df-2 10668  df-n0 10870  df-z 10938  df-uz 11160  df-fz 11783  df-fzo 11914  df-hash 12513  df-word 12651  df-lsw 12652  df-substr 12655  df-wwlk 25252  df-wwlkn 25253  df-clwwlk 25324  df-clwwlkn 25325
This theorem is referenced by:  clwwlkf1  25369  clwwlkfo  25370
  Copyright terms: Public domain W3C validator