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
|
syl5eq |
|- ( 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 |
7 19 44
|
3syl |
|- ( ph -> `' W : ran W -1-1-onto-> dom W ) |
46 |
|
f1of |
|- ( `' W : ran W -1-1-onto-> dom W -> `' W : ran W --> dom W ) |
47 |
45 46
|
syl |
|- ( ph -> `' W : ran W --> dom W ) |
48 |
|
cshco |
|- ( ( W e. Word ran W /\ 1 e. ZZ /\ `' W : ran W --> dom W ) -> ( `' W o. ( W cyclShift 1 ) ) = ( ( `' W o. W ) cyclShift 1 ) ) |
49 |
43 26 47 48
|
syl3anc |
|- ( ph -> ( `' W o. ( W cyclShift 1 ) ) = ( ( `' W o. W ) cyclShift 1 ) ) |
50 |
8
|
oveq2d |
|- ( ph -> ( 0 ..^ ( # ` W ) ) = ( 0 ..^ P ) ) |
51 |
30 50
|
eqtrd |
|- ( ph -> dom W = ( 0 ..^ P ) ) |
52 |
51
|
reseq2d |
|- ( ph -> ( _I |` dom W ) = ( _I |` ( 0 ..^ P ) ) ) |
53 |
21 52
|
eqtrd |
|- ( ph -> ( `' W o. W ) = ( _I |` ( 0 ..^ P ) ) ) |
54 |
53
|
oveq1d |
|- ( ph -> ( ( `' W o. W ) cyclShift 1 ) = ( ( _I |` ( 0 ..^ P ) ) cyclShift 1 ) ) |
55 |
37 49 54
|
3eqtrd |
|- ( ph -> ( ( `' W o. ( M ` W ) ) o. W ) = ( ( _I |` ( 0 ..^ P ) ) cyclShift 1 ) ) |