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

Theorem wwlkext2clwwlk 25579
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 25462 . . 3  |-  ( W  e.  ( ( V WWalksN  E ) `  N
)  ->  ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  W  e. Word  V ) ) )
2 simplrr 776 . . . . . . . 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 12776 . . . . . . . . 9  |-  ( Z  e.  V  ->  <" Z ">  e. Word  V )
43adantr 471 . . . . . . . 8  |-  ( ( Z  e.  V  /\  N  e.  NN0 )  ->  <" Z ">  e. Word  V )
5 ccatcl 12755 . . . . . . . 8  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V )  ->  ( W ++  <" Z "> )  e. Word  V )
62, 4, 5syl2an 484 . . . . . . 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 471 . . . . . 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 25463 . . . . . . . . . . 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 765 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  W  e. Word  V )
109adantr 471 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  ->  W  e. Word  V )
114ad2antlr 738 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  ->  <" Z ">  e. Word  V )
12 elfzo0 11986 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( i  e.  ( 0..^ N )  <->  ( i  e. 
NN0  /\  N  e.  NN  /\  i  <  N
) )
13 simp1 1014 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  i  e.  NN0 )
14 peano2nn 10648 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  NN )
15143ad2ant2 1036 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  ( N  +  1 )  e.  NN )
16 nn0re 10906 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( i  e.  NN0  ->  i  e.  RR )
17163ad2ant1 1035 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  i  e.  RR )
18 nnre 10643 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( N  e.  NN  ->  N  e.  RR )
19183ad2ant2 1036 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  N  e.  RR )
20 peano2re 9831 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( N  e.  RR  ->  ( N  +  1 )  e.  RR )
2118, 20syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  RR )
22213ad2ant2 1036 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  ( N  +  1 )  e.  RR )
23 simp3 1016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  i  <  N )
2418ltp1d 10564 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( N  e.  NN  ->  N  <  ( N  +  1 ) )
25243ad2ant2 1036 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  N  <  ( N  +  1 ) )
2617, 19, 22, 23, 25lttrd 9821 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  i  <  ( N  +  1 ) )
27 elfzo0 11986 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( i  e.  ( 0..^ ( N  +  1 ) )  <->  ( i  e. 
NN0  /\  ( N  +  1 )  e.  NN  /\  i  < 
( N  +  1 ) ) )
2813, 15, 26, 27syl3anbrc 1198 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( i  e.  NN0  /\  N  e.  NN  /\  i  <  N )  ->  i  e.  ( 0..^ ( N  +  1 ) ) )
2912, 28sylbi 200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( i  e.  ( 0..^ N )  ->  i  e.  ( 0..^ ( N  + 
1 ) ) )
3029adantl 472 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 6322 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
0..^ ( # `  W
) )  =  ( 0..^ ( N  + 
1 ) ) )
3231adantl 472 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 471 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( i  e.  ( 0..^ ( # `  W
) )  <->  i  e.  ( 0..^ ( N  + 
1 ) ) ) )
3534adantr 471 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 240 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  -> 
i  e.  ( 0..^ ( # `  W
) ) )
37 ccatval1 12757 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  i  e.  ( 0..^ ( # `  W ) ) )  ->  ( ( W ++ 
<" Z "> ) `  i )  =  ( W `  i ) )
3810, 11, 36, 37syl3anc 1276 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  /\  i  e.  ( 0..^ N ) )  -> 
( ( W ++  <" Z "> ) `  i )  =  ( W `  i ) )
3938eqcomd 2467 . . . . . . . . . . . . . . . . . . . . . . . . 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 12022 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( i  e.  ( 0..^ N )  ->  ( i  +  1 )  e.  ( 0..^ ( N  +  1 ) ) )
4140adantl 472 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 742 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 240 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 12757 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1276 . . . . . . . . . . . . . . . . . . . . . . . . . 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 2467 . . . . . . . . . . . . . . . . . . . . . . . . 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 4071 . . . . . . . . . . . . . . . . . . . . . . . 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 2835 . . . . . . . . . . . . . . . . . . . . . 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 212 . . . . . . . . . . . . . . . . . . . . 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 440 . . . . . . . . . . . . . . . . . . . 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 81 . . . . . . . . . . . . . . . . . . 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 1212 . . . . . . . . . . . . . . . . . 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 32 . . . . . . . . . . . . . . . . 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 471 . . . . . . . . . . . . . . . 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 436 . . . . . . . . . . . . . . 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 6321 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
( # `  W )  -  1 )  =  ( ( N  + 
1 )  -  1 ) )
5958ad2antlr 738 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( ( # `  W
)  -  1 )  =  ( ( N  +  1 )  - 
1 ) )
60 nn0cn 10907 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN0  ->  N  e.  CC )
6160ad2antll 740 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  N  e.  CC )
62 pncan1 10070 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( N  e.  CC  ->  (
( N  +  1 )  -  1 )  =  N )
6361, 62syl 17 . . . . . . . . . . . . . . . . . . . . . . . 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 5891 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( ( W ++  <" Z "> ) `  N )  =  ( ( W ++  <" Z "> ) `  (
( # `  W )  -  1 ) ) )
664adantl 472 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  <" Z ">  e. Word  V )
67 nn0p1gt0 10927 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  NN0  ->  0  < 
( N  +  1 ) )
6867ad2antll 740 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
0  <  ( N  +  1 ) )
69 breq2 4419 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
0  <  ( # `  W
)  <->  0  <  ( N  +  1 ) ) )
7069ad2antlr 738 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( 0  <  ( # `
 W )  <->  0  <  ( N  +  1 ) ) )
