| Step |
Hyp |
Ref |
Expression |
| 1 |
|
cycpmco2.c |
|- M = ( toCyc ` D ) |
| 2 |
|
cycpmco2.s |
|- S = ( SymGrp ` D ) |
| 3 |
|
cycpmco2.d |
|- ( ph -> D e. V ) |
| 4 |
|
cycpmco2.w |
|- ( ph -> W e. dom M ) |
| 5 |
|
cycpmco2.i |
|- ( ph -> I e. ( D \ ran W ) ) |
| 6 |
|
cycpmco2.j |
|- ( ph -> J e. ran W ) |
| 7 |
|
cycpmco2.e |
|- E = ( ( `' W ` J ) + 1 ) |
| 8 |
|
cycpmco2.1 |
|- U = ( W splice <. E , E , <" I "> >. ) |
| 9 |
|
cycpmco2lem7.1 |
|- ( ph -> K e. ran W ) |
| 10 |
|
cycpmco2lem7.2 |
|- ( ph -> K =/= J ) |
| 11 |
|
cycpmco2lem7.3 |
|- ( ph -> ( `' U ` K ) e. ( 0 ..^ E ) ) |
| 12 |
|
ssrab2 |
|- { w e. Word D | w : dom w -1-1-> D } C_ Word D |
| 13 |
|
eqid |
|- ( Base ` S ) = ( Base ` S ) |
| 14 |
1 2 13
|
tocycf |
|- ( D e. V -> M : { w e. Word D | w : dom w -1-1-> D } --> ( Base ` S ) ) |
| 15 |
3 14
|
syl |
|- ( ph -> M : { w e. Word D | w : dom w -1-1-> D } --> ( Base ` S ) ) |
| 16 |
15
|
fdmd |
|- ( ph -> dom M = { w e. Word D | w : dom w -1-1-> D } ) |
| 17 |
4 16
|
eleqtrd |
|- ( ph -> W e. { w e. Word D | w : dom w -1-1-> D } ) |
| 18 |
12 17
|
sselid |
|- ( ph -> W e. Word D ) |
| 19 |
5
|
eldifad |
|- ( ph -> I e. D ) |
| 20 |
19
|
s1cld |
|- ( ph -> <" I "> e. Word D ) |
| 21 |
|
splcl |
|- ( ( W e. Word D /\ <" I "> e. Word D ) -> ( W splice <. E , E , <" I "> >. ) e. Word D ) |
| 22 |
18 20 21
|
syl2anc |
|- ( ph -> ( W splice <. E , E , <" I "> >. ) e. Word D ) |
| 23 |
8 22
|
eqeltrid |
|- ( ph -> U e. Word D ) |
| 24 |
1 2 3 4 5 6 7 8
|
cycpmco2f1 |
|- ( ph -> U : dom U -1-1-> D ) |
| 25 |
|
id |
|- ( w = W -> w = W ) |
| 26 |
|
dmeq |
|- ( w = W -> dom w = dom W ) |
| 27 |
|
eqidd |
|- ( w = W -> D = D ) |
| 28 |
25 26 27
|
f1eq123d |
|- ( w = W -> ( w : dom w -1-1-> D <-> W : dom W -1-1-> D ) ) |
| 29 |
28
|
elrab |
|- ( W e. { w e. Word D | w : dom w -1-1-> D } <-> ( W e. Word D /\ W : dom W -1-1-> D ) ) |
| 30 |
17 29
|
sylib |
|- ( ph -> ( W e. Word D /\ W : dom W -1-1-> D ) ) |
| 31 |
30
|
simprd |
|- ( ph -> W : dom W -1-1-> D ) |
| 32 |
|
f1cnv |
|- ( W : dom W -1-1-> D -> `' W : ran W -1-1-onto-> dom W ) |
| 33 |
|
f1of |
|- ( `' W : ran W -1-1-onto-> dom W -> `' W : ran W --> dom W ) |
| 34 |
31 32 33
|
3syl |
|- ( ph -> `' W : ran W --> dom W ) |
| 35 |
34 6
|
ffvelcdmd |
|- ( ph -> ( `' W ` J ) e. dom W ) |
| 36 |
|
wrddm |
|- ( W e. Word D -> dom W = ( 0 ..^ ( # ` W ) ) ) |
| 37 |
18 36
|
syl |
|- ( ph -> dom W = ( 0 ..^ ( # ` W ) ) ) |
| 38 |
35 37
|
eleqtrd |
|- ( ph -> ( `' W ` J ) e. ( 0 ..^ ( # ` W ) ) ) |
| 39 |
|
fzofzp1 |
|- ( ( `' W ` J ) e. ( 0 ..^ ( # ` W ) ) -> ( ( `' W ` J ) + 1 ) e. ( 0 ... ( # ` W ) ) ) |
| 40 |
38 39
|
syl |
|- ( ph -> ( ( `' W ` J ) + 1 ) e. ( 0 ... ( # ` W ) ) ) |
| 41 |
7 40
|
eqeltrid |
|- ( ph -> E e. ( 0 ... ( # ` W ) ) ) |
| 42 |
|
elfzuz3 |
|- ( E e. ( 0 ... ( # ` W ) ) -> ( # ` W ) e. ( ZZ>= ` E ) ) |
| 43 |
|
fzoss2 |
|- ( ( # ` W ) e. ( ZZ>= ` E ) -> ( 0 ..^ E ) C_ ( 0 ..^ ( # ` W ) ) ) |
| 44 |
41 42 43
|
3syl |
|- ( ph -> ( 0 ..^ E ) C_ ( 0 ..^ ( # ` W ) ) ) |
| 45 |
1 2 3 4 5 6 7 8
|
cycpmco2lem3 |
|- ( ph -> ( ( # ` U ) - 1 ) = ( # ` W ) ) |
| 46 |
45
|
oveq2d |
|- ( ph -> ( 0 ..^ ( ( # ` U ) - 1 ) ) = ( 0 ..^ ( # ` W ) ) ) |
| 47 |
44 46
|
sseqtrrd |
|- ( ph -> ( 0 ..^ E ) C_ ( 0 ..^ ( ( # ` U ) - 1 ) ) ) |
| 48 |
47 11
|
sseldd |
|- ( ph -> ( `' U ` K ) e. ( 0 ..^ ( ( # ` U ) - 1 ) ) ) |
| 49 |
1 3 23 24 48
|
cycpmfv1 |
|- ( ph -> ( ( M ` U ) ` ( U ` ( `' U ` K ) ) ) = ( U ` ( ( `' U ` K ) + 1 ) ) ) |
| 50 |
|
f1f1orn |
|- ( U : dom U -1-1-> D -> U : dom U -1-1-onto-> ran U ) |
| 51 |
24 50
|
syl |
|- ( ph -> U : dom U -1-1-onto-> ran U ) |
| 52 |
|
ssun1 |
|- ran W C_ ( ran W u. { I } ) |
| 53 |
1 2 3 4 5 6 7 8
|
cycpmco2rn |
|- ( ph -> ran U = ( ran W u. { I } ) ) |
| 54 |
52 53
|
sseqtrrid |
|- ( ph -> ran W C_ ran U ) |
| 55 |
54
|
sselda |
|- ( ( ph /\ K e. ran W ) -> K e. ran U ) |
| 56 |
|
f1ocnvfv2 |
|- ( ( U : dom U -1-1-onto-> ran U /\ K e. ran U ) -> ( U ` ( `' U ` K ) ) = K ) |
| 57 |
51 55 56
|
syl2an2r |
|- ( ( ph /\ K e. ran W ) -> ( U ` ( `' U ` K ) ) = K ) |
| 58 |
57
|
fveq2d |
|- ( ( ph /\ K e. ran W ) -> ( ( M ` U ) ` ( U ` ( `' U ` K ) ) ) = ( ( M ` U ) ` K ) ) |
| 59 |
9 58
|
mpdan |
|- ( ph -> ( ( M ` U ) ` ( U ` ( `' U ` K ) ) ) = ( ( M ` U ) ` K ) ) |
| 60 |
|
f1f1orn |
|- ( W : dom W -1-1-> D -> W : dom W -1-1-onto-> ran W ) |
| 61 |
31 60
|
syl |
|- ( ph -> W : dom W -1-1-onto-> ran W ) |
| 62 |
44 37
|
sseqtrrd |
|- ( ph -> ( 0 ..^ E ) C_ dom W ) |
| 63 |
62 11
|
sseldd |
|- ( ph -> ( `' U ` K ) e. dom W ) |
| 64 |
|
f1ocnvfv1 |
|- ( ( W : dom W -1-1-onto-> ran W /\ ( `' U ` K ) e. dom W ) -> ( `' W ` ( W ` ( `' U ` K ) ) ) = ( `' U ` K ) ) |
| 65 |
61 63 64
|
syl2anc |
|- ( ph -> ( `' W ` ( W ` ( `' U ` K ) ) ) = ( `' U ` K ) ) |
| 66 |
8
|
fveq1i |
|- ( U ` ( `' U ` K ) ) = ( ( W splice <. E , E , <" I "> >. ) ` ( `' U ` K ) ) |
| 67 |
|
fz0ssnn0 |
|- ( 0 ... ( # ` W ) ) C_ NN0 |
| 68 |
67 41
|
sselid |
|- ( ph -> E e. NN0 ) |
| 69 |
|
nn0fz0 |
|- ( E e. NN0 <-> E e. ( 0 ... E ) ) |
| 70 |
68 69
|
sylib |
|- ( ph -> E e. ( 0 ... E ) ) |
| 71 |
18 70 41 20 11
|
splfv1 |
|- ( ph -> ( ( W splice <. E , E , <" I "> >. ) ` ( `' U ` K ) ) = ( W ` ( `' U ` K ) ) ) |
| 72 |
66 71
|
eqtrid |
|- ( ph -> ( U ` ( `' U ` K ) ) = ( W ` ( `' U ` K ) ) ) |
| 73 |
9 57
|
mpdan |
|- ( ph -> ( U ` ( `' U ` K ) ) = K ) |
| 74 |
72 73
|
eqtr3d |
|- ( ph -> ( W ` ( `' U ` K ) ) = K ) |
| 75 |
74
|
fveq2d |
|- ( ph -> ( `' W ` ( W ` ( `' U ` K ) ) ) = ( `' W ` K ) ) |
| 76 |
65 75
|
eqtr3d |
|- ( ph -> ( `' U ` K ) = ( `' W ` K ) ) |
| 77 |
76
|
oveq1d |
|- ( ph -> ( ( `' U ` K ) + 1 ) = ( ( `' W ` K ) + 1 ) ) |
| 78 |
77
|
fveq2d |
|- ( ph -> ( U ` ( ( `' U ` K ) + 1 ) ) = ( U ` ( ( `' W ` K ) + 1 ) ) ) |
| 79 |
49 59 78
|
3eqtr3d |
|- ( ph -> ( ( M ` U ) ` K ) = ( U ` ( ( `' W ` K ) + 1 ) ) ) |
| 80 |
8
|
a1i |
|- ( ph -> U = ( W splice <. E , E , <" I "> >. ) ) |
| 81 |
80
|
fveq1d |
|- ( ph -> ( U ` ( ( `' W ` K ) + 1 ) ) = ( ( W splice <. E , E , <" I "> >. ) ` ( ( `' W ` K ) + 1 ) ) ) |
| 82 |
41
|
elfzelzd |
|- ( ph -> E e. ZZ ) |
| 83 |
|
simpr |
|- ( ( ph /\ ( `' U ` K ) e. ( 0 ..^ ( E - 1 ) ) ) -> ( `' U ` K ) e. ( 0 ..^ ( E - 1 ) ) ) |
| 84 |
7
|
a1i |
|- ( ph -> E = ( ( `' W ` J ) + 1 ) ) |
| 85 |
84
|
oveq1d |
|- ( ph -> ( E - 1 ) = ( ( ( `' W ` J ) + 1 ) - 1 ) ) |
| 86 |
|
elfzonn0 |
|- ( ( `' W ` J ) e. ( 0 ..^ ( # ` W ) ) -> ( `' W ` J ) e. NN0 ) |
| 87 |
38 86
|
syl |
|- ( ph -> ( `' W ` J ) e. NN0 ) |
| 88 |
87
|
nn0cnd |
|- ( ph -> ( `' W ` J ) e. CC ) |
| 89 |
|
1cnd |
|- ( ph -> 1 e. CC ) |
| 90 |
88 89
|
pncand |
|- ( ph -> ( ( ( `' W ` J ) + 1 ) - 1 ) = ( `' W ` J ) ) |
| 91 |
85 90
|
eqtr2d |
|- ( ph -> ( `' W ` J ) = ( E - 1 ) ) |
| 92 |
91
|
adantr |
|- ( ( ph /\ ( `' U ` K ) = ( E - 1 ) ) -> ( `' W ` J ) = ( E - 1 ) ) |
| 93 |
|
simpr |
|- ( ( ph /\ ( `' U ` K ) = ( E - 1 ) ) -> ( `' U ` K ) = ( E - 1 ) ) |
| 94 |
76
|
adantr |
|- ( ( ph /\ ( `' U ` K ) = ( E - 1 ) ) -> ( `' U ` K ) = ( `' W ` K ) ) |
| 95 |
92 93 94
|
3eqtr2rd |
|- ( ( ph /\ ( `' U ` K ) = ( E - 1 ) ) -> ( `' W ` K ) = ( `' W ` J ) ) |
| 96 |
95
|
fveq2d |
|- ( ( ph /\ ( `' U ` K ) = ( E - 1 ) ) -> ( W ` ( `' W ` K ) ) = ( W ` ( `' W ` J ) ) ) |
| 97 |
|
f1ocnvfv2 |
|- ( ( W : dom W -1-1-onto-> ran W /\ K e. ran W ) -> ( W ` ( `' W ` K ) ) = K ) |
| 98 |
61 9 97
|
syl2anc |
|- ( ph -> ( W ` ( `' W ` K ) ) = K ) |
| 99 |
98
|
adantr |
|- ( ( ph /\ ( `' U ` K ) = ( E - 1 ) ) -> ( W ` ( `' W ` K ) ) = K ) |
| 100 |
|
f1ocnvfv2 |
|- ( ( W : dom W -1-1-onto-> ran W /\ J e. ran W ) -> ( W ` ( `' W ` J ) ) = J ) |
| 101 |
61 6 100
|
syl2anc |
|- ( ph -> ( W ` ( `' W ` J ) ) = J ) |
| 102 |
101
|
adantr |
|- ( ( ph /\ ( `' U ` K ) = ( E - 1 ) ) -> ( W ` ( `' W ` J ) ) = J ) |
| 103 |
96 99 102
|
3eqtr3d |
|- ( ( ph /\ ( `' U ` K ) = ( E - 1 ) ) -> K = J ) |
| 104 |
10
|
adantr |
|- ( ( ph /\ ( `' U ` K ) = ( E - 1 ) ) -> K =/= J ) |
| 105 |
103 104
|
pm2.21ddne |
|- ( ( ph /\ ( `' U ` K ) = ( E - 1 ) ) -> ( `' U ` K ) e. ( 0 ..^ ( E - 1 ) ) ) |
| 106 |
|
0zd |
|- ( ph -> 0 e. ZZ ) |
| 107 |
|
nn0p1nn |
|- ( ( `' W ` J ) e. NN0 -> ( ( `' W ` J ) + 1 ) e. NN ) |
| 108 |
87 107
|
syl |
|- ( ph -> ( ( `' W ` J ) + 1 ) e. NN ) |
| 109 |
7 108
|
eqeltrid |
|- ( ph -> E e. NN ) |
| 110 |
|
0p1e1 |
|- ( 0 + 1 ) = 1 |
| 111 |
110
|
fveq2i |
|- ( ZZ>= ` ( 0 + 1 ) ) = ( ZZ>= ` 1 ) |
| 112 |
|
nnuz |
|- NN = ( ZZ>= ` 1 ) |
| 113 |
111 112
|
eqtr4i |
|- ( ZZ>= ` ( 0 + 1 ) ) = NN |
| 114 |
109 113
|
eleqtrrdi |
|- ( ph -> E e. ( ZZ>= ` ( 0 + 1 ) ) ) |
| 115 |
|
fzosplitsnm1 |
|- ( ( 0 e. ZZ /\ E e. ( ZZ>= ` ( 0 + 1 ) ) ) -> ( 0 ..^ E ) = ( ( 0 ..^ ( E - 1 ) ) u. { ( E - 1 ) } ) ) |
| 116 |
106 114 115
|
syl2anc |
|- ( ph -> ( 0 ..^ E ) = ( ( 0 ..^ ( E - 1 ) ) u. { ( E - 1 ) } ) ) |
| 117 |
11 116
|
eleqtrd |
|- ( ph -> ( `' U ` K ) e. ( ( 0 ..^ ( E - 1 ) ) u. { ( E - 1 ) } ) ) |
| 118 |
|
fvex |
|- ( `' U ` K ) e. _V |
| 119 |
|
elunsn |
|- ( ( `' U ` K ) e. _V -> ( ( `' U ` K ) e. ( ( 0 ..^ ( E - 1 ) ) u. { ( E - 1 ) } ) <-> ( ( `' U ` K ) e. ( 0 ..^ ( E - 1 ) ) \/ ( `' U ` K ) = ( E - 1 ) ) ) ) |
| 120 |
118 119
|
ax-mp |
|- ( ( `' U ` K ) e. ( ( 0 ..^ ( E - 1 ) ) u. { ( E - 1 ) } ) <-> ( ( `' U ` K ) e. ( 0 ..^ ( E - 1 ) ) \/ ( `' U ` K ) = ( E - 1 ) ) ) |
| 121 |
117 120
|
sylib |
|- ( ph -> ( ( `' U ` K ) e. ( 0 ..^ ( E - 1 ) ) \/ ( `' U ` K ) = ( E - 1 ) ) ) |
| 122 |
83 105 121
|
mpjaodan |
|- ( ph -> ( `' U ` K ) e. ( 0 ..^ ( E - 1 ) ) ) |
| 123 |
|
elfzom1elp1fzo |
|- ( ( E e. ZZ /\ ( `' U ` K ) e. ( 0 ..^ ( E - 1 ) ) ) -> ( ( `' U ` K ) + 1 ) e. ( 0 ..^ E ) ) |
| 124 |
82 122 123
|
syl2anc |
|- ( ph -> ( ( `' U ` K ) + 1 ) e. ( 0 ..^ E ) ) |
| 125 |
77 124
|
eqeltrrd |
|- ( ph -> ( ( `' W ` K ) + 1 ) e. ( 0 ..^ E ) ) |
| 126 |
18 70 41 20 125
|
splfv1 |
|- ( ph -> ( ( W splice <. E , E , <" I "> >. ) ` ( ( `' W ` K ) + 1 ) ) = ( W ` ( ( `' W ` K ) + 1 ) ) ) |
| 127 |
81 126
|
eqtrd |
|- ( ph -> ( U ` ( ( `' W ` K ) + 1 ) ) = ( W ` ( ( `' W ` K ) + 1 ) ) ) |
| 128 |
|
1zzd |
|- ( ph -> 1 e. ZZ ) |
| 129 |
82 128
|
zsubcld |
|- ( ph -> ( E - 1 ) e. ZZ ) |
| 130 |
|
lencl |
|- ( W e. Word D -> ( # ` W ) e. NN0 ) |
| 131 |
|
nn0fz0 |
|- ( ( # ` W ) e. NN0 <-> ( # ` W ) e. ( 0 ... ( # ` W ) ) ) |
| 132 |
131
|
biimpi |
|- ( ( # ` W ) e. NN0 -> ( # ` W ) e. ( 0 ... ( # ` W ) ) ) |
| 133 |
18 130 132
|
3syl |
|- ( ph -> ( # ` W ) e. ( 0 ... ( # ` W ) ) ) |
| 134 |
133
|
elfzelzd |
|- ( ph -> ( # ` W ) e. ZZ ) |
| 135 |
134 128
|
zsubcld |
|- ( ph -> ( ( # ` W ) - 1 ) e. ZZ ) |
| 136 |
109
|
nnred |
|- ( ph -> E e. RR ) |
| 137 |
134
|
zred |
|- ( ph -> ( # ` W ) e. RR ) |
| 138 |
|
1red |
|- ( ph -> 1 e. RR ) |
| 139 |
|
elfzle2 |
|- ( E e. ( 0 ... ( # ` W ) ) -> E <_ ( # ` W ) ) |
| 140 |
41 139
|
syl |
|- ( ph -> E <_ ( # ` W ) ) |
| 141 |
136 137 138 140
|
lesub1dd |
|- ( ph -> ( E - 1 ) <_ ( ( # ` W ) - 1 ) ) |
| 142 |
|
eluz |
|- ( ( ( E - 1 ) e. ZZ /\ ( ( # ` W ) - 1 ) e. ZZ ) -> ( ( ( # ` W ) - 1 ) e. ( ZZ>= ` ( E - 1 ) ) <-> ( E - 1 ) <_ ( ( # ` W ) - 1 ) ) ) |
| 143 |
142
|
biimpar |
|- ( ( ( ( E - 1 ) e. ZZ /\ ( ( # ` W ) - 1 ) e. ZZ ) /\ ( E - 1 ) <_ ( ( # ` W ) - 1 ) ) -> ( ( # ` W ) - 1 ) e. ( ZZ>= ` ( E - 1 ) ) ) |
| 144 |
129 135 141 143
|
syl21anc |
|- ( ph -> ( ( # ` W ) - 1 ) e. ( ZZ>= ` ( E - 1 ) ) ) |
| 145 |
|
fzoss2 |
|- ( ( ( # ` W ) - 1 ) e. ( ZZ>= ` ( E - 1 ) ) -> ( 0 ..^ ( E - 1 ) ) C_ ( 0 ..^ ( ( # ` W ) - 1 ) ) ) |
| 146 |
144 145
|
syl |
|- ( ph -> ( 0 ..^ ( E - 1 ) ) C_ ( 0 ..^ ( ( # ` W ) - 1 ) ) ) |
| 147 |
146 122
|
sseldd |
|- ( ph -> ( `' U ` K ) e. ( 0 ..^ ( ( # ` W ) - 1 ) ) ) |
| 148 |
76 147
|
eqeltrrd |
|- ( ph -> ( `' W ` K ) e. ( 0 ..^ ( ( # ` W ) - 1 ) ) ) |
| 149 |
1 3 18 31 148
|
cycpmfv1 |
|- ( ph -> ( ( M ` W ) ` ( W ` ( `' W ` K ) ) ) = ( W ` ( ( `' W ` K ) + 1 ) ) ) |
| 150 |
98
|
fveq2d |
|- ( ph -> ( ( M ` W ) ` ( W ` ( `' W ` K ) ) ) = ( ( M ` W ) ` K ) ) |
| 151 |
127 149 150
|
3eqtr2rd |
|- ( ph -> ( ( M ` W ) ` K ) = ( U ` ( ( `' W ` K ) + 1 ) ) ) |
| 152 |
79 151
|
eqtr4d |
|- ( ph -> ( ( M ` U ) ` K ) = ( ( M ` W ) ` K ) ) |