ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  clwwlkext2edg Unicode version

Theorem clwwlkext2edg 16217
Description: If a word concatenated with a vertex represents a closed walk (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.) (Revised by AV, 27-Apr-2021.) (Proof shortened by AV, 22-Mar-2022.)
Hypotheses
Ref Expression
clwwlkext2edg.v  |-  V  =  (Vtx `  G )
clwwlkext2edg.e  |-  E  =  (Edg `  G )
Assertion
Ref Expression
clwwlkext2edg  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( W ++  <" Z "> )  e.  ( N ClWWalksN  G )
)  ->  ( {
(lastS `  W ) ,  Z }  e.  E  /\  { Z ,  ( W `  0 ) }  e.  E ) )

Proof of Theorem clwwlkext2edg
Dummy variable  i is distinct from all other variables.
StepHypRef Expression
1 clwwlknnn 16207 . . 3  |-  ( ( W ++  <" Z "> )  e.  ( N ClWWalksN  G )  ->  N  e.  NN )
2 clwwlkext2edg.v . . . . 5  |-  V  =  (Vtx `  G )
3 clwwlkext2edg.e . . . . 5  |-  E  =  (Edg `  G )
42, 3isclwwlknx 16211 . . . 4  |-  ( N  e.  NN  ->  (
( W ++  <" Z "> )  e.  ( N ClWWalksN  G )  <->  ( (
( W ++  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  E  /\  { (lastS `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  E
)  /\  ( `  ( W ++  <" Z "> ) )  =  N ) ) )
5 ige2m2fzo 10433 . . . . . . . . . . . . . . 15  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  2 )  e.  ( 0..^ ( N  -  1 ) ) )
653ad2ant3 1044 . . . . . . . . . . . . . 14  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( N  -  2 )  e.  ( 0..^ ( N  -  1 ) ) )
76adantr 276 . . . . . . . . . . . . 13  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( N  -  2 )  e.  ( 0..^ ( N  -  1 ) ) )
8 oveq1 6020 . . . . . . . . . . . . . . . 16  |-  ( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( ( `  ( W ++  <" Z "> ) )  - 
1 )  =  ( N  -  1 ) )
98oveq2d 6029 . . . . . . . . . . . . . . 15  |-  ( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) )  =  ( 0..^ ( N  - 
1 ) ) )
109eleq2d 2299 . . . . . . . . . . . . . 14  |-  ( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( ( N  -  2 )  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) )  <->  ( N  -  2 )  e.  ( 0..^ ( N  -  1 ) ) ) )
1110adantl 277 . . . . . . . . . . . . 13  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( ( N  -  2 )  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) )  <->  ( N  -  2 )  e.  ( 0..^ ( N  -  1 ) ) ) )
127, 11mpbird 167 . . . . . . . . . . . 12  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( N  -  2 )  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  - 
1 ) ) )
13 fveq2 5635 . . . . . . . . . . . . . . 15  |-  ( i  =  ( N  - 
2 )  ->  (
( W ++  <" Z "> ) `  i
)  =  ( ( W ++  <" Z "> ) `  ( N  -  2 ) ) )
14 fvoveq1 6036 . . . . . . . . . . . . . . 15  |-  ( i  =  ( N  - 
2 )  ->  (
( W ++  <" Z "> ) `  (
i  +  1 ) )  =  ( ( W ++  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) )
1513, 14preq12d 3754 . . . . . . . . . . . . . 14  |-  ( i  =  ( N  - 
2 )  ->  { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  =  { ( ( W ++  <" Z "> ) `  ( N  -  2 ) ) ,  ( ( W ++  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) } )
1615eleq1d 2298 . . . . . . . . . . . . 13  |-  ( i  =  ( N  - 
2 )  ->  ( { ( ( W ++ 
<" Z "> ) `  i ) ,  ( ( W ++ 
<" Z "> ) `  ( i  +  1 ) ) }  e.  E  <->  { (
( W ++  <" Z "> ) `  ( N  -  2 ) ) ,  ( ( W ++  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) }  e.  E ) )
1716rspcv 2904 . . . . . . . . . . . 12  |-  ( ( N  -  2 )  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) )  ->  ( A. i  e.  (
0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  E  ->  { ( ( W ++ 
<" Z "> ) `  ( N  -  2 ) ) ,  ( ( W ++ 
<" Z "> ) `  ( ( N  -  2 )  +  1 ) ) }  e.  E ) )
1812, 17syl 14 . . . . . . . . . . 11  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( A. i  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  E  ->  { ( ( W ++ 
<" Z "> ) `  ( N  -  2 ) ) ,  ( ( W ++ 
<" Z "> ) `  ( ( N  -  2 )  +  1 ) ) }  e.  E ) )
19 wrdlenccats1lenm1g 11203 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( ( `  ( W ++  <" Z "> ) )  -  1 )  =  ( `  W
) )
2019eqcomd 2235 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( `  W )  =  ( ( `  ( W ++  <" Z "> ) )  -  1 ) )
2120, 8sylan9eq 2282 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( W  e. Word  V  /\  Z  e.  V
)  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( `  W
)  =  ( N  -  1 ) )
2221ex 115 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( `  W )  =  ( N  - 
1 ) ) )
23223adant3 1041 . . . . . . . . . . . . . . . . 17  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( `  W )  =  ( N  - 
1 ) ) )
24 eluzelcn 9757 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  N  e.  CC )
25 1cnd 8185 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  1  e.  CC )
2624, 25, 25subsub4d 8511 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( ( N  -  1 )  -  1 )  =  ( N  -  (
1  +  1 ) ) )
27 1p1e2 9250 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( 1  +  1 )  =  2
2827a1i 9 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( 1  +  1 )  =  2 )
2928oveq2d 6029 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  ( 1  +  1 ) )  =  ( N  -  2 ) )
3026, 29eqtr2d 2263 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  2 )  =  ( ( N  - 
1 )  -  1 ) )
31303ad2ant3 1044 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( N  -  2 )  =  ( ( N  -  1 )  -  1 ) )
32 oveq1 6020 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( `  W )  =  ( N  -  1 )  ->  ( ( `  W
)  -  1 )  =  ( ( N  -  1 )  - 
1 ) )
3332eqcomd 2235 . . . . . . . . . . . . . . . . . . 19  |-  ( ( `  W )  =  ( N  -  1 )  ->  ( ( N  -  1 )  - 
1 )  =  ( ( `  W )  -  1 ) )
3431, 33sylan9eq 2282 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  ( N  - 
2 )  =  ( ( `  W )  -  1 ) )
3534ex 115 . . . . . . . . . . . . . . . . 17  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( `  W
)  =  ( N  -  1 )  -> 
( N  -  2 )  =  ( ( `  W )  -  1 ) ) )
3623, 35syld 45 . . . . . . . . . . . . . . . 16  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( N  - 
2 )  =  ( ( `  W )  -  1 ) ) )
3736imp 124 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( N  -  2 )  =  ( ( `  W
)  -  1 ) )
3837fveq2d 5639 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( ( W ++  <" Z "> ) `  ( N  -  2 ) )  =  ( ( W ++ 
<" Z "> ) `  ( ( `  W )  -  1 ) ) )
39 simpl1 1024 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  W  e. Word  V
)
40 s1cl 11188 . . . . . . . . . . . . . . . . . . . . 21  |-  ( Z  e.  V  ->  <" Z ">  e. Word  V )
41403ad2ant2 1043 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  ->  <" Z ">  e. Word  V )
4241adantr 276 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  <" Z ">  e. Word  V )
43 eluz2 9751 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ( ZZ>= `  2
)  <->  ( 2  e.  ZZ  /\  N  e.  ZZ  /\  2  <_  N ) )
44 zre 9473 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  ZZ  ->  N  e.  RR )
45 1red 8184 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  e.  RR )
46 2re 9203 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  2  e.  RR
4746a1i 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
2  e.  RR )
48 simpl 109 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( N  e.  RR  /\  2  <_  N )  ->  N  e.  RR )
49 1lt2 9303 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  1  <  2
5049a1i 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  <  2 )
51 simpr 110 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
2  <_  N )
5245, 47, 48, 50, 51ltletrd 8593 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  <  N )
53 1red 8184 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( N  e.  RR  ->  1  e.  RR )
54 id 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( N  e.  RR  ->  N  e.  RR )
5553, 54posdifd 8702 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( N  e.  RR  ->  (
1  <  N  <->  0  <  ( N  -  1 ) ) )
5655adantr 276 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
( 1  <  N  <->  0  <  ( N  - 
1 ) ) )
5752, 56mpbid 147 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
0  <  ( N  -  1 ) )
5857ex 115 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  RR  ->  (
2  <_  N  ->  0  <  ( N  - 
1 ) ) )
5944, 58syl 14 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  ZZ  ->  (
2  <_  N  ->  0  <  ( N  - 
1 ) ) )
6059a1i 9 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( 2  e.  ZZ  ->  ( N  e.  ZZ  ->  ( 2  <_  N  ->  0  <  ( N  - 
1 ) ) ) )
61603imp 1217 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( 2  e.  ZZ  /\  N  e.  ZZ  /\  2  <_  N )  ->  0  <  ( N  -  1 ) )
6243, 61sylbi 121 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  ( ZZ>= `  2
)  ->  0  <  ( N  -  1 ) )
6362ad2antlr 489 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  0  <  ( N  -  1 ) )
64 breq2 4090 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( `  W )  =  ( N  -  1 )  ->  ( 0  < 
( `  W )  <->  0  <  ( N  -  1 ) ) )
6564adantl 277 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  ( 0  < 
( `  W )  <->  0  <  ( N  -  1 ) ) )
6663, 65mpbird 167 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  0  <  ( `  W ) )
67 wrdfin 11122 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( W  e. Word  V  ->  W  e.  Fin )
68 fihashneq0 11046 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( W  e.  Fin  ->  (
0  <  ( `  W
)  <->  W  =/=  (/) ) )
6967, 68syl 14 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( W  e. Word  V  ->  (
0  <  ( `  W
)  <->  W  =/=  (/) ) )
7069adantr 276 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( W  e. Word  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( 0  <  ( `  W )  <->  W  =/=  (/) ) )
7170adantr 276 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  ( 0  < 
( `  W )  <->  W  =/=  (/) ) )
7266, 71mpbid 147 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  W  =/=  (/) )
73723adantl2 1178 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  W  =/=  (/) )
7439, 42, 733jca 1201 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  W  =/=  (/) ) )
7574ex 115 . . . . . . . . . . . . . . . . 17  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( `  W
)  =  ( N  -  1 )  -> 
( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  W  =/=  (/) ) ) )
7623, 75syld 45 . . . . . . . . . . . . . . . 16  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  W  =/=  (/) ) ) )
7776imp 124 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  W  =/=  (/) ) )
78 ccatval1lsw 11171 . . . . . . . . . . . . . . 15  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  W  =/=  (/) )  ->  ( ( W ++  <" Z "> ) `  ( ( `  W )  -  1 ) )  =  (lastS `  W ) )
7977, 78syl 14 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( ( W ++  <" Z "> ) `  ( ( `  W )  -  1 ) )  =  (lastS `  W ) )
8038, 79eqtrd 2262 . . . . . . . . . . . . 13  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( ( W ++  <" Z "> ) `  ( N  -  2 ) )  =  (lastS `  W
) )
81 2m1e1 9251 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( 2  -  1 )  =  1
8281a1i 9 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( 2  -  1 )  =  1 )
8382eqcomd 2235 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  ( ZZ>= `  2
)  ->  1  =  ( 2  -  1 ) )
8483oveq2d 6029 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  1 )  =  ( N  -  (
2  -  1 ) ) )
85 2cnd 9206 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  ( ZZ>= `  2
)  ->  2  e.  CC )
8624, 85, 25subsubd 8508 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  ( 2  -  1 ) )  =  ( ( N  - 
2 )  +  1 ) )
8784, 86eqtr2d 2263 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( ( N  -  2 )  +  1 )  =  ( N  -  1 ) )
88873ad2ant3 1044 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( N  - 
2 )  +  1 )  =  ( N  -  1 ) )
89 eqeq2 2239 . . . . . . . . . . . . . . . . . 18  |-  ( ( `  W )  =  ( N  -  1 )  ->  ( ( ( N  -  2 )  +  1 )  =  ( `  W )  <->  ( ( N  -  2 )  +  1 )  =  ( N  - 
1 ) ) )
9088, 89syl5ibrcom 157 . . . . . . . . . . . . . . . . 17  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( `  W
)  =  ( N  -  1 )  -> 
( ( N  - 
2 )  +  1 )  =  ( `  W
) ) )
9123, 90syld 45 . . . . . . . . . . . . . . . 16  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( ( N  -  2 )  +  1 )  =  ( `  W ) ) )
9291imp 124 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( ( N  -  2 )  +  1 )  =  ( `  W )
)
9392fveq2d 5639 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( ( W ++  <" Z "> ) `  ( ( N  -  2 )  +  1 ) )  =  ( ( W ++ 
<" Z "> ) `  ( `  W
) ) )
94 id 19 . . . . . . . . . . . . . . . . 17  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( W  e. Word  V  /\  Z  e.  V
) )
95943adant3 1041 . . . . . . . . . . . . . . . 16  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( W  e. Word  V  /\  Z  e.  V
) )
9695adantr 276 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( W  e. Word  V  /\  Z  e.  V ) )
97 ccatws1ls 11209 . . . . . . . . . . . . . . 15  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( ( W ++  <" Z "> ) `  ( `  W )
)  =  Z )
9896, 97syl 14 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( ( W ++  <" Z "> ) `  ( `  W
) )  =  Z )
9993, 98eqtrd 2262 . . . . . . . . . . . . 13  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( ( W ++  <" Z "> ) `  ( ( N  -  2 )  +  1 ) )  =  Z )
10080, 99preq12d 3754 . . . . . . . . . . . 12  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  { (
( W ++  <" Z "> ) `  ( N  -  2 ) ) ,  ( ( W ++  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) }  =  { (lastS `  W ) ,  Z } )
101100eleq1d 2298 . . . . . . . . . . 11  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( {
( ( W ++  <" Z "> ) `  ( N  -  2 ) ) ,  ( ( W ++  <" Z "> ) `  (
( N  -  2 )  +  1 ) ) }  e.  E  <->  { (lastS `  W ) ,  Z }  e.  E
) )
10218, 101sylibd 149 . . . . . . . . . 10  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( A. i  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  E  ->  { (lastS `  W ) ,  Z }  e.  E
) )
103102ex 115 . . . . . . . . 9  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( A. i  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  - 
1 ) ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  E  ->  { (lastS `  W
) ,  Z }  e.  E ) ) )
104103com13 80 . . . . . . . 8  |-  ( A. i  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  E  -> 
( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= `  2 )
)  ->  { (lastS `  W ) ,  Z }  e.  E )
) )
1051043ad2ant2 1043 . . . . . . 7  |-  ( ( ( W ++  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  E  /\  { (lastS `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  E
)  ->  ( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= `  2 )
)  ->  { (lastS `  W ) ,  Z }  e.  E )
) )
106105imp31 256 . . . . . 6  |-  ( ( ( ( ( W ++ 
<" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  E  /\  { (lastS `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  E
)  /\  ( `  ( W ++  <" Z "> ) )  =  N )  /\  ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= `  2 )
) )  ->  { (lastS `  W ) ,  Z }  e.  E )
10795adantr 276 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  ( W  e. Word  V  /\  Z  e.  V
) )
108 lswccats1 11210 . . . . . . . . . . . . . . 15  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  (lastS `  ( W ++  <" Z "> ) )  =  Z )
109107, 108syl 14 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  (lastS `  ( W ++  <" Z "> ) )  =  Z )
110623ad2ant3 1044 . . . . . . . . . . . . . . . . 17  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
0  <  ( N  -  1 ) )
111110adantr 276 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  0  <  ( N  -  1 ) )
11264adantl 277 . . . . . . . . . . . . . . . 16  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  ( 0  < 
( `  W )  <->  0  <  ( N  -  1 ) ) )
113111, 112mpbird 167 . . . . . . . . . . . . . . 15  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  0  <  ( `  W ) )
114 ccatfv0 11170 . . . . . . . . . . . . . . 15  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  0  < 
( `  W ) )  ->  ( ( W ++ 
<" Z "> ) `  0 )  =  ( W ` 
0 ) )
11539, 42, 113, 114syl3anc 1271 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  ( ( W ++ 
<" Z "> ) `  0 )  =  ( W ` 
0 ) )
116109, 115preq12d 3754 . . . . . . . . . . . . 13  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  { (lastS `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0 ) }  =  { Z , 
( W `  0
) } )
117116ex 115 . . . . . . . . . . . 12  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( `  W
)  =  ( N  -  1 )  ->  { (lastS `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  =  { Z ,  ( W `  0 ) } ) )
11823, 117syld 45 . . . . . . . . . . 11  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( `  ( W ++  <" Z "> ) )  =  N  ->  { (lastS `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0 ) }  =  { Z , 
( W `  0
) } ) )
119118impcom 125 . . . . . . . . . 10  |-  ( ( ( `  ( W ++  <" Z "> ) )  =  N  /\  ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) ) )  ->  { (lastS `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0 ) }  =  { Z , 
( W `  0
) } )
120119eleq1d 2298 . . . . . . . . 9  |-  ( ( ( `  ( W ++  <" Z "> ) )  =  N  /\  ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) ) )  ->  ( {
(lastS `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  E  <->  { Z ,  ( W `
 0 ) }  e.  E ) )
