Proof of Theorem swrds1
| Step | Hyp | Ref
| Expression |
| 1 | | simpl 109 |
. . . 4
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 𝑊 ∈ Word 𝐴) |
| 2 | | elfzoelz 10269 |
. . . . 5
⊢ (𝐼 ∈
(0..^(♯‘𝑊))
→ 𝐼 ∈
ℤ) |
| 3 | 2 | adantl 277 |
. . . 4
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈ ℤ) |
| 4 | 3 | peano2zd 9498 |
. . . 4
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (𝐼 + 1) ∈ ℤ) |
| 5 | | swrdclg 11103 |
. . . 4
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ ℤ ∧ (𝐼 + 1) ∈ ℤ) → (𝑊 substr 〈𝐼, (𝐼 + 1)〉) ∈ Word 𝐴) |
| 6 | 1, 3, 4, 5 | syl3anc 1250 |
. . 3
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊 substr 〈𝐼, (𝐼 + 1)〉) ∈ Word 𝐴) |
| 7 | | elfzouz 10273 |
. . . . . . 7
⊢ (𝐼 ∈
(0..^(♯‘𝑊))
→ 𝐼 ∈
(ℤ≥‘0)) |
| 8 | 7 | adantl 277 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈
(ℤ≥‘0)) |
| 9 | | uzid 9662 |
. . . . . . 7
⊢ (𝐼 ∈ ℤ → 𝐼 ∈
(ℤ≥‘𝐼)) |
| 10 | | peano2uz 9704 |
. . . . . . 7
⊢ (𝐼 ∈
(ℤ≥‘𝐼) → (𝐼 + 1) ∈
(ℤ≥‘𝐼)) |
| 11 | 3, 9, 10 | 3syl 17 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (𝐼 + 1) ∈
(ℤ≥‘𝐼)) |
| 12 | | elfzuzb 10141 |
. . . . . 6
⊢ (𝐼 ∈ (0...(𝐼 + 1)) ↔ (𝐼 ∈ (ℤ≥‘0)
∧ (𝐼 + 1) ∈
(ℤ≥‘𝐼))) |
| 13 | 8, 11, 12 | sylanbrc 417 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈ (0...(𝐼 + 1))) |
| 14 | | fzofzp1 10356 |
. . . . . 6
⊢ (𝐼 ∈
(0..^(♯‘𝑊))
→ (𝐼 + 1) ∈
(0...(♯‘𝑊))) |
| 15 | 14 | adantl 277 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (𝐼 + 1) ∈ (0...(♯‘𝑊))) |
| 16 | | swrdlen 11105 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0...(𝐼 + 1)) ∧ (𝐼 + 1) ∈ (0...(♯‘𝑊))) → (♯‘(𝑊 substr 〈𝐼, (𝐼 + 1)〉)) = ((𝐼 + 1) − 𝐼)) |
| 17 | 1, 13, 15, 16 | syl3anc 1250 |
. . . 4
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (♯‘(𝑊 substr 〈𝐼, (𝐼 + 1)〉)) = ((𝐼 + 1) − 𝐼)) |
| 18 | 3 | zcnd 9496 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈ ℂ) |
| 19 | | ax-1cn 8018 |
. . . . 5
⊢ 1 ∈
ℂ |
| 20 | | pncan2 8279 |
. . . . 5
⊢ ((𝐼 ∈ ℂ ∧ 1 ∈
ℂ) → ((𝐼 + 1)
− 𝐼) =
1) |
| 21 | 18, 19, 20 | sylancl 413 |
. . . 4
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → ((𝐼 + 1) − 𝐼) = 1) |
| 22 | 17, 21 | eqtrd 2238 |
. . 3
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (♯‘(𝑊 substr 〈𝐼, (𝐼 + 1)〉)) = 1) |
| 23 | | eqs1 11082 |
. . 3
⊢ (((𝑊 substr 〈𝐼, (𝐼 + 1)〉) ∈ Word 𝐴 ∧ (♯‘(𝑊 substr 〈𝐼, (𝐼 + 1)〉)) = 1) → (𝑊 substr 〈𝐼, (𝐼 + 1)〉) = 〈“((𝑊 substr 〈𝐼, (𝐼 +
1)〉)‘0)”〉) |
| 24 | 6, 22, 23 | syl2anc 411 |
. 2
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊 substr 〈𝐼, (𝐼 + 1)〉) = 〈“((𝑊 substr 〈𝐼, (𝐼 +
1)〉)‘0)”〉) |
| 25 | | 0z 9383 |
. . . . . . 7
⊢ 0 ∈
ℤ |
| 26 | | snidg 3662 |
. . . . . . 7
⊢ (0 ∈
ℤ → 0 ∈ {0}) |
| 27 | 25, 26 | ax-mp 5 |
. . . . . 6
⊢ 0 ∈
{0} |
| 28 | 21 | oveq2d 5960 |
. . . . . . 7
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (0..^((𝐼 + 1) − 𝐼)) = (0..^1)) |
| 29 | | fzo01 10345 |
. . . . . . 7
⊢ (0..^1) =
{0} |
| 30 | 28, 29 | eqtrdi 2254 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (0..^((𝐼 + 1) − 𝐼)) = {0}) |
| 31 | 27, 30 | eleqtrrid 2295 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 0 ∈ (0..^((𝐼 + 1) − 𝐼))) |
| 32 | | swrdfv 11106 |
. . . . 5
⊢ (((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0...(𝐼 + 1)) ∧ (𝐼 + 1) ∈ (0...(♯‘𝑊))) ∧ 0 ∈ (0..^((𝐼 + 1) − 𝐼))) → ((𝑊 substr 〈𝐼, (𝐼 + 1)〉)‘0) = (𝑊‘(0 + 𝐼))) |
| 33 | 1, 13, 15, 31, 32 | syl31anc 1253 |
. . . 4
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → ((𝑊 substr 〈𝐼, (𝐼 + 1)〉)‘0) = (𝑊‘(0 + 𝐼))) |
| 34 | | addlid 8211 |
. . . . . . 7
⊢ (𝐼 ∈ ℂ → (0 +
𝐼) = 𝐼) |
| 35 | 34 | eqcomd 2211 |
. . . . . 6
⊢ (𝐼 ∈ ℂ → 𝐼 = (0 + 𝐼)) |
| 36 | 18, 35 | syl 14 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 = (0 + 𝐼)) |
| 37 | 36 | fveq2d 5580 |
. . . 4
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊‘𝐼) = (𝑊‘(0 + 𝐼))) |
| 38 | 33, 37 | eqtr4d 2241 |
. . 3
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → ((𝑊 substr 〈𝐼, (𝐼 + 1)〉)‘0) = (𝑊‘𝐼)) |
| 39 | 38 | s1eqd 11074 |
. 2
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 〈“((𝑊 substr 〈𝐼, (𝐼 + 1)〉)‘0)”〉 =
〈“(𝑊‘𝐼)”〉) |
| 40 | 24, 39 | eqtrd 2238 |
1
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊 substr 〈𝐼, (𝐼 + 1)〉) = 〈“(𝑊‘𝐼)”〉) |