| Step | Hyp | Ref
| Expression |
| 1 | | ccatws1cl 11104 |
. . . . 5
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝐴 ++ 〈“𝐵”〉) ∈ Word 𝑋) |
| 2 | | wrdf 11017 |
. . . . 5
⊢ ((𝐴 ++ 〈“𝐵”〉) ∈ Word 𝑋 → (𝐴 ++ 〈“𝐵”〉):(0..^(♯‘(𝐴 ++ 〈“𝐵”〉)))⟶𝑋) |
| 3 | 1, 2 | syl 14 |
. . . 4
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝐴 ++ 〈“𝐵”〉):(0..^(♯‘(𝐴 ++ 〈“𝐵”〉)))⟶𝑋) |
| 4 | | ccatws1leng 11106 |
. . . . . . 7
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (♯‘(𝐴 ++ 〈“𝐵”〉)) = ((♯‘𝐴) + 1)) |
| 5 | 4 | oveq2d 5972 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (0..^(♯‘(𝐴 ++ 〈“𝐵”〉))) =
(0..^((♯‘𝐴) +
1))) |
| 6 | | lencl 11015 |
. . . . . . . . 9
⊢ (𝐴 ∈ Word 𝑋 → (♯‘𝐴) ∈
ℕ0) |
| 7 | | nn0uz 9698 |
. . . . . . . . 9
⊢
ℕ0 = (ℤ≥‘0) |
| 8 | 6, 7 | eleqtrdi 2299 |
. . . . . . . 8
⊢ (𝐴 ∈ Word 𝑋 → (♯‘𝐴) ∈
(ℤ≥‘0)) |
| 9 | | fzosplitsn 10379 |
. . . . . . . 8
⊢
((♯‘𝐴)
∈ (ℤ≥‘0) → (0..^((♯‘𝐴) + 1)) =
((0..^(♯‘𝐴))
∪ {(♯‘𝐴)})) |
| 10 | 8, 9 | syl 14 |
. . . . . . 7
⊢ (𝐴 ∈ Word 𝑋 → (0..^((♯‘𝐴) + 1)) =
((0..^(♯‘𝐴))
∪ {(♯‘𝐴)})) |
| 11 | 10 | adantr 276 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (0..^((♯‘𝐴) + 1)) =
((0..^(♯‘𝐴))
∪ {(♯‘𝐴)})) |
| 12 | 5, 11 | eqtrd 2239 |
. . . . 5
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (0..^(♯‘(𝐴 ++ 〈“𝐵”〉))) =
((0..^(♯‘𝐴))
∪ {(♯‘𝐴)})) |
| 13 | 12 | feq2d 5422 |
. . . 4
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((𝐴 ++ 〈“𝐵”〉):(0..^(♯‘(𝐴 ++ 〈“𝐵”〉)))⟶𝑋 ↔ (𝐴 ++ 〈“𝐵”〉):((0..^(♯‘𝐴)) ∪ {(♯‘𝐴)})⟶𝑋)) |
| 14 | 3, 13 | mpbid 147 |
. . 3
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝐴 ++ 〈“𝐵”〉):((0..^(♯‘𝐴)) ∪ {(♯‘𝐴)})⟶𝑋) |
| 15 | 14 | ffnd 5435 |
. 2
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝐴 ++ 〈“𝐵”〉) Fn ((0..^(♯‘𝐴)) ∪ {(♯‘𝐴)})) |
| 16 | | wrdf 11017 |
. . . . 5
⊢ (𝐴 ∈ Word 𝑋 → 𝐴:(0..^(♯‘𝐴))⟶𝑋) |
| 17 | 16 | adantr 276 |
. . . 4
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → 𝐴:(0..^(♯‘𝐴))⟶𝑋) |
| 18 | | eqid 2206 |
. . . . . 6
⊢
{〈(♯‘𝐴), 𝐵〉} = {〈(♯‘𝐴), 𝐵〉} |
| 19 | | fsng 5765 |
. . . . . 6
⊢
(((♯‘𝐴)
∈ ℕ0 ∧ 𝐵 ∈ 𝑋) → ({〈(♯‘𝐴), 𝐵〉}:{(♯‘𝐴)}⟶{𝐵} ↔ {〈(♯‘𝐴), 𝐵〉} = {〈(♯‘𝐴), 𝐵〉})) |
| 20 | 18, 19 | mpbiri 168 |
. . . . 5
⊢
(((♯‘𝐴)
∈ ℕ0 ∧ 𝐵 ∈ 𝑋) → {〈(♯‘𝐴), 𝐵〉}:{(♯‘𝐴)}⟶{𝐵}) |
| 21 | 6, 20 | sylan 283 |
. . . 4
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → {〈(♯‘𝐴), 𝐵〉}:{(♯‘𝐴)}⟶{𝐵}) |
| 22 | | fzodisjsn 10321 |
. . . . 5
⊢
((0..^(♯‘𝐴)) ∩ {(♯‘𝐴)}) = ∅ |
| 23 | 22 | a1i 9 |
. . . 4
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((0..^(♯‘𝐴)) ∩ {(♯‘𝐴)}) = ∅) |
| 24 | | fun 5458 |
. . . 4
⊢ (((𝐴:(0..^(♯‘𝐴))⟶𝑋 ∧ {〈(♯‘𝐴), 𝐵〉}:{(♯‘𝐴)}⟶{𝐵}) ∧ ((0..^(♯‘𝐴)) ∩ {(♯‘𝐴)}) = ∅) → (𝐴 ∪
{〈(♯‘𝐴),
𝐵〉}):((0..^(♯‘𝐴)) ∪ {(♯‘𝐴)})⟶(𝑋 ∪ {𝐵})) |
| 25 | 17, 21, 23, 24 | syl21anc 1249 |
. . 3
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝐴 ∪ {〈(♯‘𝐴), 𝐵〉}):((0..^(♯‘𝐴)) ∪ {(♯‘𝐴)})⟶(𝑋 ∪ {𝐵})) |
| 26 | 25 | ffnd 5435 |
. 2
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝐴 ∪ {〈(♯‘𝐴), 𝐵〉}) Fn ((0..^(♯‘𝐴)) ∪ {(♯‘𝐴)})) |
| 27 | | elun 3318 |
. . 3
⊢ (𝑥 ∈
((0..^(♯‘𝐴))
∪ {(♯‘𝐴)})
↔ (𝑥 ∈
(0..^(♯‘𝐴))
∨ 𝑥 ∈
{(♯‘𝐴)})) |
| 28 | | ccats1val1g 11109 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝑥 ∈ (0..^(♯‘𝐴))) → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = (𝐴‘𝑥)) |
| 29 | 28 | 3expa 1206 |
. . . . 5
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ (0..^(♯‘𝐴))) → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = (𝐴‘𝑥)) |
| 30 | | vex 2776 |
. . . . . 6
⊢ 𝑥 ∈ V |
| 31 | | simpr 110 |
. . . . . . . 8
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ (0..^(♯‘𝐴))) → 𝑥 ∈ (0..^(♯‘𝐴))) |
| 32 | | fzonel 10298 |
. . . . . . . 8
⊢ ¬
(♯‘𝐴) ∈
(0..^(♯‘𝐴)) |
| 33 | | nelne2 2468 |
. . . . . . . 8
⊢ ((𝑥 ∈
(0..^(♯‘𝐴))
∧ ¬ (♯‘𝐴) ∈ (0..^(♯‘𝐴))) → 𝑥 ≠ (♯‘𝐴)) |
| 34 | 31, 32, 33 | sylancl 413 |
. . . . . . 7
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ (0..^(♯‘𝐴))) → 𝑥 ≠ (♯‘𝐴)) |
| 35 | 34 | necomd 2463 |
. . . . . 6
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ (0..^(♯‘𝐴))) → (♯‘𝐴) ≠ 𝑥) |
| 36 | | fvunsng 5790 |
. . . . . 6
⊢ ((𝑥 ∈ V ∧
(♯‘𝐴) ≠
𝑥) → ((𝐴 ∪
{〈(♯‘𝐴),
𝐵〉})‘𝑥) = (𝐴‘𝑥)) |
| 37 | 30, 35, 36 | sylancr 414 |
. . . . 5
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ (0..^(♯‘𝐴))) → ((𝐴 ∪ {〈(♯‘𝐴), 𝐵〉})‘𝑥) = (𝐴‘𝑥)) |
| 38 | 29, 37 | eqtr4d 2242 |
. . . 4
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ (0..^(♯‘𝐴))) → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = ((𝐴 ∪ {〈(♯‘𝐴), 𝐵〉})‘𝑥)) |
| 39 | 6 | elexd 2787 |
. . . . . . . . 9
⊢ (𝐴 ∈ Word 𝑋 → (♯‘𝐴) ∈ V) |
| 40 | 39 | adantr 276 |
. . . . . . . 8
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (♯‘𝐴) ∈ V) |
| 41 | | simpr 110 |
. . . . . . . 8
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → 𝐵 ∈ 𝑋) |
| 42 | 17 | fdmd 5441 |
. . . . . . . . . 10
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → dom 𝐴 = (0..^(♯‘𝐴))) |
| 43 | 42 | eleq2d 2276 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((♯‘𝐴) ∈ dom 𝐴 ↔ (♯‘𝐴) ∈ (0..^(♯‘𝐴)))) |
| 44 | 32, 43 | mtbiri 677 |
. . . . . . . 8
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ¬ (♯‘𝐴) ∈ dom 𝐴) |
| 45 | | fsnunfv 5797 |
. . . . . . . 8
⊢
(((♯‘𝐴)
∈ V ∧ 𝐵 ∈
𝑋 ∧ ¬
(♯‘𝐴) ∈
dom 𝐴) → ((𝐴 ∪
{〈(♯‘𝐴),
𝐵〉})‘(♯‘𝐴)) = 𝐵) |
| 46 | 40, 41, 44, 45 | syl3anc 1250 |
. . . . . . 7
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((𝐴 ∪ {〈(♯‘𝐴), 𝐵〉})‘(♯‘𝐴)) = 𝐵) |
| 47 | | simpl 109 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → 𝐴 ∈ Word 𝑋) |
| 48 | | s1cl 11093 |
. . . . . . . . . 10
⊢ (𝐵 ∈ 𝑋 → 〈“𝐵”〉 ∈ Word 𝑋) |
| 49 | 48 | adantl 277 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → 〈“𝐵”〉 ∈ Word 𝑋) |
| 50 | | s1leng 11096 |
. . . . . . . . . . . 12
⊢ (𝐵 ∈ 𝑋 → (♯‘〈“𝐵”〉) =
1) |
| 51 | | 1nn 9062 |
. . . . . . . . . . . 12
⊢ 1 ∈
ℕ |
| 52 | 50, 51 | eqeltrdi 2297 |
. . . . . . . . . . 11
⊢ (𝐵 ∈ 𝑋 → (♯‘〈“𝐵”〉) ∈
ℕ) |
| 53 | | lbfzo0 10322 |
. . . . . . . . . . 11
⊢ (0 ∈
(0..^(♯‘〈“𝐵”〉)) ↔
(♯‘〈“𝐵”〉) ∈
ℕ) |
| 54 | 52, 53 | sylibr 134 |
. . . . . . . . . 10
⊢ (𝐵 ∈ 𝑋 → 0 ∈
(0..^(♯‘〈“𝐵”〉))) |
| 55 | 54 | adantl 277 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → 0 ∈
(0..^(♯‘〈“𝐵”〉))) |
| 56 | | ccatval3 11073 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑋 ∧ 〈“𝐵”〉 ∈ Word 𝑋 ∧ 0 ∈
(0..^(♯‘〈“𝐵”〉))) → ((𝐴 ++ 〈“𝐵”〉)‘(0 +
(♯‘𝐴))) =
(〈“𝐵”〉‘0)) |
| 57 | 47, 49, 55, 56 | syl3anc 1250 |
. . . . . . . 8
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((𝐴 ++ 〈“𝐵”〉)‘(0 +
(♯‘𝐴))) =
(〈“𝐵”〉‘0)) |
| 58 | | s1fv 11098 |
. . . . . . . . 9
⊢ (𝐵 ∈ 𝑋 → (〈“𝐵”〉‘0) = 𝐵) |
| 59 | 58 | adantl 277 |
. . . . . . . 8
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (〈“𝐵”〉‘0) = 𝐵) |
| 60 | 57, 59 | eqtrd 2239 |
. . . . . . 7
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((𝐴 ++ 〈“𝐵”〉)‘(0 +
(♯‘𝐴))) = 𝐵) |
| 61 | 6 | adantr 276 |
. . . . . . . . . 10
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (♯‘𝐴) ∈
ℕ0) |
| 62 | 61 | nn0cnd 9365 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (♯‘𝐴) ∈ ℂ) |
| 63 | 62 | addlidd 8237 |
. . . . . . . 8
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (0 + (♯‘𝐴)) = (♯‘𝐴)) |
| 64 | 63 | fveq2d 5592 |
. . . . . . 7
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((𝐴 ++ 〈“𝐵”〉)‘(0 +
(♯‘𝐴))) =
((𝐴 ++ 〈“𝐵”〉)‘(♯‘𝐴))) |
| 65 | 46, 60, 64 | 3eqtr2rd 2246 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((𝐴 ++ 〈“𝐵”〉)‘(♯‘𝐴)) = ((𝐴 ∪ {〈(♯‘𝐴), 𝐵〉})‘(♯‘𝐴))) |
| 66 | | elsni 3655 |
. . . . . . . 8
⊢ (𝑥 ∈ {(♯‘𝐴)} → 𝑥 = (♯‘𝐴)) |
| 67 | 66 | fveq2d 5592 |
. . . . . . 7
⊢ (𝑥 ∈ {(♯‘𝐴)} → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = ((𝐴 ++ 〈“𝐵”〉)‘(♯‘𝐴))) |
| 68 | 66 | fveq2d 5592 |
. . . . . . 7
⊢ (𝑥 ∈ {(♯‘𝐴)} → ((𝐴 ∪ {〈(♯‘𝐴), 𝐵〉})‘𝑥) = ((𝐴 ∪ {〈(♯‘𝐴), 𝐵〉})‘(♯‘𝐴))) |
| 69 | 67, 68 | eqeq12d 2221 |
. . . . . 6
⊢ (𝑥 ∈ {(♯‘𝐴)} → (((𝐴 ++ 〈“𝐵”〉)‘𝑥) = ((𝐴 ∪ {〈(♯‘𝐴), 𝐵〉})‘𝑥) ↔ ((𝐴 ++ 〈“𝐵”〉)‘(♯‘𝐴)) = ((𝐴 ∪ {〈(♯‘𝐴), 𝐵〉})‘(♯‘𝐴)))) |
| 70 | 65, 69 | syl5ibrcom 157 |
. . . . 5
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝑥 ∈ {(♯‘𝐴)} → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = ((𝐴 ∪ {〈(♯‘𝐴), 𝐵〉})‘𝑥))) |
| 71 | 70 | imp 124 |
. . . 4
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ {(♯‘𝐴)}) → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = ((𝐴 ∪ {〈(♯‘𝐴), 𝐵〉})‘𝑥)) |
| 72 | 38, 71 | jaodan 799 |
. . 3
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ (𝑥 ∈ (0..^(♯‘𝐴)) ∨ 𝑥 ∈ {(♯‘𝐴)})) → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = ((𝐴 ∪ {〈(♯‘𝐴), 𝐵〉})‘𝑥)) |
| 73 | 27, 72 | sylan2b 287 |
. 2
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ ((0..^(♯‘𝐴)) ∪ {(♯‘𝐴)})) → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = ((𝐴 ∪ {〈(♯‘𝐴), 𝐵〉})‘𝑥)) |
| 74 | 15, 26, 73 | eqfnfvd 5692 |
1
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝐴 ++ 〈“𝐵”〉) = (𝐴 ∪ {〈(♯‘𝐴), 𝐵〉})) |