return to top
source
This file provides lemmas for reasoning about the vertices of a path.
The end vertex of a path. A path p : Path a b has p.end = b.
p : Path a b
p.end = b
The list of vertices in a path, including the start and end vertices.
The vertex list of cons — convenient simp form.
cons
simp
The length of vertices list equals path length plus one
The head of the vertices list is the start vertex
The head of the vertices list is the start vertex.
If a composition is nil, the left component must be nil (proved via lengths, avoiding dependent pattern-matching).
nil
If a composition is nil, the right component must be nil
Given a path p : Path a b and an index n ≤ p.length, we can split p = p₁.comp p₂ with p₁.length = n.
n ≤ p.length
p = p₁.comp p₂
p₁.length = n
split_at_vertex decomposes a path p at the vertex sitting in position i of its vertices
split_at_vertex
p
i
vertices
If a vertex v occurs in the list of vertices of a path p : Path a b, then p can be decomposed as a concatenation of a subpath from a to v and a subpath from v to b.
v
a
b
Split a path at the last occurrence of a vertex.