This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A new approach on locally checkable problems

Flavia Bonomo-Braberman Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación. Buenos Aires, Argentina. / CONICET-Universidad de Buenos Aires. Instituto de Investigación en Ciencias de la Computación (ICC). Buenos Aires, Argentina. [email protected]  and  Carolina Lucía Gonzalez CONICET-Universidad de Buenos Aires. Instituto de Investigación en Ciencias de la Computación (ICC). Buenos Aires, Argentina. [email protected]
Abstract.

By providing a new framework, we extend previous results on locally checkable problems in bounded treewidth graphs. As a consequence, we show how to solve, in polynomial time for bounded treewidth graphs, double Roman domination and Grundy domination, among other problems for which no such algorithm was previously known. Moreover, by proving that fixed powers of bounded degree and bounded treewidth graphs are also bounded degree and bounded treewidth graphs, we can enlarge the family of problems that can be solved in polynomial time for these graph classes, including distance coloring problems and distance domination problems (for bounded distances).

Key words and phrases:
locally checkable problem, vertex partitioning problem, local condition composition problem, double Roman domination, Grundy domination, treewidth
2010 Mathematics Subject Classification:
05C15, 05C69, 05C85, 68Q25, 68R10

1. Introduction

Many combinatorial optimization problems in graphs can be classified as vertex partitioning problems. The partition classes have to verify inner-properties and/or inter-properties, and there is an objective function to minimize or maximize. Some of these properties are locally checkable, that is, the property that each vertex has to satisfy with respect to the partition involves only the vertex and its neighbors. This is the case of stable set, dominating set and kk-coloring, among others.

In the spirit of generalizing this kind of problems, in [6, 7] Bodlaender defined the local condition composition (LCC) and edge condition composition (ECC) problems, and showed polynomial-time algorithms to solve LCC problems on bounded treewidth and bounded degree graphs, and ECC problems on bounded treewidth graphs. In [61] Telle defined the locally checkable vertex partitioning (LCVP) problems and in [15], Bui-Xuan, Telle and Vatshelle presented dynamic programming algorithms for LCVP problems that run in polynomial time on many graph classes, including interval graphs, permutation graphs and Dilworth kk graphs, and in fixed-parameter single-exponential time parameterized by boolean-width. In [17], Cattanéo and Perdrix defined a different generalization of LCVP problems that allows us to deal with properties of the subset that are not necessarily locally checkable, as for example being connected, and prove hardness results for LCVP problems and such generalizations.

In this paper, we define a new framework for locally checkable problems, which we call rr-locally checkable problems. In a rr-locally checkable problem, every vertex vv has a list of colors LvL_{v} that it can receive, along with the cost wv,i\textsc{w}_{v,i} of receiving each color iLvi\in L_{v}. There is a function checkcheck that, for each vertex vv and each coloring cc of the closed neighborhood of radius rr of vv, determines if the colors assigned to vv and the vertices at distance at most rr from vv are permitted for vv. We include edge labels e\ell_{e}, whose values may be involved in the checking functions. For technical reasons, other simple operators are also required, such as one that combines the costs and one that compares them. This approach generalizes LCVP problems, including other problems such as {k}\{k\}-domination (which cannot be expressed as a LCVP problem, at least not in an straightforward way). We further consider a set of global properties (which might be, for example, that certain sets of the partition induce a connected or an acyclic subgraph). In this way, ECC problems can be modeled within our framework.

A key notion to our paper is the treewidth of a graph, which was introduced by Robertson and Seymour [56] (and previously considered under different names by Bertelè and Brioschi [5] and Halin [41]). Graphs of treewidth at most kk are called partial kk-trees. Some graph classes with bounded treewidth include: forests (treewidth 1); pseudoforests, cacti, outerplanar graphs, and series-parallel graphs (treewidth at most 2); Halin graphs and Apollonian networks (treewidth at most 3) [56, 8, 50, 11]. In addition, control flow graphs arising in the compilation of structured programs also have bounded treewidth (at most 6) [62].

To solve 11-locally checkable problems in bounded treewidth graphs, we give an algorithm based on a rather simple computation of a recursive function traversing a special tree decomposition, using dynamic programming as it is usual with this kind of problems, but with an abstraction of the “extra” parameters involved in ad-hoc solutions of locally checkable problems. In order to formally describe this abstraction, we introduce the concept of partial neighborhoods. A partial neighborhood system gives us tools to accumulate information from the neighbors of a vertex. According to the sizes of the sets and the time complexity of the functions involved, we distinguish polynomial and constant partial neighborhood systems. Then our algorithm is polynomial when some mild conditions are satisfied. The main result of this paper is the following.

Theorem 5.5.1.

Let \mathcal{F} be a family of graphs of bounded treewidth. Consider a family of instances of a 11-locally checkable problem with a polynomial partial neighborhood system, where

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    GG\in\mathcal{F},

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    𝒞=max{|Lv|:vV(G)}\mathcal{C}=\max\{|L_{v}|:v\in V(G)\} is polynomial in the input size, and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    the functions \oplus and min\min can be computed in polynomial time.

Then there exists an algorithm that solves these instances in polynomial time. Furthermore, if we have a constant partial neighborhood system, 𝒞\mathcal{C} is bounded by a constant, and the functions \oplus and min\min can be computed in constant time, then the time complexity of such algorithm is O(|V(G)|)O(|V(G)|).

Furthermore, by proving that fixed powers of bounded degree and bounded treewidth graphs are also bounded degree and bounded treewidth graphs, we can enlarge the family of problems that can be solved in polynomial time for these graph classes, including distance coloring problems (packing chromatic number [60, 36, 14, 30], L(p,1)L(p,1)-coloring [18, 39, 19, 38]), distance independence [29], distance domination [43], and distance LCVP problems [48], for bounded distances. These results are unified in the following corollary of Section 6.

Corollary 6.0.3.

Let \mathcal{F} be a family of graphs of bounded treewidth and bounded degree. Then, for any rr-locally checkable problem with GG\in\mathcal{F}, 𝒞\mathcal{C} polynomial in the input size, and all functions checkcheck, min\min and \oplus computable in polynomial time, there exists a polynomial-time algorithm that solves it.

We also prove that NP-complete problems can be reduced to some 11-locally checkable problems in complete graphs, even when restricting the sets of colors and edge labels to {0,1}\{0,1\}. Thus, a generalization of the polynomiality to bounded clique-width graphs is not possible unless P=NP.

We show how to model double Roman domination, minimum chromatic violation and Grundy domination as 11-locally checkable problems with polynomial partial neighborhood systems. As a result, we obtain polynomial-time algorithms to solve these problems for bounded treewidth graphs. Until the date and to the best of our knowledge, no such algorithms were previously known.

Courcelle’s celebrated theorem (see [24]) states that every graph problem definable in Monadic Second-Order (MSO) logic can be solved in linear time for bounded treewidth graphs. However, its main drawback is that the multiplicative constants in the running time of the algorithm generated with an MSO-formula can be extremely large [33]. In contrast, the statement of our problem is closer to natural language, and the time complexity of the algorithm for bounded treewidth graphs is fully detailed and involves relatively small constants.

A similar approach for a family of problems of different nature was presented in [21]. Namely, the authors define the framework of algebraic path problems, enclosing weighted shortest path, dataflow problems, regular expressions, and other problems arising in program analysis in the area of software engineering, and they present an algorithm to solve this framework of problems in concurrent systems such that each of the components is a bounded treewidth graph.

The present paper is organized as follows. Section 2 contains the necessary preliminaries and basic definitions. The central notion of the paper, rr-locally checkable problems, is formally introduced in Section 3. In Section 4, we study 11-locally checkable problems in complete graphs, under different hypothesis. In Section 5 we give an algorithm to solve 11-locally checkable problems parameterized by treewidth. In Section 6 we analyze the time complexity of rr-locally checkable problems in bounded treewidth and bounded degree graphs, and prove that fixed powers of such graphs are also bounded treewidth and bounded degree graphs. In Section 7 we extend the algorithm from Section 5 with some global properties. In particular, this recovers the results in [6, 7] for LCC problems. In Section 8 we show how to model different problems as 11-locally checkable problems with polynomial partial neighborhood systems, obtaining polynomial-time algorithms to solve these problems for bounded treewidth graphs. We include in Appendix A the definition of the locally checkable problems mentioned throughout the article.

2. Basic definitions and preliminary results

2.1. Algebraic definitions

Let SS be a set. A closed binary operation on SS is a function :S×SS\star\colon S\times S\to S. It is usual to write (s1,s2)\star(s_{1},s_{2}) as s1s2s_{1}\star s_{2}. Such an operation is commutative if s1s2=s2s1s_{1}\star s_{2}=s_{2}\star s_{1} for all s1,s2Ss_{1},s_{2}\in S, and it is associative if (s1s2)s3=s1(s2s3)(s_{1}\star s_{2})\star s_{3}=s_{1}\star(s_{2}\star s_{3}) for all s1,s2,s3Ss_{1},s_{2},s_{3}\in S. An element eSe\in S is neutral (also called identity) if es=se=se\star s=s\star e=s for all sSs\in S. An element aSa\in S is absorbing if as=sa=aa\star s=s\star a=a for all sSs\in S. It is easy to prove that if sSs\in S is a neutral (resp. absorbing) element, then this element is unique. A commutative and associative operation \star can be naturally extended to any nonempty finite subset of SS, writing xXP(x)\bigstar_{x\in X}P(x) when {P(x):xX}S\{P(x):x\in X\}\subseteq S and XX is finite and nonempty, moreover, if the operation also has a neutral element ee then we define xP(x)=e\bigstar_{x\in\emptyset}P(x)=e.

Let SS be a set and \star be a closed binary operation on SS. Then (S,)(S,\star) is a monoid if \star is associative and has a neutral element. If \star is also commutative then (S,)(S,\star) is a commutative monoid.

A binary relation \mathcal{R} on a set SS is a subset of the Cartesian product S×SS\times S. It is usual to write (s1,s2)(s_{1},s_{2})\in\mathcal{R} as s1s2s_{1}\mathcal{R}s_{2}. We say that \mathcal{R} is reflexive if sss\mathcal{R}s for all sSs\in S, antisymmetric if s1s2s2s1s1=s2s_{1}\mathcal{R}s_{2}\land s_{2}\mathcal{R}s_{1}\Rightarrow s_{1}=s_{2} for all s1,s2Ss_{1},s_{2}\in S, and transitive if s1s2s2s3s1s3s_{1}\mathcal{R}s_{2}\land s_{2}\mathcal{R}s_{3}\Rightarrow s_{1}\mathcal{R}s_{3} for all s1,s2,s3Ss_{1},s_{2},s_{3}\in S. If \mathcal{R} is reflexive, antisymmetric and transitive, then (S,)(S,\mathcal{R}) is called a partial order (or partially ordered set). If in addition s1s2s2s1s_{1}\mathcal{R}s_{2}\lor s_{2}\mathcal{R}s_{1} for every s1,s2Ss_{1},s_{2}\in S, then (S,)(S,\mathcal{R}) is a total order (or totally ordered set).

Let (S,)(S,\preceq) be a totally ordered set. A maximum element is an element mSm\in S such that sms\preceq m for all sSs\in S. Note that not every totally ordered set has a maximum element, and it is easy to prove that if it does have a maximum element then this element is unique. The minimum operation, min\min, is the closed binary operation on SS such that min(s1,s2)=s1\min(s_{1},s_{2})=s_{1} if s1s2s_{1}\preceq s_{2} and min(s1,s2)=s2\min(s_{1},s_{2})=s_{2} if s2s1s_{2}\preceq s_{1}. It is easy to prove that min\min is commutative and associative.

A set of natural numbers is co-finite if its complement with respect to the set of natural numbers is finite.

We denote by [[a,b]][\![a,b]\!], with a,ba,b\in\mathbb{Z} and a<ba<b, the set of all integer numbers greater than or equal to aa and less than or equal to bb, that is {a,a+1,,b}\{a,a+1,\ldots,b\}.

Given a set SS and a function f:Sf\colon S\to\mathbb{R}, the weight of the function ff (finite or infinite) is defined as f(S)=sSf(s)f(S)=\sum_{s\in S}f(s).

Throughout this paper we will work with the set Bool={True,False}\textsc{Bool}=\{\textsc{True},\textsc{False}\} of boolean values and all the usual logical operators, such as ¬\neg, \land, \lor and \Rightarrow.

Let f:ABf\colon A\rightarrow B be a function and let SAS\subseteq A. We denote by f|Sf|_{S} the function ff restricted to the domain SS, that is, the function f|S:SBf|_{S}\colon S\to B is defined as f|S(s)=f(s)f|_{S}(s)=f(s) for all sSs\in S.

2.2. Automata

A deterministic finite-state automaton is a five-tuple (Q,Σ,δ,q0,F)(Q,\Sigma,\delta,q_{0},F) that consists of

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    QQ: a finite set of states,

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Σ\Sigma: a finite set of input symbols (often called the alphabet),

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    δ:Q×ΣQ\delta\colon Q\times\Sigma\rightarrow Q: a transition function,

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    q0Qq_{0}\in Q: an initial or start state, and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    FQF\subseteq Q: a set of final or accepting states.

We say that an automaton M=(Q,Σ,δ,q0,F)M=(Q,\Sigma,\delta,q_{0},F) accepts a string s1sns_{1}{\ldots}s_{n}, with n1n\geq 1, if and only if siΣs_{i}\in\Sigma for all 1in1\leq i\leq n and δ(δ(δ(q0,s1),s2),sn)F\delta(\ldots\delta(\delta(q_{0},s_{1}),s_{2})\ldots,s_{n})\in F.

For example, the automaton M=({q0,q1},{1},δ,q0,{q1})M=(\{q_{0},q_{1}\},\{1\},\delta,q_{0},\{q_{1}\}) where δ(q0,1)=q1\delta(q_{0},1)=q_{1} and δ(q1,1)=q0\delta(q_{1},1)=q_{0}, is an automaton that accepts sequences of an odd number of 11s.

For more about automata theory we refer the reader to [47].

2.3. Computability

A function is polynomial time computable if there exists an algorithm AA and a polynomial p(n)p(n) such that, for all inputs of length nn, AA computes the function and runs in time less than or equal to p(n)p(n).

All sets considered in this article contain elements that can be encoded and passed as parameters to a computable function.

We will not delve further into this topic. For more information we refer the reader to the vast literature on computability theory.

2.4. Basic definitions on graphs

Let GG be a finite, simple and undirected graph. We denote by V(G)V(G) and E(G)E(G) the vertex set and edge set, respectively, of GG. For any WV(G)W\subseteq V(G), we denote by G[W]G[W] the subgraph of GG induced by WW. Let NG(v)N_{G}(v) (open neighborhood of vv) be the set of neighbors of vV(G)v\in V(G) and let NG[v]=NG(v){v}N_{G}[v]=N_{G}(v)\cup\{v\} (closed neighborhood of vv). The closed neighborhood of a set SS is NG[S]=vSNG[v]N_{G}[S]=\bigcup_{v\in S}N_{G}[v]. The degree of a vertex vv is dG(v)=|NG(v)|d_{G}(v)=|N_{G}(v)|. The maximum degree of a vertex in GG is denoted by Δ(G)\Delta(G).

A graph class is a collection of graphs that is closed under isomorphism. Given a graph class 𝒢\mathcal{G}, we say that 𝒢\mathcal{G} is of bounded degree if sup{Δ(G)G𝒢}<\sup\{\Delta(G)\mid G\in\mathcal{G}\}<\infty.

A graph GG is connected if for every pair of vertices u,vu,v in V(G)V(G) there exists a path in GG from uu to vv. A connected component of a graph is an inclusion-wise maximal connected subgraph of it. For two vertices x,yx,y in a connected graph GG, we denote by distG(x,y)\mbox{dist}_{G}(x,y) the distance between xx and yy, that is, the length (number of edges) of a shortest x,yx,y-path in GG. Let NGk[v]N_{G}^{k}[v] be the set of vertices at distance at most kk from vv in GG, and NGk(v)=NGk[v]{v}N_{G}^{k}(v)=N_{G}^{k}[v]-\{v\}. Let MGk(v)M_{G}^{k}(v) be the set of edges whose endpoints at distance at most kk from vv in GG. The kk-th power of GG is the graph denoted by GkG^{k} such that for all distinct vertices x,yx,y in V(G)V(G), xx is adjacent to yy in GkG^{k} if and only if distG(x,y)k\mbox{dist}_{G}(x,y)\leq k.

A complete graph is a graph whose vertices are pairwise adjacent. We denote by KrK_{r} the complete graph on rr vertices. A clique (resp. stable set or independent set) in a graph is a set of pairwise adjacent (resp. nonadjacent) vertices. The maximum size of a clique (resp. independent set) in the graph GG is denoted by ω(G)\omega(G) (resp. α(G)\alpha(G)).

A graph GG is bipartite if V(G)V(G) can be partitioned into two stable sets V1V_{1} and V2V_{2}, and GG is complete bipartite if every vertex of V1V_{1} is adjacent to every vertex of V2V_{2}. We denote by Kr,sK_{r,s} the complete bipartite graph with |V1|=r|V_{1}|=r and |V2|=s|V_{2}|=s. The star SnS_{n} is the complete bipartite graph K1,n1K_{1,n-1}.

A proper kk-coloring of a graph is a partition of its vertices into at most kk stable sets, each of them called color class. Equivalently, a proper kk-coloring is an assignment of colors to vertices such that adjacent vertices receive different colors, and the number of colors used is at most kk. The chromatic number χ(G)\chi(G) of a graph GG is the minimum kk that allows a proper kk-coloring of GG. In the more general List-coloring problem, each vertex vv has a list L(v)L(v) of available colors for it.

A pair of vertices or a pair of edges dominate each other when they are either equal or adjacent, while a vertex and an edge dominate each other when the vertex belongs to the edge. We will denote by γU,W(G)\gamma_{U,W}(G), for U,WU,W sets of elements of GG, the minimum cardinality or weight of a subset SS of UU which dominates WW. The parameter γV,V\gamma_{V,V} is also denoted simply by γ\gamma, and the associated problem is known as Minimum Dominating Set. Parameters γV,E\gamma_{V,E} and γE,V\gamma_{E,V} are associated with the Minimum Vertex Cover and Minimum Edge Cover, respectively. In the Minimum {k}\{k\}-domination problem, given a graph GG we want to find the minimum weight of a function f:V(G){0,1,,k}f\colon V(G)\to\{0,1,\ldots,k\} such that uNG[v]f(u)k\sum_{u\in N_{G}[v]}f(u)\geq k for all vV(G)v\in V(G).

For a graph GG and uvE(G)uv\in E(G), the graph obtained by subdividing uvuv in GG arises from GG by adding a new vertex ww, making ww adjacent to uu and vv, and then deleting the edge uvuv. The subdivision graph of GG, obtained by subdividing each of the edges of GG, is S(G)=(V,E)S(G)=(V^{\prime},E^{\prime}) where V=V(G)E(G)V^{\prime}=V(G)\cup E(G) and E={ve:vV(G),eE(G), and v is an endpoint of e}E^{\prime}=\{ve:v\in V(G),e\in E(G)\text{, and }\text{$v$ is an endpoint of $e$}\}.

The jagged graph of GG is J(G)=(V,E)J(G)=(V^{\prime},E^{\prime}) where V=V(G)E(G)V^{\prime}=V(G)\cup E(G) and E=E(G){ve:vV(G),eE(G), and v is an endpoint of e}E^{\prime}=E(G)\cup\{ve:v\in V(G),e\in E(G)\text{, and }\text{$v$ is an endpoint of $e$}\}.

The line graph of a graph GG is denoted by L(G)L(G) and has as vertex set E(G)E(G), where two vertices are adjacent in L(G)L(G) if and only if the corresponding edges have a common endpoint (i.e., are adjacent) in GG. The total graph of GG, denoted by T(G)T(G), is defined similarly: its vertex set is V(G)E(G)V(G)\cup E(G), V(G)V(G) induces GG, E(G)E(G) induces L(G)L(G), and vV(G)v\in V(G), uwE(G)uw\in E(G) are adjacent in T(G)T(G) if and only if either v=uv=u or v=wv=w.

A graph, or a subgraph of a graph, is acyclic if it does not contain a cycle of length at least three. An acyclic graph is called a forest. A tree is a connected acyclic graph. In a tree TT, we usually call the elements in V(T)V(T) nodes. A node with degree at most 1 is called a leaf and a node of degree at least 2 is called an internal node. A tree is called a rooted tree if one vertex has been designated the root, in which case the edges have a natural orientation, towards or away from the root. For a rooted tree TT and uV(T)u\in V(T), the neighbor of uu on the path to the root is called the parent of uu and a vertex vv is a child of uu if uu is the parent of vv. A binary tree is a rooted tree where every internal node has at most two children.

2.5. Definitions and preliminary results on treewidth

A tree-decomposition of a graph GG is a family {Xi:iI}\{X_{i}:i\in I\} of subsets of V(G)V(G) (called bags), together with a tree TT with V(T)=IV(T)=I, satisfying the following properties:

  • (W1)

    iIXi=V(G)\bigcup_{i\in I}X_{i}=V(G).

  • (W2)

    Every edge of GG has both its ends in XiX_{i} for some iIi\in I.

  • (W3)

    For all vV(G)v\in V(G), the set of nodes {iI:vXi}\{i\in I:v\in X_{i}\} induces a subtree of TT.

The width of the tree-decomposition is max{|Xi|1:iI}\max\{|X_{i}|-1:i\in I\}. The treewidth of GG, denoted tw(G)tw(G), is the minimum w0w\geq 0 such that GG has a tree-decomposition of width less or equal ww.

Given a graph class 𝒢{\mathcal{G}}, the treewidth of 𝒢\mathcal{G} is tw(𝒢)=sup{tw(G)G𝒢}tw(\mathcal{G})=\sup\{tw(G)\mid G\in\mathcal{G}\}. We say that 𝒢\mathcal{G} is of bounded treewidth if tw(𝒢)<tw(\mathcal{G})<\infty.

We will often make use of the following basic properties of the treewidth, some of which can be easily deduced.

Proposition 2.5.1.

Let 𝒢\mathcal{G} be a family of graphs of bounded treewidth. If G𝒢G\in\mathcal{G} then |E(G)||E(G)| is O(|V(G)|)O(|V(G)|).

Proposition 2.5.2.

If HH is a subgraph of a graph GG then tw(H)tw(G)tw(H)\leq tw(G).

Theorem 2.5.3 ([57, pages 1 and 2]).

For every graph GG, tw(G)ω(G)1tw(G)\geq\omega(G)-1. Moreover, tw(G)χ(G)1tw(G)\geq\chi(G)-1.

Theorem 2.5.4 ([50, page 76]).

The treewidth of S(G)S(G) is equal to the treewidth of GG.

Theorem 2.5.5.

The treewidth of J(G)J(G) is less than or equal to tw(G)+1tw(G)+1.

A tree-decomposition (T,{Xt}tV(T))(T,\{X_{t}\}_{t\in V(T)}) is nice [50, Definition 13.1.4] if

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    TT is a rooted binary tree;

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    if a node ii has two children jj and kk then Xi=Xj=XkX_{i}=X_{j}=X_{k}; (join node)

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    if a node ii has one child jj, then either

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      |Xi|=|Xj|1|X_{i}|=|X_{j}|-1 and XiXjX_{i}\subset X_{j}, or (forget node)

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      |Xi|=|Xj|+1|X_{i}|=|X_{j}|+1 and XiXjX_{i}\supset X_{j}. (introduce node)

Let TiT_{i} be the subtree of TT rooted at node ii. We will denote by GiG_{i} the subgraph of GG induced by jV(Ti)Xj\bigcup_{j\in V(T_{i})}X_{j}.

Theorem 2.5.6 ([9, Theorem 1]).

There exists an algorithm, that given an nn-vertex graph GG and an integer kk, in time O(ckn)O(c^{k}n) for some cc\in\mathbb{N}, either outputs that the treewidth of GG is larger than kk, or constructs a tree-decomposition of GG of width at most 5k+45k+4.

Theorem 2.5.7 ([50, Lemma 13.1.3]).

For constant kk, given a tree-decomposition of a graph GG of width kk and O(n)O(n) nodes, where nn is the number of vertices of GG, one can find a nice tree-decomposition of GG of width kk and with at most 4n4n nodes in O(n)O(n) time.

However, we will work with a slight modification of nice tree decompositions, where the bags of the root and leaves have only one vertex each.

Definition 2.5.8.

A tree-decomposition (T,{Xt}tV(T))(T,\{X_{t}\}_{t\in V(T)}) is called easy if

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    TT is a binary tree rooted at rr such that |Xr|=1|X_{r}|=1;

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    if a node ii has two children jj and kk then Xi=Xj=XkX_{i}=X_{j}=X_{k}; (join node)

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    if a node ii has one child jj, then either

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      |Xi|=|Xj|1|X_{i}|=|X_{j}|-1 and XiXjX_{i}\subset X_{j}, or (forget node)

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      |Xi|=|Xj|+1|X_{i}|=|X_{j}|+1 and XiXjX_{i}\supset X_{j}; (introduce node)

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    if a node ii has no children, then |Xi|=1|X_{i}|=1. (leaf node)

It is straightforward to prove that, given a nice tree-decomposition (T,{Xt}tV(T))(T,\{X_{t}\}_{t\in V(T)}) of width kk and O(n)O(n) nodes, one can construct in O(kn)O(kn) time an easy tree-decomposition of width kk and O(kn)O(kn) nodes.

2.6. Definitions and preliminary results on frameworks for locally checkable problems

Throughout this article we will make special emphasis on two previous frameworks for locally checkable problems. In this section we review their definitions and results related to our work.

2.6.1. LCVP problems

Let σ\sigma and ρ\rho be finite or co-finite subsets of non-negative integer numbers. A subset SS of vertices of a graph GG is a sigma-rho set, or simply (σ,ρ)(\sigma,\rho)-set, of GG if for every vv in SS, |N(v)S|σ|N(v)\cap S|\in\sigma, and for every vv in V(G)SV(G)\setminus S, |N(v)S|ρ|N(v)\cap S|\in\rho. The locally checkable vertex subset problems [61] consist of finding a minimum or maximum (σ,ρ)(\sigma,\rho)-set in an input graph GG, possibly on vertex weighted graphs.

A generalization of these problems asks for a partition of V(G)V(G) into qq classes, with each class satisfying a certain (σ,ρ)(\sigma,\rho)-property, as follows. A degree constraint matrix DqD_{q} is a q×qq\times q matrix with entries being finite or co-finite subsets of non-negative integer numbers. A DqD_{q}-partition of a graph GG is a partition {V1,V2,,Vq}\{V_{1},V_{2},\dots,V_{q}\} of V(G)V(G) such that for 1i,jq1\leq i,j\leq q it holds that for every vViv\in V_{i}, |N(v)Vj|Dq[i,j]|N(v)\cap V_{j}|\in D_{q}[i,j]. A locally checkable vertex partitioning (LCVP) problem [61] consists of deciding if GG has a DqD_{q} partition. Optimization versions can be defined, possibly on vertex weighted graphs.

The distance-rr locally checkable vertex partitioning problems [48] further generalize LCVP problems by considering, for each vertex vv, NGr(v)N_{G}^{r}(v) instead of NG(v)N_{G}(v).

In [15], Bui-Xuan, Telle and Vatshelle presented dynamic programming algorithms for LCVP problems that run in polynomial time on many graph classes, including interval graphs, permutation graphs and Dilworth kk graphs, and in fixed-parameter single-exponential time parameterized by boolean-width. In [48] Jaffke, Kwon, Strømme and Telle presented dynamic programming algorithms for distance-rr locally checkable vertex partitioning problems in graphs of bounded mim-width.

2.6.2. LCC and ECC problems

In [6, 7] Bodlaender defined the local condition composition (LCC) and edge condition composition (ECC) problems, and showed polynomial-time algorithms to solve LCC problems on bounded treewidth and bounded degree graphs, and ECC problems on bounded treewidth graphs.

Definition 2.6.1 ([6, Definition 2.9]).

Let Π\Pi be a graph decision problem, and let DΠD_{\Pi} be the set of instances of Π\Pi, YΠY_{\Pi} the set of instances for which the answer is “yes”, and s:DΠs:D_{\Pi}\to\mathbb{N} be a function that assigns sizes to instances of Π\Pi. We say Π\Pi is a basic local condition problem, if and only if there exist

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    non-negative integers m,cm,c\in\mathbb{N},

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    mm commutative monoids (M1,1),,(Mm,m)(M^{1},\oplus^{1}),\ldots,(M^{m},\oplus^{m}), and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    a tuple (Mm+1,m+1,)(M^{m+1},\oplus^{m+1},\preceq) such that (Mm+1,m+1)(M^{m+1},\oplus^{m+1}) is a commutative monoid, (Mm+1,)(M^{m+1},\preceq) is a total order and abam+1cbm+1ca\preceq b\Rightarrow a\oplus^{m+1}c\preceq b\oplus^{m+1}c for all a,b,cMm+1a,b,c\in M^{m+1}

such that

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    each DDΠD\in D_{\Pi} is of the form (G,(X,Y,R1,,Rm,K,I))(G,(X,Y,R_{1},\ldots,R_{m},K,I)), where

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      GG is an undirected graph

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      XX is a finite set with s(D)|X|s(D)\geq|X|

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      YY is a finite set with s(D)|Y|s(D)\geq|Y|

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      for all ii, 1im1\leq i\leq m, RiR_{i} denotes a subset of MiM^{i}

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      KMm+1K\in M^{m+1}

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    for all ii, 1im+11\leq i\leq m+1, there exists a function valival_{i}, that maps all 4-tuples, consisting of an instance DD == (G,(G, (X,(X, Y,Y, R1,R_{1}, ,\ldots, Rm,R_{m}, K,K, I))I)) DΠ\in D_{\Pi}, a vertex vV(G)v\in V(G), and functions f:NGc[v]Xf\colon N_{G}^{c}[v]\rightarrow X, g:MGc(v)Yg\colon M_{G}^{c}(v)\rightarrow Y, to elements of MiM_{i}, such that for all (constants) d+d\in\mathbb{N}^{+}:

    1. (1)

      there exists an algorithm that calculates vali(D,v,f,g)val_{i}(D,v,f,g), for all DD == (G,(G, (X,(X, Y,Y, R1,R_{1}, ,\ldots, Rm,R_{m}, K,K, I))I)) DΠ\in D_{\Pi}, vV(G)v\in V(G), f:NGc[v]Xf\colon N_{G}^{c}[v]\rightarrow X, g:MGc(v)Yg\colon M_{G}^{c}(v)\rightarrow Y with degree(G)d\text{degree}(G)\leq d, in time, polynomial in s(D)s(D).

    2. (2)

      if 1im1\leq i\leq m, there is a polynomial pip_{i}, such that for all DD == (G,(G, (X,(X, Y,Y, R1,R_{1}, ,\ldots, Rm,R_{m}, K,K, I))I)) DΠ\in D_{\Pi}, with degree(G)d\text{degree}(G)\leq d and subsets WV(G):|{wWivali(D,w,f|NGc[w],g|MGc(w))|f:NGc[W]X,g:MGc(W)Y}|pi(s(D))W\subseteq V(G):|\{\bigoplus^{i}_{w\in W}val_{i}(D,w,f|_{N_{G}^{c}[w]},g|_{M_{G}^{c}(w)})\;|\;f\colon N_{G}^{c}[W]\rightarrow X,g\colon M_{G}^{c}(W)\rightarrow Y\}|\leq p_{i}(s(D)).

    3. (3)

      there exists an algorithm that calculates aiba\oplus^{i}b for given a,ba,b, such that there are DD == (G,(G, (X,(X, Y,Y, R1,R_{1}, ,\ldots, Rm,R_{m}, K,K, I))I)) DΠ\in D_{\Pi}, with degree(G)d\text{degree}(G)\leq d, W1V(G)W_{1}\subseteq V(G), W2V(G)W_{2}\subseteq V(G), W1W2=W_{1}\cap W_{2}=\emptyset, f:NGc[W1W2]Xf\colon N_{G}^{c}[W_{1}\cup W_{2}]\rightarrow X, g:MGc(W1W2)Yg\colon M_{G}^{c}(W_{1}\cup W_{2})\rightarrow Y, a=wW1ivali(D,w,f|NGc[w],g|MGc(w))a=\bigoplus^{i}_{w\in W_{1}}val_{i}(D,w,f|_{N_{G}^{c}[w]},g|_{M_{G}^{c}(w)}) and b=wW2ivali(D,w,f|NGc[w],g|MGc(w))b=\bigoplus^{i}_{w\in W_{2}}val_{i}(D,w,f|_{N_{G}^{c}[w]},g|_{M_{G}^{c}(w)}), in time, polynomial in s(D)s(D).

    4. (4)

      if i=m+1i=m+1, then there exists an algorithm, that calculates whether aba\preceq b for given a,ba,b, such that there are DD == (G,(G, (X,(X, Y,Y, R1,R_{1}, ,\ldots, Rm,R_{m}, K,K, I))I)) DΠ\in D_{\Pi}, with degree(G)d\text{degree}(G)\leq d, WV(G)W\subseteq V(G), f1:NGc[W]Xf_{1}\colon N_{G}^{c}[W]\rightarrow X, f2:NGc[W]Xf_{2}\colon N_{G}^{c}[W]\rightarrow X, g1:MGc(W)Yg_{1}\colon M_{G}^{c}(W)\rightarrow Y, g2:MGc(W)Yg_{2}\colon M_{G}^{c}(W)\rightarrow Y, a=wWm+1valm+1(D,w,f1|NGc[w],a=\bigoplus^{m+1}_{w\in W}val_{m+1}(D,w,f_{1}|_{N_{G}^{c}[w]}, g1|MGc(w))g_{1}|_{M_{G}^{c}(w)}) and b=wWm+1valm+1(D,w,f2|NGc[w],g2|MGc(w))b=\bigoplus^{m+1}_{w\in W}val_{m+1}(D,w,f_{2}|_{N_{G}^{c}[w]},g_{2}|_{M_{G}^{c}(w)}) or b=Kb=K, in time polynomial in s(D)s(D).

    5. (5)

      if 1im1\leq i\leq m, there exists an algorithm that calculates for all DD == (G,(G, (X,(X, Y,Y, R1,R_{1}, ,\ldots, Rm,R_{m}, K,K, I))I)) DΠ\in D_{\Pi} with degree(G)d\text{degree}(G)\leq d, f:V(G)Xf\colon V(G)\rightarrow X, g:E(G)Yg\colon E(G)\rightarrow Y and given a=wV(G)ivali(D,w,f|NGc[w],g|MGc(w))a=\bigoplus^{i}_{w\in V(G)}val_{i}(D,w,f|_{N_{G}^{c}[w]},g|_{M_{G}^{c}(w)}) whether aRia\in R_{i}, in time polynomial in s(D)s(D).

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    For all D=(G,(X,Y,R1,,Rm,K,I))DΠ:DYΠD=(G,(X,Y,R_{1},\ldots,R_{m},K,I))\in D_{\Pi}:D\in Y_{\Pi}, if and only if there exists functions f:V(G)Xf\colon V(G)\rightarrow X, g:E(G)Yg\colon E(G)\rightarrow Y, with

    1. (1)

      i,1im:vV(G)ivali(D,v,f|NGc[v],g|MGc(v))Ri\forall i,1\leq i\leq m:\bigoplus^{i}_{v\in V(G)}val_{i}(D,v,f|_{N_{G}^{c}[v]},g|_{M_{G}^{c}(v)})\in R_{i}

    2. (2)

      vV(G)m+1valm+1(D,v,f|NGc[v],g|MGc(v))K\bigoplus^{m+1}_{v\in V(G)}val_{m+1}(D,v,f|_{N_{G}^{c}[v]},g|_{M_{G}^{c}(v)})\leq K.

Definition 2.6.2 ([6, Definition 2.10]).

Let Π\Pi be a graph decision problem. We say Π\Pi is a local condition composition problem, if and only if there exists a basic local condition composition problem Π\Pi^{\prime} and a graph-invariant polynomial transformation from Π\Pi to Π\Pi^{\prime}. The class of local condition composition problems is denoted by LCC.

Definition 2.6.3 ([6, Definition 2.11]).

Let Π\Pi be a graph decision problem, and let DΠD_{\Pi} be the set of instances of Π\Pi, YΠY_{\Pi} the set of instances for which the answer is “yes”, and s:DΠs:D_{\Pi}\to\mathbb{N} be a function that assigns sizes to instances of Π\Pi. We say Π\Pi is a basic edge condition problem, if and only if there exist

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    a non-negative integer mm\in\mathbb{N},

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    mm commutative monoids (M1,1),,(Mm,m)(M^{1},\oplus^{1}),\ldots,(M^{m},\oplus^{m}), and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    a tuple (Mm+1,m+1,)(M^{m+1},\oplus^{m+1},\preceq) such that (Mm+1,m+1)(M^{m+1},\oplus^{m+1}) is a commutative monoid, (Mm+1,)(M^{m+1},\preceq) is a total order and abam+1cbm+1ca\preceq b\Rightarrow a\oplus^{m+1}c\preceq b\oplus^{m+1}c for all a,b,cMm+1a,b,c\in M^{m+1}

such that

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    each DDΠD\in D_{\Pi} is of the form (G,(X,Y,R1,,Rm,K,I))(G,(X,Y,R_{1},\ldots,R_{m},K,I)), where

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      GG is an undirected graph

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      XX is a finite set with s(D)|X|s(D)\geq|X|

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      YY is a finite set with s(D)|Y|s(D)\geq|Y|

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      for all ii, 1im1\leq i\leq m, RiR_{i} denotes a subset of MiM^{i}

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      KMm+1K\in M^{m+1}

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    for all ii, 1im+11\leq i\leq m+1, there exists a function valival_{i}, that maps all 4-tuples, consisting of an instance DD == (G,(G, (X,(X, Y,Y, R1,R_{1}, ,\ldots, Rm,R_{m}, K,K, I))I)) DΠ\in D_{\Pi}, an edge uvE(G)uv\in E(G), and functions f:{u,v}Xf\colon\{u,v\}\rightarrow X, g:{uv}Yg\colon\{uv\}\rightarrow Y, to elements of MiM_{i}, such that:

    1. (1)

      there exists an algorithm that calculates vali(D,e,f,g)val_{i}(D,e,f,g), for all DD == (G,(G, (X,(X, Y,Y, R1,R_{1}, ,\ldots, Rm,R_{m}, K,K, I))I)) DΠ\in D_{\Pi}, uvE(G)uv\in E(G), f:{u,v}Xf\colon\{u,v\}\rightarrow X, g:{uv}Yg\colon\{uv\}\rightarrow Y in time, polynomial in s(D)s(D).

    2. (2)

      if 1im1\leq i\leq m, there is a polynomial pip_{i}, such that for all DD == (G,(G, (X,(X, Y,Y, R1,R_{1}, ,\ldots, Rm,R_{m}, K,K, I))I)) DΠ\in D_{\Pi}, and subsets EE(G):|{uvEivali(D,E^{\prime}\subseteq E(G):|\{\bigoplus^{i}_{uv\in E^{\prime}}val_{i}(D, uv,uv, f(u),f(u), f(v),f(v), g(uv))|f:NG(E)X,g:EY}|pi(s(D))g(uv))\;|\;f\colon N_{G}(E)\rightarrow X,g\colon E\rightarrow Y\}|\leq p_{i}(s(D)).

    3. (3)

      there exists an algorithm that calculates aiba\oplus^{i}b for given a,ba,b, such that there are DD == (G,(G, (X,(X, Y,Y, R1,R_{1}, ,\ldots, Rm,R_{m}, K,K, I))I)) DΠ\in D_{\Pi}, E1E(G)E_{1}\subseteq E(G), E2E(G)E_{2}\subseteq E(G), E1E2=E_{1}\cap E_{2}=\emptyset, f:NG(E1E2)Xf\colon N_{G}(E_{1}\cup E_{2})\rightarrow X, g:E1E2Yg\colon E_{1}\cup E_{2}\rightarrow Y, a=uvE1ivali(D,a=\bigoplus^{i}_{uv\in E_{1}}val_{i}(D, uv,uv, f(u),f(u), f(v),f(v), g(uv))g(uv)) and b=uvE2ivali(D,b=\bigoplus^{i}_{uv\in E_{2}}val_{i}(D, uv,uv, f(u),f(u), f(v),f(v), g(uv))g(uv)), in time, polynomial in s(D)s(D).

    4. (4)

      if i=m+1i=m+1, then there exists an algorithm, that calculates whether aba\preceq b for given a,ba,b, such that there are DD == (G,(G, (X,(X, Y,Y, R1,R_{1}, ,\ldots, Rm,R_{m}, K,K, I))I)) DΠ\in D_{\Pi}, EE(G)E^{\prime}\subseteq E(G), f1:NG(E)Xf_{1}\colon N_{G}(E^{\prime})\rightarrow X, f2:NG(E)Xf_{2}\colon N_{G}(E^{\prime})\rightarrow X, g1:EYg_{1}\colon E^{\prime}\rightarrow Y, g2:EYg_{2}\colon E^{\prime}\rightarrow Y, a=uvEm+1valm+1(D,uv,f1(u),f1(v),g1(uv))a=\bigoplus^{m+1}_{uv\in E^{\prime}}val_{m+1}(D,uv,f_{1}(u),f_{1}(v),g_{1}(uv)) and b=uvEm+1valm+1(D,uv,f2(u),f2(v),g2(uv))b=\bigoplus^{m+1}_{uv\in E^{\prime}}val_{m+1}(D,uv,f_{2}(u),f_{2}(v),g_{2}(uv)) or b=Kb=K, in time polynomial in s(D)s(D).

    5. (5)

      if 1im1\leq i\leq m, there exists an algorithm that calculates for all DD == (G,(G, (X,(X, Y,Y, R1,R_{1}, ,\ldots, Rm,R_{m}, K,K, I))I)) DΠ\in D_{\Pi}, f:V(G)Xf\colon V(G)\rightarrow X, g:E(G)Yg\colon E(G)\rightarrow Y and given a=uvE(G)ivali(D,a=\bigoplus^{i}_{uv\in E(G)}val_{i}(D, uv,uv, f(u),f(u), f(v),f(v), g(uv))g(uv)) whether aRia\in R_{i}, in time polynomial in s(D)s(D).

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    For all D=(G,(X,Y,R1,,Rm,K,I))DΠ:DYΠD=(G,(X,Y,R_{1},\ldots,R_{m},K,I))\in D_{\Pi}:D\in Y_{\Pi}, if and only if there exists functions f:V(G)Xf\colon V(G)\rightarrow X, g:E(G)Yg\colon E(G)\rightarrow Y, with

    1. (1)

      i,1im:uvE(G)ivali(D,\forall i,1\leq i\leq m:\bigoplus^{i}_{uv\in E(G)}val_{i}(D, uv,uv, f(u),f(u), f(v),f(v), g(uv))Rig(uv))\in R_{i}

    2. (2)

      uvE(G)m+1valm+1(D,uv,f(u),f(v),g(uv))K\bigoplus^{m+1}_{uv\in E(G)}val_{m+1}(D,uv,f(u),f(v),g(uv))\leq K.

Definition 2.6.4 ([6, Definition 2.12]).

Let Π\Pi be a graph decision problem. We say Π\Pi is an edge condition composition problem, if and only if there exists a basic edge condition composition problem Π\Pi^{\prime} and a graph-invariant polynomial transformation from Π\Pi to Π\Pi^{\prime}. The class of edge condition composition problems is denoted by ECC.

Theorem 2.6.5 ([6, Theorem 2.5]).

ECCLCCECC\subseteq LCC.

Theorem 2.6.6 ([6, Theorem 3.7]).

(i) Let ΠLCC\Pi\in LCC, and let k,d+k,d\in\mathbb{N}^{+}. Let Θ\Theta be a class of graphs with GΘdegree(G)dtreewidth(G)kG\in\Theta\Rightarrow\text{degree}(G)\leq d\land\text{treewidth}(G)\leq k. Then Π\Pi restricted to Θ\Theta can be solved in polynomial time.

(ii) Let ΠECC\Pi\in ECC, and let k+k\in\mathbb{N}^{+}. Let Θ\Theta be a class of graphs with GΘtreewidth(G)kG\in\Theta\Rightarrow\text{treewidth}(G)\leq k. Then Π\Pi restricted to Θ\Theta can be solved in polynomial time.

3. rr-locally checkable problems

Let rr\in\mathbb{N}. Let GG be a simple undirected graph. Then suppose we have the following:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    a set Labels and, for each edge eE(G)e\in E(G), a label eLabels\ell_{e}\in\textsc{Labels};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    a set Colors and, for every vertex vV(G)v\in V(G), a nonempty set (also called list) LvColorsL_{v}\subseteq\textsc{Colors} of possible colors for vv;

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    a totally ordered set (Weights,)(\textsc{Weights},\preceq) with a maximum element (called Error), together with the minimum operation of the order \preceq (called min\min) and a closed binary operation on Weights (called \oplus) that is commutative and associative, has a neutral element (called ee_{\oplus}) and an absorbing element that is equal to Error, and is such that s1s2s1s3s2s3s_{1}\preceq s_{2}\Rightarrow s_{1}\oplus s_{3}\preceq s_{2}\oplus s_{3} for all s1,s2,s3Weightss_{1},s_{2},s_{3}\in\textsc{Weights};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    for every vertex vV(G)v\in V(G) and for every color iLvi\in L_{v}, a weight (or cost) wv,iWeights{Error}\textsc{w}_{v,i}\in\textsc{Weights}-\{\textsc{Error}\} of assigning color ii to vertex vv; and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    a function checkcheck that, given a vertex vV(G)v\in V(G) and given a color assignment c:NGr[v]uNGr[v]Luc\colon N_{G}^{r}[v]\rightarrow\bigcup_{u\in N_{G}^{r}[v]}L_{u} such that c(u)Luc(u)\in L_{u} for all uNGr[v]u\in N_{G}^{r}[v], returns True if the vertex vv together with its neighborhood of radius rr (considering the labels of the edges uvuv with uNGr(v)u\in N_{G}^{r}(v)) satisfies a certain condition, and False otherwise.

We say that an assignment of colors to vertices cc is valid in VV if VV is the domain of cc and c(v)Lvc(v)\in L_{v} for all vVv\in V, and it is proper if it is valid in V(G)V(G) and check(v,c|NGr[v])check\left(v,c|_{N_{G}^{r}[v]}\right) is true for every vV(G)v\in V(G). The weight of a color assignment cc valid in VV is w(c)=vVwv,c(v)\textsc{w}(c)=\bigoplus_{v\in V}\textsc{w}_{v,c(v)}.

Given all the previously defined GG, e\ell_{e}, LvL_{v}, (Weights,,)(\textsc{Weights},\preceq,\oplus), wv,i\textsc{w}_{v,i} and checkcheck, an rr-locally checkable problem consists of finding the minimum weight (according to the order \preceq) of a proper assignment of colors to vertices. If no such coloring exists, the answer should be Error.

If we further consider a set Π(c)\Pi(c) of global properties (such as “the subgraph induced by the set {v:c(v)=i}\{v:c(v)=i\} is connected and |{v:c(v)=j}|1|\{v:c(v)=j\}|\leq 1”), then a generalized rr-locally checkable problem consists of finding the minimum weight (according to the order \preceq) of a proper color assignment cc that satisfies the properties in Π(c)\Pi(c).

3.1. Examples

Many different optimization and decision problems can be modeled as rr-locally checkable problems (for a decision problem we can say, for example, that the answer is “no” if and only if the minimum weight of a proper coloring is Error).

For the examples shown throughout this paper, we will assume that, otherwise stated, the definitions of LvL_{v} are for all vV(G)v\in V(G), of wv,i\textsc{w}_{v,i} for all vV(G)v\in V(G) and all iLvi\in L_{v}, and of check(v,c)check(v,c) for all vV(G)v\in V(G) and all color assignments cc valid in NG[v]N_{G}[v]. Also, if the labels e\ell_{e} are not specified, we can assume they are all equal to 11.

In Table 1 we show some examples of coloring, domination, independence and packing problems as 11-locally checkable problems. Their definitions can be found in Appendix A.

