Metamath Proof Explorer


Theorem cycpmco2lem7

Description: Lemma for cycpmco2 . (Contributed by Thierry Arnoux, 4-Jan-2024)

Ref Expression
Hypotheses cycpmco2.c
|- M = ( toCyc ` D )
cycpmco2.s
|- S = ( SymGrp ` D )
cycpmco2.d
|- ( ph -> D e. V )
cycpmco2.w
|- ( ph -> W e. dom M )
cycpmco2.i
|- ( ph -> I e. ( D \ ran W ) )
cycpmco2.j
|- ( ph -> J e. ran W )
cycpmco2.e
|- E = ( ( `' W ` J ) + 1 )
cycpmco2.1
|- U = ( W splice <. E , E , <" I "> >. )
cycpmco2lem7.1
|- ( ph -> K e. ran W )
cycpmco2lem7.2
|- ( ph -> K =/= J )
cycpmco2lem7.3
|- ( ph -> ( `' U ` K ) e. ( 0 ..^ E ) )
Assertion cycpmco2lem7
|- ( ph -> ( ( M ` U ) ` K ) = ( ( M ` W ) ` K ) )

Proof

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 sseldi
 |-  ( 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 ffvelrnd
 |-  ( 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 sseldi
 |-  ( 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 syl5eq
 |-  ( 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 68 nn0zd
 |-  ( 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 elfzelz
 |-  ( ( # ` W ) e. ( 0 ... ( # ` W ) ) -> ( # ` W ) e. ZZ )
135 133 134 syl
 |-  ( ph -> ( # ` W ) e. ZZ )
136 135 128 zsubcld
 |-  ( ph -> ( ( # ` W ) - 1 ) e. ZZ )
137 109 nnred
 |-  ( ph -> E e. RR )
138 135 zred
 |-  ( ph -> ( # ` W ) e. RR )
139 1red
 |-  ( ph -> 1 e. RR )
140 elfzle2
 |-  ( E e. ( 0 ... ( # ` W ) ) -> E <_ ( # ` W ) )
141 41 140 syl
 |-  ( ph -> E <_ ( # ` W ) )
142 137 138 139 141 lesub1dd
 |-  ( ph -> ( E - 1 ) <_ ( ( # ` W ) - 1 ) )
143 eluz
 |-  ( ( ( E - 1 ) e. ZZ /\ ( ( # ` W ) - 1 ) e. ZZ ) -> ( ( ( # ` W ) - 1 ) e. ( ZZ>= ` ( E - 1 ) ) <-> ( E - 1 ) <_ ( ( # ` W ) - 1 ) ) )
144 143 biimpar
 |-  ( ( ( ( E - 1 ) e. ZZ /\ ( ( # ` W ) - 1 ) e. ZZ ) /\ ( E - 1 ) <_ ( ( # ` W ) - 1 ) ) -> ( ( # ` W ) - 1 ) e. ( ZZ>= ` ( E - 1 ) ) )
145 129 136 142 144 syl21anc
 |-  ( ph -> ( ( # ` W ) - 1 ) e. ( ZZ>= ` ( E - 1 ) ) )
146 fzoss2
 |-  ( ( ( # ` W ) - 1 ) e. ( ZZ>= ` ( E - 1 ) ) -> ( 0 ..^ ( E - 1 ) ) C_ ( 0 ..^ ( ( # ` W ) - 1 ) ) )
147 145 146 syl
 |-  ( ph -> ( 0 ..^ ( E - 1 ) ) C_ ( 0 ..^ ( ( # ` W ) - 1 ) ) )
148 147 122 sseldd
 |-  ( ph -> ( `' U ` K ) e. ( 0 ..^ ( ( # ` W ) - 1 ) ) )
149 76 148 eqeltrrd
 |-  ( ph -> ( `' W ` K ) e. ( 0 ..^ ( ( # ` W ) - 1 ) ) )
150 1 3 18 31 149 cycpmfv1
 |-  ( ph -> ( ( M ` W ) ` ( W ` ( `' W ` K ) ) ) = ( W ` ( ( `' W ` K ) + 1 ) ) )
151 98 fveq2d
 |-  ( ph -> ( ( M ` W ) ` ( W ` ( `' W ` K ) ) ) = ( ( M ` W ) ` K ) )
152 127 150 151 3eqtr2rd
 |-  ( ph -> ( ( M ` W ) ` K ) = ( U ` ( ( `' W ` K ) + 1 ) ) )
153 79 152 eqtr4d
 |-  ( ph -> ( ( M ` U ) ` K ) = ( ( M ` W ) ` K ) )