| Step | Hyp | Ref
| Expression |
| 1 | | lencl 11015 |
. . . . 5
⊢ (𝐴 ∈ Word 𝑋 → (♯‘𝐴) ∈
ℕ0) |
| 2 | | eqeq2 2216 |
. . . . . . . . 9
⊢ (𝑛 = 0 →
((♯‘𝑥) = 𝑛 ↔ (♯‘𝑥) = 0)) |
| 3 | 2 | anbi2d 464 |
. . . . . . . 8
⊢ (𝑛 = 0 →
(((♯‘𝑥) =
(♯‘𝑤) ∧
(♯‘𝑥) = 𝑛) ↔ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 0))) |
| 4 | 3 | imbi1d 231 |
. . . . . . 7
⊢ (𝑛 = 0 →
((((♯‘𝑥) =
(♯‘𝑤) ∧
(♯‘𝑥) = 𝑛) → 𝜑) ↔ (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 0) → 𝜑))) |
| 5 | 4 | 2ralbidv 2531 |
. . . . . 6
⊢ (𝑛 = 0 → (∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ ∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 0) → 𝜑))) |
| 6 | | eqeq2 2216 |
. . . . . . . . 9
⊢ (𝑛 = 𝑚 → ((♯‘𝑥) = 𝑛 ↔ (♯‘𝑥) = 𝑚)) |
| 7 | 6 | anbi2d 464 |
. . . . . . . 8
⊢ (𝑛 = 𝑚 → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) ↔ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚))) |
| 8 | 7 | imbi1d 231 |
. . . . . . 7
⊢ (𝑛 = 𝑚 → ((((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) → 𝜑))) |
| 9 | 8 | 2ralbidv 2531 |
. . . . . 6
⊢ (𝑛 = 𝑚 → (∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ ∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) → 𝜑))) |
| 10 | | eqeq2 2216 |
. . . . . . . . 9
⊢ (𝑛 = (𝑚 + 1) → ((♯‘𝑥) = 𝑛 ↔ (♯‘𝑥) = (𝑚 + 1))) |
| 11 | 10 | anbi2d 464 |
. . . . . . . 8
⊢ (𝑛 = (𝑚 + 1) → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) ↔ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) |
| 12 | 11 | imbi1d 231 |
. . . . . . 7
⊢ (𝑛 = (𝑚 + 1) → ((((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → 𝜑))) |
| 13 | 12 | 2ralbidv 2531 |
. . . . . 6
⊢ (𝑛 = (𝑚 + 1) → (∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ ∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → 𝜑))) |
| 14 | | eqeq2 2216 |
. . . . . . . . 9
⊢ (𝑛 = (♯‘𝐴) → ((♯‘𝑥) = 𝑛 ↔ (♯‘𝑥) = (♯‘𝐴))) |
| 15 | 14 | anbi2d 464 |
. . . . . . . 8
⊢ (𝑛 = (♯‘𝐴) → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) ↔ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)))) |
| 16 | 15 | imbi1d 231 |
. . . . . . 7
⊢ (𝑛 = (♯‘𝐴) → ((((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑))) |
| 17 | 16 | 2ralbidv 2531 |
. . . . . 6
⊢ (𝑛 = (♯‘𝐴) → (∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ ∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑))) |
| 18 | | eqeq1 2213 |
. . . . . . . . . . 11
⊢
((♯‘𝑥) =
0 → ((♯‘𝑥)
= (♯‘𝑤) ↔
0 = (♯‘𝑤))) |
| 19 | 18 | adantl 277 |
. . . . . . . . . 10
⊢ (((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ (♯‘𝑥) = 0) → ((♯‘𝑥) = (♯‘𝑤) ↔ 0 =
(♯‘𝑤))) |
| 20 | | eqcom 2208 |
. . . . . . . . . . . . . 14
⊢ (0 =
(♯‘𝑤) ↔
(♯‘𝑤) =
0) |
| 21 | | wrdfin 11030 |
. . . . . . . . . . . . . . 15
⊢ (𝑤 ∈ Word 𝑌 → 𝑤 ∈ Fin) |
| 22 | | fihasheq0 10955 |
. . . . . . . . . . . . . . 15
⊢ (𝑤 ∈ Fin →
((♯‘𝑤) = 0
↔ 𝑤 =
∅)) |
| 23 | 21, 22 | syl 14 |
. . . . . . . . . . . . . 14
⊢ (𝑤 ∈ Word 𝑌 → ((♯‘𝑤) = 0 ↔ 𝑤 = ∅)) |
| 24 | 20, 23 | bitrid 192 |
. . . . . . . . . . . . 13
⊢ (𝑤 ∈ Word 𝑌 → (0 = (♯‘𝑤) ↔ 𝑤 = ∅)) |
| 25 | | wrdfin 11030 |
. . . . . . . . . . . . . . . 16
⊢ (𝑥 ∈ Word 𝑋 → 𝑥 ∈ Fin) |
| 26 | | fihasheq0 10955 |
. . . . . . . . . . . . . . . 16
⊢ (𝑥 ∈ Fin →
((♯‘𝑥) = 0
↔ 𝑥 =
∅)) |
| 27 | 25, 26 | syl 14 |
. . . . . . . . . . . . . . 15
⊢ (𝑥 ∈ Word 𝑋 → ((♯‘𝑥) = 0 ↔ 𝑥 = ∅)) |
| 28 | | wrd2ind.6 |
. . . . . . . . . . . . . . . . 17
⊢ 𝜓 |
| 29 | | wrd2ind.1 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑥 = ∅ ∧ 𝑤 = ∅) → (𝜑 ↔ 𝜓)) |
| 30 | 28, 29 | mpbiri 168 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑥 = ∅ ∧ 𝑤 = ∅) → 𝜑) |
| 31 | 30 | ex 115 |
. . . . . . . . . . . . . . 15
⊢ (𝑥 = ∅ → (𝑤 = ∅ → 𝜑)) |
| 32 | 27, 31 | biimtrdi 163 |
. . . . . . . . . . . . . 14
⊢ (𝑥 ∈ Word 𝑋 → ((♯‘𝑥) = 0 → (𝑤 = ∅ → 𝜑))) |
| 33 | 32 | com13 80 |
. . . . . . . . . . . . 13
⊢ (𝑤 = ∅ →
((♯‘𝑥) = 0
→ (𝑥 ∈ Word 𝑋 → 𝜑))) |
| 34 | 24, 33 | biimtrdi 163 |
. . . . . . . . . . . 12
⊢ (𝑤 ∈ Word 𝑌 → (0 = (♯‘𝑤) → ((♯‘𝑥) = 0 → (𝑥 ∈ Word 𝑋 → 𝜑)))) |
| 35 | 34 | com24 87 |
. . . . . . . . . . 11
⊢ (𝑤 ∈ Word 𝑌 → (𝑥 ∈ Word 𝑋 → ((♯‘𝑥) = 0 → (0 = (♯‘𝑤) → 𝜑)))) |
| 36 | 35 | imp31 256 |
. . . . . . . . . 10
⊢ (((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ (♯‘𝑥) = 0) → (0 = (♯‘𝑤) → 𝜑)) |
| 37 | 19, 36 | sylbid 150 |
. . . . . . . . 9
⊢ (((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ (♯‘𝑥) = 0) → ((♯‘𝑥) = (♯‘𝑤) → 𝜑)) |
| 38 | 37 | ex 115 |
. . . . . . . 8
⊢ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) → ((♯‘𝑥) = 0 → ((♯‘𝑥) = (♯‘𝑤) → 𝜑))) |
| 39 | 38 | impcomd 255 |
. . . . . . 7
⊢ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 0) → 𝜑)) |
| 40 | 39 | rgen2 2593 |
. . . . . 6
⊢
∀𝑤 ∈
Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 0) → 𝜑) |
| 41 | | fveq2 5588 |
. . . . . . . . . . . . 13
⊢ (𝑥 = 𝑦 → (♯‘𝑥) = (♯‘𝑦)) |
| 42 | | fveq2 5588 |
. . . . . . . . . . . . 13
⊢ (𝑤 = 𝑢 → (♯‘𝑤) = (♯‘𝑢)) |
| 43 | 41, 42 | eqeqan12d 2222 |
. . . . . . . . . . . 12
⊢ ((𝑥 = 𝑦 ∧ 𝑤 = 𝑢) → ((♯‘𝑥) = (♯‘𝑤) ↔ (♯‘𝑦) = (♯‘𝑢))) |
| 44 | | fveqeq2 5597 |
. . . . . . . . . . . . 13
⊢ (𝑥 = 𝑦 → ((♯‘𝑥) = 𝑚 ↔ (♯‘𝑦) = 𝑚)) |
| 45 | 44 | adantr 276 |
. . . . . . . . . . . 12
⊢ ((𝑥 = 𝑦 ∧ 𝑤 = 𝑢) → ((♯‘𝑥) = 𝑚 ↔ (♯‘𝑦) = 𝑚)) |
| 46 | 43, 45 | anbi12d 473 |
. . . . . . . . . . 11
⊢ ((𝑥 = 𝑦 ∧ 𝑤 = 𝑢) → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) ↔ ((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚))) |
| 47 | | wrd2ind.2 |
. . . . . . . . . . 11
⊢ ((𝑥 = 𝑦 ∧ 𝑤 = 𝑢) → (𝜑 ↔ 𝜒)) |
| 48 | 46, 47 | imbi12d 234 |
. . . . . . . . . 10
⊢ ((𝑥 = 𝑦 ∧ 𝑤 = 𝑢) → ((((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) → 𝜑) ↔ (((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒))) |
| 49 | 48 | ancoms 268 |
. . . . . . . . 9
⊢ ((𝑤 = 𝑢 ∧ 𝑥 = 𝑦) → ((((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) → 𝜑) ↔ (((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒))) |
| 50 | 49 | cbvraldva 2748 |
. . . . . . . 8
⊢ (𝑤 = 𝑢 → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) → 𝜑) ↔ ∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒))) |
| 51 | 50 | cbvralvw 2743 |
. . . . . . 7
⊢
(∀𝑤 ∈
Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) → 𝜑) ↔ ∀𝑢 ∈ Word 𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) |
| 52 | | lencl 11015 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝑤 ∈ Word 𝑌 → (♯‘𝑤) ∈
ℕ0) |
| 53 | 52 | nn0zd 9508 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑤 ∈ Word 𝑌 → (♯‘𝑤) ∈ ℤ) |
| 54 | | 1zzd 9414 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑤 ∈ Word 𝑌 → 1 ∈ ℤ) |
| 55 | 53, 54 | zsubcld 9515 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑤 ∈ Word 𝑌 → ((♯‘𝑤) − 1) ∈ ℤ) |
| 56 | | pfxclz 11150 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝑤 ∈ Word 𝑌 ∧ ((♯‘𝑤) − 1) ∈ ℤ) → (𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌) |
| 57 | 55, 56 | mpdan 421 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑤 ∈ Word 𝑌 → (𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌) |
| 58 | 57 | adantr 276 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) → (𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌) |
| 59 | 58 | ad2antrl 490 |
. . . . . . . . . . . . . . 15
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌) |
| 60 | | simprll 537 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑤 ∈ Word 𝑌) |
| 61 | | eqeq1 2213 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢
((♯‘𝑥) =
(𝑚 + 1) →
((♯‘𝑥) =
(♯‘𝑤) ↔
(𝑚 + 1) =
(♯‘𝑤))) |
| 62 | | nn0p1nn 9349 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (𝑚 ∈ ℕ0
→ (𝑚 + 1) ∈
ℕ) |
| 63 | | eleq1 2269 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢
((♯‘𝑤) =
(𝑚 + 1) →
((♯‘𝑤) ∈
ℕ ↔ (𝑚 + 1)
∈ ℕ)) |
| 64 | 63 | eqcoms 2209 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ ((𝑚 + 1) = (♯‘𝑤) → ((♯‘𝑤) ∈ ℕ ↔ (𝑚 + 1) ∈
ℕ)) |
| 65 | 62, 64 | imbitrrid 156 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝑚 + 1) = (♯‘𝑤) → (𝑚 ∈ ℕ0 →
(♯‘𝑤) ∈
ℕ)) |
| 66 | 61, 65 | biimtrdi 163 |
. . . . . . . . . . . . . . . . . . . . 21
⊢
((♯‘𝑥) =
(𝑚 + 1) →
((♯‘𝑥) =
(♯‘𝑤) →
(𝑚 ∈
ℕ0 → (♯‘𝑤) ∈ ℕ))) |
| 67 | 66 | impcom 125 |
. . . . . . . . . . . . . . . . . . . 20
⊢
(((♯‘𝑥)
= (♯‘𝑤) ∧
(♯‘𝑥) = (𝑚 + 1)) → (𝑚 ∈ ℕ0
→ (♯‘𝑤)
∈ ℕ)) |
| 68 | 67 | adantl 277 |
. . . . . . . . . . . . . . . . . . 19
⊢ (((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1))) → (𝑚 ∈ ℕ0 →
(♯‘𝑤) ∈
ℕ)) |
| 69 | 68 | impcom 125 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘𝑤) ∈
ℕ) |
| 70 | 69 | nnge1d 9094 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 1 ≤ (♯‘𝑤)) |
| 71 | | wrdlenge1n0 11044 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑤 ∈ Word 𝑌 → (𝑤 ≠ ∅ ↔ 1 ≤
(♯‘𝑤))) |
| 72 | 60, 71 | syl 14 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (𝑤 ≠ ∅ ↔ 1 ≤
(♯‘𝑤))) |
| 73 | 70, 72 | mpbird 167 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑤 ≠ ∅) |
| 74 | | lswcl 11061 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑤 ∈ Word 𝑌 ∧ 𝑤 ≠ ∅) → (lastS‘𝑤) ∈ 𝑌) |
| 75 | 60, 73, 74 | syl2anc 411 |
. . . . . . . . . . . . . . 15
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (lastS‘𝑤) ∈ 𝑌) |
| 76 | 59, 75 | jca 306 |
. . . . . . . . . . . . . 14
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌 ∧ (lastS‘𝑤) ∈ 𝑌)) |
| 77 | | lencl 11015 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑥 ∈ Word 𝑋 → (♯‘𝑥) ∈
ℕ0) |
| 78 | 77 | nn0zd 9508 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑥 ∈ Word 𝑋 → (♯‘𝑥) ∈ ℤ) |
| 79 | | 1zzd 9414 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑥 ∈ Word 𝑋 → 1 ∈ ℤ) |
| 80 | 78, 79 | zsubcld 9515 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑥 ∈ Word 𝑋 → ((♯‘𝑥) − 1) ∈ ℤ) |
| 81 | | pfxclz 11150 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑥 ∈ Word 𝑋 ∧ ((♯‘𝑥) − 1) ∈ ℤ) → (𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋) |
| 82 | 80, 81 | mpdan 421 |
. . . . . . . . . . . . . . . 16
⊢ (𝑥 ∈ Word 𝑋 → (𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋) |
| 83 | 82 | adantl 277 |
. . . . . . . . . . . . . . 15
⊢ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) → (𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋) |
| 84 | 83 | ad2antrl 490 |
. . . . . . . . . . . . . 14
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋) |
| 85 | | simprlr 538 |
. . . . . . . . . . . . . . 15
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑥 ∈ Word 𝑋) |
| 86 | | eleq1 2269 |
. . . . . . . . . . . . . . . . . . . 20
⊢
((♯‘𝑥) =
(𝑚 + 1) →
((♯‘𝑥) ∈
ℕ ↔ (𝑚 + 1)
∈ ℕ)) |
| 87 | 62, 86 | imbitrrid 156 |
. . . . . . . . . . . . . . . . . . 19
⊢
((♯‘𝑥) =
(𝑚 + 1) → (𝑚 ∈ ℕ0
→ (♯‘𝑥)
∈ ℕ)) |
| 88 | 87 | ad2antll 491 |
. . . . . . . . . . . . . . . . . 18
⊢ (((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1))) → (𝑚 ∈ ℕ0 →
(♯‘𝑥) ∈
ℕ)) |
| 89 | 88 | impcom 125 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘𝑥) ∈
ℕ) |
| 90 | 89 | nnge1d 9094 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 1 ≤ (♯‘𝑥)) |
| 91 | | wrdlenge1n0 11044 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑥 ∈ Word 𝑋 → (𝑥 ≠ ∅ ↔ 1 ≤
(♯‘𝑥))) |
| 92 | 85, 91 | syl 14 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (𝑥 ≠ ∅ ↔ 1 ≤
(♯‘𝑥))) |
| 93 | 90, 92 | mpbird 167 |
. . . . . . . . . . . . . . 15
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑥 ≠ ∅) |
| 94 | | lswcl 11061 |
. . . . . . . . . . . . . . 15
⊢ ((𝑥 ∈ Word 𝑋 ∧ 𝑥 ≠ ∅) → (lastS‘𝑥) ∈ 𝑋) |
| 95 | 85, 93, 94 | syl2anc 411 |
. . . . . . . . . . . . . 14
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (lastS‘𝑥) ∈ 𝑋) |
| 96 | 76, 84, 95 | jca32 310 |
. . . . . . . . . . . . 13
⊢ ((𝑚 ∈ ℕ0
∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (((𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌 ∧ (lastS‘𝑤) ∈ 𝑌) ∧ ((𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋 ∧ (lastS‘𝑥) ∈ 𝑋))) |
| 97 | 96 | adantlr 477 |
. . . . . . . . . . . 12
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (((𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌 ∧ (lastS‘𝑤) ∈ 𝑌) ∧ ((𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋 ∧ (lastS‘𝑥) ∈ 𝑋))) |
| 98 | | simprl 529 |
. . . . . . . . . . . . . 14
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋)) |
| 99 | | simplr 528 |
. . . . . . . . . . . . . 14
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ∀𝑢 ∈ Word 𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) |
| 100 | | simprrl 539 |
. . . . . . . . . . . . . . . . 17
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘𝑥) = (♯‘𝑤)) |
| 101 | 100 | oveq1d 5971 |
. . . . . . . . . . . . . . . 16
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘𝑥) − 1) =
((♯‘𝑤) −
1)) |
| 102 | | simprlr 538 |
. . . . . . . . . . . . . . . . 17
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑥 ∈ Word 𝑋) |
| 103 | | fzossfz 10303 |
. . . . . . . . . . . . . . . . . 18
⊢
(0..^(♯‘𝑥)) ⊆ (0...(♯‘𝑥)) |
| 104 | | simprrr 540 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘𝑥) = (𝑚 + 1)) |
| 105 | 62 | ad2antrr 488 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (𝑚 + 1) ∈ ℕ) |
| 106 | 104, 105 | eqeltrd 2283 |
. . . . . . . . . . . . . . . . . . 19
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘𝑥) ∈
ℕ) |
| 107 | | fzo0end 10369 |
. . . . . . . . . . . . . . . . . . 19
⊢
((♯‘𝑥)
∈ ℕ → ((♯‘𝑥) − 1) ∈ (0..^(♯‘𝑥))) |
| 108 | 106, 107 | syl 14 |
. . . . . . . . . . . . . . . . . 18
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘𝑥) − 1) ∈
(0..^(♯‘𝑥))) |
| 109 | 103, 108 | sselid 3195 |
. . . . . . . . . . . . . . . . 17
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘𝑥) − 1) ∈
(0...(♯‘𝑥))) |
| 110 | | pfxlen 11156 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑥 ∈ Word 𝑋 ∧ ((♯‘𝑥) − 1) ∈ (0...(♯‘𝑥))) → (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) =
((♯‘𝑥) −
1)) |
| 111 | 102, 109,
110 | syl2anc 411 |
. . . . . . . . . . . . . . . 16
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) =
((♯‘𝑥) −
1)) |
| 112 | | simprll 537 |
. . . . . . . . . . . . . . . . 17
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑤 ∈ Word 𝑌) |
| 113 | | oveq1 5963 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢
((♯‘𝑤) =
(♯‘𝑥) →
((♯‘𝑤) −
1) = ((♯‘𝑥)
− 1)) |
| 114 | | oveq2 5964 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢
((♯‘𝑤) =
(♯‘𝑥) →
(0...(♯‘𝑤)) =
(0...(♯‘𝑥))) |
| 115 | 113, 114 | eleq12d 2277 |
. . . . . . . . . . . . . . . . . . . . 21
⊢
((♯‘𝑤) =
(♯‘𝑥) →
(((♯‘𝑤) −
1) ∈ (0...(♯‘𝑤)) ↔ ((♯‘𝑥) − 1) ∈ (0...(♯‘𝑥)))) |
| 116 | 115 | eqcoms 2209 |
. . . . . . . . . . . . . . . . . . . 20
⊢
((♯‘𝑥) =
(♯‘𝑤) →
(((♯‘𝑤) −
1) ∈ (0...(♯‘𝑤)) ↔ ((♯‘𝑥) − 1) ∈ (0...(♯‘𝑥)))) |
| 117 | 116 | adantr 276 |
. . . . . . . . . . . . . . . . . . 19
⊢
(((♯‘𝑥)
= (♯‘𝑤) ∧
(♯‘𝑥) = (𝑚 + 1)) →
(((♯‘𝑤) −
1) ∈ (0...(♯‘𝑤)) ↔ ((♯‘𝑥) − 1) ∈ (0...(♯‘𝑥)))) |
| 118 | 117 | ad2antll 491 |
. . . . . . . . . . . . . . . . . 18
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (((♯‘𝑤) − 1) ∈
(0...(♯‘𝑤))
↔ ((♯‘𝑥)
− 1) ∈ (0...(♯‘𝑥)))) |
| 119 | 109, 118 | mpbird 167 |
. . . . . . . . . . . . . . . . 17
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘𝑤) − 1) ∈
(0...(♯‘𝑤))) |
| 120 | | pfxlen 11156 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑤 ∈ Word 𝑌 ∧ ((♯‘𝑤) − 1) ∈ (0...(♯‘𝑤))) → (♯‘(𝑤 prefix ((♯‘𝑤) − 1))) =
((♯‘𝑤) −
1)) |
| 121 | 112, 119,
120 | syl2anc 411 |
. . . . . . . . . . . . . . . 16
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘(𝑤 prefix ((♯‘𝑤) − 1))) =
((♯‘𝑤) −
1)) |
| 122 | 101, 111,
121 | 3eqtr4d 2249 |
. . . . . . . . . . . . . . 15
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) =
(♯‘(𝑤 prefix
((♯‘𝑤) −
1)))) |
| 123 | 104 | oveq1d 5971 |
. . . . . . . . . . . . . . . 16
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘𝑥) − 1) = ((𝑚 + 1) −
1)) |
| 124 | | nn0cn 9320 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑚 ∈ ℕ0
→ 𝑚 ∈
ℂ) |
| 125 | 124 | ad2antrr 488 |
. . . . . . . . . . . . . . . . 17
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑚 ∈ ℂ) |
| 126 | | ax-1cn 8033 |
. . . . . . . . . . . . . . . . 17
⊢ 1 ∈
ℂ |
| 127 | | pncan 8293 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑚 ∈ ℂ ∧ 1 ∈
ℂ) → ((𝑚 + 1)
− 1) = 𝑚) |
| 128 | 125, 126,
127 | sylancl 413 |
. . . . . . . . . . . . . . . 16
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((𝑚 + 1) − 1) = 𝑚) |
| 129 | 111, 123,
128 | 3eqtrd 2243 |
. . . . . . . . . . . . . . 15
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚) |
| 130 | 122, 129 | jca 306 |
. . . . . . . . . . . . . 14
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘(𝑥 prefix ((♯‘𝑥) − 1))) =
(♯‘(𝑤 prefix
((♯‘𝑤) −
1))) ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚)) |
| 131 | 83 | adantr 276 |
. . . . . . . . . . . . . . . 16
⊢ (((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) → (𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋) |
| 132 | | fveq2 5588 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → (♯‘𝑦) = (♯‘(𝑥 prefix ((♯‘𝑥) − 1)))) |
| 133 | | fveq2 5588 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → (♯‘𝑢) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) |
| 134 | 132, 133 | eqeqan12d 2222 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) → ((♯‘𝑦) = (♯‘𝑢) ↔ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) =
(♯‘(𝑤 prefix
((♯‘𝑤) −
1))))) |
| 135 | 134 | expcom 116 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → ((♯‘𝑦) = (♯‘𝑢) ↔ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) =
(♯‘(𝑤 prefix
((♯‘𝑤) −
1)))))) |
| 136 | 135 | adantl 277 |
. . . . . . . . . . . . . . . . . . 19
⊢ (((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) → (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → ((♯‘𝑦) = (♯‘𝑢) ↔ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) =
(♯‘(𝑤 prefix
((♯‘𝑤) −
1)))))) |
| 137 | 136 | imp 124 |
. . . . . . . . . . . . . . . . . 18
⊢ ((((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → ((♯‘𝑦) = (♯‘𝑢) ↔ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) =
(♯‘(𝑤 prefix
((♯‘𝑤) −
1))))) |
| 138 | | fveqeq2 5597 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → ((♯‘𝑦) = 𝑚 ↔ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚)) |
| 139 | 138 | adantl 277 |
. . . . . . . . . . . . . . . . . 18
⊢ ((((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → ((♯‘𝑦) = 𝑚 ↔ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚)) |
| 140 | 137, 139 | anbi12d 473 |
. . . . . . . . . . . . . . . . 17
⊢ ((((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → (((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) ↔ ((♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1))) ∧
(♯‘(𝑥 prefix
((♯‘𝑥) −
1))) = 𝑚))) |
| 141 | | vex 2776 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ 𝑦 ∈ V |
| 142 | | vex 2776 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ 𝑢 ∈ V |
| 143 | 141, 142,
47 | sbc2ie 3074 |
. . . . . . . . . . . . . . . . . . . 20
⊢
([𝑦 / 𝑥][𝑢 / 𝑤]𝜑 ↔ 𝜒) |
| 144 | 143 | bicomi 132 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝜒 ↔ [𝑦 / 𝑥][𝑢 / 𝑤]𝜑) |
| 145 | 144 | a1i 9 |
. . . . . . . . . . . . . . . . . 18
⊢ ((((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → (𝜒 ↔ [𝑦 / 𝑥][𝑢 / 𝑤]𝜑)) |
| 146 | | simpr 110 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) |
| 147 | 146 | sbceq1d 3007 |
. . . . . . . . . . . . . . . . . 18
⊢ ((((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → ([𝑦 / 𝑥][𝑢 / 𝑤]𝜑 ↔ [(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][𝑢 / 𝑤]𝜑)) |
| 148 | | dfsbcq 3004 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → ([𝑢 / 𝑤]𝜑 ↔ [(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑)) |
| 149 | 148 | sbcbidv 3061 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → ([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][𝑢 / 𝑤]𝜑 ↔ [(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑)) |
| 150 | 149 | adantl 277 |
. . . . . . . . . . . . . . . . . . 19
⊢ (((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) → ([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][𝑢 / 𝑤]𝜑 ↔ [(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑)) |
| 151 | 150 | adantr 276 |
. . . . . . . . . . . . . . . . . 18
⊢ ((((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → ([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][𝑢 / 𝑤]𝜑 ↔ [(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑)) |
| 152 | 145, 147,
151 | 3bitrd 214 |
. . . . . . . . . . . . . . . . 17
⊢ ((((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → (𝜒 ↔ [(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑)) |
| 153 | 140, 152 | imbi12d 234 |
. . . . . . . . . . . . . . . 16
⊢ ((((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → ((((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒) ↔ (((♯‘(𝑥 prefix ((♯‘𝑥) − 1))) =
(♯‘(𝑤 prefix
((♯‘𝑤) −
1))) ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚) → [(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑))) |
| 154 | 131, 153 | rspcdv 2884 |
. . . . . . . . . . . . . . 15
⊢ (((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) → (∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒) → (((♯‘(𝑥 prefix ((♯‘𝑥) − 1))) =
(♯‘(𝑤 prefix
((♯‘𝑤) −
1))) ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚) → [(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑))) |
| 155 | 58, 154 | rspcimdv 2882 |
. . . . . . . . . . . . . 14
⊢ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) → (∀𝑢 ∈ Word 𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒) → (((♯‘(𝑥 prefix ((♯‘𝑥) − 1))) =
(♯‘(𝑤 prefix
((♯‘𝑤) −
1))) ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚) → [(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑))) |
| 156 | 98, 99, 130, 155 | syl3c 63 |
. . . . . . . . . . . . 13
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → [(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑) |
| 157 | 156, 122 | jca 306 |
. . . . . . . . . . . 12
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) −
1))))) |
| 158 | | dfsbcq 3004 |
. . . . . . . . . . . . . . . 16
⊢ (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 ↔ [(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤][𝑦 / 𝑥]𝜑)) |
| 159 | | sbccom 3078 |
. . . . . . . . . . . . . . . 16
⊢
([(𝑤 prefix
((♯‘𝑤) −
1)) / 𝑤][𝑦 / 𝑥]𝜑 ↔ [𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑) |
| 160 | 158, 159 | bitrdi 196 |
. . . . . . . . . . . . . . 15
⊢ (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 ↔ [𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑)) |
| 161 | 133 | eqeq2d 2218 |
. . . . . . . . . . . . . . 15
⊢ (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → ((♯‘𝑦) = (♯‘𝑢) ↔ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) −
1))))) |
| 162 | 160, 161 | anbi12d 473 |
. . . . . . . . . . . . . 14
⊢ (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → (([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 ∧ (♯‘𝑦) = (♯‘𝑢)) ↔ ([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))))) |
| 163 | | oveq1 5963 |
. . . . . . . . . . . . . . 15
⊢ (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → (𝑢 ++ 〈“𝑠”〉) = ((𝑤 prefix ((♯‘𝑤) − 1)) ++ 〈“𝑠”〉)) |
| 164 | 163 | sbceq1d 3007 |
. . . . . . . . . . . . . 14
⊢ (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → ([(𝑢 ++ 〈“𝑠”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑 ↔ [((𝑤 prefix ((♯‘𝑤) − 1)) ++ 〈“𝑠”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑)) |
| 165 | 162, 164 | imbi12d 234 |
. . . . . . . . . . . . 13
⊢ (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → ((([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 ∧ (♯‘𝑦) = (♯‘𝑢)) → [(𝑢 ++ 〈“𝑠”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑) ↔ (([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“𝑠”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑))) |
| 166 | | s1eq 11091 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑠 = (lastS‘𝑤) → 〈“𝑠”〉 =
〈“(lastS‘𝑤)”〉) |
| 167 | 166 | oveq2d 5972 |
. . . . . . . . . . . . . . . 16
⊢ (𝑠 = (lastS‘𝑤) → ((𝑤 prefix ((♯‘𝑤) − 1)) ++ 〈“𝑠”〉) = ((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉)) |
| 168 | 167 | sbceq1d 3007 |
. . . . . . . . . . . . . . 15
⊢ (𝑠 = (lastS‘𝑤) → ([((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“𝑠”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑 ↔ [((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑)) |
| 169 | 168 | imbi2d 230 |
. . . . . . . . . . . . . 14
⊢ (𝑠 = (lastS‘𝑤) → ((([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“𝑠”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑) ↔ (([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑))) |
| 170 | | sbccom 3078 |
. . . . . . . . . . . . . . . 16
⊢
([((𝑤 prefix
((♯‘𝑤) −
1)) ++ 〈“(lastS‘𝑤)”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑 ↔ [(𝑦 ++ 〈“𝑧”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑) |
| 171 | 170 | a1i 9 |
. . . . . . . . . . . . . . 15
⊢ (𝑠 = (lastS‘𝑤) → ([((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑 ↔ [(𝑦 ++ 〈“𝑧”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑)) |
| 172 | 171 | imbi2d 230 |
. . . . . . . . . . . . . 14
⊢ (𝑠 = (lastS‘𝑤) → ((([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑) ↔ (([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [(𝑦 ++ 〈“𝑧”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑))) |
| 173 | 169, 172 | bitrd 188 |
. . . . . . . . . . . . 13
⊢ (𝑠 = (lastS‘𝑤) → ((([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“𝑠”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑) ↔ (([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [(𝑦 ++ 〈“𝑧”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑))) |
| 174 | | dfsbcq 3004 |
. . . . . . . . . . . . . . 15
⊢ (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → ([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ↔ [(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑)) |
| 175 | | fveqeq2 5597 |
. . . . . . . . . . . . . . 15
⊢ (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → ((♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1))) ↔
(♯‘(𝑥 prefix
((♯‘𝑥) −
1))) = (♯‘(𝑤
prefix ((♯‘𝑤)
− 1))))) |
| 176 | 174, 175 | anbi12d 473 |
. . . . . . . . . . . . . 14
⊢ (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → (([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) ↔ ([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) −
1)))))) |
| 177 | | oveq1 5963 |
. . . . . . . . . . . . . . 15
⊢ (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → (𝑦 ++ 〈“𝑧”〉) = ((𝑥 prefix ((♯‘𝑥) − 1)) ++ 〈“𝑧”〉)) |
| 178 | 177 | sbceq1d 3007 |
. . . . . . . . . . . . . 14
⊢ (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → ([(𝑦 ++ 〈“𝑧”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑 ↔ [((𝑥 prefix ((♯‘𝑥) − 1)) ++ 〈“𝑧”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑)) |
| 179 | 176, 178 | imbi12d 234 |
. . . . . . . . . . . . 13
⊢ (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → ((([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [(𝑦 ++ 〈“𝑧”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑) ↔ (([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) →
[((𝑥 prefix
((♯‘𝑥) −
1)) ++ 〈“𝑧”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑))) |
| 180 | | s1eq 11091 |
. . . . . . . . . . . . . . . 16
⊢ (𝑧 = (lastS‘𝑥) → 〈“𝑧”〉 =
〈“(lastS‘𝑥)”〉) |
| 181 | 180 | oveq2d 5972 |
. . . . . . . . . . . . . . 15
⊢ (𝑧 = (lastS‘𝑥) → ((𝑥 prefix ((♯‘𝑥) − 1)) ++ 〈“𝑧”〉) = ((𝑥 prefix ((♯‘𝑥) − 1)) ++
〈“(lastS‘𝑥)”〉)) |
| 182 | 181 | sbceq1d 3007 |
. . . . . . . . . . . . . 14
⊢ (𝑧 = (lastS‘𝑥) → ([((𝑥 prefix ((♯‘𝑥) − 1)) ++
〈“𝑧”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑 ↔ [((𝑥 prefix ((♯‘𝑥) − 1)) ++
〈“(lastS‘𝑥)”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑)) |
| 183 | 182 | imbi2d 230 |
. . . . . . . . . . . . 13
⊢ (𝑧 = (lastS‘𝑥) → ((([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) →
[((𝑥 prefix
((♯‘𝑥) −
1)) ++ 〈“𝑧”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑) ↔ (([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) →
[((𝑥 prefix
((♯‘𝑥) −
1)) ++ 〈“(lastS‘𝑥)”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑))) |
| 184 | | simplr 528 |
. . . . . . . . . . . . . . . . 17
⊢ ((((𝑢 ∈ Word 𝑌 ∧ 𝑠 ∈ 𝑌) ∧ (𝑦 ∈ Word 𝑋 ∧ 𝑧 ∈ 𝑋)) ∧ (♯‘𝑦) = (♯‘𝑢)) → (𝑦 ∈ Word 𝑋 ∧ 𝑧 ∈ 𝑋)) |
| 185 | | simpll 527 |
. . . . . . . . . . . . . . . . 17
⊢ ((((𝑢 ∈ Word 𝑌 ∧ 𝑠 ∈ 𝑌) ∧ (𝑦 ∈ Word 𝑋 ∧ 𝑧 ∈ 𝑋)) ∧ (♯‘𝑦) = (♯‘𝑢)) → (𝑢 ∈ Word 𝑌 ∧ 𝑠 ∈ 𝑌)) |
| 186 | | simpr 110 |
. . . . . . . . . . . . . . . . 17
⊢ ((((𝑢 ∈ Word 𝑌 ∧ 𝑠 ∈ 𝑌) ∧ (𝑦 ∈ Word 𝑋 ∧ 𝑧 ∈ 𝑋)) ∧ (♯‘𝑦) = (♯‘𝑢)) → (♯‘𝑦) = (♯‘𝑢)) |
| 187 | | wrd2ind.7 |
. . . . . . . . . . . . . . . . 17
⊢ (((𝑦 ∈ Word 𝑋 ∧ 𝑧 ∈ 𝑋) ∧ (𝑢 ∈ Word 𝑌 ∧ 𝑠 ∈ 𝑌) ∧ (♯‘𝑦) = (♯‘𝑢)) → (𝜒 → 𝜃)) |
| 188 | 184, 185,
186, 187 | syl3anc 1250 |
. . . . . . . . . . . . . . . 16
⊢ ((((𝑢 ∈ Word 𝑌 ∧ 𝑠 ∈ 𝑌) ∧ (𝑦 ∈ Word 𝑋 ∧ 𝑧 ∈ 𝑋)) ∧ (♯‘𝑦) = (♯‘𝑢)) → (𝜒 → 𝜃)) |
| 189 | 47 | ancoms 268 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝑤 = 𝑢 ∧ 𝑥 = 𝑦) → (𝜑 ↔ 𝜒)) |
| 190 | 142, 141,
189 | sbc2ie 3074 |
. . . . . . . . . . . . . . . . 17
⊢
([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 ↔ 𝜒) |
| 191 | 190 | a1i 9 |
. . . . . . . . . . . . . . . 16
⊢ ((((𝑢 ∈ Word 𝑌 ∧ 𝑠 ∈ 𝑌) ∧ (𝑦 ∈ Word 𝑋 ∧ 𝑧 ∈ 𝑋)) ∧ (♯‘𝑦) = (♯‘𝑢)) → ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 ↔ 𝜒)) |
| 192 | | ccatws1cl 11104 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝑢 ∈ Word 𝑌 ∧ 𝑠 ∈ 𝑌) → (𝑢 ++ 〈“𝑠”〉) ∈ Word 𝑌) |
| 193 | 192 | ad2antrr 488 |
. . . . . . . . . . . . . . . . 17
⊢ ((((𝑢 ∈ Word 𝑌 ∧ 𝑠 ∈ 𝑌) ∧ (𝑦 ∈ Word 𝑋 ∧ 𝑧 ∈ 𝑋)) ∧ (♯‘𝑦) = (♯‘𝑢)) → (𝑢 ++ 〈“𝑠”〉) ∈ Word 𝑌) |
| 194 | | ccatws1cl 11104 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝑦 ∈ Word 𝑋 ∧ 𝑧 ∈ 𝑋) → (𝑦 ++ 〈“𝑧”〉) ∈ Word 𝑋) |
| 195 | 184, 194 | syl 14 |
. . . . . . . . . . . . . . . . 17
⊢ ((((𝑢 ∈ Word 𝑌 ∧ 𝑠 ∈ 𝑌) ∧ (𝑦 ∈ Word 𝑋 ∧ 𝑧 ∈ 𝑋)) ∧ (♯‘𝑦) = (♯‘𝑢)) → (𝑦 ++ 〈“𝑧”〉) ∈ Word 𝑋) |
| 196 | | nfv 1552 |
. . . . . . . . . . . . . . . . . 18
⊢
Ⅎ𝑤𝜃 |
| 197 | | nfv 1552 |
. . . . . . . . . . . . . . . . . 18
⊢
Ⅎ𝑥𝜃 |
| 198 | | nfv 1552 |
. . . . . . . . . . . . . . . . . 18
⊢
Ⅎ𝑤(𝑦 ++ 〈“𝑧”〉) ∈ Word 𝑋 |
| 199 | | wrd2ind.3 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝑥 = (𝑦 ++ 〈“𝑧”〉) ∧ 𝑤 = (𝑢 ++ 〈“𝑠”〉)) → (𝜑 ↔ 𝜃)) |
| 200 | 199 | ancoms 268 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝑤 = (𝑢 ++ 〈“𝑠”〉) ∧ 𝑥 = (𝑦 ++ 〈“𝑧”〉)) → (𝜑 ↔ 𝜃)) |
| 201 | 196, 197,
198, 200 | sbc2iegf 3073 |
. . . . . . . . . . . . . . . . 17
⊢ (((𝑢 ++ 〈“𝑠”〉) ∈ Word 𝑌 ∧ (𝑦 ++ 〈“𝑧”〉) ∈ Word 𝑋) → ([(𝑢 ++ 〈“𝑠”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑 ↔ 𝜃)) |
| 202 | 193, 195,
201 | syl2anc 411 |
. . . . . . . . . . . . . . . 16
⊢ ((((𝑢 ∈ Word 𝑌 ∧ 𝑠 ∈ 𝑌) ∧ (𝑦 ∈ Word 𝑋 ∧ 𝑧 ∈ 𝑋)) ∧ (♯‘𝑦) = (♯‘𝑢)) → ([(𝑢 ++ 〈“𝑠”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑 ↔ 𝜃)) |
| 203 | 188, 191,
202 | 3imtr4d 203 |
. . . . . . . . . . . . . . 15
⊢ ((((𝑢 ∈ Word 𝑌 ∧ 𝑠 ∈ 𝑌) ∧ (𝑦 ∈ Word 𝑋 ∧ 𝑧 ∈ 𝑋)) ∧ (♯‘𝑦) = (♯‘𝑢)) → ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 → [(𝑢 ++ 〈“𝑠”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑)) |
| 204 | 203 | ex 115 |
. . . . . . . . . . . . . 14
⊢ (((𝑢 ∈ Word 𝑌 ∧ 𝑠 ∈ 𝑌) ∧ (𝑦 ∈ Word 𝑋 ∧ 𝑧 ∈ 𝑋)) → ((♯‘𝑦) = (♯‘𝑢) → ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 → [(𝑢 ++ 〈“𝑠”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑))) |
| 205 | 204 | impcomd 255 |
. . . . . . . . . . . . 13
⊢ (((𝑢 ∈ Word 𝑌 ∧ 𝑠 ∈ 𝑌) ∧ (𝑦 ∈ Word 𝑋 ∧ 𝑧 ∈ 𝑋)) → (([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 ∧ (♯‘𝑦) = (♯‘𝑢)) → [(𝑢 ++ 〈“𝑠”〉) / 𝑤][(𝑦 ++ 〈“𝑧”〉) / 𝑥]𝜑)) |
| 206 | 165, 173,
179, 183, 205 | vtocl4ga 2847 |
. . . . . . . . . . . 12
⊢ ((((𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌 ∧ (lastS‘𝑤) ∈ 𝑌) ∧ ((𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋 ∧ (lastS‘𝑥) ∈ 𝑋)) → (([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) →
[((𝑥 prefix
((♯‘𝑥) −
1)) ++ 〈“(lastS‘𝑥)”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑)) |
| 207 | 97, 157, 206 | sylc 62 |
. . . . . . . . . . 11
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → [((𝑥 prefix ((♯‘𝑥) − 1)) ++
〈“(lastS‘𝑥)”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑) |
| 208 | | eqtr2 2225 |
. . . . . . . . . . . . . . . 16
⊢
(((♯‘𝑥)
= (♯‘𝑤) ∧
(♯‘𝑥) = (𝑚 + 1)) →
(♯‘𝑤) = (𝑚 + 1)) |
| 209 | 208 | ad2antll 491 |
. . . . . . . . . . . . . . 15
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘𝑤) = (𝑚 + 1)) |
| 210 | 209, 105 | eqeltrd 2283 |
. . . . . . . . . . . . . 14
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘𝑤) ∈
ℕ) |
| 211 | 21 | adantr 276 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) → 𝑤 ∈ Fin) |
| 212 | 211 | ad2antrl 490 |
. . . . . . . . . . . . . . 15
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑤 ∈ Fin) |
| 213 | | hashnncl 10957 |
. . . . . . . . . . . . . . 15
⊢ (𝑤 ∈ Fin →
((♯‘𝑤) ∈
ℕ ↔ 𝑤 ≠
∅)) |
| 214 | 212, 213 | syl 14 |
. . . . . . . . . . . . . 14
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘𝑤) ∈ ℕ ↔ 𝑤 ≠ ∅)) |
| 215 | 210, 214 | mpbid 147 |
. . . . . . . . . . . . 13
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑤 ≠ ∅) |
| 216 | | pfxlswccat 11184 |
. . . . . . . . . . . . . 14
⊢ ((𝑤 ∈ Word 𝑌 ∧ 𝑤 ≠ ∅) → ((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) = 𝑤) |
| 217 | 216 | eqcomd 2212 |
. . . . . . . . . . . . 13
⊢ ((𝑤 ∈ Word 𝑌 ∧ 𝑤 ≠ ∅) → 𝑤 = ((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉)) |
| 218 | 112, 215,
217 | syl2anc 411 |
. . . . . . . . . . . 12
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑤 = ((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉)) |
| 219 | 25 | adantl 277 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) → 𝑥 ∈ Fin) |
| 220 | 219 | ad2antrl 490 |
. . . . . . . . . . . . . . 15
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑥 ∈ Fin) |
| 221 | | hashnncl 10957 |
. . . . . . . . . . . . . . 15
⊢ (𝑥 ∈ Fin →
((♯‘𝑥) ∈
ℕ ↔ 𝑥 ≠
∅)) |
| 222 | 220, 221 | syl 14 |
. . . . . . . . . . . . . 14
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘𝑥) ∈ ℕ ↔ 𝑥 ≠ ∅)) |
| 223 | 106, 222 | mpbid 147 |
. . . . . . . . . . . . 13
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑥 ≠ ∅) |
| 224 | | pfxlswccat 11184 |
. . . . . . . . . . . . . 14
⊢ ((𝑥 ∈ Word 𝑋 ∧ 𝑥 ≠ ∅) → ((𝑥 prefix ((♯‘𝑥) − 1)) ++
〈“(lastS‘𝑥)”〉) = 𝑥) |
| 225 | 224 | eqcomd 2212 |
. . . . . . . . . . . . 13
⊢ ((𝑥 ∈ Word 𝑋 ∧ 𝑥 ≠ ∅) → 𝑥 = ((𝑥 prefix ((♯‘𝑥) − 1)) ++
〈“(lastS‘𝑥)”〉)) |
| 226 | 102, 223,
225 | syl2anc 411 |
. . . . . . . . . . . 12
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑥 = ((𝑥 prefix ((♯‘𝑥) − 1)) ++
〈“(lastS‘𝑥)”〉)) |
| 227 | | sbceq1a 3012 |
. . . . . . . . . . . . 13
⊢ (𝑤 = ((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) → (𝜑 ↔ [((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑)) |
| 228 | | sbceq1a 3012 |
. . . . . . . . . . . . 13
⊢ (𝑥 = ((𝑥 prefix ((♯‘𝑥) − 1)) ++
〈“(lastS‘𝑥)”〉) → ([((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑 ↔ [((𝑥 prefix ((♯‘𝑥) − 1)) ++
〈“(lastS‘𝑥)”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑)) |
| 229 | 227, 228 | sylan9bb 462 |
. . . . . . . . . . . 12
⊢ ((𝑤 = ((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) ∧ 𝑥 = ((𝑥 prefix ((♯‘𝑥) − 1)) ++
〈“(lastS‘𝑥)”〉)) → (𝜑 ↔ [((𝑥 prefix ((♯‘𝑥) − 1)) ++
〈“(lastS‘𝑥)”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑)) |
| 230 | 218, 226,
229 | syl2anc 411 |
. . . . . . . . . . 11
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (𝜑 ↔ [((𝑥 prefix ((♯‘𝑥) − 1)) ++
〈“(lastS‘𝑥)”〉) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++
〈“(lastS‘𝑤)”〉) / 𝑤]𝜑)) |
| 231 | 207, 230 | mpbird 167 |
. . . . . . . . . 10
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝜑) |
| 232 | 231 | expr 375 |
. . . . . . . . 9
⊢ (((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ (𝑤 ∈ Word 𝑌 ∧ 𝑥 ∈ Word 𝑋)) → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → 𝜑)) |
| 233 | 232 | ralrimivva 2589 |
. . . . . . . 8
⊢ ((𝑚 ∈ ℕ0
∧ ∀𝑢 ∈ Word
𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) → ∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → 𝜑)) |
| 234 | 233 | ex 115 |
. . . . . . 7
⊢ (𝑚 ∈ ℕ0
→ (∀𝑢 ∈
Word 𝑌∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒) → ∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → 𝜑))) |
| 235 | 51, 234 | biimtrid 152 |
. . . . . 6
⊢ (𝑚 ∈ ℕ0
→ (∀𝑤 ∈
Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) → 𝜑) → ∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → 𝜑))) |
| 236 | 5, 9, 13, 17, 40, 235 | nn0ind 9502 |
. . . . 5
⊢
((♯‘𝐴)
∈ ℕ0 → ∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑)) |
| 237 | 1, 236 | syl 14 |
. . . 4
⊢ (𝐴 ∈ Word 𝑋 → ∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑)) |
| 238 | 237 | 3ad2ant1 1021 |
. . 3
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ Word 𝑌 ∧ (♯‘𝐴) = (♯‘𝐵)) → ∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑)) |
| 239 | | fveq2 5588 |
. . . . . . . . 9
⊢ (𝑤 = 𝐵 → (♯‘𝑤) = (♯‘𝐵)) |
| 240 | 239 | eqeq2d 2218 |
. . . . . . . 8
⊢ (𝑤 = 𝐵 → ((♯‘𝑥) = (♯‘𝑤) ↔ (♯‘𝑥) = (♯‘𝐵))) |
| 241 | 240 | anbi1d 465 |
. . . . . . 7
⊢ (𝑤 = 𝐵 → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) ↔ ((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)))) |
| 242 | | wrd2ind.5 |
. . . . . . 7
⊢ (𝑤 = 𝐵 → (𝜑 ↔ 𝜌)) |
| 243 | 241, 242 | imbi12d 234 |
. . . . . 6
⊢ (𝑤 = 𝐵 → ((((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑) ↔ (((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌))) |
| 244 | 243 | ralbidv 2507 |
. . . . 5
⊢ (𝑤 = 𝐵 → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑) ↔ ∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌))) |
| 245 | 244 | rspcv 2877 |
. . . 4
⊢ (𝐵 ∈ Word 𝑌 → (∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑) → ∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌))) |
| 246 | 245 | 3ad2ant2 1022 |
. . 3
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ Word 𝑌 ∧ (♯‘𝐴) = (♯‘𝐵)) → (∀𝑤 ∈ Word 𝑌∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑) → ∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌))) |
| 247 | 238, 246 | mpd 13 |
. 2
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ Word 𝑌 ∧ (♯‘𝐴) = (♯‘𝐵)) → ∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌)) |
| 248 | | eqidd 2207 |
. 2
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ Word 𝑌 ∧ (♯‘𝐴) = (♯‘𝐵)) → (♯‘𝐴) = (♯‘𝐴)) |
| 249 | | fveqeq2 5597 |
. . . . . . . . . 10
⊢ (𝑥 = 𝐴 → ((♯‘𝑥) = (♯‘𝐵) ↔ (♯‘𝐴) = (♯‘𝐵))) |
| 250 | | fveqeq2 5597 |
. . . . . . . . . 10
⊢ (𝑥 = 𝐴 → ((♯‘𝑥) = (♯‘𝐴) ↔ (♯‘𝐴) = (♯‘𝐴))) |
| 251 | 249, 250 | anbi12d 473 |
. . . . . . . . 9
⊢ (𝑥 = 𝐴 → (((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) ↔ ((♯‘𝐴) = (♯‘𝐵) ∧ (♯‘𝐴) = (♯‘𝐴)))) |
| 252 | | wrd2ind.4 |
. . . . . . . . 9
⊢ (𝑥 = 𝐴 → (𝜌 ↔ 𝜏)) |
| 253 | 251, 252 | imbi12d 234 |
. . . . . . . 8
⊢ (𝑥 = 𝐴 → ((((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌) ↔ (((♯‘𝐴) = (♯‘𝐵) ∧ (♯‘𝐴) = (♯‘𝐴)) → 𝜏))) |
| 254 | 253 | rspcv 2877 |
. . . . . . 7
⊢ (𝐴 ∈ Word 𝑋 → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌) → (((♯‘𝐴) = (♯‘𝐵) ∧ (♯‘𝐴) = (♯‘𝐴)) → 𝜏))) |
| 255 | 254 | com23 78 |
. . . . . 6
⊢ (𝐴 ∈ Word 𝑋 → (((♯‘𝐴) = (♯‘𝐵) ∧ (♯‘𝐴) = (♯‘𝐴)) → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌) → 𝜏))) |
| 256 | 255 | expd 258 |
. . . . 5
⊢ (𝐴 ∈ Word 𝑋 → ((♯‘𝐴) = (♯‘𝐵) → ((♯‘𝐴) = (♯‘𝐴) → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌) → 𝜏)))) |
| 257 | 256 | com34 83 |
. . . 4
⊢ (𝐴 ∈ Word 𝑋 → ((♯‘𝐴) = (♯‘𝐵) → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌) → ((♯‘𝐴) = (♯‘𝐴) → 𝜏)))) |
| 258 | 257 | imp 124 |
. . 3
⊢ ((𝐴 ∈ Word 𝑋 ∧ (♯‘𝐴) = (♯‘𝐵)) → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌) → ((♯‘𝐴) = (♯‘𝐴) → 𝜏))) |
| 259 | 258 | 3adant2 1019 |
. 2
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ Word 𝑌 ∧ (♯‘𝐴) = (♯‘𝐵)) → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌) → ((♯‘𝐴) = (♯‘𝐴) → 𝜏))) |
| 260 | 247, 248,
259 | mp2d 47 |
1
⊢ ((𝐴 ∈ Word 𝑋 ∧ 𝐵 ∈ Word 𝑌 ∧ (♯‘𝐴) = (♯‘𝐵)) → 𝜏) |