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

Theorem wwlkextsur 26259
Description: Lemma 3 for wwlkextbij 26261. (Contributed by Alexander van der Vekens, 7-Aug-2018.)
Hypotheses
Ref Expression
wwlkextbij.d 𝐷 = {𝑤 ∈ Word 𝑉 ∣ ((#‘𝑤) = (𝑁 + 2) ∧ (𝑤 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑤)} ∈ ran 𝐸)}
wwlkextbij.r 𝑅 = {𝑛𝑉 ∣ {( lastS ‘𝑊), 𝑛} ∈ ran 𝐸}
wwlkextbij.f 𝐹 = (𝑡𝐷 ↦ ( lastS ‘𝑡))
Assertion
Ref Expression
wwlkextsur (𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) → 𝐹:𝐷onto𝑅)
Distinct variable groups:   𝑡,𝐷   𝑛,𝐸,𝑤   𝑡,𝑁,𝑤   𝑡,𝑅   𝑛,𝑉,𝑡,𝑤   𝑛,𝑊,𝑡,𝑤
Allowed substitution hints:   𝐷(𝑤,𝑛)   𝑅(𝑤,𝑛)   𝐸(𝑡)   𝐹(𝑤,𝑡,𝑛)   𝑁(𝑛)

Proof of Theorem wwlkextsur
Dummy variables 𝑖 𝑑 𝑟 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 wwlknprop 26214 . . 3 (𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) → ((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝑁 ∈ ℕ0𝑊 ∈ Word 𝑉)))
2 simprl 790 . . 3 (((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝑁 ∈ ℕ0𝑊 ∈ Word 𝑉)) → 𝑁 ∈ ℕ0)
3 wwlkextbij.d . . . 4 𝐷 = {𝑤 ∈ Word 𝑉 ∣ ((#‘𝑤) = (𝑁 + 2) ∧ (𝑤 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑤)} ∈ ran 𝐸)}
4 wwlkextbij.r . . . 4 𝑅 = {𝑛𝑉 ∣ {( lastS ‘𝑊), 𝑛} ∈ ran 𝐸}
5 wwlkextbij.f . . . 4 𝐹 = (𝑡𝐷 ↦ ( lastS ‘𝑡))
63, 4, 5wwlkextfun 26257 . . 3 (𝑁 ∈ ℕ0𝐹:𝐷𝑅)
71, 2, 63syl 18 . 2 (𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) → 𝐹:𝐷𝑅)
8 preq2 4213 . . . . . 6 (𝑛 = 𝑟 → {( lastS ‘𝑊), 𝑛} = {( lastS ‘𝑊), 𝑟})
98eleq1d 2672 . . . . 5 (𝑛 = 𝑟 → ({( lastS ‘𝑊), 𝑛} ∈ ran 𝐸 ↔ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸))
109, 4elrab2 3333 . . . 4 (𝑟𝑅 ↔ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸))
11 wwlknext 26252 . . . . . . . . . . 11 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ 𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸) → (𝑊 ++ ⟨“𝑟”⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)))
12113expb 1258 . . . . . . . . . 10 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) → (𝑊 ++ ⟨“𝑟”⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)))
13 wwlknimp 26215 . . . . . . . . . . . . . 14 (𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) → (𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) = (𝑁 + 1) ∧ ∀𝑖 ∈ (0..^𝑁){(𝑊𝑖), (𝑊‘(𝑖 + 1))} ∈ ran 𝐸))
14 s1cl 13235 . . . . . . . . . . . . . . . . . . 19 (𝑟𝑉 → ⟨“𝑟”⟩ ∈ Word 𝑉)
15 swrdccat1 13309 . . . . . . . . . . . . . . . . . . 19 ((𝑊 ∈ Word 𝑉 ∧ ⟨“𝑟”⟩ ∈ Word 𝑉) → ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (#‘𝑊)⟩) = 𝑊)
1614, 15sylan2 490 . . . . . . . . . . . . . . . . . 18 ((𝑊 ∈ Word 𝑉𝑟𝑉) → ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (#‘𝑊)⟩) = 𝑊)
1716ex 449 . . . . . . . . . . . . . . . . 17 (𝑊 ∈ Word 𝑉 → (𝑟𝑉 → ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (#‘𝑊)⟩) = 𝑊))
1817adantr 480 . . . . . . . . . . . . . . . 16 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) = (𝑁 + 1)) → (𝑟𝑉 → ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (#‘𝑊)⟩) = 𝑊))
19 opeq2 4341 . . . . . . . . . . . . . . . . . . . 20 ((𝑁 + 1) = (#‘𝑊) → ⟨0, (𝑁 + 1)⟩ = ⟨0, (#‘𝑊)⟩)
2019eqcoms 2618 . . . . . . . . . . . . . . . . . . 19 ((#‘𝑊) = (𝑁 + 1) → ⟨0, (𝑁 + 1)⟩ = ⟨0, (#‘𝑊)⟩)
2120oveq2d 6565 . . . . . . . . . . . . . . . . . 18 ((#‘𝑊) = (𝑁 + 1) → ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (#‘𝑊)⟩))
2221eqeq1d 2612 . . . . . . . . . . . . . . . . 17 ((#‘𝑊) = (𝑁 + 1) → (((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ↔ ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (#‘𝑊)⟩) = 𝑊))
2322adantl 481 . . . . . . . . . . . . . . . 16 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) = (𝑁 + 1)) → (((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ↔ ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (#‘𝑊)⟩) = 𝑊))
2418, 23sylibrd 248 . . . . . . . . . . . . . . 15 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) = (𝑁 + 1)) → (𝑟𝑉 → ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊))
25243adant3 1074 . . . . . . . . . . . . . 14 ((𝑊 ∈ Word 𝑉 ∧ (#‘𝑊) = (𝑁 + 1) ∧ ∀𝑖 ∈ (0..^𝑁){(𝑊𝑖), (𝑊‘(𝑖 + 1))} ∈ ran 𝐸) → (𝑟𝑉 → ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊))
2613, 25syl 17 . . . . . . . . . . . . 13 (𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) → (𝑟𝑉 → ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊))
2726com12 32 . . . . . . . . . . . 12 (𝑟𝑉 → (𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) → ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊))
2827adantr 480 . . . . . . . . . . 11 ((𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸) → (𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) → ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊))
2928impcom 445 . . . . . . . . . 10 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) → ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊)
30 lswccats1 13263 . . . . . . . . . . . . . . . . . . . 20 ((𝑊 ∈ Word 𝑉𝑟𝑉) → ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩)) = 𝑟)
3130eqcomd 2616 . . . . . . . . . . . . . . . . . . 19 ((𝑊 ∈ Word 𝑉𝑟𝑉) → 𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩)))
3231ex 449 . . . . . . . . . . . . . . . . . 18 (𝑊 ∈ Word 𝑉 → (𝑟𝑉𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))))
3332adantl 481 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℕ0𝑊 ∈ Word 𝑉) → (𝑟𝑉𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))))
3433adantl 481 . . . . . . . . . . . . . . . 16 (((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝑁 ∈ ℕ0𝑊 ∈ Word 𝑉)) → (𝑟𝑉𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))))
351, 34syl 17 . . . . . . . . . . . . . . 15 (𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) → (𝑟𝑉𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))))
3635imp 444 . . . . . . . . . . . . . 14 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ 𝑟𝑉) → 𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩)))
3736preq2d 4219 . . . . . . . . . . . . 13 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ 𝑟𝑉) → {( lastS ‘𝑊), 𝑟} = {( lastS ‘𝑊), ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))})
3837eleq1d 2672 . . . . . . . . . . . 12 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ 𝑟𝑉) → ({( lastS ‘𝑊), 𝑟} ∈ ran 𝐸 ↔ {( lastS ‘𝑊), ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))} ∈ ran 𝐸))
3938biimpd 218 . . . . . . . . . . 11 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ 𝑟𝑉) → ({( lastS ‘𝑊), 𝑟} ∈ ran 𝐸 → {( lastS ‘𝑊), ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))} ∈ ran 𝐸))
4039impr 647 . . . . . . . . . 10 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) → {( lastS ‘𝑊), ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))} ∈ ran 𝐸)
4112, 29, 40jca32 556 . . . . . . . . 9 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) → ((𝑊 ++ ⟨“𝑟”⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ (((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))} ∈ ran 𝐸)))
4235com12 32 . . . . . . . . . . 11 (𝑟𝑉 → (𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) → 𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))))
4342adantr 480 . . . . . . . . . 10 ((𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸) → (𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) → 𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))))
4443impcom 445 . . . . . . . . 9 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) → 𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩)))
45 ovex 6577 . . . . . . . . . . 11 (𝑊 ++ ⟨“𝑟”⟩) ∈ V
4645a1i 11 . . . . . . . . . 10 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) → (𝑊 ++ ⟨“𝑟”⟩) ∈ V)
47 eleq1 2676 . . . . . . . . . . . . . . 15 (𝑑 = (𝑊 ++ ⟨“𝑟”⟩) → (𝑑 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ↔ (𝑊 ++ ⟨“𝑟”⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1))))
48 oveq1 6556 . . . . . . . . . . . . . . . . 17 (𝑑 = (𝑊 ++ ⟨“𝑟”⟩) → (𝑑 substr ⟨0, (𝑁 + 1)⟩) = ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩))
4948eqeq1d 2612 . . . . . . . . . . . . . . . 16 (𝑑 = (𝑊 ++ ⟨“𝑟”⟩) → ((𝑑 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ↔ ((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊))
50 fveq2 6103 . . . . . . . . . . . . . . . . . 18 (𝑑 = (𝑊 ++ ⟨“𝑟”⟩) → ( lastS ‘𝑑) = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩)))
5150preq2d 4219 . . . . . . . . . . . . . . . . 17 (𝑑 = (𝑊 ++ ⟨“𝑟”⟩) → {( lastS ‘𝑊), ( lastS ‘𝑑)} = {( lastS ‘𝑊), ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))})
5251eleq1d 2672 . . . . . . . . . . . . . . . 16 (𝑑 = (𝑊 ++ ⟨“𝑟”⟩) → ({( lastS ‘𝑊), ( lastS ‘𝑑)} ∈ ran 𝐸 ↔ {( lastS ‘𝑊), ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))} ∈ ran 𝐸))
5349, 52anbi12d 743 . . . . . . . . . . . . . . 15 (𝑑 = (𝑊 ++ ⟨“𝑟”⟩) → (((𝑑 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑑)} ∈ ran 𝐸) ↔ (((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))} ∈ ran 𝐸)))
5447, 53anbi12d 743 . . . . . . . . . . . . . 14 (𝑑 = (𝑊 ++ ⟨“𝑟”⟩) → ((𝑑 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ ((𝑑 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑑)} ∈ ran 𝐸)) ↔ ((𝑊 ++ ⟨“𝑟”⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ (((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))} ∈ ran 𝐸))))
5550eqeq2d 2620 . . . . . . . . . . . . . 14 (𝑑 = (𝑊 ++ ⟨“𝑟”⟩) → (𝑟 = ( lastS ‘𝑑) ↔ 𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))))
5654, 55anbi12d 743 . . . . . . . . . . . . 13 (𝑑 = (𝑊 ++ ⟨“𝑟”⟩) → (((𝑑 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ ((𝑑 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑑)} ∈ ran 𝐸)) ∧ 𝑟 = ( lastS ‘𝑑)) ↔ (((𝑊 ++ ⟨“𝑟”⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ (((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))} ∈ ran 𝐸)) ∧ 𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩)))))
5756bicomd 212 . . . . . . . . . . . 12 (𝑑 = (𝑊 ++ ⟨“𝑟”⟩) → ((((𝑊 ++ ⟨“𝑟”⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ (((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))} ∈ ran 𝐸)) ∧ 𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))) ↔ ((𝑑 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ ((𝑑 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑑)} ∈ ran 𝐸)) ∧ 𝑟 = ( lastS ‘𝑑))))
5857adantl 481 . . . . . . . . . . 11 (((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) ∧ 𝑑 = (𝑊 ++ ⟨“𝑟”⟩)) → ((((𝑊 ++ ⟨“𝑟”⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ (((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))} ∈ ran 𝐸)) ∧ 𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))) ↔ ((𝑑 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ ((𝑑 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑑)} ∈ ran 𝐸)) ∧ 𝑟 = ( lastS ‘𝑑))))
5958biimpd 218 . . . . . . . . . 10 (((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) ∧ 𝑑 = (𝑊 ++ ⟨“𝑟”⟩)) → ((((𝑊 ++ ⟨“𝑟”⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ (((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))} ∈ ran 𝐸)) ∧ 𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))) → ((𝑑 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ ((𝑑 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑑)} ∈ ran 𝐸)) ∧ 𝑟 = ( lastS ‘𝑑))))
6046, 59spcimedv 3265 . . . . . . . . 9 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) → ((((𝑊 ++ ⟨“𝑟”⟩) ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ (((𝑊 ++ ⟨“𝑟”⟩) substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))} ∈ ran 𝐸)) ∧ 𝑟 = ( lastS ‘(𝑊 ++ ⟨“𝑟”⟩))) → ∃𝑑((𝑑 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ ((𝑑 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑑)} ∈ ran 𝐸)) ∧ 𝑟 = ( lastS ‘𝑑))))
6141, 44, 60mp2and 711 . . . . . . . 8 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) → ∃𝑑((𝑑 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ ((𝑑 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑑)} ∈ ran 𝐸)) ∧ 𝑟 = ( lastS ‘𝑑)))
62 oveq1 6556 . . . . . . . . . . . . 13 (𝑤 = 𝑑 → (𝑤 substr ⟨0, (𝑁 + 1)⟩) = (𝑑 substr ⟨0, (𝑁 + 1)⟩))
6362eqeq1d 2612 . . . . . . . . . . . 12 (𝑤 = 𝑑 → ((𝑤 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ↔ (𝑑 substr ⟨0, (𝑁 + 1)⟩) = 𝑊))
64 fveq2 6103 . . . . . . . . . . . . . 14 (𝑤 = 𝑑 → ( lastS ‘𝑤) = ( lastS ‘𝑑))
6564preq2d 4219 . . . . . . . . . . . . 13 (𝑤 = 𝑑 → {( lastS ‘𝑊), ( lastS ‘𝑤)} = {( lastS ‘𝑊), ( lastS ‘𝑑)})
6665eleq1d 2672 . . . . . . . . . . . 12 (𝑤 = 𝑑 → ({( lastS ‘𝑊), ( lastS ‘𝑤)} ∈ ran 𝐸 ↔ {( lastS ‘𝑊), ( lastS ‘𝑑)} ∈ ran 𝐸))
6763, 66anbi12d 743 . . . . . . . . . . 11 (𝑤 = 𝑑 → (((𝑤 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑤)} ∈ ran 𝐸) ↔ ((𝑑 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑑)} ∈ ran 𝐸)))
6867elrab 3331 . . . . . . . . . 10 (𝑑 ∈ {𝑤 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∣ ((𝑤 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑤)} ∈ ran 𝐸)} ↔ (𝑑 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ ((𝑑 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑑)} ∈ ran 𝐸)))
6968anbi1i 727 . . . . . . . . 9 ((𝑑 ∈ {𝑤 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∣ ((𝑤 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑤)} ∈ ran 𝐸)} ∧ 𝑟 = ( lastS ‘𝑑)) ↔ ((𝑑 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ ((𝑑 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑑)} ∈ ran 𝐸)) ∧ 𝑟 = ( lastS ‘𝑑)))
7069exbii 1764 . . . . . . . 8 (∃𝑑(𝑑 ∈ {𝑤 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∣ ((𝑤 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑤)} ∈ ran 𝐸)} ∧ 𝑟 = ( lastS ‘𝑑)) ↔ ∃𝑑((𝑑 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∧ ((𝑑 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑑)} ∈ ran 𝐸)) ∧ 𝑟 = ( lastS ‘𝑑)))
7161, 70sylibr 223 . . . . . . 7 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) → ∃𝑑(𝑑 ∈ {𝑤 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∣ ((𝑤 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑤)} ∈ ran 𝐸)} ∧ 𝑟 = ( lastS ‘𝑑)))
72 df-rex 2902 . . . . . . 7 (∃𝑑 ∈ {𝑤 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∣ ((𝑤 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑤)} ∈ ran 𝐸)}𝑟 = ( lastS ‘𝑑) ↔ ∃𝑑(𝑑 ∈ {𝑤 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∣ ((𝑤 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑤)} ∈ ran 𝐸)} ∧ 𝑟 = ( lastS ‘𝑑)))
7371, 72sylibr 223 . . . . . 6 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) → ∃𝑑 ∈ {𝑤 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∣ ((𝑤 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑤)} ∈ ran 𝐸)}𝑟 = ( lastS ‘𝑑))
743wwlkextwrd 26256 . . . . . . . 8 (𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) → 𝐷 = {𝑤 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∣ ((𝑤 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑤)} ∈ ran 𝐸)})
7574adantr 480 . . . . . . 7 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) → 𝐷 = {𝑤 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∣ ((𝑤 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑤)} ∈ ran 𝐸)})
7675rexeqdv 3122 . . . . . 6 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) → (∃𝑑𝐷 𝑟 = ( lastS ‘𝑑) ↔ ∃𝑑 ∈ {𝑤 ∈ ((𝑉 WWalksN 𝐸)‘(𝑁 + 1)) ∣ ((𝑤 substr ⟨0, (𝑁 + 1)⟩) = 𝑊 ∧ {( lastS ‘𝑊), ( lastS ‘𝑤)} ∈ ran 𝐸)}𝑟 = ( lastS ‘𝑑)))
7773, 76mpbird 246 . . . . 5 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) → ∃𝑑𝐷 𝑟 = ( lastS ‘𝑑))
78 fveq2 6103 . . . . . . . 8 (𝑡 = 𝑑 → ( lastS ‘𝑡) = ( lastS ‘𝑑))
79 fvex 6113 . . . . . . . 8 ( lastS ‘𝑑) ∈ V
8078, 5, 79fvmpt 6191 . . . . . . 7 (𝑑𝐷 → (𝐹𝑑) = ( lastS ‘𝑑))
8180eqeq2d 2620 . . . . . 6 (𝑑𝐷 → (𝑟 = (𝐹𝑑) ↔ 𝑟 = ( lastS ‘𝑑)))
8281rexbiia 3022 . . . . 5 (∃𝑑𝐷 𝑟 = (𝐹𝑑) ↔ ∃𝑑𝐷 𝑟 = ( lastS ‘𝑑))
8377, 82sylibr 223 . . . 4 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ (𝑟𝑉 ∧ {( lastS ‘𝑊), 𝑟} ∈ ran 𝐸)) → ∃𝑑𝐷 𝑟 = (𝐹𝑑))
8410, 83sylan2b 491 . . 3 ((𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) ∧ 𝑟𝑅) → ∃𝑑𝐷 𝑟 = (𝐹𝑑))
8584ralrimiva 2949 . 2 (𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) → ∀𝑟𝑅𝑑𝐷 𝑟 = (𝐹𝑑))
86 dffo3 6282 . 2 (𝐹:𝐷onto𝑅 ↔ (𝐹:𝐷𝑅 ∧ ∀𝑟𝑅𝑑𝐷 𝑟 = (𝐹𝑑)))
877, 85, 86sylanbrc 695 1 (𝑊 ∈ ((𝑉 WWalksN 𝐸)‘𝑁) → 𝐹:𝐷onto𝑅)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 195  wa 383  w3a 1031   = wceq 1475  wex 1695  wcel 1977  wral 2896  wrex 2897  {crab 2900  Vcvv 3173  {cpr 4127  cop 4131  cmpt 4643  ran crn 5039  wf 5800  ontowfo 5802  cfv 5804  (class class class)co 6549  0cc0 9815  1c1 9816   + caddc 9818  2c2 10947  0cn0 11169  ..^cfzo 12334  #chash 12979  Word cword 13146   lastS clsw 13147   ++ cconcat 13148  ⟨“cs1 13149   substr csubstr 13150   WWalksN cwwlkn 26206
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-8 1979  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-rep 4699  ax-sep 4709  ax-nul 4717  ax-pow 4769  ax-pr 4833  ax-un 6847  ax-cnex 9871  ax-resscn 9872  ax-1cn 9873  ax-icn 9874  ax-addcl 9875  ax-addrcl 9876  ax-mulcl 9877  ax-mulrcl 9878  ax-mulcom 9879  ax-addass 9880  ax-mulass 9881  ax-distr 9882  ax-i2m1 9883  ax-1ne0 9884  ax-1rid 9885  ax-rnegex 9886  ax-rrecex 9887  ax-cnre 9888  ax-pre-lttri 9889  ax-pre-lttrn 9890  ax-pre-ltadd 9891  ax-pre-mulgt0 9892
This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3or 1032  df-3an 1033  df-tru 1478  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ne 2782  df-nel 2783  df-ral 2901  df-rex 2902  df-reu 2903  df-rab 2905  df-v 3175  df-sbc 3403  df-csb 3500  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-pss 3556  df-nul 3875  df-if 4037  df-pw 4110  df-sn 4126  df-pr 4128  df-tp 4130  df-op 4132  df-uni 4373  df-int 4411  df-iun 4457  df-br 4584  df-opab 4644  df-mpt 4645  df-tr 4681  df-eprel 4949  df-id 4953  df-po 4959  df-so 4960  df-fr 4997  df-we 4999  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-res 5050  df-ima 5051  df-pred 5597  df-ord 5643  df-on 5644  df-lim 5645  df-suc 5646  df-iota 5768  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-fv 5812  df-riota 6511  df-ov 6552  df-oprab 6553  df-mpt2 6554  df-om 6958  df-1st 7059  df-2nd 7060  df-wrecs 7294  df-recs 7355  df-rdg 7393  df-1o 7447  df-oadd 7451  df-er 7629  df-map 7746  df-pm 7747  df-en 7842  df-dom 7843  df-sdom 7844  df-fin 7845  df-card 8648  df-pnf 9955  df-mnf 9956  df-xr 9957  df-ltxr 9958  df-le 9959  df-sub 10147  df-neg 10148  df-nn 10898  df-2 10956  df-n0 11170  df-xnn0 11241  df-z 11255  df-uz 11564  df-rp 11709  df-fz 12198  df-fzo 12335  df-hash 12980  df-word 13154  df-lsw 13155  df-concat 13156  df-s1 13157  df-substr 13158  df-wwlk 26207  df-wwlkn 26208
This theorem is referenced by:  wwlkextbij0  26260
  Copyright terms: Public domain W3C validator