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
inductive DominationState
| uncovered
| covered
| occupied
deriving DecidableEq
WantedExt/GraphTheory/GridDominationTransferWanted.lean:44
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)
inductive DominationState
| uncovered
| covered
| occupied
deriving DecidableEq
WantedExt/GraphTheory/GridDominationTransferWanted.lean:44
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 σ}
inductive DominationState
| uncovered
| covered
| occupied
deriving DecidableEq
WantedExt/GraphTheory/GridDominationTransferWanted.lean:44
def IsDominationSignature (R : SimpleGraph V) (σ : V → DominationState) : Prop :=
∀ i j, R.Adj i j → ¬(σ i = uncovered ∧ σ j = occupied)
WantedExt/GraphTheory/GridDominationTransferWanted.lean:90
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⟩
def DominationSignature (R : SimpleGraph V) : Type _ :=
{σ : V → DominationState // IsDominationSignature R σ}
WantedExt/GraphTheory/GridDominationTransferWanted.lean:97
inductive DominationState
| uncovered
| covered
| occupied
deriving DecidableEq
WantedExt/GraphTheory/GridDominationTransferWanted.lean:44
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)
inductive DominationState
| uncovered
| covered
| occupied
deriving DecidableEq
WantedExt/GraphTheory/GridDominationTransferWanted.lean:44
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
inductive DominationState
| uncovered
| covered
| occupied
deriving DecidableEq
WantedExt/GraphTheory/GridDominationTransferWanted.lean:44
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
def DominationSignature (R : SimpleGraph V) : Type _ :=
{σ : V → DominationState // IsDominationSignature R σ}
WantedExt/GraphTheory/GridDominationTransferWanted.lean:97
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)
WantedExt/GraphTheory/GridDominationTransferWanted.lean:134
noncomputable def occupiedCount [Fintype V] (σ : V → DominationState) : ℕ :=
((Finset.univ : Finset V).filter fun i => σ i = occupied).card
WantedExt/GraphTheory/GridDominationTransferWanted.lean:143
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
inductive DominationState
| uncovered
| covered
| occupied
deriving DecidableEq
WantedExt/GraphTheory/GridDominationTransferWanted.lean:44
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:79
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
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:79
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
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:79
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 : ℤ)
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:69
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
noncomputable def occupiedCount [Fintype V] (σ : V → DominationState) : ℕ :=
((Finset.univ : Finset V).filter fun i => σ i = occupied).card
WantedExt/GraphTheory/GridDominationTransferWanted.lean:143
def allCoveredSignature (R : SimpleGraph V) : DominationSignature R :=
⟨fun _ => covered, fun _ _ _ h => DominationState.noConfusion h.1⟩
WantedExt/GraphTheory/GridDominationTransferWanted.lean:124
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
def DominationSignature (R : SimpleGraph V) : Type _ :=
{σ : V → DominationState // IsDominationSignature R σ}
WantedExt/GraphTheory/GridDominationTransferWanted.lean:97
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:153
def allCoveredSignature (R : SimpleGraph V) : DominationSignature R :=
⟨fun _ => covered, fun _ _ _ h => DominationState.noConfusion h.1⟩
WantedExt/GraphTheory/GridDominationTransferWanted.lean:124
noncomputable def occupiedCount [Fintype V] (σ : V → DominationState) : ℕ :=
((Finset.univ : Finset V).filter fun i => σ i = occupied).card
WantedExt/GraphTheory/GridDominationTransferWanted.lean:143
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
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:69
def DominationSignature (R : SimpleGraph V) : Type _ :=
{σ : V → DominationState // IsDominationSignature R σ}
WantedExt/GraphTheory/GridDominationTransferWanted.lean:97
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:164
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
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:69
def DominationSignature (R : SimpleGraph V) : Type _ :=
{σ : V → DominationState // IsDominationSignature R σ}
WantedExt/GraphTheory/GridDominationTransferWanted.lean:97
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:164
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
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 _)
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:69
def DominationSignature (R : SimpleGraph V) : Type _ :=
{σ : V → DominationState // IsDominationSignature R σ}
WantedExt/GraphTheory/GridDominationTransferWanted.lean:97
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:153
def allCoveredSignature (R : SimpleGraph V) : DominationSignature R :=
⟨fun _ => covered, fun _ _ _ h => DominationState.noConfusion h.1⟩
WantedExt/GraphTheory/GridDominationTransferWanted.lean:124
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
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 _)
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:69
def DominationSignature (R : SimpleGraph V) : Type _ :=
{σ : V → DominationState // IsDominationSignature R σ}
WantedExt/GraphTheory/GridDominationTransferWanted.lean:97
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:153
def allCoveredSignature (R : SimpleGraph V) : DominationSignature R :=
⟨fun _ => covered, fun _ _ _ h => DominationState.noConfusion h.1⟩
WantedExt/GraphTheory/GridDominationTransferWanted.lean:124
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)
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:69
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
WantedExt/GraphTheory/GridDominationTransferWanted.lean:153
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
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.