Step | Hyp | Ref
| Expression |
1 | | simpr 487 |
. . . . . 6
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑖 ∈ (0..^(𝑁 − 𝑀))) → 𝑖 ∈ (0..^(𝑁 − 𝑀))) |
2 | | fzssz 12910 |
. . . . . . 7
⊢
(0...(♯‘𝑊)) ⊆ ℤ |
3 | | simpl3 1189 |
. . . . . . 7
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑖 ∈ (0..^(𝑁 − 𝑀))) → 𝑁 ∈ (0...(♯‘𝑊))) |
4 | 2, 3 | sseldi 3965 |
. . . . . 6
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑖 ∈ (0..^(𝑁 − 𝑀))) → 𝑁 ∈ ℤ) |
5 | | fzssz 12910 |
. . . . . . 7
⊢
(0...𝑁) ⊆
ℤ |
6 | | simpl2 1188 |
. . . . . . 7
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑖 ∈ (0..^(𝑁 − 𝑀))) → 𝑀 ∈ (0...𝑁)) |
7 | 5, 6 | sseldi 3965 |
. . . . . 6
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑖 ∈ (0..^(𝑁 − 𝑀))) → 𝑀 ∈ ℤ) |
8 | | fzoaddel2 13094 |
. . . . . 6
⊢ ((𝑖 ∈ (0..^(𝑁 − 𝑀)) ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑖 + 𝑀) ∈ (𝑀..^𝑁)) |
9 | 1, 4, 7, 8 | syl3anc 1367 |
. . . . 5
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑖 ∈ (0..^(𝑁 − 𝑀))) → (𝑖 + 𝑀) ∈ (𝑀..^𝑁)) |
10 | | simpr 487 |
. . . . . . . 8
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → 𝑗 ∈ (𝑀..^𝑁)) |
11 | | simpl2 1188 |
. . . . . . . . . . . 12
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → 𝑀 ∈ (0...𝑁)) |
12 | 5, 11 | sseldi 3965 |
. . . . . . . . . . 11
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → 𝑀 ∈ ℤ) |
13 | 12 | zcnd 12089 |
. . . . . . . . . 10
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → 𝑀 ∈ ℂ) |
14 | | simpl3 1189 |
. . . . . . . . . . . 12
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → 𝑁 ∈ (0...(♯‘𝑊))) |
15 | 2, 14 | sseldi 3965 |
. . . . . . . . . . 11
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → 𝑁 ∈ ℤ) |
16 | 15 | zcnd 12089 |
. . . . . . . . . 10
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → 𝑁 ∈ ℂ) |
17 | 13, 16 | pncan3d 11000 |
. . . . . . . . 9
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → (𝑀 + (𝑁 − 𝑀)) = 𝑁) |
18 | 17 | oveq2d 7172 |
. . . . . . . 8
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → (𝑀..^(𝑀 + (𝑁 − 𝑀))) = (𝑀..^𝑁)) |
19 | 10, 18 | eleqtrrd 2916 |
. . . . . . 7
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → 𝑗 ∈ (𝑀..^(𝑀 + (𝑁 − 𝑀)))) |
20 | 15, 12 | zsubcld 12093 |
. . . . . . 7
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → (𝑁 − 𝑀) ∈ ℤ) |
21 | | fzosubel3 13099 |
. . . . . . 7
⊢ ((𝑗 ∈ (𝑀..^(𝑀 + (𝑁 − 𝑀))) ∧ (𝑁 − 𝑀) ∈ ℤ) → (𝑗 − 𝑀) ∈ (0..^(𝑁 − 𝑀))) |
22 | 19, 20, 21 | syl2anc 586 |
. . . . . 6
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → (𝑗 − 𝑀) ∈ (0..^(𝑁 − 𝑀))) |
23 | | simpr 487 |
. . . . . . . 8
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) ∧ 𝑖 = (𝑗 − 𝑀)) → 𝑖 = (𝑗 − 𝑀)) |
24 | 23 | oveq1d 7171 |
. . . . . . 7
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) ∧ 𝑖 = (𝑗 − 𝑀)) → (𝑖 + 𝑀) = ((𝑗 − 𝑀) + 𝑀)) |
25 | 24 | eqeq2d 2832 |
. . . . . 6
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) ∧ 𝑖 = (𝑗 − 𝑀)) → (𝑗 = (𝑖 + 𝑀) ↔ 𝑗 = ((𝑗 − 𝑀) + 𝑀))) |
26 | | fzossz 13058 |
. . . . . . . . . 10
⊢ (𝑀..^𝑁) ⊆ ℤ |
27 | 26, 10 | sseldi 3965 |
. . . . . . . . 9
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → 𝑗 ∈ ℤ) |
28 | 27 | zcnd 12089 |
. . . . . . . 8
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → 𝑗 ∈ ℂ) |
29 | 28, 13 | npcand 11001 |
. . . . . . 7
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → ((𝑗 − 𝑀) + 𝑀) = 𝑗) |
30 | 29 | eqcomd 2827 |
. . . . . 6
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → 𝑗 = ((𝑗 − 𝑀) + 𝑀)) |
31 | 22, 25, 30 | rspcedvd 3626 |
. . . . 5
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 ∈ (𝑀..^𝑁)) → ∃𝑖 ∈ (0..^(𝑁 − 𝑀))𝑗 = (𝑖 + 𝑀)) |
32 | | eqcom 2828 |
. . . . . 6
⊢ (𝑦 = (𝑊‘𝑗) ↔ (𝑊‘𝑗) = 𝑦) |
33 | | simpr 487 |
. . . . . . . 8
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 = (𝑖 + 𝑀)) → 𝑗 = (𝑖 + 𝑀)) |
34 | 33 | fveq2d 6674 |
. . . . . . 7
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 = (𝑖 + 𝑀)) → (𝑊‘𝑗) = (𝑊‘(𝑖 + 𝑀))) |
35 | 34 | eqeq2d 2832 |
. . . . . 6
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 = (𝑖 + 𝑀)) → (𝑦 = (𝑊‘𝑗) ↔ 𝑦 = (𝑊‘(𝑖 + 𝑀)))) |
36 | 32, 35 | syl5bbr 287 |
. . . . 5
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) ∧ 𝑗 = (𝑖 + 𝑀)) → ((𝑊‘𝑗) = 𝑦 ↔ 𝑦 = (𝑊‘(𝑖 + 𝑀)))) |
37 | 9, 31, 36 | rexxfrd 5310 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (∃𝑗 ∈ (𝑀..^𝑁)(𝑊‘𝑗) = 𝑦 ↔ ∃𝑖 ∈ (0..^(𝑁 − 𝑀))𝑦 = (𝑊‘(𝑖 + 𝑀)))) |
38 | | eqid 2821 |
. . . . 5
⊢ (𝑖 ∈ (0..^(𝑁 − 𝑀)) ↦ (𝑊‘(𝑖 + 𝑀))) = (𝑖 ∈ (0..^(𝑁 − 𝑀)) ↦ (𝑊‘(𝑖 + 𝑀))) |
39 | | fvex 6683 |
. . . . 5
⊢ (𝑊‘(𝑖 + 𝑀)) ∈ V |
40 | 38, 39 | elrnmpti 5832 |
. . . 4
⊢ (𝑦 ∈ ran (𝑖 ∈ (0..^(𝑁 − 𝑀)) ↦ (𝑊‘(𝑖 + 𝑀))) ↔ ∃𝑖 ∈ (0..^(𝑁 − 𝑀))𝑦 = (𝑊‘(𝑖 + 𝑀))) |
41 | 37, 40 | syl6bbr 291 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (∃𝑗 ∈ (𝑀..^𝑁)(𝑊‘𝑗) = 𝑦 ↔ 𝑦 ∈ ran (𝑖 ∈ (0..^(𝑁 − 𝑀)) ↦ (𝑊‘(𝑖 + 𝑀))))) |
42 | | wrdf 13867 |
. . . . . 6
⊢ (𝑊 ∈ Word 𝑉 → 𝑊:(0..^(♯‘𝑊))⟶𝑉) |
43 | 42 | 3ad2ant1 1129 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → 𝑊:(0..^(♯‘𝑊))⟶𝑉) |
44 | 43 | ffnd 6515 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → 𝑊 Fn (0..^(♯‘𝑊))) |
45 | | elfzuz 12905 |
. . . . . . 7
⊢ (𝑀 ∈ (0...𝑁) → 𝑀 ∈
(ℤ≥‘0)) |
46 | 45 | 3ad2ant2 1130 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → 𝑀 ∈
(ℤ≥‘0)) |
47 | | fzoss1 13065 |
. . . . . 6
⊢ (𝑀 ∈
(ℤ≥‘0) → (𝑀..^𝑁) ⊆ (0..^𝑁)) |
48 | 46, 47 | syl 17 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (𝑀..^𝑁) ⊆ (0..^𝑁)) |
49 | | elfzuz3 12906 |
. . . . . . 7
⊢ (𝑁 ∈
(0...(♯‘𝑊))
→ (♯‘𝑊)
∈ (ℤ≥‘𝑁)) |
50 | 49 | 3ad2ant3 1131 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (♯‘𝑊) ∈
(ℤ≥‘𝑁)) |
51 | | fzoss2 13066 |
. . . . . 6
⊢
((♯‘𝑊)
∈ (ℤ≥‘𝑁) → (0..^𝑁) ⊆ (0..^(♯‘𝑊))) |
52 | 50, 51 | syl 17 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (0..^𝑁) ⊆
(0..^(♯‘𝑊))) |
53 | 48, 52 | sstrd 3977 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (𝑀..^𝑁) ⊆ (0..^(♯‘𝑊))) |
54 | 44, 53 | fvelimabd 6738 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (𝑦 ∈ (𝑊 “ (𝑀..^𝑁)) ↔ ∃𝑗 ∈ (𝑀..^𝑁)(𝑊‘𝑗) = 𝑦)) |
55 | | swrdval2 14008 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (𝑊 substr 〈𝑀, 𝑁〉) = (𝑖 ∈ (0..^(𝑁 − 𝑀)) ↦ (𝑊‘(𝑖 + 𝑀)))) |
56 | 55 | rneqd 5808 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → ran (𝑊 substr 〈𝑀, 𝑁〉) = ran (𝑖 ∈ (0..^(𝑁 − 𝑀)) ↦ (𝑊‘(𝑖 + 𝑀)))) |
57 | 56 | eleq2d 2898 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (𝑦 ∈ ran (𝑊 substr 〈𝑀, 𝑁〉) ↔ 𝑦 ∈ ran (𝑖 ∈ (0..^(𝑁 − 𝑀)) ↦ (𝑊‘(𝑖 + 𝑀))))) |
58 | 41, 54, 57 | 3bitr4rd 314 |
. 2
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (𝑦 ∈ ran (𝑊 substr 〈𝑀, 𝑁〉) ↔ 𝑦 ∈ (𝑊 “ (𝑀..^𝑁)))) |
59 | 58 | eqrdv 2819 |
1
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → ran (𝑊 substr 〈𝑀, 𝑁〉) = (𝑊 “ (𝑀..^𝑁))) |