Step | Hyp | Ref
| Expression |
1 | | eleq1w 2820 |
. . . 4
⊢ (𝑥 = 𝑦 → (𝑥 ∈ Word 𝑉 ↔ 𝑦 ∈ Word 𝑉)) |
2 | | fveqeq2 6726 |
. . . 4
⊢ (𝑥 = 𝑦 → ((♯‘𝑥) = ((♯‘𝑊) + 1) ↔ (♯‘𝑦) = ((♯‘𝑊) + 1))) |
3 | 1, 2 | anbi12d 634 |
. . 3
⊢ (𝑥 = 𝑦 → ((𝑥 ∈ Word 𝑉 ∧ (♯‘𝑥) = ((♯‘𝑊) + 1)) ↔ (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1)))) |
4 | 3 | cbvralvw 3358 |
. 2
⊢
(∀𝑥 ∈
𝑋 (𝑥 ∈ Word 𝑉 ∧ (♯‘𝑥) = ((♯‘𝑊) + 1)) ↔ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) |
5 | | reuccatpfxs1.1 |
. . . . 5
⊢
Ⅎ𝑣𝑋 |
6 | 5 | nfel2 2922 |
. . . 4
⊢
Ⅎ𝑣(𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 |
7 | 5 | nfel2 2922 |
. . . 4
⊢
Ⅎ𝑣(𝑊 ++ 〈“𝑥”〉) ∈ 𝑋 |
8 | | s1eq 14157 |
. . . . . 6
⊢ (𝑣 = 𝑥 → 〈“𝑣”〉 = 〈“𝑥”〉) |
9 | 8 | oveq2d 7229 |
. . . . 5
⊢ (𝑣 = 𝑥 → (𝑊 ++ 〈“𝑣”〉) = (𝑊 ++ 〈“𝑥”〉)) |
10 | 9 | eleq1d 2822 |
. . . 4
⊢ (𝑣 = 𝑥 → ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ↔ (𝑊 ++ 〈“𝑥”〉) ∈ 𝑋)) |
11 | | s1eq 14157 |
. . . . . 6
⊢ (𝑥 = 𝑢 → 〈“𝑥”〉 = 〈“𝑢”〉) |
12 | 11 | oveq2d 7229 |
. . . . 5
⊢ (𝑥 = 𝑢 → (𝑊 ++ 〈“𝑥”〉) = (𝑊 ++ 〈“𝑢”〉)) |
13 | 12 | eleq1d 2822 |
. . . 4
⊢ (𝑥 = 𝑢 → ((𝑊 ++ 〈“𝑥”〉) ∈ 𝑋 ↔ (𝑊 ++ 〈“𝑢”〉) ∈ 𝑋)) |
14 | 6, 7, 10, 13 | reu8nf 3789 |
. . 3
⊢
(∃!𝑣 ∈
𝑉 (𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ↔ ∃𝑣 ∈ 𝑉 ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) |
15 | | nfv 1922 |
. . . . 5
⊢
Ⅎ𝑣 𝑊 ∈ Word 𝑉 |
16 | | nfv 1922 |
. . . . . 6
⊢
Ⅎ𝑣(𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1)) |
17 | 5, 16 | nfralw 3147 |
. . . . 5
⊢
Ⅎ𝑣∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1)) |
18 | 15, 17 | nfan 1907 |
. . . 4
⊢
Ⅎ𝑣(𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) |
19 | | nfv 1922 |
. . . . 5
⊢
Ⅎ𝑣 𝑊 = (𝑥 prefix (♯‘𝑊)) |
20 | 5, 19 | nfreuw 3286 |
. . . 4
⊢
Ⅎ𝑣∃!𝑥 ∈ 𝑋 𝑊 = (𝑥 prefix (♯‘𝑊)) |
21 | | simprl 771 |
. . . . . 6
⊢ ((((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) → (𝑊 ++ 〈“𝑣”〉) ∈ 𝑋) |
22 | | simpl 486 |
. . . . . . . . . . 11
⊢ ((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) → 𝑊 ∈ Word 𝑉) |
23 | 22 | ad2antrr 726 |
. . . . . . . . . 10
⊢ ((((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) → 𝑊 ∈ Word 𝑉) |
24 | 23 | anim1i 618 |
. . . . . . . . 9
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → (𝑊 ∈ Word 𝑉 ∧ 𝑥 ∈ 𝑋)) |
25 | | simplrr 778 |
. . . . . . . . 9
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢)) |
26 | | simp-4r 784 |
. . . . . . . . 9
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) |
27 | | reuccatpfxs1lem 14311 |
. . . . . . . . 9
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑥 ∈ 𝑋) ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢) ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) → (𝑊 = (𝑥 prefix (♯‘𝑊)) → 𝑥 = (𝑊 ++ 〈“𝑣”〉))) |
28 | 24, 25, 26, 27 | syl3anc 1373 |
. . . . . . . 8
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → (𝑊 = (𝑥 prefix (♯‘𝑊)) → 𝑥 = (𝑊 ++ 〈“𝑣”〉))) |
29 | | oveq1 7220 |
. . . . . . . . . . 11
⊢ (𝑥 = (𝑊 ++ 〈“𝑣”〉) → (𝑥 prefix (♯‘𝑊)) = ((𝑊 ++ 〈“𝑣”〉) prefix (♯‘𝑊))) |
30 | | s1cl 14159 |
. . . . . . . . . . . . . 14
⊢ (𝑣 ∈ 𝑉 → 〈“𝑣”〉 ∈ Word 𝑉) |
31 | 22, 30 | anim12i 616 |
. . . . . . . . . . . . 13
⊢ (((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) → (𝑊 ∈ Word 𝑉 ∧ 〈“𝑣”〉 ∈ Word 𝑉)) |
32 | 31 | ad2antrr 726 |
. . . . . . . . . . . 12
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → (𝑊 ∈ Word 𝑉 ∧ 〈“𝑣”〉 ∈ Word 𝑉)) |
33 | | pfxccat1 14267 |
. . . . . . . . . . . 12
⊢ ((𝑊 ∈ Word 𝑉 ∧ 〈“𝑣”〉 ∈ Word 𝑉) → ((𝑊 ++ 〈“𝑣”〉) prefix (♯‘𝑊)) = 𝑊) |
34 | 32, 33 | syl 17 |
. . . . . . . . . . 11
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → ((𝑊 ++ 〈“𝑣”〉) prefix (♯‘𝑊)) = 𝑊) |
35 | 29, 34 | sylan9eqr 2800 |
. . . . . . . . . 10
⊢
((((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) ∧ 𝑥 = (𝑊 ++ 〈“𝑣”〉)) → (𝑥 prefix (♯‘𝑊)) = 𝑊) |
36 | 35 | eqcomd 2743 |
. . . . . . . . 9
⊢
((((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) ∧ 𝑥 = (𝑊 ++ 〈“𝑣”〉)) → 𝑊 = (𝑥 prefix (♯‘𝑊))) |
37 | 36 | ex 416 |
. . . . . . . 8
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → (𝑥 = (𝑊 ++ 〈“𝑣”〉) → 𝑊 = (𝑥 prefix (♯‘𝑊)))) |
38 | 28, 37 | impbid 215 |
. . . . . . 7
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → (𝑊 = (𝑥 prefix (♯‘𝑊)) ↔ 𝑥 = (𝑊 ++ 〈“𝑣”〉))) |
39 | 38 | ralrimiva 3105 |
. . . . . 6
⊢ ((((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) → ∀𝑥 ∈ 𝑋 (𝑊 = (𝑥 prefix (♯‘𝑊)) ↔ 𝑥 = (𝑊 ++ 〈“𝑣”〉))) |
40 | | reu6i 3641 |
. . . . . 6
⊢ (((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑥 ∈ 𝑋 (𝑊 = (𝑥 prefix (♯‘𝑊)) ↔ 𝑥 = (𝑊 ++ 〈“𝑣”〉))) → ∃!𝑥 ∈ 𝑋 𝑊 = (𝑥 prefix (♯‘𝑊))) |
41 | 21, 39, 40 | syl2anc 587 |
. . . . 5
⊢ ((((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) → ∃!𝑥 ∈ 𝑋 𝑊 = (𝑥 prefix (♯‘𝑊))) |
42 | 41 | exp31 423 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) → (𝑣 ∈ 𝑉 → (((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢)) → ∃!𝑥 ∈ 𝑋 𝑊 = (𝑥 prefix (♯‘𝑊))))) |
43 | 18, 20, 42 | rexlimd 3236 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) → (∃𝑣 ∈ 𝑉 ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢)) → ∃!𝑥 ∈ 𝑋 𝑊 = (𝑥 prefix (♯‘𝑊)))) |
44 | 14, 43 | syl5bi 245 |
. 2
⊢ ((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) → (∃!𝑣 ∈ 𝑉 (𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 → ∃!𝑥 ∈ 𝑋 𝑊 = (𝑥 prefix (♯‘𝑊)))) |
45 | 4, 44 | sylan2b 597 |
1
⊢ ((𝑊 ∈ Word 𝑉 ∧ ∀𝑥 ∈ 𝑋 (𝑥 ∈ Word 𝑉 ∧ (♯‘𝑥) = ((♯‘𝑊) + 1))) → (∃!𝑣 ∈ 𝑉 (𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 → ∃!𝑥 ∈ 𝑋 𝑊 = (𝑥 prefix (♯‘𝑊)))) |