Domination polynomials of grids

InductiveDomination states#✓fully proved

A domination state is one of three labels: uncovered, covered or occupied.

Relative to a set \(S\) of vertices of a graph, a vertex is occupied if it lies in \(S\), covered if it lies outside \(S\) but is adjacent to a vertex of \(S\), and uncovered otherwise.

inductive DominationState
  | uncovered
  | covered
  | occupied
  deriving DecidableEq
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Definition 1.
Used by 17

DefinitionDomination polynomial#✓fully proved

For a finite graph \(G\), the domination polynomial of \(G\) is the polynomial \(\sum_S z^{|S|}\) with integer coefficients, the sum running over the dominating sets \(S\) of \(G\).

noncomputable def dominationPolynomial [Fintype W] (G : SimpleGraph W) : ℤ[X] :=
  ∑ S ∈ (Finset.univ : Finset (Finset W)).filter (fun S : Finset W => G.IsDominating (↑S : Set W)),
    X ^ S.card
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Section 1.
Uses 1 · Used by 6

DefinitionDomination state of a vertex#✓fully proved

Let \(G\) be a simple graph, \(S\) a finite set of vertices of \(G\) and \(v\) a vertex of \(G\). The domination state of \(v\) relative to \(S\) in \(G\) is occupied if \(v \in S\), covered if \(v \notin S\) and \(v\) is adjacent in \(G\) to some vertex of \(S\), and uncovered otherwise.

noncomputable def vertexDominationState (G : SimpleGraph W) (S : Finset W) (v : W) :
    DominationState :=
  if v ∈ S then occupied else if ∃ u ∈ S, G.Adj u v then covered else uncovered
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Definition 1.
Uses 1 · Used by 3

DefinitionDomination signature#✓fully proved

Let \(R\) be a simple graph on a vertex set \(V\) (the row). A map \(\sigma\) assigning to each vertex of \(V\) a domination state (uncovered, covered or occupied) is a signature for \(R\) if no uncovered vertex is adjacent in \(R\) to an occupied vertex: for all vertices \(i, j\) adjacent in \(R\), it is not the case that \(\sigma(i)\) is uncovered and \(\sigma(j)\) is occupied.

