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

Theorem clwwlkext2edg 16663
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 16653 . . 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 16657 . . . 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 10616 . . . . . . . . . . . . . . 15  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  2 )  e.  ( 0..^ ( N  -  1 ) ) )
653ad2ant3 1051 . . . . . . . . . . . . . 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 6092 . . . . . . . . . . . . . . . 16  |-  ( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( ( `  ( W ++  <" Z "> ) )  - 
1 )  =  ( N  -  1 ) )
98oveq2d 6101 . . . . . . . . . . . . . . 15  |-  ( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( 0..^ ( ( `  ( W ++  <" Z "> ) )  -  1 ) )  =  ( 0..^ ( N  - 
1 ) ) )
109eleq2d 2308 . . . . . . . . . . . . . 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 5695 . . . . . . . . . . . . . . 15  |-  ( i  =  ( N  - 
2 )  ->  (
( W ++  <" Z "> ) `  i
)  =  ( ( W ++  <" Z "> ) `  ( N  -  2 ) ) )
14 fvoveq1 6108 . . . . . . . . . . . . . . 15  |-  ( i  =  ( N  - 
2 )  ->  (
( W ++  <" Z "> ) `  (
i  +  1 ) )  =  ( ( W ++  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) )
1513, 14preq12d 3796 . . . . . . . . . . . . . 14  |-  ( i  =  ( N  - 
2 )  ->  { ( ( W ++  <" Z "> ) `  i
) ,  ( ( W ++  <" Z "> ) `  ( i  +  1 ) ) }  =  { ( ( W ++  <" Z "> ) `  ( N  -  2 ) ) ,  ( ( W ++  <" Z "> ) `  ( ( N  -  2 )  +  1 ) ) } )
1615eleq1d 2307 . . . . . . . . . . . . 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 2925 . . . . . . . . . . . 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 11404 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( ( `  ( W ++  <" Z "> ) )  -  1 )  =  ( `  W
) )
2019eqcomd 2244 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( W  e. Word  V  /\  Z  e.  V )  ->  ( `  W )  =  ( ( `  ( W ++  <" Z "> ) )  -  1 ) )
2120, 8sylan9eq 2291 . . . . . . . . . . . . . . . . . . 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 1048 . . . . . . . . . . . . . . . . 17  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( `  ( W ++  <" Z "> ) )  =  N  ->  ( `  W )  =  ( N  - 
1 ) ) )
24 eluzelcn 9933 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  N  e.  CC )
25 1cnd 8342 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  1  e.  CC )
2624, 25, 25subsub4d 8668 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( ( N  -  1 )  -  1 )  =  ( N  -  (
1  +  1 ) ) )
27 1p1e2 9421 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( 1  +  1 )  =  2
2827a1i 9 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( 1  +  1 )  =  2 )
2928oveq2d 6101 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  ( 1  +  1 ) )  =  ( N  -  2 ) )
3026, 29eqtr2d 2272 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  2 )  =  ( ( N  - 
1 )  -  1 ) )
31303ad2ant3 1051 . . . . . . . . . . . . . . . . . . 19  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( N  -  2 )  =  ( ( N  -  1 )  -  1 ) )
32 oveq1 6092 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( `  W )  =  ( N  -  1 )  ->  ( ( `  W
)  -  1 )  =  ( ( N  -  1 )  - 
1 ) )
3332eqcomd 2244 . . . . . . . . . . . . . . . . . . 19  |-  ( ( `  W )  =  ( N  -  1 )  ->  ( ( N  -  1 )  - 
1 )  =  ( ( `  W )  -  1 ) )
3431, 33sylan9eq 2291 . . . . . . . . . . . . . . . . . 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 5699 . . . . . . . . . . . . . 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 1031 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  W  e. Word  V
)
40 s1cl 11389 . . . . . . . . . . . . . . . . . . . . 21  |-  ( Z  e.  V  ->  <" Z ">  e. Word  V )
41403ad2ant2 1050 . . . . . . . . . . . . . . . . . . . 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 9927 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ( ZZ>= `  2
)  <->  ( 2  e.  ZZ  /\  N  e.  ZZ  /\  2  <_  N ) )
44 zre 9648 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( N  e.  ZZ  ->  N  e.  RR )
45 1red 8341 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  e.  RR )
46 2re 9374 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 9474 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 8751 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( N  e.  RR  /\  2  <_  N )  -> 
1  <  N )
53 1red 8341 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( N  e.  RR  ->  1  e.  RR )
54 id 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( N  e.  RR  ->  N  e.  RR )
5553, 54posdifd 8860 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1224 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( 2  e.  ZZ  /\  N  e.  ZZ  /\  2  <_  N )  ->  0  <  ( N  -  1 ) )
6243, 61sylbi 121 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  ( ZZ>= `  2
)  ->  0  <  ( N  -  1 ) )
6362ad2antlr 493 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( W  e. Word  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  0  <  ( N  -  1 ) )
64 breq2 4134 . . . . . . . . . . . . . . . . . . . . . . 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 11323 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( W  e. Word  V  ->  W  e.  Fin )
68 fihashneq0 11233 . . . . . . . . . . . . . . . . . . . . . . . 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 1185 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  W  =/=  (/) )
7439, 42, 733jca 1208 . . . . . . . . . . . . . . . . . 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 11372 . . . . . . . . . . . . . . 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 2271 . . . . . . . . . . . . 13  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( ( W ++  <" Z "> ) `  ( N  -  2 ) )  =  (lastS `  W
) )
81 2m1e1 9422 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( 2  -  1 )  =  1
8281a1i 9 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( 2  -  1 )  =  1 )
8382eqcomd 2244 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  ( ZZ>= `  2
)  ->  1  =  ( 2  -  1 ) )
8483oveq2d 6101 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  1 )  =  ( N  -  (
2  -  1 ) ) )
85 2cnd 9377 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  ( ZZ>= `  2
)  ->  2  e.  CC )
8624, 85, 25subsubd 8665 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( N  -  ( 2  -  1 ) )  =  ( ( N  - 
2 )  +  1 ) )
8784, 86eqtr2d 2272 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  ( ZZ>= `  2
)  ->  ( ( N  -  2 )  +  1 )  =  ( N  -  1 ) )
88873ad2ant3 1051 . . . . . . . . . . . . . . . . . 18  |-  ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>= ` 
2 ) )  -> 
( ( N  - 
2 )  +  1 )  =  ( N  -  1 ) )
89 eqeq2 2248 . . . . . . . . . . . . . . . . . 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 5699 . . . . . . . . . . . . . 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 1048 . . . . . . . . . . . . . . . 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 11410 . . . . . . . . . . . . . . 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 2271 . . . . . . . . . . . . 13  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  ( W ++  <" Z "> ) )  =  N )  ->  ( ( W ++  <" Z "> ) `  ( ( N  -  2 )  +  1 ) )  =  Z )
10080, 99preq12d 3796 . . . . . . . . . . . 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 2307 . . . . . . . . . . 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 1050 . . . . . . 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 11411 . . . . . . . . . . . . . . 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 1051 . . . . . . . . . . . . . . . . 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 11371 . . . . . . . . . . . . . . 15  |-  ( ( W  e. Word  V  /\  <" Z ">  e. Word  V  /\  0  < 
( `  W ) )  ->  ( ( W ++ 
<" Z "> ) `  0 )  =  ( W ` 
0 ) )
11539, 42, 113, 114syl3anc 1278 . . . . . . . . . . . . . 14  |-  ( ( ( W  e. Word  V  /\  Z  e.  V  /\  N  e.  ( ZZ>=
`  2 ) )  /\  ( `  W
)  =  ( N  -  1 ) )  ->  ( ( W ++ 
<" Z "> ) `  0 )  =  ( W ` 
0 ) )
116109, 115preq12d 3796 . . . . . . . . . . . . 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 2307 . . . . . . . . 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 1051 . . . . . . 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
This proof depends on syntax axioms:    -> wi 4    /\ wa 104    <-> wb 105    /\ w3a 1009    = wceq 1402    e. wcel 2209    =/= wne 2420   A.wral 2528   (/)c0 3520   {cpr 3710   class class class wbr 4130   ` cfv 5377  (class class class)co 6085   Fincfn 7022   RRcr 8178   0cc0 8179   1c1 8180    + caddc 8182    < clt 8360    <_ cle 8361    - cmin 8497   NNcn 9304   2c2 9355   ZZcz 9644   ZZ>=cuz 9921  ..^cfzo 10549  ♯chash 11214  Word cword 11304  lastSclsw 11349   ++ cconcat 11358   <"cs1 11383  Vtxcvtx 16253  Edgcedg 16298   ClWWalksN cclwwlkn 16644
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 623  ax-in2 624  ax-io 721  ax-5 1500  ax-7 1501  ax-gen 1502  ax-ie1 1546  ax-ie2 1547  ax-8 1557  ax-10 1558  ax-11 1559  ax-i12 1560  ax-bndl 1562  ax-4 1563  ax-17 1579  ax-i9 1583  ax-ial 1587  ax-i5r 1588  ax-14 2212  ax-ext 2220  ax-coll 4246  ax-sep 4249  ax-nul 4259  ax-pow 4311  ax-pr 4346  ax-un 4578  ax-setind 4684  ax-iinf 4735  ax-cnex 8270  ax-resscn 8271  ax-1cn 8272  ax-1re 8273  ax-icn 8274  ax-addcl 8275  ax-addrcl 8276  ax-mulcl 8277  ax-mulrcl 8278  ax-addcom 8279  ax-mulcom 8280  ax-addass 8281  ax-mulass 8282  ax-distr 8283  ax-i2m1 8284  ax-0lt1 8285  ax-1rid 8286  ax-0id 8287  ax-rnegex 8288  ax-precex 8289  ax-cnre 8290  ax-pre-ltirr 8291  ax-pre-ltwlin 8292  ax-pre-lttrn 8293  ax-pre-apti 8294  ax-pre-ltadd 8295  ax-pre-mulgt0 8296
This proof depends on definitions:  df-bi 117  df-dc 847  df-3or 1010  df-3an 1011  df-tru 1405  df-fal 1408  df-nf 1514  df-sb 1816  df-eu 2089  df-mo 2090  df-clab 2225  df-cleq 2231  df-clel 2234  df-nfc 2381  df-ne 2421  df-nel 2516  df-ral 2533  df-rex 2534  df-reu 2535  df-rab 2537  df-v 2823  df-sbc 3052  df-csb 3148  df-dif 3222  df-un 3224  df-in 3226  df-ss 3233  df-nul 3521  df-if 3639  df-pw 3690  df-sn 3715  df-pr 3716  df-op 3718  df-uni 3936  df-int 3971  df-iun 4014  df-br 4131  df-opab 4193  df-mpt 4194  df-tr 4230  df-id 4438  df-iord 4511  df-on 4513  df-ilim 4514  df-suc 4516  df-iom 4738  df-xp 4780  df-rel 4781  df-cnv 4782  df-co 4783  df-dm 4784  df-rn 4785  df-res 4786  df-ima 4787  df-iota 5337  df-fun 5379  df-fn 5380  df-f 5381  df-f1 5382  df-fo 5383  df-f1o 5384  df-fv 5385  df-riota 6038  df-ov 6088  df-oprab 6089  df-mpo 6090  df-1st 6374  df-2nd 6375  df-recs 6576  df-frec 6662  df-1o 6687  df-er 6807  df-map 6924  df-en 7023  df-dom 7024  df-fin 7025  df-pnf 8362  df-mnf 8363  df-xr 8364  df-ltxr 8365  df-le 8366  df-sub 8499  df-neg 8500  df-reap 8903  df-ap 8910  df-inn 9305  df-2 9363  df-n0 9564  df-z 9645  df-uz 9922  df-fz 10412  df-fzo 10550  df-ihash 11215  df-word 11305  df-lsw 11350  df-concat 11359  df-s1 11384  df-ndx 13355  df-slot 13356  df-base 13358  df-vtx 16255  df-clwwlk 16633  df-clwwlkn 16645
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator