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

Theorem clwwlkext2edg 24674
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 24644 . . 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 24641 . . . . . . 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 1229 . . . . . 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 24640 . . . . . . . 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 11858 . . . . . . . . . . . . . . . . 17  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  2 )  e.  ( 0..^ ( N  -  1 ) ) )
15143ad2ant3 1020 . . . . . . . . . . . . . . . 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 6288 . . . . . . . . . . . . . . . . . 18  |-  ( (
# `  ( W concat  <" Z "> ) )  =  N  ->  ( ( # `  ( W concat  <" Z "> ) )  - 
1 )  =  ( N  -  1 ) )
1817oveq2d 6297 . . . . . . . . . . . . . . . . 17  |-  ( (
# `  ( W concat  <" Z "> ) )  =  N  ->  ( 0..^ ( ( # `  ( W concat  <" Z "> ) )  -  1 ) )  =  ( 0..^ ( N  - 
1 ) ) )
1918eleq2d 2513 . . . . . . . . . . . . . . . 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 5856 . . . . . . . . . . . . . . . . 17  |-  ( i  =  ( N  - 
2 )  ->  (
( W concat  <" Z "> ) `  i
)  =  ( ( W concat  <" Z "> ) `  ( N  -  2 ) ) )
23 oveq1 6288 . . . . . . . . . . . . . . . . . 18  |-  ( i  =  ( N  - 
2 )  ->  (
i  +  1 )  =  ( ( N  -  2 )  +  1 ) )
2423fveq2d 5860 . . . . . . . . . . . . . . . . 17  |-  ( i  =  ( N  - 
2 )  ->  (
( W concat  <" Z "> ) `  (
i  +  1 ) )  =  ( ( W concat  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) )
2522, 24preq12d 4102 . . . . . . . . . . . . . . . 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 2512 . . . . . . . . . . . . . . 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 3192 . . . . . . . . . . . . . 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 12614 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( ( # `  ( W concat  <" Z "> ) )  =  N  ->  ( # `  W
)  =  ( N  -  1 ) ) )
30293adant3 1017 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  ( W concat  <" Z "> ) )  =  N  ->  ( # `  W
)  =  ( N  -  1 ) ) )
31 eluzelcn 11101 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ( ZZ>= `  2
)  ->  N  e.  CC )
32 1cnd 9615 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ( ZZ>= `  2
)  ->  1  e.  CC )
3331, 32, 32subsub4d 9967 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( ( N  -  1 )  -  1 )  =  ( N  -  (
1  +  1 ) ) )
34 1p1e2 10655 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( 1  +  1 )  =  2
3534a1i 11 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( 1  +  1 )  =  2 )
3635oveq2d 6297 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  ( 1  +  1 ) )  =  ( N  -  2 ) )
3733, 36eqtr2d 2485 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  2 )  =  ( ( N  - 
1 )  -  1 ) )
38373ad2ant3 1020 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( N  -  2 )  =  ( ( N  -  1 )  -  1 ) )
39 oveq1 6288 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
# `  W )  =  ( N  - 
1 )  ->  (
( # `  W )  -  1 )  =  ( ( N  - 
1 )  -  1 ) )
4039eqcomd 2451 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
# `  W )  =  ( N  - 
1 )  ->  (
( N  -  1 )  -  1 )  =  ( ( # `  W )  -  1 ) )
4138, 40sylan9eq 2504 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( N  - 
2 )  =  ( ( # `  W
)  -  1 ) )
4241ex 434 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  W
)  =  ( N  -  1 )  -> 
( N  -  2 )  =  ( (
# `  W )  -  1 ) ) )
4330, 42syld 44 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  ( W concat  <" Z "> ) )  =  N  ->  ( N  - 
2 )  =  ( ( # `  W
)  -  1 ) ) )
4443imp 429 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( N  -  2 )  =  ( ( # `  W
)  -  1 ) )
4544fveq2d 5860 . . . . . . . . . . . . . . . 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 ) ) )
46 simpl1 1000 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  W  e. Word  V
)
47 s1cl 12593 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( Z  e.  V  ->  <" Z ">  e. Word  V )
48473ad2ant2 1019 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  ->  <" Z ">  e. Word  V )
4948adantr 465 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  <" Z ">  e. Word  V )
50 eluz2 11096 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  ( ZZ>= `  2
)  <->  ( 2  e.  ZZ  /\  N  e.  ZZ  /\  2  <_  N ) )
51 zre 10874 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( N  e.  ZZ  ->  N  e.  RR )
52 1red 9614 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  e.  RR )
53 2re 10611 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  2  e.  RR
5453a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
2  e.  RR )
55 simpl 457 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( ( N  e.  RR  /\  2  <_  N )  ->  N  e.  RR )
56 1lt2 10708 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  1  <  2
5756a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  <  2 )
58 simpr 461 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
2  <_  N )
5952, 54, 55, 57, 58ltletrd 9745 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  <  N )
60 1red 9614 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( N  e.  RR  ->  1  e.  RR )
61 id 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( N  e.  RR  ->  N  e.  RR )
6260, 61posdifd 10145 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( N  e.  RR  ->  (
1  <  N  <->  0  <  ( N  -  1 ) ) )
6362adantr 465 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
( 1  <  N  <->  0  <  ( N  - 
1 ) ) )
6459, 63mpbid 210 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
0  <  ( N  -  1 ) )
6564ex 434 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( N  e.  RR  ->  (
2  <_  N  ->  0  <  ( N  - 
1 ) ) )
6651, 65syl 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( N  e.  ZZ  ->  (
2  <_  N  ->  0  <  ( N  - 
1 ) ) )
6766a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( 2  e.  ZZ  ->  ( N  e.  ZZ  ->  ( 2  <_  N  ->  0  <  ( N  - 
1 ) ) ) )
68673imp 1191 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( 2  e.  ZZ  /\  N  e.  ZZ  /\  2  <_  N )  ->  0  <  ( N  -  1 ) )
6950, 68sylbi 195 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  ( ZZ>= `  2
)  ->  0  <  ( N  -  1 ) )
7069adantl 466 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( W  e. Word  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
0  <  ( N  -  1 ) )
7170adantr 465 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  0  <  ( N  -  1 ) )
72 breq2 4441 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
# `  W )  =  ( N  - 
1 )  ->  (
0  <  ( # `  W
)  <->  0  <  ( N  -  1 ) ) )
7372adantl 466 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( 0  < 
( # `  W )  <->  0  <  ( N  -  1 ) ) )
7471, 73mpbird 232 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  0  <  ( # `
 W ) )
75 hashneq0 12413 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( W  e. Word  V  ->  (
0  <  ( # `  W
)  <->  W  =/=  (/) ) )
7675adantr 465 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( W  e. Word  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( 0  <  ( # `
 W )  <->  W  =/=  (/) ) )
7776adantr 465 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( 0  < 
( # `  W )  <-> 
W  =/=  (/) ) )
7874, 77mpbid 210 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  W  =/=  (/) )
79783adantl2 1154 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  W  =/=  (/) )
8046, 49, 793jca 1177 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  W  =/=  (/) ) )
8180ex 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  =/=  (/) ) ) )
8230, 81syld 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  =/=  (/) ) ) )
8382imp 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  =/=  (/) ) )
84 ccatval1lsw 12581 . . . . . . . . . . . . . . . . 17  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  W  =/=  (/) )  ->  ( ( W concat  <" Z "> ) `  ( (
# `  W )  -  1 ) )  =  ( lastS  `  W
) )
8583, 84syl 16 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( ( W concat  <" Z "> ) `  ( (
# `  W )  -  1 ) )  =  ( lastS  `  W
) )
8645, 85eqtrd 2484 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( ( W concat  <" Z "> ) `  ( N  -  2 ) )  =  ( lastS  `  W
) )
87 2m1e1 10656 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( 2  -  1 )  =  1
8887a1i 11 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( 2  -  1 )  =  1 )
8988eqcomd 2451 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( N  e.  ( ZZ>= `  2
)  ->  1  =  ( 2  -  1 ) )
9089oveq2d 6297 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  1 )  =  ( N  -  (
2  -  1 ) ) )
91 2cnd 10614 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( N  e.  ( ZZ>= `  2
)  ->  2  e.  CC )
9231, 91, 32subsubd 9964 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  ( 2  -  1 ) )  =  ( ( N  - 
2 )  +  1 ) )
9390, 92eqtr2d 2485 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( ( N  -  2 )  +  1 )  =  ( N  -  1 ) )
94933ad2ant3 1020 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( N  - 
2 )  +  1 )  =  ( N  -  1 ) )
9594adantr 465 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( ( N  -  2 )  +  1 )  =  ( N  -  1 ) )
96 eqeq2 2458 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
# `  W )  =  ( N  - 
1 )  ->  (
( ( N  - 
2 )  +  1 )  =  ( # `  W )  <->  ( ( N  -  2 )  +  1 )  =  ( N  -  1 ) ) )
9796adantl 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 ) ) )
9895, 97mpbird 232 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( ( N  -  2 )  +  1 )  =  (
# `  W )
)
9998ex 434 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  W
)  =  ( N  -  1 )  -> 
( ( N  - 
2 )  +  1 )  =  ( # `  W ) ) )
10030, 99syld 44 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( # `  ( W concat  <" Z "> ) )  =  N  ->  ( ( N  -  2 )  +  1 )  =  (
# `  W )
) )
101100imp 429 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( ( N  -  2 )  +  1 )  =  ( # `  W
) )
102101fveq2d 5860 . . . . . . . . . . . . . . . 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
) ) )
103 id 22 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( W  e. Word  V  /\  Z  e.  V
) )
1041033adant3 1017 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( W  e. Word  V  /\  Z  e.  V
) )
105104adantr 465 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( W  e. Word  V  /\  Z  e.  V ) )
106 ccatws1ls 12616 . . . . . . . . . . . . . . . . 17  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( ( W concat  <" Z "> ) `  ( # `
 W ) )  =  Z )
107105, 106syl 16 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( ( W concat  <" Z "> ) `  ( # `  W ) )  =  Z )
108102, 107eqtrd 2484 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  ( W concat  <" Z "> ) )  =  N )  ->  ( ( W concat  <" Z "> ) `  ( ( N  -  2 )  +  1 ) )  =  Z )
10986, 108preq12d 4102 . . . . . . . . . . . . . 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 } )
110109eleq1d 2512 . . . . . . . . . . . . 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 ) )
11128, 110sylibd 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 ) )
112111ex 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 ) ) )
113112com13 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 ) ) )
1141133ad2ant2 1019 . . . . . . . . 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 ) ) )
115114imp 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 ) )
116115imp 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 )
117104adantr 465 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( W  e. Word  V  /\  Z  e.  V
) )
118 lswccats1 12617 . . . . . . . . . . . . . . . 16  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( lastS  `  ( W concat  <" Z "> ) )  =  Z )
119117, 118syl 16 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( lastS  `  ( W concat  <" Z "> ) )  =  Z )
120693ad2ant3 1020 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
0  <  ( N  -  1 ) )
121120adantr 465 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  0  <  ( N  -  1 ) )
12272adantl 466 . . . . . . . . . . . . . . . . 17  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( 0  < 
( # `  W )  <->  0  <  ( N  -  1 ) ) )
123121, 122mpbird 232 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  0  <  ( # `
 W ) )
