MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  wrd2ind Structured version   Visualization version   GIF version

Theorem wrd2ind 14646
Description: Perform induction over the structure of two words of the same length. (Contributed by AV, 23-Jan-2019.) (Proof shortened by AV, 12-Oct-2022.)
Hypotheses
Ref Expression
wrd2ind.1 ((𝑥 = ∅ ∧ 𝑤 = ∅) → (𝜑𝜓))
wrd2ind.2 ((𝑥 = 𝑦𝑤 = 𝑢) → (𝜑𝜒))
wrd2ind.3 ((𝑥 = (𝑦 ++ ⟨“𝑧”⟩) ∧ 𝑤 = (𝑢 ++ ⟨“𝑠”⟩)) → (𝜑𝜃))
wrd2ind.4 (𝑥 = 𝐴 → (𝜌𝜏))
wrd2ind.5 (𝑤 = 𝐵 → (𝜑𝜌))
wrd2ind.6 𝜓
wrd2ind.7 (((𝑦 ∈ Word 𝑋𝑧𝑋) ∧ (𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (♯‘𝑦) = (♯‘𝑢)) → (𝜒𝜃))
Assertion
Ref Expression
wrd2ind ((𝐴 ∈ Word 𝑋𝐵 ∈ Word 𝑌 ∧ (♯‘𝐴) = (♯‘𝐵)) → 𝜏)
Distinct variable groups:   𝑥,𝑤,𝐴   𝑦,𝑤,𝑧,𝐵,𝑥   𝑢,𝑠,𝑤,𝑥,𝑦,𝑧,𝑋   𝑌,𝑠,𝑢,𝑤,𝑥,𝑦,𝑧   𝜒,𝑤,𝑥   𝜑,𝑠,𝑢,𝑦,𝑧   𝜏,𝑥   𝜃,𝑤,𝑥   𝜌,𝑤
Allowed substitution hints:   𝜑(𝑥,𝑤)   𝜓(𝑥,𝑦,𝑧,𝑤,𝑢,𝑠)   𝜒(𝑦,𝑧,𝑢,𝑠)   𝜃(𝑦,𝑧,𝑢,𝑠)   𝜏(𝑦,𝑧,𝑤,𝑢,𝑠)   𝜌(𝑥,𝑦,𝑧,𝑢,𝑠)   𝐴(𝑦,𝑧,𝑢,𝑠)   𝐵(𝑢,𝑠)

Proof of Theorem wrd2ind
Dummy variables 𝑛 𝑚 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 lencl 14456 . . . . 5 (𝐴 ∈ Word 𝑋 → (♯‘𝐴) ∈ ℕ0)
2 eqeq2 2748 . . . . . . . . 9 (𝑛 = 0 → ((♯‘𝑥) = 𝑛 ↔ (♯‘𝑥) = 0))
32anbi2d 630 . . . . . . . 8 (𝑛 = 0 → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) ↔ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 0)))
43imbi1d 341 . . . . . . 7 (𝑛 = 0 → ((((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 0) → 𝜑)))
542ralbidv 3200 . . . . . 6 (𝑛 = 0 → (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 0) → 𝜑)))
6 eqeq2 2748 . . . . . . . . 9 (𝑛 = 𝑚 → ((♯‘𝑥) = 𝑛 ↔ (♯‘𝑥) = 𝑚))
76anbi2d 630 . . . . . . . 8 (𝑛 = 𝑚 → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) ↔ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚)))
87imbi1d 341 . . . . . . 7 (𝑛 = 𝑚 → ((((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) → 𝜑)))
982ralbidv 3200 . . . . . 6 (𝑛 = 𝑚 → (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) → 𝜑)))
10 eqeq2 2748 . . . . . . . . 9 (𝑛 = (𝑚 + 1) → ((♯‘𝑥) = 𝑛 ↔ (♯‘𝑥) = (𝑚 + 1)))
1110anbi2d 630 . . . . . . . 8 (𝑛 = (𝑚 + 1) → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) ↔ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1))))
1211imbi1d 341 . . . . . . 7 (𝑛 = (𝑚 + 1) → ((((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → 𝜑)))
13122ralbidv 3200 . . . . . 6 (𝑛 = (𝑚 + 1) → (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → 𝜑)))
14 eqeq2 2748 . . . . . . . . 9 (𝑛 = (♯‘𝐴) → ((♯‘𝑥) = 𝑛 ↔ (♯‘𝑥) = (♯‘𝐴)))
1514anbi2d 630 . . . . . . . 8 (𝑛 = (♯‘𝐴) → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) ↔ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴))))
1615imbi1d 341 . . . . . . 7 (𝑛 = (♯‘𝐴) → ((((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑)))
17162ralbidv 3200 . . . . . 6 (𝑛 = (♯‘𝐴) → (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑛) → 𝜑) ↔ ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑)))
18 eqeq1 2740 . . . . . . . . . . 11 ((♯‘𝑥) = 0 → ((♯‘𝑥) = (♯‘𝑤) ↔ 0 = (♯‘𝑤)))
1918adantl 481 . . . . . . . . . 10 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ (♯‘𝑥) = 0) → ((♯‘𝑥) = (♯‘𝑤) ↔ 0 = (♯‘𝑤)))
20 eqcom 2743 . . . . . . . . . . . . . 14 (0 = (♯‘𝑤) ↔ (♯‘𝑤) = 0)
21 hasheq0 14286 . . . . . . . . . . . . . 14 (𝑤 ∈ Word 𝑌 → ((♯‘𝑤) = 0 ↔ 𝑤 = ∅))
2220, 21bitrid 283 . . . . . . . . . . . . 13 (𝑤 ∈ Word 𝑌 → (0 = (♯‘𝑤) ↔ 𝑤 = ∅))
23 hasheq0 14286 . . . . . . . . . . . . . . 15 (𝑥 ∈ Word 𝑋 → ((♯‘𝑥) = 0 ↔ 𝑥 = ∅))
24 wrd2ind.6 . . . . . . . . . . . . . . . . 17 𝜓
25 wrd2ind.1 . . . . . . . . . . . . . . . . 17 ((𝑥 = ∅ ∧ 𝑤 = ∅) → (𝜑𝜓))
2624, 25mpbiri 258 . . . . . . . . . . . . . . . 16 ((𝑥 = ∅ ∧ 𝑤 = ∅) → 𝜑)
2726ex 412 . . . . . . . . . . . . . . 15 (𝑥 = ∅ → (𝑤 = ∅ → 𝜑))
2823, 27biimtrdi 253 . . . . . . . . . . . . . 14 (𝑥 ∈ Word 𝑋 → ((♯‘𝑥) = 0 → (𝑤 = ∅ → 𝜑)))
2928com13 88 . . . . . . . . . . . . 13 (𝑤 = ∅ → ((♯‘𝑥) = 0 → (𝑥 ∈ Word 𝑋𝜑)))
3022, 29biimtrdi 253 . . . . . . . . . . . 12 (𝑤 ∈ Word 𝑌 → (0 = (♯‘𝑤) → ((♯‘𝑥) = 0 → (𝑥 ∈ Word 𝑋𝜑))))
3130com24 95 . . . . . . . . . . 11 (𝑤 ∈ Word 𝑌 → (𝑥 ∈ Word 𝑋 → ((♯‘𝑥) = 0 → (0 = (♯‘𝑤) → 𝜑))))
3231imp31 417 . . . . . . . . . 10 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ (♯‘𝑥) = 0) → (0 = (♯‘𝑤) → 𝜑))
3319, 32sylbid 240 . . . . . . . . 9 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ (♯‘𝑥) = 0) → ((♯‘𝑥) = (♯‘𝑤) → 𝜑))
3433ex 412 . . . . . . . 8 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → ((♯‘𝑥) = 0 → ((♯‘𝑥) = (♯‘𝑤) → 𝜑)))
3534impcomd 411 . . . . . . 7 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 0) → 𝜑))
3635rgen2 3176 . . . . . 6 𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 0) → 𝜑)
37 fveq2 6834 . . . . . . . . . . . . 13 (𝑥 = 𝑦 → (♯‘𝑥) = (♯‘𝑦))
38 fveq2 6834 . . . . . . . . . . . . 13 (𝑤 = 𝑢 → (♯‘𝑤) = (♯‘𝑢))
3937, 38eqeqan12d 2750 . . . . . . . . . . . 12 ((𝑥 = 𝑦𝑤 = 𝑢) → ((♯‘𝑥) = (♯‘𝑤) ↔ (♯‘𝑦) = (♯‘𝑢)))
40 fveqeq2 6843 . . . . . . . . . . . . 13 (𝑥 = 𝑦 → ((♯‘𝑥) = 𝑚 ↔ (♯‘𝑦) = 𝑚))
4140adantr 480 . . . . . . . . . . . 12 ((𝑥 = 𝑦𝑤 = 𝑢) → ((♯‘𝑥) = 𝑚 ↔ (♯‘𝑦) = 𝑚))
4239, 41anbi12d 632 . . . . . . . . . . 11 ((𝑥 = 𝑦𝑤 = 𝑢) → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) ↔ ((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚)))
43 wrd2ind.2 . . . . . . . . . . 11 ((𝑥 = 𝑦𝑤 = 𝑢) → (𝜑𝜒))
4442, 43imbi12d 344 . . . . . . . . . 10 ((𝑥 = 𝑦𝑤 = 𝑢) → ((((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) → 𝜑) ↔ (((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)))
4544ancoms 458 . . . . . . . . 9 ((𝑤 = 𝑢𝑥 = 𝑦) → ((((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) → 𝜑) ↔ (((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)))
4645cbvraldva 3216 . . . . . . . 8 (𝑤 = 𝑢 → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) → 𝜑) ↔ ∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)))
4746cbvralvw 3214 . . . . . . 7 (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) → 𝜑) ↔ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒))
48 pfxcl 14601 . . . . . . . . . . . . . . . . 17 (𝑤 ∈ Word 𝑌 → (𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌)
4948adantr 480 . . . . . . . . . . . . . . . 16 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → (𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌)
5049ad2antrl 728 . . . . . . . . . . . . . . 15 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌)
51 simprll 778 . . . . . . . . . . . . . . . 16 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑤 ∈ Word 𝑌)
52 eqeq1 2740 . . . . . . . . . . . . . . . . . . . . . 22 ((♯‘𝑥) = (𝑚 + 1) → ((♯‘𝑥) = (♯‘𝑤) ↔ (𝑚 + 1) = (♯‘𝑤)))
53 nn0p1nn 12440 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑚 ∈ ℕ0 → (𝑚 + 1) ∈ ℕ)
54 eleq1 2824 . . . . . . . . . . . . . . . . . . . . . . . 24 ((♯‘𝑤) = (𝑚 + 1) → ((♯‘𝑤) ∈ ℕ ↔ (𝑚 + 1) ∈ ℕ))
5554eqcoms 2744 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝑚 + 1) = (♯‘𝑤) → ((♯‘𝑤) ∈ ℕ ↔ (𝑚 + 1) ∈ ℕ))
5653, 55imbitrrid 246 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑚 + 1) = (♯‘𝑤) → (𝑚 ∈ ℕ0 → (♯‘𝑤) ∈ ℕ))
5752, 56biimtrdi 253 . . . . . . . . . . . . . . . . . . . . 21 ((♯‘𝑥) = (𝑚 + 1) → ((♯‘𝑥) = (♯‘𝑤) → (𝑚 ∈ ℕ0 → (♯‘𝑤) ∈ ℕ)))
5857impcom 407 . . . . . . . . . . . . . . . . . . . 20 (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → (𝑚 ∈ ℕ0 → (♯‘𝑤) ∈ ℕ))
5958adantl 481 . . . . . . . . . . . . . . . . . . 19 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1))) → (𝑚 ∈ ℕ0 → (♯‘𝑤) ∈ ℕ))
6059impcom 407 . . . . . . . . . . . . . . . . . 18 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘𝑤) ∈ ℕ)
6160nnge1d 12193 . . . . . . . . . . . . . . . . 17 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 1 ≤ (♯‘𝑤))
62 wrdlenge1n0 14473 . . . . . . . . . . . . . . . . . 18 (𝑤 ∈ Word 𝑌 → (𝑤 ≠ ∅ ↔ 1 ≤ (♯‘𝑤)))
6351, 62syl 17 . . . . . . . . . . . . . . . . 17 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (𝑤 ≠ ∅ ↔ 1 ≤ (♯‘𝑤)))
6461, 63mpbird 257 . . . . . . . . . . . . . . . 16 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑤 ≠ ∅)
65 lswcl 14491 . . . . . . . . . . . . . . . 16 ((𝑤 ∈ Word 𝑌𝑤 ≠ ∅) → (lastS‘𝑤) ∈ 𝑌)
6651, 64, 65syl2anc 584 . . . . . . . . . . . . . . 15 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (lastS‘𝑤) ∈ 𝑌)
6750, 66jca 511 . . . . . . . . . . . . . 14 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌 ∧ (lastS‘𝑤) ∈ 𝑌))
68 pfxcl 14601 . . . . . . . . . . . . . . . 16 (𝑥 ∈ Word 𝑋 → (𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋)
6968adantl 481 . . . . . . . . . . . . . . 15 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → (𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋)
7069ad2antrl 728 . . . . . . . . . . . . . 14 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋)
71 simprlr 779 . . . . . . . . . . . . . . 15 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑥 ∈ Word 𝑋)
72 eleq1 2824 . . . . . . . . . . . . . . . . . . . 20 ((♯‘𝑥) = (𝑚 + 1) → ((♯‘𝑥) ∈ ℕ ↔ (𝑚 + 1) ∈ ℕ))
7353, 72imbitrrid 246 . . . . . . . . . . . . . . . . . . 19 ((♯‘𝑥) = (𝑚 + 1) → (𝑚 ∈ ℕ0 → (♯‘𝑥) ∈ ℕ))
7473ad2antll 729 . . . . . . . . . . . . . . . . . 18 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1))) → (𝑚 ∈ ℕ0 → (♯‘𝑥) ∈ ℕ))
7574impcom 407 . . . . . . . . . . . . . . . . 17 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘𝑥) ∈ ℕ)
7675nnge1d 12193 . . . . . . . . . . . . . . . 16 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 1 ≤ (♯‘𝑥))
77 wrdlenge1n0 14473 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ Word 𝑋 → (𝑥 ≠ ∅ ↔ 1 ≤ (♯‘𝑥)))
7871, 77syl 17 . . . . . . . . . . . . . . . 16 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (𝑥 ≠ ∅ ↔ 1 ≤ (♯‘𝑥)))
7976, 78mpbird 257 . . . . . . . . . . . . . . 15 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑥 ≠ ∅)
80 lswcl 14491 . . . . . . . . . . . . . . 15 ((𝑥 ∈ Word 𝑋𝑥 ≠ ∅) → (lastS‘𝑥) ∈ 𝑋)
8171, 79, 80syl2anc 584 . . . . . . . . . . . . . 14 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (lastS‘𝑥) ∈ 𝑋)
8267, 70, 81jca32 515 . . . . . . . . . . . . 13 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (((𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌 ∧ (lastS‘𝑤) ∈ 𝑌) ∧ ((𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋 ∧ (lastS‘𝑥) ∈ 𝑋)))
8382adantlr 715 . . . . . . . . . . . 12 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (((𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌 ∧ (lastS‘𝑤) ∈ 𝑌) ∧ ((𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋 ∧ (lastS‘𝑥) ∈ 𝑋)))
84 simprl 770 . . . . . . . . . . . . . 14 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋))
85 simplr 768 . . . . . . . . . . . . . 14 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒))
86 simprrl 780 . . . . . . . . . . . . . . . . 17 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘𝑥) = (♯‘𝑤))
8786oveq1d 7373 . . . . . . . . . . . . . . . 16 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘𝑥) − 1) = ((♯‘𝑤) − 1))
88 simprlr 779 . . . . . . . . . . . . . . . . 17 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑥 ∈ Word 𝑋)
89 fzossfz 13594 . . . . . . . . . . . . . . . . . 18 (0..^(♯‘𝑥)) ⊆ (0...(♯‘𝑥))
90 simprrr 781 . . . . . . . . . . . . . . . . . . . 20 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘𝑥) = (𝑚 + 1))
9153ad2antrr 726 . . . . . . . . . . . . . . . . . . . 20 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (𝑚 + 1) ∈ ℕ)
9290, 91eqeltrd 2836 . . . . . . . . . . . . . . . . . . 19 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘𝑥) ∈ ℕ)
93 fzo0end 13674 . . . . . . . . . . . . . . . . . . 19 ((♯‘𝑥) ∈ ℕ → ((♯‘𝑥) − 1) ∈ (0..^(♯‘𝑥)))
9492, 93syl 17 . . . . . . . . . . . . . . . . . 18 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘𝑥) − 1) ∈ (0..^(♯‘𝑥)))
9589, 94sselid 3931 . . . . . . . . . . . . . . . . 17 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘𝑥) − 1) ∈ (0...(♯‘𝑥)))
96 pfxlen 14607 . . . . . . . . . . . . . . . . 17 ((𝑥 ∈ Word 𝑋 ∧ ((♯‘𝑥) − 1) ∈ (0...(♯‘𝑥))) → (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = ((♯‘𝑥) − 1))
9788, 95, 96syl2anc 584 . . . . . . . . . . . . . . . 16 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = ((♯‘𝑥) − 1))
98 simprll 778 . . . . . . . . . . . . . . . . 17 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑤 ∈ Word 𝑌)
99 oveq1 7365 . . . . . . . . . . . . . . . . . . . . . 22 ((♯‘𝑤) = (♯‘𝑥) → ((♯‘𝑤) − 1) = ((♯‘𝑥) − 1))
100 oveq2 7366 . . . . . . . . . . . . . . . . . . . . . 22 ((♯‘𝑤) = (♯‘𝑥) → (0...(♯‘𝑤)) = (0...(♯‘𝑥)))
10199, 100eleq12d 2830 . . . . . . . . . . . . . . . . . . . . 21 ((♯‘𝑤) = (♯‘𝑥) → (((♯‘𝑤) − 1) ∈ (0...(♯‘𝑤)) ↔ ((♯‘𝑥) − 1) ∈ (0...(♯‘𝑥))))
102101eqcoms 2744 . . . . . . . . . . . . . . . . . . . 20 ((♯‘𝑥) = (♯‘𝑤) → (((♯‘𝑤) − 1) ∈ (0...(♯‘𝑤)) ↔ ((♯‘𝑥) − 1) ∈ (0...(♯‘𝑥))))
103102adantr 480 . . . . . . . . . . . . . . . . . . 19 (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → (((♯‘𝑤) − 1) ∈ (0...(♯‘𝑤)) ↔ ((♯‘𝑥) − 1) ∈ (0...(♯‘𝑥))))
104103ad2antll 729 . . . . . . . . . . . . . . . . . 18 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (((♯‘𝑤) − 1) ∈ (0...(♯‘𝑤)) ↔ ((♯‘𝑥) − 1) ∈ (0...(♯‘𝑥))))
10595, 104mpbird 257 . . . . . . . . . . . . . . . . 17 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘𝑤) − 1) ∈ (0...(♯‘𝑤)))
106 pfxlen 14607 . . . . . . . . . . . . . . . . 17 ((𝑤 ∈ Word 𝑌 ∧ ((♯‘𝑤) − 1) ∈ (0...(♯‘𝑤))) → (♯‘(𝑤 prefix ((♯‘𝑤) − 1))) = ((♯‘𝑤) − 1))
10798, 105, 106syl2anc 584 . . . . . . . . . . . . . . . 16 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘(𝑤 prefix ((♯‘𝑤) − 1))) = ((♯‘𝑤) − 1))
10887, 97, 1073eqtr4d 2781 . . . . . . . . . . . . . . 15 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1))))
10990oveq1d 7373 . . . . . . . . . . . . . . . 16 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘𝑥) − 1) = ((𝑚 + 1) − 1))
110 nn0cn 12411 . . . . . . . . . . . . . . . . . 18 (𝑚 ∈ ℕ0𝑚 ∈ ℂ)
111110ad2antrr 726 . . . . . . . . . . . . . . . . 17 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑚 ∈ ℂ)
112 ax-1cn 11084 . . . . . . . . . . . . . . . . 17 1 ∈ ℂ
113 pncan 11386 . . . . . . . . . . . . . . . . 17 ((𝑚 ∈ ℂ ∧ 1 ∈ ℂ) → ((𝑚 + 1) − 1) = 𝑚)
114111, 112, 113sylancl 586 . . . . . . . . . . . . . . . 16 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((𝑚 + 1) − 1) = 𝑚)
11597, 109, 1143eqtrd 2775 . . . . . . . . . . . . . . 15 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚)
116108, 115jca 511 . . . . . . . . . . . . . 14 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1))) ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚))
11769adantr 480 . . . . . . . . . . . . . . . 16 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) → (𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋)
118 fveq2 6834 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → (♯‘𝑦) = (♯‘(𝑥 prefix ((♯‘𝑥) − 1))))
119 fveq2 6834 . . . . . . . . . . . . . . . . . . . . . 22 (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → (♯‘𝑢) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1))))
120118, 119eqeqan12d 2750 . . . . . . . . . . . . . . . . . . . . 21 ((𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) → ((♯‘𝑦) = (♯‘𝑢) ↔ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))))
121120expcom 413 . . . . . . . . . . . . . . . . . . . 20 (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → ((♯‘𝑦) = (♯‘𝑢) ↔ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1))))))
122121adantl 481 . . . . . . . . . . . . . . . . . . 19 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) → (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → ((♯‘𝑦) = (♯‘𝑢) ↔ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1))))))
123122imp 406 . . . . . . . . . . . . . . . . . 18 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → ((♯‘𝑦) = (♯‘𝑢) ↔ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))))
124 fveqeq2 6843 . . . . . . . . . . . . . . . . . . 19 (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → ((♯‘𝑦) = 𝑚 ↔ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚))
125124adantl 481 . . . . . . . . . . . . . . . . . 18 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → ((♯‘𝑦) = 𝑚 ↔ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚))
126123, 125anbi12d 632 . . . . . . . . . . . . . . . . 17 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → (((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) ↔ ((♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1))) ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚)))
127 vex 3444 . . . . . . . . . . . . . . . . . . . . 21 𝑦 ∈ V
128 vex 3444 . . . . . . . . . . . . . . . . . . . . 21 𝑢 ∈ V
129127, 128, 43sbc2ie 3816 . . . . . . . . . . . . . . . . . . . 20 ([𝑦 / 𝑥][𝑢 / 𝑤]𝜑𝜒)
130129bicomi 224 . . . . . . . . . . . . . . . . . . 19 (𝜒[𝑦 / 𝑥][𝑢 / 𝑤]𝜑)
131130a1i 11 . . . . . . . . . . . . . . . . . 18 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → (𝜒[𝑦 / 𝑥][𝑢 / 𝑤]𝜑))
132 simpr 484 . . . . . . . . . . . . . . . . . . 19 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)))
133132sbceq1d 3745 . . . . . . . . . . . . . . . . . 18 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → ([𝑦 / 𝑥][𝑢 / 𝑤]𝜑[(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][𝑢 / 𝑤]𝜑))
134 dfsbcq 3742 . . . . . . . . . . . . . . . . . . . . 21 (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → ([𝑢 / 𝑤]𝜑[(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑))
135134sbcbidv 3796 . . . . . . . . . . . . . . . . . . . 20 (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → ([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][𝑢 / 𝑤]𝜑[(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑))
136135adantl 481 . . . . . . . . . . . . . . . . . . 19 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) → ([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][𝑢 / 𝑤]𝜑[(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑))
137136adantr 480 . . . . . . . . . . . . . . . . . 18 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → ([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][𝑢 / 𝑤]𝜑[(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑))
138131, 133, 1373bitrd 305 . . . . . . . . . . . . . . . . 17 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → (𝜒[(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑))
139126, 138imbi12d 344 . . . . . . . . . . . . . . . 16 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) ∧ 𝑦 = (𝑥 prefix ((♯‘𝑥) − 1))) → ((((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒) ↔ (((♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1))) ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚) → [(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑)))
140117, 139rspcdv 3568 . . . . . . . . . . . . . . 15 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 prefix ((♯‘𝑤) − 1))) → (∀𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒) → (((♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1))) ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚) → [(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑)))
14149, 140rspcimdv 3566 . . . . . . . . . . . . . 14 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → (∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒) → (((♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1))) ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = 𝑚) → [(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑)))
14284, 85, 116, 141syl3c 66 . . . . . . . . . . . . 13 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → [(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑)
143142, 108jca 511 . . . . . . . . . . . 12 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))))
144 dfsbcq 3742 . . . . . . . . . . . . . . . 16 (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑[(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤][𝑦 / 𝑥]𝜑))
145 sbccom 3821 . . . . . . . . . . . . . . . 16 ([(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤][𝑦 / 𝑥]𝜑[𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑)
146144, 145bitrdi 287 . . . . . . . . . . . . . . 15 (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑[𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑))
147119eqeq2d 2747 . . . . . . . . . . . . . . 15 (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → ((♯‘𝑦) = (♯‘𝑢) ↔ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))))
148146, 147anbi12d 632 . . . . . . . . . . . . . 14 (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → (([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 ∧ (♯‘𝑦) = (♯‘𝑢)) ↔ ([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1))))))
149 oveq1 7365 . . . . . . . . . . . . . . 15 (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → (𝑢 ++ ⟨“𝑠”⟩) = ((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“𝑠”⟩))
150149sbceq1d 3745 . . . . . . . . . . . . . 14 (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → ([(𝑢 ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑[((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑))
151148, 150imbi12d 344 . . . . . . . . . . . . 13 (𝑢 = (𝑤 prefix ((♯‘𝑤) − 1)) → ((([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 ∧ (♯‘𝑦) = (♯‘𝑢)) → [(𝑢 ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑) ↔ (([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑)))
152 s1eq 14524 . . . . . . . . . . . . . . . . 17 (𝑠 = (lastS‘𝑤) → ⟨“𝑠”⟩ = ⟨“(lastS‘𝑤)”⟩)
153152oveq2d 7374 . . . . . . . . . . . . . . . 16 (𝑠 = (lastS‘𝑤) → ((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“𝑠”⟩) = ((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩))
154153sbceq1d 3745 . . . . . . . . . . . . . . 15 (𝑠 = (lastS‘𝑤) → ([((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑[((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑))
155154imbi2d 340 . . . . . . . . . . . . . 14 (𝑠 = (lastS‘𝑤) → ((([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑) ↔ (([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑)))
156 sbccom 3821 . . . . . . . . . . . . . . . 16 ([((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑[(𝑦 ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑)
157156a1i 11 . . . . . . . . . . . . . . 15 (𝑠 = (lastS‘𝑤) → ([((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑[(𝑦 ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑))
158157imbi2d 340 . . . . . . . . . . . . . 14 (𝑠 = (lastS‘𝑤) → ((([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑) ↔ (([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [(𝑦 ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑)))
159155, 158bitrd 279 . . . . . . . . . . . . 13 (𝑠 = (lastS‘𝑤) → ((([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑) ↔ (([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [(𝑦 ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑)))
160 dfsbcq 3742 . . . . . . . . . . . . . . 15 (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → ([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑[(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑))
161 fveqeq2 6843 . . . . . . . . . . . . . . 15 (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → ((♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1))) ↔ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))))
162160, 161anbi12d 632 . . . . . . . . . . . . . 14 (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → (([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) ↔ ([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1))))))
163 oveq1 7365 . . . . . . . . . . . . . . 15 (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → (𝑦 ++ ⟨“𝑧”⟩) = ((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“𝑧”⟩))
164163sbceq1d 3745 . . . . . . . . . . . . . 14 (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → ([(𝑦 ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑[((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑))
165162, 164imbi12d 344 . . . . . . . . . . . . 13 (𝑦 = (𝑥 prefix ((♯‘𝑥) − 1)) → ((([𝑦 / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘𝑦) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [(𝑦 ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑) ↔ (([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑)))
166 s1eq 14524 . . . . . . . . . . . . . . . 16 (𝑧 = (lastS‘𝑥) → ⟨“𝑧”⟩ = ⟨“(lastS‘𝑥)”⟩)
167166oveq2d 7374 . . . . . . . . . . . . . . 15 (𝑧 = (lastS‘𝑥) → ((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“𝑧”⟩) = ((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“(lastS‘𝑥)”⟩))
168167sbceq1d 3745 . . . . . . . . . . . . . 14 (𝑧 = (lastS‘𝑥) → ([((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑[((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“(lastS‘𝑥)”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑))
169168imbi2d 340 . . . . . . . . . . . . 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‘𝑤)”⟩) / 𝑤]𝜑)))
170 simplr 768 . . . . . . . . . . . . . . . . 17 ((((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) ∧ (♯‘𝑦) = (♯‘𝑢)) → (𝑦 ∈ Word 𝑋𝑧𝑋))
171 simpll 766 . . . . . . . . . . . . . . . . 17 ((((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) ∧ (♯‘𝑦) = (♯‘𝑢)) → (𝑢 ∈ Word 𝑌𝑠𝑌))
172 simpr 484 . . . . . . . . . . . . . . . . 17 ((((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) ∧ (♯‘𝑦) = (♯‘𝑢)) → (♯‘𝑦) = (♯‘𝑢))
173 wrd2ind.7 . . . . . . . . . . . . . . . . 17 (((𝑦 ∈ Word 𝑋𝑧𝑋) ∧ (𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (♯‘𝑦) = (♯‘𝑢)) → (𝜒𝜃))
174170, 171, 172, 173syl3anc 1373 . . . . . . . . . . . . . . . 16 ((((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) ∧ (♯‘𝑦) = (♯‘𝑢)) → (𝜒𝜃))
17543ancoms 458 . . . . . . . . . . . . . . . . 17 ((𝑤 = 𝑢𝑥 = 𝑦) → (𝜑𝜒))
176128, 127, 175sbc2ie 3816 . . . . . . . . . . . . . . . 16 ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑𝜒)
177 ovex 7391 . . . . . . . . . . . . . . . . 17 (𝑢 ++ ⟨“𝑠”⟩) ∈ V
178 ovex 7391 . . . . . . . . . . . . . . . . 17 (𝑦 ++ ⟨“𝑧”⟩) ∈ V
179 wrd2ind.3 . . . . . . . . . . . . . . . . . 18 ((𝑥 = (𝑦 ++ ⟨“𝑧”⟩) ∧ 𝑤 = (𝑢 ++ ⟨“𝑠”⟩)) → (𝜑𝜃))
180179ancoms 458 . . . . . . . . . . . . . . . . 17 ((𝑤 = (𝑢 ++ ⟨“𝑠”⟩) ∧ 𝑥 = (𝑦 ++ ⟨“𝑧”⟩)) → (𝜑𝜃))
181177, 178, 180sbc2ie 3816 . . . . . . . . . . . . . . . 16 ([(𝑢 ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑𝜃)
182174, 176, 1813imtr4g 296 . . . . . . . . . . . . . . 15 ((((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) ∧ (♯‘𝑦) = (♯‘𝑢)) → ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑[(𝑢 ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑))
183182ex 412 . . . . . . . . . . . . . 14 (((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) → ((♯‘𝑦) = (♯‘𝑢) → ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑[(𝑢 ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑)))
184183impcomd 411 . . . . . . . . . . . . 13 (((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) → (([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 ∧ (♯‘𝑦) = (♯‘𝑢)) → [(𝑢 ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑))
185151, 159, 165, 169, 184vtocl4ga 3541 . . . . . . . . . . . 12 ((((𝑤 prefix ((♯‘𝑤) − 1)) ∈ Word 𝑌 ∧ (lastS‘𝑤) ∈ 𝑌) ∧ ((𝑥 prefix ((♯‘𝑥) − 1)) ∈ Word 𝑋 ∧ (lastS‘𝑥) ∈ 𝑋)) → (([(𝑥 prefix ((♯‘𝑥) − 1)) / 𝑥][(𝑤 prefix ((♯‘𝑤) − 1)) / 𝑤]𝜑 ∧ (♯‘(𝑥 prefix ((♯‘𝑥) − 1))) = (♯‘(𝑤 prefix ((♯‘𝑤) − 1)))) → [((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“(lastS‘𝑥)”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑))
18683, 143, 185sylc 65 . . . . . . . . . . 11 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → [((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“(lastS‘𝑥)”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑)
187 eqtr2 2757 . . . . . . . . . . . . . . . 16 (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → (♯‘𝑤) = (𝑚 + 1))
188187ad2antll 729 . . . . . . . . . . . . . . 15 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘𝑤) = (𝑚 + 1))
189188, 91eqeltrd 2836 . . . . . . . . . . . . . 14 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (♯‘𝑤) ∈ ℕ)
190 wrdfin 14455 . . . . . . . . . . . . . . . . 17 (𝑤 ∈ Word 𝑌𝑤 ∈ Fin)
191190adantr 480 . . . . . . . . . . . . . . . 16 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → 𝑤 ∈ Fin)
192191ad2antrl 728 . . . . . . . . . . . . . . 15 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑤 ∈ Fin)
193 hashnncl 14289 . . . . . . . . . . . . . . 15 (𝑤 ∈ Fin → ((♯‘𝑤) ∈ ℕ ↔ 𝑤 ≠ ∅))
194192, 193syl 17 . . . . . . . . . . . . . 14 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘𝑤) ∈ ℕ ↔ 𝑤 ≠ ∅))
195189, 194mpbid 232 . . . . . . . . . . . . 13 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑤 ≠ ∅)
196 pfxlswccat 14636 . . . . . . . . . . . . . 14 ((𝑤 ∈ Word 𝑌𝑤 ≠ ∅) → ((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) = 𝑤)
197196eqcomd 2742 . . . . . . . . . . . . 13 ((𝑤 ∈ Word 𝑌𝑤 ≠ ∅) → 𝑤 = ((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩))
19898, 195, 197syl2anc 584 . . . . . . . . . . . 12 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑤 = ((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩))
199 wrdfin 14455 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ Word 𝑋𝑥 ∈ Fin)
200199adantl 481 . . . . . . . . . . . . . . . 16 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → 𝑥 ∈ Fin)
201200ad2antrl 728 . . . . . . . . . . . . . . 15 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑥 ∈ Fin)
202 hashnncl 14289 . . . . . . . . . . . . . . 15 (𝑥 ∈ Fin → ((♯‘𝑥) ∈ ℕ ↔ 𝑥 ≠ ∅))
203201, 202syl 17 . . . . . . . . . . . . . 14 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → ((♯‘𝑥) ∈ ℕ ↔ 𝑥 ≠ ∅))
20492, 203mpbid 232 . . . . . . . . . . . . 13 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑥 ≠ ∅)
205 pfxlswccat 14636 . . . . . . . . . . . . . 14 ((𝑥 ∈ Word 𝑋𝑥 ≠ ∅) → ((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“(lastS‘𝑥)”⟩) = 𝑥)
206205eqcomd 2742 . . . . . . . . . . . . 13 ((𝑥 ∈ Word 𝑋𝑥 ≠ ∅) → 𝑥 = ((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“(lastS‘𝑥)”⟩))
20788, 204, 206syl2anc 584 . . . . . . . . . . . 12 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝑥 = ((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“(lastS‘𝑥)”⟩))
208 sbceq1a 3751 . . . . . . . . . . . . 13 (𝑤 = ((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) → (𝜑[((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑))
209 sbceq1a 3751 . . . . . . . . . . . . 13 (𝑥 = ((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“(lastS‘𝑥)”⟩) → ([((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑[((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“(lastS‘𝑥)”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑))
210208, 209sylan9bb 509 . . . . . . . . . . . 12 ((𝑤 = ((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) ∧ 𝑥 = ((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“(lastS‘𝑥)”⟩)) → (𝜑[((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“(lastS‘𝑥)”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑))
211198, 207, 210syl2anc 584 . . . . . . . . . . 11 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → (𝜑[((𝑥 prefix ((♯‘𝑥) − 1)) ++ ⟨“(lastS‘𝑥)”⟩) / 𝑥][((𝑤 prefix ((♯‘𝑤) − 1)) ++ ⟨“(lastS‘𝑤)”⟩) / 𝑤]𝜑))
212186, 211mpbird 257 . . . . . . . . . 10 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)))) → 𝜑)
213212expr 456 . . . . . . . . 9 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) ∧ (𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋)) → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → 𝜑))
214213ralrimivva 3179 . . . . . . . 8 ((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒)) → ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → 𝜑))
215214ex 412 . . . . . . 7 (𝑚 ∈ ℕ0 → (∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((♯‘𝑦) = (♯‘𝑢) ∧ (♯‘𝑦) = 𝑚) → 𝜒) → ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → 𝜑)))
21647, 215biimtrid 242 . . . . . 6 (𝑚 ∈ ℕ0 → (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = 𝑚) → 𝜑) → ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (𝑚 + 1)) → 𝜑)))
2175, 9, 13, 17, 36, 216nn0ind 12587 . . . . 5 ((♯‘𝐴) ∈ ℕ0 → ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑))
2181, 217syl 17 . . . 4 (𝐴 ∈ Word 𝑋 → ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑))
2192183ad2ant1 1133 . . 3 ((𝐴 ∈ Word 𝑋𝐵 ∈ Word 𝑌 ∧ (♯‘𝐴) = (♯‘𝐵)) → ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑))
220 fveq2 6834 . . . . . . . . 9 (𝑤 = 𝐵 → (♯‘𝑤) = (♯‘𝐵))
221220eqeq2d 2747 . . . . . . . 8 (𝑤 = 𝐵 → ((♯‘𝑥) = (♯‘𝑤) ↔ (♯‘𝑥) = (♯‘𝐵)))
222221anbi1d 631 . . . . . . 7 (𝑤 = 𝐵 → (((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) ↔ ((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴))))
223 wrd2ind.5 . . . . . . 7 (𝑤 = 𝐵 → (𝜑𝜌))
224222, 223imbi12d 344 . . . . . 6 (𝑤 = 𝐵 → ((((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑) ↔ (((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌)))
225224ralbidv 3159 . . . . 5 (𝑤 = 𝐵 → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑) ↔ ∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌)))
226225rspcv 3572 . . . 4 (𝐵 ∈ Word 𝑌 → (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑) → ∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌)))
2272263ad2ant2 1134 . . 3 ((𝐴 ∈ Word 𝑋𝐵 ∈ Word 𝑌 ∧ (♯‘𝐴) = (♯‘𝐵)) → (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝑤) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜑) → ∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌)))
228219, 227mpd 15 . 2 ((𝐴 ∈ Word 𝑋𝐵 ∈ Word 𝑌 ∧ (♯‘𝐴) = (♯‘𝐵)) → ∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌))
229 eqidd 2737 . 2 ((𝐴 ∈ Word 𝑋𝐵 ∈ Word 𝑌 ∧ (♯‘𝐴) = (♯‘𝐵)) → (♯‘𝐴) = (♯‘𝐴))
230 fveqeq2 6843 . . . . . . . . . 10 (𝑥 = 𝐴 → ((♯‘𝑥) = (♯‘𝐵) ↔ (♯‘𝐴) = (♯‘𝐵)))
231 fveqeq2 6843 . . . . . . . . . 10 (𝑥 = 𝐴 → ((♯‘𝑥) = (♯‘𝐴) ↔ (♯‘𝐴) = (♯‘𝐴)))
232230, 231anbi12d 632 . . . . . . . . 9 (𝑥 = 𝐴 → (((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) ↔ ((♯‘𝐴) = (♯‘𝐵) ∧ (♯‘𝐴) = (♯‘𝐴))))
233 wrd2ind.4 . . . . . . . . 9 (𝑥 = 𝐴 → (𝜌𝜏))
234232, 233imbi12d 344 . . . . . . . 8 (𝑥 = 𝐴 → ((((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌) ↔ (((♯‘𝐴) = (♯‘𝐵) ∧ (♯‘𝐴) = (♯‘𝐴)) → 𝜏)))
235234rspcv 3572 . . . . . . 7 (𝐴 ∈ Word 𝑋 → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌) → (((♯‘𝐴) = (♯‘𝐵) ∧ (♯‘𝐴) = (♯‘𝐴)) → 𝜏)))
236235com23 86 . . . . . 6 (𝐴 ∈ Word 𝑋 → (((♯‘𝐴) = (♯‘𝐵) ∧ (♯‘𝐴) = (♯‘𝐴)) → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌) → 𝜏)))
237236expd 415 . . . . 5 (𝐴 ∈ Word 𝑋 → ((♯‘𝐴) = (♯‘𝐵) → ((♯‘𝐴) = (♯‘𝐴) → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌) → 𝜏))))
238237com34 91 . . . 4 (𝐴 ∈ Word 𝑋 → ((♯‘𝐴) = (♯‘𝐵) → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌) → ((♯‘𝐴) = (♯‘𝐴) → 𝜏))))
239238imp 406 . . 3 ((𝐴 ∈ Word 𝑋 ∧ (♯‘𝐴) = (♯‘𝐵)) → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌) → ((♯‘𝐴) = (♯‘𝐴) → 𝜏)))
2402393adant2 1131 . 2 ((𝐴 ∈ Word 𝑋𝐵 ∈ Word 𝑌 ∧ (♯‘𝐴) = (♯‘𝐵)) → (∀𝑥 ∈ Word 𝑋(((♯‘𝑥) = (♯‘𝐵) ∧ (♯‘𝑥) = (♯‘𝐴)) → 𝜌) → ((♯‘𝐴) = (♯‘𝐴) → 𝜏)))
241228, 229, 240mp2d 49 1 ((𝐴 ∈ Word 𝑋𝐵 ∈ Word 𝑌 ∧ (♯‘𝐴) = (♯‘𝐵)) → 𝜏)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1086   = wceq 1541  wcel 2113  wne 2932  wral 3051  [wsbc 3740  c0 4285   class class class wbr 5098  cfv 6492  (class class class)co 7358  Fincfn 8883  cc 11024  0cc0 11026  1c1 11027   + caddc 11029  cle 11167  cmin 11364  cn 12145  0cn0 12401  ...cfz 13423  ..^cfzo 13570  chash 14253  Word cword 14436  lastSclsw 14485   ++ cconcat 14493  ⟨“cs1 14519   prefix cpfx 14594
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2115  ax-9 2123  ax-10 2146  ax-11 2162  ax-12 2184  ax-ext 2708  ax-rep 5224  ax-sep 5241  ax-nul 5251  ax-pow 5310  ax-pr 5377  ax-un 7680  ax-cnex 11082  ax-resscn 11083  ax-1cn 11084  ax-icn 11085  ax-addcl 11086  ax-addrcl 11087  ax-mulcl 11088  ax-mulrcl 11089  ax-mulcom 11090  ax-addass 11091  ax-mulass 11092  ax-distr 11093  ax-i2m1 11094  ax-1ne0 11095  ax-1rid 11096  ax-rnegex 11097  ax-rrecex 11098  ax-cnre 11099  ax-pre-lttri 11100  ax-pre-lttrn 11101  ax-pre-ltadd 11102  ax-pre-mulgt0 11103
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2539  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2811  df-nfc 2885  df-ne 2933  df-nel 3037  df-ral 3052  df-rex 3061  df-reu 3351  df-rab 3400  df-v 3442  df-sbc 3741  df-csb 3850  df-dif 3904  df-un 3906  df-in 3908  df-ss 3918  df-pss 3921  df-nul 4286  df-if 4480  df-pw 4556  df-sn 4581  df-pr 4583  df-op 4587  df-uni 4864  df-int 4903  df-iun 4948  df-br 5099  df-opab 5161  df-mpt 5180  df-tr 5206  df-id 5519  df-eprel 5524  df-po 5532  df-so 5533  df-fr 5577  df-we 5579  df-xp 5630  df-rel 5631  df-cnv 5632  df-co 5633  df-dm 5634  df-rn 5635  df-res 5636  df-ima 5637  df-pred 6259  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-fv 6500  df-riota 7315  df-ov 7361  df-oprab 7362  df-mpo 7363  df-om 7809  df-1st 7933  df-2nd 7934  df-frecs 8223  df-wrecs 8254  df-recs 8303  df-rdg 8341  df-1o 8397  df-er 8635  df-en 8884  df-dom 8885  df-sdom 8886  df-fin 8887  df-card 9851  df-pnf 11168  df-mnf 11169  df-xr 11170  df-ltxr 11171  df-le 11172  df-sub 11366  df-neg 11367  df-nn 12146  df-n0 12402  df-xnn0 12475  df-z 12489  df-uz 12752  df-fz 13424  df-fzo 13571  df-hash 14254  df-word 14437  df-lsw 14486  df-concat 14494  df-s1 14520  df-substr 14565  df-pfx 14595
This theorem is referenced by:  gsmsymgreq  19361
  Copyright terms: Public domain W3C validator