| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | eleq1w 2823 | . . . 4
⊢ (𝑥 = 𝑦 → (𝑥 ∈ Word 𝑉 ↔ 𝑦 ∈ Word 𝑉)) | 
| 2 |  | fveqeq2 6914 | . . . 4
⊢ (𝑥 = 𝑦 → ((♯‘𝑥) = ((♯‘𝑊) + 1) ↔ (♯‘𝑦) = ((♯‘𝑊) + 1))) | 
| 3 | 1, 2 | anbi12d 632 | . . 3
⊢ (𝑥 = 𝑦 → ((𝑥 ∈ Word 𝑉 ∧ (♯‘𝑥) = ((♯‘𝑊) + 1)) ↔ (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1)))) | 
| 4 | 3 | cbvralvw 3236 | . 2
⊢
(∀𝑥 ∈
𝑋 (𝑥 ∈ Word 𝑉 ∧ (♯‘𝑥) = ((♯‘𝑊) + 1)) ↔ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) | 
| 5 |  | reuccatpfxs1.1 | . . . . 5
⊢
Ⅎ𝑣𝑋 | 
| 6 | 5 | nfel2 2923 | . . . 4
⊢
Ⅎ𝑣(𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 | 
| 7 | 5 | nfel2 2923 | . . . 4
⊢
Ⅎ𝑣(𝑊 ++ 〈“𝑥”〉) ∈ 𝑋 | 
| 8 |  | s1eq 14639 | . . . . . 6
⊢ (𝑣 = 𝑥 → 〈“𝑣”〉 = 〈“𝑥”〉) | 
| 9 | 8 | oveq2d 7448 | . . . . 5
⊢ (𝑣 = 𝑥 → (𝑊 ++ 〈“𝑣”〉) = (𝑊 ++ 〈“𝑥”〉)) | 
| 10 | 9 | eleq1d 2825 | . . . 4
⊢ (𝑣 = 𝑥 → ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ↔ (𝑊 ++ 〈“𝑥”〉) ∈ 𝑋)) | 
| 11 |  | s1eq 14639 | . . . . . 6
⊢ (𝑥 = 𝑢 → 〈“𝑥”〉 = 〈“𝑢”〉) | 
| 12 | 11 | oveq2d 7448 | . . . . 5
⊢ (𝑥 = 𝑢 → (𝑊 ++ 〈“𝑥”〉) = (𝑊 ++ 〈“𝑢”〉)) | 
| 13 | 12 | eleq1d 2825 | . . . 4
⊢ (𝑥 = 𝑢 → ((𝑊 ++ 〈“𝑥”〉) ∈ 𝑋 ↔ (𝑊 ++ 〈“𝑢”〉) ∈ 𝑋)) | 
| 14 | 6, 7, 10, 13 | reu8nf 3876 | . . 3
⊢
(∃!𝑣 ∈
𝑉 (𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ↔ ∃𝑣 ∈ 𝑉 ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) | 
| 15 |  | nfv 1913 | . . . . 5
⊢
Ⅎ𝑣 𝑊 ∈ Word 𝑉 | 
| 16 |  | nfv 1913 | . . . . . 6
⊢
Ⅎ𝑣(𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1)) | 
| 17 | 5, 16 | nfralw 3310 | . . . . 5
⊢
Ⅎ𝑣∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1)) | 
| 18 | 15, 17 | nfan 1898 | . . . 4
⊢
Ⅎ𝑣(𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) | 
| 19 |  | nfv 1913 | . . . . 5
⊢
Ⅎ𝑣 𝑊 = (𝑥 prefix (♯‘𝑊)) | 
| 20 | 5, 19 | nfreuw 3413 | . . . 4
⊢
Ⅎ𝑣∃!𝑥 ∈ 𝑋 𝑊 = (𝑥 prefix (♯‘𝑊)) | 
| 21 |  | simprl 770 | . . . . . 6
⊢ ((((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) → (𝑊 ++ 〈“𝑣”〉) ∈ 𝑋) | 
| 22 |  | simpl 482 | . . . . . . . . . . 11
⊢ ((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) → 𝑊 ∈ Word 𝑉) | 
| 23 | 22 | ad2antrr 726 | . . . . . . . . . 10
⊢ ((((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) → 𝑊 ∈ Word 𝑉) | 
| 24 | 23 | anim1i 615 | . . . . . . . . 9
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → (𝑊 ∈ Word 𝑉 ∧ 𝑥 ∈ 𝑋)) | 
| 25 |  | simplrr 777 | . . . . . . . . 9
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢)) | 
| 26 |  | simp-4r 783 | . . . . . . . . 9
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) | 
| 27 |  | reuccatpfxs1lem 14785 | . . . . . . . . 9
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑥 ∈ 𝑋) ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢) ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) → (𝑊 = (𝑥 prefix (♯‘𝑊)) → 𝑥 = (𝑊 ++ 〈“𝑣”〉))) | 
| 28 | 24, 25, 26, 27 | syl3anc 1372 | . . . . . . . 8
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → (𝑊 = (𝑥 prefix (♯‘𝑊)) → 𝑥 = (𝑊 ++ 〈“𝑣”〉))) | 
| 29 |  | oveq1 7439 | . . . . . . . . . . 11
⊢ (𝑥 = (𝑊 ++ 〈“𝑣”〉) → (𝑥 prefix (♯‘𝑊)) = ((𝑊 ++ 〈“𝑣”〉) prefix (♯‘𝑊))) | 
| 30 |  | s1cl 14641 | . . . . . . . . . . . . . 14
⊢ (𝑣 ∈ 𝑉 → 〈“𝑣”〉 ∈ Word 𝑉) | 
| 31 | 22, 30 | anim12i 613 | . . . . . . . . . . . . 13
⊢ (((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) → (𝑊 ∈ Word 𝑉 ∧ 〈“𝑣”〉 ∈ Word 𝑉)) | 
| 32 | 31 | ad2antrr 726 | . . . . . . . . . . . 12
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → (𝑊 ∈ Word 𝑉 ∧ 〈“𝑣”〉 ∈ Word 𝑉)) | 
| 33 |  | pfxccat1 14741 | . . . . . . . . . . . 12
⊢ ((𝑊 ∈ Word 𝑉 ∧ 〈“𝑣”〉 ∈ Word 𝑉) → ((𝑊 ++ 〈“𝑣”〉) prefix (♯‘𝑊)) = 𝑊) | 
| 34 | 32, 33 | syl 17 | . . . . . . . . . . 11
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → ((𝑊 ++ 〈“𝑣”〉) prefix (♯‘𝑊)) = 𝑊) | 
| 35 | 29, 34 | sylan9eqr 2798 | . . . . . . . . . 10
⊢
((((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) ∧ 𝑥 = (𝑊 ++ 〈“𝑣”〉)) → (𝑥 prefix (♯‘𝑊)) = 𝑊) | 
| 36 | 35 | eqcomd 2742 | . . . . . . . . 9
⊢
((((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) ∧ 𝑥 = (𝑊 ++ 〈“𝑣”〉)) → 𝑊 = (𝑥 prefix (♯‘𝑊))) | 
| 37 | 36 | ex 412 | . . . . . . . 8
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → (𝑥 = (𝑊 ++ 〈“𝑣”〉) → 𝑊 = (𝑥 prefix (♯‘𝑊)))) | 
| 38 | 28, 37 | impbid 212 | . . . . . . 7
⊢
(((((𝑊 ∈ Word
𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) ∧ 𝑥 ∈ 𝑋) → (𝑊 = (𝑥 prefix (♯‘𝑊)) ↔ 𝑥 = (𝑊 ++ 〈“𝑣”〉))) | 
| 39 | 38 | ralrimiva 3145 | . . . . . 6
⊢ ((((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) → ∀𝑥 ∈ 𝑋 (𝑊 = (𝑥 prefix (♯‘𝑊)) ↔ 𝑥 = (𝑊 ++ 〈“𝑣”〉))) | 
| 40 |  | reu6i 3733 | . . . . . 6
⊢ (((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑥 ∈ 𝑋 (𝑊 = (𝑥 prefix (♯‘𝑊)) ↔ 𝑥 = (𝑊 ++ 〈“𝑣”〉))) → ∃!𝑥 ∈ 𝑋 𝑊 = (𝑥 prefix (♯‘𝑊))) | 
| 41 | 21, 39, 40 | syl2anc 584 | . . . . 5
⊢ ((((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) ∧ 𝑣 ∈ 𝑉) ∧ ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢))) → ∃!𝑥 ∈ 𝑋 𝑊 = (𝑥 prefix (♯‘𝑊))) | 
| 42 | 41 | exp31 419 | . . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) → (𝑣 ∈ 𝑉 → (((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢)) → ∃!𝑥 ∈ 𝑋 𝑊 = (𝑥 prefix (♯‘𝑊))))) | 
| 43 | 18, 20, 42 | rexlimd 3265 | . . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) → (∃𝑣 ∈ 𝑉 ((𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 ∧ ∀𝑢 ∈ 𝑉 ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑣 = 𝑢)) → ∃!𝑥 ∈ 𝑋 𝑊 = (𝑥 prefix (♯‘𝑊)))) | 
| 44 | 14, 43 | biimtrid 242 | . 2
⊢ ((𝑊 ∈ Word 𝑉 ∧ ∀𝑦 ∈ 𝑋 (𝑦 ∈ Word 𝑉 ∧ (♯‘𝑦) = ((♯‘𝑊) + 1))) → (∃!𝑣 ∈ 𝑉 (𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 → ∃!𝑥 ∈ 𝑋 𝑊 = (𝑥 prefix (♯‘𝑊)))) | 
| 45 | 4, 44 | sylan2b 594 | 1
⊢ ((𝑊 ∈ Word 𝑉 ∧ ∀𝑥 ∈ 𝑋 (𝑥 ∈ Word 𝑉 ∧ (♯‘𝑥) = ((♯‘𝑊) + 1))) → (∃!𝑣 ∈ 𝑉 (𝑊 ++ 〈“𝑣”〉) ∈ 𝑋 → ∃!𝑥 ∈ 𝑋 𝑊 = (𝑥 prefix (♯‘𝑊)))) |