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

Theorem clwwlkext2edg 30632
Description: If a word concatenated with a vertex represents a closed walk in (in a graph), there is an edge between this vertex and the last vertex of the word, and between this vertex and the first vertex of the word. (Contributed by Alexander van der Vekens, 3-Oct-2018.)
Assertion
Ref Expression
clwwlkext2edg  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( W concat  <" Z "> )  e.  ( ( V ClWWalksN  E ) `  N ) )  -> 
( { ( lastS  `  W
) ,  Z }  e.  ran  E  /\  { Z ,  ( W `  0 ) }  e.  ran  E ) )

Proof of Theorem clwwlkext2edg
Dummy variable  i is distinct from all other variables.
StepHypRef Expression
1 clwwlknprop 30603 . . 3  |-  ( ( W concat  <" Z "> )  e.  (
( V ClWWalksN  E ) `  N )  ->  (
( V  e.  _V  /\  E  e.  _V )  /\  ( W concat  <" Z "> )  e. Word  V  /\  ( N  e.  NN0  /\  ( # `  ( W concat  <" Z "> ) )  =  N ) ) )
2 simpl 457 . . . . . . . 8  |-  ( ( V  e.  _V  /\  E  e.  _V )  ->  V  e.  _V )
32adantr 465 . . . . . . 7  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  ( # `  ( W concat  <" Z "> ) )  =  N ) )  ->  V  e.  _V )
4 simpr 461 . . . . . . . 8  |-  ( ( V  e.  _V  /\  E  e.  _V )  ->  E  e.  _V )
54adantr 465 . . . . . . 7  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  ( # `  ( W concat  <" Z "> ) )  =  N ) )  ->  E  e.  _V )
6 simpl 457 . . . . . . . 8  |-  ( ( N  e.  NN0  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  N  e.  NN0 )
76adantl 466 . . . . . . 7  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  ( # `  ( W concat  <" Z "> ) )  =  N ) )  ->  N  e.  NN0 )
8 isclwwlkn 30600 . . . . . . 7  |-  ( ( V  e.  _V  /\  E  e.  _V  /\  N  e.  NN0 )  ->  (
( W concat  <" Z "> )  e.  ( ( V ClWWalksN  E ) `  N )  <->  ( ( W concat  <" Z "> )  e.  ( V ClWWalks  E )  /\  ( # `
 ( W concat  <" Z "> ) )  =  N ) ) )
93, 5, 7, 8syl3anc 1219 . . . . . 6  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  ( # `  ( W concat  <" Z "> ) )  =  N ) )  ->  (
( W concat  <" Z "> )  e.  ( ( V ClWWalksN  E ) `  N )  <->  ( ( W concat  <" Z "> )  e.  ( V ClWWalks  E )  /\  ( # `
 ( W concat  <" Z "> ) )  =  N ) ) )
10 isclwwlk 30599 . . . . . . . 8  |-  ( ( V  e.  _V  /\  E  e.  _V )  ->  ( ( W concat  <" Z "> )  e.  ( V ClWWalks  E )  <->  ( ( W concat  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  -  1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  e.  ran  E ) ) )
1110adantr 465 . . . . . . 7  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  ( # `  ( W concat  <" Z "> ) )  =  N ) )  ->  (
( W concat  <" Z "> )  e.  ( V ClWWalks  E )  <->  ( ( W concat  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  -  1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  e.  ran  E ) ) )
1211anbi1d 704 . . . . . 6  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  ( # `  ( W concat  <" Z "> ) )  =  N ) )  ->  (
( ( W concat  <" Z "> )  e.  ( V ClWWalks  E )  /\  ( # `
 ( W concat  <" Z "> ) )  =  N )  <->  ( (
( W concat  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  - 
1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  e.  ran  E )  /\  ( # `  ( W concat  <" Z "> ) )  =  N ) ) )
139, 12bitrd 253 . . . . 5  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  ( # `  ( W concat  <" Z "> ) )  =  N ) )  ->  (
( W concat  <" Z "> )  e.  ( ( V ClWWalksN  E ) `  N )  <->  ( (
( W concat  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  - 
1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  e.  ran  E )  /\  ( # `  ( W concat  <" Z "> ) )  =  N ) ) )
14 ige2m2fzo 30388 . . . . . . . . . . . . . . . . 17  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  2 )  e.  ( 0..^ ( N  -  1 ) ) )
15143ad2ant3 1011 . . . . . . . . . . . . . . . 16  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( N  -  2 )  e.  ( 0..^ ( N  -  1 ) ) )
1615adantr 465 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( N  -  2 )  e.  ( 0..^ ( N  -  1 ) ) )
17 oveq1 6210 . . . . . . . . . . . . . . . . . 18  |-  ( (
# `  ( W concat  <" Z "> ) )  =  N  ->  ( ( # `  ( W concat  <" Z "> ) )  - 
1 )  =  ( N  -  1 ) )
1817oveq2d 6219 . . . . . . . . . . . . . . . . 17  |-  ( (
# `  ( W concat  <" Z "> ) )  =  N  ->  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  -  1 ) )  =  ( 0..^ ( N  - 
1 ) ) )
1918eleq2d 2524 . . . . . . . . . . . . . . . 16  |-  ( (
# `  ( W concat  <" Z "> ) )  =  N  ->  ( ( N  -  2 )  e.  ( 0..^ ( (
# `  ( W concat  <" Z "> ) )  -  1 ) )  <->  ( N  -  2 )  e.  ( 0..^ ( N  -  1 ) ) ) )
2019adantl 466 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( ( N  -  2 )  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  -  1 ) )  <->  ( N  -  2 )  e.  ( 0..^ ( N  -  1 ) ) ) )
2116, 20mpbird 232 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( N  -  2 )  e.  ( 0..^ ( (
# `  ( W concat  <" Z "> ) )  -  1 ) ) )
22 fveq2 5802 . . . . . . . . . . . . . . . . 17  |-  ( i  =  ( N  - 
2 )  ->  (
( W concat  <" Z "> ) `  i
)  =  ( ( W concat  <" Z "> ) `  ( N  -  2 ) ) )
23 oveq1 6210 . . . . . . . . . . . . . . . . . 18  |-  ( i  =  ( N  - 
2 )  ->  (
i  +  1 )  =  ( ( N  -  2 )  +  1 ) )
2423fveq2d 5806 . . . . . . . . . . . . . . . . 17  |-  ( i  =  ( N  - 
2 )  ->  (
( W concat  <" Z "> ) `  (
i  +  1 ) )  =  ( ( W concat  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) )
2522, 24preq12d 4073 . . . . . . . . . . . . . . . 16  |-  ( i  =  ( N  - 
2 )  ->  { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  =  { ( ( W concat  <" Z "> ) `  ( N  -  2 ) ) ,  ( ( W concat  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) } )
2625eleq1d 2523 . . . . . . . . . . . . . . 15  |-  ( i  =  ( N  - 
2 )  ->  ( { ( ( W concat  <" Z "> ) `  i ) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  <->  { ( ( W concat  <" Z "> ) `  ( N  -  2 ) ) ,  ( ( W concat  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) }  e.  ran  E
) )
2726rspcv 3175 . . . . . . . . . . . . . 14  |-  ( ( N  -  2 )  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  -  1 ) )  ->  ( A. i  e.  (
0..^ ( ( # `  ( W concat  <" Z "> ) )  - 
1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  ->  { ( ( W concat  <" Z "> ) `  ( N  -  2 ) ) ,  ( ( W concat  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) }  e.  ran  E
) )
2821, 27syl 16 . . . . . . . . . . . . 13  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( A. i  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  -  1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  ->  { ( ( W concat  <" Z "> ) `  ( N  -  2 ) ) ,  ( ( W concat  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) }  e.  ran  E
) )
29 ccatws1lenrev 12430 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( ( # `  ( W concat  <" Z "> ) )  =  N  ->  ( # `  W
)  =  ( N  -  1 ) ) )
30293adant3 1008 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  ( W concat  <" Z "> ) )  =  N  ->  ( # `  W
)  =  ( N  -  1 ) ) )
31 eluzelcn 10986 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ( ZZ>= `  2
)  ->  N  e.  CC )
32 ax-1cn 9454 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  1  e.  CC
3332a1i 11 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ( ZZ>= `  2
)  ->  1  e.  CC )
3431, 33, 33subsub4d 9864 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( ( N  -  1 )  -  1 )  =  ( N  -  (
1  +  1 ) ) )
35 1p1e2 10549 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( 1  +  1 )  =  2
3635a1i 11 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( 1  +  1 )  =  2 )
3736oveq2d 6219 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  ( 1  +  1 ) )  =  ( N  -  2 ) )
3834, 37eqtr2d 2496 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  2 )  =  ( ( N  - 
1 )  -  1 ) )
39383ad2ant3 1011 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( N  -  2 )  =  ( ( N  -  1 )  -  1 ) )
40 oveq1 6210 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
# `  W )  =  ( N  - 
1 )  ->  (
( # `  W )  -  1 )  =  ( ( N  - 
1 )  -  1 ) )
4140eqcomd 2462 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
# `  W )  =  ( N  - 
1 )  ->  (
( N  -  1 )  -  1 )  =  ( ( # `  W )  -  1 ) )
4239, 41sylan9eq 2515 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( N  - 
2 )  =  ( ( # `  W
)  -  1 ) )
4342ex 434 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  W
)  =  ( N  -  1 )  -> 
( N  -  2 )  =  ( (
# `  W )  -  1 ) ) )
4430, 43syld 44 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  ( W concat  <" Z "> ) )  =  N  ->  ( N  - 
2 )  =  ( ( # `  W
)  -  1 ) ) )
4544imp 429 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( N  -  2 )  =  ( ( # `  W
)  -  1 ) )
4645fveq2d 5806 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( ( W concat  <" Z "> ) `  ( N  -  2 ) )  =  ( ( W concat  <" Z "> ) `  ( ( # `
 W )  - 
1 ) ) )
47 simpl1 991 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  W  e. Word  V
)
48 s1cl 12414 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( Z  e.  V  ->  <" Z ">  e. Word  V )
49483ad2ant2 1010 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  ->  <" Z ">  e. Word  V )
5049adantr 465 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  <" Z ">  e. Word  V )
51 eluz2 10981 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( N  e.  ( ZZ>= `  2
)  <->  ( 2  e.  ZZ  /\  N  e.  ZZ  /\  2  <_  N ) )
52 zre 10764 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( N  e.  ZZ  ->  N  e.  RR )
53 1re 9499 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36  |-  1  e.  RR
5453a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  e.  RR )
55 2re 10505 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36  |-  2  e.  RR
5655a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
2  e.  RR )
57 simpl 457 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( ( N  e.  RR  /\  2  <_  N )  ->  N  e.  RR )
58 1lt2 10602 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36  |-  1  <  2
5958a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  <  2 )
60 simpr 461 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
2  <_  N )
6154, 56, 57, 59, 60ltletrd 9645 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  <  N )
6253a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36  |-  ( N  e.  RR  ->  1  e.  RR )
63 id 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36  |-  ( N  e.  RR  ->  N  e.  RR )
6462, 63posdifd 10040 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( N  e.  RR  ->  (
1  <  N  <->  0  <  ( N  -  1 ) ) )
6564adantr 465 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
( 1  <  N  <->  0  <  ( N  - 
1 ) ) )
6661, 65mpbid 210 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
0  <  ( N  -  1 ) )
6766ex 434 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( N  e.  RR  ->  (
2  <_  N  ->  0  <  ( N  - 
1 ) ) )
6852, 67syl 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( N  e.  ZZ  ->  (
2  <_  N  ->  0  <  ( N  - 
1 ) ) )
6968a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( 2  e.  ZZ  ->  ( N  e.  ZZ  ->  ( 2  <_  N  ->  0  <  ( N  - 
1 ) ) ) )
70693imp 1182 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( 2  e.  ZZ  /\  N  e.  ZZ  /\  2  <_  N )  ->  0  <  ( N  -  1 ) )
7151, 70sylbi 195 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( N  e.  ( ZZ>= `  2
)  ->  0  <  ( N  -  1 ) )
7271adantl 466 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( W  e. Word  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
0  <  ( N  -  1 ) )
7372adantr 465 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  0  <  ( N  -  1 ) )
74 breq2 4407 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( (
# `  W )  =  ( N  - 
1 )  ->  (
0  <  ( # `  W
)  <->  0  <  ( N  -  1 ) ) )
7574adantl 466 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( 0  < 
( # `  W )  <->  0  <  ( N  -  1 ) ) )
7673, 75mpbird 232 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  0  <  ( # `
 W ) )
77 hashneq0 12252 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( W  e. Word  V  ->  (
0  <  ( # `  W
)  <->  W  =/=  (/) ) )
7877adantr 465 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( W  e. Word  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( 0  <  ( # `
 W )  <->  W  =/=  (/) ) )
7978adantr 465 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( 0  < 
( # `  W )  <-> 
W  =/=  (/) ) )
8076, 79mpbid 210 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  W  =/=  (/) )
8180ex 434 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( W  e. Word  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  W
)  =  ( N  -  1 )  ->  W  =/=  (/) ) )
82813adant2 1007 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  W
)  =  ( N  -  1 )  ->  W  =/=  (/) ) )
8382imp 429 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  W  =/=  (/) )
8447, 50, 833jca 1168 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  W  =/=  (/) ) )
8584ex 434 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  W
)  =  ( N  -  1 )  -> 
( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  W  =/=  (/) ) ) )
8630, 85syld 44 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  ( W concat  <" Z "> ) )  =  N  ->  ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  W  =/=  (/) ) ) )
8786imp 429 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  W  =/=  (/) ) )
88 ccatval1lsw 12404 . . . . . . . . . . . . . . . . 17  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  W  =/=  (/) )  ->  ( ( W concat  <" Z "> ) `  ( (
# `  W )  -  1 ) )  =  ( lastS  `  W
) )
8987, 88syl 16 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( ( W concat  <" Z "> ) `  ( (
# `  W )  -  1 ) )  =  ( lastS  `  W
) )
9046, 89eqtrd 2495 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( ( W concat  <" Z "> ) `  ( N  -  2 ) )  =  ( lastS  `  W
) )
91 2m1e1 10550 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( 2  -  1 )  =  1
9291a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( 2  -  1 )  =  1 )
9392eqcomd 2462 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( N  e.  ( ZZ>= `  2
)  ->  1  =  ( 2  -  1 ) )
9493oveq2d 6219 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  1 )  =  ( N  -  (
2  -  1 ) ) )
95 2cnd 10508 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( N  e.  ( ZZ>= `  2
)  ->  2  e.  CC )
9631, 95, 33subsubd 9861 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  ( 2  -  1 ) )  =  ( ( N  - 
2 )  +  1 ) )
9794, 96eqtr2d 2496 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( ( N  -  2 )  +  1 )  =  ( N  -  1 ) )
98973ad2ant3 1011 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( N  - 
2 )  +  1 )  =  ( N  -  1 ) )
9998adantr 465 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( ( N  -  2 )  +  1 )  =  ( N  -  1 ) )
100 eqeq2 2469 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
# `  W )  =  ( N  - 
1 )  ->  (
( ( N  - 
2 )  +  1 )  =  ( # `  W )  <->  ( ( N  -  2 )  +  1 )  =  ( N  -  1 ) ) )
101100adantl 466 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( ( ( N  -  2 )  +  1 )  =  ( # `  W
)  <->  ( ( N  -  2 )  +  1 )  =  ( N  -  1 ) ) )
10299, 101mpbird 232 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( ( N  -  2 )  +  1 )  =  (
# `  W )
)
103102ex 434 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  W
)  =  ( N  -  1 )  -> 
( ( N  - 
2 )  +  1 )  =  ( # `  W ) ) )
10430, 103syld 44 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  ( W concat  <" Z "> ) )  =  N  ->  ( ( N  -  2 )  +  1 )  =  (
# `  W )
) )
105104imp 429 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( ( N  -  2 )  +  1 )  =  ( # `  W
) )
106105fveq2d 5806 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( ( W concat  <" Z "> ) `  ( ( N  -  2 )  +  1 ) )  =  ( ( W concat  <" Z "> ) `  ( # `  W
) ) )
107 id 22 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( W  e. Word  V  /\  Z  e.  V
) )
1081073adant3 1008 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( W  e. Word  V  /\  Z  e.  V
) )
109108adantr 465 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( W  e. Word  V  /\  Z  e.  V ) )
110 ccatws1ls 12432 . . . . . . . . . . . . . . . . 17  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( ( W concat  <" Z "> ) `  ( # `
 W ) )  =  Z )
