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

Theorem wwlkext2clwwlk 25008
Description: If a word represents a walk in (in a graph) and there are edges between the last vertex of the word and another vertex and between this other vertex and the first vertex of the word, then the concatenation of the word representing the walk with this other vertex represents a closed walk. (Contributed by Alexander van der Vekens, 3-Oct-2018.)
Assertion
Ref Expression
wwlkext2clwwlk  |-  ( ( W  e.  ( ( V WWalksN  E ) `  N
)  /\  Z  e.  V  /\  N  e.  NN0 )  ->  ( ( { ( lastS  `  W ) ,  Z }  e.  ran  E  /\  { Z , 
( W `  0
) }  e.  ran  E )  ->  ( W ++  <" Z "> )  e.  ( ( V ClWWalksN  E ) `  ( N  +  2 ) ) ) )

Proof of Theorem wwlkext2clwwlk
Dummy variable  i is distinct from all other variables.
StepHypRef Expression
1 wwlknprop 24891 . . 3  |-  ( W  e.  ( ( V WWalksN  E ) `  N
)  ->  ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) ) )
2 simplrr 760 . . . . . . . 8  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E ) `  N
) )  ->  W  e. Word  V )
3 s1cl 12606 . . . . . . . . 9  |-  ( Z  e.  V  ->  <" Z ">  e. Word  V )
43adantr 463 . . . . . . . 8  |-  ( ( Z  e.  V  /\  N  e.  NN0 )  ->  <" Z ">  e. Word  V )
5 ccatcl 12585 . . . . . . . 8  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V )  ->  ( W ++  <" Z "> )  e. Word  V )
62, 4, 5syl2an 475 . . . . . . 7  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E ) `  N
) )  /\  ( Z  e.  V  /\  N  e.  NN0 ) )  ->  ( W ++  <" Z "> )  e. Word  V )
76adantr 463 . . . . . 6  |-  ( ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E
) `  N )
)  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  ( { ( lastS  `  W
) ,  Z }  e.  ran  E  /\  { Z ,  ( W `  0 ) }  e.  ran  E ) )  ->  ( W ++  <" Z "> )  e. Word  V )
8 wwlknimp 24892 . . . . . . . . . . 11  |-  ( W  e.  ( ( V WWalksN  E ) `  N
)  ->  ( W  e. Word  V  /\  ( # `  W )  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E
) )
9 simpll 751 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  W  e. Word  V )
109adantr 463 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  ->  W  e. Word  V )
114ad2antlr 724 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  ->  <" Z ">  e. Word  V )
12 elfzo0 11840 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( i  e.  ( 0..^ N )  <->  ( i  e. 
NN0  /\  N  e.  NN  /\  i  <  N
) )
13 simp1 994 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  i  e.  NN0 )
14 peano2nn 10543 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  NN )
15143ad2ant2 1016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  ( N  +  1 )  e.  NN )
16 nn0re 10800 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( i  e.  NN0  ->  i  e.  RR )
17163ad2ant1 1015 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  i  e.  RR )
18 nnre 10538 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( N  e.  NN  ->  N  e.  RR )
19183ad2ant2 1016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  N  e.  RR )
20 peano2re 9742 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( N  e.  RR  ->  ( N  +  1 )  e.  RR )
2118, 20syl 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  RR )
22213ad2ant2 1016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  ( N  +  1 )  e.  RR )
23 simp3 996 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  i  <  N )
2418ltp1d 10471 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( N  e.  NN  ->  N  <  ( N  +  1 ) )
25243ad2ant2 1016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  N  <  ( N  +  1 ) )
2617, 19, 22, 23, 25lttrd 9732 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  i  <  ( N  +  1 ) )
27 elfzo0 11840 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( i  e.  ( 0..^ ( N  +  1 ) )  <->  ( i  e. 
NN0  /\  ( N  +  1 )  e.  NN  /\  i  < 
( N  +  1 ) ) )
2813, 15, 26, 27syl3anbrc 1178 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  i  e.  ( 0..^ ( N  +  1 ) ) )
2912, 28sylbi 195 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( i  e.  ( 0..^ N )  ->  i  e.  ( 0..^ ( N  + 
1 ) ) )
3029adantl 464 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  -> 
i  e.  ( 0..^ ( N  +  1 ) ) )
31 oveq2 6278 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
0..^ ( # `  W
) )  =  ( 0..^ ( N  + 
1 ) ) )
3231adantl 464 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( W  e. Word  V  /\  ( # `  W )  =  ( N  + 
1 ) )  -> 
( 0..^ ( # `  W ) )  =  ( 0..^ ( N  +  1 ) ) )
3332eleq2d 2524 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( W  e. Word  V  /\  ( # `  W )  =  ( N  + 
1 ) )  -> 
( i  e.  ( 0..^ ( # `  W
) )  <->  i  e.  ( 0..^ ( N  + 
1 ) ) ) )
3433adantr 463 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( i  e.  ( 0..^ ( # `  W
) )  <->  i  e.  ( 0..^ ( N  + 
1 ) ) ) )
3534adantr 463 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  -> 
( i  e.  ( 0..^ ( # `  W
) )  <->  i  e.  ( 0..^ ( N  + 
1 ) ) ) )
3630, 35mpbird 232 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  -> 
i  e.  ( 0..^ ( # `  W
) ) )
37 ccatval1 12587 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  i  e.  ( 0..^ ( # `  W ) ) )  ->  ( ( W ++ 
<" Z "> ) `  i )  =  ( W `  i ) )
3810, 11, 36, 37syl3anc 1226 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  -> 
( ( W ++  <" Z "> ) `  i )  =  ( W `  i ) )
3938eqcomd 2462 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  -> 
( W `  i
)  =  ( ( W ++  <" Z "> ) `  i ) )
40 fzonn0p1p1 11875 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( i  e.  ( 0..^ N )  ->  ( i  +  1 )  e.  ( 0..^ ( N  +  1 ) ) )
4140adantl 464 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  -> 
( i  +  1 )  e.  ( 0..^ ( N  +  1 ) ) )
4231eleq2d 2524 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
( i  +  1 )  e.  ( 0..^ ( # `  W
) )  <->  ( i  +  1 )  e.  ( 0..^ ( N  +  1 ) ) ) )
4342ad3antlr 728 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  -> 
( ( i  +  1 )  e.  ( 0..^ ( # `  W
) )  <->  ( i  +  1 )  e.  ( 0..^ ( N  +  1 ) ) ) )
4441, 43mpbird 232 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  -> 
( i  +  1 )  e.  ( 0..^ ( # `  W
) ) )
45 ccatval1 12587 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  ( i  +  1 )  e.  ( 0..^ ( # `  W ) ) )  ->  ( ( W ++ 
<" Z "> ) `  ( i  +  1 ) )  =  ( W `  ( i  +  1 ) ) )
4610, 11, 44, 45syl3anc 1226 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  -> 
( ( W ++  <" Z "> ) `  ( i  +  1 ) )  =  ( W `  ( i  +  1 ) ) )
4746eqcomd 2462 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  -> 
( W `  (
i  +  1 ) )  =  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) )
4839, 47preq12d 4103 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  ->  { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  =  { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) } )
4948eleq1d 2523 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  -> 
( { ( W `
 i ) ,  ( W `  (
i  +  1 ) ) }  e.  ran  E  <->  { ( ( W ++ 
<" Z "> ) `  i ) ,  ( ( W ++ 
<" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E
) )
5049ralbidva 2890 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E  <->  A. i  e.  ( 0..^ N ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E
) )
5150biimpd 207 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E  ->  A. i  e.  ( 0..^ N ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E ) )
5251ex 432 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( W  e. Word  V  /\  ( # `  W )  =  ( N  + 
1 ) )  -> 
( ( Z  e.  V  /\  N  e. 
NN0 )  ->  ( A. i  e.  (
0..^ N ) { ( W `  i
) ,  ( W `
 ( i  +  1 ) ) }  e.  ran  E  ->  A. i  e.  (
0..^ N ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E ) ) )
5352com23 78 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  ( # `  W )  =  ( N  + 
1 ) )  -> 
( A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E  ->  ( ( Z  e.  V  /\  N  e. 
NN0 )  ->  A. i  e.  ( 0..^ N ) { ( ( W ++ 
<" Z "> ) `  i ) ,  ( ( W ++ 
<" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E
) ) )
54533impia 1191 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  ( # `  W )  =  ( N  + 
1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  ->  (
( Z  e.  V  /\  N  e.  NN0 )  ->  A. i  e.  ( 0..^ N ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E ) )
5554com12 31 . . . . . . . . . . . . . . . . 17  |-  ( ( Z  e.  V  /\  N  e.  NN0 )  -> 
( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  ->  A. i  e.  ( 0..^ N ) { ( ( W ++ 
<" Z "> ) `  i ) ,  ( ( W ++ 
<" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E
) )
5655adantr 463 . . . . . . . . . . . . . . . 16  |-  ( ( ( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E )  -> 
( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  ->  A. i  e.  ( 0..^ N ) { ( ( W ++ 
<" Z "> ) `  i ) ,  ( ( W ++ 
<" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E
) )
5756impcom 428 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  A. i  e.  ( 0..^ N ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E )
58 oveq1 6277 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
( # `  W )  -  1 )  =  ( ( N  + 
1 )  -  1 ) )
5958ad2antlr 724 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( ( # `  W
)  -  1 )  =  ( ( N  +  1 )  - 
1 ) )
60 nn0cn 10801 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN0  ->  N  e.  CC )
6160ad2antll 726 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  N  e.  CC )
62 pncan1 9979 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( N  e.  CC  ->  (
( N  +  1 )  -  1 )  =  N )
6361, 62syl 16 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( ( N  + 
1 )  -  1 )  =  N )
6459, 63eqtr2d 2496 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  N  =  ( ( # `
 W )  - 
1 ) )
6564fveq2d 5852 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( ( W ++  <" Z "> ) `  N )  =  ( ( W ++  <" Z "> ) `  (
( # `  W )  -  1 ) ) )
664adantl 464 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  <" Z ">  e. Word  V )
67 nn0p1gt0 10821 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN0  ->  0  < 
( N  +  1 ) )
6867ad2antll 726 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
0  <  ( N  +  1 ) )
69 breq2 4443 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
0  <  ( # `  W
)  <->  0  <  ( N  +  1 ) ) )
7069ad2antlr 724 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( 0  <  ( # `
 W )  <->  0  <  ( N  +  1 ) ) )
7168, 70mpbird 232 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
0  <  ( # `  W
) )
72 hashneq0 12420 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( W  e. Word  V  ->  (
0  <  ( # `  W
)  <->  W  =/=  (/) ) )
739, 72syl 16 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( 0  <  ( # `
 W )  <->  W  =/=  (/) ) )
7471, 73mpbid 210 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  W  =/=  (/) )
75 ccatval1lsw 12594 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  W  =/=  (/) )  ->  ( ( W ++  <" Z "> ) `  ( (
# `  W )  -  1 ) )  =  ( lastS  `  W
) )
769, 66, 74, 75syl3anc 1226 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( ( W ++  <" Z "> ) `  ( ( # `  W
)  -  1 ) )  =  ( lastS  `  W
) )
7765, 76eqtr2d 2496 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( lastS  `  W )  =  ( ( W ++  <" Z "> ) `  N ) )
78 fveq2 5848 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( N  +  1 )  =  ( # `  W
)  ->  ( ( W ++  <" Z "> ) `  ( N  +  1 ) )  =  ( ( W ++ 
<" Z "> ) `  ( # `  W
) ) )
7978eqcoms 2466 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
( W ++  <" Z "> ) `  ( N  +  1 ) )  =  ( ( W ++  <" Z "> ) `  ( # `  W ) ) )
8079ad2antlr 724 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( ( W ++  <" Z "> ) `  ( N  +  1 ) )  =  ( ( W ++  <" Z "> ) `  ( # `
 W ) ) )
