| Step |
Hyp |
Ref |
Expression |
| 1 |
|
wwlksnextbij0.v |
⊢ 𝑉 = ( Vtx ‘ 𝐺 ) |
| 2 |
|
wwlksnextbij0.e |
⊢ 𝐸 = ( Edg ‘ 𝐺 ) |
| 3 |
|
wwlksnextbij0.d |
⊢ 𝐷 = { 𝑤 ∈ Word 𝑉 ∣ ( ( ♯ ‘ 𝑤 ) = ( 𝑁 + 2 ) ∧ ( 𝑤 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑤 ) } ∈ 𝐸 ) } |
| 4 |
|
wwlksnextbij0.r |
⊢ 𝑅 = { 𝑛 ∈ 𝑉 ∣ { ( lastS ‘ 𝑊 ) , 𝑛 } ∈ 𝐸 } |
| 5 |
|
wwlksnextbij0.f |
⊢ 𝐹 = ( 𝑡 ∈ 𝐷 ↦ ( lastS ‘ 𝑡 ) ) |
| 6 |
1
|
wwlknbp |
⊢ ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) → ( 𝐺 ∈ V ∧ 𝑁 ∈ ℕ0 ∧ 𝑊 ∈ Word 𝑉 ) ) |
| 7 |
|
simp2 |
⊢ ( ( 𝐺 ∈ V ∧ 𝑁 ∈ ℕ0 ∧ 𝑊 ∈ Word 𝑉 ) → 𝑁 ∈ ℕ0 ) |
| 8 |
1 2 3 4 5
|
wwlksnextfun |
⊢ ( 𝑁 ∈ ℕ0 → 𝐹 : 𝐷 ⟶ 𝑅 ) |
| 9 |
6 7 8
|
3syl |
⊢ ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) → 𝐹 : 𝐷 ⟶ 𝑅 ) |
| 10 |
|
preq2 |
⊢ ( 𝑛 = 𝑟 → { ( lastS ‘ 𝑊 ) , 𝑛 } = { ( lastS ‘ 𝑊 ) , 𝑟 } ) |
| 11 |
10
|
eleq1d |
⊢ ( 𝑛 = 𝑟 → ( { ( lastS ‘ 𝑊 ) , 𝑛 } ∈ 𝐸 ↔ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) |
| 12 |
11 4
|
elrab2 |
⊢ ( 𝑟 ∈ 𝑅 ↔ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) |
| 13 |
1 2
|
wwlksnext |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) → ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ) |
| 14 |
13
|
3expb |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) → ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ) |
| 15 |
|
s1cl |
⊢ ( 𝑟 ∈ 𝑉 → 〈“ 𝑟 ”〉 ∈ Word 𝑉 ) |
| 16 |
|
pfxccat1 |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ 〈“ 𝑟 ”〉 ∈ Word 𝑉 ) → ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( ♯ ‘ 𝑊 ) ) = 𝑊 ) |
| 17 |
15 16
|
sylan2 |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ 𝑟 ∈ 𝑉 ) → ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( ♯ ‘ 𝑊 ) ) = 𝑊 ) |
| 18 |
17
|
ex |
⊢ ( 𝑊 ∈ Word 𝑉 → ( 𝑟 ∈ 𝑉 → ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( ♯ ‘ 𝑊 ) ) = 𝑊 ) ) |
| 19 |
18
|
adantr |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ ( ♯ ‘ 𝑊 ) = ( 𝑁 + 1 ) ) → ( 𝑟 ∈ 𝑉 → ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( ♯ ‘ 𝑊 ) ) = 𝑊 ) ) |
| 20 |
|
oveq2 |
⊢ ( ( 𝑁 + 1 ) = ( ♯ ‘ 𝑊 ) → ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( ♯ ‘ 𝑊 ) ) ) |
| 21 |
20
|
eqcoms |
⊢ ( ( ♯ ‘ 𝑊 ) = ( 𝑁 + 1 ) → ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( ♯ ‘ 𝑊 ) ) ) |
| 22 |
21
|
eqeq1d |
⊢ ( ( ♯ ‘ 𝑊 ) = ( 𝑁 + 1 ) → ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ↔ ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( ♯ ‘ 𝑊 ) ) = 𝑊 ) ) |
| 23 |
22
|
adantl |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ ( ♯ ‘ 𝑊 ) = ( 𝑁 + 1 ) ) → ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ↔ ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( ♯ ‘ 𝑊 ) ) = 𝑊 ) ) |
| 24 |
19 23
|
sylibrd |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ ( ♯ ‘ 𝑊 ) = ( 𝑁 + 1 ) ) → ( 𝑟 ∈ 𝑉 → ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ) ) |
| 25 |
24
|
3adant3 |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ ( ♯ ‘ 𝑊 ) = ( 𝑁 + 1 ) ∧ ∀ 𝑖 ∈ ( 0 ..^ 𝑁 ) { ( 𝑊 ‘ 𝑖 ) , ( 𝑊 ‘ ( 𝑖 + 1 ) ) } ∈ 𝐸 ) → ( 𝑟 ∈ 𝑉 → ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ) ) |
| 26 |
1 2
|
wwlknp |
⊢ ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) → ( 𝑊 ∈ Word 𝑉 ∧ ( ♯ ‘ 𝑊 ) = ( 𝑁 + 1 ) ∧ ∀ 𝑖 ∈ ( 0 ..^ 𝑁 ) { ( 𝑊 ‘ 𝑖 ) , ( 𝑊 ‘ ( 𝑖 + 1 ) ) } ∈ 𝐸 ) ) |
| 27 |
25 26
|
syl11 |
⊢ ( 𝑟 ∈ 𝑉 → ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) → ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ) ) |
| 28 |
27
|
adantr |
⊢ ( ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) → ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) → ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ) ) |
| 29 |
28
|
impcom |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) → ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ) |
| 30 |
|
lswccats1 |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ 𝑟 ∈ 𝑉 ) → ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) = 𝑟 ) |
| 31 |
30
|
eqcomd |
⊢ ( ( 𝑊 ∈ Word 𝑉 ∧ 𝑟 ∈ 𝑉 ) → 𝑟 = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) |
| 32 |
31
|
ex |
⊢ ( 𝑊 ∈ Word 𝑉 → ( 𝑟 ∈ 𝑉 → 𝑟 = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) ) |
| 33 |
32
|
3ad2ant3 |
⊢ ( ( 𝐺 ∈ V ∧ 𝑁 ∈ ℕ0 ∧ 𝑊 ∈ Word 𝑉 ) → ( 𝑟 ∈ 𝑉 → 𝑟 = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) ) |
| 34 |
6 33
|
syl |
⊢ ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) → ( 𝑟 ∈ 𝑉 → 𝑟 = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) ) |
| 35 |
34
|
imp |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ 𝑟 ∈ 𝑉 ) → 𝑟 = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) |
| 36 |
35
|
preq2d |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ 𝑟 ∈ 𝑉 ) → { ( lastS ‘ 𝑊 ) , 𝑟 } = { ( lastS ‘ 𝑊 ) , ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) } ) |
| 37 |
36
|
eleq1d |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ 𝑟 ∈ 𝑉 ) → ( { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ↔ { ( lastS ‘ 𝑊 ) , ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) } ∈ 𝐸 ) ) |
| 38 |
37
|
biimpd |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ 𝑟 ∈ 𝑉 ) → ( { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 → { ( lastS ‘ 𝑊 ) , ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) } ∈ 𝐸 ) ) |
| 39 |
38
|
impr |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) → { ( lastS ‘ 𝑊 ) , ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) } ∈ 𝐸 ) |
| 40 |
14 29 39
|
jca32 |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) → ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) } ∈ 𝐸 ) ) ) |
| 41 |
33 6
|
syl11 |
⊢ ( 𝑟 ∈ 𝑉 → ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) → 𝑟 = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) ) |
| 42 |
41
|
adantr |
⊢ ( ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) → ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) → 𝑟 = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) ) |
| 43 |
42
|
impcom |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) → 𝑟 = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) |
| 44 |
|
ovexd |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) → ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ∈ V ) |
| 45 |
|
eleq1 |
⊢ ( 𝑑 = ( 𝑊 ++ 〈“ 𝑟 ”〉 ) → ( 𝑑 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ↔ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ) ) |
| 46 |
|
oveq1 |
⊢ ( 𝑑 = ( 𝑊 ++ 〈“ 𝑟 ”〉 ) → ( 𝑑 prefix ( 𝑁 + 1 ) ) = ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) ) |
| 47 |
46
|
eqeq1d |
⊢ ( 𝑑 = ( 𝑊 ++ 〈“ 𝑟 ”〉 ) → ( ( 𝑑 prefix ( 𝑁 + 1 ) ) = 𝑊 ↔ ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ) ) |
| 48 |
|
fveq2 |
⊢ ( 𝑑 = ( 𝑊 ++ 〈“ 𝑟 ”〉 ) → ( lastS ‘ 𝑑 ) = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) |
| 49 |
48
|
preq2d |
⊢ ( 𝑑 = ( 𝑊 ++ 〈“ 𝑟 ”〉 ) → { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } = { ( lastS ‘ 𝑊 ) , ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) } ) |
| 50 |
49
|
eleq1d |
⊢ ( 𝑑 = ( 𝑊 ++ 〈“ 𝑟 ”〉 ) → ( { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ∈ 𝐸 ↔ { ( lastS ‘ 𝑊 ) , ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) } ∈ 𝐸 ) ) |
| 51 |
47 50
|
anbi12d |
⊢ ( 𝑑 = ( 𝑊 ++ 〈“ 𝑟 ”〉 ) → ( ( ( 𝑑 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ∈ 𝐸 ) ↔ ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) } ∈ 𝐸 ) ) ) |
| 52 |
45 51
|
anbi12d |
⊢ ( 𝑑 = ( 𝑊 ++ 〈“ 𝑟 ”〉 ) → ( ( 𝑑 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( 𝑑 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ∈ 𝐸 ) ) ↔ ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) } ∈ 𝐸 ) ) ) ) |
| 53 |
48
|
eqeq2d |
⊢ ( 𝑑 = ( 𝑊 ++ 〈“ 𝑟 ”〉 ) → ( 𝑟 = ( lastS ‘ 𝑑 ) ↔ 𝑟 = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) ) |
| 54 |
52 53
|
anbi12d |
⊢ ( 𝑑 = ( 𝑊 ++ 〈“ 𝑟 ”〉 ) → ( ( ( 𝑑 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( 𝑑 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ∈ 𝐸 ) ) ∧ 𝑟 = ( lastS ‘ 𝑑 ) ) ↔ ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) } ∈ 𝐸 ) ) ∧ 𝑟 = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) ) ) |
| 55 |
54
|
bicomd |
⊢ ( 𝑑 = ( 𝑊 ++ 〈“ 𝑟 ”〉 ) → ( ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) } ∈ 𝐸 ) ) ∧ 𝑟 = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) ↔ ( ( 𝑑 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( 𝑑 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ∈ 𝐸 ) ) ∧ 𝑟 = ( lastS ‘ 𝑑 ) ) ) ) |
| 56 |
55
|
adantl |
⊢ ( ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) ∧ 𝑑 = ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) → ( ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) } ∈ 𝐸 ) ) ∧ 𝑟 = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) ↔ ( ( 𝑑 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( 𝑑 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ∈ 𝐸 ) ) ∧ 𝑟 = ( lastS ‘ 𝑑 ) ) ) ) |
| 57 |
56
|
biimpd |
⊢ ( ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) ∧ 𝑑 = ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) → ( ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) } ∈ 𝐸 ) ) ∧ 𝑟 = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) → ( ( 𝑑 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( 𝑑 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ∈ 𝐸 ) ) ∧ 𝑟 = ( lastS ‘ 𝑑 ) ) ) ) |
| 58 |
44 57
|
spcimedv |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) → ( ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( ( 𝑊 ++ 〈“ 𝑟 ”〉 ) prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) } ∈ 𝐸 ) ) ∧ 𝑟 = ( lastS ‘ ( 𝑊 ++ 〈“ 𝑟 ”〉 ) ) ) → ∃ 𝑑 ( ( 𝑑 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( 𝑑 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ∈ 𝐸 ) ) ∧ 𝑟 = ( lastS ‘ 𝑑 ) ) ) ) |
| 59 |
40 43 58
|
mp2and |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) → ∃ 𝑑 ( ( 𝑑 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( 𝑑 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ∈ 𝐸 ) ) ∧ 𝑟 = ( lastS ‘ 𝑑 ) ) ) |
| 60 |
|
oveq1 |
⊢ ( 𝑤 = 𝑑 → ( 𝑤 prefix ( 𝑁 + 1 ) ) = ( 𝑑 prefix ( 𝑁 + 1 ) ) ) |
| 61 |
60
|
eqeq1d |
⊢ ( 𝑤 = 𝑑 → ( ( 𝑤 prefix ( 𝑁 + 1 ) ) = 𝑊 ↔ ( 𝑑 prefix ( 𝑁 + 1 ) ) = 𝑊 ) ) |
| 62 |
|
fveq2 |
⊢ ( 𝑤 = 𝑑 → ( lastS ‘ 𝑤 ) = ( lastS ‘ 𝑑 ) ) |
| 63 |
62
|
preq2d |
⊢ ( 𝑤 = 𝑑 → { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑤 ) } = { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ) |
| 64 |
63
|
eleq1d |
⊢ ( 𝑤 = 𝑑 → ( { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑤 ) } ∈ 𝐸 ↔ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ∈ 𝐸 ) ) |
| 65 |
61 64
|
anbi12d |
⊢ ( 𝑤 = 𝑑 → ( ( ( 𝑤 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑤 ) } ∈ 𝐸 ) ↔ ( ( 𝑑 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ∈ 𝐸 ) ) ) |
| 66 |
65
|
elrab |
⊢ ( 𝑑 ∈ { 𝑤 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∣ ( ( 𝑤 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑤 ) } ∈ 𝐸 ) } ↔ ( 𝑑 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( 𝑑 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ∈ 𝐸 ) ) ) |
| 67 |
66
|
anbi1i |
⊢ ( ( 𝑑 ∈ { 𝑤 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∣ ( ( 𝑤 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑤 ) } ∈ 𝐸 ) } ∧ 𝑟 = ( lastS ‘ 𝑑 ) ) ↔ ( ( 𝑑 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( 𝑑 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ∈ 𝐸 ) ) ∧ 𝑟 = ( lastS ‘ 𝑑 ) ) ) |
| 68 |
67
|
exbii |
⊢ ( ∃ 𝑑 ( 𝑑 ∈ { 𝑤 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∣ ( ( 𝑤 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑤 ) } ∈ 𝐸 ) } ∧ 𝑟 = ( lastS ‘ 𝑑 ) ) ↔ ∃ 𝑑 ( ( 𝑑 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∧ ( ( 𝑑 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑑 ) } ∈ 𝐸 ) ) ∧ 𝑟 = ( lastS ‘ 𝑑 ) ) ) |
| 69 |
59 68
|
sylibr |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) → ∃ 𝑑 ( 𝑑 ∈ { 𝑤 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∣ ( ( 𝑤 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑤 ) } ∈ 𝐸 ) } ∧ 𝑟 = ( lastS ‘ 𝑑 ) ) ) |
| 70 |
|
df-rex |
⊢ ( ∃ 𝑑 ∈ { 𝑤 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∣ ( ( 𝑤 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑤 ) } ∈ 𝐸 ) } 𝑟 = ( lastS ‘ 𝑑 ) ↔ ∃ 𝑑 ( 𝑑 ∈ { 𝑤 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∣ ( ( 𝑤 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑤 ) } ∈ 𝐸 ) } ∧ 𝑟 = ( lastS ‘ 𝑑 ) ) ) |
| 71 |
69 70
|
sylibr |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) → ∃ 𝑑 ∈ { 𝑤 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∣ ( ( 𝑤 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑤 ) } ∈ 𝐸 ) } 𝑟 = ( lastS ‘ 𝑑 ) ) |
| 72 |
1 2 3
|
wwlksnextwrd |
⊢ ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) → 𝐷 = { 𝑤 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∣ ( ( 𝑤 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑤 ) } ∈ 𝐸 ) } ) |
| 73 |
72
|
adantr |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) → 𝐷 = { 𝑤 ∈ ( ( 𝑁 + 1 ) WWalksN 𝐺 ) ∣ ( ( 𝑤 prefix ( 𝑁 + 1 ) ) = 𝑊 ∧ { ( lastS ‘ 𝑊 ) , ( lastS ‘ 𝑤 ) } ∈ 𝐸 ) } ) |
| 74 |
71 73
|
rexeqtrrdv |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) → ∃ 𝑑 ∈ 𝐷 𝑟 = ( lastS ‘ 𝑑 ) ) |
| 75 |
|
fveq2 |
⊢ ( 𝑡 = 𝑑 → ( lastS ‘ 𝑡 ) = ( lastS ‘ 𝑑 ) ) |
| 76 |
|
fvex |
⊢ ( lastS ‘ 𝑑 ) ∈ V |
| 77 |
75 5 76
|
fvmpt |
⊢ ( 𝑑 ∈ 𝐷 → ( 𝐹 ‘ 𝑑 ) = ( lastS ‘ 𝑑 ) ) |
| 78 |
77
|
eqeq2d |
⊢ ( 𝑑 ∈ 𝐷 → ( 𝑟 = ( 𝐹 ‘ 𝑑 ) ↔ 𝑟 = ( lastS ‘ 𝑑 ) ) ) |
| 79 |
78
|
rexbiia |
⊢ ( ∃ 𝑑 ∈ 𝐷 𝑟 = ( 𝐹 ‘ 𝑑 ) ↔ ∃ 𝑑 ∈ 𝐷 𝑟 = ( lastS ‘ 𝑑 ) ) |
| 80 |
74 79
|
sylibr |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ ( 𝑟 ∈ 𝑉 ∧ { ( lastS ‘ 𝑊 ) , 𝑟 } ∈ 𝐸 ) ) → ∃ 𝑑 ∈ 𝐷 𝑟 = ( 𝐹 ‘ 𝑑 ) ) |
| 81 |
12 80
|
sylan2b |
⊢ ( ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) ∧ 𝑟 ∈ 𝑅 ) → ∃ 𝑑 ∈ 𝐷 𝑟 = ( 𝐹 ‘ 𝑑 ) ) |
| 82 |
81
|
ralrimiva |
⊢ ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) → ∀ 𝑟 ∈ 𝑅 ∃ 𝑑 ∈ 𝐷 𝑟 = ( 𝐹 ‘ 𝑑 ) ) |
| 83 |
|
dffo3 |
⊢ ( 𝐹 : 𝐷 –onto→ 𝑅 ↔ ( 𝐹 : 𝐷 ⟶ 𝑅 ∧ ∀ 𝑟 ∈ 𝑅 ∃ 𝑑 ∈ 𝐷 𝑟 = ( 𝐹 ‘ 𝑑 ) ) ) |
| 84 |
9 82 83
|
sylanbrc |
⊢ ( 𝑊 ∈ ( 𝑁 WWalksN 𝐺 ) → 𝐹 : 𝐷 –onto→ 𝑅 ) |