111109, 110syl 16 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( ( W concat  <" Z "> ) `  ( # `  W ) )  =  Z )
112106, 111eqtrd 2495 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( ( W concat  <" Z "> ) `  ( ( N  -  2 )  +  1 ) )  =  Z )
11390, 112preq12d 4073 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  { (
( W concat  <" Z "> ) `  ( N  -  2 ) ) ,  ( ( W concat  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) }  =  { ( lastS  `  W ) ,  Z } )
114113eleq1d 2523 . . . . . . . . . . . . 13  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( {
( ( W concat  <" Z "> ) `  ( N  -  2 ) ) ,  ( ( W concat  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) }  e.  ran  E  <->  { ( lastS  `  W ) ,  Z }  e.  ran  E ) )
11528, 114sylibd 214 . . . . . . . . . . . 12  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( A. i  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  -  1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  ->  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )
116115ex 434 . . . . . . . . . . 11  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  ( W concat  <" Z "> ) )  =  N  ->  ( A. i  e.  ( 0..^ ( (
# `  ( W concat  <" Z "> ) )  -  1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  ->  { ( lastS  `  W
) ,  Z }  e.  ran  E ) ) )
117116com13 80 . . . . . . . . . 10  |-  ( A. i  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  -  1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  ->  ( ( # `  ( W concat  <" Z "> ) )  =  N  ->  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= `  2 )
)  ->  { ( lastS  `  W ) ,  Z }  e.  ran  E ) ) )
1181173ad2ant2 1010 . . . . . . . . 9  |-  ( ( ( W concat  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  - 
1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  e.  ran  E )  ->  ( ( # `
 ( W concat  <" Z "> ) )  =  N  ->  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= `  2 )
)  ->  { ( lastS  `  W ) ,  Z }  e.  ran  E ) ) )
119118imp 429 . . . . . . . 8  |-  ( ( ( ( W concat  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  - 
1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  e.  ran  E )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  (
( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  ->  { ( lastS  `  W
) ,  Z }  e.  ran  E ) )
120119imp 429 . . . . . . 7  |-  ( ( ( ( ( W concat  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  -  1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  e.  ran  E )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  /\  ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= `  2 )
) )  ->  { ( lastS  `  W ) ,  Z }  e.  ran  E )
121108adantr 465 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( W  e. Word  V  /\  Z  e.  V
) )
122 lswccats1 12433 . . . . . . . . . . . . . . . 16  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( lastS  `  ( W concat  <" Z "> ) )  =  Z )
123121, 122syl 16 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( lastS  `  ( W concat  <" Z "> ) )  =  Z )
124713ad2ant3 1011 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
0  <  ( N  -  1 ) )
125124adantr 465 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  0  <  ( N  -  1 ) )
12674adantl 466 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( 0  < 
( # `  W )  <->  0  <  ( N  -  1 ) ) )
127125, 126mpbird 232 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  0  <  ( # `
 W ) )
128 ccatfv0 12403 . . . . . . . . . . . . . . . 16  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  0  < 
( # `  W ) )  ->  ( ( W concat  <" Z "> ) `  0 )  =  ( W ` 
0 ) )
12947, 50, 127, 128syl3anc 1219 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( ( W concat  <" Z "> ) `  0 )  =  ( W ` 
0 ) )
130123, 129preq12d 4073 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  =  { Z ,  ( W `  0 ) } )
131130ex 434 . . . . . . . . . . . . 13  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  W
)  =  ( N  -  1 )  ->  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  =  { Z ,  ( W `  0 ) } ) )
13230, 131syld 44 . . . . . . . . . . . 12  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  ( W concat  <" Z "> ) )  =  N  ->  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  =  { Z ,  ( W `  0 ) } ) )
133132impcom 430 . . . . . . . . . . 11  |-  ( ( ( # `  ( W concat  <" Z "> ) )  =  N  /\  ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) ) )  ->  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  =  { Z ,  ( W `  0 ) } )
134133eleq1d 2523 . . . . . . . . . 10  |-  ( ( ( # `  ( W concat  <" Z "> ) )  =  N  /\  ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) ) )  ->  ( {
( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  e.  ran  E  <->  { Z ,  ( W `
 0 ) }  e.  ran  E ) )
135134biimpcd 224 . . . . . . . . 9  |-  ( { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  e.  ran  E  ->  ( ( (
# `  ( W concat  <" Z "> ) )  =  N  /\  ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) ) )  ->  { Z ,  ( W ` 
0 ) }  e.  ran  E ) )
1361353ad2ant3 1011 . . . . . . . 8  |-  ( ( ( W concat  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  - 
1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  e.  ran  E )  ->  ( (
( # `  ( W concat  <" Z "> ) )  =  N  /\  ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) ) )  ->  { Z ,  ( W ` 
0 ) }  e.  ran  E ) )
137136impl 620 . . . . . . 7  |-  ( ( ( ( ( W concat  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  -  1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  e.  ran  E )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  /\  ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= `  2 )
) )  ->  { Z ,  ( W ` 
0 ) }  e.  ran  E )
138120, 137jca 532 . . . . . 6  |-  ( ( ( ( ( W concat  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  -  1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  e.  ran  E )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  /\  ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= `  2 )
) )  ->  ( { ( lastS  `  W ) ,  Z }  e.  ran  E  /\  { Z ,  ( W ` 
0 ) }  e.  ran  E ) )
139138ex 434 . . . . 5  |-  ( ( ( ( W concat  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  - 
1 ) ) { ( ( W concat  <" Z "> ) `  i
) ,  ( ( W concat  <" Z "> ) `  ( i  +  1 ) ) }  e.  ran  E  /\  { ( lastS  `  ( W concat  <" Z "> ) ) ,  ( ( W concat  <" Z "> ) `  0
) }  e.  ran  E )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  (
( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  ->  ( { ( lastS  `  W ) ,  Z }  e.  ran  E  /\  { Z ,  ( W `
 0 ) }  e.  ran  E ) ) )
14013, 139syl6bi 228 . . . 4  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( N  e.  NN0  /\  ( # `  ( W concat  <" Z "> ) )  =  N ) )  ->  (
( W concat  <" Z "> )  e.  ( ( V ClWWalksN  E ) `  N )  ->  (
( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  ->  ( { ( lastS  `  W ) ,  Z }  e.  ran  E  /\  { Z ,  ( W `
 0 ) }  e.  ran  E ) ) ) )
1411403adant2 1007 . . 3  |-  ( ( ( V  e.  _V  /\  E  e.  _V )  /\  ( W concat  <" Z "> )  e. Word  V  /\  ( N  e.  NN0  /\  ( # `  ( W concat  <" Z "> ) )  =  N ) )  ->  (
( W concat  <" Z "> )  e.  ( ( V ClWWalksN  E ) `  N )  ->  (
( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  ->  ( { ( lastS  `  W ) ,  Z }  e.  ran  E  /\  { Z ,  ( W `
 0 ) }  e.  ran  E ) ) ) )
1421, 141mpcom 36 . 2  |-  ( ( W concat  <" Z "> )  e.  (
( V ClWWalksN  E ) `  N )  ->  (
( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  ->  ( { ( lastS  `  W ) ,  Z }  e.  ran  E  /\  { Z ,  ( W `
 0 ) }  e.  ran  E ) ) )
143142impcom 430 1  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( W concat  <" Z "> )  e.  ( ( V ClWWalksN  E ) `  N ) )  -> 
( { ( lastS  `  W
) ,  Z }  e.  ran  E  /\  { Z ,  ( W `  0 ) }  e.  ran  E ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    /\ w3a 965    = wceq 1370    e. wcel 1758    =/= wne 2648   A.wral 2799   _Vcvv 3078   (/)c0 3748   {cpr 3990   class class class wbr 4403   ran crn 4952   ` cfv 5529  (class class class)co 6203   CCcc 9394   RRcr 9395   0cc0 9396   1c1 9397    + caddc 9399    < clt 9532    <_ cle 9533    - cmin 9709   2c2 10485   NN0cn0 10693   ZZcz 10760   ZZ>=cuz 10975  ..^cfzo 11668   #chash 12223  Word cword 12342   lastS clsw 12343   concat cconcat 12344   <"cs1 12345   ClWWalks cclwwlk 30581   ClWWalksN cclwwlkn 30582
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1592  ax-4 1603  ax-5 1671  ax-6 1710  ax-7 1730  ax-8 1760  ax-9 1762  ax-10 1777  ax-11 1782  ax-12 1794  ax-13 1955  ax-ext 2432  ax-rep 4514  ax-sep 4524  ax-nul 4532  ax-pow 4581  ax-pr 4642  ax-un 6485  ax-cnex 9452  ax-resscn 9453  ax-1cn 9454  ax-icn 9455  ax-addcl 9456  ax-addrcl 9457  ax-mulcl 9458  ax-mulrcl 9459  ax-mulcom 9460  ax-addass 9461  ax-mulass 9462  ax-distr 9463  ax-i2m1 9464  ax-1ne0 9465  ax-1rid 9466  ax-rnegex 9467  ax-rrecex 9468  ax-cnre 9469  ax-pre-lttri 9470  ax-pre-lttrn 9471  ax-pre-ltadd 9472  ax-pre-mulgt0 9473
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1373  df-ex 1588  df-nf 1591  df-sb 1703  df-eu 2266  df-mo 2267  df-clab 2440  df-cleq 2446  df-clel 2449  df-nfc 2604  df-ne 2650  df-nel 2651  df-ral 2804  df-rex 2805  df-reu 2806  df-rab 2808  df-v 3080  df-sbc 3295  df-csb 3399  df-dif 3442  df-un 3444  df-in 3446  df-ss 3453  df-pss 3455  df-nul 3749  df-if 3903  df-pw 3973  df-sn 3989  df-pr 3991  df-tp 3993  df-op 3995  df-uni 4203  df-int 4240  df-iun 4284  df-br 4404  df-opab 4462  df-mpt 4463  df-tr 4497  df-eprel 4743  df-id 4747  df-po 4752  df-so 4753  df-fr 4790  df-we 4792  df-ord 4833  df-on 4834  df-lim 4835  df-suc 4836  df-xp 4957  df-rel 4958  df-cnv 4959  df-co 4960  df-dm 4961  df-rn 4962  df-res 4963  df-ima 4964  df-iota 5492  df-fun 5531  df-fn 5532  df-f 5533  df-f1 5534  df-fo 5535  df-f1o 5536  df-fv 5537  df-riota 6164  df-ov 6206  df-oprab 6207  df-mpt2 6208  df-om 6590  df-1st 6690  df-2nd 6691  df-recs 6945  df-rdg 6979  df-1o 7033  df-oadd 7037  df-er 7214  df-map 7329  df-pm 7330  df-en 7424  df-dom 7425  df-sdom 7426  df-fin 7427  df-card 8223  df-pnf 9534  df-mnf 9535  df-xr 9536  df-ltxr 9537  df-le 9538  df-sub 9711  df-neg 9712  df-nn 10437  df-2 10494  df-n0 10694  df-z 10761  df-uz 10976  df-fz 11558  df-fzo 11669  df-hash 12224  df-word 12350  df-lsw 12351  df-concat 12352  df-s1 12353  df-clwwlk 30584  df-clwwlkn 30585
This theorem is referenced by:  numclwwlk2lem1  30863
  Copyright terms: Public domain W3C validator