This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The set of cyclical shifts of a word representing a closed walk is the set of closed walks represented by cyclical shifts of a word. (Contributed by Alexander van der Vekens, 15-Jun-2018) (Revised by AV, 30-Apr-2021)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | clwwlknscsh | |- ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) -> { y e. ( N ClWWalksN G ) | E. n e. ( 0 ... N ) y = ( W cyclShift n ) } = { y e. Word ( Vtx ` G ) | E. n e. ( 0 ... N ) y = ( W cyclShift n ) } ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | eqeq1 | |- ( y = x -> ( y = ( W cyclShift n ) <-> x = ( W cyclShift n ) ) ) |
|
| 2 | 1 | rexbidv | |- ( y = x -> ( E. n e. ( 0 ... N ) y = ( W cyclShift n ) <-> E. n e. ( 0 ... N ) x = ( W cyclShift n ) ) ) |
| 3 | 2 | cbvrabv | |- { y e. ( N ClWWalksN G ) | E. n e. ( 0 ... N ) y = ( W cyclShift n ) } = { x e. ( N ClWWalksN G ) | E. n e. ( 0 ... N ) x = ( W cyclShift n ) } |
| 4 | eqid | |- ( Vtx ` G ) = ( Vtx ` G ) |
|
| 5 | 4 | clwwlknwrd | |- ( w e. ( N ClWWalksN G ) -> w e. Word ( Vtx ` G ) ) |
| 6 | 5 | ad2antrl | |- ( ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) /\ ( w e. ( N ClWWalksN G ) /\ E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) ) -> w e. Word ( Vtx ` G ) ) |
| 7 | simprr | |- ( ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) /\ ( w e. ( N ClWWalksN G ) /\ E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) ) -> E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) |
|
| 8 | 6 7 | jca | |- ( ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) /\ ( w e. ( N ClWWalksN G ) /\ E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) ) -> ( w e. Word ( Vtx ` G ) /\ E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) ) |
| 9 | simprr | |- ( ( ( w e. Word ( Vtx ` G ) /\ n e. ( 0 ... N ) ) /\ ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) ) -> W e. ( N ClWWalksN G ) ) |
|
| 10 | simpllr | |- ( ( ( ( w e. Word ( Vtx ` G ) /\ n e. ( 0 ... N ) ) /\ ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) ) /\ w = ( W cyclShift n ) ) -> n e. ( 0 ... N ) ) |
|
| 11 | clwwnisshclwwsn | |- ( ( W e. ( N ClWWalksN G ) /\ n e. ( 0 ... N ) ) -> ( W cyclShift n ) e. ( N ClWWalksN G ) ) |
|
| 12 | 9 10 11 | syl2an2r | |- ( ( ( ( w e. Word ( Vtx ` G ) /\ n e. ( 0 ... N ) ) /\ ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) ) /\ w = ( W cyclShift n ) ) -> ( W cyclShift n ) e. ( N ClWWalksN G ) ) |
| 13 | eleq1 | |- ( w = ( W cyclShift n ) -> ( w e. ( N ClWWalksN G ) <-> ( W cyclShift n ) e. ( N ClWWalksN G ) ) ) |
|
| 14 | 13 | adantl | |- ( ( ( ( w e. Word ( Vtx ` G ) /\ n e. ( 0 ... N ) ) /\ ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) ) /\ w = ( W cyclShift n ) ) -> ( w e. ( N ClWWalksN G ) <-> ( W cyclShift n ) e. ( N ClWWalksN G ) ) ) |
| 15 | 12 14 | mpbird | |- ( ( ( ( w e. Word ( Vtx ` G ) /\ n e. ( 0 ... N ) ) /\ ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) ) /\ w = ( W cyclShift n ) ) -> w e. ( N ClWWalksN G ) ) |
| 16 | 15 | exp31 | |- ( ( w e. Word ( Vtx ` G ) /\ n e. ( 0 ... N ) ) -> ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) -> ( w = ( W cyclShift n ) -> w e. ( N ClWWalksN G ) ) ) ) |
| 17 | 16 | com23 | |- ( ( w e. Word ( Vtx ` G ) /\ n e. ( 0 ... N ) ) -> ( w = ( W cyclShift n ) -> ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) -> w e. ( N ClWWalksN G ) ) ) ) |
| 18 | 17 | rexlimdva | |- ( w e. Word ( Vtx ` G ) -> ( E. n e. ( 0 ... N ) w = ( W cyclShift n ) -> ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) -> w e. ( N ClWWalksN G ) ) ) ) |
| 19 | 18 | imp | |- ( ( w e. Word ( Vtx ` G ) /\ E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) -> ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) -> w e. ( N ClWWalksN G ) ) ) |
| 20 | 19 | impcom | |- ( ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) /\ ( w e. Word ( Vtx ` G ) /\ E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) ) -> w e. ( N ClWWalksN G ) ) |
| 21 | simprr | |- ( ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) /\ ( w e. Word ( Vtx ` G ) /\ E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) ) -> E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) |
|
| 22 | 20 21 | jca | |- ( ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) /\ ( w e. Word ( Vtx ` G ) /\ E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) ) -> ( w e. ( N ClWWalksN G ) /\ E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) ) |
| 23 | 8 22 | impbida | |- ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) -> ( ( w e. ( N ClWWalksN G ) /\ E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) <-> ( w e. Word ( Vtx ` G ) /\ E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) ) ) |
| 24 | eqeq1 | |- ( x = w -> ( x = ( W cyclShift n ) <-> w = ( W cyclShift n ) ) ) |
|
| 25 | 24 | rexbidv | |- ( x = w -> ( E. n e. ( 0 ... N ) x = ( W cyclShift n ) <-> E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) ) |
| 26 | 25 | elrab | |- ( w e. { x e. ( N ClWWalksN G ) | E. n e. ( 0 ... N ) x = ( W cyclShift n ) } <-> ( w e. ( N ClWWalksN G ) /\ E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) ) |
| 27 | eqeq1 | |- ( y = w -> ( y = ( W cyclShift n ) <-> w = ( W cyclShift n ) ) ) |
|
| 28 | 27 | rexbidv | |- ( y = w -> ( E. n e. ( 0 ... N ) y = ( W cyclShift n ) <-> E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) ) |
| 29 | 28 | elrab | |- ( w e. { y e. Word ( Vtx ` G ) | E. n e. ( 0 ... N ) y = ( W cyclShift n ) } <-> ( w e. Word ( Vtx ` G ) /\ E. n e. ( 0 ... N ) w = ( W cyclShift n ) ) ) |
| 30 | 23 26 29 | 3bitr4g | |- ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) -> ( w e. { x e. ( N ClWWalksN G ) | E. n e. ( 0 ... N ) x = ( W cyclShift n ) } <-> w e. { y e. Word ( Vtx ` G ) | E. n e. ( 0 ... N ) y = ( W cyclShift n ) } ) ) |
| 31 | 30 | eqrdv | |- ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) -> { x e. ( N ClWWalksN G ) | E. n e. ( 0 ... N ) x = ( W cyclShift n ) } = { y e. Word ( Vtx ` G ) | E. n e. ( 0 ... N ) y = ( W cyclShift n ) } ) |
| 32 | 3 31 | eqtrid | |- ( ( N e. NN0 /\ W e. ( N ClWWalksN G ) ) -> { y e. ( N ClWWalksN G ) | E. n e. ( 0 ... N ) y = ( W cyclShift n ) } = { y e. Word ( Vtx ` G ) | E. n e. ( 0 ... N ) y = ( W cyclShift n ) } ) |