7168, 70mpbird 240 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
0  <  ( # `  W
) )
72 hashneq0 12576 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( W  e. Word  V  ->  (
0  <  ( # `  W
)  <->  W  =/=  (/) ) )
739, 72syl 17 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( 0  <  ( # `
 W )  <->  W  =/=  (/) ) )
7471, 73mpbid 215 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  W  =/=  (/) )
75 ccatval1lsw 12764 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  W  =/=  (/) )  ->  ( ( W ++  <" Z "> ) `  ( (
# `  W )  -  1 ) )  =  ( lastS  `  W
) )
769, 66, 74, 75syl3anc 1276 . . . . . . . . . . . . . . . . . . . . . 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 5887 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( N  +  1 )  =  ( # `  W
)  ->  ( ( W ++  <" Z "> ) `  ( N  +  1 ) )  =  ( ( W ++ 
<" Z "> ) `  ( # `  W
) ) )
7978eqcoms 2469 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
( W ++  <" Z "> ) `  ( N  +  1 ) )  =  ( ( W ++  <" Z "> ) `  ( # `  W ) ) )
8079ad2antlr 738 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( ( W ++  <" Z "> ) `  ( N  +  1 ) )  =  ( ( W ++  <" Z "> ) `  ( # `
 W ) ) )
81 ccatws1ls 12802 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( ( W ++  <" Z "> ) `  ( # `  W
) )  =  Z )
8281ad2ant2r 758 . . . . . . . . . . . . . . . . . . . . . 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 4071 . . . . . . . . . . . . . . . . . . . 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 1172 . . . . . . . . . . . . . . . . . . 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 212 . . . . . . . . . . . . . . . . 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 629 . . . . . . . . . . . . . . . 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 778 . . . . . . . . . . . . . . . . 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 5887 . . . . . . . . . . . . . . . . . . . 20  |-  ( i  =  N  ->  (
( W ++  <" Z "> ) `  i
)  =  ( ( W ++  <" Z "> ) `  N ) )
91 oveq1 6321 . . . . . . . . . . . . . . . . . . . . 21  |-  ( i  =  N  ->  (
i  +  1 )  =  ( N  + 
1 ) )
9291fveq2d 5891 . . . . . . . . . . . . . . . . . . . 20  |-  ( i  =  N  ->  (
( W ++  <" Z "> ) `  (
i  +  1 ) )  =  ( ( W ++  <" Z "> ) `  ( N  +  1 ) ) )
9390, 92preq12d 4071 . . . . . . . . . . . . . . . . . . 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 4017 . . . . . . . . . . . . . . . . 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 17 . . . . . . . . . . . . . . . 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 240 . . . . . . . . . . . . . . 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 3626 . . . . . . . . . . . . . . 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 675 . . . . . . . . . . . . . 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 11224 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  NN0  <->  N  e.  ( ZZ>=
`  0 ) )
101100biimpi 199 . . . . . . . . . . . . . . . . . 18  |-  ( N  e.  NN0  ->  N  e.  ( ZZ>= `  0 )
)
102101ad2antlr 738 . . . . . . . . . . . . . . . . 17  |-  ( ( ( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E )  ->  N  e.  ( ZZ>= ` 
0 ) )
103102adantl 472 . . . . . . . . . . . . . . . 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 12047 . . . . . . . . . . . . . . . 16  |-  ( N  e.  ( ZZ>= `  0
)  ->  ( 0..^ ( N  +  1 ) )  =  ( ( 0..^ N )  u.  { N }
) )
105103, 104syl 17 . . . . . . . . . . . . . . 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 3004 . . . . . . . . . . . . . 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 240 . . . . . . . . . . . . 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 1014 . . . . . . . . . . . . . . . . . 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 765 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E )  ->  Z  e.  V )
110 ccatws1len 12791 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( # `  ( W ++  <" Z "> ) )  =  ( ( # `  W
)  +  1 ) )
111108, 109, 110syl2an 484 . . . . . . . . . . . . . . . . 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 6329 . . . . . . . . . . . . . . . 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 6321 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
( # `  W )  +  1 )  =  ( ( N  + 
1 )  +  1 ) )
114113oveq1d 6329 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
( ( # `  W
)  +  1 )  -  1 )  =  ( ( ( N  +  1 )  +  1 )  -  1 ) )
115 ax-1cn 9622 . . . . . . . . . . . . . . . . . . . . . . 23  |-  1  e.  CC
116 addcl 9646 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( N  e.  CC  /\  1  e.  CC )  ->  ( N  +  1 )  e.  CC )
117 simpr 467 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( N  e.  CC  /\  1  e.  CC )  ->  1  e.  CC )
118116, 117pncand 10012 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( N  e.  CC  /\  1  e.  CC )  ->  ( ( ( N  +  1 )  +  1 )  -  1 )  =  ( N  +  1 ) )
11960, 115, 118sylancl 673 . . . . . . . . . . . . . . . . . . . . . 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 440 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN0  ->  ( (
# `  W )  =  ( N  + 
1 )  ->  (
( ( # `  W
)  +  1 )  -  1 )  =  ( N  +  1 ) ) )
122121ad2antlr 738 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( Z  e.  V  /\  N  e.  NN0 )  /\  { ( lastS  `  W
) ,  Z }  e.  ran  E )  -> 
( ( # `  W
)  =  ( N  +  1 )  -> 
( ( ( # `  W )  +  1 )  -  1 )  =  ( N  + 
1 ) ) )
123122com12 32 . . . . . . . . . . . . . . . . . 18  |-  ( (
# `  W )  =  ( N  + 
1 )  ->  (
( ( Z  e.  V  /\  N  e. 
NN0 )  /\  {
( lastS  `  W ) ,  Z }  e.  ran  E )  ->  ( (
( # `  W )  +  1 )  - 
1 )  =  ( N  +  1 ) ) )
1241233ad2ant2 1036 . . . . . . . . . . . . . . . . 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 435 . . . . . . . . . . . . . . . 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 6330 . . . . . . . . . . . . . 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 3004 . . . . . . . . . . . . 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 240 . . . . . . . . . . . 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 614 . . . . . . . . . . 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 17 . . . . . . . . . 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 472 . . . . . . . . 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 435 . . . . . . . 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 474 . . . . . . 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 435 . . . . . 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 25480 . . . . . . . . . . . . 13  |-  ( W  e.  ( ( V WWalksN  E ) `  N
)  ->  ( W  e. Word  V  /\  ( # `  W )  =  ( N  +  1 ) ) )
137 simpll 765 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  ->  W  e. Word  V
)
138 simpl 463 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( Z  e.  V  /\  N  e.  NN0 )  ->  Z  e.  V )
139 lswccats1 12803 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( lastS  `  ( W ++  <" Z "> ) )  =  Z )
140137, 138, 139syl2an 484 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( lastS  `  ( W ++  <" Z "> )
)  =  Z )
141140eqcomd 2467 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  Z  =  ( lastS  `  ( W ++  <" Z "> ) ) )
142137adantr 471 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  W  e. Word  V )
1434adantl 472 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  ->  <" Z ">  e. Word  V )
14467adantl 472 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  ->  0  <  ( N  +  1 ) )
14569ad2antlr 738 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  ->  ( 0  < 
( # `  W )  <->  0  <  ( N  +  1 ) ) )
146144, 145mpbird 240 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  ->  0  <  ( # `
 W ) )
147146adantr 471 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
0  <  ( # `  W
) )
148 ccatfv0 12763 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  0  < 
( # `  W ) )  ->  ( ( W ++  <" Z "> ) `  0 )  =  ( W ` 
0 ) )
149148eqcomd 2467 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  0  < 
( # `  W ) )  ->  ( W `  0 )  =  ( ( W ++  <" Z "> ) `  0 ) )
150142, 143, 147, 149syl3anc 1276 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  N  e.  NN0 )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( W `  0
)  =  ( ( W ++  <" Z "> ) `  0 ) )
151141, 150preq12d 4071 . . . . . . . . . . . . . . . . 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 613 . . . . . . . . . . . . . . . 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 32 . . . . . . . . . . . . . . 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 471 . . . . . . . . . . . . . 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 472 . . . . . . . . . . . . 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 31 . . . . . . . . . . . 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 436 . . . . . . . . . . 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 435 . . . . . . . . . 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 232 . . . . . . . 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 472 . . . . . . 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 436 . . . . . 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 1194 . . . . 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 758 . . . . . . . . . . 11  |-  ( ( ( W  e. Word  V  /\  ( # `  W
)  =  ( N  +  1 ) )  /\  ( Z  e.  V  /\  N  e. 
NN0 ) )  -> 
( # `  ( W ++ 
<" Z "> ) )  =  ( ( # `  W
)  +  1 ) )
165113adantl 472 . . . . . . . . . . . 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 9690 . . . . . . . . . . . . . 14  |-  ( N  e.  NN0  ->  ( ( N  +  1 )  +  1 )  =  ( N  +  ( 1  +  1 ) ) )
168 1p1e2 10750 . . . . . . . . . . . . . . 15  |-  ( 1  +  1 )  =  2
169168oveq2i 6325 . . . . . . . . . . . . . 14  |-  ( N  +  ( 1  +  1 ) )  =  ( N  +  2 )
170167, 169syl6eq 2511 . . . . . . . . . . . . 13  |-  ( N  e.  NN0  ->  ( ( N  +  1 )  +  1 )  =  ( N  +  2 ) )
171170adantl 472 . . . . . . . . . . . 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 440 . . . . . . . . 9  |-  ( ( W  e. Word  V  /\  ( # `  W )  =  ( N  + 
1 ) )  -> 
( ( Z  e.  V  /\  N  e. 
NN0 )  ->  ( # `
 ( W ++  <" Z "> )
)  =  ( N  +  2 ) ) )
175136, 174syl 17 . . . . . . . 8  |-  ( W  e.  ( ( V WWalksN  E ) `  N
)  ->  ( ( Z  e.  V  /\  N  e.  NN0 )  -> 
( # `  ( W ++ 
<" Z "> ) )  =  ( N  +  2 ) ) )
176175adantl 472 . . . . . . 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 435 . . . . . 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 471 . . . . 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 10914 . . . . . . . . . . . . 13  |-  2  e.  NN0
181180a1i 11 . . . . . . . . . . . 12  |-  ( N  e.  NN0  ->  2  e. 
NN0 )
182179, 181nn0addcld 10957 . . . . . . . . . . 11  |-  ( N  e.  NN0  ->  ( N  +  2 )  e. 
NN0 )
183182adantr 471 . . . . . . . . . 10  |-  ( ( N  e.  NN0  /\  W  e. Word  V )  ->  ( N  +  2 )  e.  NN0 )
184183anim2i 577 . . . . . . . . 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 993 . . . . . . . . 9  |-  ( ( V  e.  _V  /\  E  e.  _V  /\  ( N  +  2 )  e.  NN0 )  <->  ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  +  2 )  e.  NN0 ) )
186184, 185sylibr 217 . . . . . . . 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 25545 . . . . . . . 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 17 . . . . . . 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 25544 . . . . . . . . 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 471 . . . . . . . 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 716 . . . . . . 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 261 . . . . . 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 741 . . . . 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 938 . . . 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 613 . . 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 680 . 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 1213 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 189    /\ wa 375    /\ w3a 991    = wceq 1454    e. wcel 1897    =/= wne 2632   A.wral 2748   _Vcvv 3056    u. cun 3413   (/)c0 3742   {csn 3979   {cpr 3981   class class class wbr 4415   ran crn 4853   ` cfv 5600  (class class class)co 6314   CCcc 9562   RRcr 9563   0cc0 9564   1c1 9565    + caddc 9567    < clt 9700    - cmin 9885   NNcn 10636   2c2 10686   NN0cn0 10897   ZZ>=cuz 11187  ..^cfzo 11945   #chash 12546  Word cword 12688   lastS clsw 12689   ++ cconcat 12690   <"cs1 12691   WWalksN cwwlkn 25454   ClWWalks cclwwlk 25524   ClWWalksN cclwwlkn 25525
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1679  ax-4 1692  ax-5 1768  ax-6 1815  ax-7 1861  ax-8 1899  ax-9 1906  ax-10 1925  ax-11 1930  ax-12 1943  ax-13 2101  ax-ext 2441  ax-rep 4528  ax-sep 4538  ax-nul 4547  ax-pow 4594  ax-pr 4652  ax-un 6609  ax-cnex 9620  ax-resscn 9621  ax-1cn 9622  ax-icn 9623  ax-addcl 9624  ax-addrcl 9625  ax-mulcl 9626  ax-mulrcl 9627  ax-mulcom 9628  ax-addass 9629  ax-mulass 9630  ax-distr 9631  ax-i2m1 9632  ax-1ne0 9633  ax-1rid 9634  ax-rnegex 9635  ax-rrecex 9636  ax-cnre 9637  ax-pre-lttri 9638  ax-pre-lttrn 9639  ax-pre-ltadd 9640  ax-pre-mulgt0 9641
This theorem depends on definitions:  df-bi 190  df-or 376  df-an 377  df-3or 992  df-3an 993  df-tru 1457  df-ex 1674  df-nf 1678  df-sb 1808  df-eu 2313  df-mo 2314  df-clab 2448  df-cleq 2454  df-clel 2457  df-nfc 2591  df-ne 2634  df-nel 2635  df-ral 2753  df-rex 2754  df-reu 2755  df-rmo 2756  df-rab 2757  df-v 3058  df-sbc 3279  df-csb 3375  df-dif 3418  df-un 3420  df-in 3422  df-ss 3429  df-pss 3431  df-nul 3743  df-if 3893  df-pw 3964  df-sn 3980  df-pr 3982  df-tp 3984  df-op 3986  df-uni 4212  df-int 4248  df-iun 4293  df-br 4416  df-opab 4475  df-mpt 4476  df-tr 4511  df-eprel 4763  df-id 4767  df-po 4773  df-so 4774  df-fr 4811  df-we 4813  df-xp 4858  df-rel 4859  df-cnv 4860  df-co 4861  df-dm 4862  df-rn 4863  df-res 4864  df-ima 4865  df-pred 5398  df-ord 5444  df-on 5445  df-lim 5446  df-suc 5447  df-iota 5564  df-fun 5602  df-fn 5603  df-f 5604  df-f1 5605  df-fo 5606  df-f1o 5607  df-fv 5608  df-riota 6276  df-ov 6317  df-oprab 6318  df-mpt2 6319  df-om 6719  df-1st 6819  df-2nd 6820  df-wrecs 7053  df-recs 7115  df-rdg 7153  df-1o 7207  df-oadd 7211  df-er 7388  df-map 7499  df-pm 7500  df-en 7595  df-dom 7596  df-sdom 7597  df-fin 7598  df-card 8398  df-cda 8623  df-pnf 9702  df-mnf 9703  df-xr 9704  df-ltxr 9705  df-le 9706  df-sub 9887  df-neg 9888  df-nn 10637  df-2 10695  df-n0 10898  df-z 10966  df-uz 11188  df-rp 11331  df-fz 11813  df-fzo 11946  df-hash 12547  df-word 12696  df-lsw 12697  df-concat 12698  df-s1 12699  df-wwlk 25455  df-wwlkn 25456  df-clwwlk 25527  df-clwwlkn 25528
This theorem is referenced by:  numclwwlk2lem1  25878
  Copyright terms: Public domain W3C validator