| 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 |
|
cycpmco2lem.1 |
|- ( ph -> K e. ran W ) |
| 10 |
|
cycpmco2lem5.1 |
|- ( ph -> ( `' U ` K ) = ( ( # ` U ) - 1 ) ) |
| 11 |
9
|
adantr |
|- ( ( ph /\ ( # ` W ) = E ) -> K e. ran W ) |
| 12 |
|
ovexd |
|- ( ph -> ( ( `' W ` J ) + 1 ) e. _V ) |
| 13 |
7 12
|
eqeltrid |
|- ( ph -> E e. _V ) |
| 14 |
5
|
eldifad |
|- ( ph -> I e. D ) |
| 15 |
14
|
s1cld |
|- ( ph -> <" I "> e. Word D ) |
| 16 |
|
splval |
|- ( ( W e. dom M /\ ( E e. _V /\ E e. _V /\ <" I "> e. Word D ) ) -> ( W splice <. E , E , <" I "> >. ) = ( ( ( W prefix E ) ++ <" I "> ) ++ ( W substr <. E , ( # ` W ) >. ) ) ) |
| 17 |
4 13 13 15 16
|
syl13anc |
|- ( ph -> ( W splice <. E , E , <" I "> >. ) = ( ( ( W prefix E ) ++ <" I "> ) ++ ( W substr <. E , ( # ` W ) >. ) ) ) |
| 18 |
8 17
|
eqtrid |
|- ( ph -> U = ( ( ( W prefix E ) ++ <" I "> ) ++ ( W substr <. E , ( # ` W ) >. ) ) ) |
| 19 |
18
|
fveq2d |
|- ( ph -> ( # ` U ) = ( # ` ( ( ( W prefix E ) ++ <" I "> ) ++ ( W substr <. E , ( # ` W ) >. ) ) ) ) |
| 20 |
|
ssrab2 |
|- { w e. Word D | w : dom w -1-1-> D } C_ Word D |
| 21 |
|
eqid |
|- ( Base ` S ) = ( Base ` S ) |
| 22 |
1 2 21
|
tocycf |
|- ( D e. V -> M : { w e. Word D | w : dom w -1-1-> D } --> ( Base ` S ) ) |
| 23 |
3 22
|
syl |
|- ( ph -> M : { w e. Word D | w : dom w -1-1-> D } --> ( Base ` S ) ) |
| 24 |
23
|
fdmd |
|- ( ph -> dom M = { w e. Word D | w : dom w -1-1-> D } ) |
| 25 |
4 24
|
eleqtrd |
|- ( ph -> W e. { w e. Word D | w : dom w -1-1-> D } ) |
| 26 |
20 25
|
sselid |
|- ( ph -> W e. Word D ) |
| 27 |
|
pfxcl |
|- ( W e. Word D -> ( W prefix E ) e. Word D ) |
| 28 |
26 27
|
syl |
|- ( ph -> ( W prefix E ) e. Word D ) |
| 29 |
|
ccatcl |
|- ( ( ( W prefix E ) e. Word D /\ <" I "> e. Word D ) -> ( ( W prefix E ) ++ <" I "> ) e. Word D ) |
| 30 |
28 15 29
|
syl2anc |
|- ( ph -> ( ( W prefix E ) ++ <" I "> ) e. Word D ) |
| 31 |
|
swrdcl |
|- ( W e. Word D -> ( W substr <. E , ( # ` W ) >. ) e. Word D ) |
| 32 |
26 31
|
syl |
|- ( ph -> ( W substr <. E , ( # ` W ) >. ) e. Word D ) |
| 33 |
|
ccatlen |
|- ( ( ( ( W prefix E ) ++ <" I "> ) e. Word D /\ ( W substr <. E , ( # ` W ) >. ) e. Word D ) -> ( # ` ( ( ( W prefix E ) ++ <" I "> ) ++ ( W substr <. E , ( # ` W ) >. ) ) ) = ( ( # ` ( ( W prefix E ) ++ <" I "> ) ) + ( # ` ( W substr <. E , ( # ` W ) >. ) ) ) ) |
| 34 |
30 32 33
|
syl2anc |
|- ( ph -> ( # ` ( ( ( W prefix E ) ++ <" I "> ) ++ ( W substr <. E , ( # ` W ) >. ) ) ) = ( ( # ` ( ( W prefix E ) ++ <" I "> ) ) + ( # ` ( W substr <. E , ( # ` W ) >. ) ) ) ) |
| 35 |
|
ccatws1len |
|- ( ( W prefix E ) e. Word D -> ( # ` ( ( W prefix E ) ++ <" I "> ) ) = ( ( # ` ( W prefix E ) ) + 1 ) ) |
| 36 |
28 35
|
syl |
|- ( ph -> ( # ` ( ( W prefix E ) ++ <" I "> ) ) = ( ( # ` ( W prefix E ) ) + 1 ) ) |
| 37 |
|
id |
|- ( w = W -> w = W ) |
| 38 |
|
dmeq |
|- ( w = W -> dom w = dom W ) |
| 39 |
|
eqidd |
|- ( w = W -> D = D ) |
| 40 |
37 38 39
|
f1eq123d |
|- ( w = W -> ( w : dom w -1-1-> D <-> W : dom W -1-1-> D ) ) |
| 41 |
40
|
elrab |
|- ( W e. { w e. Word D | w : dom w -1-1-> D } <-> ( W e. Word D /\ W : dom W -1-1-> D ) ) |
| 42 |
25 41
|
sylib |
|- ( ph -> ( W e. Word D /\ W : dom W -1-1-> D ) ) |
| 43 |
42
|
simprd |
|- ( ph -> W : dom W -1-1-> D ) |
| 44 |
|
f1cnv |
|- ( W : dom W -1-1-> D -> `' W : ran W -1-1-onto-> dom W ) |
| 45 |
43 44
|
syl |
|- ( 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 |
47 6
|
ffvelcdmd |
|- ( ph -> ( `' W ` J ) e. dom W ) |
| 49 |
|
wrddm |
|- ( W e. Word D -> dom W = ( 0 ..^ ( # ` W ) ) ) |
| 50 |
26 49
|
syl |
|- ( ph -> dom W = ( 0 ..^ ( # ` W ) ) ) |
| 51 |
48 50
|
eleqtrd |
|- ( ph -> ( `' W ` J ) e. ( 0 ..^ ( # ` W ) ) ) |
| 52 |
|
fzofzp1 |
|- ( ( `' W ` J ) e. ( 0 ..^ ( # ` W ) ) -> ( ( `' W ` J ) + 1 ) e. ( 0 ... ( # ` W ) ) ) |
| 53 |
51 52
|
syl |
|- ( ph -> ( ( `' W ` J ) + 1 ) e. ( 0 ... ( # ` W ) ) ) |
| 54 |
7 53
|
eqeltrid |
|- ( ph -> E e. ( 0 ... ( # ` W ) ) ) |
| 55 |
|
pfxlen |
|- ( ( W e. Word D /\ E e. ( 0 ... ( # ` W ) ) ) -> ( # ` ( W prefix E ) ) = E ) |
| 56 |
26 54 55
|
syl2anc |
|- ( ph -> ( # ` ( W prefix E ) ) = E ) |
| 57 |
56
|
oveq1d |
|- ( ph -> ( ( # ` ( W prefix E ) ) + 1 ) = ( E + 1 ) ) |
| 58 |
36 57
|
eqtrd |
|- ( ph -> ( # ` ( ( W prefix E ) ++ <" I "> ) ) = ( E + 1 ) ) |
| 59 |
|
lencl |
|- ( W e. Word D -> ( # ` W ) e. NN0 ) |
| 60 |
26 59
|
syl |
|- ( ph -> ( # ` W ) e. NN0 ) |
| 61 |
|
nn0fz0 |
|- ( ( # ` W ) e. NN0 <-> ( # ` W ) e. ( 0 ... ( # ` W ) ) ) |
| 62 |
60 61
|
sylib |
|- ( ph -> ( # ` W ) e. ( 0 ... ( # ` W ) ) ) |
| 63 |
|
swrdlen |
|- ( ( W e. Word D /\ E e. ( 0 ... ( # ` W ) ) /\ ( # ` W ) e. ( 0 ... ( # ` W ) ) ) -> ( # ` ( W substr <. E , ( # ` W ) >. ) ) = ( ( # ` W ) - E ) ) |
| 64 |
26 54 62 63
|
syl3anc |
|- ( ph -> ( # ` ( W substr <. E , ( # ` W ) >. ) ) = ( ( # ` W ) - E ) ) |
| 65 |
58 64
|
oveq12d |
|- ( ph -> ( ( # ` ( ( W prefix E ) ++ <" I "> ) ) + ( # ` ( W substr <. E , ( # ` W ) >. ) ) ) = ( ( E + 1 ) + ( ( # ` W ) - E ) ) ) |
| 66 |
19 34 65
|
3eqtrd |
|- ( ph -> ( # ` U ) = ( ( E + 1 ) + ( ( # ` W ) - E ) ) ) |
| 67 |
|
fz0ssnn0 |
|- ( 0 ... ( # ` W ) ) C_ NN0 |
| 68 |
67 54
|
sselid |
|- ( ph -> E e. NN0 ) |
| 69 |
68
|
nn0zd |
|- ( ph -> E e. ZZ ) |
| 70 |
69
|
peano2zd |
|- ( ph -> ( E + 1 ) e. ZZ ) |
| 71 |
70
|
zcnd |
|- ( ph -> ( E + 1 ) e. CC ) |
| 72 |
60
|
nn0cnd |
|- ( ph -> ( # ` W ) e. CC ) |
| 73 |
68
|
nn0cnd |
|- ( ph -> E e. CC ) |
| 74 |
71 72 73
|
addsubassd |
|- ( ph -> ( ( ( E + 1 ) + ( # ` W ) ) - E ) = ( ( E + 1 ) + ( ( # ` W ) - E ) ) ) |
| 75 |
|
1cnd |
|- ( ph -> 1 e. CC ) |
| 76 |
73 75 72
|
addassd |
|- ( ph -> ( ( E + 1 ) + ( # ` W ) ) = ( E + ( 1 + ( # ` W ) ) ) ) |
| 77 |
76
|
oveq1d |
|- ( ph -> ( ( ( E + 1 ) + ( # ` W ) ) - E ) = ( ( E + ( 1 + ( # ` W ) ) ) - E ) ) |
| 78 |
66 74 77
|
3eqtr2d |
|- ( ph -> ( # ` U ) = ( ( E + ( 1 + ( # ` W ) ) ) - E ) ) |
| 79 |
75 72
|
addcld |
|- ( ph -> ( 1 + ( # ` W ) ) e. CC ) |
| 80 |
73 79
|
pncan2d |
|- ( ph -> ( ( E + ( 1 + ( # ` W ) ) ) - E ) = ( 1 + ( # ` W ) ) ) |
| 81 |
75 72
|
addcomd |
|- ( ph -> ( 1 + ( # ` W ) ) = ( ( # ` W ) + 1 ) ) |
| 82 |
78 80 81
|
3eqtrd |
|- ( ph -> ( # ` U ) = ( ( # ` W ) + 1 ) ) |
| 83 |
|
oveq1 |
|- ( ( # ` W ) = E -> ( ( # ` W ) + 1 ) = ( E + 1 ) ) |
| 84 |
82 83
|
sylan9eq |
|- ( ( ph /\ ( # ` W ) = E ) -> ( # ` U ) = ( E + 1 ) ) |
| 85 |
84
|
oveq1d |
|- ( ( ph /\ ( # ` W ) = E ) -> ( ( # ` U ) - 1 ) = ( ( E + 1 ) - 1 ) ) |
| 86 |
73 75
|
pncand |
|- ( ph -> ( ( E + 1 ) - 1 ) = E ) |
| 87 |
86
|
adantr |
|- ( ( ph /\ ( # ` W ) = E ) -> ( ( E + 1 ) - 1 ) = E ) |
| 88 |
85 87
|
eqtrd |
|- ( ( ph /\ ( # ` W ) = E ) -> ( ( # ` U ) - 1 ) = E ) |
| 89 |
88
|
fveq2d |
|- ( ( ph /\ ( # ` W ) = E ) -> ( U ` ( ( # ` U ) - 1 ) ) = ( U ` E ) ) |
| 90 |
10
|
fveq2d |
|- ( ph -> ( U ` ( `' U ` K ) ) = ( U ` ( ( # ` U ) - 1 ) ) ) |
| 91 |
1 2 3 4 5 6 7 8
|
cycpmco2f1 |
|- ( ph -> U : dom U -1-1-> D ) |
| 92 |
|
f1f1orn |
|- ( U : dom U -1-1-> D -> U : dom U -1-1-onto-> ran U ) |
| 93 |
91 92
|
syl |
|- ( ph -> U : dom U -1-1-onto-> ran U ) |
| 94 |
|
ssun1 |
|- ran W C_ ( ran W u. { I } ) |
| 95 |
1 2 3 4 5 6 7 8
|
cycpmco2rn |
|- ( ph -> ran U = ( ran W u. { I } ) ) |
| 96 |
94 95
|
sseqtrrid |
|- ( ph -> ran W C_ ran U ) |
| 97 |
96
|
sselda |
|- ( ( ph /\ K e. ran W ) -> K e. ran U ) |
| 98 |
|
f1ocnvfv2 |
|- ( ( U : dom U -1-1-onto-> ran U /\ K e. ran U ) -> ( U ` ( `' U ` K ) ) = K ) |
| 99 |
93 97 98
|
syl2an2r |
|- ( ( ph /\ K e. ran W ) -> ( U ` ( `' U ` K ) ) = K ) |
| 100 |
9 99
|
mpdan |
|- ( ph -> ( U ` ( `' U ` K ) ) = K ) |
| 101 |
90 100
|
eqtr3d |
|- ( ph -> ( U ` ( ( # ` U ) - 1 ) ) = K ) |
| 102 |
101
|
adantr |
|- ( ( ph /\ ( # ` W ) = E ) -> ( U ` ( ( # ` U ) - 1 ) ) = K ) |
| 103 |
1 2 3 4 5 6 7 8
|
cycpmco2lem2 |
|- ( ph -> ( U ` E ) = I ) |
| 104 |
103
|
adantr |
|- ( ( ph /\ ( # ` W ) = E ) -> ( U ` E ) = I ) |
| 105 |
89 102 104
|
3eqtr3d |
|- ( ( ph /\ ( # ` W ) = E ) -> K = I ) |
| 106 |
5
|
eldifbd |
|- ( ph -> -. I e. ran W ) |
| 107 |
106
|
adantr |
|- ( ( ph /\ ( # ` W ) = E ) -> -. I e. ran W ) |
| 108 |
105 107
|
eqneltrd |
|- ( ( ph /\ ( # ` W ) = E ) -> -. K e. ran W ) |
| 109 |
11 108
|
pm2.21dd |
|- ( ( ph /\ ( # ` W ) = E ) -> ( ( M ` U ) ` ( U ` ( ( # ` U ) - 1 ) ) ) = ( ( M ` W ) ` ( U ` ( ( # ` U ) - 1 ) ) ) ) |
| 110 |
|
splcl |
|- ( ( W e. Word D /\ <" I "> e. Word D ) -> ( W splice <. E , E , <" I "> >. ) e. Word D ) |
| 111 |
26 15 110
|
syl2anc |
|- ( ph -> ( W splice <. E , E , <" I "> >. ) e. Word D ) |
| 112 |
8 111
|
eqeltrid |
|- ( ph -> U e. Word D ) |
| 113 |
|
nn0p1gt0 |
|- ( ( # ` W ) e. NN0 -> 0 < ( ( # ` W ) + 1 ) ) |
| 114 |
60 113
|
syl |
|- ( ph -> 0 < ( ( # ` W ) + 1 ) ) |
| 115 |
114 82
|
breqtrrd |
|- ( ph -> 0 < ( # ` U ) ) |
| 116 |
|
eqidd |
|- ( ph -> ( ( # ` U ) - 1 ) = ( ( # ` U ) - 1 ) ) |
| 117 |
1 3 112 91 115 116
|
cycpmfv2 |
|- ( ph -> ( ( M ` U ) ` ( U ` ( ( # ` U ) - 1 ) ) ) = ( U ` 0 ) ) |
| 118 |
117
|
adantr |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( ( M ` U ) ` ( U ` ( ( # ` U ) - 1 ) ) ) = ( U ` 0 ) ) |
| 119 |
|
f1f |
|- ( W : dom W -1-1-> D -> W : dom W --> D ) |
| 120 |
43 119
|
syl |
|- ( ph -> W : dom W --> D ) |
| 121 |
120
|
frnd |
|- ( ph -> ran W C_ D ) |
| 122 |
3 121
|
ssexd |
|- ( ph -> ran W e. _V ) |
| 123 |
6
|
ne0d |
|- ( ph -> ran W =/= (/) ) |
| 124 |
|
hashgt0 |
|- ( ( ran W e. _V /\ ran W =/= (/) ) -> 0 < ( # ` ran W ) ) |
| 125 |
122 123 124
|
syl2anc |
|- ( ph -> 0 < ( # ` ran W ) ) |
| 126 |
4
|
dmexd |
|- ( ph -> dom W e. _V ) |
| 127 |
|
hashf1rn |
|- ( ( dom W e. _V /\ W : dom W -1-1-> D ) -> ( # ` W ) = ( # ` ran W ) ) |
| 128 |
126 43 127
|
syl2anc |
|- ( ph -> ( # ` W ) = ( # ` ran W ) ) |
| 129 |
125 128
|
breqtrrd |
|- ( ph -> 0 < ( # ` W ) ) |
| 130 |
|
eqidd |
|- ( ph -> ( ( # ` W ) - 1 ) = ( ( # ` W ) - 1 ) ) |
| 131 |
1 3 26 43 129 130
|
cycpmfv2 |
|- ( ph -> ( ( M ` W ) ` ( W ` ( ( # ` W ) - 1 ) ) ) = ( W ` 0 ) ) |
| 132 |
131
|
adantr |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( ( M ` W ) ` ( W ` ( ( # ` W ) - 1 ) ) ) = ( W ` 0 ) ) |
| 133 |
8
|
a1i |
|- ( ( ph /\ ( # ` W ) =/= E ) -> U = ( W splice <. E , E , <" I "> >. ) ) |
| 134 |
1 2 3 4 5 6 7 8
|
cycpmco2lem3 |
|- ( ph -> ( ( # ` U ) - 1 ) = ( # ` W ) ) |
| 135 |
73 75
|
addcomd |
|- ( ph -> ( E + 1 ) = ( 1 + E ) ) |
| 136 |
135
|
oveq2d |
|- ( ph -> ( ( ( ( # ` W ) - 1 ) - E ) + ( E + 1 ) ) = ( ( ( ( # ` W ) - 1 ) - E ) + ( 1 + E ) ) ) |
| 137 |
72 75
|
subcld |
|- ( ph -> ( ( # ` W ) - 1 ) e. CC ) |
| 138 |
137 73 75
|
nppcan3d |
|- ( ph -> ( ( ( ( # ` W ) - 1 ) - E ) + ( 1 + E ) ) = ( ( ( # ` W ) - 1 ) + 1 ) ) |
| 139 |
72 75
|
npcand |
|- ( ph -> ( ( ( # ` W ) - 1 ) + 1 ) = ( # ` W ) ) |
| 140 |
136 138 139
|
3eqtrd |
|- ( ph -> ( ( ( ( # ` W ) - 1 ) - E ) + ( E + 1 ) ) = ( # ` W ) ) |
| 141 |
134 140
|
eqtr4d |
|- ( ph -> ( ( # ` U ) - 1 ) = ( ( ( ( # ` W ) - 1 ) - E ) + ( E + 1 ) ) ) |
| 142 |
141
|
adantr |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( ( # ` U ) - 1 ) = ( ( ( ( # ` W ) - 1 ) - E ) + ( E + 1 ) ) ) |
| 143 |
133 142
|
fveq12d |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( U ` ( ( # ` U ) - 1 ) ) = ( ( W splice <. E , E , <" I "> >. ) ` ( ( ( ( # ` W ) - 1 ) - E ) + ( E + 1 ) ) ) ) |
| 144 |
26
|
adantr |
|- ( ( ph /\ ( # ` W ) =/= E ) -> W e. Word D ) |
| 145 |
|
nn0fz0 |
|- ( E e. NN0 <-> E e. ( 0 ... E ) ) |
| 146 |
68 145
|
sylib |
|- ( ph -> E e. ( 0 ... E ) ) |
| 147 |
146
|
adantr |
|- ( ( ph /\ ( # ` W ) =/= E ) -> E e. ( 0 ... E ) ) |
| 148 |
54
|
adantr |
|- ( ( ph /\ ( # ` W ) =/= E ) -> E e. ( 0 ... ( # ` W ) ) ) |
| 149 |
15
|
adantr |
|- ( ( ph /\ ( # ` W ) =/= E ) -> <" I "> e. Word D ) |
| 150 |
72
|
adantr |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( # ` W ) e. CC ) |
| 151 |
|
1cnd |
|- ( ( ph /\ ( # ` W ) =/= E ) -> 1 e. CC ) |
| 152 |
73
|
adantr |
|- ( ( ph /\ ( # ` W ) =/= E ) -> E e. CC ) |
| 153 |
150 151 152
|
sub32d |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( ( ( # ` W ) - 1 ) - E ) = ( ( ( # ` W ) - E ) - 1 ) ) |
| 154 |
|
fznn0sub |
|- ( E e. ( 0 ... ( # ` W ) ) -> ( ( # ` W ) - E ) e. NN0 ) |
| 155 |
54 154
|
syl |
|- ( ph -> ( ( # ` W ) - E ) e. NN0 ) |
| 156 |
155
|
adantr |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( ( # ` W ) - E ) e. NN0 ) |
| 157 |
|
simpr |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( # ` W ) =/= E ) |
| 158 |
150 152 156 157
|
subne0nn |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( ( # ` W ) - E ) e. NN ) |
| 159 |
|
fzo0end |
|- ( ( ( # ` W ) - E ) e. NN -> ( ( ( # ` W ) - E ) - 1 ) e. ( 0 ..^ ( ( # ` W ) - E ) ) ) |
| 160 |
158 159
|
syl |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( ( ( # ` W ) - E ) - 1 ) e. ( 0 ..^ ( ( # ` W ) - E ) ) ) |
| 161 |
153 160
|
eqeltrd |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( ( ( # ` W ) - 1 ) - E ) e. ( 0 ..^ ( ( # ` W ) - E ) ) ) |
| 162 |
|
s1len |
|- ( # ` <" I "> ) = 1 |
| 163 |
162
|
eqcomi |
|- 1 = ( # ` <" I "> ) |
| 164 |
163
|
oveq2i |
|- ( E + 1 ) = ( E + ( # ` <" I "> ) ) |
| 165 |
164
|
a1i |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( E + 1 ) = ( E + ( # ` <" I "> ) ) ) |
| 166 |
144 147 148 149 161 165
|
splfv3 |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( ( W splice <. E , E , <" I "> >. ) ` ( ( ( ( # ` W ) - 1 ) - E ) + ( E + 1 ) ) ) = ( W ` ( ( ( ( # ` W ) - 1 ) - E ) + E ) ) ) |
| 167 |
137 73
|
npcand |
|- ( ph -> ( ( ( ( # ` W ) - 1 ) - E ) + E ) = ( ( # ` W ) - 1 ) ) |
| 168 |
167
|
fveq2d |
|- ( ph -> ( W ` ( ( ( ( # ` W ) - 1 ) - E ) + E ) ) = ( W ` ( ( # ` W ) - 1 ) ) ) |
| 169 |
168
|
adantr |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( W ` ( ( ( ( # ` W ) - 1 ) - E ) + E ) ) = ( W ` ( ( # ` W ) - 1 ) ) ) |
| 170 |
143 166 169
|
3eqtrd |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( U ` ( ( # ` U ) - 1 ) ) = ( W ` ( ( # ` W ) - 1 ) ) ) |
| 171 |
170
|
fveq2d |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( ( M ` W ) ` ( U ` ( ( # ` U ) - 1 ) ) ) = ( ( M ` W ) ` ( W ` ( ( # ` W ) - 1 ) ) ) ) |
| 172 |
18
|
fveq1d |
|- ( ph -> ( U ` 0 ) = ( ( ( ( W prefix E ) ++ <" I "> ) ++ ( W substr <. E , ( # ` W ) >. ) ) ` 0 ) ) |
| 173 |
|
nn0p1nn |
|- ( E e. NN0 -> ( E + 1 ) e. NN ) |
| 174 |
68 173
|
syl |
|- ( ph -> ( E + 1 ) e. NN ) |
| 175 |
|
lbfzo0 |
|- ( 0 e. ( 0 ..^ ( E + 1 ) ) <-> ( E + 1 ) e. NN ) |
| 176 |
174 175
|
sylibr |
|- ( ph -> 0 e. ( 0 ..^ ( E + 1 ) ) ) |
| 177 |
58
|
oveq2d |
|- ( ph -> ( 0 ..^ ( # ` ( ( W prefix E ) ++ <" I "> ) ) ) = ( 0 ..^ ( E + 1 ) ) ) |
| 178 |
176 177
|
eleqtrrd |
|- ( ph -> 0 e. ( 0 ..^ ( # ` ( ( W prefix E ) ++ <" I "> ) ) ) ) |
| 179 |
|
ccatval1 |
|- ( ( ( ( W prefix E ) ++ <" I "> ) e. Word D /\ ( W substr <. E , ( # ` W ) >. ) e. Word D /\ 0 e. ( 0 ..^ ( # ` ( ( W prefix E ) ++ <" I "> ) ) ) ) -> ( ( ( ( W prefix E ) ++ <" I "> ) ++ ( W substr <. E , ( # ` W ) >. ) ) ` 0 ) = ( ( ( W prefix E ) ++ <" I "> ) ` 0 ) ) |
| 180 |
30 32 178 179
|
syl3anc |
|- ( ph -> ( ( ( ( W prefix E ) ++ <" I "> ) ++ ( W substr <. E , ( # ` W ) >. ) ) ` 0 ) = ( ( ( W prefix E ) ++ <" I "> ) ` 0 ) ) |
| 181 |
|
elfzonn0 |
|- ( ( `' W ` J ) e. ( 0 ..^ ( # ` W ) ) -> ( `' W ` J ) e. NN0 ) |
| 182 |
51 181
|
syl |
|- ( ph -> ( `' W ` J ) e. NN0 ) |
| 183 |
|
nn0p1nn |
|- ( ( `' W ` J ) e. NN0 -> ( ( `' W ` J ) + 1 ) e. NN ) |
| 184 |
182 183
|
syl |
|- ( ph -> ( ( `' W ` J ) + 1 ) e. NN ) |
| 185 |
7 184
|
eqeltrid |
|- ( ph -> E e. NN ) |
| 186 |
|
lbfzo0 |
|- ( 0 e. ( 0 ..^ E ) <-> E e. NN ) |
| 187 |
185 186
|
sylibr |
|- ( ph -> 0 e. ( 0 ..^ E ) ) |
| 188 |
56
|
oveq2d |
|- ( ph -> ( 0 ..^ ( # ` ( W prefix E ) ) ) = ( 0 ..^ E ) ) |
| 189 |
187 188
|
eleqtrrd |
|- ( ph -> 0 e. ( 0 ..^ ( # ` ( W prefix E ) ) ) ) |
| 190 |
|
ccatval1 |
|- ( ( ( W prefix E ) e. Word D /\ <" I "> e. Word D /\ 0 e. ( 0 ..^ ( # ` ( W prefix E ) ) ) ) -> ( ( ( W prefix E ) ++ <" I "> ) ` 0 ) = ( ( W prefix E ) ` 0 ) ) |
| 191 |
28 15 189 190
|
syl3anc |
|- ( ph -> ( ( ( W prefix E ) ++ <" I "> ) ` 0 ) = ( ( W prefix E ) ` 0 ) ) |
| 192 |
|
nn0p1gt0 |
|- ( ( `' W ` J ) e. NN0 -> 0 < ( ( `' W ` J ) + 1 ) ) |
| 193 |
182 192
|
syl |
|- ( ph -> 0 < ( ( `' W ` J ) + 1 ) ) |
| 194 |
193 7
|
breqtrrdi |
|- ( ph -> 0 < E ) |
| 195 |
194
|
gt0ne0d |
|- ( ph -> E =/= 0 ) |
| 196 |
|
fzne1 |
|- ( ( E e. ( 0 ... ( # ` W ) ) /\ E =/= 0 ) -> E e. ( ( 0 + 1 ) ... ( # ` W ) ) ) |
| 197 |
54 195 196
|
syl2anc |
|- ( ph -> E e. ( ( 0 + 1 ) ... ( # ` W ) ) ) |
| 198 |
|
0p1e1 |
|- ( 0 + 1 ) = 1 |
| 199 |
198
|
oveq1i |
|- ( ( 0 + 1 ) ... ( # ` W ) ) = ( 1 ... ( # ` W ) ) |
| 200 |
197 199
|
eleqtrdi |
|- ( ph -> E e. ( 1 ... ( # ` W ) ) ) |
| 201 |
|
pfxfv0 |
|- ( ( W e. Word D /\ E e. ( 1 ... ( # ` W ) ) ) -> ( ( W prefix E ) ` 0 ) = ( W ` 0 ) ) |
| 202 |
26 200 201
|
syl2anc |
|- ( ph -> ( ( W prefix E ) ` 0 ) = ( W ` 0 ) ) |
| 203 |
180 191 202
|
3eqtrd |
|- ( ph -> ( ( ( ( W prefix E ) ++ <" I "> ) ++ ( W substr <. E , ( # ` W ) >. ) ) ` 0 ) = ( W ` 0 ) ) |
| 204 |
172 203
|
eqtrd |
|- ( ph -> ( U ` 0 ) = ( W ` 0 ) ) |
| 205 |
204
|
adantr |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( U ` 0 ) = ( W ` 0 ) ) |
| 206 |
132 171 205
|
3eqtr4rd |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( U ` 0 ) = ( ( M ` W ) ` ( U ` ( ( # ` U ) - 1 ) ) ) ) |
| 207 |
118 206
|
eqtrd |
|- ( ( ph /\ ( # ` W ) =/= E ) -> ( ( M ` U ) ` ( U ` ( ( # ` U ) - 1 ) ) ) = ( ( M ` W ) ` ( U ` ( ( # ` U ) - 1 ) ) ) ) |
| 208 |
109 207
|
pm2.61dane |
|- ( ph -> ( ( M ` U ) ` ( U ` ( ( # ` U ) - 1 ) ) ) = ( ( M ` W ) ` ( U ` ( ( # ` U ) - 1 ) ) ) ) |
| 209 |
101
|
fveq2d |
|- ( ph -> ( ( M ` U ) ` ( U ` ( ( # ` U ) - 1 ) ) ) = ( ( M ` U ) ` K ) ) |
| 210 |
101
|
fveq2d |
|- ( ph -> ( ( M ` W ) ` ( U ` ( ( # ` U ) - 1 ) ) ) = ( ( M ` W ) ` K ) ) |
| 211 |
208 209 210
|
3eqtr3d |
|- ( ph -> ( ( M ` U ) ` K ) = ( ( M ` W ) ` K ) ) |