Step |
Hyp |
Ref |
Expression |
1 |
|
cshwrepswhash1.m |
|- M = { w e. Word V | E. n e. ( 0 ..^ ( # ` W ) ) ( W cyclShift n ) = w } |
2 |
|
0ex |
|- (/) e. _V |
3 |
|
eleq1 |
|- ( W = (/) -> ( W e. _V <-> (/) e. _V ) ) |
4 |
2 3
|
mpbiri |
|- ( W = (/) -> W e. _V ) |
5 |
|
hasheq0 |
|- ( W e. _V -> ( ( # ` W ) = 0 <-> W = (/) ) ) |
6 |
5
|
bicomd |
|- ( W e. _V -> ( W = (/) <-> ( # ` W ) = 0 ) ) |
7 |
4 6
|
syl |
|- ( W = (/) -> ( W = (/) <-> ( # ` W ) = 0 ) ) |
8 |
7
|
ibi |
|- ( W = (/) -> ( # ` W ) = 0 ) |
9 |
8
|
oveq2d |
|- ( W = (/) -> ( 0 ..^ ( # ` W ) ) = ( 0 ..^ 0 ) ) |
10 |
|
fzo0 |
|- ( 0 ..^ 0 ) = (/) |
11 |
9 10
|
eqtrdi |
|- ( W = (/) -> ( 0 ..^ ( # ` W ) ) = (/) ) |
12 |
11
|
rexeqdv |
|- ( W = (/) -> ( E. n e. ( 0 ..^ ( # ` W ) ) ( W cyclShift n ) = w <-> E. n e. (/) ( W cyclShift n ) = w ) ) |
13 |
12
|
rabbidv |
|- ( W = (/) -> { w e. Word V | E. n e. ( 0 ..^ ( # ` W ) ) ( W cyclShift n ) = w } = { w e. Word V | E. n e. (/) ( W cyclShift n ) = w } ) |
14 |
|
rex0 |
|- -. E. n e. (/) ( W cyclShift n ) = w |
15 |
14
|
a1i |
|- ( W = (/) -> -. E. n e. (/) ( W cyclShift n ) = w ) |
16 |
15
|
ralrimivw |
|- ( W = (/) -> A. w e. Word V -. E. n e. (/) ( W cyclShift n ) = w ) |
17 |
|
rabeq0 |
|- ( { w e. Word V | E. n e. (/) ( W cyclShift n ) = w } = (/) <-> A. w e. Word V -. E. n e. (/) ( W cyclShift n ) = w ) |
18 |
16 17
|
sylibr |
|- ( W = (/) -> { w e. Word V | E. n e. (/) ( W cyclShift n ) = w } = (/) ) |
19 |
13 18
|
eqtrd |
|- ( W = (/) -> { w e. Word V | E. n e. ( 0 ..^ ( # ` W ) ) ( W cyclShift n ) = w } = (/) ) |
20 |
1 19
|
eqtrid |
|- ( W = (/) -> M = (/) ) |
21 |
20
|
fveq2d |
|- ( W = (/) -> ( # ` M ) = ( # ` (/) ) ) |
22 |
|
hash0 |
|- ( # ` (/) ) = 0 |
23 |
21 22
|
eqtrdi |
|- ( W = (/) -> ( # ` M ) = 0 ) |