Proof of Theorem swrd2lsw
Step | Hyp | Ref
| Expression |
1 | | simpl 472 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 1 < (#‘𝑊)) → 𝑊 ∈ Word 𝑉) |
2 | | lencl 13179 |
. . . . 5
⊢ (𝑊 ∈ Word 𝑉 → (#‘𝑊) ∈
ℕ0) |
3 | | 1z 11284 |
. . . . . . . . 9
⊢ 1 ∈
ℤ |
4 | | nn0z 11277 |
. . . . . . . . 9
⊢
((#‘𝑊) ∈
ℕ0 → (#‘𝑊) ∈ ℤ) |
5 | | zltp1le 11304 |
. . . . . . . . 9
⊢ ((1
∈ ℤ ∧ (#‘𝑊) ∈ ℤ) → (1 <
(#‘𝑊) ↔ (1 + 1)
≤ (#‘𝑊))) |
6 | 3, 4, 5 | sylancr 694 |
. . . . . . . 8
⊢
((#‘𝑊) ∈
ℕ0 → (1 < (#‘𝑊) ↔ (1 + 1) ≤ (#‘𝑊))) |
7 | | 1p1e2 11011 |
. . . . . . . . . . 11
⊢ (1 + 1) =
2 |
8 | 7 | a1i 11 |
. . . . . . . . . 10
⊢
((#‘𝑊) ∈
ℕ0 → (1 + 1) = 2) |
9 | 8 | breq1d 4593 |
. . . . . . . . 9
⊢
((#‘𝑊) ∈
ℕ0 → ((1 + 1) ≤ (#‘𝑊) ↔ 2 ≤ (#‘𝑊))) |
10 | 9 | biimpd 218 |
. . . . . . . 8
⊢
((#‘𝑊) ∈
ℕ0 → ((1 + 1) ≤ (#‘𝑊) → 2 ≤ (#‘𝑊))) |
11 | 6, 10 | sylbid 229 |
. . . . . . 7
⊢
((#‘𝑊) ∈
ℕ0 → (1 < (#‘𝑊) → 2 ≤ (#‘𝑊))) |
12 | 11 | imp 444 |
. . . . . 6
⊢
(((#‘𝑊) ∈
ℕ0 ∧ 1 < (#‘𝑊)) → 2 ≤ (#‘𝑊)) |
13 | | 2nn0 11186 |
. . . . . . . . 9
⊢ 2 ∈
ℕ0 |
14 | 13 | jctl 562 |
. . . . . . . 8
⊢
((#‘𝑊) ∈
ℕ0 → (2 ∈ ℕ0 ∧ (#‘𝑊) ∈
ℕ0)) |
15 | 14 | adantr 480 |
. . . . . . 7
⊢
(((#‘𝑊) ∈
ℕ0 ∧ 1 < (#‘𝑊)) → (2 ∈ ℕ0
∧ (#‘𝑊) ∈
ℕ0)) |
16 | | nn0sub 11220 |
. . . . . . 7
⊢ ((2
∈ ℕ0 ∧ (#‘𝑊) ∈ ℕ0) → (2 ≤
(#‘𝑊) ↔
((#‘𝑊) − 2)
∈ ℕ0)) |
17 | 15, 16 | syl 17 |
. . . . . 6
⊢
(((#‘𝑊) ∈
ℕ0 ∧ 1 < (#‘𝑊)) → (2 ≤ (#‘𝑊) ↔ ((#‘𝑊) − 2) ∈
ℕ0)) |
18 | 12, 17 | mpbid 221 |
. . . . 5
⊢
(((#‘𝑊) ∈
ℕ0 ∧ 1 < (#‘𝑊)) → ((#‘𝑊) − 2) ∈
ℕ0) |
19 | 2, 18 | sylan 487 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 1 < (#‘𝑊)) → ((#‘𝑊) − 2) ∈
ℕ0) |
20 | | 0red 9920 |
. . . . . . . . . . . 12
⊢
((#‘𝑊) ∈
ℤ → 0 ∈ ℝ) |
21 | | 1red 9934 |
. . . . . . . . . . . 12
⊢
((#‘𝑊) ∈
ℤ → 1 ∈ ℝ) |
22 | | zre 11258 |
. . . . . . . . . . . 12
⊢
((#‘𝑊) ∈
ℤ → (#‘𝑊)
∈ ℝ) |
23 | 20, 21, 22 | 3jca 1235 |
. . . . . . . . . . 11
⊢
((#‘𝑊) ∈
ℤ → (0 ∈ ℝ ∧ 1 ∈ ℝ ∧ (#‘𝑊) ∈
ℝ)) |
24 | | 0lt1 10429 |
. . . . . . . . . . 11
⊢ 0 <
1 |
25 | | lttr 9993 |
. . . . . . . . . . . 12
⊢ ((0
∈ ℝ ∧ 1 ∈ ℝ ∧ (#‘𝑊) ∈ ℝ) → ((0 < 1 ∧ 1
< (#‘𝑊)) → 0
< (#‘𝑊))) |
26 | 25 | expd 451 |
. . . . . . . . . . 11
⊢ ((0
∈ ℝ ∧ 1 ∈ ℝ ∧ (#‘𝑊) ∈ ℝ) → (0 < 1 → (1
< (#‘𝑊) → 0
< (#‘𝑊)))) |
27 | 23, 24, 26 | mpisyl 21 |
. . . . . . . . . 10
⊢
((#‘𝑊) ∈
ℤ → (1 < (#‘𝑊) → 0 < (#‘𝑊))) |
28 | | elnnz 11264 |
. . . . . . . . . . 11
⊢
((#‘𝑊) ∈
ℕ ↔ ((#‘𝑊)
∈ ℤ ∧ 0 < (#‘𝑊))) |
29 | 28 | simplbi2 653 |
. . . . . . . . . 10
⊢
((#‘𝑊) ∈
ℤ → (0 < (#‘𝑊) → (#‘𝑊) ∈ ℕ)) |
30 | 27, 29 | syld 46 |
. . . . . . . . 9
⊢
((#‘𝑊) ∈
ℤ → (1 < (#‘𝑊) → (#‘𝑊) ∈ ℕ)) |
31 | 4, 30 | syl 17 |
. . . . . . . 8
⊢
((#‘𝑊) ∈
ℕ0 → (1 < (#‘𝑊) → (#‘𝑊) ∈ ℕ)) |
32 | 31 | imp 444 |
. . . . . . 7
⊢
(((#‘𝑊) ∈
ℕ0 ∧ 1 < (#‘𝑊)) → (#‘𝑊) ∈ ℕ) |
33 | | fzo0end 12426 |
. . . . . . 7
⊢
((#‘𝑊) ∈
ℕ → ((#‘𝑊)
− 1) ∈ (0..^(#‘𝑊))) |
34 | 32, 33 | syl 17 |
. . . . . 6
⊢
(((#‘𝑊) ∈
ℕ0 ∧ 1 < (#‘𝑊)) → ((#‘𝑊) − 1) ∈ (0..^(#‘𝑊))) |
35 | | nn0cn 11179 |
. . . . . . . . . . 11
⊢
((#‘𝑊) ∈
ℕ0 → (#‘𝑊) ∈ ℂ) |
36 | | 2cn 10968 |
. . . . . . . . . . . 12
⊢ 2 ∈
ℂ |
37 | 36 | a1i 11 |
. . . . . . . . . . 11
⊢
((#‘𝑊) ∈
ℕ0 → 2 ∈ ℂ) |
38 | | 1cnd 9935 |
. . . . . . . . . . 11
⊢
((#‘𝑊) ∈
ℕ0 → 1 ∈ ℂ) |
39 | 35, 37, 38 | 3jca 1235 |
. . . . . . . . . 10
⊢
((#‘𝑊) ∈
ℕ0 → ((#‘𝑊) ∈ ℂ ∧ 2 ∈ ℂ
∧ 1 ∈ ℂ)) |
40 | | 1e2m1 11013 |
. . . . . . . . . . . . 13
⊢ 1 = (2
− 1) |
41 | 40 | a1i 11 |
. . . . . . . . . . . 12
⊢
(((#‘𝑊) ∈
ℂ ∧ 2 ∈ ℂ ∧ 1 ∈ ℂ) → 1 = (2 −
1)) |
42 | 41 | oveq2d 6565 |
. . . . . . . . . . 11
⊢
(((#‘𝑊) ∈
ℂ ∧ 2 ∈ ℂ ∧ 1 ∈ ℂ) → ((#‘𝑊) − 1) = ((#‘𝑊) − (2 −
1))) |
43 | | subsub 10190 |
. . . . . . . . . . 11
⊢
(((#‘𝑊) ∈
ℂ ∧ 2 ∈ ℂ ∧ 1 ∈ ℂ) → ((#‘𝑊) − (2 − 1)) =
(((#‘𝑊) − 2) +
1)) |
44 | 42, 43 | eqtrd 2644 |
. . . . . . . . . 10
⊢
(((#‘𝑊) ∈
ℂ ∧ 2 ∈ ℂ ∧ 1 ∈ ℂ) → ((#‘𝑊) − 1) = (((#‘𝑊) − 2) +
1)) |
45 | 39, 44 | syl 17 |
. . . . . . . . 9
⊢
((#‘𝑊) ∈
ℕ0 → ((#‘𝑊) − 1) = (((#‘𝑊) − 2) + 1)) |
46 | 45 | eqcomd 2616 |
. . . . . . . 8
⊢
((#‘𝑊) ∈
ℕ0 → (((#‘𝑊) − 2) + 1) = ((#‘𝑊) − 1)) |
47 | 46 | eleq1d 2672 |
. . . . . . 7
⊢
((#‘𝑊) ∈
ℕ0 → ((((#‘𝑊) − 2) + 1) ∈ (0..^(#‘𝑊)) ↔ ((#‘𝑊) − 1) ∈
(0..^(#‘𝑊)))) |
48 | 47 | adantr 480 |
. . . . . 6
⊢
(((#‘𝑊) ∈
ℕ0 ∧ 1 < (#‘𝑊)) → ((((#‘𝑊) − 2) + 1) ∈ (0..^(#‘𝑊)) ↔ ((#‘𝑊) − 1) ∈
(0..^(#‘𝑊)))) |
49 | 34, 48 | mpbird 246 |
. . . . 5
⊢
(((#‘𝑊) ∈
ℕ0 ∧ 1 < (#‘𝑊)) → (((#‘𝑊) − 2) + 1) ∈ (0..^(#‘𝑊))) |
50 | 2, 49 | sylan 487 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 1 < (#‘𝑊)) → (((#‘𝑊) − 2) + 1) ∈ (0..^(#‘𝑊))) |
51 | 1, 19, 50 | 3jca 1235 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 1 < (#‘𝑊)) → (𝑊 ∈ Word 𝑉 ∧ ((#‘𝑊) − 2) ∈ ℕ0
∧ (((#‘𝑊) −
2) + 1) ∈ (0..^(#‘𝑊)))) |
52 | | swrds2 13533 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ ((#‘𝑊) − 2) ∈ ℕ0
∧ (((#‘𝑊) −
2) + 1) ∈ (0..^(#‘𝑊))) → (𝑊 substr 〈((#‘𝑊) − 2), (((#‘𝑊) − 2) + 2)〉) =
〈“(𝑊‘((#‘𝑊) − 2))(𝑊‘(((#‘𝑊) − 2) +
1))”〉) |
53 | 51, 52 | syl 17 |
. 2
⊢ ((𝑊 ∈ Word 𝑉 ∧ 1 < (#‘𝑊)) → (𝑊 substr 〈((#‘𝑊) − 2), (((#‘𝑊) − 2) + 2)〉) =
〈“(𝑊‘((#‘𝑊) − 2))(𝑊‘(((#‘𝑊) − 2) +
1))”〉) |
54 | 35, 36 | jctir 559 |
. . . . . 6
⊢
((#‘𝑊) ∈
ℕ0 → ((#‘𝑊) ∈ ℂ ∧ 2 ∈
ℂ)) |
55 | | npcan 10169 |
. . . . . . 7
⊢
(((#‘𝑊) ∈
ℂ ∧ 2 ∈ ℂ) → (((#‘𝑊) − 2) + 2) = (#‘𝑊)) |
56 | 55 | eqcomd 2616 |
. . . . . 6
⊢
(((#‘𝑊) ∈
ℂ ∧ 2 ∈ ℂ) → (#‘𝑊) = (((#‘𝑊) − 2) + 2)) |
57 | 2, 54, 56 | 3syl 18 |
. . . . 5
⊢ (𝑊 ∈ Word 𝑉 → (#‘𝑊) = (((#‘𝑊) − 2) + 2)) |
58 | 57 | adantr 480 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 1 < (#‘𝑊)) → (#‘𝑊) = (((#‘𝑊) − 2) + 2)) |
59 | 58 | opeq2d 4347 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 1 < (#‘𝑊)) → 〈((#‘𝑊) − 2), (#‘𝑊)〉 = 〈((#‘𝑊) − 2), (((#‘𝑊) − 2) + 2)〉) |
60 | 59 | oveq2d 6565 |
. 2
⊢ ((𝑊 ∈ Word 𝑉 ∧ 1 < (#‘𝑊)) → (𝑊 substr 〈((#‘𝑊) − 2), (#‘𝑊)〉) = (𝑊 substr 〈((#‘𝑊) − 2), (((#‘𝑊) − 2) + 2)〉)) |
61 | | eqidd 2611 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 1 < (#‘𝑊)) → (𝑊‘((#‘𝑊) − 2)) = (𝑊‘((#‘𝑊) − 2))) |
62 | | lsw 13204 |
. . . . 5
⊢ (𝑊 ∈ Word 𝑉 → ( lastS ‘𝑊) = (𝑊‘((#‘𝑊) − 1))) |
63 | 39, 43 | syl 17 |
. . . . . . . . . 10
⊢
((#‘𝑊) ∈
ℕ0 → ((#‘𝑊) − (2 − 1)) = (((#‘𝑊) − 2) +
1)) |
64 | 63 | eqcomd 2616 |
. . . . . . . . 9
⊢
((#‘𝑊) ∈
ℕ0 → (((#‘𝑊) − 2) + 1) = ((#‘𝑊) − (2 −
1))) |
65 | | 2m1e1 11012 |
. . . . . . . . . . 11
⊢ (2
− 1) = 1 |
66 | 65 | a1i 11 |
. . . . . . . . . 10
⊢
((#‘𝑊) ∈
ℕ0 → (2 − 1) = 1) |
67 | 66 | oveq2d 6565 |
. . . . . . . . 9
⊢
((#‘𝑊) ∈
ℕ0 → ((#‘𝑊) − (2 − 1)) = ((#‘𝑊) − 1)) |
68 | 64, 67 | eqtrd 2644 |
. . . . . . . 8
⊢
((#‘𝑊) ∈
ℕ0 → (((#‘𝑊) − 2) + 1) = ((#‘𝑊) − 1)) |
69 | 2, 68 | syl 17 |
. . . . . . 7
⊢ (𝑊 ∈ Word 𝑉 → (((#‘𝑊) − 2) + 1) = ((#‘𝑊) − 1)) |
70 | 69 | eqcomd 2616 |
. . . . . 6
⊢ (𝑊 ∈ Word 𝑉 → ((#‘𝑊) − 1) = (((#‘𝑊) − 2) + 1)) |
71 | 70 | fveq2d 6107 |
. . . . 5
⊢ (𝑊 ∈ Word 𝑉 → (𝑊‘((#‘𝑊) − 1)) = (𝑊‘(((#‘𝑊) − 2) + 1))) |
72 | 62, 71 | eqtrd 2644 |
. . . 4
⊢ (𝑊 ∈ Word 𝑉 → ( lastS ‘𝑊) = (𝑊‘(((#‘𝑊) − 2) + 1))) |
73 | 72 | adantr 480 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 1 < (#‘𝑊)) → ( lastS ‘𝑊) = (𝑊‘(((#‘𝑊) − 2) + 1))) |
74 | 61, 73 | s2eqd 13459 |
. 2
⊢ ((𝑊 ∈ Word 𝑉 ∧ 1 < (#‘𝑊)) → 〈“(𝑊‘((#‘𝑊) − 2))( lastS ‘𝑊)”〉 =
〈“(𝑊‘((#‘𝑊) − 2))(𝑊‘(((#‘𝑊) − 2) +
1))”〉) |
75 | 53, 60, 74 | 3eqtr4d 2654 |
1
⊢ ((𝑊 ∈ Word 𝑉 ∧ 1 < (#‘𝑊)) → (𝑊 substr 〈((#‘𝑊) − 2), (#‘𝑊)〉) = 〈“(𝑊‘((#‘𝑊) − 2))( lastS ‘𝑊)”〉) |