Sides of tree edges #
For an edge uv of a graph T on a finite vertex type, SimpleGraph.edgeSide T u v is the set of
vertices reachable from u once the edge uv is deleted. In a tree, the two sides of an edge
partition the vertices, a path crosses each of its edges from one side to the other, and a set that
no other tree edge crosses is a side. These are the fundamental cuts of a tree, used by Gomory–Hu
trees (CslibFrontier.Algorithms.Lean.GomoryHu.Basic).
Main definitions #
SimpleGraph.edgeSide: the vertices reachable fromuinTafter deleting the edgeuv.
Main results #
SimpleGraph.mem_edgeSide_swap,SimpleGraph.edgeSide_swap: in a tree, the two sides of an edge are complementary.SimpleGraph.mem_edgeSide_of_mem_darts: along a path in a forest, the start and the end of the path lie on opposite sides of each edge of the path.SimpleGraph.Reachable.mem_iff_of_forall_adj: if no edge other thanuvcrosses a set, then no path avoidinguvcrosses it.SimpleGraph.edgeSide_eq_of_forall_adj: a set containingu, missingvand crossed by no other tree edge is the side ofuvcontainingu.
The side of the edge uv containing u in a graph T: the vertices reachable from u once
the edge s(u, v) is deleted. For an edge uv of a tree, this is the component of u in
T - uv.
Instances For
In a tree, the side of vu containing v is the complement of the side of uv containing
u.
Along a path in a forest, the start and the end of the path lie on the two sides of each of its darts.
If no edge of T other than uv crosses S, then deleting uv leaves no path across S.
A criterion for the side of a tree edge: if S contains u, misses v, and no other edge of
the tree T crosses S, then S is the side of uv containing u.