Step | Hyp | Ref
| Expression |
1 | | ccatcl 13212 |
. . . . 5
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝐴 ++ 𝐵) ∈ Word 𝑉) |
2 | 1 | adantr 480 |
. . . 4
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝐴 ++ 𝐵) ∈ Word 𝑉) |
3 | | elfz0fzfz0 12313 |
. . . . 5
⊢ ((𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → 𝑀 ∈ (0...𝑁)) |
4 | 3 | adantl 481 |
. . . 4
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → 𝑀 ∈ (0...𝑁)) |
5 | | elfzuz2 12217 |
. . . . . . . . 9
⊢ (𝑀 ∈ (0...𝐿) → 𝐿 ∈
(ℤ≥‘0)) |
6 | 5 | adantl 481 |
. . . . . . . 8
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑀 ∈ (0...𝐿)) → 𝐿 ∈
(ℤ≥‘0)) |
7 | | fzss1 12251 |
. . . . . . . 8
⊢ (𝐿 ∈
(ℤ≥‘0) → (𝐿...(𝐿 + (#‘𝐵))) ⊆ (0...(𝐿 + (#‘𝐵)))) |
8 | 6, 7 | syl 17 |
. . . . . . 7
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑀 ∈ (0...𝐿)) → (𝐿...(𝐿 + (#‘𝐵))) ⊆ (0...(𝐿 + (#‘𝐵)))) |
9 | | ccatlen 13213 |
. . . . . . . . . 10
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (#‘(𝐴 ++ 𝐵)) = ((#‘𝐴) + (#‘𝐵))) |
10 | | swrdccatin12.l |
. . . . . . . . . . . 12
⊢ 𝐿 = (#‘𝐴) |
11 | 10 | eqcomi 2619 |
. . . . . . . . . . 11
⊢
(#‘𝐴) = 𝐿 |
12 | 11 | oveq1i 6559 |
. . . . . . . . . 10
⊢
((#‘𝐴) +
(#‘𝐵)) = (𝐿 + (#‘𝐵)) |
13 | 9, 12 | syl6eq 2660 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (#‘(𝐴 ++ 𝐵)) = (𝐿 + (#‘𝐵))) |
14 | 13 | adantr 480 |
. . . . . . . 8
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑀 ∈ (0...𝐿)) → (#‘(𝐴 ++ 𝐵)) = (𝐿 + (#‘𝐵))) |
15 | 14 | oveq2d 6565 |
. . . . . . 7
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑀 ∈ (0...𝐿)) → (0...(#‘(𝐴 ++ 𝐵))) = (0...(𝐿 + (#‘𝐵)))) |
16 | 8, 15 | sseqtr4d 3605 |
. . . . . 6
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑀 ∈ (0...𝐿)) → (𝐿...(𝐿 + (#‘𝐵))) ⊆ (0...(#‘(𝐴 ++ 𝐵)))) |
17 | 16 | sseld 3567 |
. . . . 5
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑀 ∈ (0...𝐿)) → (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵))))) |
18 | 17 | impr 647 |
. . . 4
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵)))) |
19 | | swrdvalfn 13278 |
. . . 4
⊢ (((𝐴 ++ 𝐵) ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(#‘(𝐴 ++ 𝐵)))) → ((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉) Fn (0..^(𝑁 − 𝑀))) |
20 | 2, 4, 18, 19 | syl3anc 1318 |
. . 3
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉) Fn (0..^(𝑁 − 𝑀))) |
21 | | swrdcl 13271 |
. . . . . . 7
⊢ (𝐴 ∈ Word 𝑉 → (𝐴 substr 〈𝑀, 𝐿〉) ∈ Word 𝑉) |
22 | | swrdcl 13271 |
. . . . . . 7
⊢ (𝐵 ∈ Word 𝑉 → (𝐵 substr 〈0, (𝑁 − 𝐿)〉) ∈ Word 𝑉) |
23 | 21, 22 | anim12i 588 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → ((𝐴 substr 〈𝑀, 𝐿〉) ∈ Word 𝑉 ∧ (𝐵 substr 〈0, (𝑁 − 𝐿)〉) ∈ Word 𝑉)) |
24 | 23 | adantr 480 |
. . . . 5
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝐴 substr 〈𝑀, 𝐿〉) ∈ Word 𝑉 ∧ (𝐵 substr 〈0, (𝑁 − 𝐿)〉) ∈ Word 𝑉)) |
25 | | ccatvalfn 13218 |
. . . . 5
⊢ (((𝐴 substr 〈𝑀, 𝐿〉) ∈ Word 𝑉 ∧ (𝐵 substr 〈0, (𝑁 − 𝐿)〉) ∈ Word 𝑉) → ((𝐴 substr 〈𝑀, 𝐿〉) ++ (𝐵 substr 〈0, (𝑁 − 𝐿)〉)) Fn (0..^((#‘(𝐴 substr 〈𝑀, 𝐿〉)) + (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉))))) |
26 | 24, 25 | syl 17 |
. . . 4
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝐴 substr 〈𝑀, 𝐿〉) ++ (𝐵 substr 〈0, (𝑁 − 𝐿)〉)) Fn (0..^((#‘(𝐴 substr 〈𝑀, 𝐿〉)) + (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉))))) |
27 | | simpll 786 |
. . . . . . . . 9
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → 𝐴 ∈ Word 𝑉) |
28 | | simprl 790 |
. . . . . . . . 9
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → 𝑀 ∈ (0...𝐿)) |
29 | | lencl 13179 |
. . . . . . . . . . . 12
⊢ (𝐴 ∈ Word 𝑉 → (#‘𝐴) ∈
ℕ0) |
30 | | elnn0uz 11601 |
. . . . . . . . . . . . . 14
⊢
((#‘𝐴) ∈
ℕ0 ↔ (#‘𝐴) ∈
(ℤ≥‘0)) |
31 | | eluzfz2 12220 |
. . . . . . . . . . . . . 14
⊢
((#‘𝐴) ∈
(ℤ≥‘0) → (#‘𝐴) ∈ (0...(#‘𝐴))) |
32 | 30, 31 | sylbi 206 |
. . . . . . . . . . . . 13
⊢
((#‘𝐴) ∈
ℕ0 → (#‘𝐴) ∈ (0...(#‘𝐴))) |
33 | 10, 32 | syl5eqel 2692 |
. . . . . . . . . . . 12
⊢
((#‘𝐴) ∈
ℕ0 → 𝐿 ∈ (0...(#‘𝐴))) |
34 | 29, 33 | syl 17 |
. . . . . . . . . . 11
⊢ (𝐴 ∈ Word 𝑉 → 𝐿 ∈ (0...(#‘𝐴))) |
35 | 34 | adantr 480 |
. . . . . . . . . 10
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → 𝐿 ∈ (0...(#‘𝐴))) |
36 | 35 | adantr 480 |
. . . . . . . . 9
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → 𝐿 ∈ (0...(#‘𝐴))) |
37 | | swrdlen 13275 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(#‘𝐴))) → (#‘(𝐴 substr 〈𝑀, 𝐿〉)) = (𝐿 − 𝑀)) |
38 | 27, 28, 36, 37 | syl3anc 1318 |
. . . . . . . 8
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (#‘(𝐴 substr 〈𝑀, 𝐿〉)) = (𝐿 − 𝑀)) |
39 | | simpr 476 |
. . . . . . . . . 10
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → 𝐵 ∈ Word 𝑉) |
40 | 39 | adantr 480 |
. . . . . . . . 9
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → 𝐵 ∈ Word 𝑉) |
41 | | lencl 13179 |
. . . . . . . . . . . . 13
⊢ (𝐵 ∈ Word 𝑉 → (#‘𝐵) ∈
ℕ0) |
42 | 41 | nn0zd 11356 |
. . . . . . . . . . . 12
⊢ (𝐵 ∈ Word 𝑉 → (#‘𝐵) ∈ ℤ) |
43 | 42 | adantl 481 |
. . . . . . . . . . 11
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (#‘𝐵) ∈ ℤ) |
44 | | simpr 476 |
. . . . . . . . . . 11
⊢ ((𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) |
45 | 43, 44 | anim12i 588 |
. . . . . . . . . 10
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((#‘𝐵) ∈ ℤ ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) |
46 | | elfzmlbp 12319 |
. . . . . . . . . 10
⊢
(((#‘𝐵) ∈
ℤ ∧ 𝑁 ∈
(𝐿...(𝐿 + (#‘𝐵)))) → (𝑁 − 𝐿) ∈ (0...(#‘𝐵))) |
47 | 45, 46 | syl 17 |
. . . . . . . . 9
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑁 − 𝐿) ∈ (0...(#‘𝐵))) |
48 | | swrd0len 13274 |
. . . . . . . . 9
⊢ ((𝐵 ∈ Word 𝑉 ∧ (𝑁 − 𝐿) ∈ (0...(#‘𝐵))) → (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉)) = (𝑁 − 𝐿)) |
49 | 40, 47, 48 | syl2anc 691 |
. . . . . . . 8
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉)) = (𝑁 − 𝐿)) |
50 | 38, 49 | oveq12d 6567 |
. . . . . . 7
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((#‘(𝐴 substr 〈𝑀, 𝐿〉)) + (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉))) = ((𝐿 − 𝑀) + (𝑁 − 𝐿))) |
51 | | elfz2nn0 12300 |
. . . . . . . . . . 11
⊢ (𝑀 ∈ (0...𝐿) ↔ (𝑀 ∈ ℕ0 ∧ 𝐿 ∈ ℕ0
∧ 𝑀 ≤ 𝐿)) |
52 | | elfzelz 12213 |
. . . . . . . . . . . . . 14
⊢ (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → 𝑁 ∈ ℤ) |
53 | | nn0cn 11179 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝐿 ∈ ℕ0
→ 𝐿 ∈
ℂ) |
54 | 53 | adantl 481 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑀 ∈ ℕ0
∧ 𝐿 ∈
ℕ0) → 𝐿 ∈ ℂ) |
55 | 54 | adantl 481 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑁 ∈ ℤ ∧ (𝑀 ∈ ℕ0
∧ 𝐿 ∈
ℕ0)) → 𝐿 ∈ ℂ) |
56 | | nn0cn 11179 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑀 ∈ ℕ0
→ 𝑀 ∈
ℂ) |
57 | 56 | ad2antrl 760 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑁 ∈ ℤ ∧ (𝑀 ∈ ℕ0
∧ 𝐿 ∈
ℕ0)) → 𝑀 ∈ ℂ) |
58 | | zcn 11259 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑁 ∈ ℤ → 𝑁 ∈
ℂ) |
59 | 58 | adantr 480 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑁 ∈ ℤ ∧ (𝑀 ∈ ℕ0
∧ 𝐿 ∈
ℕ0)) → 𝑁 ∈ ℂ) |
60 | 55, 57, 59 | 3jca 1235 |
. . . . . . . . . . . . . . 15
⊢ ((𝑁 ∈ ℤ ∧ (𝑀 ∈ ℕ0
∧ 𝐿 ∈
ℕ0)) → (𝐿 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ)) |
61 | 60 | ex 449 |
. . . . . . . . . . . . . 14
⊢ (𝑁 ∈ ℤ → ((𝑀 ∈ ℕ0
∧ 𝐿 ∈
ℕ0) → (𝐿 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ))) |
62 | 52, 61 | syl 17 |
. . . . . . . . . . . . 13
⊢ (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → ((𝑀 ∈ ℕ0 ∧ 𝐿 ∈ ℕ0)
→ (𝐿 ∈ ℂ
∧ 𝑀 ∈ ℂ
∧ 𝑁 ∈
ℂ))) |
63 | 62 | com12 32 |
. . . . . . . . . . . 12
⊢ ((𝑀 ∈ ℕ0
∧ 𝐿 ∈
ℕ0) → (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → (𝐿 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ))) |
64 | 63 | 3adant3 1074 |
. . . . . . . . . . 11
⊢ ((𝑀 ∈ ℕ0
∧ 𝐿 ∈
ℕ0 ∧ 𝑀
≤ 𝐿) → (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → (𝐿 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ))) |
65 | 51, 64 | sylbi 206 |
. . . . . . . . . 10
⊢ (𝑀 ∈ (0...𝐿) → (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → (𝐿 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ))) |
66 | 65 | imp 444 |
. . . . . . . . 9
⊢ ((𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → (𝐿 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ)) |
67 | 66 | adantl 481 |
. . . . . . . 8
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝐿 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ)) |
68 | | npncan3 10198 |
. . . . . . . 8
⊢ ((𝐿 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ) → ((𝐿 − 𝑀) + (𝑁 − 𝐿)) = (𝑁 − 𝑀)) |
69 | 67, 68 | syl 17 |
. . . . . . 7
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝐿 − 𝑀) + (𝑁 − 𝐿)) = (𝑁 − 𝑀)) |
70 | 50, 69 | eqtr2d 2645 |
. . . . . 6
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝑁 − 𝑀) = ((#‘(𝐴 substr 〈𝑀, 𝐿〉)) + (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉)))) |
71 | 70 | oveq2d 6565 |
. . . . 5
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (0..^(𝑁 − 𝑀)) = (0..^((#‘(𝐴 substr 〈𝑀, 𝐿〉)) + (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉))))) |
72 | 71 | fneq2d 5896 |
. . . 4
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (((𝐴 substr 〈𝑀, 𝐿〉) ++ (𝐵 substr 〈0, (𝑁 − 𝐿)〉)) Fn (0..^(𝑁 − 𝑀)) ↔ ((𝐴 substr 〈𝑀, 𝐿〉) ++ (𝐵 substr 〈0, (𝑁 − 𝐿)〉)) Fn (0..^((#‘(𝐴 substr 〈𝑀, 𝐿〉)) + (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉)))))) |
73 | 26, 72 | mpbird 246 |
. . 3
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝐴 substr 〈𝑀, 𝐿〉) ++ (𝐵 substr 〈0, (𝑁 − 𝐿)〉)) Fn (0..^(𝑁 − 𝑀))) |
74 | | simprl 790 |
. . . . . 6
⊢ ((𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))))) |
75 | | simpr 476 |
. . . . . . . 8
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀))) → 𝑘 ∈ (0..^(𝑁 − 𝑀))) |
76 | 75 | anim2i 591 |
. . . . . . 7
⊢ ((𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → (𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) |
77 | 76 | ancomd 466 |
. . . . . 6
⊢ ((𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → (𝑘 ∈ (0..^(𝑁 − 𝑀)) ∧ 𝑘 ∈ (0..^(𝐿 − 𝑀)))) |
78 | 10 | swrdccatin12lem3 13341 |
. . . . . 6
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝑘 ∈ (0..^(𝑁 − 𝑀)) ∧ 𝑘 ∈ (0..^(𝐿 − 𝑀))) → (((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉)‘𝑘) = ((𝐴 substr 〈𝑀, 𝐿〉)‘𝑘))) |
79 | 74, 77, 78 | sylc 63 |
. . . . 5
⊢ ((𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → (((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉)‘𝑘) = ((𝐴 substr 〈𝑀, 𝐿〉)‘𝑘)) |
80 | 24 | ad2antrl 760 |
. . . . . . 7
⊢ ((𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → ((𝐴 substr 〈𝑀, 𝐿〉) ∈ Word 𝑉 ∧ (𝐵 substr 〈0, (𝑁 − 𝐿)〉) ∈ Word 𝑉)) |
81 | | simpl 472 |
. . . . . . . 8
⊢ ((𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → 𝑘 ∈ (0..^(𝐿 − 𝑀))) |
82 | | nn0fz0 12306 |
. . . . . . . . . . . . . . . 16
⊢
((#‘𝐴) ∈
ℕ0 ↔ (#‘𝐴) ∈ (0...(#‘𝐴))) |
83 | 29, 82 | sylib 207 |
. . . . . . . . . . . . . . 15
⊢ (𝐴 ∈ Word 𝑉 → (#‘𝐴) ∈ (0...(#‘𝐴))) |
84 | 10, 83 | syl5eqel 2692 |
. . . . . . . . . . . . . 14
⊢ (𝐴 ∈ Word 𝑉 → 𝐿 ∈ (0...(#‘𝐴))) |
85 | 84 | adantr 480 |
. . . . . . . . . . . . 13
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → 𝐿 ∈ (0...(#‘𝐴))) |
86 | 85 | adantr 480 |
. . . . . . . . . . . 12
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → 𝐿 ∈ (0...(#‘𝐴))) |
87 | 27, 28, 86 | 3jca 1235 |
. . . . . . . . . . 11
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝐴 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(#‘𝐴)))) |
88 | 87 | ad2antrl 760 |
. . . . . . . . . 10
⊢ ((𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → (𝐴 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(#‘𝐴)))) |
89 | 88, 37 | syl 17 |
. . . . . . . . 9
⊢ ((𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → (#‘(𝐴 substr 〈𝑀, 𝐿〉)) = (𝐿 − 𝑀)) |
90 | 89 | oveq2d 6565 |
. . . . . . . 8
⊢ ((𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → (0..^(#‘(𝐴 substr 〈𝑀, 𝐿〉))) = (0..^(𝐿 − 𝑀))) |
91 | 81, 90 | eleqtrrd 2691 |
. . . . . . 7
⊢ ((𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → 𝑘 ∈ (0..^(#‘(𝐴 substr 〈𝑀, 𝐿〉)))) |
92 | | df-3an 1033 |
. . . . . . 7
⊢ (((𝐴 substr 〈𝑀, 𝐿〉) ∈ Word 𝑉 ∧ (𝐵 substr 〈0, (𝑁 − 𝐿)〉) ∈ Word 𝑉 ∧ 𝑘 ∈ (0..^(#‘(𝐴 substr 〈𝑀, 𝐿〉)))) ↔ (((𝐴 substr 〈𝑀, 𝐿〉) ∈ Word 𝑉 ∧ (𝐵 substr 〈0, (𝑁 − 𝐿)〉) ∈ Word 𝑉) ∧ 𝑘 ∈ (0..^(#‘(𝐴 substr 〈𝑀, 𝐿〉))))) |
93 | 80, 91, 92 | sylanbrc 695 |
. . . . . 6
⊢ ((𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → ((𝐴 substr 〈𝑀, 𝐿〉) ∈ Word 𝑉 ∧ (𝐵 substr 〈0, (𝑁 − 𝐿)〉) ∈ Word 𝑉 ∧ 𝑘 ∈ (0..^(#‘(𝐴 substr 〈𝑀, 𝐿〉))))) |
94 | | ccatval1 13214 |
. . . . . 6
⊢ (((𝐴 substr 〈𝑀, 𝐿〉) ∈ Word 𝑉 ∧ (𝐵 substr 〈0, (𝑁 − 𝐿)〉) ∈ Word 𝑉 ∧ 𝑘 ∈ (0..^(#‘(𝐴 substr 〈𝑀, 𝐿〉)))) → (((𝐴 substr 〈𝑀, 𝐿〉) ++ (𝐵 substr 〈0, (𝑁 − 𝐿)〉))‘𝑘) = ((𝐴 substr 〈𝑀, 𝐿〉)‘𝑘)) |
95 | 93, 94 | syl 17 |
. . . . 5
⊢ ((𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → (((𝐴 substr 〈𝑀, 𝐿〉) ++ (𝐵 substr 〈0, (𝑁 − 𝐿)〉))‘𝑘) = ((𝐴 substr 〈𝑀, 𝐿〉)‘𝑘)) |
96 | 79, 95 | eqtr4d 2647 |
. . . 4
⊢ ((𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → (((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉)‘𝑘) = (((𝐴 substr 〈𝑀, 𝐿〉) ++ (𝐵 substr 〈0, (𝑁 − 𝐿)〉))‘𝑘)) |
97 | | simprl 790 |
. . . . . 6
⊢ ((¬
𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))))) |
98 | 75 | anim2i 591 |
. . . . . . 7
⊢ ((¬
𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → (¬ 𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) |
99 | 98 | ancomd 466 |
. . . . . 6
⊢ ((¬
𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → (𝑘 ∈ (0..^(𝑁 − 𝑀)) ∧ ¬ 𝑘 ∈ (0..^(𝐿 − 𝑀)))) |
100 | 10 | swrdccatin12lem2 13340 |
. . . . . 6
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝑘 ∈ (0..^(𝑁 − 𝑀)) ∧ ¬ 𝑘 ∈ (0..^(𝐿 − 𝑀))) → (((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉)‘𝑘) = ((𝐵 substr 〈0, (𝑁 − 𝐿)〉)‘(𝑘 − (#‘(𝐴 substr 〈𝑀, 𝐿〉)))))) |
101 | 97, 99, 100 | sylc 63 |
. . . . 5
⊢ ((¬
𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → (((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉)‘𝑘) = ((𝐵 substr 〈0, (𝑁 − 𝐿)〉)‘(𝑘 − (#‘(𝐴 substr 〈𝑀, 𝐿〉))))) |
102 | 24 | ad2antrl 760 |
. . . . . . 7
⊢ ((¬
𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → ((𝐴 substr 〈𝑀, 𝐿〉) ∈ Word 𝑉 ∧ (𝐵 substr 〈0, (𝑁 − 𝐿)〉) ∈ Word 𝑉)) |
103 | | elfzuz 12209 |
. . . . . . . . . . . . 13
⊢ (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → 𝑁 ∈ (ℤ≥‘𝐿)) |
104 | | eluzelz 11573 |
. . . . . . . . . . . . . 14
⊢ (𝑁 ∈
(ℤ≥‘𝐿) → 𝑁 ∈ ℤ) |
105 | | simpll 786 |
. . . . . . . . . . . . . . . . . . 19
⊢ (((𝐿 ∈ ℕ0
∧ 𝑀 ∈
ℕ0) ∧ 𝑁 ∈ ℤ) → 𝐿 ∈
ℕ0) |
106 | | simpr 476 |
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝐿 ∈ ℕ0
∧ 𝑀 ∈
ℕ0) → 𝑀 ∈
ℕ0) |
107 | 106 | adantr 480 |
. . . . . . . . . . . . . . . . . . 19
⊢ (((𝐿 ∈ ℕ0
∧ 𝑀 ∈
ℕ0) ∧ 𝑁 ∈ ℤ) → 𝑀 ∈
ℕ0) |
108 | | simpr 476 |
. . . . . . . . . . . . . . . . . . 19
⊢ (((𝐿 ∈ ℕ0
∧ 𝑀 ∈
ℕ0) ∧ 𝑁 ∈ ℤ) → 𝑁 ∈ ℤ) |
109 | 105, 107,
108 | 3jca 1235 |
. . . . . . . . . . . . . . . . . 18
⊢ (((𝐿 ∈ ℕ0
∧ 𝑀 ∈
ℕ0) ∧ 𝑁 ∈ ℤ) → (𝐿 ∈ ℕ0 ∧ 𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℤ)) |
110 | 109 | ex 449 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝐿 ∈ ℕ0
∧ 𝑀 ∈
ℕ0) → (𝑁 ∈ ℤ → (𝐿 ∈ ℕ0 ∧ 𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℤ))) |
111 | 110 | ancoms 468 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑀 ∈ ℕ0
∧ 𝐿 ∈
ℕ0) → (𝑁 ∈ ℤ → (𝐿 ∈ ℕ0 ∧ 𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℤ))) |
112 | 111 | 3adant3 1074 |
. . . . . . . . . . . . . . 15
⊢ ((𝑀 ∈ ℕ0
∧ 𝐿 ∈
ℕ0 ∧ 𝑀
≤ 𝐿) → (𝑁 ∈ ℤ → (𝐿 ∈ ℕ0
∧ 𝑀 ∈
ℕ0 ∧ 𝑁
∈ ℤ))) |
113 | 51, 112 | sylbi 206 |
. . . . . . . . . . . . . 14
⊢ (𝑀 ∈ (0...𝐿) → (𝑁 ∈ ℤ → (𝐿 ∈ ℕ0 ∧ 𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℤ))) |
114 | 104, 113 | syl5com 31 |
. . . . . . . . . . . . 13
⊢ (𝑁 ∈
(ℤ≥‘𝐿) → (𝑀 ∈ (0...𝐿) → (𝐿 ∈ ℕ0 ∧ 𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℤ))) |
115 | 103, 114 | syl 17 |
. . . . . . . . . . . 12
⊢ (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → (𝑀 ∈ (0...𝐿) → (𝐿 ∈ ℕ0 ∧ 𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℤ))) |
116 | 115 | impcom 445 |
. . . . . . . . . . 11
⊢ ((𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → (𝐿 ∈ ℕ0 ∧ 𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℤ)) |
117 | 116 | adantl 481 |
. . . . . . . . . 10
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝐿 ∈ ℕ0 ∧ 𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℤ)) |
118 | 117 | ad2antrl 760 |
. . . . . . . . 9
⊢ ((¬
𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → (𝐿 ∈ ℕ0 ∧ 𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℤ)) |
119 | | swrdccatin12lem1 13335 |
. . . . . . . . 9
⊢ ((𝐿 ∈ ℕ0
∧ 𝑀 ∈
ℕ0 ∧ 𝑁
∈ ℤ) → ((𝑘
∈ (0..^(𝑁 −
𝑀)) ∧ ¬ 𝑘 ∈ (0..^(𝐿 − 𝑀))) → 𝑘 ∈ ((𝐿 − 𝑀)..^((𝐿 − 𝑀) + (𝑁 − 𝐿))))) |
120 | 118, 99, 119 | sylc 63 |
. . . . . . . 8
⊢ ((¬
𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → 𝑘 ∈ ((𝐿 − 𝑀)..^((𝐿 − 𝑀) + (𝑁 − 𝐿)))) |
121 | 27, 28, 86, 37 | syl3anc 1318 |
. . . . . . . . . 10
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (#‘(𝐴 substr 〈𝑀, 𝐿〉)) = (𝐿 − 𝑀)) |
122 | 39 | adantl 481 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) ∧ (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉)) → 𝐵 ∈ Word 𝑉) |
123 | 43 | adantl 481 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) ∧ (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉)) → (#‘𝐵) ∈ ℤ) |
124 | | simpl 472 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) ∧ (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉)) → 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) |
125 | 123, 124,
46 | syl2anc 691 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) ∧ (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉)) → (𝑁 − 𝐿) ∈ (0...(#‘𝐵))) |
126 | 122, 125 | jca 553 |
. . . . . . . . . . . . . . 15
⊢ ((𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) ∧ (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉)) → (𝐵 ∈ Word 𝑉 ∧ (𝑁 − 𝐿) ∈ (0...(#‘𝐵)))) |
127 | 126 | ex 449 |
. . . . . . . . . . . . . 14
⊢ (𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))) → ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝐵 ∈ Word 𝑉 ∧ (𝑁 − 𝐿) ∈ (0...(#‘𝐵))))) |
128 | 127 | adantl 481 |
. . . . . . . . . . . . 13
⊢ ((𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝐵 ∈ Word 𝑉 ∧ (𝑁 − 𝐿) ∈ (0...(#‘𝐵))))) |
129 | 128 | impcom 445 |
. . . . . . . . . . . 12
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (𝐵 ∈ Word 𝑉 ∧ (𝑁 − 𝐿) ∈ (0...(#‘𝐵)))) |
130 | 129, 48 | syl 17 |
. . . . . . . . . . 11
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉)) = (𝑁 − 𝐿)) |
131 | 121, 130 | oveq12d 6567 |
. . . . . . . . . 10
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((#‘(𝐴 substr 〈𝑀, 𝐿〉)) + (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉))) = ((𝐿 − 𝑀) + (𝑁 − 𝐿))) |
132 | 121, 131 | oveq12d 6567 |
. . . . . . . . 9
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((#‘(𝐴 substr 〈𝑀, 𝐿〉))..^((#‘(𝐴 substr 〈𝑀, 𝐿〉)) + (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉)))) = ((𝐿 − 𝑀)..^((𝐿 − 𝑀) + (𝑁 − 𝐿)))) |
133 | 132 | ad2antrl 760 |
. . . . . . . 8
⊢ ((¬
𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → ((#‘(𝐴 substr 〈𝑀, 𝐿〉))..^((#‘(𝐴 substr 〈𝑀, 𝐿〉)) + (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉)))) = ((𝐿 − 𝑀)..^((𝐿 − 𝑀) + (𝑁 − 𝐿)))) |
134 | 120, 133 | eleqtrrd 2691 |
. . . . . . 7
⊢ ((¬
𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → 𝑘 ∈ ((#‘(𝐴 substr 〈𝑀, 𝐿〉))..^((#‘(𝐴 substr 〈𝑀, 𝐿〉)) + (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉))))) |
135 | | df-3an 1033 |
. . . . . . 7
⊢ (((𝐴 substr 〈𝑀, 𝐿〉) ∈ Word 𝑉 ∧ (𝐵 substr 〈0, (𝑁 − 𝐿)〉) ∈ Word 𝑉 ∧ 𝑘 ∈ ((#‘(𝐴 substr 〈𝑀, 𝐿〉))..^((#‘(𝐴 substr 〈𝑀, 𝐿〉)) + (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉))))) ↔ (((𝐴 substr 〈𝑀, 𝐿〉) ∈ Word 𝑉 ∧ (𝐵 substr 〈0, (𝑁 − 𝐿)〉) ∈ Word 𝑉) ∧ 𝑘 ∈ ((#‘(𝐴 substr 〈𝑀, 𝐿〉))..^((#‘(𝐴 substr 〈𝑀, 𝐿〉)) + (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉)))))) |
136 | 102, 134,
135 | sylanbrc 695 |
. . . . . 6
⊢ ((¬
𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → ((𝐴 substr 〈𝑀, 𝐿〉) ∈ Word 𝑉 ∧ (𝐵 substr 〈0, (𝑁 − 𝐿)〉) ∈ Word 𝑉 ∧ 𝑘 ∈ ((#‘(𝐴 substr 〈𝑀, 𝐿〉))..^((#‘(𝐴 substr 〈𝑀, 𝐿〉)) + (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉)))))) |
137 | | ccatval2 13215 |
. . . . . 6
⊢ (((𝐴 substr 〈𝑀, 𝐿〉) ∈ Word 𝑉 ∧ (𝐵 substr 〈0, (𝑁 − 𝐿)〉) ∈ Word 𝑉 ∧ 𝑘 ∈ ((#‘(𝐴 substr 〈𝑀, 𝐿〉))..^((#‘(𝐴 substr 〈𝑀, 𝐿〉)) + (#‘(𝐵 substr 〈0, (𝑁 − 𝐿)〉))))) → (((𝐴 substr 〈𝑀, 𝐿〉) ++ (𝐵 substr 〈0, (𝑁 − 𝐿)〉))‘𝑘) = ((𝐵 substr 〈0, (𝑁 − 𝐿)〉)‘(𝑘 − (#‘(𝐴 substr 〈𝑀, 𝐿〉))))) |
138 | 136, 137 | syl 17 |
. . . . 5
⊢ ((¬
𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → (((𝐴 substr 〈𝑀, 𝐿〉) ++ (𝐵 substr 〈0, (𝑁 − 𝐿)〉))‘𝑘) = ((𝐵 substr 〈0, (𝑁 − 𝐿)〉)‘(𝑘 − (#‘(𝐴 substr 〈𝑀, 𝐿〉))))) |
139 | 101, 138 | eqtr4d 2647 |
. . . 4
⊢ ((¬
𝑘 ∈ (0..^(𝐿 − 𝑀)) ∧ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀)))) → (((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉)‘𝑘) = (((𝐴 substr 〈𝑀, 𝐿〉) ++ (𝐵 substr 〈0, (𝑁 − 𝐿)〉))‘𝑘)) |
140 | 96, 139 | pm2.61ian 827 |
. . 3
⊢ ((((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) ∧ 𝑘 ∈ (0..^(𝑁 − 𝑀))) → (((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉)‘𝑘) = (((𝐴 substr 〈𝑀, 𝐿〉) ++ (𝐵 substr 〈0, (𝑁 − 𝐿)〉))‘𝑘)) |
141 | 20, 73, 140 | eqfnfvd 6222 |
. 2
⊢ (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵))))) → ((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉) = ((𝐴 substr 〈𝑀, 𝐿〉) ++ (𝐵 substr 〈0, (𝑁 − 𝐿)〉))) |
142 | 141 | ex 449 |
1
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → ((𝑀 ∈ (0...𝐿) ∧ 𝑁 ∈ (𝐿...(𝐿 + (#‘𝐵)))) → ((𝐴 ++ 𝐵) substr 〈𝑀, 𝑁〉) = ((𝐴 substr 〈𝑀, 𝐿〉) ++ (𝐵 substr 〈0, (𝑁 − 𝐿)〉)))) |