Step |
Hyp |
Ref |
Expression |
1 |
|
erclwwlkn.w |
|- W = ( N ClWWalksN G ) |
2 |
|
erclwwlkn.r |
|- .~ = { <. t , u >. | ( t e. W /\ u e. W /\ E. n e. ( 0 ... N ) t = ( u cyclShift n ) ) } |
3 |
1 2
|
eclclwwlkn1 |
|- ( B e. ( W /. .~ ) -> ( B e. ( W /. .~ ) <-> E. x e. W B = { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) ) |
4 |
|
eqeq1 |
|- ( y = Y -> ( y = ( x cyclShift n ) <-> Y = ( x cyclShift n ) ) ) |
5 |
4
|
rexbidv |
|- ( y = Y -> ( E. n e. ( 0 ... N ) y = ( x cyclShift n ) <-> E. n e. ( 0 ... N ) Y = ( x cyclShift n ) ) ) |
6 |
5
|
elrab |
|- ( Y e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( x cyclShift n ) ) ) |
7 |
|
oveq2 |
|- ( n = k -> ( x cyclShift n ) = ( x cyclShift k ) ) |
8 |
7
|
eqeq2d |
|- ( n = k -> ( Y = ( x cyclShift n ) <-> Y = ( x cyclShift k ) ) ) |
9 |
8
|
cbvrexvw |
|- ( E. n e. ( 0 ... N ) Y = ( x cyclShift n ) <-> E. k e. ( 0 ... N ) Y = ( x cyclShift k ) ) |
10 |
|
eqeq1 |
|- ( y = X -> ( y = ( x cyclShift n ) <-> X = ( x cyclShift n ) ) ) |
11 |
10
|
rexbidv |
|- ( y = X -> ( E. n e. ( 0 ... N ) y = ( x cyclShift n ) <-> E. n e. ( 0 ... N ) X = ( x cyclShift n ) ) ) |
12 |
11
|
elrab |
|- ( X e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } <-> ( X e. W /\ E. n e. ( 0 ... N ) X = ( x cyclShift n ) ) ) |
13 |
|
oveq2 |
|- ( n = m -> ( x cyclShift n ) = ( x cyclShift m ) ) |
14 |
13
|
eqeq2d |
|- ( n = m -> ( X = ( x cyclShift n ) <-> X = ( x cyclShift m ) ) ) |
15 |
14
|
cbvrexvw |
|- ( E. n e. ( 0 ... N ) X = ( x cyclShift n ) <-> E. m e. ( 0 ... N ) X = ( x cyclShift m ) ) |
16 |
1
|
eleclclwwlknlem2 |
|- ( ( ( m e. ( 0 ... N ) /\ X = ( x cyclShift m ) ) /\ ( X e. W /\ x e. W ) ) -> ( E. k e. ( 0 ... N ) Y = ( x cyclShift k ) <-> E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) |
17 |
16
|
ex |
|- ( ( m e. ( 0 ... N ) /\ X = ( x cyclShift m ) ) -> ( ( X e. W /\ x e. W ) -> ( E. k e. ( 0 ... N ) Y = ( x cyclShift k ) <-> E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) |
18 |
17
|
rexlimiva |
|- ( E. m e. ( 0 ... N ) X = ( x cyclShift m ) -> ( ( X e. W /\ x e. W ) -> ( E. k e. ( 0 ... N ) Y = ( x cyclShift k ) <-> E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) |
19 |
15 18
|
sylbi |
|- ( E. n e. ( 0 ... N ) X = ( x cyclShift n ) -> ( ( X e. W /\ x e. W ) -> ( E. k e. ( 0 ... N ) Y = ( x cyclShift k ) <-> E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) |
20 |
19
|
expd |
|- ( E. n e. ( 0 ... N ) X = ( x cyclShift n ) -> ( X e. W -> ( x e. W -> ( E. k e. ( 0 ... N ) Y = ( x cyclShift k ) <-> E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) ) |
21 |
20
|
impcom |
|- ( ( X e. W /\ E. n e. ( 0 ... N ) X = ( x cyclShift n ) ) -> ( x e. W -> ( E. k e. ( 0 ... N ) Y = ( x cyclShift k ) <-> E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) |
22 |
12 21
|
sylbi |
|- ( X e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } -> ( x e. W -> ( E. k e. ( 0 ... N ) Y = ( x cyclShift k ) <-> E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) |
23 |
22
|
com12 |
|- ( x e. W -> ( X e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } -> ( E. k e. ( 0 ... N ) Y = ( x cyclShift k ) <-> E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) |
24 |
23
|
ad2antlr |
|- ( ( ( B e. ( W /. .~ ) /\ x e. W ) /\ B = { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) -> ( X e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } -> ( E. k e. ( 0 ... N ) Y = ( x cyclShift k ) <-> E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) |
25 |
24
|
imp |
|- ( ( ( ( B e. ( W /. .~ ) /\ x e. W ) /\ B = { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) /\ X e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) -> ( E. k e. ( 0 ... N ) Y = ( x cyclShift k ) <-> E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) |
26 |
9 25
|
syl5bb |
|- ( ( ( ( B e. ( W /. .~ ) /\ x e. W ) /\ B = { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) /\ X e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) -> ( E. n e. ( 0 ... N ) Y = ( x cyclShift n ) <-> E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) |
27 |
26
|
anbi2d |
|- ( ( ( ( B e. ( W /. .~ ) /\ x e. W ) /\ B = { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) /\ X e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) -> ( ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( x cyclShift n ) ) <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) |
28 |
6 27
|
syl5bb |
|- ( ( ( ( B e. ( W /. .~ ) /\ x e. W ) /\ B = { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) /\ X e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) -> ( Y e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) |
29 |
28
|
ex |
|- ( ( ( B e. ( W /. .~ ) /\ x e. W ) /\ B = { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) -> ( X e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } -> ( Y e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) ) |
30 |
|
eleq2 |
|- ( B = { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } -> ( X e. B <-> X e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) ) |
31 |
|
eleq2 |
|- ( B = { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } -> ( Y e. B <-> Y e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) ) |
32 |
31
|
bibi1d |
|- ( B = { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } -> ( ( Y e. B <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) <-> ( Y e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) ) |
33 |
30 32
|
imbi12d |
|- ( B = { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } -> ( ( X e. B -> ( Y e. B <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) <-> ( X e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } -> ( Y e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) ) ) |
34 |
33
|
adantl |
|- ( ( ( B e. ( W /. .~ ) /\ x e. W ) /\ B = { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) -> ( ( X e. B -> ( Y e. B <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) <-> ( X e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } -> ( Y e. { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) ) ) |
35 |
29 34
|
mpbird |
|- ( ( ( B e. ( W /. .~ ) /\ x e. W ) /\ B = { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } ) -> ( X e. B -> ( Y e. B <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) ) |
36 |
35
|
rexlimdva2 |
|- ( B e. ( W /. .~ ) -> ( E. x e. W B = { y e. W | E. n e. ( 0 ... N ) y = ( x cyclShift n ) } -> ( X e. B -> ( Y e. B <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) ) ) |
37 |
3 36
|
sylbid |
|- ( B e. ( W /. .~ ) -> ( B e. ( W /. .~ ) -> ( X e. B -> ( Y e. B <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) ) ) |
38 |
37
|
pm2.43i |
|- ( B e. ( W /. .~ ) -> ( X e. B -> ( Y e. B <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) ) |
39 |
38
|
imp |
|- ( ( B e. ( W /. .~ ) /\ X e. B ) -> ( Y e. B <-> ( Y e. W /\ E. n e. ( 0 ... N ) Y = ( X cyclShift n ) ) ) ) |