Proof of Theorem swrdccatwrdOLD
Step | Hyp | Ref
| Expression |
1 | | lennncl 13601 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → (♯‘𝑊) ∈
ℕ) |
2 | | fzo0end 12862 |
. . . . . 6
⊢
((♯‘𝑊)
∈ ℕ → ((♯‘𝑊) − 1) ∈
(0..^(♯‘𝑊))) |
3 | 1, 2 | syl 17 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → ((♯‘𝑊) − 1) ∈
(0..^(♯‘𝑊))) |
4 | | swrds1 13748 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝑉 ∧ ((♯‘𝑊) − 1) ∈
(0..^(♯‘𝑊)))
→ (𝑊 substr
〈((♯‘𝑊)
− 1), (((♯‘𝑊) − 1) + 1)〉) =
〈“(𝑊‘((♯‘𝑊) − 1))”〉) |
5 | 3, 4 | syldan 585 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → (𝑊 substr 〈((♯‘𝑊) − 1),
(((♯‘𝑊) −
1) + 1)〉) = 〈“(𝑊‘((♯‘𝑊) − 1))”〉) |
6 | | nncn 11366 |
. . . . . . . . 9
⊢
((♯‘𝑊)
∈ ℕ → (♯‘𝑊) ∈ ℂ) |
7 | | 1cnd 10358 |
. . . . . . . . 9
⊢
((♯‘𝑊)
∈ ℕ → 1 ∈ ℂ) |
8 | 6, 7 | npcand 10724 |
. . . . . . . 8
⊢
((♯‘𝑊)
∈ ℕ → (((♯‘𝑊) − 1) + 1) = (♯‘𝑊)) |
9 | 8 | eqcomd 2831 |
. . . . . . 7
⊢
((♯‘𝑊)
∈ ℕ → (♯‘𝑊) = (((♯‘𝑊) − 1) + 1)) |
10 | 1, 9 | syl 17 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → (♯‘𝑊) = (((♯‘𝑊) − 1) +
1)) |
11 | 10 | opeq2d 4632 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) →
〈((♯‘𝑊)
− 1), (♯‘𝑊)〉 = 〈((♯‘𝑊) − 1),
(((♯‘𝑊) −
1) + 1)〉) |
12 | 11 | oveq2d 6926 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → (𝑊 substr 〈((♯‘𝑊) − 1),
(♯‘𝑊)〉) =
(𝑊 substr
〈((♯‘𝑊)
− 1), (((♯‘𝑊) − 1) + 1)〉)) |
13 | | lsw 13631 |
. . . . . 6
⊢ (𝑊 ∈ Word 𝑉 → (lastS‘𝑊) = (𝑊‘((♯‘𝑊) − 1))) |
14 | 13 | adantr 474 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → (lastS‘𝑊) = (𝑊‘((♯‘𝑊) − 1))) |
15 | 14 | s1eqd 13668 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) →
〈“(lastS‘𝑊)”〉 = 〈“(𝑊‘((♯‘𝑊) −
1))”〉) |
16 | 5, 12, 15 | 3eqtr4rd 2872 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) →
〈“(lastS‘𝑊)”〉 = (𝑊 substr 〈((♯‘𝑊) − 1),
(♯‘𝑊)〉)) |
17 | 16 | oveq2d 6926 |
. 2
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → ((𝑊 substr 〈0, ((♯‘𝑊) − 1)〉) ++
〈“(lastS‘𝑊)”〉) = ((𝑊 substr 〈0, ((♯‘𝑊) − 1)〉) ++ (𝑊 substr
〈((♯‘𝑊)
− 1), (♯‘𝑊)〉))) |
18 | | nnm1nn0 11668 |
. . . . . 6
⊢
((♯‘𝑊)
∈ ℕ → ((♯‘𝑊) − 1) ∈
ℕ0) |
19 | | 0elfz 12738 |
. . . . . 6
⊢
(((♯‘𝑊)
− 1) ∈ ℕ0 → 0 ∈
(0...((♯‘𝑊)
− 1))) |
20 | 18, 19 | syl 17 |
. . . . 5
⊢
((♯‘𝑊)
∈ ℕ → 0 ∈ (0...((♯‘𝑊) − 1))) |
21 | | 1nn0 11643 |
. . . . . . . 8
⊢ 1 ∈
ℕ0 |
22 | 21 | a1i 11 |
. . . . . . 7
⊢
((♯‘𝑊)
∈ ℕ → 1 ∈ ℕ0) |
23 | | nnnn0 11633 |
. . . . . . 7
⊢
((♯‘𝑊)
∈ ℕ → (♯‘𝑊) ∈
ℕ0) |
24 | | nnge1 11387 |
. . . . . . 7
⊢
((♯‘𝑊)
∈ ℕ → 1 ≤ (♯‘𝑊)) |
25 | | elfz2nn0 12732 |
. . . . . . 7
⊢ (1 ∈
(0...(♯‘𝑊))
↔ (1 ∈ ℕ0 ∧ (♯‘𝑊) ∈ ℕ0 ∧ 1 ≤
(♯‘𝑊))) |
26 | 22, 23, 24, 25 | syl3anbrc 1447 |
. . . . . 6
⊢
((♯‘𝑊)
∈ ℕ → 1 ∈ (0...(♯‘𝑊))) |
27 | | elfz1end 12671 |
. . . . . . 7
⊢
((♯‘𝑊)
∈ ℕ ↔ (♯‘𝑊) ∈ (1...(♯‘𝑊))) |
28 | 27 | biimpi 208 |
. . . . . 6
⊢
((♯‘𝑊)
∈ ℕ → (♯‘𝑊) ∈ (1...(♯‘𝑊))) |
29 | | fz0fzdiffz0 12750 |
. . . . . 6
⊢ ((1
∈ (0...(♯‘𝑊)) ∧ (♯‘𝑊) ∈ (1...(♯‘𝑊))) → ((♯‘𝑊) − 1) ∈
(0...(♯‘𝑊))) |
30 | 26, 28, 29 | syl2anc 579 |
. . . . 5
⊢
((♯‘𝑊)
∈ ℕ → ((♯‘𝑊) − 1) ∈
(0...(♯‘𝑊))) |
31 | | nn0fz0 12739 |
. . . . . . 7
⊢
((♯‘𝑊)
∈ ℕ0 ↔ (♯‘𝑊) ∈ (0...(♯‘𝑊))) |
32 | 31 | biimpi 208 |
. . . . . 6
⊢
((♯‘𝑊)
∈ ℕ0 → (♯‘𝑊) ∈ (0...(♯‘𝑊))) |
33 | 23, 32 | syl 17 |
. . . . 5
⊢
((♯‘𝑊)
∈ ℕ → (♯‘𝑊) ∈ (0...(♯‘𝑊))) |
34 | 20, 30, 33 | 3jca 1162 |
. . . 4
⊢
((♯‘𝑊)
∈ ℕ → (0 ∈ (0...((♯‘𝑊) − 1)) ∧ ((♯‘𝑊) − 1) ∈
(0...(♯‘𝑊))
∧ (♯‘𝑊)
∈ (0...(♯‘𝑊)))) |
35 | 1, 34 | syl 17 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → (0 ∈
(0...((♯‘𝑊)
− 1)) ∧ ((♯‘𝑊) − 1) ∈
(0...(♯‘𝑊))
∧ (♯‘𝑊)
∈ (0...(♯‘𝑊)))) |
36 | | ccatswrd 13753 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ (0 ∈ (0...((♯‘𝑊) − 1)) ∧
((♯‘𝑊) −
1) ∈ (0...(♯‘𝑊)) ∧ (♯‘𝑊) ∈ (0...(♯‘𝑊)))) → ((𝑊 substr 〈0, ((♯‘𝑊) − 1)〉) ++ (𝑊 substr
〈((♯‘𝑊)
− 1), (♯‘𝑊)〉)) = (𝑊 substr 〈0, (♯‘𝑊)〉)) |
37 | 35, 36 | syldan 585 |
. 2
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → ((𝑊 substr 〈0, ((♯‘𝑊) − 1)〉) ++ (𝑊 substr
〈((♯‘𝑊)
− 1), (♯‘𝑊)〉)) = (𝑊 substr 〈0, (♯‘𝑊)〉)) |
38 | | swrdidOLD 13722 |
. . 3
⊢ (𝑊 ∈ Word 𝑉 → (𝑊 substr 〈0, (♯‘𝑊)〉) = 𝑊) |
39 | 38 | adantr 474 |
. 2
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → (𝑊 substr 〈0, (♯‘𝑊)〉) = 𝑊) |
40 | 17, 37, 39 | 3eqtrd 2865 |
1
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → ((𝑊 substr 〈0, ((♯‘𝑊) − 1)〉) ++
〈“(lastS‘𝑊)”〉) = 𝑊) |