theorem WList.internalVertexSet_cons {α : Type u_1} {β : Type u_2} (x : α) (e : β) (w : WList α β) :
The internal vertices of cons x e w are the vertices of w other than its last one.
This subsumes the nil/cons case split on the tail: w.vertex.dropLast is already empty when
w is trivial.
theorem WList.internalVertexSet_cons_cons {α : Type u_1} {β : Type u_2} (x : α) (e : β) (y : α) (f : β) (w : WList α β) :
theorem WList.mem_of_mem_internalVertexSet {α : Type u_1} {β : Type u_2} {x : α} {w : WList α β} (hx : x ∈ w.internalVertexSet) :
An internal vertex is a vertex.
theorem WList.IsSublist.internalVertexSet_subset {α : Type u_1} {β : Type u_2} {w w₀ : WList α β} (h : w₀.IsSublist w) :
w₀.internalVertexSet ⊆ w.vertexSet
The internal vertices of a sublist belong to the ambient wList.
theorem WList.IsSublist.internalVertexSet_subset_internalVertexSet {α : Type u_1} {β : Type u_2} {w w' : WList α β} (h : w'.IsSublist w) :
Internal vertices of a sublist are internal vertices of the original list.
theorem WList.Nonempty.dropLast_cons {α : Type u_1} {β : Type u_2} {w : WList α β} (hw : w.Nonempty) (x : α) (e : β) :
theorem WList.Nontrivial.exists_cons_concat {α : Type u_1} {β : Type u_2} {w : WList α β} (hw : w.Nontrivial) :
theorem WList.mem_vertex_dropLast_iff_of_nodup {α : Type u_1} {β : Type u_2} {x : α} {w : WList α β} (hw : w.vertex.Nodup) :
Membership in the vertex list with the last vertex removed. Unlike
mem_dropLast_iff_of_nodup this needs no Nonempty hypothesis: both sides are false when w
is trivial.
theorem WList.first_notMem_internalVertexSet_of_nodup {α : Type u_1} {β : Type u_2} {w : WList α β} (hw : w.vertex.Nodup) :
w.first ∉ w.internalVertexSet
theorem WList.last_notMem_internalVertexSet_of_nodup {α : Type u_1} {β : Type u_2} {w : WList α β} (hw : w.vertex.Nodup) :
w.last ∉ w.internalVertexSet
@[simp]
theorem WList.Nontrivial.tail_nonempty {α : Type u_1} {β : Type u_2} {w : WList α β} :
w.Nontrivial → w.tail.Nonempty
Alias of the reverse direction of WList.tail_nonempty_iff.
@[simp]
theorem WList.Nontrivial.dropLast_nonempty {α : Type u_1} {β : Type u_2} {w : WList α β} :
w.Nontrivial → w.dropLast.Nonempty
Alias of the reverse direction of WList.dropLast_nonempty_iff.
theorem WList.Nontrivial.dropLast_firstEdge {α : Type u_1} {β : Type u_2} {w : WList α β} (hw : w.Nontrivial) :
theorem WList.Nontrivial.tail_lastEdge {α : Type u_1} {β : Type u_2} {w : WList α β} (hw : w.Nontrivial) :
theorem WList.Nontrivial.firstEdge_ne_lastEdge {α : Type u_1} {β : Type u_2} {w : WList α β} (hw : w.Nontrivial) (hnd : w.edge.Nodup) :
Relationships with prefixUntil and suffixFrom #
theorem WList.idxOf_eq_length_prefixUntilVertex {α : Type u_1} {β : Type u_2} {x : α} {w : WList α β} [DecidableEq α] (hx : x ∈ w) :
theorem WList.prefixUntilVertex_idxOf {α : Type u_1} {β : Type u_2} {x y : α} {w : WList α β} [DecidableEq α] (hx : x ∈ w) (hle : w.idxOf y ≤ w.idxOf x) :
theorem WList.prefixUntilVertex_tail {α : Type u_1} {β : Type u_2} {v : α} [DecidableEq α] (w : WList α β) (hv : v ≠ w.first) (hvw : v ∈ w) :