Step | Hyp | Ref
| Expression |
1 | | pfxcl 13879 |
. . . . . 6
⊢ (𝑆 ∈ Word 𝐴 → (𝑆 prefix 𝑌) ∈ Word 𝐴) |
2 | 1 | 3ad2ant1 1126 |
. . . . 5
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (𝑆 prefix 𝑌) ∈ Word 𝐴) |
3 | | swrdcl 13847 |
. . . . . 6
⊢ (𝑆 ∈ Word 𝐴 → (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) |
4 | 3 | 3ad2ant1 1126 |
. . . . 5
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) |
5 | | ccatcl 13776 |
. . . . 5
⊢ (((𝑆 prefix 𝑌) ∈ Word 𝐴 ∧ (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) ∈ Word 𝐴) |
6 | 2, 4, 5 | syl2anc 584 |
. . . 4
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) ∈ Word 𝐴) |
7 | | wrdf 13716 |
. . . 4
⊢ (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) ∈ Word 𝐴 → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)):(0..^(♯‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))))⟶𝐴) |
8 | | ffn 6389 |
. . . 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 13777 |
. . . . . . 7
⊢ (((𝑆 prefix 𝑌) ∈ Word 𝐴 ∧ (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴) → (♯‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))) = ((♯‘(𝑆 prefix 𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉)))) |
11 | 2, 4, 10 | syl2anc 584 |
. . . . . 6
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) →
(♯‘((𝑆 prefix
𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))) = ((♯‘(𝑆 prefix 𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉)))) |
12 | | simp1 1129 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → 𝑆 ∈ Word 𝐴) |
13 | | fzass4 12799 |
. . . . . . . . . . . 12
⊢ ((𝑌 ∈
(0...(♯‘𝑆))
∧ 𝑍 ∈ (𝑌...(♯‘𝑆))) ↔ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) |
14 | 13 | biimpri 229 |
. . . . . . . . . . 11
⊢ ((𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (𝑌 ∈ (0...(♯‘𝑆)) ∧ 𝑍 ∈ (𝑌...(♯‘𝑆)))) |
15 | 14 | simpld 495 |
. . . . . . . . . 10
⊢ ((𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → 𝑌 ∈ (0...(♯‘𝑆))) |
16 | 15 | 3adant1 1123 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → 𝑌 ∈ (0...(♯‘𝑆))) |
17 | | pfxlen 13885 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...(♯‘𝑆))) → (♯‘(𝑆 prefix 𝑌)) = 𝑌) |
18 | 12, 16, 17 | syl2anc 584 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (♯‘(𝑆 prefix 𝑌)) = 𝑌) |
19 | | swrdlen 13849 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (♯‘(𝑆 substr 〈𝑌, 𝑍〉)) = (𝑍 − 𝑌)) |
20 | 18, 19 | oveq12d 7041 |
. . . . . . 7
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) →
((♯‘(𝑆 prefix
𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉))) = (𝑌 + (𝑍 − 𝑌))) |
21 | | elfzelz 12762 |
. . . . . . . . . . 11
⊢ (𝑌 ∈ (0...𝑍) → 𝑌 ∈ ℤ) |
22 | 21 | ad2antrl 724 |
. . . . . . . . . 10
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → 𝑌 ∈ ℤ) |
23 | 22 | zcnd 11942 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → 𝑌 ∈ ℂ) |
24 | 23 | 3impb 1108 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → 𝑌 ∈ ℂ) |
25 | | elfzelz 12762 |
. . . . . . . . . . 11
⊢ (𝑍 ∈
(0...(♯‘𝑆))
→ 𝑍 ∈
ℤ) |
26 | 25 | ad2antll 725 |
. . . . . . . . . 10
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → 𝑍 ∈ ℤ) |
27 | 26 | zcnd 11942 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → 𝑍 ∈ ℂ) |
28 | 27 | 3impb 1108 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → 𝑍 ∈ ℂ) |
29 | 24, 28 | pncan3d 10854 |
. . . . . . 7
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (𝑌 + (𝑍 − 𝑌)) = 𝑍) |
30 | 20, 29 | eqtrd 2833 |
. . . . . 6
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) →
((♯‘(𝑆 prefix
𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉))) = 𝑍) |
31 | 11, 30 | eqtrd 2833 |
. . . . 5
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) →
(♯‘((𝑆 prefix
𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))) = 𝑍) |
32 | 31 | oveq2d 7039 |
. . . 4
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) →
(0..^(♯‘((𝑆
prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)))) = (0..^𝑍)) |
33 | 32 | fneq2d 6324 |
. . 3
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) Fn (0..^(♯‘((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)))) ↔ ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) Fn (0..^𝑍))) |
34 | 9, 33 | mpbid 233 |
. 2
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) Fn (0..^𝑍)) |
35 | | pfxfn 13883 |
. . 3
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (𝑆 prefix 𝑍) Fn (0..^𝑍)) |
36 | 35 | 3adant2 1124 |
. 2
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (𝑆 prefix 𝑍) Fn (0..^𝑍)) |
37 | | simpr 485 |
. . . . 5
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → 𝑥 ∈ (0..^𝑍)) |
38 | 21 | 3ad2ant2 1127 |
. . . . . 6
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → 𝑌 ∈ ℤ) |
39 | 38 | adantr 481 |
. . . . 5
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → 𝑌 ∈ ℤ) |
40 | | fzospliti 12923 |
. . . . 5
⊢ ((𝑥 ∈ (0..^𝑍) ∧ 𝑌 ∈ ℤ) → (𝑥 ∈ (0..^𝑌) ∨ 𝑥 ∈ (𝑌..^𝑍))) |
41 | 37, 39, 40 | syl2anc 584 |
. . . 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 7039 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) →
(0..^(♯‘(𝑆
prefix 𝑌))) = (0..^𝑌)) |
45 | 44 | eleq2d 2870 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (𝑥 ∈ (0..^(♯‘(𝑆 prefix 𝑌))) ↔ 𝑥 ∈ (0..^𝑌))) |
46 | 45 | biimpar 478 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (0..^𝑌)) → 𝑥 ∈ (0..^(♯‘(𝑆 prefix 𝑌)))) |
47 | | ccatval1 13779 |
. . . . . . 7
⊢ (((𝑆 prefix 𝑌) ∈ Word 𝐴 ∧ (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘(𝑆 prefix 𝑌)))) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = ((𝑆 prefix 𝑌)‘𝑥)) |
48 | 42, 43, 46, 47 | syl3anc 1364 |
. . . . . 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 485 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (0..^𝑌)) → 𝑥 ∈ (0..^𝑌)) |
52 | | pfxfv 13884 |
. . . . . . 7
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...(♯‘𝑆)) ∧ 𝑥 ∈ (0..^𝑌)) → ((𝑆 prefix 𝑌)‘𝑥) = (𝑆‘𝑥)) |
53 | 49, 50, 51, 52 | syl3anc 1364 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (0..^𝑌)) → ((𝑆 prefix 𝑌)‘𝑥) = (𝑆‘𝑥)) |
54 | 48, 53 | eqtrd 2833 |
. . . . 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 7041 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) →
((♯‘(𝑆 prefix
𝑌))..^((♯‘(𝑆 prefix 𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉)))) = (𝑌..^𝑍)) |
58 | 57 | eleq2d 2870 |
. . . . . . . 8
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (𝑥 ∈ ((♯‘(𝑆 prefix 𝑌))..^((♯‘(𝑆 prefix 𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉)))) ↔ 𝑥 ∈ (𝑌..^𝑍))) |
59 | 58 | biimpar 478 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → 𝑥 ∈ ((♯‘(𝑆 prefix 𝑌))..^((♯‘(𝑆 prefix 𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉))))) |
60 | | ccatval2 13780 |
. . . . . . 7
⊢ (((𝑆 prefix 𝑌) ∈ Word 𝐴 ∧ (𝑆 substr 〈𝑌, 𝑍〉) ∈ Word 𝐴 ∧ 𝑥 ∈ ((♯‘(𝑆 prefix 𝑌))..^((♯‘(𝑆 prefix 𝑌)) + (♯‘(𝑆 substr 〈𝑌, 𝑍〉))))) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = ((𝑆 substr 〈𝑌, 𝑍〉)‘(𝑥 − (♯‘(𝑆 prefix 𝑌))))) |
61 | 55, 56, 59, 60 | syl3anc 1364 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = ((𝑆 substr 〈𝑌, 𝑍〉)‘(𝑥 − (♯‘(𝑆 prefix 𝑌))))) |
62 | 18 | oveq2d 7039 |
. . . . . . . . 9
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (𝑥 − (♯‘(𝑆 prefix 𝑌))) = (𝑥 − 𝑌)) |
63 | 62 | adantr 481 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑥 − (♯‘(𝑆 prefix 𝑌))) = (𝑥 − 𝑌)) |
64 | 38 | anim1ci 615 |
. . . . . . . . . 10
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑥 ∈ (𝑌..^𝑍) ∧ 𝑌 ∈ ℤ)) |
65 | | fzosubel 12950 |
. . . . . . . . . 10
⊢ ((𝑥 ∈ (𝑌..^𝑍) ∧ 𝑌 ∈ ℤ) → (𝑥 − 𝑌) ∈ ((𝑌 − 𝑌)..^(𝑍 − 𝑌))) |
66 | 64, 65 | syl 17 |
. . . . . . . . 9
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑥 − 𝑌) ∈ ((𝑌 − 𝑌)..^(𝑍 − 𝑌))) |
67 | 21 | zcnd 11942 |
. . . . . . . . . . . . . . 15
⊢ (𝑌 ∈ (0...𝑍) → 𝑌 ∈ ℂ) |
68 | 67 | subidd 10839 |
. . . . . . . . . . . . . 14
⊢ (𝑌 ∈ (0...𝑍) → (𝑌 − 𝑌) = 0) |
69 | 68 | eqcomd 2803 |
. . . . . . . . . . . . 13
⊢ (𝑌 ∈ (0...𝑍) → 0 = (𝑌 − 𝑌)) |
70 | 69 | 3ad2ant2 1127 |
. . . . . . . . . . . 12
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → 0 = (𝑌 − 𝑌)) |
71 | 70 | oveq1d 7038 |
. . . . . . . . . . 11
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → (0..^(𝑍 − 𝑌)) = ((𝑌 − 𝑌)..^(𝑍 − 𝑌))) |
72 | 71 | eleq2d 2870 |
. . . . . . . . . 10
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → ((𝑥 − 𝑌) ∈ (0..^(𝑍 − 𝑌)) ↔ (𝑥 − 𝑌) ∈ ((𝑌 − 𝑌)..^(𝑍 − 𝑌)))) |
73 | 72 | adantr 481 |
. . . . . . . . 9
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑥 − 𝑌) ∈ (0..^(𝑍 − 𝑌)) ↔ (𝑥 − 𝑌) ∈ ((𝑌 − 𝑌)..^(𝑍 − 𝑌)))) |
74 | 66, 73 | mpbird 258 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑥 − 𝑌) ∈ (0..^(𝑍 − 𝑌))) |
75 | 63, 74 | eqeltrd 2885 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑥 − (♯‘(𝑆 prefix 𝑌))) ∈ (0..^(𝑍 − 𝑌))) |
76 | | swrdfv 13850 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ (𝑥 − (♯‘(𝑆 prefix 𝑌))) ∈ (0..^(𝑍 − 𝑌))) → ((𝑆 substr 〈𝑌, 𝑍〉)‘(𝑥 − (♯‘(𝑆 prefix 𝑌)))) = (𝑆‘((𝑥 − (♯‘(𝑆 prefix 𝑌))) + 𝑌))) |
77 | 75, 76 | syldan 591 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑆 substr 〈𝑌, 𝑍〉)‘(𝑥 − (♯‘(𝑆 prefix 𝑌)))) = (𝑆‘((𝑥 − (♯‘(𝑆 prefix 𝑌))) + 𝑌))) |
78 | 63 | oveq1d 7038 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑥 − (♯‘(𝑆 prefix 𝑌))) + 𝑌) = ((𝑥 − 𝑌) + 𝑌)) |
79 | | elfzoelz 12892 |
. . . . . . . . . . 11
⊢ (𝑥 ∈ (𝑌..^𝑍) → 𝑥 ∈ ℤ) |
80 | 79 | zcnd 11942 |
. . . . . . . . . 10
⊢ (𝑥 ∈ (𝑌..^𝑍) → 𝑥 ∈ ℂ) |
81 | 80 | adantl 482 |
. . . . . . . . 9
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → 𝑥 ∈ ℂ) |
82 | 24 | adantr 481 |
. . . . . . . . 9
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → 𝑌 ∈ ℂ) |
83 | 81, 82 | npcand 10855 |
. . . . . . . 8
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑥 − 𝑌) + 𝑌) = 𝑥) |
84 | 78, 83 | eqtrd 2833 |
. . . . . . 7
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → ((𝑥 − (♯‘(𝑆 prefix 𝑌))) + 𝑌) = 𝑥) |
85 | 84 | fveq2d 6549 |
. . . . . 6
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (𝑆‘((𝑥 − (♯‘(𝑆 prefix 𝑌))) + 𝑌)) = (𝑆‘𝑥)) |
86 | 61, 77, 85 | 3eqtrd 2837 |
. . . . 5
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (𝑌..^𝑍)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = (𝑆‘𝑥)) |
87 | 54, 86 | jaodan 952 |
. . . 4
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ (𝑥 ∈ (0..^𝑌) ∨ 𝑥 ∈ (𝑌..^𝑍))) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = (𝑆‘𝑥)) |
88 | 41, 87 | syldan 591 |
. . 3
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = (𝑆‘𝑥)) |
89 | 12 | adantr 481 |
. . . 4
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → 𝑆 ∈ Word 𝐴) |
90 | | simpl3 1186 |
. . . 4
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → 𝑍 ∈ (0...(♯‘𝑆))) |
91 | | pfxfv 13884 |
. . . 4
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑍 ∈ (0...(♯‘𝑆)) ∧ 𝑥 ∈ (0..^𝑍)) → ((𝑆 prefix 𝑍)‘𝑥) = (𝑆‘𝑥)) |
92 | 89, 90, 37, 91 | syl3anc 1364 |
. . 3
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → ((𝑆 prefix 𝑍)‘𝑥) = (𝑆‘𝑥)) |
93 | 88, 92 | eqtr4d 2836 |
. 2
⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (0..^𝑍)) → (((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉))‘𝑥) = ((𝑆 prefix 𝑍)‘𝑥)) |
94 | 34, 36, 93 | eqfnfvd 6677 |
1
⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → ((𝑆 prefix 𝑌) ++ (𝑆 substr 〈𝑌, 𝑍〉)) = (𝑆 prefix 𝑍)) |