When \(R\) is the path on \(m\) vertices, signatures are the strings of length \(m\) in which no uncovered entry is next to an occupied one; when \(R\) is the cycle on \(m\) vertices the condition also applies to the first and last entries (the paper's cyclic signatures).

def IsDominationSignature (R : SimpleGraph V) (σ : V → DominationState) : Prop :=
  ∀ i j, R.Adj i j → ¬(σ i = uncovered ∧ σ j = occupied)
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Definition 3.
Uses 1 · Used by 10

DefinitionSignatures of a row graph#✓fully proved

For a simple graph \(R\) on a vertex set \(V\) (the row), a signature of \(R\) is a map \(\sigma\) assigning to each vertex of \(V\) a domination state (uncovered, covered or occupied) such that \(\sigma\) is a domination signature for \(R\), that is, no uncovered vertex is adjacent in \(R\) to an occupied vertex. This is the type of all signatures of \(R\); when \(R\) is a cycle they are the paper's cyclic signatures.

def DominationSignature (R : SimpleGraph V) : Type _ :=
  {σ : V → DominationState // IsDominationSignature R σ}
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Definition 3.
Uses 2 · Used by 8

DefinitionAll-covered signature#✓fully proved

For a graph \(R\) (the row), the all-covered signature \(\sigma_\bullet\) of \(R\) is the signature that gives every vertex of \(R\) the state covered; it is a signature because it has no uncovered vertex.

def allCoveredSignature (R : SimpleGraph V) : DominationSignature R :=
  ⟨fun _ => covered, fun _ _ _ h => DominationState.noConfusion h.1⟩
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Theorem 7.
Uses 3 · Used by 4

DefinitionCompatible row signatures#✓fully proved

Let \(R\) be a graph (the row) and let \(\sigma\) and \(\tau\) assign a domination state (uncovered, covered or occupied) to each vertex of \(R\). The new row \(\tau\) is compatible with the previous row \(\sigma\) when, for every vertex \(i\) of \(R\): if \(\sigma(i)\) is uncovered then \(\tau(i)\) is occupied; if \(\sigma(i)\) is occupied then \(\tau(i)\) is not uncovered; and if \(\tau(i)\) is covered then \(\sigma(i)\) is occupied or some neighbour \(j\) of \(i\) in \(R\) has \(\tau(j)\) occupied.

def DominationCompatible (R : SimpleGraph V) (τ σ : V → DominationState) : Prop :=
  ∀ i, (σ i = uncovered → τ i = occupied) ∧ (σ i = occupied → τ i ≠ uncovered) ∧
    (τ i = covered → σ i = occupied ∨ ∃ j, R.Adj i j ∧ τ j = occupied)
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Definition 5.
Uses 1 · Used by 2

DefinitionNumber of occupied vertices#✓fully proved

Let \(V\) be a finite set and let \(\sigma\) assign a domination state (uncovered, covered or occupied) to each element of \(V\). The occupied count \(\operatorname{occ}(\sigma)\) is the number of elements \(i \in V\) such that \(\sigma(i)\) is occupied.

noncomputable def occupiedCount [Fintype V] (σ : V → DominationState) : ℕ :=
  ((Finset.univ : Finset V).filter fun i => σ i = occupied).card
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Definition 6.
Uses 1 · Used by 3

DefinitionDomination transfer matrix#✓fully proved

Let \(R\) be a simple graph on a finite vertex set (the row). The transfer matrix \(A\) of \(R\) is the matrix with entries in \(\mathbb{Z}[z]\), rows indexed by the new signature \(\tau\) and columns by the old signature \(\sigma\), both ranging over the signatures of \(R\), whose entry \(A_{\tau\sigma}\) is \(z^{\operatorname{occ}(\tau)}\) if \(\tau\) is compatible with \(\sigma\) and \(0\) otherwise; here \(\operatorname{occ}(\tau)\) is the number of occupied vertices of \(\tau\). When \(R\) is the cycle on \(m\) vertices this is Mertens' matrix \(\bar A\).

noncomputable def dominationTransferMatrix [Fintype V] (R : SimpleGraph V) :
    Matrix (DominationSignature R) (DominationSignature R) ℤ[X] :=
  fun τ σ => if DominationCompatible R τ.1 σ.1 then X ^ occupiedCount τ.1 else 0
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Definition 6.
Uses 5 · Used by 4

DefinitionAlmost dominating polynomial#✓fully proved

Let \(R\) be a finite graph (the row), \(n\) a natural number and \(\sigma\) an assignment of a domination state to each vertex of \(R\). Let \(H\) be the box product of \(R\) with the path on the vertices \(0, \dots, n\), so that the last row of \(H\) consists of the vertices \((i, n)\). Relative to a vertex set \(S\) of \(H\), a vertex is occupied if it lies in \(S\), covered if it lies outside \(S\) but is adjacent to a vertex of \(S\), and uncovered otherwise. The almost dominating polynomial \(G^\sigma(z)\) is the polynomial \(\sum_S z^{|S|}\) with integer coefficients, the sum running over the vertex sets \(S\) of \(H\) such that no vertex of \(H\) outside the last row is uncovered and every vertex \((i, n)\) of the last row has state \(\sigma(i)\).

noncomputable def almostDominatingPolynomial [Fintype V] (R : SimpleGraph V) (n : ℕ)
    (σ : V → DominationState) : ℤ[X] :=
  ∑ S ∈ (Finset.univ : Finset (Finset (V × Fin (n + 1)))).filter (fun S =>
      (∀ v : V × Fin (n + 1), v.2 ≠ Fin.last n →
        vertexDominationState (R □ pathGraph (n + 1)) S v ≠ uncovered) ∧
      ∀ i, vertexDominationState (R □ pathGraph (n + 1)) S (i, Fin.last n) = σ i),
    X ^ S.card
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Definition 2.
Uses 2 · Used by 2

TheoremA vertex is occupied exactly when it lies in the set#✓fully proved

Let \(G\) be a simple graph, \(S\) a finite set of vertices of \(G\) and \(v\) a vertex of \(G\). Then the domination state of \(v\) relative to \(S\) in \(G\) is occupied if and only if \(v \in S\).

theorem vertexDominationState_eq_occupied_iff (G : SimpleGraph W) (S : Finset W) (v : W) :
    vertexDominationState G S v = occupied ↔ v ∈ S
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Definition 1.
Uses 2

TheoremDominating sets have no uncovered vertex#✓fully proved

Let \(G\) be a simple graph and \(S\) a finite set of vertices of \(G\). Then \(S\) dominates \(G\) if and only if no vertex of \(G\) has domination state uncovered relative to \(S\) in \(G\).

theorem isDominating_iff_forall_vertexDominationState_ne_uncovered (G : SimpleGraph W)
    (S : Finset W) :
    G.IsDominating (S : Set W) ↔ ∀ v, vertexDominationState G S v ≠ uncovered
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Definition 1.
Uses 3

TheoremThe domination polynomial at one counts dominating sets#✓fully proved

For every finite graph \(G\), the value at \(1\) of the domination polynomial of \(G\) equals the number of dominating sets of \(G\).

theorem dominationPolynomial_eval_one [Fintype W] [DecidableEq W] (G : SimpleGraph W)
    [DecidablePred fun S : Finset W => G.IsDominating (S : Set W)] :
    (dominationPolynomial G).eval 1 =
      (((Finset.univ : Finset (Finset W)).filter
        fun S : Finset W => G.IsDominating (↑S : Set W)).card : ℤ)
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Section 1.
Uses 2

TheoremThe all-covered signature has no occupied vertex#✓fully proved

For every simple graph \(R\) on a finite vertex set, the number of occupied vertices of the all-covered signature of \(R\) is \(0\).

theorem occupiedCount_allCoveredSignature [Fintype V] (R : SimpleGraph V) :
    occupiedCount (allCoveredSignature R).1 = 0
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Theorem 7.
Uses 4

TheoremTransfer matrix column of the all-covered signature#✓fully proved

Let \(R\) be a simple graph on a finite vertex set (the row), let \(A\) be its domination transfer matrix, with entries in \(\mathbb{Z}[z]\), and let \(\sigma_\bullet\) be its all-covered signature. For every signature \(\tau\) of \(R\), the entry \(A_{\tau\sigma_\bullet}\) equals \(z^{\operatorname{occ}(\tau)}\), where \(\operatorname{occ}(\tau)\) is the number of occupied vertices of \(\tau\), if every covered vertex of \(\tau\) is adjacent in \(R\) to an occupied vertex of \(\tau\), and equals \(0\) otherwise.

theorem dominationTransferMatrix_apply_allCoveredSignature [Fintype V] (R : SimpleGraph V)
    (τ : DominationSignature R)
    [Decidable (∀ i, τ.1 i = covered → ∃ j, R.Adj i j ∧ τ.1 j = occupied)] :
    dominationTransferMatrix R τ (allCoveredSignature R) =
      if ∀ i, τ.1 i = covered → ∃ j, R.Adj i j ∧ τ.1 j = occupied then
        X ^ occupiedCount τ.1 else 0
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Theorem 7.
Uses 7

TheoremGrid domination polynomial as a sum of almost dominating polynomials#●ready to prove

For all natural numbers \(m\) and \(n\), let \(P_k\) denote the path on the vertices \(0, \dots, k - 1\). Then the domination polynomial of the grid \(P_m \mathbin{\square} P_{n+1}\) equals \(\sum_\sigma G^\sigma(z)\), the sum running over the signatures \(\sigma\) of the row graph \(P_m\) with no uncovered vertex, where \(G^\sigma(z)\) is the almost dominating polynomial of \(P_m\) with \(n + 1\) rows and last-row state \(\sigma\).

The grid is taken with at least one row, so that the last row carrying \(\sigma\) exists.

public theorem_wanted dominationPolynomial_grid_eq_sum_almostDominatingPolynomial (m n : ℕ) :
    dominationPolynomial (pathGraph m □ pathGraph (n + 1)) =
      ∑ σ ∈ (Finset.univ : Finset (DominationSignature (pathGraph m))).filter
          (fun σ => ∀ i, σ.1 i ≠ uncovered),
        almostDominatingPolynomial (pathGraph m) n σ.1
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Lemma 4 (jis-2024-24.7.6-lem-4).
Uses 5

TheoremCylinder domination polynomial as a sum of almost dominating polynomials#●ready to prove

For all natural numbers \(m\) and \(n\), let \(C_m\) be the cycle graph on the vertices \(0, \dots, m - 1\), in which distinct \(i\) and \(j\) are adjacent when \(i - j \equiv \pm 1 \pmod m\), and let \(P_{n+1}\) be the path on the vertices \(0, \dots, n\). Then the domination polynomial of the cylinder \(C_m \mathbin{\square} P_{n+1}\) equals \(\sum_\sigma G^\sigma(z)\), the sum running over the signatures \(\sigma\) of the row graph \(C_m\) with no uncovered vertex, where \(G^\sigma(z)\) is the almost dominating polynomial of \(C_m\) with \(n + 1\) rows and last-row state \(\sigma\).

public theorem_wanted dominationPolynomial_cylinder_eq_sum_almostDominatingPolynomial
    (m n : ℕ) :
    dominationPolynomial (cycleGraph m □ pathGraph (n + 1)) =
      ∑ σ ∈ (Finset.univ : Finset (DominationSignature (cycleGraph m))).filter
          (fun σ => ∀ i, σ.1 i ≠ uncovered),
        almostDominatingPolynomial (cycleGraph m) n σ.1
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Lemma 4 (jis-2024-24.7.6-lem-4).
Uses 5

TheoremTransfer-matrix formula for the domination polynomial of the grid#●ready to prove

For all natural numbers \(m\) and \(n\), let \(P_k\) denote the path on the vertices \(0, \dots, k - 1\), let \(A\) be the domination transfer matrix of the row graph \(P_m\), indexed by the signatures of \(P_m\), and let \(\sigma_\bullet\) be the all-covered signature. Then the domination polynomial of the grid \(P_m \mathbin{\square} P_n\) is

\[\sum_\sigma (A^n)_{\sigma, \sigma_\bullet},\]

the sum running over the signatures \(\sigma\) of \(P_m\) with no uncovered vertex.

public theorem_wanted dominationPolynomial_grid_eq_sum_transferMatrix_pow (m n : ℕ) :
    dominationPolynomial (pathGraph m □ pathGraph n) =
      ∑ σ ∈ (Finset.univ : Finset (DominationSignature (pathGraph m))).filter
          (fun σ => ∀ i, σ.1 i ≠ uncovered),
        (dominationTransferMatrix (pathGraph m) ^ n) σ (allCoveredSignature _)
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Theorem 7 (jis-2024-24.7.6-thm-7).
Uses 6

TheoremTransfer-matrix formula for the domination polynomial of the cylinder#●ready to prove

For all natural numbers \(m\) and \(n\), let \(C_m\) be the cycle graph on the vertices \(0, \dots, m - 1\), in which distinct \(i\) and \(j\) are adjacent when \(i - j \equiv \pm 1 \pmod m\), and let \(P_n\) be the path on the vertices \(0, \dots, n - 1\). Let \(\bar A\) be the domination transfer matrix of the row graph \(C_m\), indexed by the signatures of \(C_m\), and let \(\sigma_\bullet\) be the all-covered signature. Then the domination polynomial of the cylinder \(C_m \mathbin{\square} P_n\) is

\[\sum_\sigma (\bar A^n)_{\sigma, \sigma_\bullet},\]

the sum running over the signatures \(\sigma\) of \(C_m\) with no uncovered vertex.

public theorem_wanted dominationPolynomial_cylinder_eq_sum_transferMatrix_pow (m n : ℕ) :
    dominationPolynomial (cycleGraph m □ pathGraph n) =
      ∑ σ ∈ (Finset.univ : Finset (DominationSignature (cycleGraph m))).filter
          (fun σ => ∀ i, σ.1 i ≠ uncovered),
        (dominationTransferMatrix (cycleGraph m) ^ n) σ (allCoveredSignature _)
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Theorem 7 (jis-2024-24.7.6-thm-7).
Uses 6

TheoremTransfer-matrix formula for the domination polynomial of the torus#●ready to prove

For all natural numbers \(m\) and \(n\) with \(n \ge 1\), let \(C_k\) denote the cycle graph on the vertices \(0, \dots, k - 1\), in which distinct \(i\) and \(j\) are adjacent when \(i - j \equiv \pm 1 \pmod k\), and let \(\bar A\) be the domination transfer matrix of the row graph \(C_m\). Then the domination polynomial of the torus \(C_m \mathbin{\square} C_n\) equals the trace of \(\bar A^n\).

The hypothesis \(n \ge 1\) is needed: for \(n = 0\) the trace counts the signatures of \(C_m\), while the torus \(C_m \mathbin{\square} C_0\) has no vertices, so its domination polynomial is \(1\). For \(n = 1\) and \(n = 2\) the cycle \(C_n\) is a single vertex and a single edge respectively.

public theorem_wanted dominationPolynomial_torus_eq_trace_transferMatrix_pow (m n : ℕ)
    (hn : 1 ≤ n) :
    dominationPolynomial (cycleGraph m □ cycleGraph n) =
      Matrix.trace (dominationTransferMatrix (cycleGraph m) ^ n)
Sources
  • Stephan Mertens, Domination Polynomials of the Grid, the Cylinder, the Torus, and the King Graph, Journal of Integer Sequences 27 (2024), Article 24.7.6, Theorem 8 (jis-2024-24.7.6-thm-8).
Uses 5
15 fully proved5 ready to prove

The dependency explorer needs JavaScript and its graph data.

Download the complete graph data.