| Step | Hyp | Ref
| Expression |
| 1 | | pfxcl 41386 |
. . . . . 6
⊢ (𝑆 ∈ Word 𝐴 → (𝑆 prefix 𝑌) ∈ Word 𝐴) |
| 2 | 1 | 3ad2ant1 1082 |
. . . . 5
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (𝑆 prefix 𝑌) ∈ Word 𝐴) |
| 3 | | swrdcl 13419 |
. . . . . 6
⊢ (𝑆 ∈ Word 𝐴 → (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) |
| 4 | 3 | 3ad2ant1 1082 |
. . . . 5
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) |
| 5 | | ccatcl 13359 |
. . . . 5
⊢ (((𝑆 prefix 𝑌) ∈ Word 𝐴 ∧ (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) ∈ Word 𝐴) |
| 6 | 2, 4, 5 | syl2anc 693 |
. . . 4
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) ∈ Word 𝐴) |
| 7 | | wrdf 13310 |
. . . 4
⊢ (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) ∈ Word 𝐴 → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)):(0..^(#‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))))⟶𝐴) |
| 8 | | ffn 6045 |
. . . 4
⊢ (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)):(0..^(#‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))))⟶𝐴 → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) Fn (0..^(#‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))))) |
| 9 | 6, 7, 8 | 3syl 18 |
. . 3
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) Fn (0..^(#‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))))) |
| 10 | | ccatlen 13360 |
. . . . . . 7
⊢ (((𝑆 prefix 𝑌) ∈ Word 𝐴 ∧ (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) → (#‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))) = ((#‘(𝑆 prefix 𝑌)) + (#‘(𝑆 substr 〈𝑌, 𝑍〉)))) |
| 11 | 2, 4, 10 | syl2anc 693 |
. . . . . 6
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (#‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))) = ((#‘(𝑆 prefix 𝑌)) + (#‘(𝑆 substr 〈𝑌, 𝑍〉)))) |
| 12 | | simp1 1061 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → 𝑆 ∈ Word 𝐴) |
| 13 | | fzass4 12379 |
. . . . . . . . . . . 12
⊢ ((𝑌 ∈ (0...(#‘𝑆)) ∧ 𝑍 ∈ (𝑌...(#‘𝑆))) ↔ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆)))) |
| 14 | 13 | biimpri 218 |
. . . . . . . . . . 11
⊢ ((𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (𝑌 ∈ (0...(#‘𝑆)) ∧ 𝑍 ∈ (𝑌...(#‘𝑆)))) |
| 15 | 14 | simpld 475 |
. . . . . . . . . 10
⊢ ((𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → 𝑌 ∈ (0...(#‘𝑆))) |
| 16 | 15 | 3adant1 1079 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → 𝑌 ∈ (0...(#‘𝑆))) |
| 17 | | pfxlen 41391 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...(#‘𝑆))) → (#‘(𝑆 prefix 𝑌)) = 𝑌) |
| 18 | 12, 16, 17 | syl2anc 693 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (#‘(𝑆 prefix 𝑌)) = 𝑌) |
| 19 | | swrdlen 13423 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (#‘(𝑆 substr 〈𝑌, 𝑍〉)) = (𝑍 − 𝑌)) |
| 20 | 18, 19 | oveq12d 6668 |
. . . . . . 7
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → ((#‘(𝑆 prefix 𝑌)) + (#‘(𝑆 substr 〈𝑌, 𝑍〉))) = (𝑌 + (𝑍 − 𝑌))) |
| 21 | | elfzelz 12342 |
. . . . . . . . . . 11
⊢ (𝑌 ∈ (0...𝑍) → 𝑌 ∈ ℤ) |
| 22 | 21 | ad2antrl 764 |
. . . . . . . . . 10
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆)))) → 𝑌 ∈ ℤ) |
| 23 | 22 | zcnd 11483 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆)))) → 𝑌 ∈ ℂ) |
| 24 | 23 | 3impb 1260 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → 𝑌 ∈ ℂ) |
| 25 | | elfzelz 12342 |
. . . . . . . . . . 11
⊢ (𝑍 ∈ (0...(#‘𝑆)) → 𝑍 ∈ ℤ) |
| 26 | 25 | ad2antll 765 |
. . . . . . . . . 10
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆)))) → 𝑍 ∈ ℤ) |
| 27 | 26 | zcnd 11483 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆)))) → 𝑍 ∈ ℂ) |
| 28 | 27 | 3impb 1260 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → 𝑍 ∈ ℂ) |
| 29 | 24, 28 | pncan3d 10395 |
. . . . . . 7
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (𝑌 + (𝑍 − 𝑌)) = 𝑍) |
| 30 | 20, 29 | eqtrd 2656 |
. . . . . 6
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → ((#‘(𝑆 prefix 𝑌)) + (#‘(𝑆 substr 〈𝑌, 𝑍〉))) = 𝑍) |
| 31 | 11, 30 | eqtrd 2656 |
. . . . 5
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (#‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))) = 𝑍) |
| 32 | 31 | oveq2d 6666 |
. . . 4
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (0..^(#‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)))) = (0..^𝑍)) |
| 33 | 32 | fneq2d 5982 |
. . 3
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) Fn (0..^(#‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)))) ↔ ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) Fn (0..^𝑍))) |
| 34 | 9, 33 | mpbid 222 |
. 2
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) Fn (0..^𝑍)) |
| 35 | | pfxfn 41390 |
. . 3
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑍 ∈ (0...(#‘𝑆))) → (𝑆 prefix 𝑍) Fn (0..^𝑍)) |
| 36 | 35 | 3adant2 1080 |
. 2
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (𝑆 prefix 𝑍) Fn (0..^𝑍)) |
| 37 | | simpr 477 |
. . . . 5
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → 𝑥 ∈ (0..^𝑍)) |
| 38 | 21 | 3ad2ant2 1083 |
. . . . . 6
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → 𝑌 ∈ ℤ) |
| 39 | 38 | adantr 481 |
. . . . 5
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → 𝑌 ∈ ℤ) |
| 40 | | fzospliti 12500 |
. . . . 5
⊢ ((𝑥 ∈ (0..^𝑍) ∧ 𝑌 ∈ ℤ) → (𝑥 ∈ (0..^𝑌) ∨ 𝑥 ∈ (𝑌..^𝑍))) |
| 41 | 37, 39, 40 | syl2anc 693 |
. . . 4
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → (𝑥 ∈ (0..^𝑌) ∨ 𝑥 ∈ (𝑌..^𝑍))) |
| 42 | 2 | adantr 481 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑌)) → (𝑆 prefix 𝑌) ∈ Word 𝐴) |
| 43 | 4 | adantr 481 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑌)) → (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) |
| 44 | 18 | oveq2d 6666 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (0..^(#‘(𝑆 prefix 𝑌))) = (0..^𝑌)) |
| 45 | 44 | eleq2d 2687 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (𝑥 ∈ (0..^(#‘(𝑆 prefix 𝑌))) ↔ 𝑥 ∈ (0..^𝑌))) |
| 46 | 45 | biimpar 502 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑌)) → 𝑥 ∈ (0..^(#‘(𝑆 prefix 𝑌)))) |
| 47 | | ccatval1 13361 |
. . . . . . 7
⊢ (((𝑆 prefix 𝑌) ∈ Word 𝐴 ∧ (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(#‘(𝑆 prefix 𝑌)))) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = ((𝑆 prefix 𝑌)‘𝑥)) |
| 48 | 42, 43, 46, 47 | syl3anc 1326 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑌)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = ((𝑆 prefix 𝑌)‘𝑥)) |
| 49 | 12 | adantr 481 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑌)) → 𝑆 ∈ Word 𝐴) |
| 50 | 16 | adantr 481 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑌)) → 𝑌 ∈ (0...(#‘𝑆))) |
| 51 | | simpr 477 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑌)) → 𝑥 ∈ (0..^𝑌)) |
| 52 | | pfxfv 41399 |
. . . . . . 7
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...(#‘𝑆)) ∧ 𝑥 ∈ (0..^𝑌)) → ((𝑆 prefix 𝑌)‘𝑥) = (𝑆‘𝑥)) |
| 53 | 49, 50, 51, 52 | syl3anc 1326 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑌)) → ((𝑆 prefix 𝑌)‘𝑥) = (𝑆‘𝑥)) |
| 54 | 48, 53 | eqtrd 2656 |
. . . . 5
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑌)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = (𝑆‘𝑥)) |
| 55 | 2 | adantr 481 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑆 prefix 𝑌) ∈ Word 𝐴) |
| 56 | 4 | adantr 481 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) |
| 57 | 18, 30 | oveq12d 6668 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → ((#‘(𝑆 prefix 𝑌))..^((#‘(𝑆 prefix 𝑌)) + (#‘(𝑆 substr 〈𝑌, 𝑍〉)))) = (𝑌..^𝑍)) |
| 58 | 57 | eleq2d 2687 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (𝑥 ∈ ((#‘(𝑆 prefix 𝑌))..^((#‘(𝑆 prefix 𝑌)) + (#‘(𝑆 substr 〈𝑌, 𝑍〉)))) ↔ 𝑥 ∈ (𝑌..^𝑍))) |
| 59 | 58 | biimpar 502 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → 𝑥 ∈ ((#‘(𝑆 prefix 𝑌))..^((#‘(𝑆 prefix 𝑌)) + (#‘(𝑆 substr 〈𝑌, 𝑍〉))))) |
| 60 | | ccatval2 13362 |
. . . . . . 7
⊢ (((𝑆 prefix 𝑌) ∈ Word 𝐴 ∧ (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴 ∧ 𝑥 ∈ ((#‘(𝑆 prefix 𝑌))..^((#‘(𝑆 prefix 𝑌)) + (#‘(𝑆 substr 〈𝑌, 𝑍〉))))) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = ((𝑆 substr 〈𝑌, 𝑍〉)‘(𝑥 − (#‘(𝑆 prefix 𝑌))))) |
| 61 | 55, 56, 59, 60 | syl3anc 1326 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = ((𝑆 substr 〈𝑌, 𝑍〉)‘(𝑥 − (#‘(𝑆 prefix 𝑌))))) |
| 62 | 18 | oveq2d 6666 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (𝑥 − (#‘(𝑆 prefix 𝑌))) = (𝑥 − 𝑌)) |
| 63 | 62 | adantr 481 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑥 − (#‘(𝑆 prefix 𝑌))) = (𝑥 − 𝑌)) |
| 64 | 38 | anim1i 592 |
. . . . . . . . . . 11
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑌 ∈ ℤ ∧ 𝑥 ∈ (𝑌..^𝑍))) |
| 65 | 64 | ancomd 467 |
. . . . . . . . . 10
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑥 ∈ (𝑌..^𝑍) ∧ 𝑌 ∈ ℤ)) |
| 66 | | fzosubel 12526 |
. . . . . . . . . 10
⊢ ((𝑥 ∈ (𝑌..^𝑍) ∧ 𝑌 ∈ ℤ) → (𝑥 − 𝑌) ∈ ((𝑌 − 𝑌)..^(𝑍 − 𝑌))) |
| 67 | 65, 66 | syl 17 |
. . . . . . . . 9
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑥 − 𝑌) ∈ ((𝑌 − 𝑌)..^(𝑍 − 𝑌))) |
| 68 | 21 | zcnd 11483 |
. . . . . . . . . . . . . . 15
⊢ (𝑌 ∈ (0...𝑍) → 𝑌 ∈ ℂ) |
| 69 | 68 | subidd 10380 |
. . . . . . . . . . . . . 14
⊢ (𝑌 ∈ (0...𝑍) → (𝑌 − 𝑌) = 0) |
| 70 | 69 | eqcomd 2628 |
. . . . . . . . . . . . 13
⊢ (𝑌 ∈ (0...𝑍) → 0 = (𝑌 − 𝑌)) |
| 71 | 70 | 3ad2ant2 1083 |
. . . . . . . . . . . 12
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → 0 = (𝑌 − 𝑌)) |
| 72 | 71 | oveq1d 6665 |
. . . . . . . . . . 11
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → (0..^(𝑍 − 𝑌)) = ((𝑌 − 𝑌)..^(𝑍 − 𝑌))) |
| 73 | 72 | eleq2d 2687 |
. . . . . . . . . 10
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → ((𝑥 − 𝑌) ∈ (0..^(𝑍 − 𝑌)) ↔ (𝑥 − 𝑌) ∈ ((𝑌 − 𝑌)..^(𝑍 − 𝑌)))) |
| 74 | 73 | adantr 481 |
. . . . . . . . 9
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑥 − 𝑌) ∈ (0..^(𝑍 − 𝑌)) ↔ (𝑥 − 𝑌) ∈ ((𝑌 − 𝑌)..^(𝑍 − 𝑌)))) |
| 75 | 67, 74 | mpbird 247 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑥 − 𝑌) ∈ (0..^(𝑍 − 𝑌))) |
| 76 | 63, 75 | eqeltrd 2701 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑥 − (#‘(𝑆 prefix 𝑌))) ∈ (0..^(𝑍 − 𝑌))) |
| 77 | | swrdfv 13424 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ (𝑥 − (#‘(𝑆 prefix 𝑌))) ∈ (0..^(𝑍 − 𝑌))) → ((𝑆 substr 〈𝑌, 𝑍〉)‘(𝑥 − (#‘(𝑆 prefix 𝑌)))) = (𝑆‘((𝑥 − (#‘(𝑆 prefix 𝑌))) + 𝑌))) |
| 78 | 76, 77 | syldan 487 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑆 substr 〈𝑌, 𝑍〉)‘(𝑥 − (#‘(𝑆 prefix 𝑌)))) = (𝑆‘((𝑥 − (#‘(𝑆 prefix 𝑌))) + 𝑌))) |
| 79 | 63 | oveq1d 6665 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑥 − (#‘(𝑆 prefix 𝑌))) + 𝑌) = ((𝑥 − 𝑌) + 𝑌)) |
| 80 | | elfzoelz 12470 |
. . . . . . . . . . 11
⊢ (𝑥 ∈ (𝑌..^𝑍) → 𝑥 ∈ ℤ) |
| 81 | 80 | zcnd 11483 |
. . . . . . . . . 10
⊢ (𝑥 ∈ (𝑌..^𝑍) → 𝑥 ∈ ℂ) |
| 82 | 81 | adantl 482 |
. . . . . . . . 9
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → 𝑥 ∈ ℂ) |
| 83 | 24 | adantr 481 |
. . . . . . . . 9
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → 𝑌 ∈ ℂ) |
| 84 | 82, 83 | npcand 10396 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑥 − 𝑌) + 𝑌) = 𝑥) |
| 85 | 79, 84 | eqtrd 2656 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑥 − (#‘(𝑆 prefix 𝑌))) + 𝑌) = 𝑥) |
| 86 | 85 | fveq2d 6195 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑆‘((𝑥 − (#‘(𝑆 prefix 𝑌))) + 𝑌)) = (𝑆‘𝑥)) |
| 87 | 61, 78, 86 | 3eqtrd 2660 |
. . . . 5
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = (𝑆‘𝑥)) |
| 88 | 54, 87 | jaodan 826 |
. . . 4
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ (𝑥 ∈ (0..^𝑌) ∨ 𝑥 ∈ (𝑌..^𝑍))) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = (𝑆‘𝑥)) |
| 89 | 41, 88 | syldan 487 |
. . 3
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = (𝑆‘𝑥)) |
| 90 | 12 | adantr 481 |
. . . 4
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → 𝑆 ∈ Word 𝐴) |
| 91 | | simpl3 1066 |
. . . 4
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → 𝑍 ∈ (0...(#‘𝑆))) |
| 92 | | pfxfv 41399 |
. . . 4
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑍 ∈ (0...(#‘𝑆)) ∧ 𝑥 ∈ (0..^𝑍)) → ((𝑆 prefix 𝑍)‘𝑥) = (𝑆‘𝑥)) |
| 93 | 90, 91, 37, 92 | syl3anc 1326 |
. . 3
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → ((𝑆 prefix 𝑍)‘𝑥) = (𝑆‘𝑥)) |
| 94 | 89, 93 | eqtr4d 2659 |
. 2
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = ((𝑆 prefix 𝑍)‘𝑥)) |
| 95 | 34, 36, 94 | eqfnfvd 6314 |
1
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(#‘𝑆))) → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) = (𝑆 prefix 𝑍)) |