Problem Weights,,\textsc{Weights},\preceq,\oplus LvL_{v} wv,i\textsc{w}_{v,i} check(v,c)check(v,c)
kk-coloring {+},,max\mathbb{N}\cup\{+\infty\},\leq,\max [[1,k]][\![1,k]\!] ii uNG(v).c(u)c(v)\forall u\in N_{G}(v).\,c(u)\neq c(v)
kk-chromatic sum {+},,+\mathbb{N}\cup\{+\infty\},\leq,+ [[1,k]][\![1,k]\!] ii uNG(v).c(u)c(v)\forall u\in N_{G}(v).\,c(u)\neq c(v)
List-coloring {+},,+\mathbb{N}\cup\{+\infty\},\leq,+ input 0 uNG(v).c(u)c(v)\forall u\in N_{G}(v).\,c(u)\neq c(v)
HH-coloring {+},,+\mathbb{N}\cup\{+\infty\},\leq,+ V(H)V(H) 0 uNG(v).c(u)NH(c(v))\forall u\in N_{G}(v).\,c(u)\in N_{H}(c(v))
kk-tuple domination {+},,+\mathbb{N}\cup\{+\infty\},\leq,+ {0,1}\{0,1\} ii uNG[v]c(u)k\sum_{u\in N_{G}[v]}c(u)\geq k
Total kk-tuple domination {+},,+\mathbb{N}\cup\{+\infty\},\leq,+ {0,1}\{0,1\} ii uNG(v)c(u)k\sum_{u\in N_{G}(v)}c(u)\geq k
kk-domination {+},,+\mathbb{N}\cup\{+\infty\},\leq,+ {0,1}\{0,1\} ii c(v)=0uNG(v)c(u)kc(v)=0\Rightarrow\sum_{u\in N_{G}(v)}c(u)\geq k
{k}\{k\}-domination {+},,+\mathbb{N}\cup\{+\infty\},\leq,+ [[0,k]][\![0,k]\!] ii uNG[v]c(u)k\sum_{u\in N_{G}[v]}c(u)\geq k
kk-rainbow domination {+},,+\mathbb{N}\cup\{+\infty\},\leq,+ 2[[1,k]]2^{[\![1,k]\!]} |i||i| |uNG[v]c(u)|=k\left|\bigcup_{u\in N_{G}[v]}c(u)\right|=k
Roman domination {+},,+\mathbb{N}\cup\{+\infty\},\leq,+ {0,1,2}\{0,1,2\} ii c(v)=0uNG(v).c(u)=2c(v)=0\Rightarrow\exists u\in N_{G}(v).\,c(u)=2
Independent set {},,+\mathbb{N}\cup\{-\infty\},\geq,+ {0,1}\{0,1\} ii c(v)=1uNG(v)c(u)=0c(v)=1\Rightarrow\sum_{u\in N_{G}(v)}c(u)=0
{k}\{k\}-packing function {},,+\mathbb{N}\cup\{-\infty\},\geq,+ [[0,k]][\![0,k]\!] ii uNG[v]c(u)k\sum_{u\in N_{G}[v]}c(u)\leq k
{k}\{k\}-limited packing {},,+\mathbb{N}\cup\{-\infty\},\geq,+ {0,1}\{0,1\} ii uNG[v]c(u)k\sum_{u\in N_{G}[v]}c(u)\leq k
Table 1. Examples of 11-locally checkable problems.

Observe that for list-coloring and HH-coloring we are only interested in determining whether such coloring exists or not, so we do not use the weights for optimizing the solution, instead we use them precisely for determining if a solution is correct. For kk-coloring we can make use of weights to determine the smallest jkj\leq k for which there exists a jj-coloring in GG (in particular, we could set kk as a known upper bound for the chromatic number to obtain it).

For the total version of most of these domination problems we only need to replace N[v]N[v] by N(v)N(v).

For weighted versions of these problems, weights are part of the input.

For problems where the input graph is directed, we can consider edge labels that also carry the direction of the edge, and the checkcheck function can use it to distinguish in-neighbors and out-neighbors.

3.2. LCVP problems

The problem of deciding if a graph GG has a DqD_{q} partition can be modeled as a 11-locally checkable problem in the following way:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Lv=[[1,q]]L_{v}=[\![1,q]\!];

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    (Weights,,)=({+},,+)(\textsc{Weights},\preceq,\oplus)=(\mathbb{N}\cup\{+\infty\},\leq,+);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    wv,i=0\textsc{w}_{v,i}=0; and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(v,c)=j[[1,q]].|{u:uN(v)c(u)=j}|Dq[c(v),j]check(v,c)=\forall j\in[\![1,q]\!].\,|\{u:u\in N(v)\land c(u)=j\}|\in D_{q}[c(v),j].

Therefore, our framework is a generalization of LCVP problems. Furthermore, it allows us to model more problems, like {k}\{k\}–domination.

3.3. LCC and ECC problems

Consider an ECC problem Π\Pi. By definition, there exists a basic ECC problem Π\Pi^{\prime} such that Π\Pi can be reduced to Π\Pi^{\prime}. We will show that Π\Pi^{\prime} can be reduced to a generalized 11-locally checkable problem in the jagged graph of the input graph.

Construct J(G)J(G) from the input graph GG. Let (M,,)(M^{*},\oplus^{*},\preceq^{*}) be obtained by adding a maximum element to (Mm+1,m+1,)(M^{m+1},\oplus^{m+1},\preceq). Then

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Lv=XL_{v}=X for all vV(G)v\in V(G), and
    Luv=Lu×Lv×YL_{uv}=L_{u}\times L_{v}\times Y for all uvE(G)uv\in E(G);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    (Weights,,)=(M,,)(\textsc{Weights},\preceq,\oplus)=(M^{*},\preceq^{*},\oplus^{*});

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    wv,x=e\textsc{w}_{v,x}=e_{\oplus} for all vV(G)v\in V(G), and
    wuv,(xu,xv,y)=valm+1(D,uv,xu,xv,y)\textsc{w}_{uv,(x_{u},x_{v},y)}=val_{m+1}(D,uv,x_{u},x_{v},y) for all uvE(G)uv\in E(G);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(v,c)=Truecheck(v,c)=\textsc{True} for all vV(G)v\in V(G) and all color assignments cc valid in NJ(G)[v]N_{J(G)}[v], and
    check(uv,c)=(c(uv)1=c(u)c(uv)2=c(v))check(uv,c)=(c(uv)_{1}=c(u)\land c(uv)_{2}=c(v)) for all uvE(G)uv\in E(G) and all color assignments cc valid in NJ(G)[e]N_{J(G)}[e]; and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Global properties Π(c)\Pi(c): uvE(G)ivali(D,uv,c(uv)1,c(uv)2,c(uv)3)Ri\bigoplus^{i}_{uv\in E(G)}val_{i}\left(D,uv,c(uv)_{1},c(uv)_{2},c(uv)_{3}\right)\in R_{i}, for all i[[1,m]]i\in[\![1,m]\!].

With a similar approach, we can reduce a LCC problem in bounded degree graphs to a generalized rr-locally checkable problem in the jagged graph of the input graph (for an appropriate rr). Construct J(G)J(G) from the input graph GG. Let (M,,)(M^{*},\oplus^{*},\preceq^{*}) be obtained by adding a maximum element to (Mm+1,m+1,)(M^{m+1},\oplus^{m+1},\preceq). For all vV(G)v\in V(G), let 𝔽v\mathbb{F}_{v} and 𝔾v\mathbb{G}_{v} be, respectively, the sets of all functions f:NGr[v]Xf\colon N_{G}^{r}[v]\to X and g:MGr(v)Yg\colon M_{G}^{r}(v)\to Y (notice that 𝔽v\mathbb{F}_{v} and 𝔾v\mathbb{G}_{v} are finite sets that can be computed in polynomial time). Then

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Lv=𝔽v×𝔾vL_{v}=\mathbb{F}_{v}\times\mathbb{G}_{v} for all vV(G)v\in V(G), and
    Luv=YL_{uv}=Y for all uvE(G)uv\in E(G);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    (Weights,,)=(M,,)(\textsc{Weights},\preceq,\oplus)=(M^{*},\preceq^{*},\oplus^{*});

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    wv,(f,g)=valm+1(D,v,f,g)\textsc{w}_{v,(f,g)}=val_{m+1}(D,v,f,g) for all vV(G)v\in V(G), and
    wuv,y=e\textsc{w}_{uv,y}=e_{\oplus} for all uvE(G)uv\in E(G);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    for all vV(J(G))v\in V(J(G)) and all color assignments cc valid in NJ(G)r[v]N_{J(G)}^{r}[v], check(v,c)check(v,c) checks that fu(x)=fw(x)f_{u}(x)=f_{w}(x) and gu(y)=gw(y)g_{u}(y)=g_{w}(y) (where (fu,gu)=c(u)(f_{u},g_{u})=c(u) and (fw,gw)=c(w)(f_{w},g_{w})=c(w)) for all u,wNJ(G)r[v]V(G)u,w\in N_{J(G)}^{r}[v]\cap V(G), xNJ(G)r[v]NGr[u]NGr[w]x\in N_{J(G)}^{r}[v]\cap N_{G}^{r}[u]\cap N_{G}^{r}[w] and yNJ(G)r[v]MGr(u)MGr(w)y\in N_{J(G)}^{r}[v]\cap M_{G}^{r}(u)\cap M_{G}^{r}(w); and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Global properties Π(c)\Pi(c): vV(G)ivali(D,v,c(v)1,c(v)2)Ri\bigoplus^{i}_{v\in V(G)}val_{i}\left(D,v,c(v)_{1},c(v)_{2}\right)\in R_{i}, for all i[[1,m]]i\in[\![1,m]\!].

4. 11-locally checkable problems in complete graphs

It is easy to see that we can polynomially reduce NP-complete problems in graphs to particular 11-locally checkable problems in complete graphs, even when restricting the sets of colors and edge labels to {0,1}\{0,1\}. Indeed, we can transform the classical domination problem in a graph GG to the following 11-locally checkable problem in complete graphs. We construct a complete graph GG^{\prime} such that V(G)=V(G)V(G^{\prime})=V(G) and set

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    uv=1\ell_{uv}=1 if uvE(G)uv\in E(G) and uv=0\ell_{uv}=0 otherwise;

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Lv={0,1}L_{v}=\{0,1\};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    (Weights,,)=({+},,+)(\textsc{Weights},\preceq,\oplus)=(\mathbb{R}\cup\{+\infty\},\leq,+);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    wv,i=i\textsc{w}_{v,i}=i; and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(v,c)=(c(v)+uNG(v)(c(u)vu)1)check(v,c)=\left(c(v)+\sum_{u\in N_{G^{\prime}}(v)}(c(u)\cdot\ell_{vu})\geq 1\right).

It is clear that the minimum weight of a proper coloring in this instance equals γ(G)\gamma(G), and this transformation can be performed in polynomial time.

If we restrict Labels to {1}\{1\}, we can still find a polynomial-time reduction from the domination problem in a graph GG to a 11-locally checkable problem in a complete graph GG^{\prime} such that V(G)=V(G)V(G^{\prime})=V(G), by setting:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Lv={,NG[v]}L_{v}=\{\emptyset,N_{G}[v]\};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    (Weights,,)=({+},,+)(\textsc{Weights},\preceq,\oplus)=(\mathbb{R}\cup\{+\infty\},\leq,+);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    wv,=0\textsc{w}_{v,\emptyset}=0 and wv,NG[v]=1\textsc{w}_{v,N_{G}[v]}=1; and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(v,c)=(vuNG[v]c(u))check(v,c)=\left(v\in\bigcup_{u\in N_{G^{\prime}}[v]}c(u)\right).

Of course, 11-locally checkable problems are polynomial-time solvable under appropriate conditions.

Theorem 4.0.1.

Consider a 11-locally checkable problem and a family of instances where

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    GG is a complete graph;

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    e=1\ell_{e}=1 for all eE(G)e\in E(G);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    the number of all possible colors (that is, the size of the set vV(G)Lv\bigcup_{v\in V(G)}L_{v}) is bounded by a constant; and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(v,c)check(v,c) can be computed in polynomial time and only depends on vv, c(v)c(v) and the number of neighbors of each color that vv has.

Then this problem can be solved in polynomial time in |V(G)||V(G)| for these instances.

Proof.

Assume Colors={c1,,c𝒞}\textsc{Colors}=\{c_{1},\ldots,c_{\mathcal{C}}\}. Notice that since GG is a complete graph then NG[v]=V(G)N_{G}[v]=V(G) for all vV(G)v\in V(G). Therefore, by the restrictions imposed to checkcheck, we can assume there exists a function checkcheck^{\prime} such that check(v,c(v),(k1,,k𝒞))=check(v,c)check^{\prime}(v,c(v),(k_{1},\ldots,k_{\mathcal{C}}))=check(v,c), where ki=|{uV(G):c(u)=ci}|k_{i}=|\{u\in V(G):c(u)=c_{i}\}| for all i[[1,𝒞]]i\in[\![1,\mathcal{C}]\!].

For every distribution of colors (k1,,k𝒞)(k_{1},\ldots,k_{\mathcal{C}}), with ki0k_{i}\in\mathbb{N}_{0} for all i[[1,𝒞]]i\in[\![1,\mathcal{C}]\!] and such that i=1𝒞ki=|V(G)|\sum_{i=1}^{\mathcal{C}}k_{i}=|V(G)|, we need to verify if it can actually be achieved (that is, there exists a proper color assignment cc such that ki=|{uV(G):c(u)=ci}|k_{i}=|\{u\in V(G):c(u)=c_{i}\}| for all i[[1,𝒞]]i\in[\![1,\mathcal{C}]\!]), and if so, find one such proper assignment of colors to vertices of minimum weight. To this end, we construct a directed capacitated network FF with vertices ii for all iColorsi\in\textsc{Colors}, (v,i)(v,i) for all vV(G)v\in V(G) and all iLvi\in L_{v}, vv for all vV(G)v\in V(G), and ss and tt. There is a directed edge of capacity kσ(i)k_{\sigma(i)} and cost 0 from ss to ii for all iColorsi\in\textsc{Colors}. There is a directed edge of capacity 11 and cost 0 from ii to (v,i)(v,i) if ki1k_{i}\geq 1 and check(v,i,(k1,,k𝒞))check^{\prime}(v,i,(k_{1},\ldots,k_{\mathcal{C}})) is true. There is a directed edge of capacity 11 and cost wv,i\textsc{w}_{v,i} from (v,i)(v,i) to vv for all vV(G),iLvv\in V(G),i\in L_{v}. There is a directed edge of capacity 11 and cost 0 from vv to tt for all vV(G)v\in V(G). There are no more edges than these ones. Note that the distribution (k1,,k𝒞)(k_{1},\ldots,k_{\mathcal{C}}) is achievable if and only if the maximum flow in FF is |V(G)||V(G)|, and in this case the proper assignment of colors to vertices of minimum weight corresponds to the maximum flow in FF of minimum cost.

Finally, the answer to the problem is obtained by finding the minimum proper color assignment among the ones found for all achievable distributions of colors.

Since 𝒞\mathcal{C} is bounded by a constant, the number of distributions of colors is polynomial in |V(G)||V(G)| (because it is (|V(G)|+𝒞1𝒞1)<(|V(G)|+1)𝒞\binom{|V(G)|+\mathcal{C}-1}{\mathcal{C}-1}<(|V(G)|+1)^{\mathcal{C}}), check(v,i,(k1,,k𝒞))check^{\prime}(v,i,(k_{1},\ldots,k_{\mathcal{C}})) can be computed in polynomial time, constructing FF takes polynomial time, and the problem of finding the maximum flow of minimum cost is polynomial-time solvable, then the statement holds. ∎

5. 11-locally checkable problems in bounded treewidth graphs

In this section we give a polynomial-time algorithm to solve 11-locally checkable problems in bounded treewidth graphs, under mild conditions. In Section 6 we show that these results can be extended to rr-locally checkable problems (for any fixed r1r\geq 1) in bounded treewidth and bounded degree graphs. In Section 7 we will explain how to modify the algorithm in order to add some global properties.

We will solve the problem in a dynamic programming fashion, traversing an easy tree decomposition (see Definition 2.5.8) of the input graph and describing how to proceed with each type of node of the tree decomposition, as it is usual with this kind of problems, but with an abstraction of the “extra” parameters involved in ad-hoc solutions of locally checkable problems. In order to describe this abstraction, and hence the algorithm, we first need to introduce the concept of partial neighborhoods.

5.1. Partial neighborhoods

We define a system that, roughly speaking, gives us tools to accumulate information from the neighbors of a vertex.

Definition 5.1.1.

A partial neighborhood system for an instance of a 11-locally checkable problem consists of:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    A set 𝒩v,i\mathcal{N}_{{v},{i}}, for every vV(G)v\in V(G) and iLvi\in L_{v}, together with a closed binary operation v,i\boxplus^{{v},{i}} on 𝒩v,i\mathcal{N}_{{v},{i}} that is commutative and associative and has a neutral element ev,ie_{{v},{i}}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    A function newNv,i{newN}_{{v},{i}}, for every vV(G)v\in V(G) and iLvi\in L_{v}, that given uNG(v)u\in N_{G}(v) and jLuj\in L_{u} returns an element of 𝒩v,i\mathcal{N}_{{v},{i}} (possibly making use of the label of the edge vuvu).

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    A function checkv,i:𝒩v,iBoolcheck_{v,i}\colon\mathcal{N}_{{v},{i}}\to\textsc{Bool}, for every vV(G)v\in V(G) and iLvi\in L_{v}. This function must satisfy checkv,c(v)(\scalereluNG(v)v,c(v)newNv,c(v)(u,c(u)))=check(v,c)check_{v,c(v)}\left(\operatorname*{\scalerel*{\boxplus}{\sum}}^{v,c(v)}_{u\in N_{G}(v)}{newN}_{{v},{c(v)}}(u,c(u))\right)=check(v,c) for every vertex vV(G)v\in V(G) and every color assignment cc valid in NG[v]N_{G}[v].

In words, with newNv,i(u,j){newN}_{{v},{i}}(u,j) we create new information, that says how uu having color jj affects vv when having color ii. The operation v,i\boxplus^{{v},{i}} combines two pieces of information. For a color assignment cc valid in NG[v]N_{G}[v], checkv,c(v)(\scalereluNG(v)v,c(v)newNv,c(v)(u,c(u)))check_{v,c(v)}\left(\operatorname*{\scalerel*{\boxplus}{\sum}}^{v,c(v)}_{u\in N_{G}(v)}{newN}_{{v},{c(v)}}(u,c(u))\right) simply verifies a condition over all the information collected from the neighbors of vv. Finally, we require the equality checkv,c(v)(\scalereluNG(v)v,c(v)newNv,c(v)(u,c(u)))=check(v,c)check_{v,c(v)}\left(\operatorname*{\scalerel*{\boxplus}{\sum}}^{v,c(v)}_{u\in N_{G}(v)}{newN}_{{v},{c(v)}}(u,c(u))\right)=check(v,c) to make these tools analogous to the use of check(v,c)check(v,c). We refer to the elements of 𝒩v,i\mathcal{N}_{{v},{i}} as partial neighborhoods of vertex vv with color ii.

Remark 5.1.2.

For every instance of a 11-locally checkable problem there exists a partial neighborhood system. We will show how to construct one. The idea behind the following partial neighborhood system is to store all the colors assigned to the neighbors of vv, where \perp represents that a neighbor has not yet been assigned a color, and ×\times can be thought as an error sign. Let vV(G)v\in V(G), iLvi\in L_{v} and assume NG(v)={u1,,udG(v)}N_{G}(v)=\{u_{1},\ldots,u_{d_{G}(v)}\}. Let 𝒩v,i\mathcal{N}_{{v},{i}} be the set of all dG(v)d_{G}(v)-tuples xx such that xhLuh{,×}x_{h}\in L_{u_{h}}\cup\{\perp,\times\} for all h[[1,dG(v)]]h\in[\![1,d_{G}(v)]\!]. Let v,i\boxplus^{{v},{i}} be such that

