Documentation

CslibFrontier.Foundations.Combinatorics.SimpleGraph.DominatingSet

Dominating sets #

A set S of vertices of a simple graph is dominating when every vertex lies in S or is adjacent to a vertex of S. Deciding whether a graph has a dominating set of at most k vertices is the NP-complete dominating set problem (Cslib.Complexity.DominatingSet_npComplete on the library's encoded graphs), the source problem of the hardness of approximating metric k-center ([WS11], Section 2.2; Cslib.Algorithms.Lean.KCenter.isDominatingSet_of_radius_le_mul). Mathlib has no notion of domination for simple graphs.

Main definitions #

Main results #

References #

def SimpleGraph.IsDominatingSet {V : Type u_1} (G : SimpleGraph V) (S : Set V) :

A set S of vertices dominates G when every vertex lies in S or is adjacent to a vertex of S.

Instances For
    theorem SimpleGraph.isDominatingSet_iff {V : Type u_1} {G : SimpleGraph V} {S : Set V} :
    G.IsDominatingSet S ↔ ∀ (v : V), v ∈ S ∨ ∃ s ∈ S, G.Adj v s

    The set of all vertices dominates every graph.

    theorem SimpleGraph.IsDominatingSet.mono {V : Type u_1} {G : SimpleGraph V} {S T : Set V} (h : G.IsDominatingSet S) (hST : S ⊆ T) :

    A superset of a dominating set is dominating.

    theorem SimpleGraph.IsDominatingSet.nonempty {V : Type u_1} {G : SimpleGraph V} {S : Set V} [Nonempty V] (h : G.IsDominatingSet S) :

    A dominating set of a graph with a vertex is nonempty.