Step | Hyp | Ref
| Expression |
1 | | eleq1 2676 |
. . . . . . . . 9
⊢ (𝑥 = 𝑈 → (𝑥 ∈ Word 𝑉 ↔ 𝑈 ∈ Word 𝑉)) |
2 | | fveq2 6103 |
. . . . . . . . . 10
⊢ (𝑥 = 𝑈 → (#‘𝑥) = (#‘𝑈)) |
3 | 2 | eqeq1d 2612 |
. . . . . . . . 9
⊢ (𝑥 = 𝑈 → ((#‘𝑥) = ((#‘𝑊) + 1) ↔ (#‘𝑈) = ((#‘𝑊) + 1))) |
4 | 1, 3 | anbi12d 743 |
. . . . . . . 8
⊢ (𝑥 = 𝑈 → ((𝑥 ∈ Word 𝑉 ∧ (#‘𝑥) = ((#‘𝑊) + 1)) ↔ (𝑈 ∈ Word 𝑉 ∧ (#‘𝑈) = ((#‘𝑊) + 1)))) |
5 | 4 | rspcv 3278 |
. . . . . . 7
⊢ (𝑈 ∈ 𝑋 → (∀𝑥 ∈ 𝑋 (𝑥 ∈ Word 𝑉 ∧ (#‘𝑥) = ((#‘𝑊) + 1)) → (𝑈 ∈ Word 𝑉 ∧ (#‘𝑈) = ((#‘𝑊) + 1)))) |
6 | 5 | adantl 481 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋) → (∀𝑥 ∈ 𝑋 (𝑥 ∈ Word 𝑉 ∧ (#‘𝑥) = ((#‘𝑊) + 1)) → (𝑈 ∈ Word 𝑉 ∧ (#‘𝑈) = ((#‘𝑊) + 1)))) |
7 | | simpl 472 |
. . . . . . . . . . 11
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋) → 𝑊 ∈ Word 𝑉) |
8 | 7 | adantr 480 |
. . . . . . . . . 10
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋) ∧ (𝑈 ∈ Word 𝑉 ∧ (#‘𝑈) = ((#‘𝑊) + 1))) → 𝑊 ∈ Word 𝑉) |
9 | | simpl 472 |
. . . . . . . . . . 11
⊢ ((𝑈 ∈ Word 𝑉 ∧ (#‘𝑈) = ((#‘𝑊) + 1)) → 𝑈 ∈ Word 𝑉) |
10 | 9 | adantl 481 |
. . . . . . . . . 10
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋) ∧ (𝑈 ∈ Word 𝑉 ∧ (#‘𝑈) = ((#‘𝑊) + 1))) → 𝑈 ∈ Word 𝑉) |
11 | | simprr 792 |
. . . . . . . . . 10
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋) ∧ (𝑈 ∈ Word 𝑉 ∧ (#‘𝑈) = ((#‘𝑊) + 1))) → (#‘𝑈) = ((#‘𝑊) + 1)) |
12 | | ccats1swrdeqrex 13330 |
. . . . . . . . . 10
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉 ∧ (#‘𝑈) = ((#‘𝑊) + 1)) → (𝑊 = (𝑈 substr 〈0, (#‘𝑊)〉) → ∃𝑢 ∈ 𝑉 𝑈 = (𝑊 ++ 〈“𝑢”〉))) |
13 | 8, 10, 11, 12 | syl3anc 1318 |
. . . . . . . . 9
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋) ∧ (𝑈 ∈ Word 𝑉 ∧ (#‘𝑈) = ((#‘𝑊) + 1))) → (𝑊 = (𝑈 substr 〈0, (#‘𝑊)〉) → ∃𝑢 ∈ 𝑉 𝑈 = (𝑊 ++ 〈“𝑢”〉))) |
14 | | s1eq 13233 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑠 = 𝑢 → 〈“𝑠”〉 = 〈“𝑢”〉) |
15 | 14 | oveq2d 6565 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑠 = 𝑢 → (𝑊 ++ 〈“𝑠”〉) = (𝑊 ++ 〈“𝑢”〉)) |
16 | 15 | eleq1d 2672 |
. . . . . . . . . . . . . . . 16
⊢ (𝑠 = 𝑢 → ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 ↔ (𝑊 ++ 〈“𝑢”〉) ∈ 𝑋)) |
17 | | eqeq2 2621 |
. . . . . . . . . . . . . . . 16
⊢ (𝑠 = 𝑢 → (𝑆 = 𝑠 ↔ 𝑆 = 𝑢)) |
18 | 16, 17 | imbi12d 333 |
. . . . . . . . . . . . . . 15
⊢ (𝑠 = 𝑢 → (((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) ↔ ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑆 = 𝑢))) |
19 | 18 | rspcv 3278 |
. . . . . . . . . . . . . 14
⊢ (𝑢 ∈ 𝑉 → (∀𝑠 ∈ 𝑉 ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) → ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑆 = 𝑢))) |
20 | | eleq1 2676 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑈 = (𝑊 ++ 〈“𝑢”〉) → (𝑈 ∈ 𝑋 ↔ (𝑊 ++ 〈“𝑢”〉) ∈ 𝑋)) |
21 | 20 | biimpac 502 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑈 ∈ 𝑋 ∧ 𝑈 = (𝑊 ++ 〈“𝑢”〉)) → (𝑊 ++ 〈“𝑢”〉) ∈ 𝑋) |
22 | | s1eq 13233 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ (𝑢 = 𝑆 → 〈“𝑢”〉 = 〈“𝑆”〉) |
23 | 22 | eqcoms 2618 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (𝑆 = 𝑢 → 〈“𝑢”〉 = 〈“𝑆”〉) |
24 | 23 | oveq2d 6565 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (𝑆 = 𝑢 → (𝑊 ++ 〈“𝑢”〉) = (𝑊 ++ 〈“𝑆”〉)) |
25 | 24 | eqeq2d 2620 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (𝑆 = 𝑢 → (𝑈 = (𝑊 ++ 〈“𝑢”〉) ↔ 𝑈 = (𝑊 ++ 〈“𝑆”〉))) |
26 | 25 | biimpd 218 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝑆 = 𝑢 → (𝑈 = (𝑊 ++ 〈“𝑢”〉) → 𝑈 = (𝑊 ++ 〈“𝑆”〉))) |
27 | 26 | imim2i 16 |
. . . . . . . . . . . . . . . . . . 19
⊢ (((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑆 = 𝑢) → ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → (𝑈 = (𝑊 ++ 〈“𝑢”〉) → 𝑈 = (𝑊 ++ 〈“𝑆”〉)))) |
28 | 27 | com13 86 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑈 = (𝑊 ++ 〈“𝑢”〉) → ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → (((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑆 = 𝑢) → 𝑈 = (𝑊 ++ 〈“𝑆”〉)))) |
29 | 28 | adantl 481 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑈 ∈ 𝑋 ∧ 𝑈 = (𝑊 ++ 〈“𝑢”〉)) → ((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → (((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑆 = 𝑢) → 𝑈 = (𝑊 ++ 〈“𝑆”〉)))) |
30 | 21, 29 | mpd 15 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑈 ∈ 𝑋 ∧ 𝑈 = (𝑊 ++ 〈“𝑢”〉)) → (((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑆 = 𝑢) → 𝑈 = (𝑊 ++ 〈“𝑆”〉))) |
31 | 30 | ex 449 |
. . . . . . . . . . . . . . 15
⊢ (𝑈 ∈ 𝑋 → (𝑈 = (𝑊 ++ 〈“𝑢”〉) → (((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑆 = 𝑢) → 𝑈 = (𝑊 ++ 〈“𝑆”〉)))) |
32 | 31 | com23 84 |
. . . . . . . . . . . . . 14
⊢ (𝑈 ∈ 𝑋 → (((𝑊 ++ 〈“𝑢”〉) ∈ 𝑋 → 𝑆 = 𝑢) → (𝑈 = (𝑊 ++ 〈“𝑢”〉) → 𝑈 = (𝑊 ++ 〈“𝑆”〉)))) |
33 | 19, 32 | sylan9r 688 |
. . . . . . . . . . . . 13
⊢ ((𝑈 ∈ 𝑋 ∧ 𝑢 ∈ 𝑉) → (∀𝑠 ∈ 𝑉 ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) → (𝑈 = (𝑊 ++ 〈“𝑢”〉) → 𝑈 = (𝑊 ++ 〈“𝑆”〉)))) |
34 | 33 | com23 84 |
. . . . . . . . . . . 12
⊢ ((𝑈 ∈ 𝑋 ∧ 𝑢 ∈ 𝑉) → (𝑈 = (𝑊 ++ 〈“𝑢”〉) → (∀𝑠 ∈ 𝑉 ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) → 𝑈 = (𝑊 ++ 〈“𝑆”〉)))) |
35 | 34 | rexlimdva 3013 |
. . . . . . . . . . 11
⊢ (𝑈 ∈ 𝑋 → (∃𝑢 ∈ 𝑉 𝑈 = (𝑊 ++ 〈“𝑢”〉) → (∀𝑠 ∈ 𝑉 ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) → 𝑈 = (𝑊 ++ 〈“𝑆”〉)))) |
36 | 35 | adantl 481 |
. . . . . . . . . 10
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋) → (∃𝑢 ∈ 𝑉 𝑈 = (𝑊 ++ 〈“𝑢”〉) → (∀𝑠 ∈ 𝑉 ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) → 𝑈 = (𝑊 ++ 〈“𝑆”〉)))) |
37 | 36 | adantr 480 |
. . . . . . . . 9
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋) ∧ (𝑈 ∈ Word 𝑉 ∧ (#‘𝑈) = ((#‘𝑊) + 1))) → (∃𝑢 ∈ 𝑉 𝑈 = (𝑊 ++ 〈“𝑢”〉) → (∀𝑠 ∈ 𝑉 ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) → 𝑈 = (𝑊 ++ 〈“𝑆”〉)))) |
38 | 13, 37 | syld 46 |
. . . . . . . 8
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋) ∧ (𝑈 ∈ Word 𝑉 ∧ (#‘𝑈) = ((#‘𝑊) + 1))) → (𝑊 = (𝑈 substr 〈0, (#‘𝑊)〉) → (∀𝑠 ∈ 𝑉 ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) → 𝑈 = (𝑊 ++ 〈“𝑆”〉)))) |
39 | 38 | com23 84 |
. . . . . . 7
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋) ∧ (𝑈 ∈ Word 𝑉 ∧ (#‘𝑈) = ((#‘𝑊) + 1))) → (∀𝑠 ∈ 𝑉 ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) → (𝑊 = (𝑈 substr 〈0, (#‘𝑊)〉) → 𝑈 = (𝑊 ++ 〈“𝑆”〉)))) |
40 | 39 | ex 449 |
. . . . . 6
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋) → ((𝑈 ∈ Word 𝑉 ∧ (#‘𝑈) = ((#‘𝑊) + 1)) → (∀𝑠 ∈ 𝑉 ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) → (𝑊 = (𝑈 substr 〈0, (#‘𝑊)〉) → 𝑈 = (𝑊 ++ 〈“𝑆”〉))))) |
41 | 6, 40 | syld 46 |
. . . . 5
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋) → (∀𝑥 ∈ 𝑋 (𝑥 ∈ Word 𝑉 ∧ (#‘𝑥) = ((#‘𝑊) + 1)) → (∀𝑠 ∈ 𝑉 ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) → (𝑊 = (𝑈 substr 〈0, (#‘𝑊)〉) → 𝑈 = (𝑊 ++ 〈“𝑆”〉))))) |
42 | 41 | com23 84 |
. . . 4
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋) → (∀𝑠 ∈ 𝑉 ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) → (∀𝑥 ∈ 𝑋 (𝑥 ∈ Word 𝑉 ∧ (#‘𝑥) = ((#‘𝑊) + 1)) → (𝑊 = (𝑈 substr 〈0, (#‘𝑊)〉) → 𝑈 = (𝑊 ++ 〈“𝑆”〉))))) |
43 | 42 | impd 446 |
. . 3
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋) → ((∀𝑠 ∈ 𝑉 ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) ∧ ∀𝑥 ∈ 𝑋 (𝑥 ∈ Word 𝑉 ∧ (#‘𝑥) = ((#‘𝑊) + 1))) → (𝑊 = (𝑈 substr 〈0, (#‘𝑊)〉) → 𝑈 = (𝑊 ++ 〈“𝑆”〉)))) |
44 | 43 | 3adant3 1074 |
. 2
⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋 ∧ (𝑊 ++ 〈“𝑆”〉) ∈ 𝑋) → ((∀𝑠 ∈ 𝑉 ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) ∧ ∀𝑥 ∈ 𝑋 (𝑥 ∈ Word 𝑉 ∧ (#‘𝑥) = ((#‘𝑊) + 1))) → (𝑊 = (𝑈 substr 〈0, (#‘𝑊)〉) → 𝑈 = (𝑊 ++ 〈“𝑆”〉)))) |
45 | 44 | imp 444 |
1
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ 𝑋 ∧ (𝑊 ++ 〈“𝑆”〉) ∈ 𝑋) ∧ (∀𝑠 ∈ 𝑉 ((𝑊 ++ 〈“𝑠”〉) ∈ 𝑋 → 𝑆 = 𝑠) ∧ ∀𝑥 ∈ 𝑋 (𝑥 ∈ Word 𝑉 ∧ (#‘𝑥) = ((#‘𝑊) + 1)))) → (𝑊 = (𝑈 substr 〈0, (#‘𝑊)〉) → 𝑈 = (𝑊 ++ 〈“𝑆”〉))) |