(nv,in)h={nhif nh=nh or nh=nhif nh= and nh×otherwise(n\boxplus^{{v},{i}}n^{\prime})_{h}=\begin{cases}n_{h}&\text{if }n_{h}=n^{\prime}_{h}\text{ or }n^{\prime}_{h}=\perp\\ n^{\prime}_{h}&\text{if }n_{h}=\perp\text{ and }n^{\prime}_{h}\neq\perp\\ \times&\text{otherwise}\end{cases}

for all h[[1,dG(v)]]h\in[\![1,d_{G}(v)]\!]. Let newNv,i(uh,j){newN}_{{v},{i}}(u_{h},j) be the dG(v)d_{G}(v)-tuple that has jj in its position hh and \perp in all its other positions. Let x𝒩v,ix\in\mathcal{N}_{{v},{i}}. If x=(j1,,jdG(v))x=(j_{1},\ldots,j_{d_{G}(v)}) with jhLuhj_{h}\in L_{u_{h}} for all h[[1,dG(v)]]h\in[\![1,d_{G}(v)]\!], let cc be the color assignment in NG[v]N_{G}[v] such that c(v)=ic(v)=i and c(uh)=jhc(u_{h})=j_{h} for all h[[1,dG(v)]]h\in[\![1,d_{G}(v)]\!], and then define checkv,i(x)=check(v,c)check_{v,i}(x)=check(v,c). Otherwise, let checkv,i(x)=Falsecheck_{v,i}(x)=\textsc{False}.

Problem 𝒩v,i\mathcal{N}_{{v},{i}} nv,inn\boxplus^{{v},{i}}n^{\prime} newNv,i(u,j){newN}_{{v},{i}}(u,j) checkv,i(n)check_{v,i}(n)
kk-coloring Bool nnn\land n^{\prime} jij\neq i nn
kk-chromatic sum Bool nnn\land n^{\prime} jij\neq i nn
List-coloring Bool nnn\land n^{\prime} jij\neq i nn
HH-coloring Bool nnn\land n^{\prime} jNH(i)j\in N_{H}(i) nn
kk-tuple domination [[0,k]][\![0,k]\!] min(n+n,k)\min(n+n^{\prime},k) jj n+ikn+i\geq k
Total kk-tuple domination [[0,k]][\![0,k]\!] min(n+n,k)\min(n+n^{\prime},k) jj nkn\geq k
kk-domination [[0,k]][\![0,k]\!] min(n+n,k)\min(n+n^{\prime},k) jj i=0nki=0\Rightarrow n\geq k
{k}\{k\}-domination [[0,k]][\![0,k]\!] min(n+n,k)\min(n+n^{\prime},k) jj n+ikn+i\geq k
kk-rainbow domination 2[[1,k]]2^{[\![1,k]\!]} nnn\cup n^{\prime} jj |ni|=k\left|n\cup i\right|=k
Roman domination Bool nnn\lor n^{\prime} j=2j=2 i=0ni=0\Rightarrow n
Independent set {0,1}\{0,1\} min(n+n,1)\min(n+n^{\prime},1) jj i=1n=0i=1\Rightarrow n=0
{k}\{k\}-packing function [[0,k+1]][\![0,k+1]\!] min(n+n,k+1)\min(n+n^{\prime},k+1) jj nkn\leq k
{k}\{k\}-limited packing [[0,k+1]][\![0,k+1]\!] min(n+n,k+1)\min(n+n^{\prime},k+1) jj nkn\leq k
Table 2. Examples of partial neighborhood systems for 11-locally checkable problems.

Finding partial neighborhood systems that have smaller sets 𝒩v,i\mathcal{N}_{{v},{i}} is of extreme importance because it reduces the time complexity of the algorithm given in Section 5.3. We say a partial neighborhood system is polynomial (resp. constant) if it is such that max{|𝒩v,i|:vV(G),iLv}\max\{|\mathcal{N}_{{v},{i}}|:v\in V(G),i\in L_{v}\} is polynomial (resp. constant) in the size of the input of the problem, and all the functions checkv,icheck_{v,i}, eqneq_{n}, v,i\boxplus^{{v},{i}} and newNv,i{newN}_{{v},{i}} can be computed in time polynomial (resp. constant) in the input size. In Table 2 we show constant partial neighborhood systems of the locally checkable problems listed in Table 1.

Another key concept is the following. Let XV(G)X\subseteq V(G) and cc be a color assignment valid in XX. Given a partial neighborhood system, a valid partial neighborhood mapping for cc is a function η\eta of domain XX such that η(v)𝒩v,c(v)\eta(v)\in\mathcal{N}_{{v},{c(v)}} for all vXv\in X.

Finally, given vV(G)v\in V(G) and iLvi\in L_{v}, any function f:𝒩v,iBoolf\colon\mathcal{N}_{{v},{i}}\to\textsc{Bool} is called a checking function for (v,i)(v,i).

5.2. Notation and definitions

The following definitions and notation will be useful throughout the rest of the article. To make the notation less cumbersome, we write cˇv\check{c}_{v} instead of cˇ(v)\check{c}(v).

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Function extended with one element in its domain. Let f:XYf\colon X\rightarrow Y and xXx\notin X. Then the function fxy:X{x}Y{y}f^{x\rightarrow y}\colon X\cup\{x\}\rightarrow Y\cup\{y\} is such that fxy(x)=yf^{x\rightarrow y}(x)=y and fxy(z)=f(z)f^{x\rightarrow y}(z)=f(z) for all zXz\in X.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Function with one element less in its domain. Let f:XYf\colon X\rightarrow Y and xXx\in X. Then the function fx:X{x}Yf^{-x}\colon X-\{x\}\rightarrow Y is such that fx(z)=f(z)f^{-x}(z)=f(z) for all zX{x}z\in X-\{x\}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Graph where some edges are removed. Let HH be a graph. Then H¬S{H}^{\lnot{S}} is the graph such that V(H¬S)=V(H)V({H}^{\lnot{S}})=V(H) and E(H¬S)=E(H){uv:u,vS}E({H}^{\lnot{S}})=E(H)-\{uv:u,v\in S\}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Neutral weight mapping. Let XV(G)X\subseteq V(G). Then the function ωXe:XWeights\omega^{e}_{X}\colon X\to\textsc{Weights} is such that ωXe(v)=e\omega^{e}_{X}(v)=e_{\oplus} for all vXv\in X.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Equality checking function. For every vV(G)v\in V(G), every iLvi\in L_{v} and every n𝒩v,in\in\mathcal{N}_{{v},{i}}, let eqn:𝒩v,iBooleq_{n}\colon\mathcal{N}_{{v},{i}}\rightarrow\textsc{Bool} be the function such that eqn(n)=(n=n)eq_{n}(n^{\prime})=(n=n^{\prime}) for all n𝒩v,in^{\prime}\in\mathcal{N}_{{v},{i}}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Function that returns equality checking functions. Let XV(G)X\subseteq V(G), cc be a color assignment valid in XX and η\eta be a valid partial neighborhood mapping for cc. Then let cˇη\check{c}^{\eta} be the function of domain XX such that cˇvη\check{c}^{\eta}_{v} is eqη(v)eq_{\eta(v)} for all vXv\in X.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Reduction of a partial neighborhood mapping. Let XV(G)X\subseteq V(G), cc be a color assignment valid in XX, η\eta be a valid partial neighborhood mapping for cc and vXv\in X. Then the function ηv\eta^{\sim v} of domain X{v}X-\{v\} is such that ηv(u)=η(u)u,c(u)newN(v,c(v))\eta^{\sim v}(u)=\eta(u)\boxplus^{{u},{c(u)}}newN(v,c(v)) if uXNG(v)u\in X\cap N_{G}(v) and ηv(u)=η(u)\eta^{\sim v}(u)=\eta(u) otherwise.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Neutral partial neighborhood mapping. Let XV(G)X\subseteq V(G) and cc be a color assignment valid in XX. Then the function ηce\eta^{e}_{c} of domain XX is such that ηce(v)=ev,c(v)\eta^{e}_{c}(v)=e_{{v},{c(v)}} for all vXv\in X. Observe that ηce\eta^{e}_{c} is a valid partial neighborhood mapping for cc.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Partial neighborhood in a subgraph. Let HH be a subgraph of GG and cc be a color assignment valid in V(H)V(H). Then we define ns such that ns(v,c,H)=\scalereluNH(v)v,c(v)newNv,c(v)(u,c(u))\textsc{ns}(v,c,H)=\operatorname*{\scalerel*{\boxplus}{\sum}}^{v,c(v)}_{u\in N_{H}(v)}{newN}_{{v},{c(v)}}(u,c(u)) for all vV(H)v\in V(H). Roughly speaking, ns(v,c,H)\textsc{ns}(v,c,H) is the information we can obtain from the neighbors of vv in HH and the color assignment cc.

5.3. Algorithm

Consider an instance of a 11-locally checkable problem with a partial neighborhood system. Let GG be the input graph and let (T,{Xt}tV(T))(T,\{X_{t}\}_{t\in V(T)}) be an easy tree decomposition of GG.

For every XV(G)X\subseteq V(G), every GG^{\prime} subgraph of GG such that XV(G)X\subseteq V(G^{\prime}) and NG[V(G)X]V(G)N_{G}[V(G^{\prime})-X]\subseteq V(G^{\prime}), every color assignment cc valid in XX, every η\eta that is a valid partial neighborhood mapping for cc, and every cˇ\check{c} such that cˇv{checkv,c(v)}{eqn:n𝒩v,c(v)}\check{c}_{v}\in\{check_{v,c(v)}\}\cup\{eq_{n}:n\in\mathcal{N}_{{v},{c(v)}}\} for all vXv\in X, we say that a function ff is a (X,c,η,cˇ)(X,c,\eta,\check{c})–coloring in GG^{\prime} if

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    ff is a color assignment valid in V(G)V(G^{\prime}),

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    f(v)=c(v)f(v)=c(v) for all vXv\in X,

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    cˇv(η(v)v,f(v)ns(v,f,G))=True\check{c}_{v}\left(\eta(v)\boxplus^{{v},{f(v)}}\textsc{ns}(v,f,G^{\prime})\right)=\textsc{True} for all vXv\in X, and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(u,f|NG[u])=Truecheck(u,f|_{N_{G}[u]})=\textsc{True} for all uV(G)Xu\in V(G^{\prime})-X.

For a (X,c,η,cˇ)(X,c,\eta,\check{c})–coloring ff in GG^{\prime} and a function ω:XWeights\omega\colon X\to\textsc{Weights}, we define the weight under ω\omega of ff as wω(f)=(vXω(v))(vV(G)Xwv,f(v))\textsc{w}_{\omega}(f)=\left(\bigoplus_{v\in X}\omega(v)\right)\oplus\left(\bigoplus_{v\in V(G^{\prime})-X}\textsc{w}_{v,f(v)}\right).

For every node tt, let 𝒟t\mathcal{D}_{t} be the set of all tuples (S,c,ω,η,cˇ)(S,c,\omega,\eta,\check{c}) such that

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    SXtS\subseteq X_{t},

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    cc is a color assignment valid in XtX_{t},

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    ω:XtWeights\omega\colon X_{t}\to\textsc{Weights} is such that ω(v){e,wv,c(v)}\omega(v)\in\{e_{\oplus},\textsc{w}_{v,c(v)}\} for all vXtv\in X_{t},

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    η\eta is a valid partial neighborhood mapping for cc, and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    cˇ\check{c} is a function that, given a vertex vXtv\in X_{t}, returns a checking function for (v,c(v))(v,c(v)) such that cˇv{checkv,c(c)}{eqn:n𝒩v,c(v)}\check{c}_{v}\in\{check_{v,c(c)}\}\cup\{eq_{n}:n\in\mathcal{N}_{{v},{c(v)}}\};

and let λt:𝒟tWeights\lambda_{t}\colon\mathcal{D}_{t}\to\textsc{Weights} be defined by

λt(S,c,ω,η,cˇ)=min{wω(f):f is a (Xt,c,η,cˇ)–coloring in Gt¬S}\lambda_{t}(S,c,\omega,\eta,\check{c})=\min\{\textsc{w}_{\omega}(f):\text{$f$ is a $(X_{t},c,\eta,\check{c})$--coloring in ${G_{t}}^{\lnot{S}}$}\}

for every (S,c,ω,η,cˇ)𝒟t(S,c,\omega,\eta,\check{c})\in\mathcal{D}_{t}.

Remark 5.3.1.

Notice that if there are no (Xt,c,η,cˇ)(X_{t},c,\eta,\check{c})–colorings in Gt¬S{G_{t}}^{\lnot{S}} then we have λt(S,c,ω,η,cˇ)=Error\lambda_{t}(S,c,\omega,\eta,\check{c})=\textsc{Error}.

The following result is immediate from the previous definitions.

Corollary 5.3.2.

If rr is the root of TT then the minimum weight of a proper coloring in GG is

min{λr(,c,ω,ηce,cˇ):\displaystyle\min\{\lambda_{r}(\emptyset,c,\omega,\eta^{e}_{c},\check{c}):\; (,c,ω,ηce,cˇ)𝒟r,and\displaystyle(\emptyset,c,\omega,\eta^{e}_{c},\check{c})\in\mathcal{D}_{r},\text{and}
ω(v)=wv,c(v) and cˇv=checkv,c(v) for all vXr}.\displaystyle\text{ $\omega(v)=\textsc{w}_{v,c(v)}$ and $\check{c}_{v}=check_{v,c(v)}$ for all $v\in X_{r}$}\}.

We will show how to compute λ\lambda in a recursive way.

Lemma 5.3.3 (Leaf node).

Let tt be a leaf node and Xt={v}X_{t}=\{v\}. Then

λt(S,c,ω,η,cˇ)={ω(v)if cˇv(η(v))Errorotherwise\lambda_{t}(S,c,\omega,\eta,\check{c})=\left\{\begin{array}[]{ll}\omega(v)&\text{if }\check{c}_{v}(\eta(v))\\ \textsc{Error}&\text{otherwise}\end{array}\right.
Proof.

Notice that in this case V(Gt¬S)={v}=XtV({G_{t}}^{\lnot{S}})=\{v\}=X_{t}.

If cˇv(η(v))=False\check{c}_{v}(\eta(v))=\textsc{False} then, by definition, there are no (Xt,c,η,cˇ)(X_{t},c,\eta,\check{c})–colorings in Gt¬S{G_{t}}^{\lnot{S}}. Therefore, λt(S,c,ω,η,cˇ)=Error\lambda_{t}(S,c,\omega,\eta,\check{c})=\textsc{Error}, leading to the desired equality.

If cˇv(η(v))=True\check{c}_{v}(\eta(v))=\textsc{True} then, by definition, cc is the only possible (Xt,c,η,cˇ)(X_{t},c,\eta,\check{c})–coloring in Gt¬S{G_{t}}^{\lnot{S}}. Therefore, λt(S,c,ω,η,cˇ)=min{wω(f):f is a (Xt,c,η,cˇ)–coloring in Gt¬S}=wω(c)=ω(v)\lambda_{t}(S,c,\omega,\eta,\check{c})=\min\{\textsc{w}_{\omega}(f):\text{$f$ is a $(X_{t},c,\eta,\check{c})$--coloring in ${G_{t}}^{\lnot{S}}$}\}=\textsc{w}_{\omega}(c)=\omega(v). ∎

Lemma 5.3.4 (Forget node).

Let tt be a forget node, ss be the child of tt and XsXt={v}X_{s}-X_{t}=\{v\}. Then

λt(S,c,ω,η,cˇ)=miniLv{λs(S,cvi,ωvwv,i,ηvev,i,cˇvcheckv,i)}.\lambda_{t}(S,c,\omega,\eta,\check{c})=\min_{i\in L_{v}}\{\lambda_{s}(S,c^{v\rightarrow i},\omega^{v\rightarrow\textsc{w}_{v,i}},\eta^{v\rightarrow e_{{v},{i}}},\check{c}^{v\rightarrow check_{v,i}})\}.
Proof.

Notice that vSv\notin S and also Gt¬S=Gs¬S{G_{t}}^{\lnot{S}}={G_{s}}^{\lnot{S}}.

By definition of λs\lambda_{s} we have

miniLv{λs(S,cvi,ωvwv,i,ηvev,i,cˇvcheckv,i)}\displaystyle\min_{i\in L_{v}}\{\lambda_{s}(S,c^{v\rightarrow i},\omega^{v\rightarrow\textsc{w}_{v,i}},\eta^{v\rightarrow e_{{v},{i}}},\check{c}^{v\rightarrow check_{v,i}})\}
=\displaystyle=\; miniLv{min{wωvwv,i(f):f is a (Xs,cvi,ηvev,i,cˇvcheckv,i)–coloring in Gs¬S}}\displaystyle\min_{i\in L_{v}}\{\min\{\textsc{w}_{\omega^{v\rightarrow\textsc{w}_{v,i}}}(f):\text{$f$ is a $(X_{s},c^{v\rightarrow i},\eta^{v\rightarrow e_{{v},{i}}},\check{c}^{v\rightarrow check_{v,i}})$--coloring in ${G_{s}}^{\lnot{S}}$}\}\}
=\displaystyle=\; min{wωvwv,i(f):iLvf is a (Xs,cvi,ηvev,i,cˇvcheckv,i)–coloring in Gs¬S}.\displaystyle\min\{\textsc{w}_{\omega^{v\rightarrow\textsc{w}_{v,i}}}(f):i\in L_{v}\land\text{$f$ is a $(X_{s},c^{v\rightarrow i},\eta^{v\rightarrow e_{{v},{i}}},\check{c}^{v\rightarrow check_{v,i}})$--coloring in ${G_{s}}^{\lnot{S}}$}\}.

Let iLvi\in L_{v}. We claim that every ff that is a (Xs,cvi,ηvev,i,cˇvcheckv,i)(X_{s},c^{v\rightarrow i},\eta^{v\rightarrow e_{{v},{i}}},\check{c}^{v\rightarrow check_{v,i}})–coloring in Gs¬S{G_{s}}^{\lnot{S}} is also a (Xt,c,η,cˇ)(X_{t},c,\eta,\check{c})–coloring in Gt¬S{G_{t}}^{\lnot{S}}. Conversely, every ff that is a (Xt,c,η,cˇ)(X_{t},c,\eta,\check{c})–coloring in Gt¬S{G_{t}}^{\lnot{S}} is also a (Xs,cvf(v),ηvev,f(v),cˇvcheckv,f(v))(X_{s},c^{v\rightarrow f(v)},\eta^{v\rightarrow e_{{v},{f(v)}}},\check{c}^{v\rightarrow check_{v,f(v)}})–coloring in Gs¬S{G_{s}}^{\lnot{S}}. We prove the first claim (the second one is similar) by showing each of the items of the definition of (Xt,c,η,cˇ)(X_{t},c,\eta,\check{c})–coloring in Gt¬S{G_{t}}^{\lnot{S}} holds:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    f(w)=c(w)f(w)=c(w) for all wXtw\in X_{t} (because it is true for all wXsw\in X_{s}),

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    ff is a color assignment valid in V(Gs¬S)=V(Gt¬S)V({G_{s}}^{\lnot{S}})=V({G_{t}}^{\lnot{S}}),

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(u,f)=Truecheck(u,f)=\textsc{True} for all uV(Gs¬S)Xs=V(Gt¬S)Xt{v}u\in V({G_{s}}^{\lnot{S}})-X_{s}=V({G_{t}}^{\lnot{S}})-X_{t}-\{v\} and
    check(v,f)=checkv,i(ns(v,f,Gs¬S))=checkv,i(ev,iv,ins(v,f,Gs¬S))=cˇvvcheckv,i(η(v)v,ins(v,f,Gs¬S))=True\begin{aligned} check(v,f)&=check_{v,i}\left(\textsc{ns}(v,f,{G_{s}}^{\lnot{S}})\right)\\ &=check_{v,i}\left(e_{{v},{i}}\boxplus^{{v},{i}}\textsc{ns}(v,f,{G_{s}}^{\lnot{S}})\right)\\ &=\check{c}^{v\rightarrow check_{v,i}}_{v}\left(\eta(v)\boxplus^{{v},{i}}\textsc{ns}(v,f,{G_{s}}^{\lnot{S}})\right)\\ &=\textsc{True}\end{aligned}
    (because f(v)=if(v)=i), and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    cˇw(η(w)w,f(w)ns(w,f,Gt¬S))=True\check{c}_{w}\left(\eta(w)\boxplus^{{w},{f(w)}}\textsc{ns}(w,f,{G_{t}}^{\lnot{S}})\right)=\textsc{True} for all wXtw\in X_{t} (because it is true for all wXsw\in X_{s} and E(Gt¬S)=E(Gs¬S)E({G_{t}}^{\lnot{S}})=E({G_{s}}^{\lnot{S}})).

Clearly, wωvwv,f(v)(f)=wω(f)\textsc{w}_{\omega^{v\rightarrow\textsc{w}_{v,f(v)}}}(f)=\textsc{w}_{\omega}(f) for every ff that is a (Xt,c,η,cˇ)(X_{t},c,\eta,\check{c})–coloring in Gt¬S{G_{t}}^{\lnot{S}}. Therefore

min{wωvwv,i(f):iLvf is a (Xs,cvi,ηvev,i,cˇvcheckv,i)–coloring in Gs¬S}\displaystyle\min\{\textsc{w}_{\omega^{v\rightarrow\textsc{w}_{v,i}}}(f):i\in L_{v}\land\text{$f$ is a $(X_{s},c^{v\rightarrow i},\eta^{v\rightarrow e_{{v},{i}}},\check{c}^{v\rightarrow check_{v,i}})$--coloring in ${G_{s}}^{\lnot{S}}$}\}
=\displaystyle=\; min{wω(f):f is a (Xt,c,η,cˇ)–coloring in Gt¬S}\displaystyle\min\{\textsc{w}_{\omega}(f):\text{$f$ is a $(X_{t},c,\eta,\check{c})$--coloring in ${G_{t}}^{\lnot{S}}$}\}
=\displaystyle=\; λt(S,c,ω,η,cˇ).\displaystyle\lambda_{t}(S,c,\omega,\eta,\check{c}).

Lemma 5.3.5 (Introduce node).

Let tt be an introduce node, ss be the child of tt and XtXs={v}X_{t}-X_{s}=\{v\}. Let nv=η(v)v,c(v)ns(v,c,Gt¬S[Xt])n_{v}=\eta(v)\boxplus^{{v},{c(v)}}\textsc{ns}(v,c,{G_{t}}^{\lnot{S}}[X_{t}]). Then

λt(S,c,ω,η,cˇ)={ω(v)λs(S{v},cv,ωv,ηv,cˇv)if cˇv(nv)Errorotherwise\lambda_{t}(S,c,\omega,\eta,\check{c})=\left\{\begin{array}[]{ll}\omega(v)\oplus\lambda_{s}(S-\{v\},c^{-v},\omega^{-v},\eta^{\sim v},\check{c}^{-v})&\text{if }\check{c}_{v}(n_{v})\\ \textsc{Error}&\text{otherwise}\end{array}\right.
Proof.

Observe that vV(Gs¬(S{v}))v\notin V({G_{s}}^{\lnot{(S-\{v\})}}) and NGt¬S[v]XtN_{{G_{t}}^{\lnot{S}}}[v]\subseteq X_{t} (because (T,{Xi}iV(T))(T,\{X_{i}\}_{i\in V(T)}) is a tree-decomposition), and that this implies that ns(v,c,Gt¬S)=ns(v,c,Gt¬S[Xt])\textsc{ns}(v,c,{G_{t}}^{\lnot{S}})=\textsc{ns}(v,c,{G_{t}}^{\lnot{S}}[X_{t}]).

If cˇv(nv)=False\check{c}_{v}(n_{v})=\textsc{False} then, by definition, there are no (Xt,c,η,cˇ)(X_{t},c,\eta,\check{c})–colorings in Gt¬S{G_{t}}^{\lnot{S}} and we also have λt(S,c,ω,η,cˇ)=Error\lambda_{t}(S,c,\omega,\eta,\check{c})=\textsc{Error}.

Now assume that cˇv(nv)=True\check{c}_{v}(n_{v})=\textsc{True}. It is straightforward to prove that if a function ff is a (Xs,cv,ηv,cˇv)(X_{s},c^{-v},\eta^{\sim v},\check{c}^{-v})–coloring in Gs¬(S{v}){G_{s}}^{\lnot{(S-\{v\})}} then the function fvc(v)f^{v\rightarrow c(v)} is a (Xt,c,η,cˇ)(X_{t},c,\eta,\check{c})–coloring in Gt¬S{G_{t}}^{\lnot{S}} and wω(fvc(v))=ω(v)wωv(f)\textsc{w}_{\omega}(f^{v\rightarrow c(v)})=\omega(v)\oplus\textsc{w}_{\omega^{-v}}(f). Furthermore, it is also straightforward to prove that for every (Xt,c,η,cˇ)(X_{t},c,\eta,\check{c})–coloring gg in Gt¬S{G_{t}}^{\lnot{S}}, the function gvg^{-v} is a (Xs,cv,ηv,cˇv)(X_{s},c^{-v},\eta^{\sim v},\check{c}^{-v})–coloring in Gs¬(S{v}){G_{s}}^{\lnot{(S-\{v\})}} and ω(v)wωv(gv)=wω(g)\omega(v)\oplus\textsc{w}_{\omega^{-v}}(g^{-v})=\textsc{w}_{\omega}(g). Therefore

λt(S,c,ω,η,cˇ)\displaystyle\lambda_{t}(S,c,\omega,\eta,\check{c})
=\displaystyle=\; min{wω(g):g is a (Xt,c,η,cˇ)–coloring in Gt¬S}\displaystyle\min\{\textsc{w}_{\omega}(g):\text{$g$ is a $(X_{t},c,\eta,\check{c})$--coloring in ${G_{t}}^{\lnot{S}}$}\}
=\displaystyle=\; min{ω(v)wωv(f):f is a (Xs,cv,ηv,cˇv)–coloring in Gs¬(S{v})}\displaystyle\min\{\omega(v)\oplus\textsc{w}_{\omega^{-v}}(f):\text{$f$ is a $(X_{s},c^{-v},\eta^{\sim v},\check{c}^{-v})$--coloring in ${G_{s}}^{\lnot{(S-\{v\})}}$}\}
=\displaystyle=\; ω(v)min{wωv(f):f is a (Xs,cv,ηv,cˇv)–coloring in Gs¬(S{v})}\displaystyle\omega(v)\oplus\min\{\textsc{w}_{\omega^{-v}}(f):\text{$f$ is a $(X_{s},c^{-v},\eta^{\sim v},\check{c}^{-v})$--coloring in ${G_{s}}^{\lnot{(S-\{v\})}}$}\}
=\displaystyle=\; ω(v)λs(S{v},cv,ωv,ηv,cˇv).\displaystyle\omega(v)\oplus\lambda_{s}(S-\{v\},c^{-v},\omega^{-v},\eta^{\sim v},\check{c}^{-v}).

Lemma 5.3.6 (Join node).

Let tt be a join node and rr and ss be the children of tt.

We say that a pair (ηr,ηs)(\eta_{r},\eta_{s}) of valid partial neighborhood mappings for cc is good if cˇv(η(v)v,c(v)ns(v,c,Gt¬S[Xt])v,c(v)ηr(v)v,c(v)ηs(v))\check{c}_{v}(\eta(v)\boxplus^{{v},{c(v)}}\textsc{ns}(v,c,{G_{t}}^{\lnot{S}}[X_{t}])\boxplus^{{v},{c(v)}}\eta_{r}(v)\boxplus^{{v},{c(v)}}\eta_{s}(v)) is true for all vXtv\in X_{t}.

Let W=vXtω(v)W=\bigoplus_{v\in X_{t}}\omega(v). Then

λt(S,c,ω,η,cˇ)=min(ηr,ηs) is good{Wλr(Xr,c,ωXre,ηce,cˇηr)λs(Xs,c,ωXse,ηce,cˇηs)}.\lambda_{t}(S,c,\omega,\eta,\check{c})=\min_{(\eta_{r},\eta_{s})\text{ is good}}\{W\oplus\lambda_{r}(X_{r},c,\omega^{e}_{X_{r}},\eta^{e}_{c},\check{c}^{\eta_{r}})\oplus\lambda_{s}(X_{s},c,\omega^{e}_{X_{s}},\eta^{e}_{c},\check{c}^{\eta_{s}})\}.
Proof.

Recall that Xt=Xr=XsX_{t}=X_{r}=X_{s}.

For every color assignment ff valid in V(Gt¬S)V({G_{t}}^{\lnot{S}}), denote by f|rf|_{r} (resp. f|sf|_{s}) the restriction of ff to V(Gr¬Xr)V({G_{r}}^{\lnot{X_{r}}}) (resp. V(Gs¬Xs)V({G_{s}}^{\lnot{X_{s}}})). Let W=vXtω(v)W=\bigoplus_{v\in X_{t}}\omega(v). Notice that wω(f)=WwωXre(f|r)wωXse(f|s)\textsc{w}_{\omega}(f)=W\oplus\textsc{w}_{\omega_{X_{r}}^{e}}(f|_{r})\oplus\textsc{w}_{\omega_{X_{s}}^{e}}(f|_{s}) for every color assignment ff valid in V(Gt¬S)V({G_{t}}^{\lnot{S}}).

Suppose there exists a (Xt,c,η,cˇ)(X_{t},c,\eta,\check{c})–coloring in Gt¬S{G_{t}}^{\lnot{S}} and let ff be one of them. Let ηr\eta_{r} and ηs\eta_{s} be functions of domain XtX_{t} such that ηr(v)=ns(v,f,Gr¬Xr)\eta_{r}(v)=\textsc{ns}(v,f,{G_{r}}^{\lnot{X_{r}}}) and ηs(v)=ns(v,f,Gs¬Xs)\eta_{s}(v)=\textsc{ns}(v,f,{G_{s}}^{\lnot{X_{s}}}) for all vXtv\in X_{t}.

Since V(Gr¬Xr)V(Gs¬Xs)=XtV({G_{r}}^{\lnot{X_{r}}})\cap V({G_{s}}^{\lnot{X_{s}}})=X_{t} then V(Gr¬Xr)V(Gs¬Xs)NG¬Xt(v)=V({G_{r}}^{\lnot{X_{r}}})\cap V({G_{s}}^{\lnot{X_{s}}})\cap N_{{G}^{\lnot{X_{t}}}}(v)=\emptyset. Moreover, since ff is a (Xt,c,η,cˇ)(X_{t},c,\eta,\check{c})–coloring in Gt¬S{G_{t}}^{\lnot{S}} then we know that, for all vXtv\in X_{t}, ns(v,c,Gt¬S[Xt])v,c(v)ηr(v)v,c(v)ηs(v)=ns(v,f,Gt¬S)\textsc{ns}(v,c,{G_{t}}^{\lnot{S}}[X_{t}])\boxplus^{{v},{c(v)}}\eta_{r}(v)\boxplus^{{v},{c(v)}}\eta_{s}(v)=\textsc{ns}(v,f,{G_{t}}^{\lnot{S}}) and thus cˇv(η(v)v,c(v)ns(v,c,Gt¬S[Xt])v,c(v)ηr(v)v,c(v)ηs(v))=True\check{c}_{v}(\eta(v)\boxplus^{{v},{c(v)}}\textsc{ns}(v,c,{G_{t}}^{\lnot{S}}[X_{t}])\boxplus^{{v},{c(v)}}\eta_{r}(v)\boxplus^{{v},{c(v)}}\eta_{s}(v))=\textsc{True}. Therefore, the functions ηr\eta_{r} and ηs\eta_{s} form a good pair of valid partial neighborhood mappings for cc.

It is straightforward to prove that f|rf|_{r} is a (Xr,c,ηce,cˇηr)(X_{r},c,\eta^{e}_{c},\check{c}^{\eta_{r}})–coloring in Gr¬Xr{G_{r}}^{\lnot{X_{r}}}, and that f|sf|_{s} is a (Xs,c,ηce,cˇηs)(X_{s},c,\eta^{e}_{c},\check{c}^{\eta_{s}})–coloring in Gs¬Xs{G_{s}}^{\lnot{X_{s}}}. Hence,

wω(f)\displaystyle\textsc{w}_{\omega}(f) =WwωXre(f|r)wωXse(f|s)\displaystyle=W\oplus\textsc{w}_{\omega_{X_{r}}^{e}}(f|_{r})\oplus\textsc{w}_{\omega_{X_{s}}^{e}}(f|_{s})
Wλr(Xr,c,ωXre,ηce,cˇηr)λs(Xs,c,ωXse,ηce,cˇηs)\displaystyle\geq W\oplus\lambda_{r}(X_{r},c,\omega_{X_{r}}^{e},\eta^{e}_{c},\check{c}^{\eta_{r}})\oplus\lambda_{s}(X_{s},c,\omega_{X_{s}}^{e},\eta^{e}_{c},\check{c}^{\eta_{s}})
min(ηr,ηs) is good{Wλr(Xr,c,ωXre,ηce,cˇηr)λs(Xs,c,ωXse,ηce,cˇηs)}.\displaystyle\geq\min_{(\eta_{r},\eta_{s})\text{ is good}}\{W\oplus\lambda_{r}(X_{r},c,\omega^{e}_{X_{r}},\eta^{e}_{c},\check{c}^{\eta_{r}})\oplus\lambda_{s}(X_{s},c,\omega^{e}_{X_{s}},\eta^{e}_{c},\check{c}^{\eta_{s}})\}.

Since min{wω(f):f is a (Xt,c,η,cˇ)–coloring in Gt¬S}=Error\min\{\textsc{w}_{\omega}(f):\text{$f$ is a $(X_{t},c,\eta,\check{c})$--coloring in ${G_{t}}^{\lnot{S}}$}\}=\textsc{Error} if there are no (Xt,c,η,cˇ)(X_{t},c,\eta,\check{c})–colorings in Gt¬S{G_{t}}^{\lnot{S}}, we obtain

λt(S,c,ω,η,cˇ)\displaystyle\lambda_{t}(S,c,\omega,\eta,\check{c})
=\displaystyle=\; min{wω(f):f is a (Xt,c,η,cˇ)–coloring in Gt¬S}\displaystyle\min\{\textsc{w}_{\omega}(f):\text{$f$ is a $(X_{t},c,\eta,\check{c})$--coloring in ${G_{t}}^{\lnot{S}}$}\}
\displaystyle\geq\; min(ηr,ηs) is good{Wλr(Xr,c,ωXre,ηce,cˇηr)λs(Xs,c,ωXse,ηce,cˇηs)}.\displaystyle\min_{(\eta_{r},\eta_{s})\text{ is good}}\{W\oplus\lambda_{r}(X_{r},c,\omega^{e}_{X_{r}},\eta^{e}_{c},\check{c}^{\eta_{r}})\oplus\lambda_{s}(X_{s},c,\omega^{e}_{X_{s}},\eta^{e}_{c},\check{c}^{\eta_{s}})\}.

To conclude, we will show that the other inequality holds.

If min(ηr,ηs) is good{Wλr(Xr,c,ωXre,ηce,cˇηr)λs(Xs,c,ωXse,ηce,cˇηs)}=Error\min_{(\eta_{r},\eta_{s})\text{ is good}}\{W\oplus\lambda_{r}(X_{r},c,\omega^{e}_{X_{r}},\eta^{e}_{c},\check{c}^{\eta_{r}})\oplus\lambda_{s}(X_{s},c,\omega^{e}_{X_{s}},\eta^{e}_{c},\check{c}^{\eta_{s}})\}=\textsc{Error} then the statement trivially holds. Otherwise, the minimum is realized by a good pair (η^r,η^s)(\widehat{\eta}_{r},\widehat{\eta}_{s}), and λr(Xr,c,ωXre,ηce,cˇη^r)Error\lambda_{r}(X_{r},c,\omega^{e}_{X_{r}},\eta^{e}_{c},\check{c}^{\widehat{\eta}_{r}})\neq\textsc{Error} and λs(Xs,c,ωXse,ηce,cˇη^s)Error\lambda_{s}(X_{s},c,\omega^{e}_{X_{s}},\eta^{e}_{c},\check{c}^{\widehat{\eta}_{s}})\neq\textsc{Error}. Therefore there exists a (Xr,c,ηce,cˇη^r)(X_{r},c,\eta^{e}_{c},\check{c}^{\widehat{\eta}_{r}})–coloring fr^\widehat{f_{r}} in Gr¬Xr{G_{r}}^{\lnot{X_{r}}} and a (Xs,c,ηce,cˇη^s)(X_{s},c,\eta^{e}_{c},\check{c}^{\widehat{\eta}_{s}})–coloring fs^\widehat{f_{s}} in Gs¬Xs{G_{s}}^{\lnot{X_{s}}} such that wωXre(fr^)=λr(Xr,c,ωXre,ηce,cˇη^r)\textsc{w}_{\omega_{X_{r}}^{e}}(\widehat{f_{r}})=\lambda_{r}(X_{r},c,\omega^{e}_{X_{r}},\eta^{e}_{c},\check{c}^{\widehat{\eta}_{r}}) and wωXse(fs^)=λs(Xs,c,ωXse,ηce,cˇη^s)\textsc{w}_{\omega_{X_{s}}^{e}}(\widehat{f_{s}})=\lambda_{s}(X_{s},c,\omega^{e}_{X_{s}},\eta^{e}_{c},\check{c}^{\widehat{\eta}_{s}}).

Let f^\widehat{f} be a function of domain V(Gt¬S)V({G_{t}}^{\lnot{S}}) such that

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    f^(v)=c(v)\widehat{f}(v)=c(v) for all vXtv\in X_{t},

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    f^(v)=fr^(v)\widehat{f}(v)=\widehat{f_{r}}(v) for all vV(Gr¬Xr)Xrv\in V({G_{r}}^{\lnot{X_{r}}})-X_{r}, and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    f^(v)=fs^(v)\widehat{f}(v)=\widehat{f_{s}}(v) for all vV(Gs¬Xs)Xsv\in V({G_{s}}^{\lnot{X_{s}}})-X_{s}.

It is straightforward to prove that f^\widehat{f} is a (Xt,c,η,cˇ)(X_{t},c,\eta,\check{c})–coloring in Gt¬S{G_{t}}^{\lnot{S}}, and also that fr^\widehat{f_{r}} (resp. fs^\widehat{f_{s}}) is the restriction of f^\widehat{f} to V(Gr¬Xr)V({G_{r}}^{\lnot{X_{r}}}) (resp. V(Gs¬Xs)V({G_{s}}^{\lnot{X_{s}}})). Therefore,

min(ηr,ηs) is good{Wλr(Xr,c,ωXre,ηce,cˇηr)λs(Xs,c,ωXse,ηce,cˇηs)}\displaystyle\min_{(\eta_{r},\eta_{s})\text{ is good}}\{W\oplus\lambda_{r}(X_{r},c,\omega^{e}_{X_{r}},\eta^{e}_{c},\check{c}^{\eta_{r}})\oplus\lambda_{s}(X_{s},c,\omega^{e}_{X_{s}},\eta^{e}_{c},\check{c}^{\eta_{s}})\}
=\displaystyle=\; Wλr(Xr,c,ωXre,ηce,cˇη^r)λs(Xs,c,ωXse,ηce,cˇη^s)\displaystyle W\oplus\lambda_{r}(X_{r},c,\omega^{e}_{X_{r}},\eta^{e}_{c},\check{c}^{\widehat{\eta}_{r}})\oplus\lambda_{s}(X_{s},c,\omega^{e}_{X_{s}},\eta^{e}_{c},\check{c}^{\widehat{\eta}_{s}})
=\displaystyle=\; WwωXre(fr^)wωXse(fs^)\displaystyle W\oplus\textsc{w}_{\omega_{X_{r}}^{e}}(\widehat{f_{r}})\oplus\textsc{w}_{\omega_{X_{s}}^{e}}(\widehat{f_{s}})
=\displaystyle=\; wω(f^)\displaystyle\textsc{w}_{\omega}(\widehat{f})
\displaystyle\geq\; min{wω(f):f is a (Xt,c,η,cˇ)–coloring in Gt¬S}\displaystyle\min\{\textsc{w}_{\omega}(f):\text{$f$ is a $(X_{t},c,\eta,\check{c})$--coloring in ${G_{t}}^{\lnot{S}}$}\}
=\displaystyle=\; λt(S,c,ω,η,cˇ).\displaystyle\lambda_{t}(S,c,\omega,\eta,\check{c}).

Consequently,

λt(S,c,ω,η,cˇ)=min(ηr,ηs) is good{Wλr(Xr,c,ωXre,ηce,cˇηr)λs(Xs,c,ωXse,ηce,cˇηs)}.\lambda_{t}(S,c,\omega,\eta,\check{c})=\min_{(\eta_{r},\eta_{s})\text{ is good}}\{W\oplus\lambda_{r}(X_{r},c,\omega^{e}_{X_{r}},\eta^{e}_{c},\check{c}^{\eta_{r}})\oplus\lambda_{s}(X_{s},c,\omega^{e}_{X_{s}},\eta^{e}_{c},\check{c}^{\eta_{s}})\}.

Then there is a simple algorithm to compute λ\lambda. Indeed, based on the recurrence given in lemmas 5.3.3, 5.3.4, 5.3.5 and 5.3.6, the algorithm is executed in a bottom-up fashion (that is, first for all the leaf nodes, then for their parents, and so on) by computing λt(S,c,ω,η,cˇ)Weights\lambda_{t}(S,c,\omega,\eta,\check{c})\in\textsc{Weights} for every node tt and every (S,c,ω,η,cˇ)𝒟t(S,c,\omega,\eta,\check{c})\in\mathcal{D}_{t}. Finally, the result is obtained by finding the minimum among all λr(,c,ω,ηce,cˇ)\lambda_{r}(\emptyset,c,\omega,\eta^{e}_{c},\check{c}) such that rr is the root of TT, cc is a color assignment valid in XrX_{r}, ω:XrWeights\omega\colon X_{r}\to\textsc{Weights} is such that ω(v)=wv,c(v)\omega(v)=\textsc{w}_{v,c(v)} for all vXrv\in X_{r}, and cˇv=checkv,c(v)\check{c}_{v}=check_{v,c(v)} for all vXrv\in X_{r}.

5.4. Time complexity

Let k=max{|Xt|:tV(T)}k=\max\{|X_{t}|:t\in V(T)\}, 𝒩=max{|𝒩v,i|:vV(G),iLv}\mathcal{N}=\max\{|\mathcal{N}_{{v},{i}}|:v\in V(G),i\in L_{v}\} and 𝒞=max{|Lv|:vV(G)}\mathcal{C}=\max\{|L_{v}|:v\in V(G)\}. Let tcˇt_{\check{c}}, tt_{\boxplus}, tnewNt_{newN}, tt_{\oplus}, and tmint_{\min} be upper bounds for the executing time of all the functions checkv,icheck_{v,i} and eqneq_{n}, v,i\boxplus^{{v},{i}}, newNv,i{newN}_{{v},{i}}, \oplus, and min\min, respectively. Other operations are assumed to run in constant time. In particular, we are assuming that we access wv,i\textsc{w}_{v,i} in constant time.

Traversing the tree TT requires O(|V(T)|)O(|V(T)|) time. In O(k2|V(T)|+k|E(G)|)O(k^{2}|V(T)|+k|E(G)|) time we can construct the adjacency matrices of all the graphs G[Xt]G[X_{t}] with tV(T)t\in V(T) (by traversing TT top-down and computing NGt(v)XtN_{G_{t}}(v)\cap X_{t} only for nodes tt that are the child of a forget nodes ss with XtXs={v}X_{t}-X_{s}=\{v\}). Also, in O(k)O(k) time we can construct each of the necessary function extensions and restrictions, and in O((t+tnewN)k)O((t_{\boxplus}+t_{newN})k) we can construct each of the necessary ηv\eta^{\sim v}.

We analyze four separate cases, and the proof in each one of them is straightforward.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Leaf node: O(tcˇ)O(t_{\check{c}})

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Forget node: O(k2+(k+tmin)𝒞)O(k^{2}+(k+t_{\min})\mathcal{C})

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Introduce node: O((t+tnewN)k+tcˇ+t+k2)O((t_{\boxplus}+t_{newN})k+t_{\check{c}}+t_{\oplus}+k^{2})

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Join node: O((t+tnewN)k2+tk+((t+tcˇ)k+t+tmin)𝒩2k)O((t_{\boxplus}+t_{newN})k^{2}+t_{\oplus}k+((t_{\boxplus}+t_{\check{c}})k+t_{\oplus}+t_{\min})\mathcal{N}^{2k})

Each one of them is computed for every possible tuple (S,c,ω,η,cˇ)(S,c,\omega,\eta,\check{c}). We know that there are no more than 2k𝒞k2k𝒩k(1+𝒩)k2^{k}\cdot\mathcal{C}^{k}\cdot 2^{k}\cdot\mathcal{N}^{k}\cdot(1+\mathcal{N})^{k} of such tuples, and that constructing each of them requires O(k)O(k) operations.

In summary, the time complexity of this algorithm is O((tk+(k+tmin)𝒞+(t+tnewN)k2+((t+tcˇ)k+t+tmin)𝒩2k)4k𝒞k𝒩k(𝒩+1)kk|V(T)|+k|E(G)|)O((t_{\oplus}k+(k+t_{\min})\mathcal{C}+(t_{\boxplus}+t_{newN})k^{2}+((t_{\boxplus}+t_{\check{c}})k+t_{\oplus}+t_{\min})\mathcal{N}^{2k})4^{k}\mathcal{C}^{k}\mathcal{N}^{k}(\mathcal{N}+1)^{k}k|V(T)|+k|E(G)|).

5.5. Special cases

The next result easily follows from the previous time complexity analysis, Proposition 2.5.1, Theorem 2.5.6 and Theorem 2.5.7.

Theorem 5.5.1.

Let \mathcal{F} be a family of graphs of bounded treewidth. Consider a family of instances of a 11-locally checkable problem with a polynomial partial neighborhood system, where

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    GG\in\mathcal{F},

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    𝒞=max{|Lv|:vV(G)}\mathcal{C}=\max\{|L_{v}|:v\in V(G)\} is polynomial in the input size, and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    the functions \oplus and min\min can be computed in polynomial time.

Then there exists an algorithm that solves these instances in polynomial time. Furthermore, if we have a constant partial neighborhood system, 𝒞\mathcal{C} is bounded by a constant, and the functions \oplus and min\min can be computed in constant time, then the time complexity of such algorithm is O(|V(G)|)O(|V(G)|).

In particular, this result, together with Table 2, implies that all the problems listed in Table 1 can be solved in O(|V(G)|)O(|V(G)|) time. For other problems, under certain hypothesis we can give a more generic polynomial partial neighborhood system, hence the next result.

Corollary 5.5.2.

Let \mathcal{F} be a family of graphs of bounded treewidth. Consider a family of instances of a 11-locally checkable problem where

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    GG\in\mathcal{F},

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    |vV(G)Lv||\bigcup_{v\in V(G)}L_{v}| is bounded by a constant,

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    \oplus and min\min can be computed in polynomial time, and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(v,c)check(v,c) can be computed in polynomial time and only depends on vv, c(v)c(v) and the number of neighbors of each color that vv has.

Then, for such instances, the problem can be solved in polynomial time.

Proof.

For each instance, let Colors=vV(G)Lv\textsc{Colors}=\bigcup_{v\in V(G)}L_{v} and define the following partial neighborhood system:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    𝒩v,i=[[0,dG(v)]]|Colors|\mathcal{N}_{{v},{i}}=[\![0,d_{G}(v)]\!]^{|\textsc{Colors}|};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    (nv,in)j=min(nj+nj,dG(v))(n\boxplus^{{v},{i}}n^{\prime})_{j}=\min(n_{j}+n^{\prime}_{j},d_{G}(v)) for all jColorsj\in\textsc{Colors};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    newNv,i(u,j)j=1{newN}_{{v},{i}}(u,j)_{j}=1 and
    newNv,i(u,j)h=0{newN}_{{v},{i}}(u,j)_{h}=0 for all hColors{j}h\in\textsc{Colors}-\{j\};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    checkv,i(n)=check(v,c)check_{v,i}(n)=check(v,c) where cc is any color assignment valid in NG[v]N_{G}[v] such that c(v)=ic(v)=i and |{u:uNG(v)c(u)=j}|=nj|\{u:u\in N_{G}(v)\land c(u)=j\}|=n_{j} for all jColorsj\in\textsc{Colors}. Note that we can construct cc in polynomial time using flow algorithms.

By Theorem 5.5.1, the statement holds. ∎

5.6. LCVP problems

In Section 3.2 we have seen how to model the problem of deciding if GG has a DqD_{q} partition as a 11-locally checkable problem, and now we extend it with a partial neighborhood system. Let m(S)m(S) be the maximum of SS if SS is finite, or the maximum of S¯\overline{S} if SS is co-finite. Then

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    𝒩v,i\mathcal{N}_{{v},{i}} is the Cartesian product of the sets [[1,m(Dq[i,j])+1]][\![1,m(D_{q}[i,j])+1]\!] for all 1jq1\leq j\leq q;

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    nv,inn\boxplus^{{v},{i}}n^{\prime} is such that (nv,in)j=min(nj+nj,m(Dq[i,j])+1)(n\boxplus^{{v},{i}}n^{\prime})_{j}=\min(n_{j}+n^{\prime}_{j},m(D_{q}[i,j])+1) for all 1jq1\leq j\leq q;

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    newNv,i(u,j){newN}_{{v},{i}}(u,j) is the tuple such that its jjth entry is 1 and all its other entries are 0; and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    checkv,i(n)=(j[[1,q]].njDq[i,j])check_{v,i}(n)=\left(\forall j\in[\![1,q]\!].\,n_{j}\in D_{q}[i,j]\right).

Therefore, with the algorithm in Section 5.3, we can solve LCVP problems in bounded treewidth graphs in O(qc|V(G)|)O(q^{c}|V(G)|) time, for some constant cc (which equals k+2k+2 if kk is the width of a given tree-decomposition of GG). This recovers the results obtained by Telle in [61].

6. rr-locally checkable problems in bounded treewidth and bounded degree graphs

Recall the partial neighborhood system defined in Remark 5.1.2, for which 𝒩(𝒞+2)Δ(G)\mathcal{N}\leq(\mathcal{C}+2)^{\Delta(G)}. Hence, the next result easily follows from Theorem 5.5.1.

Corollary 6.0.1.

Let \mathcal{F} be a family of graphs of bounded treewidth and bounded degree. Then for any 11-locally checkable problem with input graph GG\in\mathcal{F}, 𝒞\mathcal{C} polynomial in the input size, and all functions checkcheck, min\min and \oplus computable in polynomial time, there exists a polynomial-time algorithm that solves it.

Furthermore, the next lemma shows that fixed powers of bounded treewidth and bounded degree graphs are also bounded treewidth and bounded degree graphs, therefore extending the results of the previous sections to more problems in these graph classes.

Lemma 6.0.2.

Let GG be a graph and p2p\geq 2. Then

Δ(G)Δ(Gp)Δ(G)p\Delta(G)\leq\Delta(G^{p})\leq\Delta(G)^{p}

and

max(tw(G),Δ(G))tw(Gp)(tw(G)+1)(Δ(G)+1)p21.\max(tw(G),\Delta(G))\leq tw(G^{p})\leq(tw(G)+1)(\Delta(G)+1)^{\lceil\frac{p}{2}\rceil}-1.
Proof.

The inequality Δ(G)Δ(Gp)Δ(G)p\Delta(G)\leq\Delta(G^{p})\leq\Delta(G)^{p} follows easily from the definition of power of a graph. Let vv be a vertex of GG of maximum degree. In GpG^{p}, the graph induced by NG[v]N_{G}[v] is a clique of size Δ(G)+1\Delta(G)+1 and, by Theorem 2.5.3, we get that tw(Gp)Δ(G)tw(G^{p})\geq\Delta(G). Since GG is a subgraph of GpG^{p} and by Proposition 2.5.2, we have tw(Gp)tw(G)tw(G^{p})\geq tw(G).

Now assume (T,{Xt}tV(T))(T,\{X_{t}\}_{t\in V(T)}) is a tree decomposition of GG. For every tV(T)t\in V(T), let YtY_{t} be the set of vertices that are at distance less than or equal to p2\lceil\frac{p}{2}\rceil from a vertex of XtX_{t}. We will prove that (T,{Yt}tV(T))(T,\{Y_{t}\}_{t\in V(T)}), is a tree decomposition of GpG^{p}.

Clearly, tV(T)Yt=V(G)=V(Gp)\bigcup_{t\in V(T)}Y_{t}=V(G)=V(G^{p}), so property (W1) holds.

Let u,vu,v be two vertices that are neighbors in GpG^{p}. If they are also neighbors in GG, then there exists a bag XtX_{t} that contains both of the vertices and since XtYtX_{t}\subseteq Y_{t}, we get that property (W2) holds in this case. If not, there exists a vertex ww that is at distance at most p2\lceil\frac{p}{2}\rceil from both uu and vv in GG. Therefore, since there exists a bag XtX_{t} that contains ww, this implies that wYtw\in Y_{t} (because XtYtX_{t}\subseteq Y_{t}) and u,vYtu,v\in Y_{t} (because u,vu,v are at distance at most p2\lceil\frac{p}{2}\rceil from wXtw\in X_{t}). Consequently, property (W2) also holds in this remaining case.

Now we will prove that (W3) holds. For all uV(G)u\in V(G), let TuX=T[{tV(T):uXt}]T^{X}_{u}=T[\{t\in V(T):u\in X_{t}\}] and TuY=T[{tV(T):uYt}]T^{Y}_{u}=T[\{t\in V(T):u\in Y_{t}\}]. Applying property (W3) to (T,{Xt}tV(T))(T,\{X_{t}\}_{t\in V(T)}), we obtain that TuXT^{X}_{u} is a subtree of TT for every uV(G)u\in V(G). Let vV(G)v\in V(G). We will prove that TvYT^{Y}_{v} is connected. By definition of the bags YtY_{t}, we know that vYtv\in Y_{t} if and only if tV(TvX)t\in V(T^{X}_{v}) or tV(TuX)t\in V(T^{X}_{u}) for some uu such that d(v,u)p2d(v,u)\leq\lceil\frac{p}{2}\rceil. Let tV(TvX)t\in V(T^{X}_{v}). Notice that in order to prove that TvYT^{Y}_{v} is connected it is sufficient to prove that there exists a path in TT between tt and every sV(TvY)V(TvX)s\in V(T^{Y}_{v})-V(T^{X}_{v}). Let sV(TvY)V(TvX)s\in V(T^{Y}_{v})-V(T^{X}_{v}) and let vsYsv_{s}\in Y_{s} be such that d(v,vs)p2d(v,v_{s})\leq\lceil\frac{p}{2}\rceil. Since TuXT^{X}_{u} is a subtree of TT for every uV(G)u\in V(G), and V(TuX)V(TwX)V(T^{X}_{u})\cap V(T^{X}_{w})\neq\emptyset for all uwE(G)uw\in E(G) (because of property (W2) applied to (T,{Xt}tV(T))(T,\{X_{t}\}_{t\in V(T)}) and the edge uwuw), and there exists a path in GG between vv and vsv_{s}, we get that there exists a path in TT between tt and ss. Therefore (W3) holds for (T,{Yt}tV(T))(T,\{Y_{t}\}_{t\in V(T)}).

Since every bag YtY_{t} has at most (tw(G)+1)(Δ(G)+1)p2(tw(G)+1)(\Delta(G)+1)^{\lceil\frac{p}{2}\rceil} vertices, we obtain tw(Gp)(tw(G)+1)(Δ(G)+1)p21tw(G^{p})\leq(tw(G)+1)(\Delta(G)+1)^{\lceil\frac{p}{2}\rceil}-1. ∎

Directly from Lemma 6.0.2 and Corollary 6.0.1, by reducing the problem to a 11-locally checkable problem in GrG^{r}, the next result easily follows.

Corollary 6.0.3.

Let \mathcal{F} be a family of graphs of bounded treewidth and bounded degree. Then, for any rr-locally checkable problem with GG\in\mathcal{F}, 𝒞\mathcal{C} polynomial in the input size, and all functions checkcheck, min\min and \oplus computable in polynomial time, there exists a polynomial-time algorithm that solves it.

As a result, the algorithm of Section 5 can be instantiated to solve, in polynomial time for bounded treewidth and bounded degree graphs, distance coloring problems [18, 39, 19, 38, 60, 36, 14, 30], distance independence [29], distance domination problems [43], and distance LCVP problems [48], for bounded distances.

A similar result has been obtained by Jaffke, Kwon, Strømme and Telle for the distance versions of the LCVP problems in bounded MIM-width graphs [48].

7. Dealing with global properties in bounded treewidth graphs

In this section we explain how to modify the previous algorithm in order to handle some global properties. The general idea in all of these cases is to modify λt\lambda_{t} by extending it with new parameters (that is, at each node tt we compute λt(S,c,ω,η,cˇ,)\lambda_{t}(S,c,\omega,\eta,\check{c},\ldots)). For simplicity, in the following subsections we omit some parts of the original algorithm, writing only the necessary changes.

7.1. The size of a color class is an element of a particular set

Suppose we want the class of color jj to have a size that is an element of a set σ0\sigma\subseteq\mathbb{N}_{0}.

Consider a deterministic finite-state automaton (Q,{1},δ,q0,F)(Q,\{1\},\delta,q_{0},F) that accepts a string of nn consecutive characters 11 if and only if nσn\in\sigma. Notice that for all finite sets σ0\sigma\subseteq\mathbb{N}_{0} there exists such an automaton: let mm be the maximum element of σ\sigma, Q={s0,,sm+1}Q=\{s_{0},\ldots,s_{m+1}\}, q0=s0q_{0}=s_{0}, F={si:iσ}F=\{s_{i}:i\in\sigma\}, and δ(si,1)=si+1\delta(s_{i},1)=s_{i+1} for all 0im0\leq i\leq m and δ(sm+1,1)=sm+1\delta(s_{m+1},1)=s_{m+1}. Although, for time complexity issues, when mm is not a constant we might be interested in another automata, with constant number of states (for example, if σ\sigma is the set of odd numbers in [[0,|V(G)|]][\![0,|V(G)|]\!], we only need two states).

In the algorithm, at each node tt, we add a parameter statejstate_{j} that stores the state of the partial size of the color class jj, and also a parameter acceptjaccept_{j} that checks if we are in the desired state, and then proceed in the following way.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Leaf node: Now we also need to check if acceptj(statej)accept_{j}(state_{j}) is true.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Forget node: For all iLvi\in L_{v}, let stateji=statejstate_{j}^{i}=state_{j} if iji\neq j and stateji=δ(statej,1)state_{j}^{i}=\delta(state_{j},1) otherwise. Then

    λt(,statej,acceptj)=min{λs(,stateji,acceptj):iLv}.\lambda_{t}(\ldots,state_{j},accept_{j})=\min\{\lambda_{s}(\ldots,state_{j}^{i},accept_{j}):i\in L_{v}\}.
  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Introduce node: Remains the same (with statejstate_{j} and acceptjaccept_{j} added to λs\lambda_{s}).

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Join node: For all qQq\in Q, let eqq:QBooleq_{q}\colon Q\to\textsc{Bool} be such that eqq(q)=(q=q)eq_{q}(q^{\prime})=(q=q^{\prime}) for all qQq^{\prime}\in Q. Then

    λt(,statej,acceptj)=min{Wλr(,statej,eqq)λs(,q,acceptj):qQ}.\lambda_{t}(\ldots,state_{j},accept_{j})=\min\{W\oplus\lambda_{r}(\ldots,state_{j},eq_{q})\oplus\lambda_{s}(\ldots,q,accept_{j}):q\in Q\land\ldots\}.
  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    At the root rr where Xr={v}X_{r}=\{v\}, we compute all λr(,sr,a)\lambda_{r}(\ldots,s_{r},a), with aa such that a(s)=(sF)a(s)=(s\in F), and sr=q0s_{r}=q_{0} if c(v)jc(v)\neq j and sr=δ(q0,1)s_{r}=\delta(q_{0},1) otherwise.

Note that it is easy to generalize this idea to more classes by simply adding as many statejstate_{j} and acceptjaccept_{j} as needed (each of them with its own automaton), and even to a set JJ of classes by replacing statements of the form “iji\neq j” with “iJi\notin J”.

The time complexity now depends on the number of states and color classes to restrict. We can assume that checking if a state is an accepting one is a constant-time operation and so is computing δ(s,1)\delta(s,1). Let \mathcal{R} be the number of color classes (or sets of color classes) to restrict and let 𝒮\mathcal{S} be the size of the largest set of states among all considered automata. The only changes in complexity are:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Leaf node: add \mathcal{R}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Forget node: add 2𝒞2\mathcal{R}\mathcal{C}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Introduce node: add 22\mathcal{R}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Join node: multiply by 𝒮\mathcal{S}^{\mathcal{R}}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    When we multiply by the number of all possible combinations of the parameters of λt\lambda_{t}: add a factor (𝒮(𝒮+1))(\mathcal{S}(\mathcal{S}+1))^{\mathcal{R}}.

In particular, the complexity of the algorithm remains polynomial in |V(G)||V(G)| if \mathcal{R} is bounded by a constant, allowing us to, for example, ask for a color class to be non-empty or to have at most one element.

7.2. LCC-like properties

Let (M,)(M,\oplus) be a commutative monoid. Suppose we want to satisfy an expression of the form vV(G)f(v,c)X\bigoplus_{v\in V(G)}f(v,c)\in X for some XMX\subseteq M and function ff that receives a vertex vv and a color assignment valid in NG[v]N_{G}[v]. For all VV(G)V\subseteq V(G), let M(V)M(V) be the set of different values that vVf(v,c)\bigoplus_{v\in V}f(v,c) can have. Assume that, for every VV(G)V\subseteq V(G), |M(V)||M(V)| is bounded by some polynomial in the size of the input. Also assume that computing xyx\oplus y and xXx\in X can be done in polynomial time for all x,yMx,y\in M and XMX\subseteq M.

Let (M,)(M^{*},\oplus^{*}) be obtained by adding an absorbing element EE^{*} to (M,)(M,\oplus), and let ee^{*} be the neutral element. Consider other items similar to the partial neighborhood system for checkcheck, but for ff:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    A set 𝒩v,i~\widetilde{\mathcal{N}_{{v},{i}}}, for every vV(G)v\in V(G) and iLvi\in L_{v}, together with a closed binary operation ~v,i\widetilde{\boxplus}^{v,i} on 𝒩v,i~\widetilde{\mathcal{N}_{{v},{i}}} that is commutative and associative and has a neutral element e~v,i\widetilde{e}_{v,i}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    A function newNv,i~\widetilde{{newN}_{{v},{i}}}, for every vV(G)v\in V(G) and iLvi\in L_{v}, that given uNG(v)u\in N_{G}(v) and jLuj\in L_{u} returns an element of 𝒩v,i~\widetilde{\mathcal{N}_{{v},{i}}}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    A function fv,i:𝒩v,i~Mf_{v,i}\colon\widetilde{\mathcal{N}_{{v},{i}}}\to M, for every vV(G)v\in V(G) and iLvi\in L_{v}. This function must satisfy fv,c(v)(\scalerel~uNG(v)v,c(v)newN~v,c(v)(u,c(u)))=f(v,c)f_{v,c(v)}\left(\widetilde{\operatorname*{\scalerel*{\boxplus}{\sum}}}^{v,c(v)}_{u\in N_{G}(v)}\widetilde{newN}_{v,c(v)}(u,c(u))\right)=f(v,c) for every vertex vV(G)v\in V(G) and every color assignment cc valid in NG[v]N_{G}[v].

In the algorithm, at each node tt, we add to λt\lambda_{t} the following parameters: xx, that stores the state of a partial accumulation of values f(v,c)f(v,c); acceptaccept, that checks if we are in the desired state (similar to the idea in the previous subsection); η~\widetilde{\eta}, that carries the values of the “partial neighborhood for ff” of the vertices in XtX_{t}; and f~\widetilde{f}, that behaves like cˇ\check{c} except that instead of providing functions of codomain Bool, it provides functions of codomain MM^{*}. Then proceed in the following way.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Leaf node: Now we also need to check if accept(xf~v(η~(v)))accept(x\oplus^{*}\widetilde{f}_{v}(\widetilde{\eta}(v))) is true.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Forget node:

    λt(,x,accept,η~,f~)=min{λs(,x,accept,η~ve~v,i,f~vfv,i):iLv}.\lambda_{t}(\ldots,x,accept,\widetilde{\eta},\widetilde{f})=\min\{\lambda_{s}(\ldots,x,accept,\widetilde{\eta}^{v\rightarrow\widetilde{e}_{v,i}},\widetilde{f}^{v\rightarrow f_{v,i}}):i\in L_{v}\}.
  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Introduce node: Accumulate in xx the value of f~v(η~(v))\widetilde{f}_{v}(\widetilde{\eta}(v)), remove vv from the domain of the new functions, and compute the new partial neighborhoods of the vertices in XsX_{s}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Join node: For all mMm\in M, let eqm:MBooleq_{m}\colon M\to\textsc{Bool} be such that eqm(m)=(m=m)eq_{m}(m^{\prime})=(m=m^{\prime}) for all mMm^{\prime}\in M. For all η~\widetilde{\eta}, let f~η~\widetilde{f}^{\widetilde{\eta}} be the function defined as f~vη~(n)=e\widetilde{f}^{\widetilde{\eta}}_{v}(n)=e^{*} if n=η~(v)n=\widetilde{\eta}(v) and f~vη~(n)=E\widetilde{f}^{\widetilde{\eta}}_{v}(n)=E^{*} otherwise. For all XV(G)X\subseteq V(G) and color assignment cc valid in XX, let η~ce~\widetilde{\eta}_{c}^{\widetilde{e}} be the function of domain XX such that η~ce~(v)=e~v,c(v)\widetilde{\eta}_{c}^{\widetilde{e}}(v)=\widetilde{e}_{v,c(v)} for all vXv\in X. For all HH subgraph of GG and all color assignment cc valid in V(H)V(H), let ns~(v,c,H)=\scalerel~uNH(v)v,c(v)newN~v,c(v)(u,c(u))\widetilde{\textsc{ns}}(v,c,H)=\widetilde{\operatorname*{\scalerel*{\boxplus}{\sum}}}^{v,c(v)}_{u\in N_{H}(v)}\widetilde{newN}_{v,c(v)}(u,c(u)) for all vV(H)v\in V(H). Then

    λt(,x,accept,η~,f~)=min{Wλr(,e,eqmr,η~ce~,f~η~r)λs(,e,eqms,η~ce~,f~η~s):mrM(V(Gr)Xr)msM(V(Gs)Xs)accept((vXtf~v(η~(v)~v,c(v)η~r(v)~v,c(v)η~s(v)~v,c(v)ns~(v,c,Gt¬S[Xt])))x)}.\lambda_{t}(\ldots,x,accept,\widetilde{\eta},\widetilde{f})=\min\{W\oplus\lambda_{r}(\ldots,e,eq_{m_{r}},\widetilde{\eta}_{c}^{\widetilde{e}},\widetilde{f}^{\widetilde{\eta}_{r}})\oplus\lambda_{s}(\ldots,e,eq_{m_{s}},\widetilde{\eta}_{c}^{\widetilde{e}},\widetilde{f}^{\widetilde{\eta}_{s}}):m_{r}\in M(V(G_{r})-X_{r})\land m_{s}\in M(V(G_{s})-X_{s})\land accept((\bigoplus^{*}_{v\in X_{t}}\widetilde{f}_{v}(\widetilde{\eta}(v)\widetilde{\boxplus}^{v,c(v)}\widetilde{\eta}_{r}(v)\widetilde{\boxplus}^{v,c(v)}\\ \widetilde{\eta}_{s}(v)\widetilde{\boxplus}^{v,c(v)}\widetilde{\textsc{ns}}(v,c,{G_{t}}^{\lnot{S}}[X_{t}])))\oplus^{*}x)\}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    At the root rr, with Xr={v}X_{r}=\{v\}, we compute all λr(,e,a,η~ce~,f~)\lambda_{r}(\ldots,e,a,\widetilde{\eta}_{c}^{\widetilde{e}},\widetilde{f}), where aa is such that a(x)=(xX)a(x)=(x\in X), and f~v=fv,c(v)\widetilde{f}_{v}=f_{v,c(v)}.

Note that it is easy to generalize this idea to more properties like this, by simply adding as many groups of parameters as needed. If the number of this properties is bounded by a constant, then the complexity of the algorithm remains polynomial.

This, along with the ideas and results in sections 3.3, 5 and 6, recovers the main results from Bodlaender in [6, 7].

7.3. One color class is connected

Suppose we want the class of color jj to be connected.

At each node tt, we add the parameter compj:Xt[[1,k]]comp_{j}:X_{t}\to[\![1,k]\!] that maps vertices of color jj to natural numbers that represent connected components.

In the following items, let XtjX_{t}^{j} denote {u:uXtc(u)=j}\{u:u\in X_{t}\land c(u)=j\}, and Ntj(v)N_{t}^{j}(v) denote NG(v)XtjN_{G}(v)\cap X_{t}^{j}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Leaf node: Remains the same.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Forget node: λt(,compj)=min{λs(,compji):iLv}\lambda_{t}(\ldots,comp_{j})=\min\{\lambda_{s}(\ldots,comp_{j}^{i}):i\in L_{v}\} where compjicomp_{j}^{i} is such that:

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      if iji\neq j then compji(u)=compj(u)comp_{j}^{i}(u)=comp_{j}(u) for all uXtju\in X_{t}^{j}, and

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      compjj(v)={minuNtj(v){compj(u)}if Ntj(v)any value in [[1,k]]{compj(u):uXtj}otherwisecomp_{j}^{j}(v)=\begin{cases}\min_{u\in N_{t}^{j}(v)}\{comp_{j}(u)\}&\text{if }N_{t}^{j}(v)\neq\emptyset\\ \text{any value in $[\![1,k]\!]-\{comp_{j}(u):u\in X_{t}^{j}\}$}&\text{otherwise}\end{cases}
      and, for all uXtju\in X_{t}^{j}, compjj(u)=compjj(v)comp_{j}^{j}(u)=comp_{j}^{j}(v) if there exists zNtj(v)z\in N_{t}^{j}(v) such that compj(u)=compj(z)comp_{j}(u)=comp_{j}(z), and compjj(u)=compj(u)comp_{j}^{j}(u)=comp_{j}(u) otherwise.

    In other words, if vv is a neighbor of two or more vertices of different connected components then those connected components can be unified, and if vv is not a neighbor of any other vertex of color jj then it is in a new connected component.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Introduce node: If c(v)jc(v)\neq j then it remains the same (adding compjcomp_{j} to λs\lambda_{s}). Otherwise, we split the case related to cˇv(nv)=True\check{c}_{v}(n_{v})=\textsc{True} in the following ones:

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      If there exists uXsju\in X_{s}^{j} such that compj(v)=compj(u)comp_{j}(v)=comp_{j}(u) then λt(,compj)=λs(,compjv)\lambda_{t}(\ldots,comp_{j})=\ldots\lambda_{s}(\ldots,comp_{j}^{-v}).

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      If there does not exist uXsju\in X_{s}^{j} such that compj(v)=compj(u)comp_{j}(v)=comp_{j}(u), and XsjX_{s}^{j}\neq\emptyset then λt(,compj)=Error\lambda_{t}(\ldots,comp_{j})=\textsc{Error}.

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      If Xsj=X_{s}^{j}=\emptyset then let M=({q0,q1},{1},δ,q0,{q0})M=(\{q_{0},q_{1}\},\{1\},\delta,q_{0},\{q_{0}\}) be an automaton such that δ(q0,1)=q1\delta(q_{0},1)=q_{1} and δ(q1,1)=q1\delta(q_{1},1)=q_{1}. We use MM to request that the class of color jj is empty in GsG_{s}, therefore λt(,compj)=λs(,q0,eqq0)\lambda_{t}(\ldots,comp_{j})=\ldots\lambda_{s}(\ldots,q_{0},eq_{q_{0}}).

    That is, if vv belongs to a different connected component than all the vertices of color jj in XsX_{s}, then there is no way to connect vv with them and we get an error. Also, if there are no vertices of color jj in XsX_{s} then there cannot be any vertices of color jj in GsG_{s}, because NG(V(G)V(Gs))V(Gs)XsN_{G}(V(G)-V(G_{s}))\cap V(G_{s})\subseteq X_{s}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Join node: For every S{compj(v):vXtj}S\subseteq\{comp_{j}(v):v\in X_{t}^{j}\} let compjScomp_{j}^{S} be a function such that, for all vXtjv\in X_{t}^{j},

    compjs(v)={min(S)if compj(v)Scompj(v)otherwise.comp_{j}^{s}(v)=\begin{cases}\min(S)&\text{if }comp_{j}(v)\in S\\ comp_{j}(v)&\text{otherwise.}\end{cases}

    At this node we need to unify the different connected components. To do so, on one branch we unify a set SS of them while on the other branch we unify a set RR of them, such that SR={compj(v):vXtj}S\cup R=\{comp_{j}(v):v\in X_{t}^{j}\} and |SR|=1|S\cap R|=1. Then λt(,compj)=min{Wλr(,compjS)λs(,compjR):SR={compj(v):vXtj}|SR|=1}\lambda_{t}(\ldots,comp_{j})=\min\{W\oplus\lambda_{r}(\ldots,comp_{j}^{S})\oplus\lambda_{s}(\ldots,comp_{j}^{R}):S\cup R=\{comp_{j}(v):v\in X_{t}^{j}\}\land|S\cap R|=1\land\ldots\}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    At the root rr where Xr={v}X_{r}=\{v\}, the function compjcomp_{j} is such that compj(v)=1comp_{j}(v)=1.

As before, notice that it is easy to generalize this idea to more classes or sets of classes by adding as many compjcomp_{j} functions as needed.

Let 𝒥\mathcal{J} be the number of color classes (or sets of color classes) to restrict. The only changes in complexity are:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Leaf node: add 𝒥\mathcal{J}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Forget node: add (𝒞1+k2)𝒥(\mathcal{C}-1+k^{2})\mathcal{J}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Introduce node: add k𝒥k\mathcal{J}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Join node: multiply by (k2k)𝒥(k2^{k})^{\mathcal{J}}.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    When we multiply by the number of all possible combinations of the parameters of λt\lambda_{t}: add a factor (kk)𝒥(k^{k})^{\mathcal{J}}.

Note that because in the introduce node we require that the class of color jj is empty, we also need to compute λt(,q0,eqq0)\lambda_{t}(\ldots,q_{0},eq_{q_{0}}) for all tTt\in T, but this addition does not change the time complexity here (due to the fact that both 𝒮\mathcal{S} and \mathcal{R} are bounded by a constant in this case).

7.4. One color class is acyclic

(For undirected graphs.)

It can be done in essentially the same way as for the connected property. The only difference is that in the introduce node we do as in the original algorithm, and in the forget node we check if vv is a neighbor of at least two vertices that belong to the same component (in which case there is a cycle and we raise an error).

8. Applications

In this section we show how to model different problems as 11-locally checkable problems with polynomial partial neighborhood systems. As a result, we obtain polynomial-time algorithms to solve these problems for bounded treewidth graphs. For double Roman domination, minimum chromatic violation and Grundy domination (and their variants), no such algorithms were previously known (until the date and to the best of our knowledge). As regards the problems that were already known to be polynomial-time solvable for the before-mentioned classes, it is worth to mention how to restate these problems as 11-locally checkable problems, even when the time complexity of the proposed solution is worse than the best one known, because problems modeled this way can be easily modified or combined, adding global properties or more restrictions, or even dealing with some distance versions, and they can inspire the statement of other problems as 11-locally checkable problems.

Throughout this section, we will assume that, otherwise stated, the definitions of 𝒩v,i\mathcal{N}_{{v},{i}} are for all vV(G)v\in V(G) and iLvi\in L_{v}, of nv,inn\boxplus^{{v},{i}}n^{\prime} for all vV(G)v\in V(G), iLvi\in L_{v} and n,n𝒩v,in,n^{\prime}\in\mathcal{N}_{{v},{i}}, of newNv,i(u,j){newN}_{{v},{i}}(u,j) for all vV(G)v\in V(G), iLvi\in L_{v}, uNG(v)u\in N_{G}(v) and jLuj\in L_{u}, and of checkv,i(n)check_{v,i}(n) for all vV(G)v\in V(G), iLvi\in L_{v} and n𝒩v,in\in\mathcal{N}_{{v},{i}}.

8.1. Double Roman domination

This problem was first defined in [4] and proved to be NP-complete for bipartite and chordal graphs in [2].

A double Roman dominating function on a graph GG is a function f:V(G){0,1,2,3}f\colon V(G)\to\{0,1,2,3\} having the property that if f(v)=0f(v)=0, then vertex vv must have at least two neighbors assigned 2 under ff or one neighbor ww with f(w)=3f(w)=3, and if f(v)=1f(v)=1, then vertex vv must have at least one neighbor ww with f(w)2f(w)\geq 2. The weight of a double Roman dominating function ff is the sum f(V(G))=vV(G)f(v)f(V(G))=\sum_{v\in V(G)}f(v), and the minimum weight of a double Roman dominating function on GG is the double Roman domination number of GG.

We can model the Double Roman domination problem as a 11-locally checkable problem in the following way:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Lv={0,1,2,3}L_{v}=\{0,1,2,3\};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    (Weights,,)=({+},,+)(\textsc{Weights},\preceq,\oplus)=(\mathbb{R}\cup\{+\infty\},\leq,+);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    wv,i=i\textsc{w}_{v,i}=i;

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(v,c)=(c(v)=0(u,wNG(v).uwc(u)=c(w)=2)(uNG(v).c(u)=3))(c(v)=1uNG(v).c(u)2).\begin{array}[t]{rrlrl}check(v,c)&=&(c(v)=0&\Rightarrow&(\exists u,w\in N_{G}(v).\,u\neq w\land c(u)=c(w)=2)\\ &&&\lor&(\exists u\in N_{G}(v).\,c(u)=3))\\ &\land&(c(v)=1&\Rightarrow&\exists u\in N_{G}(v).\,c(u)\geq 2).\end{array}

It is easy to see that some of its variants, such as perfect [27], independent [53], outer independent [1] and total [59], can be modeled by making slight modifications to the previous items.

By Corollary 5.5.2, the Double Roman domination problem can be solved in polynomial time for graphs of bounded treewidth. However, we show a constant partial neighborhood system and therefore obtain a linear-time algorithm:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    𝒩v,i={0,1,2}×{0,1}\mathcal{N}_{{v},{i}}=\{0,1,2\}\times\{0,1\};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    nv,in=(min(n1+n1,2),min(n2+n2,1))n\boxplus^{{v},{i}}n^{\prime}=(\min(n_{1}+n^{\prime}_{1},2),\min(n_{2}+n^{\prime}_{2},1));

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    newNv,i(u,j)={(0,0)if j1(1,0)if j=2(0,1)if j=3;{newN}_{{v},{i}}(u,j)=\begin{cases}(0,0)&\text{if }j\leq 1\\ (1,0)&\text{if }j=2\\ (0,1)&\text{if }j=3;\end{cases}

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    checkv,i(n)=(i=0n12n21)(i=1n1+n21)check_{v,i}(n)=(i=0\Rightarrow n_{1}\geq 2\lor n_{2}\geq 1)\land(i=1\Rightarrow n_{1}+n_{2}\geq 1).

Notice that this partial neighborhood system simply counts (until it saturates) the number of neighbors assigned with 2 and also the ones assigned with 3. For other versions of the double Roman domination problem, we might require to also count the number of neighbors assigned with 0 or 1.

8.2. Minimum chromatic violation problem

This NP-hard problem was first defined in [10] as a generalization of the kk-coloring problem.

Given a graph GG, a set of weak edges FE(G)F\subseteq E(G) and a positive integer kk, the minimum chromatic violation problem asks for a kk–coloring of the graph G=(V(G),E(G)F)G^{\prime}=(V(G),E(G)-F) minimizing the number of weak edges with both endpoints receiving the same color.

We can reduce this problem to the following 11-locally checkable problem in the subdivision graph S(G)S(G):

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Lv=[[1,k]]L_{v}=[\![1,k]\!] for all vV(G)v\in V(G),
    Luv=Lu×LvL_{uv}=L_{u}\times L_{v} for all uvE(G)uv\in E(G);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    (Weights,,)=({+},,+)(\textsc{Weights},\preceq,\oplus)=(\mathbb{R}\cup\{+\infty\},\leq,+);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    wv,i=0\textsc{w}_{v,i}=0 for all vV(G),iLvv\in V(G),i\in L_{v},
    wuv,(i,i)=1\textsc{w}_{uv,(i,i)}=1 for all uvE(G),iLuLvuv\in E(G),i\in L_{u}\cap L_{v},
    wuv,(i,j)=0\textsc{w}_{uv,(i,j)}=0 for all uvE(G),iLu,jLv{i}uv\in E(G),i\in L_{u},j\in L_{v}-\{i\};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(v,c)=Truecheck(v,c)=\textsc{True} for all vV(G)v\in V(G),
    check(uv,c)=(c(uv)=(c(u),c(v)))check(uv,c)=(c(uv)=(c(u),c(v))) for all uvFuv\in F, and
    check(uv,c)=(c(uv)=(c(u),c(v))c(u)c(v))check(uv,c)=(c(uv)=(c(u),c(v))\land c(u)\neq c(v)) for all uvE(G)Fuv\in E(G)-F.

Basically, every edge in GG is colored with a pair of colors and checks if these are the colors of its endpoints. Edges in FF are allowed to have endpoints of the same color, while edges not in FF always produce an error when colored with a pair of equal colors. If an edge is colored with a pair of equal colors then its weight is 1, otherwise is 0.

In this way we have 𝒞=k2\mathcal{C}=k^{2}. We give a constant partial neighborhood system for this model:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    𝒩v,i=Bool\mathcal{N}_{{v},{i}}=\textsc{Bool} for all vV(S(G)),iLvv\in V(S(G)),i\in L_{v};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    nv,in=(nn)n\boxplus^{{v},{i}}n^{\prime}=(n\land n^{\prime}) for all vV(S(G)),iLvv\in V(S(G)),i\in L_{v} and n,n𝒩v,in,n^{\prime}\in\mathcal{N}_{{v},{i}};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    newNv,i(e,j)=True{newN}_{{v},{i}}(e,j)=\textsc{True} for all vV(G),iLv,eNS(G)(v),jLev\in V(G),i\in L_{v},e\in N_{S(G)}(v),j\in L_{e},
    newNuv,(cu,cv)(u,j)=(j=cu){newN}_{{uv},{(c_{u},c_{v})}}(u,j)=(j=c_{u}) for all uvE(G),cuLu,cvLv,jLuuv\in E(G),c_{u}\in L_{u},c_{v}\in L_{v},j\in L_{u},
    newNuv,(cu,cv)(v,j)=(j=cv){newN}_{{uv},{(c_{u},c_{v})}}(v,j)=(j=c_{v}) for all uvE(G),cuLu,cvLv,jLvuv\in E(G),c_{u}\in L_{u},c_{v}\in L_{v},j\in L_{v};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    checkv,i(n)=Truecheck_{v,i}(n)=\textsc{True} for all vV(G),iLv,n𝒩v,iv\in V(G),i\in L_{v},n\in\mathcal{N}_{{v},{i}},
    checkuv,(i,j)(n)=ncheck_{uv,(i,j)}(n)=n for all uvF,iLu,jLv,n𝒩uv,(i,j)uv\in F,i\in L_{u},j\in L_{v},n\in\mathcal{N}_{{uv},{(i,j)}},
    checkuv,(i,j)(n)=(nij)check_{uv,(i,j)}(n)=(n\land i\neq j) for all uvE(G)F,iLu,jLv,n𝒩uv,(i,j)uv\in E(G)-F,i\in L_{u},j\in L_{v},n\in\mathcal{N}_{{uv},{(i,j)}}.

Therefore, when kk is bounded by a constant the minimum chromatic violation problem can be solved in linear time for graphs of bounded treewidth.

8.3. Grundy domination number

This problem was introduced in [12] and proved to be NP-complete even for chordal graphs.

A sequence S=(v1,,vk)S=\left(v_{1},\ldots,v_{k}\right) of distinct vertices of a graph GG is a dominating sequence if {v1,,vk}\{v_{1},\ldots,v_{k}\} is a dominating set of GG, and SS is called a legal (dominating) sequence if (in addition) N[vi]j=1i1N[vj]N[v_{i}]-\bigcup_{j=1}^{i-1}N[v_{j}]\neq\emptyset for each ii. We say that viv_{i} footprints the vertices in N[vi]j=1i1N[vj]N[v_{i}]-\bigcup_{j=1}^{i-1}N[v_{j}], and that viv_{i} is the footprinter of every uN[vi]j=1i1N[vj]u\in N[v_{i}]-\bigcup_{j=1}^{i-1}N[v_{j}] (notice that every vertex in V(G)V(G) has a unique footprinter). We are interested in the maximum length of a legal dominating sequence in GG.

Given a legal sequence SS, every vertex vV(G)v\in V(G) can be associated with a pair (pv,fv)(p_{v},f_{v}), where pvp_{v} is the position of vv in SS (or \perp if vv is not in SS) and fvf_{v} is the position in SS of the footprinter of vv. Directly from the definition of legal sequences we can deduce the following statement. A set {(pv,fv):vV(G)}\{(p_{v},f_{v}):v\in V(G)\} determines a legal sequence if and only if the following conditions are satisfied:

  1. (1)

    for all vV(G)v\in V(G), there exists a unique uNG[v]u\in N_{G}[v] such that fv=puf_{v}=p_{u}, and fvpwf_{v}\leq p_{w} for all wNG[v]w\in N_{G}[v] (i.e., vv is properly footprinted),

  2. (2)

    for all vV(G)v\in V(G), if pvp_{v}\neq\perp then there exists uNG[v]u\in N_{G}[v] such that fu=pvf_{u}=p_{v} (i.e., if vv appears in the sequence then it footprints at least one vertex), and

  3. (3)

    pvpup_{v}\neq p_{u} for all u,vV(G)u,v\in V(G) such that uvu\neq v and pup_{u}\neq\perp (i.e., two vertices that appear in the sequence cannot have the same position in it).

Notice that conditions 1 and 2 are locally checkable, but the last one is not. However, we claim that the Grundy domination problem can be reduced to the following 11-locally checkable problem. Let n=|V(G)|n=|V(G)| and =n+1\perp=n+1.

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Lv=({1,,n}{})×{1,,n}L_{v}=(\{1,\ldots,n\}\cup\{\perp\})\times\{1,\ldots,n\};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    (Weights,,)=({},,+)(\textsc{Weights},\preceq,\oplus)=(\mathbb{R}\cup\{-\infty\},\geq,+);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    for all f{1,,n}f\in\{1,\ldots,n\}, wv,(,f)=0\textsc{w}_{v,(\perp,f)}=0 and wv,(p,f)=1\textsc{w}_{v,(p,f)}=1 for all pp\neq\perp;

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(v,c)=(!uNG[v].c(v)2=c(u)1)(uNG[v].c(v)2c(u)1)(c(v)1uNG[v].c(v)1=c(u)2)(c(v)1uNG(v).c(v)1c(u)1).\begin{array}[t]{rrl}check(v,c)&=&(\exists!u\in N_{G}[v].\,c(v)_{2}=c(u)_{1})\\ &\land&(\forall u\in N_{G}[v].\,c(v)_{2}\leq c(u)_{1})\\ &\land&(c(v)_{1}\neq\perp\Rightarrow\exists u\in N_{G}[v].\,c(v)_{1}=c(u)_{2})\\ &\land&(c(v)_{1}\neq\perp\Rightarrow\forall u\in N_{G}(v).\,c(v)_{1}\neq c(u)_{1}).\end{array}

Let GG be a graph. Let cc be a proper coloring of GG in the previous 11-locally checkable problem, and let (pv,fv)=c(v)(p_{v},f_{v})=c(v) for all vV(G)v\in V(G). Conditions 1 and 2 are trivially satisfied. Suppose that the last condition is not satisfied. Then there are two different vertices u,vu,v such that pu=pvp_{u}=p_{v}\neq\perp. By definition of checkcheck, we know that

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    uNG[v]u\notin N_{G}[v],

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    if there exists a vertex ww such that fw>pv=puf_{w}>p_{v}=p_{u} then vNG[w]v\notin N_{G}[w] and uNG[w]u\notin N_{G}[w] (thus, wNG[v]w\notin N_{G}[v] and wNG[u]w\notin N_{G}[u]), and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    if there exists a vertex wNG[u]w\in N_{G}[u] such that fw=pv=puf_{w}=p_{v}=p_{u} then wNG[v]w\notin N_{G}[v].

Therefore, NG[u]NG[v]=FN_{G}[u]\cap N_{G}[v]=F such that fw<pu=pvf_{w}<p_{u}=p_{v} for all wFw\in F. Now we can assign colors (pw,fw)(p_{w}^{\prime},f_{w}^{\prime}) for every wV(G)w\in V(G), such that

pw={pwif pwpu and wvpw+1otherwisep_{w}^{\prime}=\begin{cases}p_{w}&\text{if $p_{w}\leq p_{u}$ and $w\neq v$}\\ p_{w}+1&\text{otherwise}\end{cases}

and

fw={fwif fw<pu, or fw=pu and wNG[v]fw+1otherwise.f_{w}^{\prime}=\begin{cases}f_{w}&\text{if $f_{w}<p_{u}$, or $f_{w}=p_{u}$ and $w\notin N_{G}[v]$}\\ f_{w}+1&\text{otherwise.}\end{cases}

That is, we move one position forward all the vertices that appear after uu in SS and increase the necessary fwf_{w}. It is easy to see that this new assignment preserves the “legality” of uu (i.e., if NG[u]{z:zNG[w]pw<pu}N_{G}[u]-\{z:z\in N_{G}[w]\land p_{w}<p_{u}\}\neq\emptyset then NG[u]{z:zNG[w]pw<pv}N_{G}[u]-\{z:z\in N_{G}[w]\land p_{w}^{\prime}<p_{v}^{\prime}\}\neq\emptyset) and also of all the other vertices.

In order to give a polynomial-time algorithm for the Grundy domination problem in bounded treewidth graphs, we define a constant partial neighborhood system as follows:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    𝒩v,(p,f)={0,1,2}×Bool×Bool×Bool\mathcal{N}_{{v},{(p,f)}}=\{0,1,2\}\times\textsc{Bool}\times\textsc{Bool}\times\textsc{Bool};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    nv,(p,f)n=(min(n1+n1,2),n2n2,n3n3,n4n4)n\boxplus^{{v},{(p,f)}}n^{\prime}=(\min(n_{1}+n_{1}^{\prime},2),n_{2}\land n_{2}^{\prime},n_{3}\lor n_{3}^{\prime},n_{4}\land n_{4}^{\prime});

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    newNv,(pv,fv)(u,(pu,fu))=n{newN}_{{v},{(p_{v},f_{v})}}(u,(p_{u},f_{u}))=n where:

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      n1={1if fv=pu0otherwise,n_{1}=\begin{cases}1&\text{if $f_{v}=p_{u}$}\\ 0&\text{otherwise,}\end{cases}

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      n2=(fvpu)n_{2}=(f_{v}\leq p_{u}),

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      n3=(pv=fu)n_{3}=(p_{v}=f_{u}),

    • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

      n4=(pvpu)n_{4}=(p_{v}\neq p_{u});

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    checkv,(p,f)(n)=(n1<2(n1=1fp)(n1=0f=p))(n2fp)(p(n3p=f))(pn4).\begin{array}[t]{rrl}check_{v,(p,f)}(n)&=&(n_{1}<2\land(n_{1}=1\Rightarrow f\neq p)\land(n_{1}=0\Rightarrow f=p))\\ &\land&(n_{2}\land f\leq p)\\ &\land&(p\neq\perp\Rightarrow(n_{3}\lor p=f))\\ &\land&(p\neq\perp\Rightarrow n_{4}).\end{array}

We can also model the Grundy total domination problem (defined in [13]) in a very similar way, by simply removing the cases where a vertex can footprint itself.

For both problems, since 𝒞\mathcal{C} is O(|V(G)|2)O(|V(G)|^{2}), and we defined a constant partial neighborhood system, the time complexity of the algorithm is polynomial in |V(G)||V(G)| for a graph GG in a family of bounded treewidth graphs.

8.4. Additive coloring

Let η\eta be an upper bound of the additive chromatic number. It was shown in [3] that the additive chromatic number in a graph GG is at most Δ(G)2Δ(G)+1\Delta(G)^{2}-\Delta(G)+1.

To model the additive coloring problem as a 11-locally checkable problem with a partial neighborhood system, we define the colors to be pairs of integers (n,s)(n,s), where nn represents the number assigned to the vertex and ss the sum of the numbers assigned to its neighbors. Formally:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Lv=[[1,η]]×[[1,Δ(G)η]]L_{v}=[\![1,\eta]\!]\times[\![1,\Delta(G)\eta]\!];

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    (Weights,,)=({+},,max)(\textsc{Weights},\preceq,\oplus)=(\mathbb{R}\cup\{+\infty\},\leq,\max);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    wv,i=i1\textsc{w}_{v,i}=i_{1};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(v,c)=(uNG(v).c(u)2c(v)2)(c(v)2=uNG(v)c(u)1)check(v,c)=\left(\forall u\in N_{G}(v).\,c(u)_{2}\neq c(v)_{2}\right)\land\left(c(v)_{2}=\sum_{u\in N_{G}(v)}c(u)_{1}\right).

It is straightforward to derive a polynomial partial neighborhood system for this model. One possibility is the following:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    𝒩v,i=Bool×[[1,Δ(G)η+1]]\mathcal{N}_{{v},{i}}=\textsc{Bool}\times[\![1,\Delta(G)\eta+1]\!];

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    nv,in=(n1n1,min(n2+n2,Δ(G)η+1))n\boxplus^{{v},{i}}n^{\prime}=(n_{1}\land n^{\prime}_{1},\min(n_{2}+n^{\prime}_{2},\Delta(G)\eta+1));

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    newNv,i(u,j)=(i2j2,j1){newN}_{{v},{i}}(u,j)=(i_{2}\neq j_{2},j_{1})

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    checkv,i(n)=n1(i2=n2)check_{v,i}(n)=n_{1}\land(i_{2}=n_{2}).

Then 𝒞\mathcal{C} is O(Δ(G)η2)O(\Delta(G)\eta^{2}) and 𝒩\mathcal{N} is O(Δ(G)η)O(\Delta(G)\eta), implying that there exists a polynomial-time algorithm to compute η(G)\eta(G) for graphs GG in a class of graphs of bounded treewidth. Another polynomial time algorithm was obtained by R. Grappe, L. N. Grippo, and M. Valencia-Pabon (personal communication).

8.5. Distance domination problems

These problems can be naturally expressed as rr-locally checkable problems, for some rr depending on the characteristics of the problem. Moreover, some of them are in fact 11-locally checkable problems.

We will start by showing how to model the distance kk-domination problem as a 11-locally checkable problem. To do this, we restate the problem in the following way: vertices receive integers from 0 to kk (that represent their distance to a vertex of the distance kk-dominating set), and vertices with a number greater than 0 must satisfy the condition of having a neighbor with the preceding number assigned. Then

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Lv=[[0,k]]L_{v}=[\![0,k]\!];

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    (Weights,,)=({+},,+)(\textsc{Weights},\preceq,\oplus)=(\mathbb{R}\cup\{+\infty\},\leq,+);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    wv,0=1\textsc{w}_{v,0}=1 and
    wv,i=0\textsc{w}_{v,i}=0 for all i[[1,k]]i\in[\![1,k]\!];

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(v,c)=(c(v)>0uNG(v).c(u)=c(v)1)check(v,c)=\left(c(v)>0\Rightarrow\exists u\in N_{G}(v).\,c(u)=c(v)-1\right).

It only remains to show a constant partial neighborhood system in order to get a linear-time algorithm for this problem in bounded treewidth graphs:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    𝒩v,i=Bool\mathcal{N}_{{v},{i}}=\textsc{Bool};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    nv,in=nnn\boxplus^{{v},{i}}n^{\prime}=n\lor n^{\prime};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    newNv,i(u,j)=(j=i1){newN}_{{v},{i}}(u,j)=(j=i-1);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    checkv,i(n)=(i>0n)check_{v,i}(n)=(i>0\Rightarrow n).

Notice that with a similar argument we can model similar problems involving more than two sets in the partition. The idea is to make the colors indicate how far the vertices are from every other color. For example, if we have to color the graph with {r,g,b}\{r,g,b\} in such a way that every vertex is at distance at most 3 from a vertex of color rr and at distance at most 2 from a vertex of color gg, following this idea to model the problem as a 11-locally checkable problem, our set of colors is {r0,1,r0,2,g1,0,g2,0,g3,0,b1,1,b2,1,b3,1,b1,2,b2,2,b3,2}\{r_{0,1},r_{0,2},g_{1,0},g_{2,0},g_{3,0},b_{1,1},b_{2,1},b_{3,1},b_{1,2},b_{2,2},b_{3,2}\}.

However, when there are restrictions over the distance between vertices of the same color, the previous approach would not work. We will now explain how to model these problems when the required distance is 2.

Let us work with the semitotal domination problem. We first restate the problem in order to differentiate two possible situations for a vertex in DD (colors D1D_{1} and D2D_{2}) and two possible situations for a vertex not in DD (colors D¯\overline{D} and D¯\overline{D}_{*}). Vertices of color D1D_{1} represent those vertices in DD that have a neighbor in DD, vertices of color D2D_{2} represent those vertices in DD that are at distance 2 of another vertex in DD, vertices of color D¯\overline{D}_{*} represent those vertices not in DD that are the nexus between two vertices in DD, and vertices of color D¯\overline{D} represent all the remaining ones. Then we can set

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Lv={D1,D2,D¯,D¯}L_{v}=\{D_{1},D_{2},\overline{D},\overline{D}_{*}\};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    (Weights,,)=({+},,+)(\textsc{Weights},\preceq,\oplus)=(\mathbb{R}\cup\{+\infty\},\leq,+);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    wv,D1=wv,D2=1\textsc{w}_{v,D_{1}}=\textsc{w}_{v,D_{2}}=1, and
    wv,D¯=wv,D¯=0\textsc{w}_{v,\overline{D}}=\textsc{w}_{v,\overline{D}_{*}}=0;

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(v,c)=(c(v){D¯,D1}uNG(v).c(u){D1,D2})(c(v)=D2uNG(v).c(u)=D¯)(c(v)=D¯u,wNG(v).uwc(u),c(w){D1,D2}).\begin{aligned} check(v,c)=&\;(c(v)\in\{\overline{D},D_{1}\}\Rightarrow\exists u\in N_{G}(v).\,c(u)\in\{D_{1},D_{2}\})\\ \land&\;(c(v)=D_{2}\Rightarrow\exists u\in N_{G}(v).\,c(u)=\overline{D}_{*})\\ \land&\;(c(v)=\overline{D}_{*}\Rightarrow\exists u,w\in N_{G}(v).\,u\neq w\land c(u),c(w)\in\{D_{1},D_{2}\}).\end{aligned}

And we can naturally give a constant partial neighborhood system:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    𝒩v,i={0,1,2}\mathcal{N}_{{v},{i}}=\{0,1,2\};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    nv,in=min(n+n,2)n\boxplus^{{v},{i}}n^{\prime}=\min(n+n^{\prime},2);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    If i{D1,D¯,D¯}i\in\{D_{1},\overline{D},\overline{D}_{*}\}:
    newNv,i(u,j)={1if j{D1,D2}0otherwise,{newN}_{{v},{i}}(u,j)=\begin{cases}1&\text{if }j\in\{D_{1},D_{2}\}\\ 0&\text{otherwise,}\end{cases}
    if i=D2i=D_{2}:
    newNv,i(u,j)={1if j=D¯0otherwise;{newN}_{{v},{i}}(u,j)=\begin{cases}1&\text{if }j=\overline{D}_{*}\\ 0&\text{otherwise;}\end{cases}

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    checkv,i(n)=(n1)check_{v,i}(n)=(n\geq 1) for i{D¯,D1,D2}i\in\{\overline{D},D_{1},D_{2}\}, and
    checkv,D¯(n)=(n2)check_{v,\overline{D}_{*}}(n)=(n\geq 2).

Notice that in the restatement of semitotal domination we changed the “duties” of the vertices: the ones in charge of checking that a vertex of color D2D_{2} is at distance 22 of another vertex in DD are now the vertices of color D¯\overline{D}_{*}.

Combining the ideas of the two previous problems we can model other related problems (such as total distance 2-domination) as 11-locally checkable problems.

8.6. Problems involving edges

Consider locally checkable problems where, for every edge, a certain condition comprising their endpoints and their consecutive edges must be satisfied. We will show how to reduce these problems to 11-locally checkable problems in the jagged graph J(G)J(G) of the input graph GG. We consider two kind of problems: when edges do not have requirements over other edges, and when they do.

For the first class of problems, the reduction is straightforward. We might need to duplicate the colors in order to distinguish the colors assigned to edges from the colors assigned to vertices. As an example, we show how to model vertex cover:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Lv={0,1}L_{v}=\{0,1\} for all vV(G)v\in V(G) and
    Luv={0}L_{uv}=\{0\} for all uvE(G)uv\in E(G);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    (Weights,)=({+},)(\textsc{Weights},\preceq)=(\mathbb{R}\cup\{+\infty\},\leq) and =+\oplus=+;

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    wv,i=i\textsc{w}_{v^{\prime},i}=i for all vV(J(G)),iLvv^{\prime}\in V(J(G)),i\in L_{v^{\prime}};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(v,c)=Truecheck(v,c)=\textsc{True} for all vV(G)v\in V(G), and
    check(uv,c)=(c(u)+c(v)1)check(uv,c)=(c(u)+c(v)\geq 1) for all uvE(G)uv\in E(G).

And we give a constant partial neighborhood system:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    𝒩v,i={0,1}\mathcal{N}_{{v^{\prime}},{i}}=\{0,1\};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    nv,in=min(n+n,1)n\boxplus^{{v^{\prime}},{i}}n^{\prime}=\min(n+n^{\prime},1);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    newNv,i(u,j)=j{newN}_{{v^{\prime}},{i}}(u^{\prime},j)=j; and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    checkv,i(n)=Truecheck_{v,i}(n)=\textsc{True} for all vV(G),iLvv\in V(G),i\in L_{v}, and
    checkuv,0(n)=(n1)check_{uv,0}(n)=(n\geq 1) for all uvE(G)uv\in E(G).

Edge cover is basically the same as vertex cover but interchanging vertices and edges.

As regards the second class of these problems, since two edges in E(G)E(G) that share an endpoint are at distance two in J(G)J(G), we can use the ideas from semitotal domination: the neighbors in J(G)J(G) of the edges in E(G)E(G) (which are vertices in V(G)V(G)) are the ones in charge of checking the requirements of the edges in E(G)E(G). We illustrate the maximum matching problem, for which we can set:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    Lv={0}L_{v}=\{0\} for all vV(G)v\in V(G) and
    Luv={0,1}L_{uv}=\{0,1\} for all uvE(G)uv\in E(G);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    (Weights,)=({},)(\textsc{Weights},\preceq)=(\mathbb{R}\cup\{-\infty\},\geq) and =+\oplus=+;

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    wv,i=i\textsc{w}_{v^{\prime},i}=i for all vV(J(G)),iLvv^{\prime}\in V(J(G)),i\in L_{v^{\prime}};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    check(v,c)=(uNG(v)c(uv)1)check(v,c)=\left(\sum_{u\in N_{G}(v)}c(uv)\leq 1\right) for all vV(G)v\in V(G), and
    check(uv,c)=Truecheck(uv,c)=\textsc{True} for all uvE(G)uv\in E(G).

And we give a constant partial neighborhood system:

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    𝒩v,i={0,1}\mathcal{N}_{{v^{\prime}},{i}}=\{0,1\};

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    nv,in=min(n+n,1)n\boxplus^{{v^{\prime}},{i}}n^{\prime}=\min(n+n^{\prime},1);

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    newNv,i(u,j)=j{newN}_{{v^{\prime}},{i}}(u^{\prime},j)=j; and

  • \mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.75}{$\scriptscriptstyle\bullet$}}}}}

    checkv,0(n)=(n1)check_{v,0}(n)=(n\leq 1) for all vV(G)v\in V(G), and
    checkuv,i(n)=Truecheck_{uv,i}(n)=\textsc{True} for all uvE(G),iLuvuv\in E(G),i\in L_{uv}.

Acknowledgements

This work was partially supported by ANPCyT PICT-2015-2218, UBACyT Grants 20020190100126BA, 20020170100495BA and 20020160100095BA (Argentina), and Programa Regional MATHAMSUD MATH190013. Carolina L. Gonzalez is partially supported by a CONICET doctoral fellowship.

References

  • [1] H. Abdollahzadeh Ahangar, M. Chellali, and S. Sheikholeslami. Outer independent double Roman domination. Applied Mathematics and Computation, 364:124617, 2020.
  • [2] H. A. Ahangar, M. Chellali, and S. M. Sheikholeslami. On the double Roman domination in graphs. Discrete Applied Mathematics, 232:1–7, 2017.
  • [3] S. Akbari, M. Ghanbari, R. Manaviyat, and S. Zare. On the lucky choice number of graphs. Graphs and Combinatorics, 29(2):157–163, Mar. 2013.
  • [4] R. A. Beeler, T. W. Haynes, and S. T. Hedetniemi. Double Roman domination. Discrete Applied Mathematics, 211:23–29, 2016.
  • [5] U. Bertelè and F. Brioschi. Nonserial Dynamic Programming. Academic Press, Inc., USA, 1972.
  • [6] H. L. Bodlaender. Dynamic programming on graphs with bounded treewidth. Technical report, USA, 1987.
  • [7] H. L. Bodlaender. Dynamic programming on graphs with bounded treewidth. In T. Lepistö and A. Salomaa, editors, Automata, Languages and Programming, pages 105–118, Berlin, Heidelberg, 1988. Springer Berlin Heidelberg.
  • [8] H. L. Bodlaender. A partial kk-arboretum of graphs with bounded treewidth. Theoretical Computer Science, 209(1):1–45, 1998.
  • [9] H. L. Bodlaender, P. G. Drange, M. S. Dregi, F. V. Fomin, D. Lokshtanov, and M. Pilipczuk. An O(ckn)O(c^{k}n) 5-approximation algorithm for treewidth. In 2013 IEEE 54th Annual Symposium on Foundations of Computer Science, pages 499–508, 2013.
  • [10] M. Braga, D. Delle Donne, M. Escalante, J. Marenco, M. Ugarte, and M. Varaldo. The minimum chromatic violation problem: a polyhedral study. Electronic Notes in Discrete Mathematics, 62:309–314, 2017. LAGOS’17 – IX Latin and American Algorithms, Graphs and Optimization.
  • [11] A. Brandstädt, V. B. Le, and J. P. Spinrad. Graph Classes: A Survey, volume 3 of SIAM Monographs on Discrete Mathematics. Society for Industrial and Applied Mathematics, Philadelphia, 1999.
  • [12] B. Brešar, T. Gologranc, M. Milanič, D. F. Rall, and R. Rizzi. Dominating sequences in graphs. Discrete Mathematics, 336:22–36, 2014.
  • [13] B. Brešar, M. A. Henning, and D. F. Rall. Total dominating sequences in graphs. Discrete Mathematics, 339(6):1665–1676, 2016.
  • [14] B. Brešar, S. Klavžar, and D. F. Rall. On the packing chromatic number of Cartesian products, hexagonal lattice, and trees. Discrete Applied Mathematics, 155(17):2303–2311, 2007.
  • [15] B.-M. Bui-Xuan, J. A. Telle, and M. Vatshelle. Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems. Theoretical Computer Science, 511:66–76, 2013.
  • [16] T. Calamoneri. The L(h,k)L(h,k)-Labelling Problem: A Survey and Annotated Bibliography. The Computer Journal, 49(5):585–608, 05 2006.
  • [17] D. Cattanéo and S. Perdrix. The parameterized complexity of domination-type problems and application to linear codes. In T. V. Gopal, M. Agrawal, A. Li, and S. B. Cooper, editors, Theory and Applications of Models of Computation - 11th Annual Conference, TAMC 2014, Chennai, India, April 11-13, 2014. Proceedings, volume 8402 of Lecture Notes in Computer Science, pages 86–103. Springer, 2014.
  • [18] G. J. Chang and D. Kuo. The L(2,1)L(2,1)-labeling problem on graphs. SIAM Journal on Discrete Mathematics, 9(2):309–316, 1996.
  • [19] G. J. Chang and C. Lu. Distance-two labelings of graphs. European Journal of Combinatorics, 24(1):53–58, 2003.
  • [20] G. J. Chang, J. Wu, and X. Zhu. Rainbow domination on trees. Discrete Applied Mathematics, 158(1):8–12, 2010.
  • [21] K. Chatterjee, R. Ibsen-Jensen, A. K. Goharshady, and A. Pavlogiannis. Algorithms for algebraic path properties in concurrent systems of constant treewidth components. ACM Transactions on Programming Languages and Systems, 40(3):9:1–9:43, 2018.
  • [22] E. J. Cockayne, R. M. Dawes, and S. T. Hedetniemi. Total domination in graphs. Networks, 10(3):211–219, 1980.
  • [23] E. J. Cockayne, P. A. Dreyer, S. M. Hedetniemi, and S. T. Hedetniemi. Roman domination in graphs. Discrete Mathematics, 278(1):11–22, 2004.
  • [24] B. Courcelle and M. Mosbah. Monadic second-order evaluations on tree-decomposable graphs. Theoretical Computer Science, 109(1):49–82, 1993.
  • [25] S. Czerwiński, J. Grytczuk, and W. Żelazny. Lucky labelings of graphs. Information Processing Letters, 109(18):1078–1081, 2009.
  • [26] J. Edmonds. Paths, trees, and flowers. Canadian Journal of Mathematics, 17:449–467, 1965.
  • [27] A. T. Egunjobi and T. W. Haynes. Perfect double Roman domination of trees. Discrete Applied Mathematics, 2020.
  • [28] P. Erdos, A. L. Rubin, and H. Taylor. Choosability in graphs. In Proc. West Coast Conf. on Combinatorics, Graph Theory and Computing, Congressus Numerantium, volume 26, pages 125–157, 1979.
  • [29] H. Eto, F. Guo, and E. Miyano. Distance-dd independent set problems for bipartite and chordal graphs. J. Comb. Optim., 27(1):88–99, Jan. 2014.
  • [30] J. Fiala and P. A. Golovach. Complexity of the packing coloring problem for trees. Discrete Applied Mathematics, 158(7):771–778, 2010. Third Workshop on Graph Classes, Optimization, and Width Parameters Eugene, Oregon, USA, October 2007.
  • [31] J. F. Fink and M. S. Jacobson. nn-Domination in Graphs, pages 283–300. John Wiley & Sons, Inc., USA, 1985.
  • [32] P. Firby and J. Haviland. Independence and average distance in graphs. Discrete Applied Mathematics, 75(1):27–37, 1997.
  • [33] M. Frick and M. Grohe. The complexity of first-order and monadic second-order logic revisited. Annals of Pure and Applied Logic, 130(1):3–31, 2004. Papers presented at the 2002 IEEE Symposium on Logic in Computer Science (LICS).
  • [34] R. Gallant, G. Gunther, B. Hartnell, and D. Rall. Limited packings in graphs. Discrete Applied Mathematics, 158(12):1357–1364, 2010.
  • [35] M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York, NY, USA, 1979.
  • [36] W. Goddard, S. M. Hedetniemi, S. T. Hedetniemi, J. M. Harris, and D. F. Rall. Broadcast chromatic numbers of graphs. Ars Combinatoria, 86:33–49, 2008.
  • [37] W. Goddard, M. A. Henning, and C. A. McPillan. Semitotal domination in graphs. Utilitas Mathematica, 94:67–81, 2014.
  • [38] D. Gonçalves. On the L(p,1)L(p,1)-labelling of graphs. In S. Felsner, editor, 2005 European Conference on Combinatorics, Graph Theory and Applications (EuroComb ’05), volume DMTCS Proceedings vol. AE, European Conference on Combinatorics, Graph Theory and Applications (EuroComb ’05) of DMTCS Proceedings, pages 81–86, Berlin, Germany, 2005. Discrete Mathematics and Theoretical Computer Science.
  • [39] J. R. Griggs and R. K. Yeh. Labelling graphs with a condition at distance 2. SIAM Journal on Discrete Mathematics, 5(4):586–595, 1992.
  • [40] B. Grünbaum. Acyclic colorings of planar graphs. Israel Journal of Mathematics, 14(4):390–408, 1973.
  • [41] R. Halin. SS-functions for graphs. Journal of Geometry, 8(1–2):171–186, 1976.
  • [42] F. Harary and T. W. Haynes. Double domination in graphs. Ars Combinatoria, 55:201–213, 04 2000.
  • [43] T. Haynes, S. Hedetniemi, and P. Slater. Fundamentals of Domination in Graphs. Boca Raton: CRC Press, 1998.
  • [44] J. He and H. Liang. Complexity of total {k}\{k\}-domination and related problems. In M. Atallah, X.-Y. Li, and B. Zhu, editors, Frontiers in Algorithmics and Algorithmic Aspects in Information and Management, pages 147–155, Berlin, Heidelberg, 2011. Springer Berlin Heidelberg.
  • [45] M. A. Henning. Distance domination in graphs. In T. W. Haynes, S. T. Hedetniemi, and P. J. Slater, editors, Domination in Graphs: Advanced Topics, chapter 12. Marcel Dekker, Inc., 1997.
  • [46] M. A. Henning and A. P. Kazemi. kk-tuple total domination in graphs. Discrete Applied Mathematics, 158(9):1006–1011, 2010.
  • [47] J. E. Hopcroft and J. D. Ullman. Introduction To Automata Theory, Languages, And Computation. Addison-Wesley Longman Publishing Co., Inc., USA, 1st edition, 1990.
  • [48] L. Jaffke, O. joung Kwon, T. J. F. Strømme, and J. A. Telle. Generalized Distance Domination Problems and Their Complexity on Graphs of Bounded mim-width. In C. Paul and M. Pilipczuk, editors, 13th International Symposium on Parameterized and Exact Computation (IPEC 2018), volume 115 of Leibniz International Proceedings in Informatics (LIPIcs), pages 6:1–6:14, Dagstuhl, Germany, 2019. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik.
  • [49] R. M. Karp. Reducibility among Combinatorial Problems, pages 85–103. Springer US, Boston, MA, 1972.
  • [50] T. Kloks. Treewidth, volume 842 of Lecture Notes in Computer Science. Springer-Verlag Berlin Heidelberg, 1 edition, 1994.
  • [51] E. Kubicka and A. J. Schwenk. An introduction to chromatic sums. In Proceedings of the 17th Conference on ACM Annual Computer Science Conference, CSC ’89, pages 39–45, New York, NY, USA, 1989. Association for Computing Machinery.
  • [52] V. A. Leoni and E. G. Hinrichsen. {k}\{k\}-packing functions of graphs. In P. Fouilhoux, L. E. N. Gouveia, A. R. Mahjoub, and V. T. Paschos, editors, Combinatorial Optimization, pages 325–335, Cham, 2014. Springer International Publishing.
  • [53] H. Maimani, M. Momeni, S. Nazari Moghaddam, F. Rahimi Mahid, and S. Sheikholeslami. Independent double Roman domination in graphs. Bulletin of the Iranian Mathematical Society, 46:543–555, 2020.
  • [54] A. Meir and J. W. Moon. Relations between packing and covering numbers of a tree. Pacific Journal of Mathematics, 61(1):225–233, 1975.
  • [55] Ø. Ore. Theory of graphs, volume XXXVIII of Colloquium Publications. American Mathematical Society, Providence, 3rd edition, 1962.
  • [56] N. Robertson and P. Seymour. Graph minors. III. Planar tree-width. Journal of Combinatorial Theory, Series B, 36(1):49–64, 1984.
  • [57] N. Robertson and P. Seymour. Graph minors. II. Algorithmic aspects of tree-width. Journal of Algorithms, 7(3):309–322, 1986.
  • [58] E. Sampathkumar and H. B. Walikar. The connected domination number of a graph. Journal of Mathematical and Physical Sciences, 13:607–613, 1979.
  • [59] Z. Shao, J. Amjadi, S. M. Sheikholeslami, and M. Valinavaz. On the total double Roman domination. IEEE Access, 7:52035–52041, 2019.
  • [60] C. Sloper. An eccentric coloring of trees. Australasian Journal of Combinatorics, 29:309–321, 2004.
  • [61] J. A. Telle. Vertex Partitioning Problems: Characterization, Complexity and Algorithms on Partial kk-Trees. PhD thesis, University of Oregon, 1994.
  • [62] M. Thorup. All structured programs have small tree width and good register allocation. Information and Computation, 142(2):159–181, 1998.
  • [63] V. G. Vizing. Vertex colorings with given colors. Diskret. Analiz, 29:3–10, 1976.
  • [64] M. Yannakakis and F. Gavril. Edge dominating sets in graphs. SIAM Journal on Applied Mathematics, 38(3):364–372, 1980.

Appendix A Problems definitions

We define here the decision versions of the problems mentioned along the paper. Other similar problems can also be modeled as rr-locally checkable problems.

A.1. Domination problems

Dominating set [55]
Instance: A (weighted) graph GG and a positive integer kk.
Question: Does there exist SV(G)S\subseteq V(G) of size (weight) at most kk and such that |N[v]S|1|N[v]\cap S|\geq 1 for every vV(G)v\in V(G)?
Total domination [22]
Instance: A (weighted) graph GG and a positive integer kk.
Question: Does there exist SV(G)S\subseteq V(G) of size (weight) at most kk and such that |N(v)S|1|N(v)\cap S|\geq 1 for every vV(G)v\in V(G)?
kk-tuple domination [42]
Instance: A (weighted) graph GG and a positive integer \ell.
Question: Does there exist SV(G)S\subseteq V(G) of size (weight) at most \ell and such that |N[v]S|k|N[v]\cap S|\geq k for every vV(G)v\in V(G)?
Total kk-tuple domination [46]
Instance: A (weighted) graph GG and a positive integer \ell.
Question: Does there exist SV(G)S\subseteq V(G) of size (weight) at most \ell and such that |N(v)S|k|N(v)\cap S|\geq k for every vV(G)v\in V(G)?
kk-domination [31]
Instance: A (weighted) graph GG and a positive integer \ell.
Question: Does there exist SV(G)S\subseteq V(G) of size (weight) at most \ell and such that |N(v)S|k|N(v)\cap S|\geq k for every vV(G)Sv\in V(G)\setminus S?
{k}\{k\}-domination [44]
Instance: A graph GG and a positive integer \ell.
Question: Does there exist a function f:V(G){0,1,,k}f\colon V(G)\to\{0,1,\ldots,k\} of weight at most \ell and such that f(N[v])kf(N[v])\geq k for every vV(G)v\in V(G)?
kk-rainbow domination [20]
Instance: A graph GG and a positive integer \ell.
Question: Does there exist a function f:V(G)2{1,,k}f\colon V(G)\to 2^{\{1,\ldots,k\}} of weight (vV(G)|f(v)|\sum_{v\in V(G)}|f(v)|) at most \ell and such that for every vertex vV(G)v\in V(G) for which f(v)=f(v)=\emptyset we have uNG[v]f(u)={1,,k}\bigcup_{u\in N_{G}[v]}f(u)=\{1,\ldots,k\}?
Semitotal dominating set [37]
Instance: A (weighted) graph GG with no isolated vertex and a positive integer kk.
Question: Does there exist a dominating set DV(G)D\subseteq V(G) of size (weight) at most kk and such that every vertex in DD is within distance two of another vertex in DD?
Distance kk-domination (also called kk-covering) [54, 45]
Instance: A (weighted) graph GG and a positive integer \ell.
Question: Does there exist a set SV(G)S\subseteq V(G) of size (weight) at most \ell and such that every vertex in GG is within distance kk from a vertex in SS?
Connected dominating set [58]
Instance: A (weighted) graph GG and a positive integer kk.
Question: Does there exist a dominating set of GG of size (weight) at most kk that induces a connected subgraph of GG?
Roman domination [23]
Instance: A graph GG and a positive integer kk.
Question: Does there exist a function f:V(G){0,1,2}f\colon V(G)\to\{0,1,2\} of weight at most kk and such that every vertex uV(G)u\in V(G) for which f(u)=0f(u)=0 is adjacent to at least one vertex vV(G)v\in V(G) for which f(v)=2f(v)=2?
Grundy total domination [13]
Instance: A graph GG and a positive integer kk.
Question: Does there exist a sequence (v1,,v)\left(v_{1},\ldots,v_{\ell}\right) of distinct vertices of GG such that k\ell\geq k, {v1,,v}\{v_{1},\ldots,v_{\ell}\} is a dominating set of GG and N(vi)j=1i1N(vj)N(v_{i})-\bigcup_{j=1}^{i-1}N(v_{j})\neq\emptyset for each ii?

A.2. Coloring problems

kk-coloring [35]
Instance: A graph GG.
Question: Does there exist a function c:V(G){1,,k}c\colon V(G)\to\{1,\ldots,k\} such that c(u)c(v)c(u)\neq c(v) whenever uvE(G)uv\in E(G)?
List-coloring [28, 63]
Instance: A graph GG and a set L(v)L(v) of colors for each vertex vV(G)v\in V(G).
Question: Does there exist a proper coloring cc such that c(v)Lvc(v)\in L_{v} for all vV(G)v\in V(G)?
kk-chromatic sum [51]
Instance: A graph GG.
Question: Is there a proper coloring cc of the graph GG such that vVc(v)k\sum_{v\in V}c(v)\leq k?
Additive coloring (also called lucky labeling) [25]
Instance: A graph GG and a positive integer kk.
Question: Does there exist a function f:V(G){1,,k}f\colon V(G)\to\{1,\ldots,k\} such that for every two adjacent vertices u,vu,v the sums of numbers assigned to their neighbors are different (that is, wN(u)f(w)zN(v)f(z)\sum_{w\in N(u)}f(w)\neq\sum_{z\in N(v)}f(z))?
Acyclic coloring [40]
Instance: A graph GG and a positive integer kk.
Question: Does there exist a kk-coloring of GG such that of every subgraph of GG spanned by vertices of two of the colors is acyclic (in other words, is a forest)?
L(h,k)L(h,k)-labeling [16]
Instance: A graph GG and a positive integer ss.
Question: Does there exist a labeling of its vertices by integers between 0 and ss such that adjacent vertices of GG are labeled using colors at least hh apart, and vertices having a common neighbor are labeled using colors at least kk apart?

A.3. Independence problems

Independent set [35]
Instance: A (weighted) graph GG and a positive integer kk.
Question: Does there exist an independent set of GG of size (weight) at least kk?
kk-independent set (also called distance dd-independent set) [32, 29]
Instance: A graph GG and a positive integer ss.
Question: Does there exist XV(G)X\subseteq V(G) of size at least ss such that the distance between every two vertices of XX is at least k+1k+1?

A.4. Packing problems

{k}\{k\}-packing function [52]
Instance: A graph GG and a positive integer \ell.
Question: Does there exist a function f:V(G){0,1,,k}f\colon V(G)\to\{0,1,\ldots,k\} of weight at least \ell and such that f(N[v])kf(N[v])\leq k for every vV(G)v\in V(G)?
kk-limited packing [34]
Instance: A graph GG and a positive integer \ell.
Question: Does there exist a function f:V(G){0,1}f\colon V(G)\to\{0,1\} of weight at least \ell and such that f(N[v])kf(N[v])\leq k for every vV(G)v\in V(G)?
Packing chromatic number [14]
Instance: A graph GG and a positive integer kk.
Question: Can GG be partitioned into disjoint classes X1,,XkX_{1},\ldots,X_{k} where vertices in XiX_{i} have pairwise distance greater than ii?

A.5. Problems involving edges

Matching [26]
Instance: A(n) (edge weighted) graph GG and a positive integer kk.
Question: Does there exist a set ME(G)M\subseteq E(G) of pairwise non-adjacent edges of size (weight) at least kk?
Edge domination [64]
Instance: A(n) (edge weighted) graph GG and a positive integer kk.
Question: Does there exist FE(G)F\subseteq E(G) of size (weight) at most kk and such that every edge in E(G)E(G) shares an endpoint with at least one edge in FF?
Vertex cover [49]
Instance: A (weighted) graph GG and a positive integer kk.
Question: Does there exist SV(G)S\subseteq V(G) of size (weight) at most kk and such that every edge in E(G)E(G) has at least one endpoint in SS?
Edge cover [35]
Instance: A(n) (edge weighted) graph GG and a positive integer kk.
Question: Does there exist FE(G)F\subseteq E(G) of size (weight) at most kk and such that every vertex in V(G)V(G) belongs to at least one edge in FF?