81 ccatws1ls 12629 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( ( W ++  <" Z "> ) `  ( # `  W
) )  =  Z )
8281ad2ant2r 744 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( ( W ++  <" Z "> ) `  ( # `  W
) )  =  Z )
8380, 82eqtr2d 2496 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  Z  =  ( ( W ++  <" Z "> ) `  ( N  +  1 ) ) )
8477, 83preq12d 4103 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  { ( lastS  `  W ) ,  Z }  =  { ( ( W ++ 
<" Z "> ) `  N ) ,  ( ( W ++ 
<" Z "> ) `  ( N  +  1 ) ) } )
85843adantl3 1152 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( Z  e.  V  /\  N  e.  NN0 ) )  ->  { ( lastS  `  W
) ,  Z }  =  { ( ( W ++ 
<" Z "> ) `  N ) ,  ( ( W ++ 
<" Z "> ) `  ( N  +  1 ) ) } )
8685eleq1d 2523 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( Z  e.  V  /\  N  e.  NN0 ) )  ->  ( { ( lastS  `  W ) ,  Z }  e.  ran  E  <->  { (
( W ++  <" Z "> ) `  N
) ,  ( ( W ++  <" Z "> ) `  ( N  +  1 ) ) }  e.  ran  E
) )
8786biimpd 207 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  ( Z  e.  V  /\  N  e.  NN0 ) )  ->  ( { ( lastS  `  W ) ,  Z }  e.  ran  E  ->  { ( ( W ++ 
<" Z "> ) `  N ) ,  ( ( W ++ 
<" Z "> ) `  ( N  +  1 ) ) }  e.  ran  E
) )
8887impr 617 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  { ( ( W ++  <" Z "> ) `  N ) ,  ( ( W ++ 
<" Z "> ) `  ( N  +  1 ) ) }  e.  ran  E
)
89 simprlr 762 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  N  e.  NN0 )
90 fveq2 5848 . . . . . . . . . . . . . . . . . . . 20  |-  ( i  =  N  ->  (
( W ++  <" Z "> ) `  i
)  =  ( ( W ++  <" Z "> ) `  N ) )
91 oveq1 6277 . . . . . . . . . . . . . . . . . . . . 21  |-  ( i  =  N  ->  (
i  +  1 )  =  ( N  + 
1 ) )
9291fveq2d 5852 . . . . . . . . . . . . . . . . . . . 20  |-  ( i  =  N  ->  (
( W ++  <" Z "> ) `  (
i  +  1 ) )  =  ( ( W ++  <" Z "> ) `  ( N  +  1 ) ) )
9390, 92preq12d 4103 . . . . . . . . . . . . . . . . . . 19  |-  ( i  =  N  ->  { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  =  { ( ( W ++  <" Z "> ) `  N
) ,  ( ( W ++  <" Z "> ) `  ( N  +  1 ) ) } )
9493eleq1d 2523 . . . . . . . . . . . . . . . . . 18  |-  ( i  =  N  ->  ( { ( ( W ++ 
<" Z "> ) `  i ) ,  ( ( W ++ 
<" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  <->  { ( ( W ++  <" Z "> ) `  N ) ,  ( ( W ++  <" Z "> ) `  ( N  +  1 ) ) }  e.  ran  E ) )
9594ralsng 4051 . . . . . . . . . . . . . . . . 17  |-  ( N  e.  NN0  ->  ( A. i  e.  { N }  { ( ( W ++ 
<" Z "> ) `  i ) ,  ( ( W ++ 
<" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  <->  { ( ( W ++  <" Z "> ) `  N ) ,  ( ( W ++  <" Z "> ) `  ( N  +  1 ) ) }  e.  ran  E ) )
9689, 95syl 16 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  ( A. i  e.  { N }  {
( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E  <->  { ( ( W ++ 
<" Z "> ) `  N ) ,  ( ( W ++ 
<" Z "> ) `  ( N  +  1 ) ) }  e.  ran  E
) )
9788, 96mpbird 232 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  A. i  e.  { N }  { (
( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E
)
98 ralunb 3671 . . . . . . . . . . . . . . 15  |-  ( A. i  e.  ( (
0..^ N )  u. 
{ N } ) { ( ( W ++ 
<" Z "> ) `  i ) ,  ( ( W ++ 
<" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  <->  ( A. i  e.  ( 0..^ N ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E  /\  A. i  e. 
{ N }  {
( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E ) )
9957, 97, 98sylanbrc 662 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  A. i  e.  ( ( 0..^ N )  u.  { N }
) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++ 
<" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E
)
100 elnn0uz 11119 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN0  <->  N  e.  ( ZZ>=
`  0 ) )
101100biimpi 194 . . . . . . . . . . . . . . . . . 18  |-  ( N  e.  NN0  ->  N  e.  ( ZZ>= `  0 )
)
102101ad2antlr 724 . . . . . . . . . . . . . . . . 17  |-  ( ( ( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E )  ->  N  e.  ( ZZ>= ` 
0 ) )
103102adantl 464 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  N  e.  (
ZZ>= `  0 ) )
104 fzosplitsn 11899 . . . . . . . . . . . . . . . 16  |-  ( N  e.  ( ZZ>= `  0
)  ->  ( 0..^ ( N  +  1 ) )  =  ( ( 0..^ N )  u.  { N }
) )
105103, 104syl 16 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  ( 0..^ ( N  +  1 ) )  =  ( ( 0..^ N )  u. 
{ N } ) )
106105raleqdv 3057 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  ( A. i  e.  ( 0..^ ( N  +  1 ) ) { ( ( W ++ 
<" Z "> ) `  i ) ,  ( ( W ++ 
<" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  <->  A. i  e.  ( ( 0..^ N )  u. 
{ N } ) { ( ( W ++ 
<" Z "> ) `  i ) ,  ( ( W ++ 
<" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E
) )
10799, 106mpbird 232 . . . . . . . . . . . . 13  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  A. i  e.  ( 0..^ ( N  + 
1 ) ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E )
108 simp1 994 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  ( # `  W )  =  ( N  + 
1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  ->  W  e. Word  V )
109 simpll 751 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E )  ->  Z  e.  V )
110 ccatws1len 12618 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( # `  ( W ++  <" Z "> ) )  =  ( ( # `  W
)  +  1 ) )
111108, 109, 110syl2an 475 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  ( # `  ( W ++  <" Z "> ) )  =  ( ( # `  W
)  +  1 ) )
112111oveq1d 6285 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  ( ( # `  ( W ++  <" Z "> ) )  - 
1 )  =  ( ( ( # `  W
)  +  1 )  -  1 ) )
113 oveq1 6277 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
( # `  W )  +  1 )  =  ( ( N  + 
1 )  +  1 ) )
114113oveq1d 6285 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
( ( # `  W
)  +  1 )  -  1 )  =  ( ( ( N  +  1 )  +  1 )  -  1 ) )
115 ax-1cn 9539 . . . . . . . . . . . . . . . . . . . . . . 23  |-  1  e.  CC
116 addcl 9563 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( N  e.  CC  /\  1  e.  CC )  ->  ( N  +  1 )  e.  CC )
117 simpr 459 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( N  e.  CC  /\  1  e.  CC )  ->  1  e.  CC )
118116, 117pncand 9923 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( N  e.  CC  /\  1  e.  CC )  ->  ( ( ( N  +  1 )  +  1 )  -  1 )  =  ( N  +  1 ) )
11960, 115, 118sylancl 660 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  NN0  ->  ( ( ( N  +  1 )  +  1 )  -  1 )  =  ( N  +  1 ) )
120114, 119sylan9eqr 2517 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( N  e.  NN0  /\  ( # `  W )  =  ( N  + 
1 ) )  -> 
( ( ( # `  W )  +  1 )  -  1 )  =  ( N  + 
1 ) )
121120ex 432 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN0  ->  ( (
# `  W )  =  ( N  + 
1 )  ->  (
( ( # `  W
)  +  1 )  -  1 )  =  ( N  +  1 ) ) )
122121ad2antlr 724 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E )  -> 
( ( # `  W
)  =  ( N  +  1 )  -> 
( ( ( # `  W )  +  1 )  -  1 )  =  ( N  + 
1 ) ) )
123122com12 31 . . . . . . . . . . . . . . . . . 18  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
( ( Z  e.  V  /\  N  e. 
NN0 )  /\  {
( lastS  `  W ) ,  Z }  e.  ran  E )  ->  ( (
( # `  W )  +  1 )  - 
1 )  =  ( N  +  1 ) ) )
1241233ad2ant2 1016 . . . . . . . . . . . . . . . . 17  |-  ( ( W  e. Word  V  /\  ( # `  W )  =  ( N  + 
1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  ->  (
( ( Z  e.  V  /\  N  e. 
NN0 )  /\  {
( lastS  `  W ) ,  Z }  e.  ran  E )  ->  ( (
( # `  W )  +  1 )  - 
1 )  =  ( N  +  1 ) ) )
125124imp 427 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  ( ( (
# `  W )  +  1 )  - 
1 )  =  ( N  +  1 ) )
126112, 125eqtrd 2495 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  ( ( # `  ( W ++  <" Z "> ) )  - 
1 )  =  ( N  +  1 ) )
127126oveq2d 6286 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  ( 0..^ ( ( # `  ( W ++  <" Z "> ) )  -  1 ) )  =  ( 0..^ ( N  + 
1 ) ) )
128127raleqdv 3057 . . . . . . . . . . . . 13  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  ( A. i  e.  ( 0..^ ( (
# `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  <->  A. i  e.  ( 0..^ ( N  +  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E
) )
129107, 128mpbird 232 . . . . . . . . . . . 12  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  /\  (
( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )  ->  A. i  e.  ( 0..^ ( ( # `  ( W ++  <" Z "> ) )  - 
1 ) ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E )
130129exp32 603 . . . . . . . . . . 11  |-  ( ( W  e. Word  V  /\  ( # `  W )  =  ( N  + 
1 )  /\  A. i  e.  ( 0..^ N ) { ( W `  i ) ,  ( W `  ( i  +  1 ) ) }  e.  ran  E )  ->  (
( Z  e.  V  /\  N  e.  NN0 )  ->  ( { ( lastS  `  W ) ,  Z }  e.  ran  E  ->  A. i  e.  (
0..^ ( ( # `  ( W ++  <" Z "> ) )  - 
1 ) ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E ) ) )
1318, 130syl 16 . . . . . . . . . 10  |-  ( W  e.  ( ( V WWalksN  E ) `  N
)  ->  ( ( Z  e.  V  /\  N  e.  NN0 )  -> 
( { ( lastS  `  W
) ,  Z }  e.  ran  E  ->  A. i  e.  ( 0..^ ( (
# `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E
) ) )
132131adantl 464 . . . . . . . . 9  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E ) `  N
) )  ->  (
( Z  e.  V  /\  N  e.  NN0 )  ->  ( { ( lastS  `  W ) ,  Z }  e.  ran  E  ->  A. i  e.  (
0..^ ( ( # `  ( W ++  <" Z "> ) )  - 
1 ) ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E ) ) )
133132imp 427 . . . . . . . 8  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E ) `  N
) )  /\  ( Z  e.  V  /\  N  e.  NN0 ) )  ->  ( { ( lastS  `  W ) ,  Z }  e.  ran  E  ->  A. i  e.  (
0..^ ( ( # `  ( W ++  <" Z "> ) )  - 
1 ) ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E ) )
134133adantrd 466 . . . . . . 7  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E ) `  N
) )  /\  ( Z  e.  V  /\  N  e.  NN0 ) )  ->  ( ( { ( lastS  `  W ) ,  Z }  e.  ran  E  /\  { Z , 
( W `  0
) }  e.  ran  E )  ->  A. i  e.  ( 0..^ ( (
# `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E
) )
135134imp 427 . . . . . 6  |-  ( ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E
) `  N )
)  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  ( { ( lastS  `  W
) ,  Z }  e.  ran  E  /\  { Z ,  ( W `  0 ) }  e.  ran  E ) )  ->  A. i  e.  ( 0..^ ( (
# `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E
)
136 wwlknimpb 24909 . . . . . . . . . . . . 13  |-  ( W  e.  ( ( V WWalksN  E ) `  N
)  ->  ( W  e. Word  V  /\  ( # `  W )  =  ( N  +  1 ) ) )
137 simpll 751 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  ->  W  e. Word  V
)
138 simpl 455 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( Z  e.  V  /\  N  e.  NN0 )  ->  Z  e.  V )
139 lswccats1 12630 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( lastS  `  ( W ++  <" Z "> ) )  =  Z )
140137, 138, 139syl2an 475 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( lastS  `  ( W ++  <" Z "> )
)  =  Z )
141140eqcomd 2462 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  Z  =  ( lastS  `  ( W ++  <" Z "> ) ) )
142137adantr 463 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  W  e. Word  V )
1434adantl 464 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  <" Z ">  e. Word  V )
14467adantl 464 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  ->  0  <  ( N  +  1 ) )
14569ad2antlr 724 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  ->  ( 0  < 
( # `  W )  <->  0  <  ( N  +  1 ) ) )
146144, 145mpbird 232 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  ->  0  <  ( # `
 W ) )