124 ccatfv0 12580 . . . . . . . . . . . . . . . 16  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  0  < 
( # `  W ) )  ->  ( ( W concat  <" Z "> ) `  0 )  =  ( W ` 
0 ) )
12546, 49, 123, 124syl3anc 1229 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( # `  W
)  =  ( N  -  1 ) )  ->  ( ( W concat  <" Z "> ) `  0 )  =  ( W ` 
0 ) )
126119, 125preq12d 4102 . . . . . . . . . . . . . 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 ) } )
127126ex 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 ) } ) )
12830, 127syld 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 ) } ) )
129128impcom 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 ) } )
130129eleq1d 2512 . . . . . . . . . 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 ) )
131130biimpcd 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 ) )
1321313ad2ant3 1020 . . . . . . . 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 ) )
133132impl 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 )
134116, 133jca 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 ) )
135134ex 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 ) ) )
13613, 135syl6bi 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 ) ) ) )
1371363adant2 1016 . . 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 ) ) ) )
1381, 137mpcom 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 ) ) )
139138impcom 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 974    = wceq 1383    e. wcel 1804    =/= wne 2638   A.wral 2793   _Vcvv 3095   (/)c0 3770   {cpr 4016   class class class wbr 4437   ran crn 4990   ` cfv 5578  (class class class)co 6281   RRcr 9494   0cc0 9495   1c1 9496    + caddc 9498    < clt 9631    <_ cle 9632    - cmin 9810   2c2 10591   NN0cn0 10801   ZZcz 10870   ZZ>=cuz 11090  ..^cfzo 11803   #chash 12384  Word cword 12513   lastS clsw 12514   concat cconcat 12515   <"cs1 12516   ClWWalks cclwwlk 24620   ClWWalksN cclwwlkn 24621
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1605  ax-4 1618  ax-5 1691  ax-6 1734  ax-7 1776  ax-8 1806  ax-9 1808  ax-10 1823  ax-11 1828  ax-12 1840  ax-13 1985  ax-ext 2421  ax-rep 4548  ax-sep 4558  ax-nul 4566  ax-pow 4615  ax-pr 4676  ax-un 6577  ax-cnex 9551  ax-resscn 9552  ax-1cn 9553  ax-icn 9554  ax-addcl 9555  ax-addrcl 9556  ax-mulcl 9557  ax-mulrcl 9558  ax-mulcom 9559  ax-addass 9560  ax-mulass 9561  ax-distr 9562  ax-i2m1 9563  ax-1ne0 9564  ax-1rid 9565  ax-rnegex 9566  ax-rrecex 9567  ax-cnre 9568  ax-pre-lttri 9569  ax-pre-lttrn 9570  ax-pre-ltadd 9571  ax-pre-mulgt0 9572
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 975  df-3an 976  df-tru 1386  df-ex 1600  df-nf 1604  df-sb 1727  df-eu 2272  df-mo 2273  df-clab 2429  df-cleq 2435  df-clel 2438  df-nfc 2593  df-ne 2640  df-nel 2641  df-ral 2798  df-rex 2799  df-reu 2800  df-rmo 2801  df-rab 2802  df-v 3097  df-sbc 3314  df-csb 3421  df-dif 3464  df-un 3466  df-in 3468  df-ss 3475  df-pss 3477  df-nul 3771  df-if 3927  df-pw 3999  df-sn 4015  df-pr 4017  df-tp 4019  df-op 4021  df-uni 4235  df-int 4272  df-iun 4317  df-br 4438  df-opab 4496  df-mpt 4497  df-tr 4531  df-eprel 4781  df-id 4785  df-po 4790  df-so 4791  df-fr 4828  df-we 4830  df-ord 4871  df-on 4872  df-lim 4873  df-suc 4874  df-xp 4995  df-rel 4996  df-cnv 4997  df-co 4998  df-dm 4999  df-rn 5000  df-res 5001  df-ima 5002  df-iota 5541  df-fun 5580  df-fn 5581  df-f 5582  df-f1 5583  df-fo 5584  df-f1o 5585  df-fv 5586  df-riota 6242  df-ov 6284  df-oprab 6285  df-mpt2 6286  df-om 6686  df-1st 6785  df-2nd 6786  df-recs 7044  df-rdg 7078  df-1o 7132  df-oadd 7136  df-er 7313  df-map 7424  df-pm 7425  df-en 7519  df-dom 7520  df-sdom 7521  df-fin 7522  df-card 8323  df-cda 8551  df-pnf 9633  df-mnf 9634  df-xr 9635  df-ltxr 9636  df-le 9637  df-sub 9812  df-neg 9813  df-nn 10543  df-2 10600  df-n0 10802  df-z 10871  df-uz 11091  df-fz 11682  df-fzo 11804  df-hash 12385  df-word 12521  df-lsw 12522  df-concat 12523  df-s1 12524  df-clwwlk 24623  df-clwwlkn 24624
This theorem is referenced by:  numclwwlk2lem1  24974
  Copyright terms: Public domain W3C validator