Step |
Hyp |
Ref |
Expression |
1 |
|
cycpmco2.c |
⊢ 𝑀 = ( toCyc ‘ 𝐷 ) |
2 |
|
cycpmco2.s |
⊢ 𝑆 = ( SymGrp ‘ 𝐷 ) |
3 |
|
cycpmco2.d |
⊢ ( 𝜑 → 𝐷 ∈ 𝑉 ) |
4 |
|
cycpmco2.w |
⊢ ( 𝜑 → 𝑊 ∈ dom 𝑀 ) |
5 |
|
cycpmco2.i |
⊢ ( 𝜑 → 𝐼 ∈ ( 𝐷 ∖ ran 𝑊 ) ) |
6 |
|
cycpmco2.j |
⊢ ( 𝜑 → 𝐽 ∈ ran 𝑊 ) |
7 |
|
cycpmco2.e |
⊢ 𝐸 = ( ( ◡ 𝑊 ‘ 𝐽 ) + 1 ) |
8 |
|
cycpmco2.1 |
⊢ 𝑈 = ( 𝑊 splice 〈 𝐸 , 𝐸 , 〈“ 𝐼 ”〉 〉 ) |
9 |
|
un23 |
⊢ ( ( ( 𝑊 “ ( 0 ..^ 𝐸 ) ) ∪ { 𝐼 } ) ∪ ( 𝑊 “ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) = ( ( ( 𝑊 “ ( 0 ..^ 𝐸 ) ) ∪ ( 𝑊 “ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) ∪ { 𝐼 } ) |
10 |
|
ovexd |
⊢ ( 𝜑 → ( ( ◡ 𝑊 ‘ 𝐽 ) + 1 ) ∈ V ) |
11 |
7 10
|
eqeltrid |
⊢ ( 𝜑 → 𝐸 ∈ V ) |
12 |
5
|
eldifad |
⊢ ( 𝜑 → 𝐼 ∈ 𝐷 ) |
13 |
12
|
s1cld |
⊢ ( 𝜑 → 〈“ 𝐼 ”〉 ∈ Word 𝐷 ) |
14 |
|
splval |
⊢ ( ( 𝑊 ∈ dom 𝑀 ∧ ( 𝐸 ∈ V ∧ 𝐸 ∈ V ∧ 〈“ 𝐼 ”〉 ∈ Word 𝐷 ) ) → ( 𝑊 splice 〈 𝐸 , 𝐸 , 〈“ 𝐼 ”〉 〉 ) = ( ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) ++ ( 𝑊 substr 〈 𝐸 , ( ♯ ‘ 𝑊 ) 〉 ) ) ) |
15 |
4 11 11 13 14
|
syl13anc |
⊢ ( 𝜑 → ( 𝑊 splice 〈 𝐸 , 𝐸 , 〈“ 𝐼 ”〉 〉 ) = ( ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) ++ ( 𝑊 substr 〈 𝐸 , ( ♯ ‘ 𝑊 ) 〉 ) ) ) |
16 |
8 15
|
syl5eq |
⊢ ( 𝜑 → 𝑈 = ( ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) ++ ( 𝑊 substr 〈 𝐸 , ( ♯ ‘ 𝑊 ) 〉 ) ) ) |
17 |
16
|
rneqd |
⊢ ( 𝜑 → ran 𝑈 = ran ( ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) ++ ( 𝑊 substr 〈 𝐸 , ( ♯ ‘ 𝑊 ) 〉 ) ) ) |
18 |
|
ssrab2 |
⊢ { 𝑤 ∈ Word 𝐷 ∣ 𝑤 : dom 𝑤 –1-1→ 𝐷 } ⊆ Word 𝐷 |
19 |
|
eqid |
⊢ ( Base ‘ 𝑆 ) = ( Base ‘ 𝑆 ) |
20 |
1 2 19
|
tocycf |
⊢ ( 𝐷 ∈ 𝑉 → 𝑀 : { 𝑤 ∈ Word 𝐷 ∣ 𝑤 : dom 𝑤 –1-1→ 𝐷 } ⟶ ( Base ‘ 𝑆 ) ) |
21 |
3 20
|
syl |
⊢ ( 𝜑 → 𝑀 : { 𝑤 ∈ Word 𝐷 ∣ 𝑤 : dom 𝑤 –1-1→ 𝐷 } ⟶ ( Base ‘ 𝑆 ) ) |
22 |
21
|
fdmd |
⊢ ( 𝜑 → dom 𝑀 = { 𝑤 ∈ Word 𝐷 ∣ 𝑤 : dom 𝑤 –1-1→ 𝐷 } ) |
23 |
4 22
|
eleqtrd |
⊢ ( 𝜑 → 𝑊 ∈ { 𝑤 ∈ Word 𝐷 ∣ 𝑤 : dom 𝑤 –1-1→ 𝐷 } ) |
24 |
18 23
|
sselid |
⊢ ( 𝜑 → 𝑊 ∈ Word 𝐷 ) |
25 |
|
pfxcl |
⊢ ( 𝑊 ∈ Word 𝐷 → ( 𝑊 prefix 𝐸 ) ∈ Word 𝐷 ) |
26 |
24 25
|
syl |
⊢ ( 𝜑 → ( 𝑊 prefix 𝐸 ) ∈ Word 𝐷 ) |
27 |
|
ccatcl |
⊢ ( ( ( 𝑊 prefix 𝐸 ) ∈ Word 𝐷 ∧ 〈“ 𝐼 ”〉 ∈ Word 𝐷 ) → ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) ∈ Word 𝐷 ) |
28 |
26 13 27
|
syl2anc |
⊢ ( 𝜑 → ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) ∈ Word 𝐷 ) |
29 |
|
swrdcl |
⊢ ( 𝑊 ∈ Word 𝐷 → ( 𝑊 substr 〈 𝐸 , ( ♯ ‘ 𝑊 ) 〉 ) ∈ Word 𝐷 ) |
30 |
24 29
|
syl |
⊢ ( 𝜑 → ( 𝑊 substr 〈 𝐸 , ( ♯ ‘ 𝑊 ) 〉 ) ∈ Word 𝐷 ) |
31 |
|
ccatrn |
⊢ ( ( ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) ∈ Word 𝐷 ∧ ( 𝑊 substr 〈 𝐸 , ( ♯ ‘ 𝑊 ) 〉 ) ∈ Word 𝐷 ) → ran ( ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) ++ ( 𝑊 substr 〈 𝐸 , ( ♯ ‘ 𝑊 ) 〉 ) ) = ( ran ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) ∪ ran ( 𝑊 substr 〈 𝐸 , ( ♯ ‘ 𝑊 ) 〉 ) ) ) |
32 |
28 30 31
|
syl2anc |
⊢ ( 𝜑 → ran ( ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) ++ ( 𝑊 substr 〈 𝐸 , ( ♯ ‘ 𝑊 ) 〉 ) ) = ( ran ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) ∪ ran ( 𝑊 substr 〈 𝐸 , ( ♯ ‘ 𝑊 ) 〉 ) ) ) |
33 |
|
ccatrn |
⊢ ( ( ( 𝑊 prefix 𝐸 ) ∈ Word 𝐷 ∧ 〈“ 𝐼 ”〉 ∈ Word 𝐷 ) → ran ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) = ( ran ( 𝑊 prefix 𝐸 ) ∪ ran 〈“ 𝐼 ”〉 ) ) |
34 |
26 13 33
|
syl2anc |
⊢ ( 𝜑 → ran ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) = ( ran ( 𝑊 prefix 𝐸 ) ∪ ran 〈“ 𝐼 ”〉 ) ) |
35 |
|
id |
⊢ ( 𝑤 = 𝑊 → 𝑤 = 𝑊 ) |
36 |
|
dmeq |
⊢ ( 𝑤 = 𝑊 → dom 𝑤 = dom 𝑊 ) |
37 |
|
eqidd |
⊢ ( 𝑤 = 𝑊 → 𝐷 = 𝐷 ) |
38 |
35 36 37
|
f1eq123d |
⊢ ( 𝑤 = 𝑊 → ( 𝑤 : dom 𝑤 –1-1→ 𝐷 ↔ 𝑊 : dom 𝑊 –1-1→ 𝐷 ) ) |
39 |
38
|
elrab |
⊢ ( 𝑊 ∈ { 𝑤 ∈ Word 𝐷 ∣ 𝑤 : dom 𝑤 –1-1→ 𝐷 } ↔ ( 𝑊 ∈ Word 𝐷 ∧ 𝑊 : dom 𝑊 –1-1→ 𝐷 ) ) |
40 |
23 39
|
sylib |
⊢ ( 𝜑 → ( 𝑊 ∈ Word 𝐷 ∧ 𝑊 : dom 𝑊 –1-1→ 𝐷 ) ) |
41 |
40
|
simprd |
⊢ ( 𝜑 → 𝑊 : dom 𝑊 –1-1→ 𝐷 ) |
42 |
|
f1cnv |
⊢ ( 𝑊 : dom 𝑊 –1-1→ 𝐷 → ◡ 𝑊 : ran 𝑊 –1-1-onto→ dom 𝑊 ) |
43 |
|
f1of |
⊢ ( ◡ 𝑊 : ran 𝑊 –1-1-onto→ dom 𝑊 → ◡ 𝑊 : ran 𝑊 ⟶ dom 𝑊 ) |
44 |
41 42 43
|
3syl |
⊢ ( 𝜑 → ◡ 𝑊 : ran 𝑊 ⟶ dom 𝑊 ) |
45 |
44 6
|
ffvelrnd |
⊢ ( 𝜑 → ( ◡ 𝑊 ‘ 𝐽 ) ∈ dom 𝑊 ) |
46 |
|
wrddm |
⊢ ( 𝑊 ∈ Word 𝐷 → dom 𝑊 = ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
47 |
24 46
|
syl |
⊢ ( 𝜑 → dom 𝑊 = ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
48 |
45 47
|
eleqtrd |
⊢ ( 𝜑 → ( ◡ 𝑊 ‘ 𝐽 ) ∈ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
49 |
|
fzofzp1 |
⊢ ( ( ◡ 𝑊 ‘ 𝐽 ) ∈ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) → ( ( ◡ 𝑊 ‘ 𝐽 ) + 1 ) ∈ ( 0 ... ( ♯ ‘ 𝑊 ) ) ) |
50 |
48 49
|
syl |
⊢ ( 𝜑 → ( ( ◡ 𝑊 ‘ 𝐽 ) + 1 ) ∈ ( 0 ... ( ♯ ‘ 𝑊 ) ) ) |
51 |
7 50
|
eqeltrid |
⊢ ( 𝜑 → 𝐸 ∈ ( 0 ... ( ♯ ‘ 𝑊 ) ) ) |
52 |
|
pfxrn3 |
⊢ ( ( 𝑊 ∈ Word 𝐷 ∧ 𝐸 ∈ ( 0 ... ( ♯ ‘ 𝑊 ) ) ) → ran ( 𝑊 prefix 𝐸 ) = ( 𝑊 “ ( 0 ..^ 𝐸 ) ) ) |
53 |
24 51 52
|
syl2anc |
⊢ ( 𝜑 → ran ( 𝑊 prefix 𝐸 ) = ( 𝑊 “ ( 0 ..^ 𝐸 ) ) ) |
54 |
|
s1rn |
⊢ ( 𝐼 ∈ 𝐷 → ran 〈“ 𝐼 ”〉 = { 𝐼 } ) |
55 |
12 54
|
syl |
⊢ ( 𝜑 → ran 〈“ 𝐼 ”〉 = { 𝐼 } ) |
56 |
53 55
|
uneq12d |
⊢ ( 𝜑 → ( ran ( 𝑊 prefix 𝐸 ) ∪ ran 〈“ 𝐼 ”〉 ) = ( ( 𝑊 “ ( 0 ..^ 𝐸 ) ) ∪ { 𝐼 } ) ) |
57 |
34 56
|
eqtrd |
⊢ ( 𝜑 → ran ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) = ( ( 𝑊 “ ( 0 ..^ 𝐸 ) ) ∪ { 𝐼 } ) ) |
58 |
|
lencl |
⊢ ( 𝑊 ∈ Word 𝐷 → ( ♯ ‘ 𝑊 ) ∈ ℕ0 ) |
59 |
|
nn0fz0 |
⊢ ( ( ♯ ‘ 𝑊 ) ∈ ℕ0 ↔ ( ♯ ‘ 𝑊 ) ∈ ( 0 ... ( ♯ ‘ 𝑊 ) ) ) |
60 |
59
|
biimpi |
⊢ ( ( ♯ ‘ 𝑊 ) ∈ ℕ0 → ( ♯ ‘ 𝑊 ) ∈ ( 0 ... ( ♯ ‘ 𝑊 ) ) ) |
61 |
24 58 60
|
3syl |
⊢ ( 𝜑 → ( ♯ ‘ 𝑊 ) ∈ ( 0 ... ( ♯ ‘ 𝑊 ) ) ) |
62 |
|
swrdrn3 |
⊢ ( ( 𝑊 ∈ Word 𝐷 ∧ 𝐸 ∈ ( 0 ... ( ♯ ‘ 𝑊 ) ) ∧ ( ♯ ‘ 𝑊 ) ∈ ( 0 ... ( ♯ ‘ 𝑊 ) ) ) → ran ( 𝑊 substr 〈 𝐸 , ( ♯ ‘ 𝑊 ) 〉 ) = ( 𝑊 “ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) |
63 |
24 51 61 62
|
syl3anc |
⊢ ( 𝜑 → ran ( 𝑊 substr 〈 𝐸 , ( ♯ ‘ 𝑊 ) 〉 ) = ( 𝑊 “ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) |
64 |
57 63
|
uneq12d |
⊢ ( 𝜑 → ( ran ( ( 𝑊 prefix 𝐸 ) ++ 〈“ 𝐼 ”〉 ) ∪ ran ( 𝑊 substr 〈 𝐸 , ( ♯ ‘ 𝑊 ) 〉 ) ) = ( ( ( 𝑊 “ ( 0 ..^ 𝐸 ) ) ∪ { 𝐼 } ) ∪ ( 𝑊 “ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) ) |
65 |
17 32 64
|
3eqtrd |
⊢ ( 𝜑 → ran 𝑈 = ( ( ( 𝑊 “ ( 0 ..^ 𝐸 ) ) ∪ { 𝐼 } ) ∪ ( 𝑊 “ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) ) |
66 |
|
fzosplit |
⊢ ( 𝐸 ∈ ( 0 ... ( ♯ ‘ 𝑊 ) ) → ( 0 ..^ ( ♯ ‘ 𝑊 ) ) = ( ( 0 ..^ 𝐸 ) ∪ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) |
67 |
51 66
|
syl |
⊢ ( 𝜑 → ( 0 ..^ ( ♯ ‘ 𝑊 ) ) = ( ( 0 ..^ 𝐸 ) ∪ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) |
68 |
67
|
imaeq2d |
⊢ ( 𝜑 → ( 𝑊 “ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) = ( 𝑊 “ ( ( 0 ..^ 𝐸 ) ∪ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) ) |
69 |
|
wrdf |
⊢ ( 𝑊 ∈ Word 𝐷 → 𝑊 : ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ⟶ 𝐷 ) |
70 |
24 69
|
syl |
⊢ ( 𝜑 → 𝑊 : ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ⟶ 𝐷 ) |
71 |
70
|
ffnd |
⊢ ( 𝜑 → 𝑊 Fn ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
72 |
|
fnima |
⊢ ( 𝑊 Fn ( 0 ..^ ( ♯ ‘ 𝑊 ) ) → ( 𝑊 “ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) = ran 𝑊 ) |
73 |
71 72
|
syl |
⊢ ( 𝜑 → ( 𝑊 “ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) = ran 𝑊 ) |
74 |
|
elfzuz3 |
⊢ ( 𝐸 ∈ ( 0 ... ( ♯ ‘ 𝑊 ) ) → ( ♯ ‘ 𝑊 ) ∈ ( ℤ≥ ‘ 𝐸 ) ) |
75 |
|
fzoss2 |
⊢ ( ( ♯ ‘ 𝑊 ) ∈ ( ℤ≥ ‘ 𝐸 ) → ( 0 ..^ 𝐸 ) ⊆ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
76 |
51 74 75
|
3syl |
⊢ ( 𝜑 → ( 0 ..^ 𝐸 ) ⊆ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
77 |
|
fz0ssnn0 |
⊢ ( 0 ... ( ♯ ‘ 𝑊 ) ) ⊆ ℕ0 |
78 |
77 51
|
sselid |
⊢ ( 𝜑 → 𝐸 ∈ ℕ0 ) |
79 |
|
nn0uz |
⊢ ℕ0 = ( ℤ≥ ‘ 0 ) |
80 |
78 79
|
eleqtrdi |
⊢ ( 𝜑 → 𝐸 ∈ ( ℤ≥ ‘ 0 ) ) |
81 |
|
fzoss1 |
⊢ ( 𝐸 ∈ ( ℤ≥ ‘ 0 ) → ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ⊆ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
82 |
80 81
|
syl |
⊢ ( 𝜑 → ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ⊆ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
83 |
|
unima |
⊢ ( ( 𝑊 Fn ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ∧ ( 0 ..^ 𝐸 ) ⊆ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ∧ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ⊆ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) → ( 𝑊 “ ( ( 0 ..^ 𝐸 ) ∪ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) = ( ( 𝑊 “ ( 0 ..^ 𝐸 ) ) ∪ ( 𝑊 “ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) ) |
84 |
71 76 82 83
|
syl3anc |
⊢ ( 𝜑 → ( 𝑊 “ ( ( 0 ..^ 𝐸 ) ∪ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) = ( ( 𝑊 “ ( 0 ..^ 𝐸 ) ) ∪ ( 𝑊 “ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) ) |
85 |
68 73 84
|
3eqtr3d |
⊢ ( 𝜑 → ran 𝑊 = ( ( 𝑊 “ ( 0 ..^ 𝐸 ) ) ∪ ( 𝑊 “ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) ) |
86 |
85
|
uneq1d |
⊢ ( 𝜑 → ( ran 𝑊 ∪ { 𝐼 } ) = ( ( ( 𝑊 “ ( 0 ..^ 𝐸 ) ) ∪ ( 𝑊 “ ( 𝐸 ..^ ( ♯ ‘ 𝑊 ) ) ) ) ∪ { 𝐼 } ) ) |
87 |
9 65 86
|
3eqtr4a |
⊢ ( 𝜑 → ran 𝑈 = ( ran 𝑊 ∪ { 𝐼 } ) ) |