147146adantr 463 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
0  <  ( # `  W
) )
148 ccatfv0 12593 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  0  < 
( # `  W ) )  ->  ( ( W ++  <" Z "> ) `  0 )  =  ( W ` 
0 ) )
149148eqcomd 2462 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  0  < 
( # `  W ) )  ->  ( W `  0 )  =  ( ( W ++  <" Z "> ) `  0 ) )
150142, 143, 147, 149syl3anc 1226 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( W `  0
)  =  ( ( W ++  <" Z "> ) `  0 ) )
151141, 150preq12d 4103 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  { Z ,  ( W `
 0 ) }  =  { ( lastS  `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) } )
152151exp31 602 . . . . . . . . . . . . . . . 16  |-  ( ( W  e. Word  V  /\  ( # `  W )  =  ( N  + 
1 ) )  -> 
( N  e.  NN0  ->  ( ( Z  e.  V  /\  N  e. 
NN0 )  ->  { Z ,  ( W ` 
0 ) }  =  { ( lastS  `  ( W ++ 
<" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) } ) ) )
153152com12 31 . . . . . . . . . . . . . . 15  |-  ( N  e.  NN0  ->  ( ( W  e. Word  V  /\  ( # `  W )  =  ( N  + 
1 ) )  -> 
( ( Z  e.  V  /\  N  e. 
NN0 )  ->  { Z ,  ( W ` 
0 ) }  =  { ( lastS  `  ( W ++ 
<" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) } ) ) )
154153adantr 463 . . . . . . . . . . . . . 14  |-  ( ( N  e.  NN0  /\  W  e. Word  V )  ->  ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  ->  ( ( Z  e.  V  /\  N  e.  NN0 )  ->  { Z ,  ( W ` 
0 ) }  =  { ( lastS  `  ( W ++ 
<" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) } ) ) )
155154adantl 464 . . . . . . . . . . . . 13  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  ->  ( ( W  e. Word  V  /\  ( # `
 W )  =  ( N  +  1 ) )  ->  (
( Z  e.  V  /\  N  e.  NN0 )  ->  { Z , 
( W `  0
) }  =  {
( lastS  `  ( W ++  <" Z "> )
) ,  ( ( W ++  <" Z "> ) `  0 ) } ) ) )
156136, 155syl5com 30 . . . . . . . . . . . 12  |-  ( W  e.  ( ( V WWalksN  E ) `  N
)  ->  ( (
( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  ->  ( ( Z  e.  V  /\  N  e.  NN0 )  ->  { Z ,  ( W `
 0 ) }  =  { ( lastS  `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) } ) ) )
157156impcom 428 . . . . . . . . . . 11  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E ) `  N
) )  ->  (
( Z  e.  V  /\  N  e.  NN0 )  ->  { Z , 
( W `  0
) }  =  {
( lastS  `  ( W ++  <" Z "> )
) ,  ( ( W ++  <" Z "> ) `  0 ) } ) )
158157imp 427 . . . . . . . . . 10  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E ) `  N
) )  /\  ( Z  e.  V  /\  N  e.  NN0 ) )  ->  { Z , 
( W `  0
) }  =  {
( lastS  `  ( W ++  <" Z "> )
) ,  ( ( W ++  <" Z "> ) `  0 ) } )
159158eleq1d 2523 . . . . . . . . 9  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E ) `  N
) )  /\  ( Z  e.  V  /\  N  e.  NN0 ) )  ->  ( { Z ,  ( W ` 
0 ) }  e.  ran  E  <->  { ( lastS  `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  ran  E ) )
160159biimpcd 224 . . . . . . . 8  |-  ( { Z ,  ( W `
 0 ) }  e.  ran  E  -> 
( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E
) `  N )
)  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  { ( lastS  `  ( W ++ 
<" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  ran  E ) )
161160adantl 464 . . . . . . 7  |-  ( ( { ( lastS  `  W
) ,  Z }  e.  ran  E  /\  { Z ,  ( W `  0 ) }  e.  ran  E )  ->  ( ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E ) `  N
) )  /\  ( Z  e.  V  /\  N  e.  NN0 ) )  ->  { ( lastS  `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  ran  E ) )
162161impcom 428 . . . . . 6  |-  ( ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E
) `  N )
)  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  ( { ( lastS  `  W
) ,  Z }  e.  ran  E  /\  { Z ,  ( W `  0 ) }  e.  ran  E ) )  ->  { ( lastS  `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0 ) }  e.  ran  E )
1637, 135, 1623jca 1174 . . . . 5  |-  ( ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E
) `  N )
)  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  ( { ( lastS  `  W
) ,  Z }  e.  ran  E  /\  { Z ,  ( W `  0 ) }  e.  ran  E ) )  ->  ( ( W ++  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  ran  E ) )
164110ad2ant2r 744 . . . . . . . . . . 11  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( # `  ( W ++ 
<" Z "> ) )  =  ( ( # `  W
)  +  1 ) )
165113adantl 464 . . . . . . . . . . . 12  |-  ( ( W  e. Word  V  /\  ( # `  W )  =  ( N  + 
1 ) )  -> 
( ( # `  W
)  +  1 )  =  ( ( N  +  1 )  +  1 ) )
166115a1i 11 . . . . . . . . . . . . . . 15  |-  ( N  e.  NN0  ->  1  e.  CC )
16760, 166, 166addassd 9607 . . . . . . . . . . . . . 14  |-  ( N  e.  NN0  ->  ( ( N  +  1 )  +  1 )  =  ( N  +  ( 1  +  1 ) ) )
168 1p1e2 10645 . . . . . . . . . . . . . . 15  |-  ( 1  +  1 )  =  2
169168oveq2i 6281 . . . . . . . . . . . . . 14  |-  ( N  +  ( 1  +  1 ) )  =  ( N  +  2 )
170167, 169syl6eq 2511 . . . . . . . . . . . . 13  |-  ( N  e.  NN0  ->  ( ( N  +  1 )  +  1 )  =  ( N  +  2 ) )
171170adantl 464 . . . . . . . . . . . 12  |-  ( ( Z  e.  V  /\  N  e.  NN0 )  -> 
( ( N  + 
1 )  +  1 )  =  ( N  +  2 ) )
172165, 171sylan9eq 2515 . . . . . . . . . . 11  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( ( # `  W
)  +  1 )  =  ( N  + 
2 ) )
173164, 172eqtrd 2495 . . . . . . . . . 10  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( # `  ( W ++ 
<" Z "> ) )  =  ( N  +  2 ) )
174173ex 432 . . . . . . . . 9  |-  ( ( W  e. Word  V  /\  ( # `  W )  =  ( N  + 
1 ) )  -> 
( ( Z  e.  V  /\  N  e. 
NN0 )  ->  ( # `
 ( W ++  <" Z "> )
)  =  ( N  +  2 ) ) )
175136, 174syl 16 . . . . . . . 8  |-  ( W  e.  ( ( V WWalksN  E ) `  N
)  ->  ( ( Z  e.  V  /\  N  e.  NN0 )  -> 
( # `  ( W ++ 
<" Z "> ) )  =  ( N  +  2 ) ) )
176175adantl 464 . . . . . . 7  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E ) `  N
) )  ->  (
( Z  e.  V  /\  N  e.  NN0 )  ->  ( # `  ( W ++  <" Z "> ) )  =  ( N  +  2 ) ) )
177176imp 427 . . . . . 6  |-  ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E ) `  N
) )  /\  ( Z  e.  V  /\  N  e.  NN0 ) )  ->  ( # `  ( W ++  <" Z "> ) )  =  ( N  +  2 ) )
178177adantr 463 . . . . 5  |-  ( ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E
) `  N )
)  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  ( { ( lastS  `  W
) ,  Z }  e.  ran  E  /\  { Z ,  ( W `  0 ) }  e.  ran  E ) )  ->  ( # `  ( W ++  <" Z "> ) )  =  ( N  +  2 ) )
179 id 22 . . . . . . . . . . . 12  |-  ( N  e.  NN0  ->  N  e. 
NN0 )
180 2nn0 10808 . . . . . . . . . . . . 13  |-  2  e.  NN0
181180a1i 11 . . . . . . . . . . . 12  |-  ( N  e.  NN0  ->  2  e. 
NN0 )
182179, 181nn0addcld 10852 . . . . . . . . . . 11  |-  ( N  e.  NN0  ->  ( N  +  2 )  e. 
NN0 )
183182adantr 463 . . . . . . . . . 10  |-  ( ( N  e.  NN0  /\  W  e. Word  V )  ->  ( N  +  2 )  e.  NN0 )
184183anim2i 567 . . . . . . . . 9  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  ->  ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  +  2 )  e.  NN0 ) )
185 df-3an 973 . . . . . . . . 9  |-  ( ( V  e.  _V  /\  E  e.  _V  /\  ( N  +  2 )  e.  NN0 )  <->  ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  +  2 )  e.  NN0 ) )
186184, 185sylibr 212 . . . . . . . 8  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  ->  ( V  e.  _V  /\  E  e. 
_V  /\  ( N  +  2 )  e. 
NN0 ) )
187 isclwwlkn 24974 . . . . . . . 8  |-  ( ( V  e.  _V  /\  E  e.  _V  /\  ( N  +  2 )  e.  NN0 )  -> 
( ( W ++  <" Z "> )  e.  ( ( V ClWWalksN  E ) `
 ( N  + 
2 ) )  <->  ( ( W ++  <" Z "> )  e.  ( V ClWWalks  E )  /\  ( # `
 ( W ++  <" Z "> )
)  =  ( N  +  2 ) ) ) )
188186, 187syl 16 . . . . . . 7  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  ->  ( ( W ++  <" Z "> )  e.  (
( V ClWWalksN  E ) `  ( N  +  2
) )  <->  ( ( W ++  <" Z "> )  e.  ( V ClWWalks  E )  /\  ( # `
 ( W ++  <" Z "> )
)  =  ( N  +  2 ) ) ) )
189 isclwwlk 24973 . . . . . . . . 9  |-  ( ( V  e.  _V  /\  E  e.  _V )  ->  ( ( W ++  <" Z "> )  e.  ( V ClWWalks  E )  <->  ( ( W ++  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W ++  <" Z "> ) )  - 
1 ) ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  ran  E ) ) )
190189adantr 463 . . . . . . . 8  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  ->  ( ( W ++  <" Z "> )  e.  ( V ClWWalks  E )  <->  ( ( W ++  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  ran  E ) ) )
191190anbi1d 702 . . . . . . 7  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  ->  ( (
( W ++  <" Z "> )  e.  ( V ClWWalks  E )  /\  ( # `
 ( W ++  <" Z "> )
)  =  ( N  +  2 ) )  <-> 
( ( ( W ++ 
<" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  ran  E )  /\  ( # `  ( W ++  <" Z "> ) )  =  ( N  +  2 ) ) ) )
192188, 191bitrd 253 . . . . . 6  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  ->  ( ( W ++  <" Z "> )  e.  (
( V ClWWalksN  E ) `  ( N  +  2
) )  <->  ( (
( W ++  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W ++  <" Z "> ) )  - 
1 ) ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  ran  E )  /\  ( # `  ( W ++  <" Z "> ) )  =  ( N  +  2 ) ) ) )
193192ad3antrrr 727 . . . . 5  |-  ( ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E
) `  N )
)  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  ( { ( lastS  `  W
) ,  Z }  e.  ran  E  /\  { Z ,  ( W `  0 ) }  e.  ran  E ) )  ->  ( ( W ++  <" Z "> )  e.  (
( V ClWWalksN  E ) `  ( N  +  2
) )  <->  ( (
( W ++  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W ++  <" Z "> ) )  - 
1 ) ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  ran  E )  /\  ( # `  ( W ++  <" Z "> ) )  =  ( N  +  2 ) ) ) )
194163, 178, 193mpbir2and 920 . . . 4  |-  ( ( ( ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E
) `  N )
)  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  ( { ( lastS  `  W
) ,  Z }  e.  ran  E  /\  { Z ,  ( W `  0 ) }  e.  ran  E ) )  ->  ( W ++  <" Z "> )  e.  ( ( V ClWWalksN  E ) `  ( N  +  2 ) ) )
195194exp31 602 . . 3  |-  ( ( ( ( V  e. 
_V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) )  /\  W  e.  ( ( V WWalksN  E ) `  N
) )  ->  (
( Z  e.  V  /\  N  e.  NN0 )  ->  ( ( { ( lastS  `  W ) ,  Z }  e.  ran  E  /\  { Z , 
( W `  0
) }  e.  ran  E )  ->  ( W ++  <" Z "> )  e.  ( ( V ClWWalksN  E ) `  ( N  +  2 ) ) ) ) )
1961, 195mpancom 667 . 2  |-  ( W  e.  ( ( V WWalksN  E ) `  N
)  ->  ( ( Z  e.  V  /\  N  e.  NN0 )  -> 
( ( { ( lastS  `  W ) ,  Z }  e.  ran  E  /\  { Z ,  ( W `
 0 ) }  e.  ran  E )  ->  ( W ++  <" Z "> )  e.  ( ( V ClWWalksN  E ) `
 ( N  + 
2 ) ) ) ) )
1971963impib 1192 1  |-  ( ( W  e.  ( ( V WWalksN  E ) `  N
)  /\  Z  e.  V  /\  N  e.  NN0 )  ->  ( ( { ( lastS  `  W ) ,  Z }  e.  ran  E  /\  { Z , 
( W `  0
) }  e.  ran  E )  ->  ( W ++  <" Z "> )  e.  ( ( V ClWWalksN  E ) `  ( N  +  2 ) ) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 367    /\ w3a 971    = wceq 1398    e. wcel 1823    =/= wne 2649   A.wral 2804   _Vcvv 3106    u. cun 3459   (/)c0 3783   {csn 4016   {cpr 4018   class class class wbr 4439   ran crn 4989   ` cfv 5570  (class class class)co 6270   CCcc 9479   RRcr 9480   0cc0 9481   1c1 9482    + caddc 9484    < clt 9617    - cmin 9796   NNcn 10531   2c2 10581   NN0cn0 10791   ZZ>=cuz 11082  ..^cfzo 11799   #chash 12390  Word cword 12521   lastS clsw 12522   ++ cconcat 12523   <"cs1 12524   WWalksN cwwlkn 24883   ClWWalks cclwwlk 24953   ClWWalksN cclwwlkn 24954
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1623  ax-4 1636  ax-5 1709  ax-6 1752  ax-7 1795  ax-8 1825  ax-9 1827  ax-10 1842  ax-11 1847  ax-12 1859  ax-13 2004  ax-ext 2432  ax-rep 4550  ax-sep 4560  ax-nul 4568  ax-pow 4615  ax-pr 4676  ax-un 6565  ax-cnex 9537  ax-resscn 9538  ax-1cn 9539  ax-icn 9540  ax-addcl 9541  ax-addrcl 9542  ax-mulcl 9543  ax-mulrcl 9544  ax-mulcom 9545  ax-addass 9546  ax-mulass 9547  ax-distr 9548  ax-i2m1 9549  ax-1ne0 9550  ax-1rid 9551  ax-rnegex 9552  ax-rrecex 9553  ax-cnre 9554  ax-pre-lttri 9555  ax-pre-lttrn 9556  ax-pre-ltadd 9557  ax-pre-mulgt0 9558
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-3or 972  df-3an 973  df-tru 1401  df-ex 1618  df-nf 1622  df-sb 1745  df-eu 2288  df-mo 2289  df-clab 2440  df-cleq 2446  df-clel 2449  df-nfc 2604  df-ne 2651  df-nel 2652  df-ral 2809  df-rex 2810  df-reu 2811  df-rmo 2812  df-rab 2813  df-v 3108  df-sbc 3325  df-csb 3421  df-dif 3464  df-un 3466  df-in 3468  df-ss 3475  df-pss 3477  df-nul 3784  df-if 3930  df-pw 4001  df-sn 4017  df-pr 4019  df-tp 4021  df-op 4023  df-uni 4236  df-int 4272  df-iun 4317  df-br 4440  df-opab 4498  df-mpt 4499  df-tr 4533  df-eprel 4780  df-id 4784  df-po 4789  df-so 4790  df-fr 4827  df-we 4829  df-ord 4870  df-on 4871  df-lim 4872  df-suc 4873  df-xp 4994  df-rel 4995  df-cnv 4996  df-co 4997  df-dm 4998  df-rn 4999  df-res 5000  df-ima 5001  df-iota 5534  df-fun 5572  df-fn 5573  df-f 5574  df-f1 5575  df-fo 5576  df-f1o 5577  df-fv 5578  df-riota 6232  df-ov 6273  df-oprab 6274  df-mpt2 6275  df-om 6674  df-1st 6773  df-2nd 6774  df-recs 7034  df-rdg 7068  df-1o 7122  df-oadd 7126  df-er 7303  df-map 7414  df-pm 7415  df-en 7510  df-dom 7511  df-sdom 7512  df-fin 7513  df-card 8311  df-cda 8539  df-pnf 9619  df-mnf 9620  df-xr 9621  df-ltxr 9622  df-le 9623  df-sub 9798  df-neg 9799  df-nn 10532  df-2 10590  df-n0 10792  df-z 10861  df-uz 11083  df-rp 11222  df-fz 11676  df-fzo 11800  df-hash 12391  df-word 12529  df-lsw 12530  df-concat 12531  df-s1 12532  df-wwlk 24884  df-wwlkn 24885  df-clwwlk 24956  df-clwwlkn 24957
This theorem is referenced by:  numclwwlk2lem1  25307
  Copyright terms: Public domain W3C validator