| Step |
Hyp |
Ref |
Expression |
| 1 |
|
cycpmconjs.c |
|- C = ( M " ( `' # " { P } ) ) |
| 2 |
|
cycpmconjs.s |
|- S = ( SymGrp ` D ) |
| 3 |
|
cycpmconjs.n |
|- N = ( # ` D ) |
| 4 |
|
cycpmconjs.m |
|- M = ( toCyc ` D ) |
| 5 |
|
cycpmconjslem1.d |
|- ( ph -> D e. V ) |
| 6 |
|
cycpmconjslem1.w |
|- ( ph -> W e. Word D ) |
| 7 |
|
cycpmconjslem1.1 |
|- ( ph -> W : dom W -1-1-> D ) |
| 8 |
|
cycpmconjslem1.2 |
|- ( ph -> ( # ` W ) = P ) |
| 9 |
|
resco |
|- ( ( `' W o. ( M ` W ) ) |` ran W ) = ( `' W o. ( ( M ` W ) |` ran W ) ) |
| 10 |
9
|
coeq1i |
|- ( ( ( `' W o. ( M ` W ) ) |` ran W ) o. W ) = ( ( `' W o. ( ( M ` W ) |` ran W ) ) o. W ) |
| 11 |
|
ssid |
|- ran W C_ ran W |
| 12 |
|
cores |
|- ( ran W C_ ran W -> ( ( ( `' W o. ( M ` W ) ) |` ran W ) o. W ) = ( ( `' W o. ( M ` W ) ) o. W ) ) |
| 13 |
11 12
|
ax-mp |
|- ( ( ( `' W o. ( M ` W ) ) |` ran W ) o. W ) = ( ( `' W o. ( M ` W ) ) o. W ) |
| 14 |
|
coass |
|- ( ( `' W o. ( ( M ` W ) |` ran W ) ) o. W ) = ( `' W o. ( ( ( M ` W ) |` ran W ) o. W ) ) |
| 15 |
10 13 14
|
3eqtr3i |
|- ( ( `' W o. ( M ` W ) ) o. W ) = ( `' W o. ( ( ( M ` W ) |` ran W ) o. W ) ) |
| 16 |
4 5 6 7
|
tocycfvres1 |
|- ( ph -> ( ( M ` W ) |` ran W ) = ( ( W cyclShift 1 ) o. `' W ) ) |
| 17 |
16
|
coeq1d |
|- ( ph -> ( ( ( M ` W ) |` ran W ) o. W ) = ( ( ( W cyclShift 1 ) o. `' W ) o. W ) ) |
| 18 |
|
coass |
|- ( ( ( W cyclShift 1 ) o. `' W ) o. W ) = ( ( W cyclShift 1 ) o. ( `' W o. W ) ) |
| 19 |
|
f1f1orn |
|- ( W : dom W -1-1-> D -> W : dom W -1-1-onto-> ran W ) |
| 20 |
|
f1ococnv1 |
|- ( W : dom W -1-1-onto-> ran W -> ( `' W o. W ) = ( _I |` dom W ) ) |
| 21 |
7 19 20
|
3syl |
|- ( ph -> ( `' W o. W ) = ( _I |` dom W ) ) |
| 22 |
21
|
coeq2d |
|- ( ph -> ( ( W cyclShift 1 ) o. ( `' W o. W ) ) = ( ( W cyclShift 1 ) o. ( _I |` dom W ) ) ) |
| 23 |
|
coires1 |
|- ( ( W cyclShift 1 ) o. ( _I |` dom W ) ) = ( ( W cyclShift 1 ) |` dom W ) |
| 24 |
22 23
|
eqtr2di |
|- ( ph -> ( ( W cyclShift 1 ) |` dom W ) = ( ( W cyclShift 1 ) o. ( `' W o. W ) ) ) |
| 25 |
18 24
|
eqtr4id |
|- ( ph -> ( ( ( W cyclShift 1 ) o. `' W ) o. W ) = ( ( W cyclShift 1 ) |` dom W ) ) |
| 26 |
|
1zzd |
|- ( ph -> 1 e. ZZ ) |
| 27 |
|
cshwfn |
|- ( ( W e. Word D /\ 1 e. ZZ ) -> ( W cyclShift 1 ) Fn ( 0 ..^ ( # ` W ) ) ) |
| 28 |
6 26 27
|
syl2anc |
|- ( ph -> ( W cyclShift 1 ) Fn ( 0 ..^ ( # ` W ) ) ) |
| 29 |
|
wrddm |
|- ( W e. Word D -> dom W = ( 0 ..^ ( # ` W ) ) ) |
| 30 |
6 29
|
syl |
|- ( ph -> dom W = ( 0 ..^ ( # ` W ) ) ) |
| 31 |
30
|
fneq2d |
|- ( ph -> ( ( W cyclShift 1 ) Fn dom W <-> ( W cyclShift 1 ) Fn ( 0 ..^ ( # ` W ) ) ) ) |
| 32 |
28 31
|
mpbird |
|- ( ph -> ( W cyclShift 1 ) Fn dom W ) |
| 33 |
|
fnresdm |
|- ( ( W cyclShift 1 ) Fn dom W -> ( ( W cyclShift 1 ) |` dom W ) = ( W cyclShift 1 ) ) |
| 34 |
32 33
|
syl |
|- ( ph -> ( ( W cyclShift 1 ) |` dom W ) = ( W cyclShift 1 ) ) |
| 35 |
17 25 34
|
3eqtrd |
|- ( ph -> ( ( ( M ` W ) |` ran W ) o. W ) = ( W cyclShift 1 ) ) |
| 36 |
35
|
coeq2d |
|- ( ph -> ( `' W o. ( ( ( M ` W ) |` ran W ) o. W ) ) = ( `' W o. ( W cyclShift 1 ) ) ) |
| 37 |
15 36
|
eqtrid |
|- ( ph -> ( ( `' W o. ( M ` W ) ) o. W ) = ( `' W o. ( W cyclShift 1 ) ) ) |
| 38 |
|
wrdfn |
|- ( W e. Word D -> W Fn ( 0 ..^ ( # ` W ) ) ) |
| 39 |
6 38
|
syl |
|- ( ph -> W Fn ( 0 ..^ ( # ` W ) ) ) |
| 40 |
|
df-f |
|- ( W : ( 0 ..^ ( # ` W ) ) --> ran W <-> ( W Fn ( 0 ..^ ( # ` W ) ) /\ ran W C_ ran W ) ) |
| 41 |
39 11 40
|
sylanblrc |
|- ( ph -> W : ( 0 ..^ ( # ` W ) ) --> ran W ) |
| 42 |
|
iswrdi |
|- ( W : ( 0 ..^ ( # ` W ) ) --> ran W -> W e. Word ran W ) |
| 43 |
41 42
|
syl |
|- ( ph -> W e. Word ran W ) |
| 44 |
|
f1ocnv |
|- ( W : dom W -1-1-onto-> ran W -> `' W : ran W -1-1-onto-> dom W ) |
| 45 |
|
f1of |
|- ( `' W : ran W -1-1-onto-> dom W -> `' W : ran W --> dom W ) |
| 46 |
7 19 44 45
|
4syl |
|- ( ph -> `' W : ran W --> dom W ) |
| 47 |
|
cshco |
|- ( ( W e. Word ran W /\ 1 e. ZZ /\ `' W : ran W --> dom W ) -> ( `' W o. ( W cyclShift 1 ) ) = ( ( `' W o. W ) cyclShift 1 ) ) |
| 48 |
43 26 46 47
|
syl3anc |
|- ( ph -> ( `' W o. ( W cyclShift 1 ) ) = ( ( `' W o. W ) cyclShift 1 ) ) |
| 49 |
8
|
oveq2d |
|- ( ph -> ( 0 ..^ ( # ` W ) ) = ( 0 ..^ P ) ) |
| 50 |
30 49
|
eqtrd |
|- ( ph -> dom W = ( 0 ..^ P ) ) |
| 51 |
50
|
reseq2d |
|- ( ph -> ( _I |` dom W ) = ( _I |` ( 0 ..^ P ) ) ) |
| 52 |
21 51
|
eqtrd |
|- ( ph -> ( `' W o. W ) = ( _I |` ( 0 ..^ P ) ) ) |
| 53 |
52
|
oveq1d |
|- ( ph -> ( ( `' W o. W ) cyclShift 1 ) = ( ( _I |` ( 0 ..^ P ) ) cyclShift 1 ) ) |
| 54 |
37 48 53
|
3eqtrd |
|- ( ph -> ( ( `' W o. ( M ` W ) ) o. W ) = ( ( _I |` ( 0 ..^ P ) ) cyclShift 1 ) ) |