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

Theorem clwwlkext2edg 16300
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 16290 . . 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 16294 . . . 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 10447 . . . . . . . . . . . . . . 15  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  2 )  e.  ( 0..^ ( N  -  1 ) ) )
653ad2ant3 1046 . . . . . . . . . . . . . 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 6028 . . . . . . . . . . . . . . . 16  |-  ( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( ( `  ( W ++  <" Z "> ) )  - 
1 )  =  ( N  -  1 ) )
98oveq2d 6037 . . . . . . . . . . . . . . 15  |-  ( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) )  =  ( 0..^ ( N  - 
1 ) ) )
109eleq2d 2301 . . . . . . . . . . . . . 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 5640 . . . . . . . . . . . . . . 15  |-  ( i  =  ( N  - 
2 )  ->  (
( W ++  <" Z "> ) `  i
)  =  ( ( W ++  <" Z "> ) `  ( N  -  2 ) ) )
14 fvoveq1 6044 . . . . . . . . . . . . . . 15  |-  ( i  =  ( N  - 
2 )  ->  (
( W ++  <" Z "> ) `  (
i  +  1 ) )  =  ( ( W ++  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) )
1513, 14preq12d 3756 . . . . . . . . . . . . . 14  |-  ( i  =  ( N  - 
2 )  ->  { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  =  { ( ( W ++  <" Z "> ) `  ( N  -  2 ) ) ,  ( ( W ++  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) } )
1615eleq1d 2300 . . . . . . . . . . . . 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 2906 . . . . . . . . . . . 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 11220 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( ( `  ( W ++  <" Z "> ) )  -  1 )  =  ( `  W
) )
2019eqcomd 2237 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( `  W )  =  ( ( `  ( W ++  <" Z "> ) )  -  1 ) )
2120, 8sylan9eq 2284 . . . . . . . . . . . . . . . . . . 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 1043 . . . . . . . . . . . . . . . . 17  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( `  W )  =  ( N  - 
1 ) ) )
24 eluzelcn 9770 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  N  e.  CC )
25 1cnd 8198 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  1  e.  CC )
2624, 25, 25subsub4d 8524 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( ( N  -  1 )  -  1 )  =  ( N  -  (
1  +  1 ) ) )
27 1p1e2 9263 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( 1  +  1 )  =  2
2827a1i 9 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( 1  +  1 )  =  2 )
2928oveq2d 6037 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  ( 1  +  1 ) )  =  ( N  -  2 ) )
3026, 29eqtr2d 2265 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  2 )  =  ( ( N  - 
1 )  -  1 ) )
31303ad2ant3 1046 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( N  -  2 )  =  ( ( N  -  1 )  -  1 ) )
32 oveq1 6028 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( `  W )  =  ( N  -  1 )  ->  ( ( `  W
)  -  1 )  =  ( ( N  -  1 )  - 
1 ) )
3332eqcomd 2237 . . . . . . . . . . . . . . . . . . 19  |-  ( ( `  W )  =  ( N  -  1 )  ->  ( ( N  -  1 )  - 
1 )  =  ( ( `  W )  -  1 ) )
3431, 33sylan9eq 2284 . . . . . . . . . . . . . . . . . 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 5644 . . . . . . . . . . . . . 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 1026 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  W  e. Word  V
)
40 s1cl 11205 . . . . . . . . . . . . . . . . . . . . 21  |-  ( Z  e.  V  ->  <" Z ">  e. Word  V )
41403ad2ant2 1045 . . . . . . . . . . . . . . . . . . . 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 9764 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ( ZZ>= `  2
)  <->  ( 2  e.  ZZ  /\  N  e.  ZZ  /\  2  <_  N ) )
44 zre 9486 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  ZZ  ->  N  e.  RR )
45 1red 8197 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  e.  RR )
46 2re 9216 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 9316 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 8606 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  <  N )
53 1red 8197 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( N  e.  RR  ->  1  e.  RR )
54 id 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( N  e.  RR  ->  N  e.  RR )
5553, 54posdifd 8715 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1219 . . . . . . . . . . . . . . . . . . . . . . . 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 4092 . . . . . . . . . . . . . . . . . . . . . . 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 11139 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( W  e. Word  V  ->  W  e.  Fin )
68 fihashneq0 11060 . . . . . . . . . . . . . . . . . . . . . . . 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 1180 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  W  =/=  (/) )
7439, 42, 733jca 1203 . . . . . . . . . . . . . . . . . 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 11188 . . . . . . . . . . . . . . 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 2264 . . . . . . . . . . . . 13  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( ( W ++  <" Z "> ) `  ( N  -  2 ) )  =  (lastS `  W
) )
81 2m1e1 9264 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( 2  -  1 )  =  1
8281a1i 9 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( 2  -  1 )  =  1 )
8382eqcomd 2237 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  ( ZZ>= `  2
)  ->  1  =  ( 2  -  1 ) )
8483oveq2d 6037 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  1 )  =  ( N  -  (
2  -  1 ) ) )
85 2cnd 9219 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  ( ZZ>= `  2
)  ->  2  e.  CC )
8624, 85, 25subsubd 8521 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  ( 2  -  1 ) )  =  ( ( N  - 
2 )  +  1 ) )
8784, 86eqtr2d 2265 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( ( N  -  2 )  +  1 )  =  ( N  -  1 ) )
88873ad2ant3 1046 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( N  - 
2 )  +  1 )  =  ( N  -  1 ) )
89 eqeq2 2241 . . . . . . . . . . . . . . . . . 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 5644 . . . . . . . . . . . . . 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 1043 . . . . . . . . . . . . . . . 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 11226 . . . . . . . . . . . . . . 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 2264 . . . . . . . . . . . . 13  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( ( W ++  <" Z "> ) `  ( ( N  -  2 )  +  1 ) )  =  Z )
10080, 99preq12d 3756 . . . . . . . . . . . 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 2300 . . . . . . . . . . 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 1045 . . . . . . 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 11227 . . . . . . . . . . . . . . 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 1046 . . . . . . . . . . . . . . . . 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 11187 . . . . . . . . . . . . . . 15  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  0  < 
( `  W ) )  ->  ( ( W ++ 
<" Z "> ) `  0 )  =  ( W ` 
0 ) )
11539, 42, 113, 114syl3anc 1273 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  ( ( W ++ 
<" Z "> ) `  0 )  =  ( W ` 
0 ) )
116109, 115preq12d 3756 . . . . . . . . . . . . 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 2300 . . . . . . . . 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 1046 . . . . . . 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 1004    = wceq 1397    e. wcel 2202    =/= wne 2402   A.wral 2510   (/)c0 3494   {cpr 3670   class class class wbr 4088   ` cfv 5326  (class class class)co 6021   Fincfn 6912   RRcr 8034   0cc0 8035   1c1 8036    + caddc 8038    < clt 8217    <_ cle 8218    - cmin 8353   NNcn 9146   2c2 9197   ZZcz 9482   ZZ>=cuz 9758  ..^cfzo 10380  ♯chash 11041  Word cword 11120  lastSclsw 11165   ++ cconcat 11174   <"cs1 11199  Vtxcvtx 15890  Edgcedg 15935   ClWWalksN cclwwlkn 16281
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 619  ax-in2 620  ax-io 716  ax-5 1495  ax-7 1496  ax-gen 1497  ax-ie1 1541  ax-ie2 1542  ax-8 1552  ax-10 1553  ax-11 1554  ax-i12 1555  ax-bndl 1557  ax-4 1558  ax-17 1574  ax-i9 1578  ax-ial 1582  ax-i5r 1583  ax-13 2204  ax-14 2205  ax-ext 2213  ax-coll 4204  ax-sep 4207  ax-nul 4215  ax-pow 4264  ax-pr 4299  ax-un 4530  ax-setind 4635  ax-iinf 4686  ax-cnex 8126  ax-resscn 8127  ax-1cn 8128  ax-1re 8129  ax-icn 8130  ax-addcl 8131  ax-addrcl 8132  ax-mulcl 8133  ax-mulrcl 8134  ax-addcom 8135  ax-mulcom 8136  ax-addass 8137  ax-mulass 8138  ax-distr 8139  ax-i2m1 8140  ax-0lt1 8141  ax-1rid 8142  ax-0id 8143  ax-rnegex 8144  ax-precex 8145  ax-cnre 8146  ax-pre-ltirr 8147  ax-pre-ltwlin 8148  ax-pre-lttrn 8149  ax-pre-apti 8150  ax-pre-ltadd 8151  ax-pre-mulgt0 8152
This theorem depends on definitions:  df-bi 117  df-dc 842  df-3or 1005  df-3an 1006  df-tru 1400  df-fal 1403  df-nf 1509  df-sb 1811  df-eu 2082  df-mo 2083  df-clab 2218  df-cleq 2224  df-clel 2227  df-nfc 2363  df-ne 2403  df-nel 2498  df-ral 2515  df-rex 2516  df-reu 2517  df-rab 2519  df-v 2804  df-sbc 3032  df-csb 3128  df-dif 3202  df-un 3204  df-in 3206  df-ss 3213  df-nul 3495  df-if 3606  df-pw 3654  df-sn 3675  df-pr 3676  df-op 3678  df-uni 3894  df-int 3929  df-iun 3972  df-br 4089  df-opab 4151  df-mpt 4152  df-tr 4188  df-id 4390  df-iord 4463  df-on 4465  df-ilim 4466  df-suc 4468  df-iom 4689  df-xp 4731  df-rel 4732  df-cnv 4733  df-co 4734  df-dm 4735  df-rn 4736  df-res 4737  df-ima 4738  df-iota 5286  df-fun 5328  df-fn 5329  df-f 5330  df-f1 5331  df-fo 5332  df-f1o 5333  df-fv 5334  df-riota 5974  df-ov 6024  df-oprab 6025  df-mpo 6026  df-1st 6306  df-2nd 6307  df-recs 6474  df-frec 6560  df-1o 6585  df-er 6705  df-map 6822  df-en 6913  df-dom 6914  df-fin 6915  df-pnf 8219  df-mnf 8220  df-xr 8221  df-ltxr 8222  df-le 8223  df-sub 8355  df-neg 8356  df-reap 8758  df-ap 8765  df-inn 9147  df-2 9205  df-n0 9406  df-z 9483  df-uz 9759  df-fz 10247  df-fzo 10381  df-ihash 11042  df-word 11121  df-lsw 11166  df-concat 11175  df-s1 11200  df-ndx 13106  df-slot 13107  df-base 13109  df-vtx 15892  df-clwwlk 16270  df-clwwlkn 16282
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator