Proof of Theorem ccats1swrdeqOLD
Step | Hyp | Ref
| Expression |
1 | | oveq1 6917 |
. . . 4
⊢ (𝑊 = (𝑈 substr 〈0, (♯‘𝑊)〉) → (𝑊 ++
〈“(lastS‘𝑈)”〉) = ((𝑈 substr 〈0, (♯‘𝑊)〉) ++
〈“(lastS‘𝑈)”〉)) |
2 | 1 | adantl 475 |
. . 3
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) ∧ 𝑊 = (𝑈 substr 〈0, (♯‘𝑊)〉)) → (𝑊 ++
〈“(lastS‘𝑈)”〉) = ((𝑈 substr 〈0, (♯‘𝑊)〉) ++
〈“(lastS‘𝑈)”〉)) |
3 | | oveq1 6917 |
. . . . . . . . . 10
⊢
((♯‘𝑈) =
((♯‘𝑊) + 1)
→ ((♯‘𝑈)
− 1) = (((♯‘𝑊) + 1) − 1)) |
4 | 3 | 3ad2ant3 1169 |
. . . . . . . . 9
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → ((♯‘𝑈) − 1) =
(((♯‘𝑊) + 1)
− 1)) |
5 | | lencl 13600 |
. . . . . . . . . . 11
⊢ (𝑊 ∈ Word 𝑉 → (♯‘𝑊) ∈
ℕ0) |
6 | | nn0cn 11636 |
. . . . . . . . . . 11
⊢
((♯‘𝑊)
∈ ℕ0 → (♯‘𝑊) ∈ ℂ) |
7 | | pncan1 10785 |
. . . . . . . . . . 11
⊢
((♯‘𝑊)
∈ ℂ → (((♯‘𝑊) + 1) − 1) = (♯‘𝑊)) |
8 | 5, 6, 7 | 3syl 18 |
. . . . . . . . . 10
⊢ (𝑊 ∈ Word 𝑉 → (((♯‘𝑊) + 1) − 1) = (♯‘𝑊)) |
9 | 8 | 3ad2ant1 1167 |
. . . . . . . . 9
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → (((♯‘𝑊) + 1) − 1) =
(♯‘𝑊)) |
10 | 4, 9 | eqtr2d 2862 |
. . . . . . . 8
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → (♯‘𝑊) = ((♯‘𝑈) − 1)) |
11 | 10 | opeq2d 4632 |
. . . . . . 7
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → 〈0, (♯‘𝑊)〉 = 〈0,
((♯‘𝑈) −
1)〉) |
12 | 11 | oveq2d 6926 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → (𝑈 substr 〈0, (♯‘𝑊)〉) = (𝑈 substr 〈0, ((♯‘𝑈) −
1)〉)) |
13 | 12 | oveq1d 6925 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → ((𝑈 substr 〈0, (♯‘𝑊)〉) ++
〈“(lastS‘𝑈)”〉) = ((𝑈 substr 〈0, ((♯‘𝑈) − 1)〉) ++
〈“(lastS‘𝑈)”〉)) |
14 | | simp2 1171 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → 𝑈 ∈ Word 𝑉) |
15 | | nn0p1gt0 11656 |
. . . . . . . . . 10
⊢
((♯‘𝑊)
∈ ℕ0 → 0 < ((♯‘𝑊) + 1)) |
16 | 5, 15 | syl 17 |
. . . . . . . . 9
⊢ (𝑊 ∈ Word 𝑉 → 0 < ((♯‘𝑊) + 1)) |
17 | 16 | 3ad2ant1 1167 |
. . . . . . . 8
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → 0 < ((♯‘𝑊) + 1)) |
18 | | breq2 4879 |
. . . . . . . . 9
⊢
((♯‘𝑈) =
((♯‘𝑊) + 1)
→ (0 < (♯‘𝑈) ↔ 0 < ((♯‘𝑊) + 1))) |
19 | 18 | 3ad2ant3 1169 |
. . . . . . . 8
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → (0 < (♯‘𝑈) ↔ 0 <
((♯‘𝑊) +
1))) |
20 | 17, 19 | mpbird 249 |
. . . . . . 7
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → 0 < (♯‘𝑈)) |
21 | | hashneq0 13452 |
. . . . . . . 8
⊢ (𝑈 ∈ Word 𝑉 → (0 < (♯‘𝑈) ↔ 𝑈 ≠ ∅)) |
22 | 21 | 3ad2ant2 1168 |
. . . . . . 7
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → (0 < (♯‘𝑈) ↔ 𝑈 ≠ ∅)) |
23 | 20, 22 | mpbid 224 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → 𝑈 ≠ ∅) |
24 | | swrdccatwrdOLD 13807 |
. . . . . 6
⊢ ((𝑈 ∈ Word 𝑉 ∧ 𝑈 ≠ ∅) → ((𝑈 substr 〈0, ((♯‘𝑈) − 1)〉) ++
〈“(lastS‘𝑈)”〉) = 𝑈) |
25 | 14, 23, 24 | syl2anc 579 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → ((𝑈 substr 〈0, ((♯‘𝑈) − 1)〉) ++
〈“(lastS‘𝑈)”〉) = 𝑈) |
26 | 13, 25 | eqtrd 2861 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → ((𝑈 substr 〈0, (♯‘𝑊)〉) ++
〈“(lastS‘𝑈)”〉) = 𝑈) |
27 | 26 | adantr 474 |
. . 3
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) ∧ 𝑊 = (𝑈 substr 〈0, (♯‘𝑊)〉)) → ((𝑈 substr 〈0,
(♯‘𝑊)〉) ++
〈“(lastS‘𝑈)”〉) = 𝑈) |
28 | 2, 27 | eqtr2d 2862 |
. 2
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) ∧ 𝑊 = (𝑈 substr 〈0, (♯‘𝑊)〉)) → 𝑈 = (𝑊 ++ 〈“(lastS‘𝑈)”〉)) |
29 | 28 | ex 403 |
1
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (♯‘𝑈) = ((♯‘𝑊) + 1)) → (𝑊 = (𝑈 substr 〈0, (♯‘𝑊)〉) → 𝑈 = (𝑊 ++ 〈“(lastS‘𝑈)”〉))) |