Step | Hyp | Ref
| Expression |
1 | | ccatws1cl 13396 |
. . . . 5
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝐴 ++ 〈“𝐵”〉) ∈ Word 𝑋) |
2 | | wrdf 13310 |
. . . . 5
⊢ ((𝐴 ++ 〈“𝐵”〉) ∈ Word 𝑋 → (𝐴 ++ 〈“𝐵”〉):(0..^(#‘(𝐴 ++ 〈“𝐵”〉)))⟶𝑋) |
3 | 1, 2 | syl 17 |
. . . 4
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝐴 ++ 〈“𝐵”〉):(0..^(#‘(𝐴 ++ 〈“𝐵”〉)))⟶𝑋) |
4 | | ccatws1len 13398 |
. . . . . . 7
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (#‘(𝐴 ++ 〈“𝐵”〉)) = ((#‘𝐴) + 1)) |
5 | 4 | oveq2d 6666 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (0..^(#‘(𝐴 ++ 〈“𝐵”〉))) = (0..^((#‘𝐴) + 1))) |
6 | | lencl 13324 |
. . . . . . . . 9
⊢ (𝐴 ∈ Word 𝑋 → (#‘𝐴) ∈
ℕ0) |
7 | 6 | adantr 481 |
. . . . . . . 8
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (#‘𝐴) ∈
ℕ0) |
8 | | nn0uz 11722 |
. . . . . . . 8
⊢
ℕ0 = (ℤ≥‘0) |
9 | 7, 8 | syl6eleq 2711 |
. . . . . . 7
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (#‘𝐴) ∈
(ℤ≥‘0)) |
10 | | fzosplitsn 12576 |
. . . . . . 7
⊢
((#‘𝐴) ∈
(ℤ≥‘0) → (0..^((#‘𝐴) + 1)) = ((0..^(#‘𝐴)) ∪ {(#‘𝐴)})) |
11 | 9, 10 | syl 17 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (0..^((#‘𝐴) + 1)) = ((0..^(#‘𝐴)) ∪ {(#‘𝐴)})) |
12 | 5, 11 | eqtrd 2656 |
. . . . 5
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (0..^(#‘(𝐴 ++ 〈“𝐵”〉))) = ((0..^(#‘𝐴)) ∪ {(#‘𝐴)})) |
13 | 12 | feq2d 6031 |
. . . 4
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((𝐴 ++ 〈“𝐵”〉):(0..^(#‘(𝐴 ++ 〈“𝐵”〉)))⟶𝑋 ↔ (𝐴 ++ 〈“𝐵”〉):((0..^(#‘𝐴)) ∪ {(#‘𝐴)})⟶𝑋)) |
14 | 3, 13 | mpbid 222 |
. . 3
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝐴 ++ 〈“𝐵”〉):((0..^(#‘𝐴)) ∪ {(#‘𝐴)})⟶𝑋) |
15 | | ffn 6045 |
. . 3
⊢ ((𝐴 ++ 〈“𝐵”〉):((0..^(#‘𝐴)) ∪ {(#‘𝐴)})⟶𝑋 → (𝐴 ++ 〈“𝐵”〉) Fn ((0..^(#‘𝐴)) ∪ {(#‘𝐴)})) |
16 | 14, 15 | syl 17 |
. 2
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝐴 ++ 〈“𝐵”〉) Fn ((0..^(#‘𝐴)) ∪ {(#‘𝐴)})) |
17 | | wrdf 13310 |
. . . . 5
⊢ (𝐴 ∈ Word 𝑋 → 𝐴:(0..^(#‘𝐴))⟶𝑋) |
18 | 17 | adantr 481 |
. . . 4
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → 𝐴:(0..^(#‘𝐴))⟶𝑋) |
19 | | eqid 2622 |
. . . . . 6
⊢
{〈(#‘𝐴),
𝐵〉} =
{〈(#‘𝐴), 𝐵〉} |
20 | | fsng 6404 |
. . . . . 6
⊢
(((#‘𝐴) ∈
ℕ0 ∧ 𝐵
∈ 𝑋) →
({〈(#‘𝐴), 𝐵〉}:{(#‘𝐴)}⟶{𝐵} ↔ {〈(#‘𝐴), 𝐵〉} = {〈(#‘𝐴), 𝐵〉})) |
21 | 19, 20 | mpbiri 248 |
. . . . 5
⊢
(((#‘𝐴) ∈
ℕ0 ∧ 𝐵
∈ 𝑋) →
{〈(#‘𝐴), 𝐵〉}:{(#‘𝐴)}⟶{𝐵}) |
22 | 6, 21 | sylan 488 |
. . . 4
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → {〈(#‘𝐴), 𝐵〉}:{(#‘𝐴)}⟶{𝐵}) |
23 | | fzonel 12483 |
. . . . . 6
⊢ ¬
(#‘𝐴) ∈
(0..^(#‘𝐴)) |
24 | 23 | a1i 11 |
. . . . 5
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ¬ (#‘𝐴) ∈ (0..^(#‘𝐴))) |
25 | | disjsn 4246 |
. . . . 5
⊢
(((0..^(#‘𝐴))
∩ {(#‘𝐴)}) =
∅ ↔ ¬ (#‘𝐴) ∈ (0..^(#‘𝐴))) |
26 | 24, 25 | sylibr 224 |
. . . 4
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((0..^(#‘𝐴)) ∩ {(#‘𝐴)}) = ∅) |
27 | | fun 6066 |
. . . 4
⊢ (((𝐴:(0..^(#‘𝐴))⟶𝑋 ∧ {〈(#‘𝐴), 𝐵〉}:{(#‘𝐴)}⟶{𝐵}) ∧ ((0..^(#‘𝐴)) ∩ {(#‘𝐴)}) = ∅) → (𝐴 ∪ {〈(#‘𝐴), 𝐵〉}):((0..^(#‘𝐴)) ∪ {(#‘𝐴)})⟶(𝑋 ∪ {𝐵})) |
28 | 18, 22, 26, 27 | syl21anc 1325 |
. . 3
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝐴 ∪ {〈(#‘𝐴), 𝐵〉}):((0..^(#‘𝐴)) ∪ {(#‘𝐴)})⟶(𝑋 ∪ {𝐵})) |
29 | | ffn 6045 |
. . 3
⊢ ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉}):((0..^(#‘𝐴)) ∪ {(#‘𝐴)})⟶(𝑋 ∪ {𝐵}) → (𝐴 ∪ {〈(#‘𝐴), 𝐵〉}) Fn ((0..^(#‘𝐴)) ∪ {(#‘𝐴)})) |
30 | 28, 29 | syl 17 |
. 2
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝐴 ∪ {〈(#‘𝐴), 𝐵〉}) Fn ((0..^(#‘𝐴)) ∪ {(#‘𝐴)})) |
31 | | elun 3753 |
. . 3
⊢ (𝑥 ∈ ((0..^(#‘𝐴)) ∪ {(#‘𝐴)}) ↔ (𝑥 ∈ (0..^(#‘𝐴)) ∨ 𝑥 ∈ {(#‘𝐴)})) |
32 | | ccats1val1 13403 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝑥 ∈ (0..^(#‘𝐴))) → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = (𝐴‘𝑥)) |
33 | 32 | 3expa 1265 |
. . . . 5
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ (0..^(#‘𝐴))) → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = (𝐴‘𝑥)) |
34 | | simpr 477 |
. . . . . . . 8
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ (0..^(#‘𝐴))) → 𝑥 ∈ (0..^(#‘𝐴))) |
35 | | nelne2 2891 |
. . . . . . . 8
⊢ ((𝑥 ∈ (0..^(#‘𝐴)) ∧ ¬ (#‘𝐴) ∈ (0..^(#‘𝐴))) → 𝑥 ≠ (#‘𝐴)) |
36 | 34, 23, 35 | sylancl 694 |
. . . . . . 7
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ (0..^(#‘𝐴))) → 𝑥 ≠ (#‘𝐴)) |
37 | 36 | necomd 2849 |
. . . . . 6
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ (0..^(#‘𝐴))) → (#‘𝐴) ≠ 𝑥) |
38 | | fvunsn 6445 |
. . . . . 6
⊢
((#‘𝐴) ≠
𝑥 → ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉})‘𝑥) = (𝐴‘𝑥)) |
39 | 37, 38 | syl 17 |
. . . . 5
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ (0..^(#‘𝐴))) → ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉})‘𝑥) = (𝐴‘𝑥)) |
40 | 33, 39 | eqtr4d 2659 |
. . . 4
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ (0..^(#‘𝐴))) → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉})‘𝑥)) |
41 | | fvexd 6203 |
. . . . . . . 8
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (#‘𝐴) ∈ V) |
42 | | elex 3212 |
. . . . . . . . 9
⊢ (𝐵 ∈ 𝑋 → 𝐵 ∈ V) |
43 | 42 | adantl 482 |
. . . . . . . 8
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → 𝐵 ∈ V) |
44 | | fdm 6051 |
. . . . . . . . . . 11
⊢ (𝐴:(0..^(#‘𝐴))⟶𝑋 → dom 𝐴 = (0..^(#‘𝐴))) |
45 | 18, 44 | syl 17 |
. . . . . . . . . 10
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → dom 𝐴 = (0..^(#‘𝐴))) |
46 | 45 | eleq2d 2687 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((#‘𝐴) ∈ dom 𝐴 ↔ (#‘𝐴) ∈ (0..^(#‘𝐴)))) |
47 | 23, 46 | mtbiri 317 |
. . . . . . . 8
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ¬ (#‘𝐴) ∈ dom 𝐴) |
48 | | fsnunfv 6453 |
. . . . . . . 8
⊢
(((#‘𝐴) ∈
V ∧ 𝐵 ∈ V ∧
¬ (#‘𝐴) ∈
dom 𝐴) → ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉})‘(#‘𝐴)) = 𝐵) |
49 | 41, 43, 47, 48 | syl3anc 1326 |
. . . . . . 7
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉})‘(#‘𝐴)) = 𝐵) |
50 | | simpl 473 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → 𝐴 ∈ Word 𝑋) |
51 | | s1cl 13382 |
. . . . . . . . . 10
⊢ (𝐵 ∈ 𝑋 → 〈“𝐵”〉 ∈ Word 𝑋) |
52 | 51 | adantl 482 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → 〈“𝐵”〉 ∈ Word 𝑋) |
53 | | s1len 13385 |
. . . . . . . . . . . 12
⊢
(#‘〈“𝐵”〉) = 1 |
54 | | 1nn 11031 |
. . . . . . . . . . . 12
⊢ 1 ∈
ℕ |
55 | 53, 54 | eqeltri 2697 |
. . . . . . . . . . 11
⊢
(#‘〈“𝐵”〉) ∈
ℕ |
56 | 55 | a1i 11 |
. . . . . . . . . 10
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (#‘〈“𝐵”〉) ∈
ℕ) |
57 | | lbfzo0 12507 |
. . . . . . . . . 10
⊢ (0 ∈
(0..^(#‘〈“𝐵”〉)) ↔
(#‘〈“𝐵”〉) ∈
ℕ) |
58 | 56, 57 | sylibr 224 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → 0 ∈
(0..^(#‘〈“𝐵”〉))) |
59 | | ccatval3 13363 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑋 ∧ 〈“𝐵”〉 ∈ Word 𝑋 ∧ 0 ∈
(0..^(#‘〈“𝐵”〉))) → ((𝐴 ++ 〈“𝐵”〉)‘(0 + (#‘𝐴))) = (〈“𝐵”〉‘0)) |
60 | 50, 52, 58, 59 | syl3anc 1326 |
. . . . . . . 8
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((𝐴 ++ 〈“𝐵”〉)‘(0 + (#‘𝐴))) = (〈“𝐵”〉‘0)) |
61 | | s1fv 13390 |
. . . . . . . . 9
⊢ (𝐵 ∈ 𝑋 → (〈“𝐵”〉‘0) = 𝐵) |
62 | 61 | adantl 482 |
. . . . . . . 8
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (〈“𝐵”〉‘0) = 𝐵) |
63 | 60, 62 | eqtrd 2656 |
. . . . . . 7
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((𝐴 ++ 〈“𝐵”〉)‘(0 + (#‘𝐴))) = 𝐵) |
64 | 7 | nn0cnd 11353 |
. . . . . . . . 9
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (#‘𝐴) ∈ ℂ) |
65 | 64 | addid2d 10237 |
. . . . . . . 8
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (0 + (#‘𝐴)) = (#‘𝐴)) |
66 | 65 | fveq2d 6195 |
. . . . . . 7
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((𝐴 ++ 〈“𝐵”〉)‘(0 + (#‘𝐴))) = ((𝐴 ++ 〈“𝐵”〉)‘(#‘𝐴))) |
67 | 49, 63, 66 | 3eqtr2rd 2663 |
. . . . . 6
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → ((𝐴 ++ 〈“𝐵”〉)‘(#‘𝐴)) = ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉})‘(#‘𝐴))) |
68 | | elsni 4194 |
. . . . . . . 8
⊢ (𝑥 ∈ {(#‘𝐴)} → 𝑥 = (#‘𝐴)) |
69 | 68 | fveq2d 6195 |
. . . . . . 7
⊢ (𝑥 ∈ {(#‘𝐴)} → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = ((𝐴 ++ 〈“𝐵”〉)‘(#‘𝐴))) |
70 | 68 | fveq2d 6195 |
. . . . . . 7
⊢ (𝑥 ∈ {(#‘𝐴)} → ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉})‘𝑥) = ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉})‘(#‘𝐴))) |
71 | 69, 70 | eqeq12d 2637 |
. . . . . 6
⊢ (𝑥 ∈ {(#‘𝐴)} → (((𝐴 ++ 〈“𝐵”〉)‘𝑥) = ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉})‘𝑥) ↔ ((𝐴 ++ 〈“𝐵”〉)‘(#‘𝐴)) = ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉})‘(#‘𝐴)))) |
72 | 67, 71 | syl5ibrcom 237 |
. . . . 5
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝑥 ∈ {(#‘𝐴)} → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉})‘𝑥))) |
73 | 72 | imp 445 |
. . . 4
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ {(#‘𝐴)}) → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉})‘𝑥)) |
74 | 40, 73 | jaodan 826 |
. . 3
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ (𝑥 ∈ (0..^(#‘𝐴)) ∨ 𝑥 ∈ {(#‘𝐴)})) → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉})‘𝑥)) |
75 | 31, 74 | sylan2b 492 |
. 2
⊢ (((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) ∧ 𝑥 ∈ ((0..^(#‘𝐴)) ∪ {(#‘𝐴)})) → ((𝐴 ++ 〈“𝐵”〉)‘𝑥) = ((𝐴 ∪ {〈(#‘𝐴), 𝐵〉})‘𝑥)) |
76 | 16, 30, 75 | eqfnfvd 6314 |
1
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ 𝑋) → (𝐴 ++ 〈“𝐵”〉) = (𝐴 ∪ {〈(#‘𝐴), 𝐵〉})) |