| Step | Hyp | Ref
| Expression |
| 1 | | swrdccatin12.l |
. . . . . . . 8
⊢ 𝐿 = (#‘𝐴) |
| 2 | | oveq1 6657 |
. . . . . . . . . 10
⊢ (𝐿 = (#‘𝐴) → (𝐿...𝑁) = ((#‘𝐴)...𝑁)) |
| 3 | 2 | eleq2d 2687 |
. . . . . . . . 9
⊢ (𝐿 = (#‘𝐴) → (𝑀 ∈ (𝐿...𝑁) ↔ 𝑀 ∈ ((#‘𝐴)...𝑁))) |
| 4 | | id 22 |
. . . . . . . . . . 11
⊢ (𝐿 = (#‘𝐴) → 𝐿 = (#‘𝐴)) |
| 5 | | oveq1 6657 |
. . . . . . . . . . 11
⊢ (𝐿 = (#‘𝐴) → (𝐿 + (#‘𝐵)) = ((#‘𝐴) + (#‘𝐵))) |
| 6 | 4, 5 | oveq12d 6668 |
. . . . . . . . . 10
⊢ (𝐿 = (#‘𝐴) → (𝐿...(𝐿 + (#‘𝐵))) = ((#‘𝐴)...((#‘𝐴) + (#‘𝐵)))) |
| 7 | 6 | eleq2d 2687 |
. . . . . . . . 9
⊢ (𝐿 = (#‘𝐴) → (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) ↔ 𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))))) |
| 8 | 3, 7 | anbi12d 747 |
. . . . . . . 8
⊢ (𝐿 = (#‘𝐴) → ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) ↔ (𝑀 ∈ ((#‘𝐴)...𝑁) ∧ 𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵)))))) |
| 9 | 1, 8 | ax-mp 5 |
. . . . . . 7
⊢ ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) ↔ (𝑀 ∈ ((#‘𝐴)...𝑁) ∧ 𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))))) |
| 10 | | lencl 13324 |
. . . . . . . . 9
⊢ (𝐴 ∈ Word 𝑉 → (#‘𝐴) ∈
ℕ0) |
| 11 | | elnn0uz 11725 |
. . . . . . . . . . . . 13
⊢
((#‘𝐴) ∈
ℕ0 ↔ (#‘𝐴) ∈
(ℤ≥‘0)) |
| 12 | 11 | biimpi 206 |
. . . . . . . . . . . 12
⊢
((#‘𝐴) ∈
ℕ0 → (#‘𝐴) ∈
(ℤ≥‘0)) |
| 13 | | fzss1 12380 |
. . . . . . . . . . . 12
⊢
((#‘𝐴) ∈
(ℤ≥‘0) → ((#‘𝐴)...𝑁) ⊆ (0...𝑁)) |
| 14 | 12, 13 | syl 17 |
. . . . . . . . . . 11
⊢
((#‘𝐴) ∈
ℕ0 → ((#‘𝐴)...𝑁) ⊆ (0...𝑁)) |
| 15 | 14 | sseld 3602 |
. . . . . . . . . 10
⊢
((#‘𝐴) ∈
ℕ0 → (𝑀 ∈ ((#‘𝐴)...𝑁) → 𝑀 ∈ (0...𝑁))) |
| 16 | | fzss1 12380 |
. . . . . . . . . . . 12
⊢
((#‘𝐴) ∈
(ℤ≥‘0) → ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) ⊆ (0...((#‘𝐴) + (#‘𝐵)))) |
| 17 | 12, 16 | syl 17 |
. . . . . . . . . . 11
⊢
((#‘𝐴) ∈
ℕ0 → ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) ⊆ (0...((#‘𝐴) + (#‘𝐵)))) |
| 18 | 17 | sseld 3602 |
. . . . . . . . . 10
⊢
((#‘𝐴) ∈
ℕ0 → (𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) → 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵))))) |
| 19 | 15, 18 | anim12d 586 |
. . . . . . . . 9
⊢
((#‘𝐴) ∈
ℕ0 → ((𝑀 ∈ ((#‘𝐴)...𝑁) ∧ 𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵)))) → (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵)))))) |
| 20 | 10, 19 | syl 17 |
. . . . . . . 8
⊢ (𝐴 ∈ Word 𝑉 → ((𝑀 ∈ ((#‘𝐴)...𝑁) ∧ 𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵)))) → (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵)))))) |
| 21 | 20 | adantr 481 |
. . . . . . 7
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → ((𝑀 ∈ ((#‘𝐴)...𝑁) ∧ 𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵)))) → (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵)))))) |
| 22 | 9, 21 | syl5bi 232 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵)))))) |
| 23 | 22 | imp 445 |
. . . . 5
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵))))) |
| 24 | | swrdccatfn 13482 |
. . . . 5
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵))))) → ((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉) Fn (0..^(𝑁 − 𝑀))) |
| 25 | 23, 24 | syldan 487 |
. . . 4
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉) Fn (0..^(𝑁 − 𝑀))) |
| 26 | | elfz2 12333 |
. . . . . . . . . 10
⊢ (𝑀 ∈ (𝐿...𝑁) ↔ ((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ (𝐿 ≤ 𝑀 ∧ 𝑀 ≤ 𝑁))) |
| 27 | | zcn 11382 |
. . . . . . . . . . . . 13
⊢ (𝑁 ∈ ℤ → 𝑁 ∈
ℂ) |
| 28 | | zcn 11382 |
. . . . . . . . . . . . 13
⊢ (𝑀 ∈ ℤ → 𝑀 ∈
ℂ) |
| 29 | | zcn 11382 |
. . . . . . . . . . . . 13
⊢ (𝐿 ∈ ℤ → 𝐿 ∈
ℂ) |
| 30 | 27, 28, 29 | 3anim123i 1247 |
. . . . . . . . . . . 12
⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝐿 ∈ ℤ) → (𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝐿 ∈
ℂ)) |
| 31 | 30 | 3comr 1273 |
. . . . . . . . . . 11
⊢ ((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝐿 ∈
ℂ)) |
| 32 | 31 | adantr 481 |
. . . . . . . . . 10
⊢ (((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ (𝐿 ≤ 𝑀 ∧ 𝑀 ≤ 𝑁)) → (𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝐿 ∈ ℂ)) |
| 33 | 26, 32 | sylbi 207 |
. . . . . . . . 9
⊢ (𝑀 ∈ (𝐿...𝑁) → (𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝐿 ∈ ℂ)) |
| 34 | 33 | adantr 481 |
. . . . . . . 8
⊢ ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → (𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝐿 ∈ ℂ)) |
| 35 | | nnncan2 10318 |
. . . . . . . 8
⊢ ((𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝐿 ∈ ℂ) → ((𝑁 − 𝐿) − (𝑀 − 𝐿)) = (𝑁 − 𝑀)) |
| 36 | 34, 35 | syl 17 |
. . . . . . 7
⊢ ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝑁 − 𝐿) − (𝑀 − 𝐿)) = (𝑁 − 𝑀)) |
| 37 | 36 | adantl 482 |
. . . . . 6
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝑁 − 𝐿) − (𝑀 − 𝐿)) = (𝑁 − 𝑀)) |
| 38 | 37 | oveq2d 6666 |
. . . . 5
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿))) = (0..^(𝑁 − 𝑀))) |
| 39 | 38 | fneq2d 5982 |
. . . 4
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉) Fn (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿))) ↔ ((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉) Fn (0..^(𝑁 − 𝑀)))) |
| 40 | 25, 39 | mpbird 247 |
. . 3
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉) Fn (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) |
| 41 | | simpr 477 |
. . . . 5
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → 𝐵 ∈ Word 𝑉) |
| 42 | 41 | adantr 481 |
. . . 4
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → 𝐵 ∈ Word 𝑉) |
| 43 | | elfzmlbm 12449 |
. . . . 5
⊢ (𝑀 ∈ (𝐿...𝑁) → (𝑀 − 𝐿) ∈ (0...(𝑁 − 𝐿))) |
| 44 | 43 | ad2antrl 764 |
. . . 4
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑀 − 𝐿) ∈ (0...(𝑁 − 𝐿))) |
| 45 | | elfzmlbp 12450 |
. . . . . . . 8
⊢
(((#‘𝐵) ∈
ℤ ∧ 𝑁 ∈
(𝐿...(𝐿 + (#‘𝐵)))) → (𝑁 − 𝐿) ∈ (0...(#‘𝐵))) |
| 46 | 45 | ex 450 |
. . . . . . 7
⊢
((#‘𝐵) ∈
ℤ → (𝑁 ∈
(𝐿...(𝐿 + (#‘𝐵))) → (𝑁 − 𝐿) ∈ (0...(#‘𝐵)))) |
| 47 | | lencl 13324 |
. . . . . . . . 9
⊢ (𝐵 ∈ Word 𝑉 → (#‘𝐵) ∈
ℕ0) |
| 48 | 47 | nn0zd 11480 |
. . . . . . . 8
⊢ (𝐵 ∈ Word 𝑉 → (#‘𝐵) ∈ ℤ) |
| 49 | 48 | adantl 482 |
. . . . . . 7
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (#‘𝐵) ∈ ℤ) |
| 50 | 46, 49 | syl11 33 |
. . . . . 6
⊢ (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝑁 − 𝐿) ∈ (0...(#‘𝐵)))) |
| 51 | 50 | adantl 482 |
. . . . 5
⊢ ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝑁 − 𝐿) ∈ (0...(#‘𝐵)))) |
| 52 | 51 | impcom 446 |
. . . 4
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑁 − 𝐿) ∈ (0...(#‘𝐵))) |
| 53 | | swrdvalfn 13426 |
. . . 4
⊢ ((𝐵 ∈ Word 𝑉 ∧ (𝑀 − 𝐿) ∈ (0...(𝑁 − 𝐿)) ∧ (𝑁 − 𝐿) ∈ (0...(#‘𝐵))) → (𝐵 substr 〈(𝑀 − 𝐿), (𝑁 − 𝐿)〉) Fn (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) |
| 54 | 42, 44, 52, 53 | syl3anc 1326 |
. . 3
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝐵 substr 〈(𝑀 − 𝐿), (𝑁 − 𝐿)〉) Fn (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) |
| 55 | | simpl 473 |
. . . . . . . 8
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉)) |
| 56 | 55 | adantr 481 |
. . . . . . 7
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉)) |
| 57 | | elfzoelz 12470 |
. . . . . . . . 9
⊢ (𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿))) → 𝑘 ∈ ℤ) |
| 58 | | elfzelz 12342 |
. . . . . . . . . . 11
⊢ (𝑀 ∈ (𝐿...𝑁) → 𝑀 ∈ ℤ) |
| 59 | | zaddcl 11417 |
. . . . . . . . . . . 12
⊢ ((𝑘 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑘 + 𝑀) ∈ ℤ) |
| 60 | 59 | expcom 451 |
. . . . . . . . . . 11
⊢ (𝑀 ∈ ℤ → (𝑘 ∈ ℤ → (𝑘 + 𝑀) ∈ ℤ)) |
| 61 | 58, 60 | syl 17 |
. . . . . . . . . 10
⊢ (𝑀 ∈ (𝐿...𝑁) → (𝑘 ∈ ℤ → (𝑘 + 𝑀) ∈ ℤ)) |
| 62 | 61 | ad2antrl 764 |
. . . . . . . . 9
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑘 ∈ ℤ → (𝑘 + 𝑀) ∈ ℤ)) |
| 63 | 57, 62 | syl5com 31 |
. . . . . . . 8
⊢ (𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿))) → (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑘 + 𝑀) ∈ ℤ)) |
| 64 | 63 | impcom 446 |
. . . . . . 7
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → (𝑘 + 𝑀) ∈ ℤ) |
| 65 | | df-3an 1039 |
. . . . . . 7
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ (𝑘 + 𝑀) ∈ ℤ) ↔ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑘 + 𝑀) ∈ ℤ)) |
| 66 | 56, 64, 65 | sylanbrc 698 |
. . . . . 6
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ (𝑘 + 𝑀) ∈ ℤ)) |
| 67 | | ccatsymb 13366 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ (𝑘 + 𝑀) ∈ ℤ) → ((𝐴 ++ 𝐵)‘(𝑘 + 𝑀)) = if((𝑘 + 𝑀) < (#‘𝐴), (𝐴‘(𝑘 + 𝑀)), (𝐵‘((𝑘 + 𝑀) − (#‘𝐴))))) |
| 68 | 66, 67 | syl 17 |
. . . . 5
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → ((𝐴 ++ 𝐵)‘(𝑘 + 𝑀)) = if((𝑘 + 𝑀) < (#‘𝐴), (𝐴‘(𝑘 + 𝑀)), (𝐵‘((𝑘 + 𝑀) − (#‘𝐴))))) |
| 69 | | elfzonn0 12512 |
. . . . . . . 8
⊢ (𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿))) → 𝑘 ∈ ℕ0) |
| 70 | | zre 11381 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝐿 ∈ ℤ → 𝐿 ∈
ℝ) |
| 71 | | zre 11381 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑀 ∈ ℤ → 𝑀 ∈
ℝ) |
| 72 | 70, 71 | anim12i 590 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝐿 ∈ ℝ ∧ 𝑀 ∈
ℝ)) |
| 73 | | elnn0z 11390 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑘 ∈ ℕ0
↔ (𝑘 ∈ ℤ
∧ 0 ≤ 𝑘)) |
| 74 | | zre 11381 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝑘 ∈ ℤ → 𝑘 ∈
ℝ) |
| 75 | | 0red 10041 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
⊢ (𝑀 ∈ ℝ → 0 ∈
ℝ) |
| 76 | 75 | anim1i 592 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
⊢ ((𝑀 ∈ ℝ ∧ 𝐿 ∈ ℝ) → (0
∈ ℝ ∧ 𝐿
∈ ℝ)) |
| 77 | 76 | ancoms 469 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
⊢ ((𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ) → (0
∈ ℝ ∧ 𝐿
∈ ℝ)) |
| 78 | 77 | adantl 482 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → (0
∈ ℝ ∧ 𝐿
∈ ℝ)) |
| 79 | | simpr 477 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
⊢ ((𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ) → 𝑀 ∈
ℝ) |
| 80 | 79 | anim2i 593 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → (𝑘 ∈ ℝ ∧ 𝑀 ∈
ℝ)) |
| 81 | | le2add 10510 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (((0
∈ ℝ ∧ 𝐿
∈ ℝ) ∧ (𝑘
∈ ℝ ∧ 𝑀
∈ ℝ)) → ((0 ≤ 𝑘 ∧ 𝐿 ≤ 𝑀) → (0 + 𝐿) ≤ (𝑘 + 𝑀))) |
| 82 | 78, 80, 81 | syl2anc 693 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → ((0
≤ 𝑘 ∧ 𝐿 ≤ 𝑀) → (0 + 𝐿) ≤ (𝑘 + 𝑀))) |
| 83 | | recn 10026 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
⊢ (𝐿 ∈ ℝ → 𝐿 ∈
ℂ) |
| 84 | 83 | addid2d 10237 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
⊢ (𝐿 ∈ ℝ → (0 +
𝐿) = 𝐿) |
| 85 | 84 | ad2antrl 764 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → (0 +
𝐿) = 𝐿) |
| 86 | 85 | breq1d 4663 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → ((0 +
𝐿) ≤ (𝑘 + 𝑀) ↔ 𝐿 ≤ (𝑘 + 𝑀))) |
| 87 | 82, 86 | sylibd 229 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → ((0
≤ 𝑘 ∧ 𝐿 ≤ 𝑀) → 𝐿 ≤ (𝑘 + 𝑀))) |
| 88 | | simpl 473 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ ((𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ) → 𝐿 ∈
ℝ) |
| 89 | 88 | adantl 482 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → 𝐿 ∈
ℝ) |
| 90 | | readdcl 10019 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ ((𝑘 ∈ ℝ ∧ 𝑀 ∈ ℝ) → (𝑘 + 𝑀) ∈ ℝ) |
| 91 | 80, 90 | syl 17 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → (𝑘 + 𝑀) ∈ ℝ) |
| 92 | 89, 91 | lenltd 10183 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → (𝐿 ≤ (𝑘 + 𝑀) ↔ ¬ (𝑘 + 𝑀) < 𝐿)) |
| 93 | 87, 92 | sylibd 229 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → ((0
≤ 𝑘 ∧ 𝐿 ≤ 𝑀) → ¬ (𝑘 + 𝑀) < 𝐿)) |
| 94 | 93 | expd 452 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → (0 ≤
𝑘 → (𝐿 ≤ 𝑀 → ¬ (𝑘 + 𝑀) < 𝐿))) |
| 95 | 94 | com12 32 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (0 ≤
𝑘 → ((𝑘 ∈ ℝ ∧ (𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ)) → (𝐿 ≤ 𝑀 → ¬ (𝑘 + 𝑀) < 𝐿))) |
| 96 | 95 | expd 452 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (0 ≤
𝑘 → (𝑘 ∈ ℝ → ((𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ) → (𝐿 ≤ 𝑀 → ¬ (𝑘 + 𝑀) < 𝐿)))) |
| 97 | 74, 96 | mpan9 486 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝑘 ∈ ℤ ∧ 0 ≤
𝑘) → ((𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ) → (𝐿 ≤ 𝑀 → ¬ (𝑘 + 𝑀) < 𝐿))) |
| 98 | 73, 97 | sylbi 207 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑘 ∈ ℕ0
→ ((𝐿 ∈ ℝ
∧ 𝑀 ∈ ℝ)
→ (𝐿 ≤ 𝑀 → ¬ (𝑘 + 𝑀) < 𝐿))) |
| 99 | 72, 98 | mpan9 486 |
. . . . . . . . . . . . . . . . 17
⊢ (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℕ0)
→ (𝐿 ≤ 𝑀 → ¬ (𝑘 + 𝑀) < 𝐿)) |
| 100 | 1 | eqcomi 2631 |
. . . . . . . . . . . . . . . . . . 19
⊢
(#‘𝐴) = 𝐿 |
| 101 | 100 | breq2i 4661 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝑘 + 𝑀) < (#‘𝐴) ↔ (𝑘 + 𝑀) < 𝐿) |
| 102 | 101 | notbii 310 |
. . . . . . . . . . . . . . . . 17
⊢ (¬
(𝑘 + 𝑀) < (#‘𝐴) ↔ ¬ (𝑘 + 𝑀) < 𝐿) |
| 103 | 99, 102 | syl6ibr 242 |
. . . . . . . . . . . . . . . 16
⊢ (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℕ0)
→ (𝐿 ≤ 𝑀 → ¬ (𝑘 + 𝑀) < (#‘𝐴))) |
| 104 | 103 | ex 450 |
. . . . . . . . . . . . . . 15
⊢ ((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑘 ∈ ℕ0
→ (𝐿 ≤ 𝑀 → ¬ (𝑘 + 𝑀) < (#‘𝐴)))) |
| 105 | 104 | com23 86 |
. . . . . . . . . . . . . 14
⊢ ((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝐿 ≤ 𝑀 → (𝑘 ∈ ℕ0 → ¬
(𝑘 + 𝑀) < (#‘𝐴)))) |
| 106 | 105 | 3adant2 1080 |
. . . . . . . . . . . . 13
⊢ ((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝐿 ≤ 𝑀 → (𝑘 ∈ ℕ0 → ¬
(𝑘 + 𝑀) < (#‘𝐴)))) |
| 107 | 106 | com12 32 |
. . . . . . . . . . . 12
⊢ (𝐿 ≤ 𝑀 → ((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑘 ∈ ℕ0 → ¬
(𝑘 + 𝑀) < (#‘𝐴)))) |
| 108 | 107 | adantr 481 |
. . . . . . . . . . 11
⊢ ((𝐿 ≤ 𝑀 ∧ 𝑀 ≤ 𝑁) → ((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑘 ∈ ℕ0 → ¬
(𝑘 + 𝑀) < (#‘𝐴)))) |
| 109 | 108 | impcom 446 |
. . . . . . . . . 10
⊢ (((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ (𝐿 ≤ 𝑀 ∧ 𝑀 ≤ 𝑁)) → (𝑘 ∈ ℕ0 → ¬
(𝑘 + 𝑀) < (#‘𝐴))) |
| 110 | 26, 109 | sylbi 207 |
. . . . . . . . 9
⊢ (𝑀 ∈ (𝐿...𝑁) → (𝑘 ∈ ℕ0 → ¬
(𝑘 + 𝑀) < (#‘𝐴))) |
| 111 | 110 | ad2antrl 764 |
. . . . . . . 8
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑘 ∈ ℕ0 → ¬
(𝑘 + 𝑀) < (#‘𝐴))) |
| 112 | 69, 111 | syl5com 31 |
. . . . . . 7
⊢ (𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿))) → (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ¬ (𝑘 + 𝑀) < (#‘𝐴))) |
| 113 | 112 | impcom 446 |
. . . . . 6
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → ¬ (𝑘 + 𝑀) < (#‘𝐴)) |
| 114 | 113 | iffalsed 4097 |
. . . . 5
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → if((𝑘 + 𝑀) < (#‘𝐴), (𝐴‘(𝑘 + 𝑀)), (𝐵‘((𝑘 + 𝑀) − (#‘𝐴)))) = (𝐵‘((𝑘 + 𝑀) − (#‘𝐴)))) |
| 115 | | zcn 11382 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑘 ∈ ℤ → 𝑘 ∈
ℂ) |
| 116 | 115 | adantl 482 |
. . . . . . . . . . . . . . . 16
⊢ (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℤ) → 𝑘 ∈
ℂ) |
| 117 | 28 | adantl 482 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) → 𝑀 ∈
ℂ) |
| 118 | 117 | adantr 481 |
. . . . . . . . . . . . . . . 16
⊢ (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℤ) → 𝑀 ∈
ℂ) |
| 119 | 29 | ad2antrr 762 |
. . . . . . . . . . . . . . . 16
⊢ (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℤ) → 𝐿 ∈
ℂ) |
| 120 | 116, 118,
119 | addsubassd 10412 |
. . . . . . . . . . . . . . 15
⊢ (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℤ) → ((𝑘 + 𝑀) − 𝐿) = (𝑘 + (𝑀 − 𝐿))) |
| 121 | | oveq2 6658 |
. . . . . . . . . . . . . . . 16
⊢ (𝐿 = (#‘𝐴) → ((𝑘 + 𝑀) − 𝐿) = ((𝑘 + 𝑀) − (#‘𝐴))) |
| 122 | 121 | eqeq1d 2624 |
. . . . . . . . . . . . . . 15
⊢ (𝐿 = (#‘𝐴) → (((𝑘 + 𝑀) − 𝐿) = (𝑘 + (𝑀 − 𝐿)) ↔ ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀 − 𝐿)))) |
| 123 | 120, 122 | syl5ib 234 |
. . . . . . . . . . . . . 14
⊢ (𝐿 = (#‘𝐴) → (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℤ) → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀 − 𝐿)))) |
| 124 | 1, 123 | ax-mp 5 |
. . . . . . . . . . . . 13
⊢ (((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ 𝑘 ∈ ℤ) → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀 − 𝐿))) |
| 125 | 124 | ex 450 |
. . . . . . . . . . . 12
⊢ ((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑘 ∈ ℤ → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀 − 𝐿)))) |
| 126 | 125 | 3adant2 1080 |
. . . . . . . . . . 11
⊢ ((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑘 ∈ ℤ → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀 − 𝐿)))) |
| 127 | 126 | adantr 481 |
. . . . . . . . . 10
⊢ (((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) ∧ (𝐿 ≤ 𝑀 ∧ 𝑀 ≤ 𝑁)) → (𝑘 ∈ ℤ → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀 − 𝐿)))) |
| 128 | 26, 127 | sylbi 207 |
. . . . . . . . 9
⊢ (𝑀 ∈ (𝐿...𝑁) → (𝑘 ∈ ℤ → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀 − 𝐿)))) |
| 129 | 128 | ad2antrl 764 |
. . . . . . . 8
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑘 ∈ ℤ → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀 − 𝐿)))) |
| 130 | 57, 129 | syl5com 31 |
. . . . . . 7
⊢ (𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿))) → (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀 − 𝐿)))) |
| 131 | 130 | impcom 446 |
. . . . . 6
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → ((𝑘 + 𝑀) − (#‘𝐴)) = (𝑘 + (𝑀 − 𝐿))) |
| 132 | 131 | fveq2d 6195 |
. . . . 5
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → (𝐵‘((𝑘 + 𝑀) − (#‘𝐴))) = (𝐵‘(𝑘 + (𝑀 − 𝐿)))) |
| 133 | 68, 114, 132 | 3eqtrd 2660 |
. . . 4
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → ((𝐴 ++ 𝐵)‘(𝑘 + 𝑀)) = (𝐵‘(𝑘 + (𝑀 − 𝐿)))) |
| 134 | | ccatcl 13359 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝐴 ++ 𝐵) ∈ Word 𝑉) |
| 135 | 134 | ad2antrr 762 |
. . . . 5
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → (𝐴 ++ 𝐵) ∈ Word 𝑉) |
| 136 | 1, 12 | syl5eqel 2705 |
. . . . . . . . . . . 12
⊢
((#‘𝐴) ∈
ℕ0 → 𝐿 ∈
(ℤ≥‘0)) |
| 137 | | fzss1 12380 |
. . . . . . . . . . . 12
⊢ (𝐿 ∈
(ℤ≥‘0) → (𝐿...𝑁) ⊆ (0...𝑁)) |
| 138 | 10, 136, 137 | 3syl 18 |
. . . . . . . . . . 11
⊢ (𝐴 ∈ Word 𝑉 → (𝐿...𝑁) ⊆ (0...𝑁)) |
| 139 | 138 | sseld 3602 |
. . . . . . . . . 10
⊢ (𝐴 ∈ Word 𝑉 → (𝑀 ∈ (𝐿...𝑁) → 𝑀 ∈ (0...𝑁))) |
| 140 | 139 | adantr 481 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝑀 ∈ (𝐿...𝑁) → 𝑀 ∈ (0...𝑁))) |
| 141 | 140 | com12 32 |
. . . . . . . 8
⊢ (𝑀 ∈ (𝐿...𝑁) → ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → 𝑀 ∈ (0...𝑁))) |
| 142 | 141 | adantr 481 |
. . . . . . 7
⊢ ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → 𝑀 ∈ (0...𝑁))) |
| 143 | 142 | impcom 446 |
. . . . . 6
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → 𝑀 ∈ (0...𝑁)) |
| 144 | 143 | adantr 481 |
. . . . 5
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → 𝑀 ∈ (0...𝑁)) |
| 145 | 1, 7 | ax-mp 5 |
. . . . . . . . 9
⊢ (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) ↔ 𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵)))) |
| 146 | 10, 12 | syl 17 |
. . . . . . . . . . . . . . 15
⊢ (𝐴 ∈ Word 𝑉 → (#‘𝐴) ∈
(ℤ≥‘0)) |
| 147 | 146 | adantr 481 |
. . . . . . . . . . . . . 14
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (#‘𝐴) ∈
(ℤ≥‘0)) |
| 148 | 147, 16 | syl 17 |
. . . . . . . . . . . . 13
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) ⊆ (0...((#‘𝐴) + (#‘𝐵)))) |
| 149 | 148 | sseld 3602 |
. . . . . . . . . . . 12
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) → 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵))))) |
| 150 | 149 | impcom 446 |
. . . . . . . . . . 11
⊢ ((𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) ∧ (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉)) → 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵)))) |
| 151 | | ccatlen 13360 |
. . . . . . . . . . . . . 14
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (#‘(𝐴 ++ 𝐵)) = ((#‘𝐴) + (#‘𝐵))) |
| 152 | 151 | oveq2d 6666 |
. . . . . . . . . . . . 13
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (0...(#‘(𝐴 ++ 𝐵))) = (0...((#‘𝐴) + (#‘𝐵)))) |
| 153 | 152 | eleq2d 2687 |
. . . . . . . . . . . 12
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵))) ↔ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵))))) |
| 154 | 153 | adantl 482 |
. . . . . . . . . . 11
⊢ ((𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) ∧ (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉)) → (𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵))) ↔ 𝑁 ∈ (0...((#‘𝐴) + (#‘𝐵))))) |
| 155 | 150, 154 | mpbird 247 |
. . . . . . . . . 10
⊢ ((𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) ∧ (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉)) → 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵)))) |
| 156 | 155 | ex 450 |
. . . . . . . . 9
⊢ (𝑁 ∈ ((#‘𝐴)...((#‘𝐴) + (#‘𝐵))) → ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵))))) |
| 157 | 145, 156 | sylbi 207 |
. . . . . . . 8
⊢ (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵))))) |
| 158 | 157 | adantl 482 |
. . . . . . 7
⊢ ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵))))) |
| 159 | 158 | impcom 446 |
. . . . . 6
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵)))) |
| 160 | 159 | adantr 481 |
. . . . 5
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵)))) |
| 161 | | fzmmmeqm 12374 |
. . . . . . . . . 10
⊢ (𝑀 ∈ (𝐿...𝑁) → ((𝑁 − 𝐿) − (𝑀 − 𝐿)) = (𝑁 − 𝑀)) |
| 162 | 161 | oveq2d 6666 |
. . . . . . . . 9
⊢ (𝑀 ∈ (𝐿...𝑁) → (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿))) = (0..^(𝑁 − 𝑀))) |
| 163 | 162 | eleq2d 2687 |
. . . . . . . 8
⊢ (𝑀 ∈ (𝐿...𝑁) → (𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿))) ↔ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) |
| 164 | 163 | biimpd 219 |
. . . . . . 7
⊢ (𝑀 ∈ (𝐿...𝑁) → (𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿))) → 𝑘 ∈ (0..^(𝑁 − 𝑀)))) |
| 165 | 164 | ad2antrl 764 |
. . . . . 6
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿))) → 𝑘 ∈ (0..^(𝑁 − 𝑀)))) |
| 166 | 165 | imp 445 |
. . . . 5
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → 𝑘 ∈ (0..^(𝑁 − 𝑀))) |
| 167 | | swrdfv 13424 |
. . . . 5
⊢ ((((𝐴 ++ 𝐵) ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵)))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀))) → (((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉)‘𝑘) = ((𝐴 ++ 𝐵)‘(𝑘 + 𝑀))) |
| 168 | 135, 144,
160, 166, 167 | syl31anc 1329 |
. . . 4
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → (((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉)‘𝑘) = ((𝐴 ++ 𝐵)‘(𝑘 + 𝑀))) |
| 169 | 48, 46 | syl 17 |
. . . . . . . . . 10
⊢ (𝐵 ∈ Word 𝑉 → (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → (𝑁 − 𝐿) ∈ (0...(#‘𝐵)))) |
| 170 | 169 | adantl 482 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → (𝑁 − 𝐿) ∈ (0...(#‘𝐵)))) |
| 171 | 170 | com12 32 |
. . . . . . . 8
⊢ (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝑁 − 𝐿) ∈ (0...(#‘𝐵)))) |
| 172 | 171 | adantl 482 |
. . . . . . 7
⊢ ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝑁 − 𝐿) ∈ (0...(#‘𝐵)))) |
| 173 | 172 | impcom 446 |
. . . . . 6
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑁 − 𝐿) ∈ (0...(#‘𝐵))) |
| 174 | 42, 44, 173 | 3jca 1242 |
. . . . 5
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝐵 ∈ Word 𝑉 ∧ (𝑀 − 𝐿) ∈ (0...(𝑁 − 𝐿)) ∧ (𝑁 − 𝐿) ∈ (0...(#‘𝐵)))) |
| 175 | | swrdfv 13424 |
. . . . 5
⊢ (((𝐵 ∈ Word 𝑉 ∧ (𝑀 − 𝐿) ∈ (0...(𝑁 − 𝐿)) ∧ (𝑁 − 𝐿) ∈ (0...(#‘𝐵))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → ((𝐵 substr 〈(𝑀 − 𝐿), (𝑁 − 𝐿)〉)‘𝑘) = (𝐵‘(𝑘 + (𝑀 − 𝐿)))) |
| 176 | 174, 175 | sylan 488 |
. . . 4
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → ((𝐵 substr 〈(𝑀 − 𝐿), (𝑁 − 𝐿)〉)‘𝑘) = (𝐵‘(𝑘 + (𝑀 − 𝐿)))) |
| 177 | 133, 168,
176 | 3eqtr4d 2666 |
. . 3
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^((𝑁 − 𝐿) − (𝑀 − 𝐿)))) → (((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉)‘𝑘) = ((𝐵 substr 〈(𝑀 − 𝐿), (𝑁 − 𝐿)〉)‘𝑘)) |
| 178 | 40, 54, 177 | eqfnfvd 6314 |
. 2
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉) = (𝐵 substr 〈(𝑀 − 𝐿), (𝑁 − 𝐿)〉)) |
| 179 | 178 | ex 450 |
1
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → ((𝑀 ∈ (𝐿...𝑁) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉) = (𝐵 substr 〈(𝑀 − 𝐿), (𝑁 − 𝐿)〉))) |