121120biimpcd 159 . . . . . . . 8  |-  ( { (lastS `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  E  ->  ( ( ( `  ( W ++  <" Z "> ) )  =  N  /\  ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) ) )  ->  { Z ,  ( W ` 
0 ) }  e.  E ) )
1221213ad2ant3 1044 . . . . . . 7  |-  ( ( ( W ++  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  E  /\  { (lastS `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  E
)  ->  ( (
( `  ( W ++  <" Z "> )
)  =  N  /\  ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) ) )  ->  { Z , 
( W `  0
) }  e.  E
) )
123122impl 380 . . . . . 6  |-  ( ( ( ( ( W ++ 
<" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  E  /\  { (lastS `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  E
)  /\  ( `  ( W ++  <" Z "> ) )  =  N )  /\  ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= `  2 )
) )  ->  { Z ,  ( W ` 
0 ) }  e.  E )
124106, 123jca 306 . . . . 5  |-  ( ( ( ( ( W ++ 
<" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) ) { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  e.  E  /\  { (lastS `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  E
)  /\  ( `  ( W ++  <" Z "> ) )  =  N )  /\  ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= `  2 )
) )  ->  ( { (lastS `  W ) ,  Z }  e.  E  /\  { Z ,  ( W `  0 ) }  e.  E ) )
125124ex 115 . . . 4  |-  ( ( ( ( W ++  <" Z "> )  e. Word  V  /\  A. i  e.  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  - 
1 ) ) { ( ( W ++  <" Z "> ) `  i ) ,  ( ( W ++  <" Z "> ) `  (
i  +  1 ) ) }  e.  E  /\  { (lastS `  ( W ++  <" Z "> ) ) ,  ( ( W ++  <" Z "> ) `  0
) }  e.  E
)  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= `  2 )
)  ->  ( {
(lastS `  W ) ,  Z }  e.  E  /\  { Z ,  ( W `  0 ) }  e.  E ) ) )
1264, 125biimtrdi 163 . . 3  |-  ( N  e.  NN  ->  (
( W ++  <" Z "> )  e.  ( N ClWWalksN  G )  ->  (
( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  ->  ( { (lastS `  W ) ,  Z }  e.  E  /\  { Z ,  ( W `
 0 ) }  e.  E ) ) ) )
1271, 126mpcom 36 . 2  |-  ( ( W ++  <" Z "> )  e.  ( N ClWWalksN  G )  ->  (
( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  ->  ( { (lastS `  W ) ,  Z }  e.  E  /\  { Z ,  ( W `
 0 ) }  e.  E ) ) )
128127impcom 125 1  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( W ++  <" Z "> )  e.  ( N ClWWalksN  G )
)  ->  ( {
(lastS `  W ) ,  Z }  e.  E  /\  { Z ,  ( W `  0 ) }  e.  E ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 104    <-> wb 105    /\ w3a 1002    = wceq 1395    e. wcel 2200    =/= wne 2400   A.wral 2508   (/)c0 3492   {cpr 3668   class class class wbr 4086   ` cfv 5324  (class class class)co 6013   Fincfn 6904   RRcr 8021   0cc0 8022   1c1 8023    + caddc 8025    < clt 8204    <_ cle 8205    - cmin 8340   NNcn 9133   2c2 9184   ZZcz 9469   ZZ>=cuz 9745  ..^cfzo 10367  ♯chash 11027  Word cword 11103  lastSclsw 11148   ++ cconcat 11157   <"cs1 11182  Vtxcvtx 15853  Edgcedg 15898   ClWWalksN cclwwlkn 16198
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 617  ax-in2 618  ax-io 714  ax-5 1493  ax-7 1494  ax-gen 1495  ax-ie1 1539  ax-ie2 1540  ax-8 1550  ax-10 1551  ax-11 1552  ax-i12 1553  ax-bndl 1555  ax-4 1556  ax-17 1572  ax-i9 1576  ax-ial 1580  ax-i5r 1581  ax-13 2202  ax-14 2203  ax-ext 2211  ax-coll 4202  ax-sep 4205  ax-nul 4213  ax-pow 4262  ax-pr 4297  ax-un 4528  ax-setind 4633  ax-iinf 4684  ax-cnex 8113  ax-resscn 8114  ax-1cn 8115  ax-1re 8116  ax-icn 8117  ax-addcl 8118  ax-addrcl 8119  ax-mulcl 8120  ax-mulrcl 8121  ax-addcom 8122  ax-mulcom 8123  ax-addass 8124  ax-mulass 8125  ax-distr 8126  ax-i2m1 8127  ax-0lt1 8128  ax-1rid 8129  ax-0id 8130  ax-rnegex 8131  ax-precex 8132  ax-cnre 8133  ax-pre-ltirr 8134  ax-pre-ltwlin 8135  ax-pre-lttrn 8136  ax-pre-apti 8137  ax-pre-ltadd 8138  ax-pre-mulgt0 8139
This theorem depends on definitions:  df-bi 117  df-dc 840  df-3or 1003  df-3an 1004  df-tru 1398  df-fal 1401  df-nf 1507  df-sb 1809  df-eu 2080  df-mo 2081  df-clab 2216  df-cleq 2222  df-clel 2225  df-nfc 2361  df-ne 2401  df-nel 2496  df-ral 2513  df-rex 2514  df-reu 2515  df-rab 2517  df-v 2802  df-sbc 3030  df-csb 3126  df-dif 3200  df-un 3202  df-in 3204  df-ss 3211  df-nul 3493  df-if 3604  df-pw 3652  df-sn 3673  df-pr 3674  df-op 3676  df-uni 3892  df-int 3927  df-iun 3970  df-br 4087  df-opab 4149  df-mpt 4150  df-tr 4186  df-id 4388  df-iord 4461  df-on 4463  df-ilim 4464  df-suc 4466  df-iom 4687  df-xp 4729  df-rel 4730  df-cnv 4731  df-co 4732  df-dm 4733  df-rn 4734  df-res 4735  df-ima 4736  df-iota 5284  df-fun 5326  df-fn 5327  df-f 5328  df-f1 5329  df-fo 5330  df-f1o 5331  df-fv 5332  df-riota 5966  df-ov 6016  df-oprab 6017  df-mpo 6018  df-1st 6298  df-2nd 6299  df-recs 6466  df-frec 6552  df-1o 6577  df-er 6697  df-map 6814  df-en 6905  df-dom 6906  df-fin 6907  df-pnf 8206  df-mnf 8207  df-xr 8208  df-ltxr 8209  df-le 8210  df-sub 8342  df-neg 8343  df-reap 8745  df-ap 8752  df-inn 9134  df-2 9192  df-n0 9393  df-z 9470  df-uz 9746  df-fz 10234  df-fzo 10368  df-ihash 11028  df-word 11104  df-lsw 11149  df-concat 11158  df-s1 11183  df-ndx 13075  df-slot 13076  df-base 13078  df-vtx 15855  df-clwwlk 16187  df-clwwlkn 16199
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator