Proof of Theorem swrds1
| Step | Hyp | Ref
| Expression |
| 1 | | swrdcl 14683 |
. . 3
⊢ (𝑊 ∈ Word 𝐴 → (𝑊 substr 〈𝐼, (𝐼 + 1)〉) ∈ Word 𝐴) |
| 2 | | simpl 482 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 𝑊 ∈ Word 𝐴) |
| 3 | | elfzouz 13703 |
. . . . . . 7
⊢ (𝐼 ∈
(0..^(♯‘𝑊))
→ 𝐼 ∈
(ℤ≥‘0)) |
| 4 | 3 | adantl 481 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈
(ℤ≥‘0)) |
| 5 | | elfzoelz 13699 |
. . . . . . . 8
⊢ (𝐼 ∈
(0..^(♯‘𝑊))
→ 𝐼 ∈
ℤ) |
| 6 | 5 | adantl 481 |
. . . . . . 7
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈ ℤ) |
| 7 | | uzid 12893 |
. . . . . . 7
⊢ (𝐼 ∈ ℤ → 𝐼 ∈
(ℤ≥‘𝐼)) |
| 8 | | peano2uz 12943 |
. . . . . . 7
⊢ (𝐼 ∈
(ℤ≥‘𝐼) → (𝐼 + 1) ∈
(ℤ≥‘𝐼)) |
| 9 | 6, 7, 8 | 3syl 18 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (𝐼 + 1) ∈
(ℤ≥‘𝐼)) |
| 10 | | elfzuzb 13558 |
. . . . . 6
⊢ (𝐼 ∈ (0...(𝐼 + 1)) ↔ (𝐼 ∈ (ℤ≥‘0)
∧ (𝐼 + 1) ∈
(ℤ≥‘𝐼))) |
| 11 | 4, 9, 10 | sylanbrc 583 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈ (0...(𝐼 + 1))) |
| 12 | | fzofzp1 13803 |
. . . . . 6
⊢ (𝐼 ∈
(0..^(♯‘𝑊))
→ (𝐼 + 1) ∈
(0...(♯‘𝑊))) |
| 13 | 12 | adantl 481 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (𝐼 + 1) ∈ (0...(♯‘𝑊))) |
| 14 | | swrdlen 14685 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0...(𝐼 + 1)) ∧ (𝐼 + 1) ∈ (0...(♯‘𝑊))) → (♯‘(𝑊 substr 〈𝐼, (𝐼 + 1)〉)) = ((𝐼 + 1) − 𝐼)) |
| 15 | 2, 11, 13, 14 | syl3anc 1373 |
. . . 4
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (♯‘(𝑊 substr 〈𝐼, (𝐼 + 1)〉)) = ((𝐼 + 1) − 𝐼)) |
| 16 | 6 | zcnd 12723 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈ ℂ) |
| 17 | | ax-1cn 11213 |
. . . . 5
⊢ 1 ∈
ℂ |
| 18 | | pncan2 11515 |
. . . . 5
⊢ ((𝐼 ∈ ℂ ∧ 1 ∈
ℂ) → ((𝐼 + 1)
− 𝐼) =
1) |
| 19 | 16, 17, 18 | sylancl 586 |
. . . 4
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → ((𝐼 + 1) − 𝐼) = 1) |
| 20 | 15, 19 | eqtrd 2777 |
. . 3
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (♯‘(𝑊 substr 〈𝐼, (𝐼 + 1)〉)) = 1) |
| 21 | | eqs1 14650 |
. . 3
⊢ (((𝑊 substr 〈𝐼, (𝐼 + 1)〉) ∈ Word 𝐴 ∧ (♯‘(𝑊 substr 〈𝐼, (𝐼 + 1)〉)) = 1) → (𝑊 substr 〈𝐼, (𝐼 + 1)〉) = 〈“((𝑊 substr 〈𝐼, (𝐼 +
1)〉)‘0)”〉) |
| 22 | 1, 20, 21 | syl2an2r 685 |
. 2
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊 substr 〈𝐼, (𝐼 + 1)〉) = 〈“((𝑊 substr 〈𝐼, (𝐼 +
1)〉)‘0)”〉) |
| 23 | | 0z 12624 |
. . . . . . 7
⊢ 0 ∈
ℤ |
| 24 | | snidg 4660 |
. . . . . . 7
⊢ (0 ∈
ℤ → 0 ∈ {0}) |
| 25 | 23, 24 | ax-mp 5 |
. . . . . 6
⊢ 0 ∈
{0} |
| 26 | 19 | oveq2d 7447 |
. . . . . . 7
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (0..^((𝐼 + 1) − 𝐼)) = (0..^1)) |
| 27 | | fzo01 13786 |
. . . . . . 7
⊢ (0..^1) =
{0} |
| 28 | 26, 27 | eqtrdi 2793 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (0..^((𝐼 + 1) − 𝐼)) = {0}) |
| 29 | 25, 28 | eleqtrrid 2848 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 0 ∈ (0..^((𝐼 + 1) − 𝐼))) |
| 30 | | swrdfv 14686 |
. . . . 5
⊢ (((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0...(𝐼 + 1)) ∧ (𝐼 + 1) ∈ (0...(♯‘𝑊))) ∧ 0 ∈ (0..^((𝐼 + 1) − 𝐼))) → ((𝑊 substr 〈𝐼, (𝐼 + 1)〉)‘0) = (𝑊‘(0 + 𝐼))) |
| 31 | 2, 11, 13, 29, 30 | syl31anc 1375 |
. . . 4
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → ((𝑊 substr 〈𝐼, (𝐼 + 1)〉)‘0) = (𝑊‘(0 + 𝐼))) |
| 32 | | addlid 11444 |
. . . . . . 7
⊢ (𝐼 ∈ ℂ → (0 +
𝐼) = 𝐼) |
| 33 | 32 | eqcomd 2743 |
. . . . . 6
⊢ (𝐼 ∈ ℂ → 𝐼 = (0 + 𝐼)) |
| 34 | 16, 33 | syl 17 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 = (0 + 𝐼)) |
| 35 | 34 | fveq2d 6910 |
. . . 4
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊‘𝐼) = (𝑊‘(0 + 𝐼))) |
| 36 | 31, 35 | eqtr4d 2780 |
. . 3
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → ((𝑊 substr 〈𝐼, (𝐼 + 1)〉)‘0) = (𝑊‘𝐼)) |
| 37 | 36 | s1eqd 14639 |
. 2
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → 〈“((𝑊 substr 〈𝐼, (𝐼 + 1)〉)‘0)”〉 =
〈“(𝑊‘𝐼)”〉) |
| 38 | 22, 37 | eqtrd 2777 |
1
⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊 substr 〈𝐼, (𝐼 + 1)〉) = 〈“(𝑊‘𝐼)”〉) |