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

Theorem wrd2ind 13477
Description: Perform induction over the structure of two words of the same length. (Contributed by AV, 23-Jan-2019.)
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 13324 . . . . 5 (𝐴 ∈ Word 𝑋 → (#‘𝐴) ∈ ℕ0)
2 eqeq2 2633 . . . . . . . . 9 (𝑛 = 0 → ((#‘𝑥) = 𝑛 ↔ (#‘𝑥) = 0))
32anbi2d 740 . . . . . . . 8 (𝑛 = 0 → (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑛) ↔ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 0)))
43imbi1d 331 . . . . . . 7 (𝑛 = 0 → ((((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑛) → 𝜑) ↔ (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 0) → 𝜑)))
542ralbidv 2989 . . . . . 6 (𝑛 = 0 → (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑛) → 𝜑) ↔ ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 0) → 𝜑)))
6 eqeq2 2633 . . . . . . . . 9 (𝑛 = 𝑚 → ((#‘𝑥) = 𝑛 ↔ (#‘𝑥) = 𝑚))
76anbi2d 740 . . . . . . . 8 (𝑛 = 𝑚 → (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑛) ↔ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑚)))
87imbi1d 331 . . . . . . 7 (𝑛 = 𝑚 → ((((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑛) → 𝜑) ↔ (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑚) → 𝜑)))
982ralbidv 2989 . . . . . 6 (𝑛 = 𝑚 → (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑛) → 𝜑) ↔ ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑚) → 𝜑)))
10 eqeq2 2633 . . . . . . . . 9 (𝑛 = (𝑚 + 1) → ((#‘𝑥) = 𝑛 ↔ (#‘𝑥) = (𝑚 + 1)))
1110anbi2d 740 . . . . . . . 8 (𝑛 = (𝑚 + 1) → (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑛) ↔ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1))))
1211imbi1d 331 . . . . . . 7 (𝑛 = (𝑚 + 1) → ((((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑛) → 𝜑) ↔ (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)) → 𝜑)))
13122ralbidv 2989 . . . . . 6 (𝑛 = (𝑚 + 1) → (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑛) → 𝜑) ↔ ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)) → 𝜑)))
14 eqeq2 2633 . . . . . . . . 9 (𝑛 = (#‘𝐴) → ((#‘𝑥) = 𝑛 ↔ (#‘𝑥) = (#‘𝐴)))
1514anbi2d 740 . . . . . . . 8 (𝑛 = (#‘𝐴) → (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑛) ↔ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (#‘𝐴))))
1615imbi1d 331 . . . . . . 7 (𝑛 = (#‘𝐴) → ((((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑛) → 𝜑) ↔ (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜑)))
17162ralbidv 2989 . . . . . 6 (𝑛 = (#‘𝐴) → (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑛) → 𝜑) ↔ ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜑)))
18 eqeq1 2626 . . . . . . . . . . . 12 ((#‘𝑥) = 0 → ((#‘𝑥) = (#‘𝑤) ↔ 0 = (#‘𝑤)))
1918adantl 482 . . . . . . . . . . 11 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ (#‘𝑥) = 0) → ((#‘𝑥) = (#‘𝑤) ↔ 0 = (#‘𝑤)))
20 eqcom 2629 . . . . . . . . . . . . . . 15 (0 = (#‘𝑤) ↔ (#‘𝑤) = 0)
21 hasheq0 13154 . . . . . . . . . . . . . . 15 (𝑤 ∈ Word 𝑌 → ((#‘𝑤) = 0 ↔ 𝑤 = ∅))
2220, 21syl5bb 272 . . . . . . . . . . . . . 14 (𝑤 ∈ Word 𝑌 → (0 = (#‘𝑤) ↔ 𝑤 = ∅))
23 hasheq0 13154 . . . . . . . . . . . . . . . 16 (𝑥 ∈ Word 𝑋 → ((#‘𝑥) = 0 ↔ 𝑥 = ∅))
24 wrd2ind.6 . . . . . . . . . . . . . . . . . 18 𝜓
25 wrd2ind.1 . . . . . . . . . . . . . . . . . 18 ((𝑥 = ∅ ∧ 𝑤 = ∅) → (𝜑𝜓))
2624, 25mpbiri 248 . . . . . . . . . . . . . . . . 17 ((𝑥 = ∅ ∧ 𝑤 = ∅) → 𝜑)
2726ex 450 . . . . . . . . . . . . . . . 16 (𝑥 = ∅ → (𝑤 = ∅ → 𝜑))
2823, 27syl6bi 243 . . . . . . . . . . . . . . 15 (𝑥 ∈ Word 𝑋 → ((#‘𝑥) = 0 → (𝑤 = ∅ → 𝜑)))
2928com13 88 . . . . . . . . . . . . . 14 (𝑤 = ∅ → ((#‘𝑥) = 0 → (𝑥 ∈ Word 𝑋𝜑)))
3022, 29syl6bi 243 . . . . . . . . . . . . 13 (𝑤 ∈ Word 𝑌 → (0 = (#‘𝑤) → ((#‘𝑥) = 0 → (𝑥 ∈ Word 𝑋𝜑))))
3130com24 95 . . . . . . . . . . . 12 (𝑤 ∈ Word 𝑌 → (𝑥 ∈ Word 𝑋 → ((#‘𝑥) = 0 → (0 = (#‘𝑤) → 𝜑))))
3231imp31 448 . . . . . . . . . . 11 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ (#‘𝑥) = 0) → (0 = (#‘𝑤) → 𝜑))
3319, 32sylbid 230 . . . . . . . . . 10 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ (#‘𝑥) = 0) → ((#‘𝑥) = (#‘𝑤) → 𝜑))
3433ex 450 . . . . . . . . 9 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → ((#‘𝑥) = 0 → ((#‘𝑥) = (#‘𝑤) → 𝜑)))
3534com23 86 . . . . . . . 8 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → ((#‘𝑥) = (#‘𝑤) → ((#‘𝑥) = 0 → 𝜑)))
3635impd 447 . . . . . . 7 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 0) → 𝜑))
3736rgen2 2975 . . . . . 6 𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 0) → 𝜑)
38 fveq2 6191 . . . . . . . . . . . . 13 (𝑥 = 𝑦 → (#‘𝑥) = (#‘𝑦))
39 fveq2 6191 . . . . . . . . . . . . 13 (𝑤 = 𝑢 → (#‘𝑤) = (#‘𝑢))
4038, 39eqeqan12d 2638 . . . . . . . . . . . 12 ((𝑥 = 𝑦𝑤 = 𝑢) → ((#‘𝑥) = (#‘𝑤) ↔ (#‘𝑦) = (#‘𝑢)))
4138eqeq1d 2624 . . . . . . . . . . . . 13 (𝑥 = 𝑦 → ((#‘𝑥) = 𝑚 ↔ (#‘𝑦) = 𝑚))
4241adantr 481 . . . . . . . . . . . 12 ((𝑥 = 𝑦𝑤 = 𝑢) → ((#‘𝑥) = 𝑚 ↔ (#‘𝑦) = 𝑚))
4340, 42anbi12d 747 . . . . . . . . . . 11 ((𝑥 = 𝑦𝑤 = 𝑢) → (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑚) ↔ ((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚)))
44 wrd2ind.2 . . . . . . . . . . 11 ((𝑥 = 𝑦𝑤 = 𝑢) → (𝜑𝜒))
4543, 44imbi12d 334 . . . . . . . . . 10 ((𝑥 = 𝑦𝑤 = 𝑢) → ((((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑚) → 𝜑) ↔ (((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)))
4645ancoms 469 . . . . . . . . 9 ((𝑤 = 𝑢𝑥 = 𝑦) → ((((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑚) → 𝜑) ↔ (((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)))
4746cbvraldva 3177 . . . . . . . 8 (𝑤 = 𝑢 → (∀𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑚) → 𝜑) ↔ ∀𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)))
4847cbvralv 3171 . . . . . . 7 (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑚) → 𝜑) ↔ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒))
49 swrdcl 13419 . . . . . . . . . . . . . . . . 17 (𝑤 ∈ Word 𝑌 → (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ∈ Word 𝑌)
5049adantr 481 . . . . . . . . . . . . . . . 16 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ∈ Word 𝑌)
5150ad2antrl 764 . . . . . . . . . . . . . . 15 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ∈ Word 𝑌)
52 simprll 802 . . . . . . . . . . . . . . . 16 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 𝑤 ∈ Word 𝑌)
53 eqeq1 2626 . . . . . . . . . . . . . . . . . . . . . 22 ((#‘𝑥) = (𝑚 + 1) → ((#‘𝑥) = (#‘𝑤) ↔ (𝑚 + 1) = (#‘𝑤)))
54 nn0p1nn 11332 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑚 ∈ ℕ0 → (𝑚 + 1) ∈ ℕ)
55 eleq1 2689 . . . . . . . . . . . . . . . . . . . . . . . 24 ((#‘𝑤) = (𝑚 + 1) → ((#‘𝑤) ∈ ℕ ↔ (𝑚 + 1) ∈ ℕ))
5655eqcoms 2630 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝑚 + 1) = (#‘𝑤) → ((#‘𝑤) ∈ ℕ ↔ (𝑚 + 1) ∈ ℕ))
5754, 56syl5ibr 236 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑚 + 1) = (#‘𝑤) → (𝑚 ∈ ℕ0 → (#‘𝑤) ∈ ℕ))
5853, 57syl6bi 243 . . . . . . . . . . . . . . . . . . . . 21 ((#‘𝑥) = (𝑚 + 1) → ((#‘𝑥) = (#‘𝑤) → (𝑚 ∈ ℕ0 → (#‘𝑤) ∈ ℕ)))
5958impcom 446 . . . . . . . . . . . . . . . . . . . 20 (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)) → (𝑚 ∈ ℕ0 → (#‘𝑤) ∈ ℕ))
6059adantl 482 . . . . . . . . . . . . . . . . . . 19 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1))) → (𝑚 ∈ ℕ0 → (#‘𝑤) ∈ ℕ))
6160impcom 446 . . . . . . . . . . . . . . . . . 18 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (#‘𝑤) ∈ ℕ)
6261nnge1d 11063 . . . . . . . . . . . . . . . . 17 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 1 ≤ (#‘𝑤))
63 wrdlenge1n0 13340 . . . . . . . . . . . . . . . . . 18 (𝑤 ∈ Word 𝑌 → (𝑤 ≠ ∅ ↔ 1 ≤ (#‘𝑤)))
6452, 63syl 17 . . . . . . . . . . . . . . . . 17 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (𝑤 ≠ ∅ ↔ 1 ≤ (#‘𝑤)))
6562, 64mpbird 247 . . . . . . . . . . . . . . . 16 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 𝑤 ≠ ∅)
66 lswcl 13355 . . . . . . . . . . . . . . . 16 ((𝑤 ∈ Word 𝑌𝑤 ≠ ∅) → ( lastS ‘𝑤) ∈ 𝑌)
6752, 65, 66syl2anc 693 . . . . . . . . . . . . . . 15 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → ( lastS ‘𝑤) ∈ 𝑌)
6851, 67jca 554 . . . . . . . . . . . . . 14 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → ((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ∈ Word 𝑌 ∧ ( lastS ‘𝑤) ∈ 𝑌))
69 swrdcl 13419 . . . . . . . . . . . . . . . 16 (𝑥 ∈ Word 𝑋 → (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ∈ Word 𝑋)
7069adantl 482 . . . . . . . . . . . . . . 15 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ∈ Word 𝑋)
7170ad2antrl 764 . . . . . . . . . . . . . 14 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ∈ Word 𝑋)
72 simprlr 803 . . . . . . . . . . . . . . 15 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 𝑥 ∈ Word 𝑋)
73 eleq1 2689 . . . . . . . . . . . . . . . . . . . 20 ((#‘𝑥) = (𝑚 + 1) → ((#‘𝑥) ∈ ℕ ↔ (𝑚 + 1) ∈ ℕ))
7454, 73syl5ibr 236 . . . . . . . . . . . . . . . . . . 19 ((#‘𝑥) = (𝑚 + 1) → (𝑚 ∈ ℕ0 → (#‘𝑥) ∈ ℕ))
7574ad2antll 765 . . . . . . . . . . . . . . . . . 18 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1))) → (𝑚 ∈ ℕ0 → (#‘𝑥) ∈ ℕ))
7675impcom 446 . . . . . . . . . . . . . . . . 17 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (#‘𝑥) ∈ ℕ)
7776nnge1d 11063 . . . . . . . . . . . . . . . 16 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 1 ≤ (#‘𝑥))
78 wrdlenge1n0 13340 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ Word 𝑋 → (𝑥 ≠ ∅ ↔ 1 ≤ (#‘𝑥)))
7972, 78syl 17 . . . . . . . . . . . . . . . 16 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (𝑥 ≠ ∅ ↔ 1 ≤ (#‘𝑥)))
8077, 79mpbird 247 . . . . . . . . . . . . . . 15 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 𝑥 ≠ ∅)
81 lswcl 13355 . . . . . . . . . . . . . . 15 ((𝑥 ∈ Word 𝑋𝑥 ≠ ∅) → ( lastS ‘𝑥) ∈ 𝑋)
8272, 80, 81syl2anc 693 . . . . . . . . . . . . . 14 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → ( lastS ‘𝑥) ∈ 𝑋)
8368, 71, 82jca32 558 . . . . . . . . . . . . 13 ((𝑚 ∈ ℕ0 ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ∈ Word 𝑌 ∧ ( lastS ‘𝑤) ∈ 𝑌) ∧ ((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ∈ Word 𝑋 ∧ ( lastS ‘𝑥) ∈ 𝑋)))
8483adantlr 751 . . . . . . . . . . . 12 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ∈ Word 𝑌 ∧ ( lastS ‘𝑤) ∈ 𝑌) ∧ ((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ∈ Word 𝑋 ∧ ( lastS ‘𝑥) ∈ 𝑋)))
85 simprl 794 . . . . . . . . . . . . . 14 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋))
86 simplr 792 . . . . . . . . . . . . . 14 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒))
87 simprrl 804 . . . . . . . . . . . . . . . . 17 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (#‘𝑥) = (#‘𝑤))
8887oveq1d 6665 . . . . . . . . . . . . . . . 16 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → ((#‘𝑥) − 1) = ((#‘𝑤) − 1))
89 simprlr 803 . . . . . . . . . . . . . . . . 17 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 𝑥 ∈ Word 𝑋)
90 fzossfz 12488 . . . . . . . . . . . . . . . . . 18 (0..^(#‘𝑥)) ⊆ (0...(#‘𝑥))
91 simprrr 805 . . . . . . . . . . . . . . . . . . . 20 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (#‘𝑥) = (𝑚 + 1))
9254ad2antrr 762 . . . . . . . . . . . . . . . . . . . 20 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (𝑚 + 1) ∈ ℕ)
9391, 92eqeltrd 2701 . . . . . . . . . . . . . . . . . . 19 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (#‘𝑥) ∈ ℕ)
94 fzo0end 12560 . . . . . . . . . . . . . . . . . . 19 ((#‘𝑥) ∈ ℕ → ((#‘𝑥) − 1) ∈ (0..^(#‘𝑥)))
9593, 94syl 17 . . . . . . . . . . . . . . . . . 18 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → ((#‘𝑥) − 1) ∈ (0..^(#‘𝑥)))
9690, 95sseldi 3601 . . . . . . . . . . . . . . . . 17 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → ((#‘𝑥) − 1) ∈ (0...(#‘𝑥)))
97 swrd0len 13422 . . . . . . . . . . . . . . . . 17 ((𝑥 ∈ Word 𝑋 ∧ ((#‘𝑥) − 1) ∈ (0...(#‘𝑥))) → (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = ((#‘𝑥) − 1))
9889, 96, 97syl2anc 693 . . . . . . . . . . . . . . . 16 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = ((#‘𝑥) − 1))
99 simprll 802 . . . . . . . . . . . . . . . . 17 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 𝑤 ∈ Word 𝑌)
100 oveq1 6657 . . . . . . . . . . . . . . . . . . . . . 22 ((#‘𝑤) = (#‘𝑥) → ((#‘𝑤) − 1) = ((#‘𝑥) − 1))
101 oveq2 6658 . . . . . . . . . . . . . . . . . . . . . 22 ((#‘𝑤) = (#‘𝑥) → (0...(#‘𝑤)) = (0...(#‘𝑥)))
102100, 101eleq12d 2695 . . . . . . . . . . . . . . . . . . . . 21 ((#‘𝑤) = (#‘𝑥) → (((#‘𝑤) − 1) ∈ (0...(#‘𝑤)) ↔ ((#‘𝑥) − 1) ∈ (0...(#‘𝑥))))
103102eqcoms 2630 . . . . . . . . . . . . . . . . . . . 20 ((#‘𝑥) = (#‘𝑤) → (((#‘𝑤) − 1) ∈ (0...(#‘𝑤)) ↔ ((#‘𝑥) − 1) ∈ (0...(#‘𝑥))))
104103adantr 481 . . . . . . . . . . . . . . . . . . 19 (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)) → (((#‘𝑤) − 1) ∈ (0...(#‘𝑤)) ↔ ((#‘𝑥) − 1) ∈ (0...(#‘𝑥))))
105104ad2antll 765 . . . . . . . . . . . . . . . . . 18 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (((#‘𝑤) − 1) ∈ (0...(#‘𝑤)) ↔ ((#‘𝑥) − 1) ∈ (0...(#‘𝑥))))
10696, 105mpbird 247 . . . . . . . . . . . . . . . . 17 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → ((#‘𝑤) − 1) ∈ (0...(#‘𝑤)))
107 swrd0len 13422 . . . . . . . . . . . . . . . . 17 ((𝑤 ∈ Word 𝑌 ∧ ((#‘𝑤) − 1) ∈ (0...(#‘𝑤))) → (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) = ((#‘𝑤) − 1))
10899, 106, 107syl2anc 693 . . . . . . . . . . . . . . . 16 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) = ((#‘𝑤) − 1))
10988, 98, 1083eqtr4d 2666 . . . . . . . . . . . . . . 15 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)))
11091oveq1d 6665 . . . . . . . . . . . . . . . 16 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → ((#‘𝑥) − 1) = ((𝑚 + 1) − 1))
111 nn0cn 11302 . . . . . . . . . . . . . . . . . 18 (𝑚 ∈ ℕ0𝑚 ∈ ℂ)
112111ad2antrr 762 . . . . . . . . . . . . . . . . 17 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 𝑚 ∈ ℂ)
113 ax-1cn 9994 . . . . . . . . . . . . . . . . 17 1 ∈ ℂ
114 pncan 10287 . . . . . . . . . . . . . . . . 17 ((𝑚 ∈ ℂ ∧ 1 ∈ ℂ) → ((𝑚 + 1) − 1) = 𝑚)
115112, 113, 114sylancl 694 . . . . . . . . . . . . . . . 16 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → ((𝑚 + 1) − 1) = 𝑚)
11698, 110, 1153eqtrd 2660 . . . . . . . . . . . . . . 15 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = 𝑚)
117109, 116jca 554 . . . . . . . . . . . . . 14 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → ((#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ∧ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = 𝑚))
11870adantr 481 . . . . . . . . . . . . . . . 16 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) → (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ∈ Word 𝑋)
119 fveq2 6191 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) → (#‘𝑦) = (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)))
120 fveq2 6191 . . . . . . . . . . . . . . . . . . . . . 22 (𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) → (#‘𝑢) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)))
121119, 120eqeqan12d 2638 . . . . . . . . . . . . . . . . . . . . 21 ((𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ∧ 𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) → ((#‘𝑦) = (#‘𝑢) ↔ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))))
122121expcom 451 . . . . . . . . . . . . . . . . . . . 20 (𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) → (𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) → ((#‘𝑦) = (#‘𝑢) ↔ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)))))
123122adantl 482 . . . . . . . . . . . . . . . . . . 19 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) → (𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) → ((#‘𝑦) = (#‘𝑢) ↔ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)))))
124123imp 445 . . . . . . . . . . . . . . . . . 18 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ∧ 𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) → ((#‘𝑦) = (#‘𝑢) ↔ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))))
125119eqeq1d 2624 . . . . . . . . . . . . . . . . . . 19 (𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) → ((#‘𝑦) = 𝑚 ↔ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = 𝑚))
126125adantl 482 . . . . . . . . . . . . . . . . . 18 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ∧ 𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) → ((#‘𝑦) = 𝑚 ↔ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = 𝑚))
127124, 126anbi12d 747 . . . . . . . . . . . . . . . . 17 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ∧ 𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) → (((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) ↔ ((#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ∧ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = 𝑚)))
128 vex 3203 . . . . . . . . . . . . . . . . . . . . 21 𝑦 ∈ V
129 vex 3203 . . . . . . . . . . . . . . . . . . . . 21 𝑢 ∈ V
130128, 129, 44sbc2ie 3505 . . . . . . . . . . . . . . . . . . . 20 ([𝑦 / 𝑥][𝑢 / 𝑤]𝜑𝜒)
131130bicomi 214 . . . . . . . . . . . . . . . . . . 19 (𝜒[𝑦 / 𝑥][𝑢 / 𝑤]𝜑)
132131a1i 11 . . . . . . . . . . . . . . . . . 18 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ∧ 𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) → (𝜒[𝑦 / 𝑥][𝑢 / 𝑤]𝜑))
133 simpr 477 . . . . . . . . . . . . . . . . . . 19 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ∧ 𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) → 𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩))
134133sbceq1d 3440 . . . . . . . . . . . . . . . . . 18 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ∧ 𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) → ([𝑦 / 𝑥][𝑢 / 𝑤]𝜑[(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][𝑢 / 𝑤]𝜑))
135 dfsbcq 3437 . . . . . . . . . . . . . . . . . . . . 21 (𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) → ([𝑢 / 𝑤]𝜑[(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑))
136135sbcbidv 3490 . . . . . . . . . . . . . . . . . . . 20 (𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) → ([(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][𝑢 / 𝑤]𝜑[(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑))
137136adantl 482 . . . . . . . . . . . . . . . . . . 19 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) → ([(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][𝑢 / 𝑤]𝜑[(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑))
138137adantr 481 . . . . . . . . . . . . . . . . . 18 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ∧ 𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) → ([(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][𝑢 / 𝑤]𝜑[(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑))
139132, 134, 1383bitrd 294 . . . . . . . . . . . . . . . . 17 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ∧ 𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) → (𝜒[(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑))
140127, 139imbi12d 334 . . . . . . . . . . . . . . . 16 ((((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ∧ 𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) → ((((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒) ↔ (((#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ∧ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = 𝑚) → [(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑)))
141118, 140rspcdv 3312 . . . . . . . . . . . . . . 15 (((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ 𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) → (∀𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒) → (((#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ∧ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = 𝑚) → [(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑)))
14250, 141rspcimdv 3310 . . . . . . . . . . . . . 14 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → (∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒) → (((#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ∧ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = 𝑚) → [(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑)))
14385, 86, 117, 142syl3c 66 . . . . . . . . . . . . 13 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → [(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑)
144143, 109jca 554 . . . . . . . . . . . 12 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → ([(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))))
145 dfsbcq 3437 . . . . . . . . . . . . . . . 16 (𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) → ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑[(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤][𝑦 / 𝑥]𝜑))
146 sbccom 3509 . . . . . . . . . . . . . . . 16 ([(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤][𝑦 / 𝑥]𝜑[𝑦 / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑)
147145, 146syl6bb 276 . . . . . . . . . . . . . . 15 (𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) → ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑[𝑦 / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑))
148120eqeq2d 2632 . . . . . . . . . . . . . . 15 (𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) → ((#‘𝑦) = (#‘𝑢) ↔ (#‘𝑦) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))))
149147, 148anbi12d 747 . . . . . . . . . . . . . 14 (𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) → (([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 ∧ (#‘𝑦) = (#‘𝑢)) ↔ ([𝑦 / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘𝑦) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)))))
150 oveq1 6657 . . . . . . . . . . . . . . 15 (𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) → (𝑢 ++ ⟨“𝑠”⟩) = ((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“𝑠”⟩))
151150sbceq1d 3440 . . . . . . . . . . . . . 14 (𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) → ([(𝑢 ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑[((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑))
152149, 151imbi12d 334 . . . . . . . . . . . . 13 (𝑢 = (𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) → ((([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 ∧ (#‘𝑦) = (#‘𝑢)) → [(𝑢 ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑) ↔ (([𝑦 / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘𝑦) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))) → [((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑)))
153 s1eq 13380 . . . . . . . . . . . . . . . . 17 (𝑠 = ( lastS ‘𝑤) → ⟨“𝑠”⟩ = ⟨“( lastS ‘𝑤)”⟩)
154153oveq2d 6666 . . . . . . . . . . . . . . . 16 (𝑠 = ( lastS ‘𝑤) → ((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“𝑠”⟩) = ((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩))
155154sbceq1d 3440 . . . . . . . . . . . . . . 15 (𝑠 = ( lastS ‘𝑤) → ([((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑[((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑))
156155imbi2d 330 . . . . . . . . . . . . . 14 (𝑠 = ( lastS ‘𝑤) → ((([𝑦 / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘𝑦) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))) → [((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑) ↔ (([𝑦 / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘𝑦) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))) → [((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑)))
157 sbccom 3509 . . . . . . . . . . . . . . . 16 ([((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑[(𝑦 ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑)
158157a1i 11 . . . . . . . . . . . . . . 15 (𝑠 = ( lastS ‘𝑤) → ([((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑[(𝑦 ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑))
159158imbi2d 330 . . . . . . . . . . . . . 14 (𝑠 = ( lastS ‘𝑤) → ((([𝑦 / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘𝑦) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))) → [((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑) ↔ (([𝑦 / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘𝑦) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))) → [(𝑦 ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑)))
160156, 159bitrd 268 . . . . . . . . . . . . 13 (𝑠 = ( lastS ‘𝑤) → ((([𝑦 / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘𝑦) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))) → [((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑) ↔ (([𝑦 / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘𝑦) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))) → [(𝑦 ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑)))
161 dfsbcq 3437 . . . . . . . . . . . . . . 15 (𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) → ([𝑦 / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑[(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑))
162119eqeq1d 2624 . . . . . . . . . . . . . . 15 (𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) → ((#‘𝑦) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)) ↔ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))))
163161, 162anbi12d 747 . . . . . . . . . . . . . 14 (𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) → (([𝑦 / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘𝑦) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))) ↔ ([(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩)))))
164 oveq1 6657 . . . . . . . . . . . . . . 15 (𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) → (𝑦 ++ ⟨“𝑧”⟩) = ((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“𝑧”⟩))
165164sbceq1d 3440 . . . . . . . . . . . . . 14 (𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) → ([(𝑦 ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑[((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑))
166163, 165imbi12d 334 . . . . . . . . . . . . 13 (𝑦 = (𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) → ((([𝑦 / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘𝑦) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))) → [(𝑦 ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑) ↔ (([(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))) → [((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑)))
167 s1eq 13380 . . . . . . . . . . . . . . . 16 (𝑧 = ( lastS ‘𝑥) → ⟨“𝑧”⟩ = ⟨“( lastS ‘𝑥)”⟩)
168167oveq2d 6666 . . . . . . . . . . . . . . 15 (𝑧 = ( lastS ‘𝑥) → ((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“𝑧”⟩) = ((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“( lastS ‘𝑥)”⟩))
169168sbceq1d 3440 . . . . . . . . . . . . . 14 (𝑧 = ( lastS ‘𝑥) → ([((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑[((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“( lastS ‘𝑥)”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑))
170169imbi2d 330 . . . . . . . . . . . . 13 (𝑧 = ( lastS ‘𝑥) → ((([(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))) → [((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“𝑧”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑) ↔ (([(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))) → [((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“( lastS ‘𝑥)”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑)))
171 simplr 792 . . . . . . . . . . . . . . . . . 18 ((((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) ∧ (#‘𝑦) = (#‘𝑢)) → (𝑦 ∈ Word 𝑋𝑧𝑋))
172 simpll 790 . . . . . . . . . . . . . . . . . 18 ((((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) ∧ (#‘𝑦) = (#‘𝑢)) → (𝑢 ∈ Word 𝑌𝑠𝑌))
173 simpr 477 . . . . . . . . . . . . . . . . . 18 ((((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) ∧ (#‘𝑦) = (#‘𝑢)) → (#‘𝑦) = (#‘𝑢))
174 wrd2ind.7 . . . . . . . . . . . . . . . . . 18 (((𝑦 ∈ Word 𝑋𝑧𝑋) ∧ (𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (#‘𝑦) = (#‘𝑢)) → (𝜒𝜃))
175171, 172, 173, 174syl3anc 1326 . . . . . . . . . . . . . . . . 17 ((((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) ∧ (#‘𝑦) = (#‘𝑢)) → (𝜒𝜃))
17644ancoms 469 . . . . . . . . . . . . . . . . . 18 ((𝑤 = 𝑢𝑥 = 𝑦) → (𝜑𝜒))
177129, 128, 176sbc2ie 3505 . . . . . . . . . . . . . . . . 17 ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑𝜒)
178 ovex 6678 . . . . . . . . . . . . . . . . . 18 (𝑢 ++ ⟨“𝑠”⟩) ∈ V
179 ovex 6678 . . . . . . . . . . . . . . . . . 18 (𝑦 ++ ⟨“𝑧”⟩) ∈ V
180 wrd2ind.3 . . . . . . . . . . . . . . . . . . 19 ((𝑥 = (𝑦 ++ ⟨“𝑧”⟩) ∧ 𝑤 = (𝑢 ++ ⟨“𝑠”⟩)) → (𝜑𝜃))
181180ancoms 469 . . . . . . . . . . . . . . . . . 18 ((𝑤 = (𝑢 ++ ⟨“𝑠”⟩) ∧ 𝑥 = (𝑦 ++ ⟨“𝑧”⟩)) → (𝜑𝜃))
182178, 179, 181sbc2ie 3505 . . . . . . . . . . . . . . . . 17 ([(𝑢 ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑𝜃)
183175, 177, 1823imtr4g 285 . . . . . . . . . . . . . . . 16 ((((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) ∧ (#‘𝑦) = (#‘𝑢)) → ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑[(𝑢 ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑))
184183ex 450 . . . . . . . . . . . . . . 15 (((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) → ((#‘𝑦) = (#‘𝑢) → ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑[(𝑢 ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑)))
185184com23 86 . . . . . . . . . . . . . 14 (((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) → ([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 → ((#‘𝑦) = (#‘𝑢) → [(𝑢 ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑)))
186185impd 447 . . . . . . . . . . . . 13 (((𝑢 ∈ Word 𝑌𝑠𝑌) ∧ (𝑦 ∈ Word 𝑋𝑧𝑋)) → (([𝑢 / 𝑤][𝑦 / 𝑥]𝜑 ∧ (#‘𝑦) = (#‘𝑢)) → [(𝑢 ++ ⟨“𝑠”⟩) / 𝑤][(𝑦 ++ ⟨“𝑧”⟩) / 𝑥]𝜑))
187152, 160, 166, 170, 186vtocl4ga 3278 . . . . . . . . . . . 12 ((((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ∈ Word 𝑌 ∧ ( lastS ‘𝑤) ∈ 𝑌) ∧ ((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ∈ Word 𝑋 ∧ ( lastS ‘𝑥) ∈ 𝑋)) → (([(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) / 𝑥][(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) / 𝑤]𝜑 ∧ (#‘(𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩)) = (#‘(𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩))) → [((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“( lastS ‘𝑥)”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑))
18884, 144, 187sylc 65 . . . . . . . . . . 11 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → [((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“( lastS ‘𝑥)”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑)
189 eqtr2 2642 . . . . . . . . . . . . . . . 16 (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)) → (#‘𝑤) = (𝑚 + 1))
190189ad2antll 765 . . . . . . . . . . . . . . 15 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (#‘𝑤) = (𝑚 + 1))
191190, 92eqeltrd 2701 . . . . . . . . . . . . . 14 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (#‘𝑤) ∈ ℕ)
192 wrdfin 13323 . . . . . . . . . . . . . . . . 17 (𝑤 ∈ Word 𝑌𝑤 ∈ Fin)
193192adantr 481 . . . . . . . . . . . . . . . 16 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → 𝑤 ∈ Fin)
194193ad2antrl 764 . . . . . . . . . . . . . . 15 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 𝑤 ∈ Fin)
195 hashnncl 13157 . . . . . . . . . . . . . . 15 (𝑤 ∈ Fin → ((#‘𝑤) ∈ ℕ ↔ 𝑤 ≠ ∅))
196194, 195syl 17 . . . . . . . . . . . . . 14 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → ((#‘𝑤) ∈ ℕ ↔ 𝑤 ≠ ∅))
197191, 196mpbid 222 . . . . . . . . . . . . 13 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 𝑤 ≠ ∅)
198 swrdccatwrd 13468 . . . . . . . . . . . . . 14 ((𝑤 ∈ Word 𝑌𝑤 ≠ ∅) → ((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) = 𝑤)
199198eqcomd 2628 . . . . . . . . . . . . 13 ((𝑤 ∈ Word 𝑌𝑤 ≠ ∅) → 𝑤 = ((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩))
20099, 197, 199syl2anc 693 . . . . . . . . . . . 12 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 𝑤 = ((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩))
201 wrdfin 13323 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ Word 𝑋𝑥 ∈ Fin)
202201adantl 482 . . . . . . . . . . . . . . . 16 ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) → 𝑥 ∈ Fin)
203202ad2antrl 764 . . . . . . . . . . . . . . 15 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 𝑥 ∈ Fin)
204 hashnncl 13157 . . . . . . . . . . . . . . 15 (𝑥 ∈ Fin → ((#‘𝑥) ∈ ℕ ↔ 𝑥 ≠ ∅))
205203, 204syl 17 . . . . . . . . . . . . . 14 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → ((#‘𝑥) ∈ ℕ ↔ 𝑥 ≠ ∅))
20693, 205mpbid 222 . . . . . . . . . . . . 13 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 𝑥 ≠ ∅)
207 swrdccatwrd 13468 . . . . . . . . . . . . . 14 ((𝑥 ∈ Word 𝑋𝑥 ≠ ∅) → ((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“( lastS ‘𝑥)”⟩) = 𝑥)
208207eqcomd 2628 . . . . . . . . . . . . 13 ((𝑥 ∈ Word 𝑋𝑥 ≠ ∅) → 𝑥 = ((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“( lastS ‘𝑥)”⟩))
20989, 206, 208syl2anc 693 . . . . . . . . . . . 12 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 𝑥 = ((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“( lastS ‘𝑥)”⟩))
210 sbceq1a 3446 . . . . . . . . . . . . 13 (𝑤 = ((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) → (𝜑[((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑))
211 sbceq1a 3446 . . . . . . . . . . . . 13 (𝑥 = ((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“( lastS ‘𝑥)”⟩) → ([((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑[((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“( lastS ‘𝑥)”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑))
212210, 211sylan9bb 736 . . . . . . . . . . . 12 ((𝑤 = ((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) ∧ 𝑥 = ((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“( lastS ‘𝑥)”⟩)) → (𝜑[((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“( lastS ‘𝑥)”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑))
213200, 209, 212syl2anc 693 . . . . . . . . . . 11 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → (𝜑[((𝑥 substr ⟨0, ((#‘𝑥) − 1)⟩) ++ ⟨“( lastS ‘𝑥)”⟩) / 𝑥][((𝑤 substr ⟨0, ((#‘𝑤) − 1)⟩) ++ ⟨“( lastS ‘𝑤)”⟩) / 𝑤]𝜑))
214188, 213mpbird 247 . . . . . . . . . 10 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ ((𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋) ∧ ((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)))) → 𝜑)
215214expr 643 . . . . . . . . 9 (((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) ∧ (𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋)) → (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)) → 𝜑))
216215ralrimivva 2971 . . . . . . . 8 ((𝑚 ∈ ℕ0 ∧ ∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒)) → ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)) → 𝜑))
217216ex 450 . . . . . . 7 (𝑚 ∈ ℕ0 → (∀𝑢 ∈ Word 𝑌𝑦 ∈ Word 𝑋(((#‘𝑦) = (#‘𝑢) ∧ (#‘𝑦) = 𝑚) → 𝜒) → ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)) → 𝜑)))
21848, 217syl5bi 232 . . . . . 6 (𝑚 ∈ ℕ0 → (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = 𝑚) → 𝜑) → ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (𝑚 + 1)) → 𝜑)))
2195, 9, 13, 17, 37, 218nn0ind 11472 . . . . 5 ((#‘𝐴) ∈ ℕ0 → ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜑))
2201, 219syl 17 . . . 4 (𝐴 ∈ Word 𝑋 → ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜑))
2212203ad2ant1 1082 . . 3 ((𝐴 ∈ Word 𝑋𝐵 ∈ Word 𝑌 ∧ (#‘𝐴) = (#‘𝐵)) → ∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜑))
222 fveq2 6191 . . . . . . . . 9 (𝑤 = 𝐵 → (#‘𝑤) = (#‘𝐵))
223222eqeq2d 2632 . . . . . . . 8 (𝑤 = 𝐵 → ((#‘𝑥) = (#‘𝑤) ↔ (#‘𝑥) = (#‘𝐵)))
224223anbi1d 741 . . . . . . 7 (𝑤 = 𝐵 → (((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (#‘𝐴)) ↔ ((#‘𝑥) = (#‘𝐵) ∧ (#‘𝑥) = (#‘𝐴))))
225 wrd2ind.5 . . . . . . 7 (𝑤 = 𝐵 → (𝜑𝜌))
226224, 225imbi12d 334 . . . . . 6 (𝑤 = 𝐵 → ((((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜑) ↔ (((#‘𝑥) = (#‘𝐵) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜌)))
227226ralbidv 2986 . . . . 5 (𝑤 = 𝐵 → (∀𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜑) ↔ ∀𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝐵) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜌)))
228227rspcv 3305 . . . 4 (𝐵 ∈ Word 𝑌 → (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜑) → ∀𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝐵) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜌)))
2292283ad2ant2 1083 . . 3 ((𝐴 ∈ Word 𝑋𝐵 ∈ Word 𝑌 ∧ (#‘𝐴) = (#‘𝐵)) → (∀𝑤 ∈ Word 𝑌𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝑤) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜑) → ∀𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝐵) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜌)))
230221, 229mpd 15 . 2 ((𝐴 ∈ Word 𝑋𝐵 ∈ Word 𝑌 ∧ (#‘𝐴) = (#‘𝐵)) → ∀𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝐵) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜌))
231 eqidd 2623 . 2 ((𝐴 ∈ Word 𝑋𝐵 ∈ Word 𝑌 ∧ (#‘𝐴) = (#‘𝐵)) → (#‘𝐴) = (#‘𝐴))
232 fveq2 6191 . . . . . . . . . . 11 (𝑥 = 𝐴 → (#‘𝑥) = (#‘𝐴))
233232eqeq1d 2624 . . . . . . . . . 10 (𝑥 = 𝐴 → ((#‘𝑥) = (#‘𝐵) ↔ (#‘𝐴) = (#‘𝐵)))
234232eqeq1d 2624 . . . . . . . . . 10 (𝑥 = 𝐴 → ((#‘𝑥) = (#‘𝐴) ↔ (#‘𝐴) = (#‘𝐴)))
235233, 234anbi12d 747 . . . . . . . . 9 (𝑥 = 𝐴 → (((#‘𝑥) = (#‘𝐵) ∧ (#‘𝑥) = (#‘𝐴)) ↔ ((#‘𝐴) = (#‘𝐵) ∧ (#‘𝐴) = (#‘𝐴))))
236 wrd2ind.4 . . . . . . . . 9 (𝑥 = 𝐴 → (𝜌𝜏))
237235, 236imbi12d 334 . . . . . . . 8 (𝑥 = 𝐴 → ((((#‘𝑥) = (#‘𝐵) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜌) ↔ (((#‘𝐴) = (#‘𝐵) ∧ (#‘𝐴) = (#‘𝐴)) → 𝜏)))
238237rspcv 3305 . . . . . . 7 (𝐴 ∈ Word 𝑋 → (∀𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝐵) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜌) → (((#‘𝐴) = (#‘𝐵) ∧ (#‘𝐴) = (#‘𝐴)) → 𝜏)))
239238com23 86 . . . . . 6 (𝐴 ∈ Word 𝑋 → (((#‘𝐴) = (#‘𝐵) ∧ (#‘𝐴) = (#‘𝐴)) → (∀𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝐵) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜌) → 𝜏)))
240239expd 452 . . . . 5 (𝐴 ∈ Word 𝑋 → ((#‘𝐴) = (#‘𝐵) → ((#‘𝐴) = (#‘𝐴) → (∀𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝐵) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜌) → 𝜏))))
241240com34 91 . . . 4 (𝐴 ∈ Word 𝑋 → ((#‘𝐴) = (#‘𝐵) → (∀𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝐵) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜌) → ((#‘𝐴) = (#‘𝐴) → 𝜏))))
242241imp 445 . . 3 ((𝐴 ∈ Word 𝑋 ∧ (#‘𝐴) = (#‘𝐵)) → (∀𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝐵) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜌) → ((#‘𝐴) = (#‘𝐴) → 𝜏)))
2432423adant2 1080 . 2 ((𝐴 ∈ Word 𝑋𝐵 ∈ Word 𝑌 ∧ (#‘𝐴) = (#‘𝐵)) → (∀𝑥 ∈ Word 𝑋(((#‘𝑥) = (#‘𝐵) ∧ (#‘𝑥) = (#‘𝐴)) → 𝜌) → ((#‘𝐴) = (#‘𝐴) → 𝜏)))
244230, 231, 243mp2d 49 1 ((𝐴 ∈ Word 𝑋𝐵 ∈ Word 𝑌 ∧ (#‘𝐴) = (#‘𝐵)) → 𝜏)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 384  w3a 1037   = wceq 1483  wcel 1990  wne 2794  wral 2912  [wsbc 3435  c0 3915  cop 4183   class class class wbr 4653  cfv 5888  (class class class)co 6650  Fincfn 7955  cc 9934  0cc0 9936  1c1 9937   + caddc 9939  cle 10075  cmin 10266  cn 11020  0cn0 11292  ...cfz 12326  ..^cfzo 12465  #chash 13117  Word cword 13291   lastS clsw 13292   ++ cconcat 13293  ⟨“cs1 13294   substr csubstr 13295
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-rep 4771  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949  ax-cnex 9992  ax-resscn 9993  ax-1cn 9994  ax-icn 9995  ax-addcl 9996  ax-addrcl 9997  ax-mulcl 9998  ax-mulrcl 9999  ax-mulcom 10000  ax-addass 10001  ax-mulass 10002  ax-distr 10003  ax-i2m1 10004  ax-1ne0 10005  ax-1rid 10006  ax-rnegex 10007  ax-rrecex 10008  ax-cnre 10009  ax-pre-lttri 10010  ax-pre-lttrn 10011  ax-pre-ltadd 10012  ax-pre-mulgt0 10013
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-nel 2898  df-ral 2917  df-rex 2918  df-reu 2919  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-pss 3590  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-tp 4182  df-op 4184  df-uni 4437  df-int 4476  df-iun 4522  df-br 4654  df-opab 4713  df-mpt 4730  df-tr 4753  df-id 5024  df-eprel 5029  df-po 5035  df-so 5036  df-fr 5073  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-pred 5680  df-ord 5726  df-on 5727  df-lim 5728  df-suc 5729  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-riota 6611  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-om 7066  df-1st 7168  df-2nd 7169  df-wrecs 7407  df-recs 7468  df-rdg 7506  df-1o 7560  df-oadd 7564  df-er 7742  df-en 7956  df-dom 7957  df-sdom 7958  df-fin 7959  df-card 8765  df-pnf 10076  df-mnf 10077  df-xr 10078  df-ltxr 10079  df-le 10080  df-sub 10268  df-neg 10269  df-nn 11021  df-n0 11293  df-xnn0 11364  df-z 11378  df-uz 11688  df-fz 12327  df-fzo 12466  df-hash 13118  df-word 13299  df-lsw 13300  df-concat 13301  df-s1 13302  df-substr 13303
This theorem is referenced by:  gsmsymgreq  17852
  Copyright terms: Public domain W3C validator