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

Theorem clwwlkext2edg 16275
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 16265 . . 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 16269 . . . 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 10443 . . . . . . . . . . . . . . 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 6025 . . . . . . . . . . . . . . . 16  |-  ( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( ( `  ( W ++  <" Z "> ) )  - 
1 )  =  ( N  -  1 ) )
98oveq2d 6034 . . . . . . . . . . . . . . 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 5639 . . . . . . . . . . . . . . 15  |-  ( i  =  ( N  - 
2 )  ->  (
( W ++  <" Z "> ) `  i
)  =  ( ( W ++  <" Z "> ) `  ( N  -  2 ) ) )
14 fvoveq1 6041 . . . . . . . . . . . . . . 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 11213 . . . . . . . . . . . . . . . . . . . . 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 9767 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  N  e.  CC )
25 1cnd 8195 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  1  e.  CC )
2624, 25, 25subsub4d 8521 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( ( N  -  1 )  -  1 )  =  ( N  -  (
1  +  1 ) ) )
27 1p1e2 9260 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( 1  +  1 )  =  2
2827a1i 9 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( 1  +  1 )  =  2 )
2928oveq2d 6034 . . . . . . . . . . . . . . . . . . . . 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 6025 . . . . . . . . . . . . . . . . . . . 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 5643 . . . . . . . . . . . . . 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 11198 . . . . . . . . . . . . . . . . . . . . 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 9761 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ( ZZ>= `  2
)  <->  ( 2  e.  ZZ  /\  N  e.  ZZ  /\  2  <_  N ) )
44 zre 9483 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  ZZ  ->  N  e.  RR )
45 1red 8194 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  e.  RR )
46 2re 9213 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 9313 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 8603 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  <  N )
53 1red 8194 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( N  e.  RR  ->  1  e.  RR )
54 id 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( N  e.  RR  ->  N  e.  RR )
5553, 54posdifd 8712 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 11132 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( W  e. Word  V  ->  W  e.  Fin )
68 fihashneq0 11056 . . . . . . . . . . . . . . . . . . . . . . . 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 11181 . . . . . . . . . . . . . . 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 9261 . . . . . . . . . . . . . . . . . . . . . . 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 6034 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  1 )  =  ( N  -  (
2  -  1 ) ) )
85 2cnd 9216 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  ( ZZ>= `  2
)  ->  2  e.  CC )
8624, 85, 25subsubd 8518 . . . . . . . . . . . . . . . . . . . 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 5643 . . . . . . . . . . . . . 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 11219 . . . . . . . . . . . . . . 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 11220 . . . . . . . . . . . . . . 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 11180 . . . . . . . . . . . . . . 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 6018   Fincfn 6909   RRcr 8031   0cc0 8032   1c1 8033    + caddc 8035    < clt 8214    <_ cle 8215    - cmin 8350   NNcn 9143   2c2 9194   ZZcz 9479   ZZ>=cuz 9755  ..^cfzo 10377  ♯chash 11037  Word cword 11113  lastSclsw 11158   ++ cconcat 11167   <"cs1 11192  Vtxcvtx 15865  Edgcedg 15910   ClWWalksN cclwwlkn 16256
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 8123  ax-resscn 8124  ax-1cn 8125  ax-1re 8126  ax-icn 8127  ax-addcl 8128  ax-addrcl 8129  ax-mulcl 8130  ax-mulrcl 8131  ax-addcom 8132  ax-mulcom 8133  ax-addass 8134  ax-mulass 8135  ax-distr 8136  ax-i2m1 8137  ax-0lt1 8138  ax-1rid 8139  ax-0id 8140  ax-rnegex 8141  ax-precex 8142  ax-cnre 8143  ax-pre-ltirr 8144  ax-pre-ltwlin 8145  ax-pre-lttrn 8146  ax-pre-apti 8147  ax-pre-ltadd 8148  ax-pre-mulgt0 8149
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 5971  df-ov 6021  df-oprab 6022  df-mpo 6023  df-1st 6303  df-2nd 6304  df-recs 6471  df-frec 6557  df-1o 6582  df-er 6702  df-map 6819  df-en 6910  df-dom 6911  df-fin 6912  df-pnf 8216  df-mnf 8217  df-xr 8218  df-ltxr 8219  df-le 8220  df-sub 8352  df-neg 8353  df-reap 8755  df-ap 8762  df-inn 9144  df-2 9202  df-n0 9403  df-z 9480  df-uz 9756  df-fz 10244  df-fzo 10378  df-ihash 11038  df-word 11114  df-lsw 11159  df-concat 11168  df-s1 11193  df-ndx 13086  df-slot 13087  df-base 13089  df-vtx 15867  df-clwwlk 16245  df-clwwlkn 16257
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator