Proof of Theorem lswccatn0lsw
| Step | Hyp | Ref
| Expression |
| 1 | | ccatlen 11026 |
. . . . . . 7
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (♯‘(𝐴 ++ 𝐵)) = ((♯‘𝐴) + (♯‘𝐵))) |
| 2 | 1 | oveq1d 5949 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → ((♯‘(𝐴 ++ 𝐵)) − 1) = (((♯‘𝐴) + (♯‘𝐵)) − 1)) |
| 3 | 2 | 3adant3 1019 |
. . . . 5
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅) → ((♯‘(𝐴 ++ 𝐵)) − 1) = (((♯‘𝐴) + (♯‘𝐵)) − 1)) |
| 4 | | lencl 10973 |
. . . . . . . . . 10
⊢ (𝐴 ∈ Word 𝑉 → (♯‘𝐴) ∈
ℕ0) |
| 5 | 4 | nn0zd 9475 |
. . . . . . . . 9
⊢ (𝐴 ∈ Word 𝑉 → (♯‘𝐴) ∈ ℤ) |
| 6 | | lennncl 10989 |
. . . . . . . . 9
⊢ ((𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅) → (♯‘𝐵) ∈
ℕ) |
| 7 | | simpl 109 |
. . . . . . . . . 10
⊢
(((♯‘𝐴)
∈ ℤ ∧ (♯‘𝐵) ∈ ℕ) →
(♯‘𝐴) ∈
ℤ) |
| 8 | | zaddcllempos 9391 |
. . . . . . . . . 10
⊢
(((♯‘𝐴)
∈ ℤ ∧ (♯‘𝐵) ∈ ℕ) →
((♯‘𝐴) +
(♯‘𝐵)) ∈
ℤ) |
| 9 | | zre 9358 |
. . . . . . . . . . 11
⊢
((♯‘𝐴)
∈ ℤ → (♯‘𝐴) ∈ ℝ) |
| 10 | | nnrp 9767 |
. . . . . . . . . . 11
⊢
((♯‘𝐵)
∈ ℕ → (♯‘𝐵) ∈
ℝ+) |
| 11 | | ltaddrp 9795 |
. . . . . . . . . . 11
⊢
(((♯‘𝐴)
∈ ℝ ∧ (♯‘𝐵) ∈ ℝ+) →
(♯‘𝐴) <
((♯‘𝐴) +
(♯‘𝐵))) |
| 12 | 9, 10, 11 | syl2an 289 |
. . . . . . . . . 10
⊢
(((♯‘𝐴)
∈ ℤ ∧ (♯‘𝐵) ∈ ℕ) →
(♯‘𝐴) <
((♯‘𝐴) +
(♯‘𝐵))) |
| 13 | 7, 8, 12 | 3jca 1179 |
. . . . . . . . 9
⊢
(((♯‘𝐴)
∈ ℤ ∧ (♯‘𝐵) ∈ ℕ) →
((♯‘𝐴) ∈
ℤ ∧ ((♯‘𝐴) + (♯‘𝐵)) ∈ ℤ ∧ (♯‘𝐴) < ((♯‘𝐴) + (♯‘𝐵)))) |
| 14 | 5, 6, 13 | syl2an 289 |
. . . . . . . 8
⊢ ((𝐴 ∈ Word 𝑉 ∧ (𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅)) → ((♯‘𝐴) ∈ ℤ ∧
((♯‘𝐴) +
(♯‘𝐵)) ∈
ℤ ∧ (♯‘𝐴) < ((♯‘𝐴) + (♯‘𝐵)))) |
| 15 | 14 | 3impb 1201 |
. . . . . . 7
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅) → ((♯‘𝐴) ∈ ℤ ∧
((♯‘𝐴) +
(♯‘𝐵)) ∈
ℤ ∧ (♯‘𝐴) < ((♯‘𝐴) + (♯‘𝐵)))) |
| 16 | | fzolb 10258 |
. . . . . . 7
⊢
((♯‘𝐴)
∈ ((♯‘𝐴)..^((♯‘𝐴) + (♯‘𝐵))) ↔ ((♯‘𝐴) ∈ ℤ ∧ ((♯‘𝐴) + (♯‘𝐵)) ∈ ℤ ∧
(♯‘𝐴) <
((♯‘𝐴) +
(♯‘𝐵)))) |
| 17 | 15, 16 | sylibr 134 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅) → (♯‘𝐴) ∈ ((♯‘𝐴)..^((♯‘𝐴) + (♯‘𝐵)))) |
| 18 | | fzoend 10332 |
. . . . . 6
⊢
((♯‘𝐴)
∈ ((♯‘𝐴)..^((♯‘𝐴) + (♯‘𝐵))) → (((♯‘𝐴) + (♯‘𝐵)) − 1) ∈
((♯‘𝐴)..^((♯‘𝐴) + (♯‘𝐵)))) |
| 19 | 17, 18 | syl 14 |
. . . . 5
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅) → (((♯‘𝐴) + (♯‘𝐵)) − 1) ∈
((♯‘𝐴)..^((♯‘𝐴) + (♯‘𝐵)))) |
| 20 | 3, 19 | eqeltrd 2281 |
. . . 4
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅) → ((♯‘(𝐴 ++ 𝐵)) − 1) ∈ ((♯‘𝐴)..^((♯‘𝐴) + (♯‘𝐵)))) |
| 21 | | ccatval2 11029 |
. . . 4
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ ((♯‘(𝐴 ++ 𝐵)) − 1) ∈ ((♯‘𝐴)..^((♯‘𝐴) + (♯‘𝐵)))) → ((𝐴 ++ 𝐵)‘((♯‘(𝐴 ++ 𝐵)) − 1)) = (𝐵‘(((♯‘(𝐴 ++ 𝐵)) − 1) − (♯‘𝐴)))) |
| 22 | 20, 21 | syld3an3 1294 |
. . 3
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅) → ((𝐴 ++ 𝐵)‘((♯‘(𝐴 ++ 𝐵)) − 1)) = (𝐵‘(((♯‘(𝐴 ++ 𝐵)) − 1) − (♯‘𝐴)))) |
| 23 | 2 | oveq1d 5949 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (((♯‘(𝐴 ++ 𝐵)) − 1) − (♯‘𝐴)) = ((((♯‘𝐴) + (♯‘𝐵)) − 1) −
(♯‘𝐴))) |
| 24 | 4 | nn0cnd 9332 |
. . . . . . 7
⊢ (𝐴 ∈ Word 𝑉 → (♯‘𝐴) ∈ ℂ) |
| 25 | | lencl 10973 |
. . . . . . . 8
⊢ (𝐵 ∈ Word 𝑉 → (♯‘𝐵) ∈
ℕ0) |
| 26 | 25 | nn0cnd 9332 |
. . . . . . 7
⊢ (𝐵 ∈ Word 𝑉 → (♯‘𝐵) ∈ ℂ) |
| 27 | | addcl 8032 |
. . . . . . . . 9
⊢
(((♯‘𝐴)
∈ ℂ ∧ (♯‘𝐵) ∈ ℂ) →
((♯‘𝐴) +
(♯‘𝐵)) ∈
ℂ) |
| 28 | | 1cnd 8070 |
. . . . . . . . 9
⊢
(((♯‘𝐴)
∈ ℂ ∧ (♯‘𝐵) ∈ ℂ) → 1 ∈
ℂ) |
| 29 | | simpl 109 |
. . . . . . . . 9
⊢
(((♯‘𝐴)
∈ ℂ ∧ (♯‘𝐵) ∈ ℂ) →
(♯‘𝐴) ∈
ℂ) |
| 30 | 27, 28, 29 | sub32d 8397 |
. . . . . . . 8
⊢
(((♯‘𝐴)
∈ ℂ ∧ (♯‘𝐵) ∈ ℂ) →
((((♯‘𝐴) +
(♯‘𝐵)) −
1) − (♯‘𝐴)) = ((((♯‘𝐴) + (♯‘𝐵)) − (♯‘𝐴)) − 1)) |
| 31 | | pncan2 8261 |
. . . . . . . . 9
⊢
(((♯‘𝐴)
∈ ℂ ∧ (♯‘𝐵) ∈ ℂ) →
(((♯‘𝐴) +
(♯‘𝐵)) −
(♯‘𝐴)) =
(♯‘𝐵)) |
| 32 | 31 | oveq1d 5949 |
. . . . . . . 8
⊢
(((♯‘𝐴)
∈ ℂ ∧ (♯‘𝐵) ∈ ℂ) →
((((♯‘𝐴) +
(♯‘𝐵)) −
(♯‘𝐴)) −
1) = ((♯‘𝐵)
− 1)) |
| 33 | 30, 32 | eqtrd 2237 |
. . . . . . 7
⊢
(((♯‘𝐴)
∈ ℂ ∧ (♯‘𝐵) ∈ ℂ) →
((((♯‘𝐴) +
(♯‘𝐵)) −
1) − (♯‘𝐴)) = ((♯‘𝐵) − 1)) |
| 34 | 24, 26, 33 | syl2an 289 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → ((((♯‘𝐴) + (♯‘𝐵)) − 1) − (♯‘𝐴)) = ((♯‘𝐵) − 1)) |
| 35 | 23, 34 | eqtrd 2237 |
. . . . 5
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (((♯‘(𝐴 ++ 𝐵)) − 1) − (♯‘𝐴)) = ((♯‘𝐵) − 1)) |
| 36 | 35 | 3adant3 1019 |
. . . 4
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅) →
(((♯‘(𝐴 ++
𝐵)) − 1) −
(♯‘𝐴)) =
((♯‘𝐵) −
1)) |
| 37 | 36 | fveq2d 5574 |
. . 3
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅) → (𝐵‘(((♯‘(𝐴 ++ 𝐵)) − 1) − (♯‘𝐴))) = (𝐵‘((♯‘𝐵) − 1))) |
| 38 | 22, 37 | eqtrd 2237 |
. 2
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅) → ((𝐴 ++ 𝐵)‘((♯‘(𝐴 ++ 𝐵)) − 1)) = (𝐵‘((♯‘𝐵) − 1))) |
| 39 | | ccatcl 11024 |
. . . 4
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝐴 ++ 𝐵) ∈ Word 𝑉) |
| 40 | 39 | 3adant3 1019 |
. . 3
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅) → (𝐴 ++ 𝐵) ∈ Word 𝑉) |
| 41 | | lswwrd 11015 |
. . 3
⊢ ((𝐴 ++ 𝐵) ∈ Word 𝑉 → (lastS‘(𝐴 ++ 𝐵)) = ((𝐴 ++ 𝐵)‘((♯‘(𝐴 ++ 𝐵)) − 1))) |
| 42 | 40, 41 | syl 14 |
. 2
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅) → (lastS‘(𝐴 ++ 𝐵)) = ((𝐴 ++ 𝐵)‘((♯‘(𝐴 ++ 𝐵)) − 1))) |
| 43 | | lswwrd 11015 |
. . 3
⊢ (𝐵 ∈ Word 𝑉 → (lastS‘𝐵) = (𝐵‘((♯‘𝐵) − 1))) |
| 44 | 43 | 3ad2ant2 1021 |
. 2
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅) → (lastS‘𝐵) = (𝐵‘((♯‘𝐵) − 1))) |
| 45 | 38, 42, 44 | 3eqtr4d 2247 |
1
⊢ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝐵 ≠ ∅) → (lastS‘(𝐴 ++ 𝐵)) = (lastS‘𝐵)) |