| Step | Hyp | Ref
| Expression |
| 1 | | ssrab2 4060 |
. . . . 5
⊢ {𝑤 ∈ Word 𝐷 ∣ 𝑤:dom 𝑤–1-1→𝐷} ⊆ Word 𝐷 |
| 2 | | cycpmco2.w |
. . . . . 6
⊢ (𝜑 → 𝑊 ∈ dom 𝑀) |
| 3 | | cycpmco2.d |
. . . . . . . 8
⊢ (𝜑 → 𝐷 ∈ 𝑉) |
| 4 | | cycpmco2.c |
. . . . . . . . 9
⊢ 𝑀 = (toCyc‘𝐷) |
| 5 | | cycpmco2.s |
. . . . . . . . 9
⊢ 𝑆 = (SymGrp‘𝐷) |
| 6 | | eqid 2736 |
. . . . . . . . 9
⊢
(Base‘𝑆) =
(Base‘𝑆) |
| 7 | 4, 5, 6 | tocycf 33133 |
. . . . . . . 8
⊢ (𝐷 ∈ 𝑉 → 𝑀:{𝑤 ∈ Word 𝐷 ∣ 𝑤:dom 𝑤–1-1→𝐷}⟶(Base‘𝑆)) |
| 8 | 3, 7 | syl 17 |
. . . . . . 7
⊢ (𝜑 → 𝑀:{𝑤 ∈ Word 𝐷 ∣ 𝑤:dom 𝑤–1-1→𝐷}⟶(Base‘𝑆)) |
| 9 | 8 | fdmd 6721 |
. . . . . 6
⊢ (𝜑 → dom 𝑀 = {𝑤 ∈ Word 𝐷 ∣ 𝑤:dom 𝑤–1-1→𝐷}) |
| 10 | 2, 9 | eleqtrd 2837 |
. . . . 5
⊢ (𝜑 → 𝑊 ∈ {𝑤 ∈ Word 𝐷 ∣ 𝑤:dom 𝑤–1-1→𝐷}) |
| 11 | 1, 10 | sselid 3961 |
. . . 4
⊢ (𝜑 → 𝑊 ∈ Word 𝐷) |
| 12 | | lencl 14556 |
. . . 4
⊢ (𝑊 ∈ Word 𝐷 → (♯‘𝑊) ∈
ℕ0) |
| 13 | 11, 12 | syl 17 |
. . 3
⊢ (𝜑 → (♯‘𝑊) ∈
ℕ0) |
| 14 | 13 | nn0cnd 12569 |
. 2
⊢ (𝜑 → (♯‘𝑊) ∈
ℂ) |
| 15 | | 1cnd 11235 |
. 2
⊢ (𝜑 → 1 ∈
ℂ) |
| 16 | | cycpmco2.1 |
. . . . . . 7
⊢ 𝑈 = (𝑊 splice 〈𝐸, 𝐸, 〈“𝐼”〉〉) |
| 17 | | cycpmco2.e |
. . . . . . . . 9
⊢ 𝐸 = ((◡𝑊‘𝐽) + 1) |
| 18 | | ovexd 7445 |
. . . . . . . . 9
⊢ (𝜑 → ((◡𝑊‘𝐽) + 1) ∈ V) |
| 19 | 17, 18 | eqeltrid 2839 |
. . . . . . . 8
⊢ (𝜑 → 𝐸 ∈ V) |
| 20 | | cycpmco2.i |
. . . . . . . . . 10
⊢ (𝜑 → 𝐼 ∈ (𝐷 ∖ ran 𝑊)) |
| 21 | 20 | eldifad 3943 |
. . . . . . . . 9
⊢ (𝜑 → 𝐼 ∈ 𝐷) |
| 22 | 21 | s1cld 14626 |
. . . . . . . 8
⊢ (𝜑 → 〈“𝐼”〉 ∈ Word 𝐷) |
| 23 | | splval 14774 |
. . . . . . . 8
⊢ ((𝑊 ∈ dom 𝑀 ∧ (𝐸 ∈ V ∧ 𝐸 ∈ V ∧ 〈“𝐼”〉 ∈ Word 𝐷)) → (𝑊 splice 〈𝐸, 𝐸, 〈“𝐼”〉〉) = (((𝑊 prefix 𝐸) ++ 〈“𝐼”〉) ++ (𝑊 substr 〈𝐸, (♯‘𝑊)〉))) |
| 24 | 2, 19, 19, 22, 23 | syl13anc 1374 |
. . . . . . 7
⊢ (𝜑 → (𝑊 splice 〈𝐸, 𝐸, 〈“𝐼”〉〉) = (((𝑊 prefix 𝐸) ++ 〈“𝐼”〉) ++ (𝑊 substr 〈𝐸, (♯‘𝑊)〉))) |
| 25 | 16, 24 | eqtrid 2783 |
. . . . . 6
⊢ (𝜑 → 𝑈 = (((𝑊 prefix 𝐸) ++ 〈“𝐼”〉) ++ (𝑊 substr 〈𝐸, (♯‘𝑊)〉))) |
| 26 | 25 | fveq2d 6885 |
. . . . 5
⊢ (𝜑 → (♯‘𝑈) = (♯‘(((𝑊 prefix 𝐸) ++ 〈“𝐼”〉) ++ (𝑊 substr 〈𝐸, (♯‘𝑊)〉)))) |
| 27 | | pfxcl 14700 |
. . . . . . . 8
⊢ (𝑊 ∈ Word 𝐷 → (𝑊 prefix 𝐸) ∈ Word 𝐷) |
| 28 | 11, 27 | syl 17 |
. . . . . . 7
⊢ (𝜑 → (𝑊 prefix 𝐸) ∈ Word 𝐷) |
| 29 | | ccatcl 14597 |
. . . . . . 7
⊢ (((𝑊 prefix 𝐸) ∈ Word 𝐷 ∧ 〈“𝐼”〉 ∈ Word 𝐷) → ((𝑊 prefix 𝐸) ++ 〈“𝐼”〉) ∈ Word 𝐷) |
| 30 | 28, 22, 29 | syl2anc 584 |
. . . . . 6
⊢ (𝜑 → ((𝑊 prefix 𝐸) ++ 〈“𝐼”〉) ∈ Word 𝐷) |
| 31 | | swrdcl 14668 |
. . . . . . 7
⊢ (𝑊 ∈ Word 𝐷 → (𝑊 substr 〈𝐸, (♯‘𝑊)〉) ∈ Word 𝐷) |
| 32 | 11, 31 | syl 17 |
. . . . . 6
⊢ (𝜑 → (𝑊 substr 〈𝐸, (♯‘𝑊)〉) ∈ Word 𝐷) |
| 33 | | ccatlen 14598 |
. . . . . 6
⊢ ((((𝑊 prefix 𝐸) ++ 〈“𝐼”〉) ∈ Word 𝐷 ∧ (𝑊 substr 〈𝐸, (♯‘𝑊)〉) ∈ Word 𝐷) → (♯‘(((𝑊 prefix 𝐸) ++ 〈“𝐼”〉) ++ (𝑊 substr 〈𝐸, (♯‘𝑊)〉))) = ((♯‘((𝑊 prefix 𝐸) ++ 〈“𝐼”〉)) + (♯‘(𝑊 substr 〈𝐸, (♯‘𝑊)〉)))) |
| 34 | 30, 32, 33 | syl2anc 584 |
. . . . 5
⊢ (𝜑 → (♯‘(((𝑊 prefix 𝐸) ++ 〈“𝐼”〉) ++ (𝑊 substr 〈𝐸, (♯‘𝑊)〉))) = ((♯‘((𝑊 prefix 𝐸) ++ 〈“𝐼”〉)) + (♯‘(𝑊 substr 〈𝐸, (♯‘𝑊)〉)))) |
| 35 | | ccatws1len 14643 |
. . . . . . . 8
⊢ ((𝑊 prefix 𝐸) ∈ Word 𝐷 → (♯‘((𝑊 prefix 𝐸) ++ 〈“𝐼”〉)) = ((♯‘(𝑊 prefix 𝐸)) + 1)) |
| 36 | 28, 35 | syl 17 |
. . . . . . 7
⊢ (𝜑 → (♯‘((𝑊 prefix 𝐸) ++ 〈“𝐼”〉)) = ((♯‘(𝑊 prefix 𝐸)) + 1)) |
| 37 | | id 22 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑤 = 𝑊 → 𝑤 = 𝑊) |
| 38 | | dmeq 5888 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑤 = 𝑊 → dom 𝑤 = dom 𝑊) |
| 39 | | eqidd 2737 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑤 = 𝑊 → 𝐷 = 𝐷) |
| 40 | 37, 38, 39 | f1eq123d 6815 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑤 = 𝑊 → (𝑤:dom 𝑤–1-1→𝐷 ↔ 𝑊:dom 𝑊–1-1→𝐷)) |
| 41 | 40 | elrab 3676 |
. . . . . . . . . . . . . . . 16
⊢ (𝑊 ∈ {𝑤 ∈ Word 𝐷 ∣ 𝑤:dom 𝑤–1-1→𝐷} ↔ (𝑊 ∈ Word 𝐷 ∧ 𝑊:dom 𝑊–1-1→𝐷)) |
| 42 | 10, 41 | sylib 218 |
. . . . . . . . . . . . . . 15
⊢ (𝜑 → (𝑊 ∈ Word 𝐷 ∧ 𝑊:dom 𝑊–1-1→𝐷)) |
| 43 | | f1cnv 6847 |
. . . . . . . . . . . . . . 15
⊢ (𝑊:dom 𝑊–1-1→𝐷 → ◡𝑊:ran 𝑊–1-1-onto→dom
𝑊) |
| 44 | 42, 43 | simpl2im 503 |
. . . . . . . . . . . . . 14
⊢ (𝜑 → ◡𝑊:ran 𝑊–1-1-onto→dom
𝑊) |
| 45 | | f1of 6823 |
. . . . . . . . . . . . . 14
⊢ (◡𝑊:ran 𝑊–1-1-onto→dom
𝑊 → ◡𝑊:ran 𝑊⟶dom 𝑊) |
| 46 | 44, 45 | syl 17 |
. . . . . . . . . . . . 13
⊢ (𝜑 → ◡𝑊:ran 𝑊⟶dom 𝑊) |
| 47 | | cycpmco2.j |
. . . . . . . . . . . . 13
⊢ (𝜑 → 𝐽 ∈ ran 𝑊) |
| 48 | 46, 47 | ffvelcdmd 7080 |
. . . . . . . . . . . 12
⊢ (𝜑 → (◡𝑊‘𝐽) ∈ dom 𝑊) |
| 49 | | wrddm 14544 |
. . . . . . . . . . . . 13
⊢ (𝑊 ∈ Word 𝐷 → dom 𝑊 = (0..^(♯‘𝑊))) |
| 50 | 11, 49 | syl 17 |
. . . . . . . . . . . 12
⊢ (𝜑 → dom 𝑊 = (0..^(♯‘𝑊))) |
| 51 | 48, 50 | eleqtrd 2837 |
. . . . . . . . . . 11
⊢ (𝜑 → (◡𝑊‘𝐽) ∈ (0..^(♯‘𝑊))) |
| 52 | | fzofzp1 13785 |
. . . . . . . . . . 11
⊢ ((◡𝑊‘𝐽) ∈ (0..^(♯‘𝑊)) → ((◡𝑊‘𝐽) + 1) ∈ (0...(♯‘𝑊))) |
| 53 | 51, 52 | syl 17 |
. . . . . . . . . 10
⊢ (𝜑 → ((◡𝑊‘𝐽) + 1) ∈ (0...(♯‘𝑊))) |
| 54 | 17, 53 | eqeltrid 2839 |
. . . . . . . . 9
⊢ (𝜑 → 𝐸 ∈ (0...(♯‘𝑊))) |
| 55 | | pfxlen 14706 |
. . . . . . . . 9
⊢ ((𝑊 ∈ Word 𝐷 ∧ 𝐸 ∈ (0...(♯‘𝑊))) → (♯‘(𝑊 prefix 𝐸)) = 𝐸) |
| 56 | 11, 54, 55 | syl2anc 584 |
. . . . . . . 8
⊢ (𝜑 → (♯‘(𝑊 prefix 𝐸)) = 𝐸) |
| 57 | 56 | oveq1d 7425 |
. . . . . . 7
⊢ (𝜑 → ((♯‘(𝑊 prefix 𝐸)) + 1) = (𝐸 + 1)) |
| 58 | 36, 57 | eqtrd 2771 |
. . . . . 6
⊢ (𝜑 → (♯‘((𝑊 prefix 𝐸) ++ 〈“𝐼”〉)) = (𝐸 + 1)) |
| 59 | | nn0fz0 13647 |
. . . . . . . 8
⊢
((♯‘𝑊)
∈ ℕ0 ↔ (♯‘𝑊) ∈ (0...(♯‘𝑊))) |
| 60 | 13, 59 | sylib 218 |
. . . . . . 7
⊢ (𝜑 → (♯‘𝑊) ∈
(0...(♯‘𝑊))) |
| 61 | | swrdlen 14670 |
. . . . . . 7
⊢ ((𝑊 ∈ Word 𝐷 ∧ 𝐸 ∈ (0...(♯‘𝑊)) ∧ (♯‘𝑊) ∈
(0...(♯‘𝑊)))
→ (♯‘(𝑊
substr 〈𝐸,
(♯‘𝑊)〉)) =
((♯‘𝑊) −
𝐸)) |
| 62 | 11, 54, 60, 61 | syl3anc 1373 |
. . . . . 6
⊢ (𝜑 → (♯‘(𝑊 substr 〈𝐸, (♯‘𝑊)〉)) = ((♯‘𝑊) − 𝐸)) |
| 63 | 58, 62 | oveq12d 7428 |
. . . . 5
⊢ (𝜑 → ((♯‘((𝑊 prefix 𝐸) ++ 〈“𝐼”〉)) + (♯‘(𝑊 substr 〈𝐸, (♯‘𝑊)〉))) = ((𝐸 + 1) + ((♯‘𝑊) − 𝐸))) |
| 64 | 26, 34, 63 | 3eqtrd 2775 |
. . . 4
⊢ (𝜑 → (♯‘𝑈) = ((𝐸 + 1) + ((♯‘𝑊) − 𝐸))) |
| 65 | | fz0ssnn0 13644 |
. . . . . . . . 9
⊢
(0...(♯‘𝑊)) ⊆
ℕ0 |
| 66 | 65, 54 | sselid 3961 |
. . . . . . . 8
⊢ (𝜑 → 𝐸 ∈
ℕ0) |
| 67 | 66 | nn0zd 12619 |
. . . . . . 7
⊢ (𝜑 → 𝐸 ∈ ℤ) |
| 68 | 67 | peano2zd 12705 |
. . . . . 6
⊢ (𝜑 → (𝐸 + 1) ∈ ℤ) |
| 69 | 68 | zcnd 12703 |
. . . . 5
⊢ (𝜑 → (𝐸 + 1) ∈ ℂ) |
| 70 | 66 | nn0cnd 12569 |
. . . . 5
⊢ (𝜑 → 𝐸 ∈ ℂ) |
| 71 | 69, 14, 70 | addsubassd 11619 |
. . . 4
⊢ (𝜑 → (((𝐸 + 1) + (♯‘𝑊)) − 𝐸) = ((𝐸 + 1) + ((♯‘𝑊) − 𝐸))) |
| 72 | 70, 15, 14 | addassd 11262 |
. . . . 5
⊢ (𝜑 → ((𝐸 + 1) + (♯‘𝑊)) = (𝐸 + (1 + (♯‘𝑊)))) |
| 73 | 72 | oveq1d 7425 |
. . . 4
⊢ (𝜑 → (((𝐸 + 1) + (♯‘𝑊)) − 𝐸) = ((𝐸 + (1 + (♯‘𝑊))) − 𝐸)) |
| 74 | 64, 71, 73 | 3eqtr2d 2777 |
. . 3
⊢ (𝜑 → (♯‘𝑈) = ((𝐸 + (1 + (♯‘𝑊))) − 𝐸)) |
| 75 | 15, 14 | addcld 11259 |
. . . 4
⊢ (𝜑 → (1 + (♯‘𝑊)) ∈
ℂ) |
| 76 | 70, 75 | pncan2d 11601 |
. . 3
⊢ (𝜑 → ((𝐸 + (1 + (♯‘𝑊))) − 𝐸) = (1 + (♯‘𝑊))) |
| 77 | 15, 14 | addcomd 11442 |
. . 3
⊢ (𝜑 → (1 + (♯‘𝑊)) = ((♯‘𝑊) + 1)) |
| 78 | 74, 76, 77 | 3eqtrd 2775 |
. 2
⊢ (𝜑 → (♯‘𝑈) = ((♯‘𝑊) + 1)) |
| 79 | 14, 15, 78 | mvrraddd 11654 |
1
⊢ (𝜑 → ((♯‘𝑈) − 1) =
(♯‘𝑊)) |