| Step | Hyp | Ref
| Expression |
| 1 | | pfxcl 14715 |
. . . . . . 7
⊢ (𝑆 ∈ Word 𝐴 → (𝑆 prefix 𝑌) ∈ Word 𝐴) |
| 2 | | swrdcl 14683 |
. . . . . . 7
⊢ (𝑆 ∈ Word 𝐴 → (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) |
| 3 | | ccatcl 14612 |
. . . . . . 7
⊢ (((𝑆 prefix 𝑌) ∈ Word 𝐴 ∧ (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) ∈ Word 𝐴) |
| 4 | 1, 2, 3 | syl2anc 584 |
. . . . . 6
⊢ (𝑆 ∈ Word 𝐴 → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) ∈ Word 𝐴) |
| 5 | | wrdfn 14566 |
. . . . . 6
⊢ (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) ∈ Word 𝐴 → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) Fn (0..^(♯‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))))) |
| 6 | 4, 5 | syl 17 |
. . . . 5
⊢ (𝑆 ∈ Word 𝐴 → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) Fn (0..^(♯‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))))) |
| 7 | 6 | adantr 480 |
. . . 4
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) Fn (0..^(♯‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))))) |
| 8 | | ccatlen 14613 |
. . . . . . . . 9
⊢ (((𝑆 prefix 𝑌) ∈ Word 𝐴 ∧ (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) → (♯‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))) = ((♯‘(𝑆 prefix 𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉)))) |
| 9 | 1, 2, 8 | syl2anc 584 |
. . . . . . . 8
⊢ (𝑆 ∈ Word 𝐴 → (♯‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))) = ((♯‘(𝑆 prefix 𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉)))) |
| 10 | 9 | adantr 480 |
. . . . . . 7
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) →
(♯‘((𝑆 prefix
𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))) = ((♯‘(𝑆 prefix 𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉)))) |
| 11 | | fzass4 13602 |
. . . . . . . . . . 11
⊢ ((𝑌 ∈
(0...(♯‘𝑆))
∧ 𝑍 ∈ (𝑌...(♯‘𝑆))) ↔ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) |
| 12 | 11 | biimpri 228 |
. . . . . . . . . 10
⊢ ((𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (𝑌 ∈ (0...(♯‘𝑆)) ∧ 𝑍 ∈ (𝑌...(♯‘𝑆)))) |
| 13 | 12 | simpld 494 |
. . . . . . . . 9
⊢ ((𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → 𝑌 ∈ (0...(♯‘𝑆))) |
| 14 | | pfxlen 14721 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...(♯‘𝑆))) → (♯‘(𝑆 prefix 𝑌)) = 𝑌) |
| 15 | 13, 14 | sylan2 593 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) →
(♯‘(𝑆 prefix
𝑌)) = 𝑌) |
| 16 | | swrdlen 14685 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (♯‘(𝑆 substr 〈𝑌, 𝑍〉)) = (𝑍 − 𝑌)) |
| 17 | 16 | 3expb 1121 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) →
(♯‘(𝑆 substr
〈𝑌, 𝑍〉)) = (𝑍 − 𝑌)) |
| 18 | 15, 17 | oveq12d 7449 |
. . . . . . 7
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) →
((♯‘(𝑆 prefix
𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉))) = (𝑌 + (𝑍 − 𝑌))) |
| 19 | | elfzelz 13564 |
. . . . . . . . . 10
⊢ (𝑌 ∈ (0...𝑍) → 𝑌 ∈ ℤ) |
| 20 | 19 | zcnd 12723 |
. . . . . . . . 9
⊢ (𝑌 ∈ (0...𝑍) → 𝑌 ∈ ℂ) |
| 21 | | elfzelz 13564 |
. . . . . . . . . 10
⊢ (𝑍 ∈
(0...(♯‘𝑆))
→ 𝑍 ∈
ℤ) |
| 22 | 21 | zcnd 12723 |
. . . . . . . . 9
⊢ (𝑍 ∈
(0...(♯‘𝑆))
→ 𝑍 ∈
ℂ) |
| 23 | | pncan3 11516 |
. . . . . . . . 9
⊢ ((𝑌 ∈ ℂ ∧ 𝑍 ∈ ℂ) → (𝑌 + (𝑍 − 𝑌)) = 𝑍) |
| 24 | 20, 22, 23 | syl2an 596 |
. . . . . . . 8
⊢ ((𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (𝑌 + (𝑍 − 𝑌)) = 𝑍) |
| 25 | 24 | adantl 481 |
. . . . . . 7
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → (𝑌 + (𝑍 − 𝑌)) = 𝑍) |
| 26 | 10, 18, 25 | 3eqtrd 2781 |
. . . . . 6
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) →
(♯‘((𝑆 prefix
𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))) = 𝑍) |
| 27 | 26 | oveq2d 7447 |
. . . . 5
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) →
(0..^(♯‘((𝑆
prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)))) = (0..^𝑍)) |
| 28 | 27 | fneq2d 6662 |
. . . 4
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) Fn (0..^(♯‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)))) ↔ ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) Fn (0..^𝑍))) |
| 29 | 7, 28 | mpbid 232 |
. . 3
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) Fn (0..^𝑍)) |
| 30 | | pfxfn 14719 |
. . . 4
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (𝑆 prefix 𝑍) Fn (0..^𝑍)) |
| 31 | 30 | adantrl 716 |
. . 3
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → (𝑆 prefix 𝑍) Fn (0..^𝑍)) |
| 32 | | id 22 |
. . . . . 6
⊢ (𝑥 ∈ (0..^𝑍) → 𝑥 ∈ (0..^𝑍)) |
| 33 | 19 | ad2antrl 728 |
. . . . . 6
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → 𝑌 ∈ ℤ) |
| 34 | | fzospliti 13731 |
. . . . . 6
⊢ ((𝑥 ∈ (0..^𝑍) ∧ 𝑌 ∈ ℤ) → (𝑥 ∈ (0..^𝑌) ∨ 𝑥 ∈ (𝑌..^𝑍))) |
| 35 | 32, 33, 34 | syl2anr 597 |
. . . . 5
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (0..^𝑍)) → (𝑥 ∈ (0..^𝑌) ∨ 𝑥 ∈ (𝑌..^𝑍))) |
| 36 | 1 | ad2antrr 726 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (0..^𝑌)) → (𝑆 prefix 𝑌) ∈ Word 𝐴) |
| 37 | 2 | ad2antrr 726 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (0..^𝑌)) → (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) |
| 38 | 15 | oveq2d 7447 |
. . . . . . . . . 10
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) →
(0..^(♯‘(𝑆
prefix 𝑌))) = (0..^𝑌)) |
| 39 | 38 | eleq2d 2827 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → (𝑥 ∈ (0..^(♯‘(𝑆 prefix 𝑌))) ↔ 𝑥 ∈ (0..^𝑌))) |
| 40 | 39 | biimpar 477 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (0..^𝑌)) → 𝑥 ∈ (0..^(♯‘(𝑆 prefix 𝑌)))) |
| 41 | | ccatval1 14615 |
. . . . . . . 8
⊢ (((𝑆 prefix 𝑌) ∈ Word 𝐴 ∧ (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘(𝑆 prefix 𝑌)))) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = ((𝑆 prefix 𝑌)‘𝑥)) |
| 42 | 36, 37, 40, 41 | syl3anc 1373 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (0..^𝑌)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = ((𝑆 prefix 𝑌)‘𝑥)) |
| 43 | | simpl 482 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → 𝑆 ∈ Word 𝐴) |
| 44 | 13 | adantl 481 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → 𝑌 ∈ (0...(♯‘𝑆))) |
| 45 | | id 22 |
. . . . . . . 8
⊢ (𝑥 ∈ (0..^𝑌) → 𝑥 ∈ (0..^𝑌)) |
| 46 | | pfxfv 14720 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...(♯‘𝑆)) ∧ 𝑥 ∈ (0..^𝑌)) → ((𝑆 prefix 𝑌)‘𝑥) = (𝑆‘𝑥)) |
| 47 | 43, 44, 45, 46 | syl2an3an 1424 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (0..^𝑌)) → ((𝑆 prefix 𝑌)‘𝑥) = (𝑆‘𝑥)) |
| 48 | 42, 47 | eqtrd 2777 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (0..^𝑌)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = (𝑆‘𝑥)) |
| 49 | 1 | ad2antrr 726 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑆 prefix 𝑌) ∈ Word 𝐴) |
| 50 | 2 | ad2antrr 726 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) |
| 51 | 18, 25 | eqtrd 2777 |
. . . . . . . . . . 11
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) →
((♯‘(𝑆 prefix
𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉))) = 𝑍) |
| 52 | 15, 51 | oveq12d 7449 |
. . . . . . . . . 10
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) →
((♯‘(𝑆 prefix
𝑌))..^((♯‘(𝑆 prefix 𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉)))) = (𝑌..^𝑍)) |
| 53 | 52 | eleq2d 2827 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → (𝑥 ∈ ((♯‘(𝑆 prefix 𝑌))..^((♯‘(𝑆 prefix 𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉)))) ↔ 𝑥 ∈ (𝑌..^𝑍))) |
| 54 | 53 | biimpar 477 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → 𝑥 ∈ ((♯‘(𝑆 prefix 𝑌))..^((♯‘(𝑆 prefix 𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉))))) |
| 55 | | ccatval2 14616 |
. . . . . . . 8
⊢ (((𝑆 prefix 𝑌) ∈ Word 𝐴 ∧ (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴 ∧ 𝑥 ∈ ((♯‘(𝑆 prefix 𝑌))..^((♯‘(𝑆 prefix 𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉))))) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = ((𝑆 substr 〈𝑌, 𝑍〉)‘(𝑥 − (♯‘(𝑆 prefix 𝑌))))) |
| 56 | 49, 50, 54, 55 | syl3anc 1373 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = ((𝑆 substr 〈𝑌, 𝑍〉)‘(𝑥 − (♯‘(𝑆 prefix 𝑌))))) |
| 57 | | id 22 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) |
| 58 | 57 | 3expb 1121 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → (𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) |
| 59 | 15 | oveq2d 7447 |
. . . . . . . . . 10
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → (𝑥 − (♯‘(𝑆 prefix 𝑌))) = (𝑥 − 𝑌)) |
| 60 | 59 | adantr 480 |
. . . . . . . . 9
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑥 − (♯‘(𝑆 prefix 𝑌))) = (𝑥 − 𝑌)) |
| 61 | | id 22 |
. . . . . . . . . . 11
⊢ (𝑥 ∈ (𝑌..^𝑍) → 𝑥 ∈ (𝑌..^𝑍)) |
| 62 | | fzosubel 13763 |
. . . . . . . . . . 11
⊢ ((𝑥 ∈ (𝑌..^𝑍) ∧ 𝑌 ∈ ℤ) → (𝑥 − 𝑌) ∈ ((𝑌 − 𝑌)..^(𝑍 − 𝑌))) |
| 63 | 61, 33, 62 | syl2anr 597 |
. . . . . . . . . 10
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑥 − 𝑌) ∈ ((𝑌 − 𝑌)..^(𝑍 − 𝑌))) |
| 64 | 20 | subidd 11608 |
. . . . . . . . . . . . . 14
⊢ (𝑌 ∈ (0...𝑍) → (𝑌 − 𝑌) = 0) |
| 65 | 64 | oveq1d 7446 |
. . . . . . . . . . . . 13
⊢ (𝑌 ∈ (0...𝑍) → ((𝑌 − 𝑌)..^(𝑍 − 𝑌)) = (0..^(𝑍 − 𝑌))) |
| 66 | 65 | eleq2d 2827 |
. . . . . . . . . . . 12
⊢ (𝑌 ∈ (0...𝑍) → ((𝑥 − 𝑌) ∈ ((𝑌 − 𝑌)..^(𝑍 − 𝑌)) ↔ (𝑥 − 𝑌) ∈ (0..^(𝑍 − 𝑌)))) |
| 67 | 66 | ad2antrl 728 |
. . . . . . . . . . 11
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → ((𝑥 − 𝑌) ∈ ((𝑌 − 𝑌)..^(𝑍 − 𝑌)) ↔ (𝑥 − 𝑌) ∈ (0..^(𝑍 − 𝑌)))) |
| 68 | 67 | adantr 480 |
. . . . . . . . . 10
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑥 − 𝑌) ∈ ((𝑌 − 𝑌)..^(𝑍 − 𝑌)) ↔ (𝑥 − 𝑌) ∈ (0..^(𝑍 − 𝑌)))) |
| 69 | 63, 68 | mpbid 232 |
. . . . . . . . 9
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑥 − 𝑌) ∈ (0..^(𝑍 − 𝑌))) |
| 70 | 60, 69 | eqeltrd 2841 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑥 − (♯‘(𝑆 prefix 𝑌))) ∈ (0..^(𝑍 − 𝑌))) |
| 71 | | swrdfv 14686 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ (𝑥 − (♯‘(𝑆 prefix 𝑌))) ∈ (0..^(𝑍 − 𝑌))) → ((𝑆 substr 〈𝑌, 𝑍〉)‘(𝑥 − (♯‘(𝑆 prefix 𝑌)))) = (𝑆‘((𝑥 − (♯‘(𝑆 prefix 𝑌))) + 𝑌))) |
| 72 | 58, 70, 71 | syl2an2r 685 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑆 substr 〈𝑌, 𝑍〉)‘(𝑥 − (♯‘(𝑆 prefix 𝑌)))) = (𝑆‘((𝑥 − (♯‘(𝑆 prefix 𝑌))) + 𝑌))) |
| 73 | 59 | oveq1d 7446 |
. . . . . . . . . 10
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → ((𝑥 − (♯‘(𝑆 prefix 𝑌))) + 𝑌) = ((𝑥 − 𝑌) + 𝑌)) |
| 74 | 73 | adantr 480 |
. . . . . . . . 9
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑥 − (♯‘(𝑆 prefix 𝑌))) + 𝑌) = ((𝑥 − 𝑌) + 𝑌)) |
| 75 | | elfzoelz 13699 |
. . . . . . . . . . 11
⊢ (𝑥 ∈ (𝑌..^𝑍) → 𝑥 ∈ ℤ) |
| 76 | 75 | zcnd 12723 |
. . . . . . . . . 10
⊢ (𝑥 ∈ (𝑌..^𝑍) → 𝑥 ∈ ℂ) |
| 77 | 20 | ad2antrl 728 |
. . . . . . . . . 10
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → 𝑌 ∈ ℂ) |
| 78 | | npcan 11517 |
. . . . . . . . . 10
⊢ ((𝑥 ∈ ℂ ∧ 𝑌 ∈ ℂ) → ((𝑥 − 𝑌) + 𝑌) = 𝑥) |
| 79 | 76, 77, 78 | syl2anr 597 |
. . . . . . . . 9
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑥 − 𝑌) + 𝑌) = 𝑥) |
| 80 | 74, 79 | eqtrd 2777 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑥 − (♯‘(𝑆 prefix 𝑌))) + 𝑌) = 𝑥) |
| 81 | 80 | fveq2d 6910 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑆‘((𝑥 − (♯‘(𝑆 prefix 𝑌))) + 𝑌)) = (𝑆‘𝑥)) |
| 82 | 56, 72, 81 | 3eqtrd 2781 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = (𝑆‘𝑥)) |
| 83 | 48, 82 | jaodan 960 |
. . . . 5
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ (𝑥 ∈ (0..^𝑌) ∨ 𝑥 ∈ (𝑌..^𝑍))) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = (𝑆‘𝑥)) |
| 84 | 35, 83 | syldan 591 |
. . . 4
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (0..^𝑍)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = (𝑆‘𝑥)) |
| 85 | | pfxfv 14720 |
. . . . . 6
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑍 ∈ (0...(♯‘𝑆)) ∧ 𝑥 ∈ (0..^𝑍)) → ((𝑆 prefix 𝑍)‘𝑥) = (𝑆‘𝑥)) |
| 86 | 85 | 3expa 1119 |
. . . . 5
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → ((𝑆 prefix 𝑍)‘𝑥) = (𝑆‘𝑥)) |
| 87 | 86 | adantlrl 720 |
. . . 4
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (0..^𝑍)) → ((𝑆 prefix 𝑍)‘𝑥) = (𝑆‘𝑥)) |
| 88 | 84, 87 | eqtr4d 2780 |
. . 3
⊢ (((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) ∧ 𝑥 ∈ (0..^𝑍)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = ((𝑆 prefix 𝑍)‘𝑥)) |
| 89 | 29, 31, 88 | eqfnfvd 7054 |
. 2
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) = (𝑆 prefix 𝑍)) |
| 90 | 89 | 3impb 1115 |
1
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) = (𝑆 prefix 𝑍)) |