Darts in graphs #
A Dart or half-edge or bond in a graph is an ordered pair of adjacent vertices, regarded as an
oriented edge. This file defines darts and proves some of their basic properties.
A Dart is an oriented edge, implemented as an ordered pair of adjacent vertices.
This terminology comes from combinatorial maps, and they are also known as "half-edges"
or "bonds."
Instances For
def SimpleGraph.instDecidableEqDart.decEq {V✝ : Type u_2} {G✝ : SimpleGraph V✝} [DecidableEq V✝] (x✝ x✝¹ : G✝.Dart) :
Instances For
@[instance_reducible]
instance SimpleGraph.instDecidableEqDart {V✝ : Type u_2} {G✝ : SimpleGraph V✝} [DecidableEq V✝] :
DecidableEq G✝.Dart
theorem SimpleGraph.Dart.ext {V : Type u_1} {G : SimpleGraph V} (d₁ d₂ : G.Dart) (h : d₁.toProd = d₂.toProd) :
@[simp]
@[simp]
@[instance_reducible]
instance SimpleGraph.Dart.fintype {V : Type u_1} {G : SimpleGraph V} [Fintype V] [DecidableRel G.Adj] :
The edge associated to the dart.
Instances For
@[simp]
The dart with reversed orientation from a given dart.
Instances For
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
Two darts are said to be adjacent if they could be consecutive darts in a walk -- that is, the first dart's second vertex is equal to the second dart's first vertex.
Instances For
def SimpleGraph.dartOfNeighborSet {V : Type u_1} (G : SimpleGraph V) (v : V) (w : ↑(G.neighborSet v)) :
G.Dart
For a given vertex v, this is the bijective map from the neighbor set at v
to the darts d with d.fst = v.
Instances For
@[simp]
theorem SimpleGraph.dartOfNeighborSet_toProd {V : Type u_1} (G : SimpleGraph V) (v : V) (w : ↑(G.neighborSet v)) :