Two new homomorphism dualities and lattice operations

Two new homomorphism dualities and lattice operations
Two new homomorphism dualities and lattice operations∗
Catarina Carvalho
University of Lisbon
1649-003 Lisbon, Portugal
[email protected]
Vı́ctor Dalmau
University Pompeu Fabra
Barcelona, 08018 Spain
[email protected]
Andrei Krokhin
Durham University
Durham, DH1 3LE, UK
[email protected]
June 17, 2010
Abstract
The study of constraint satisfaction problems definable in various fragments of Datalog
has recently gained considerable importance. We consider constraint satisfaction problems
that are definable in the smallest natural recursive fragment of Datalog - monadic linear
Datalog with at most one EDB per rule, and also in the smallest non-linear extension of
this fragment. We give combinatorial and algebraic characterisations of such problems,
in terms of homomorphism dualities and lattice operations, respectively. We then apply
our results to study graph H-colouring problems.
1
Introduction
The constraint satisfaction problem (CSP) provides a framework in which it is possible to
express, in a natural way, many combinatorial problems encountered in artificial intelligence
and computer science. A constraint satisfaction problem is represented by a set of variables,
a domain of values for each variable, and a set of constraints between variables. The aim in
a constraint satisfaction problem is then to find an assignment of values to the variables that
satisfies the constraints.
It is well known (see, e.g., [7, 16, 27]) that the constraint satisfaction problem can be recast
as the following fundamental problem: given two finite relational structures A and B, is there
a homomorphism from A to B? The CSP is NP-complete in general, and the identifying of
its subproblems that have lower complexity has been a very active research direction in the
last decade (see, e.g., [7, 16, 18, 27, 29]). One of the most studied restrictions on the CSP
is when the structure B is fixed, and only A is part of the input. The obtained problem is
denoted by CSP(B). Examples of such problems include k-Sat, Graph H-colouring, and
Systems of Equations (e.g., linear equations).
A variety of mathematical approaches to study problems CSP(B) has been recently suggested. The most advanced approaches use logic, combinatorics, universal algebra, and their
∗
A preliminary version of part of this paper was published in the proceedings of LICS’08.
1
combinations (see [6, 7, 26, 27]). The logic programming language Datalog and its fragments are arguably some of the most important tools for solving CSPs. In fact, all problems
CSP(B) that are known to be tractable can be solved via Datalog, via the “few subpowers
property” [24], or via a combination of the two. Furthermore, for every problem CSP(B) that
is currently known to belong to NL or to LOGSPACE, the complement of CSP(B) can be
defined in linear Datalog and symmetric Datalog, respectively (see [6, 9, 13]). The algebraic
approach to the CSP was recently linked with non-definability in the above fragments of
Datalog [29].
The definability of CSP(B) in Datalog and its fragments is very closely related with
homomorphism dualities (see, e.g., [6]) that were much studied in the context of graph homomorphisms (see [20]). Roughly, a structure B has duality (of some type) if the non-existence
of a homomorphism from a given structure A to B can always be explained by the existence
of a simple enough obstruction structure (i.e., one that homomorphically maps to A but not
to B). The types of dualities correspond to interpretations of the phrase “simple enough”.
The most important duality probably is bounded treewidth duality which is equivalent to
definability in Datalog (see [6, 16]). Structures with this duality have been recently characterised in algebraic terms (see [2], also [5]). Two other well-understood dualities are finite
duality [28, 32, 33] and tree duality [11, 16]. Both of these properties have nice logical, combinatorial, and algebraic characterisations (see the above papers or [6]). For example, they
correspond to definability in first-order logic and in monadic Datalog, respectively. The simplest of trees are paths, and the concept of path duality was also much used to study graph
homomorphism (see [21, 23]). In this paper we argue that, in the setting of general relational
structures, a slightly more general notion of caterpillar duality is more natural, and we give
concise logical, combinatorial, and algebraic characterisations of structures having this form
of duality (see Section 3). We also give such characterisations of a similar new duality (which
we call jellyfish duality) that originates from the study of Boolean CSP [8]. Interestingly, and
somewhat unexpectedly, the algebraic characterisations for the new dualities involve lattice
operations.
The problems CSP(B) with B being a digraph H are actively studied in graph theory
under the name of H-colouring [20]. Recently, algebraic and logical approaches to the CSP
were applied to solve well-known open problems (or to give short proofs of known results)
about H-colouring (see, e.g., [1, 3, 4]). We also apply our findings to obtain new results about
H-colouring in Section 4.
2
2.1
Preliminaries
Basic definitions
A vocabulary is a finite set of relation symbols or predicates. In what follows, τ always
denotes a vocabulary. Every relation symbol R in τ has an arity r = ρ(R) > 0 associated
to it. We also say that R is an r-ary relation symbol. A τ -structure A consists of a set A,
called the universe of A, and a relation RA ⊆ Ar for every relation symbol R ∈ τ where r
is the arity of R. All structures in this paper are assumed to be finite, i.e., structures with
a finite universe. Throughout the paper we use the same boldface and slanted capital letters
to denote a structure and its universe, respectively.
A homomorphism from a τ -structure A to a τ -structure B is a mapping h : A → B such
that for every r-ary R ∈ τ and every (a1 , . . . , ar ) ∈ RA , we have (h(a1 ), . . . , h(ar )) ∈ RB .
2
We denote this by h : A → B. We also say that A homomorphically maps to B, and write
A → B if there is a homomorphism from A to B and A 6→ B if there is no homomorphism.
Now CSP(B) can be defined to be the class of all structures A such that A → B. The class
of all structures A such that A 6→ B will be denoted by co-CSP(B). We now give three
examples of combinatorial problems representable as CSP(B) or co-CSP(B) for a suitable
structure B; a number of other examples can be found in [6, 7, 27].
Example 1. If Bhc is a digraph H then CSP(Bhc ) is the much-studied problem, H-colouring,
of deciding whether there is a homomorphism from a given digraph to H [20]. If H is the
complete graph Kk on k vertices then it is well known (and easy to see) that CSP(Bhc ) is
precisely the standard k-colouring problem.
Example 2. If Blhc is a structure obtained from a digraph H by adding, for each non-empty
subset U of H, a unary relation U then CSP(Blhc ) is exactly the List H-colouring problem,
in which every vertex v of the input digraph G gets a list Lv of vertices of H, and the question
is whether there is a homomorphism h : G → H such that h(v) ∈ Lv for all v ∈ G (see [20]).
Example 3. If Br is the Boolean (i.e., with universe {0, 1}) structure with one binary relation
Br
R≤
, which is the natural order relation on {0, 1}, and two unary relations T Br = {0} and
S Br = {1} then co-CSP(Br ) is the (directed) Reachability problem where one is given a
digraph and two sets of vertices in it, S and T , and the question is whether there is a directed
path in the graph from some vertex in S to a vertex in T .
Two structures B1 and B2 are said to be homomorphically equivalent if both B1 → B2
and B2 → B1 . Clearly, in this case we have CSP(B1 ) = CSP(B2 ). A retract of a structure B
is an induced substructure B′ of B such that there is a homomorphism h : B → B′ satisfying
h(b) = b for all b ∈ B′ . A structure is a core if it has no proper retracts, and a core of
a structure is its retract that is a core. It is well known that all cores of a structure are
isomorphic, so we will call any structure isomorphic to a core of B the core (of B), denoted
core(B). Note that two structures are homomorphically equivalent if and only if they have
the same core (up to isomorphism).
We will now define structures that play an important role in this paper - trees and caterpillars, which are natural generalisations of the corresponding notions from graph theory, and
also jellyfish structures which are new. Let A be a τ -structure. As in [32], the incidence
multigraph of A, denoted Inc(A), is defined as the bipartite multigraph with parts A and
Block(A), where Block(A) consists of all pairs (R, a) such that R ∈ τ and a ∈ RA , and with
edges ea,i,Z joining a ∈ A to Z = (R, (a1 , . . . , ar )) ∈ Block(A) when ai = a. A structure A is
said to be a τ -tree (or simply a tree) if its incidence multigraph is a tree (in particular, it has
no multiple edges). For a τ -tree A, we say that an element of A is a leaf if it is incident to at
most one block in Inc(A). A block of A (i.e., a member of Block(A)) is said to be pendant
if it is incident to at most one non-leaf element, and it is said to be non-pendant otherwise.
For example, any block with a unary relation is always pendant. Observe that a structure
with only one element and empty relations is a tree.
In graph theory, a caterpillar is a tree which becomes a path after all its leaves are removed.
Following [30], we say that a τ -tree is a τ -caterpillar (or simply a caterpillar) if each of its
blocks is incident to at most two non-leaf elements, and each element is incident to at most two
non-pendant blocks. Informally, a τ -caterpillar has a body consisting of a chain of elements
a1 , . . . , an+1 with blocks B1 , . . . , Bn where Bi is incident to ai and ai+1 (i = 1, . . . , n), and
3
legs of two types: (i) pendant blocks incident to exactly one of the elements a1 , . . . , an+1 ,
together with some leaf elements incident to such blocks, and (ii) leaf elements incident to
exactly one of the blocks B1 , . . . , Bn .
Example 4. (i) If τ is the signature of digraphs then the τ -caterpillars are the oriented
caterpillars, i.e., digraphs obtained from caterpillar graphs by orienting each edge in some
way.
(ii) Let B be a structure with B = {1, 2, . . . , 9}, one unary relation R1 = {2, 3}, one binary
relation R2 = {(1, 2), (2, 3), (3, 4), (4, 8)} and one ternary relation R3 = {(3, 6, 7), (4, 5, 9)}.
The graph Inc(B) is shown on Fig. 1. The elements 2, 3, 4 are the non-leaves, and (R2 , (2, 3))
and (R2 , (3, 4)) are the non-pendant blocks. In particular, B is a caterpillar.
9
(R1,3)
(R1,2)
3
1
(R2,(1,2))
2
(R3,(4,5,9))
(R2,(3,4))
(R2,(2,3))
(R3,(3,6,7))
6
5
4
7
(R2,(4,8))
8
Figure 1: The incidence graph of a caterpillar structure.
We say that a non-leaf a ∈ A of a τ -tree A is extreme if it is incident to at most one
non-pendant block (i.e., it has at most one other non-leaf at distance two from it) in Inc(A),
and we say that a pendant block is extreme if either it is the only block of A or else it
is adjacent to a non-leaf, and this (unique) non-leaf is extreme. Finally, we say that an
element is terminal if it is isolated (i.e., does not appear in any relation in A) or it appears
in an extreme pendant block. Clearly, a caterpillar can have at most two extreme non-leaves
and every extreme non-leaf is also terminal. For example in the caterpillar from Fig. 1, the
extreme non-leaves are 2 and 4, the extreme pendant blocks are R2 (1, 2), R1 (2), R2 (4, 8), and
R3 (4, 5, 9), and the terminal elements are 1, 2, 4, 5, 8, 9.
The following definition is new. We say that a τ -tree A is a τ -jellyfish if it is a one-element
structure with empty relations or it is obtained from one tuple (in one relation) R(a), called
the body of the jellyfish, and a family of caterpillars by identifying one terminal element of
each caterpillar with some element in the tuple a (see Fig. 2, where the curved lines depict
caterpillars). Note that, since A is a tree, the tuple a is contained in only one relation in A,
and has no repeated components. It is easy to see that each caterpillar structure is a jellyfish
structure.
2.2
Datalog
We now briefly describe the basics of Datalog (for more details, see, e.g., [9, 12, 25, 26]).
Fix a vocabulary τ . A Datalog program is a finite set of rules of the form t0 : − t1 , . . . , tn
4
(a1,
a2,
…
an-1,
an)
…
Figure 2: A jellyfish structure, schematically.
where each ti is an atomic formula R(xi1 , . . . , xik ). Then t0 is called the head of the rule,
and the sequence t1 , . . . , tn the body of the rule. The intended meaning of such a rule is
that the conjunction of the atomic formulas in the body implies the formula in the head,
with all variables not appearing in the head existentially quantified. The predicates occurring
in the heads of the rules are not from τ and are called IDBs (from “intensional database
predicates”), while all other predicates come from τ and are called EDBs (from “extensional
database predicates”). One of the IDBs, which is usually 0-ary in our case, is designated
as the goal predicate of the program. Since the IDBs may occur in the bodies of rules, each
Datalog program is a recursive specification of the IDBs, with semantics obtained via least
fixed-points of monotone operators. The goal predicate is assumed to be initially set to false,
and we say that a Datalog program accepts a τ -structure A if its goal predicate evaluates
to true on A. In this case we also say that the program derives the goal predicate on A.
More generally, we say that a program derives the fact I(a) on A, where I is an IDB in the
program and a is a tuple, if I(a) holds after the program’s run on A. It is easy to see that
the class of structures accepted by any Datalog program is closed under homomorphism (i.e.,
if A → B and A is accepted then B is also accepted). Hence, when using Datalog to study
CSP(B), one speaks of the definability of co-CSP(B) in Datalog (or its fragments).
A rule of a Datalog program is called linear if it has at most one occurrence of an IDB
in its body. A Datalog program is called linear if each of its rules is linear, monadic if each
IDB in it is at most unary, and a (1, k)-Datalog program if it is monadic and every rule in
it uses at most k variables. A Datalog program is recursion-free if the goal predicate is the
only IDB in it.
We now give some examples of Datalog programs defining classes of the form co-CSP(B),
more examples can be found in [6, 9, 26].
Example 5. (i) Recall the problem CSP(Br ) from Example 3. It is easy to check that the
following (linear monadic) program defines co-CSP(Br ). (It recursively computes the unary
relation O containing all vertices reachable from S).
O(X) : − S(X)
O(Y ) : − R≤ (X, Y ), S(X)
G
: − T (X), O(X)
5
(ii) Let Bihsb−k denote the Boolean structure with three relations, unary U = {0}, binary
R≤ (same as in the previous example), and k-ary W = {0, 1}k \ {(0, . . . , 0)}. These relations
are basic implicative hitting-set bounded relations, as introduced in [8]. It can be checked
directly that the following program describes co-CSP(Bihsb−k ).
Z(X) : − U (X)
Z(X) : − R≤ (X, Y ), Z(Y )
G
: − W (X1 , X2 , . . . , Xk ), Z(X1 ), Z(X2 ), . . . , Z(Xk )
For a given structure B, a given fragment of Datalog, and a given (upper) bound on the
number of variables in a rule, there is a standard way of constructing the canonical program
for B in the given fragment of Datalog with the given bound (see, e.g., [6, 16]). We will
need this construction only for fragments of monadic Datalog, so we describe it only for this
case. The canonical (1, k)-Datalog program P1,k for a structure B is constructed as follows:
let S0 , S1 , . . . , Sp be an enumeration of unary relations on B (i.e., subsets of B) that can be
expressed by a first-order ∃∧-formula over B. Assume that S0 is the empty relation. For
each Si , introduce a unary IDB Ii . Then the canonical program involves the IDBs I0 , . . . , Ip
and EDBs R1 , . . . , Rn (precisely corresponding to the relation symbols in τ ) , and contains all
the rules with at most k variables that have the following property: if every Ii in the rule is
replaced by Si and every Rs by RsB , then every assignment of elements of B to the variables
that satisfies the conjunction of atomic formulas in the body must also satisfy the atomic
formula in the head. Finally, declare I0 to be the goal predicate (or equivalently include the
goal predicate G along with the rule G : − I0 (x)). To obtain a canonical program for B in
a given fragment of monadic Datalog, simply remove from P1,k all rules not belonging to the
fragment.
Note that B is not accepted by the canonical program for itself (in any fragment of
Datalog, for any k). Indeed, by construction, a derivation of G on B could be translated
into a chain of valid implications which starts from an atomic formula and finishes with the
empty (i.e., false) predicate, which is impossible. This, and the fact that any class definable
in Datalog is closed under homomorphism, implies the following.
Fact 6. If the canonical program for B in some fragment of Datalog accepts a structure A
then A 6→ B.
2.3
Polymorphisms
Let f be an n-ary operation on B, and R a relation on B. We say that f is a polymorphism
of R if, for any tuples, ā1 , . . . , ān ∈ R, the tuple obtained by applying f componentwise to
ā1 , . . . , ān also belongs to R. In this case we also say that R is invariant under f .
Example 7. It is straightforward to verify that, for the Boolean relation OR = {0, 1}2 \
{(0, 0)}, the binary operation max on {0, 1} is a polymorphism, but the operation min is not.
We say that f is a polymorphism of B if it is a polymorphism of each relation in B. It
is easy to check that the n-ary polymorphisms of B are precisely the homomorphisms from
the n-th direct power Bn to B. It is well known and easy to verify that composition of
polymorphisms of B is again a polymorphism of B (see, e.g., [7]).
The notion of a polymorphism plays the key role in the algebraic approach to the CSP.
The polymorphisms of a (core) structure are known to determine the complexity of CSP(B)
6
as well as definability of (the complement of) CSP(B) in Datalog and the following fragments:
monadic, linear, symmetric (see [6, 29]). Many algebraic sufficient conditions for definability
of co-CSP(B) in various fragments of Datalog are known (see [6]).
Let us now define several types of operations that will be used in this paper.
• An n-ary operation f on B is called idempotent if it satisfies the identity f (x, . . . , x) = x,
and it is called conservative if f (x1 , . . . , xn ) ∈ {x1 , . . . , xn } for all x1 , . . . , xn ∈ B.
• An n-ary operation f is called totally symmetric if f (x1 , . . . , xn ) = f (y1 , . . . , yn ) whenever {x1 , . . . , xn } = {y1 , . . . , yn }.
• An n-ary (n ≥ 3) operation is called an NU (near-unanimity) operation if it satisfies
the identities
f (y, x, . . . , x, x) = f (x, y, . . . , x, x) = . . . = f (x, x, . . . , x, y) = x.
• A ternary NU operation is called a majority operation.
• A binary associative commutative idempotent operation is called a semilattice operation.
• A pair of binary operations f , g on B is a pair of lattice operations if each of them is a
semilattice operation and, in addition, they satisfy the absorption identities: f (x, g(x, y)) =
g(x, f (x, y)) = x.
It is well known (see, e.g., [17]) that semilattice operations are in one-to-one correspondence with partial orders in which every two elements have a greatest lower bound (which
is the result of applying the operation). Similarly, lattice operations are in one-to-one correspondence with partial orders in which every two elements have both a greatest lower bound
and a least upper bound. The simplest example of lattice operations are the operations min
and max with respect to any fixed linear order on B. It is standard practice to use infix notation for lattice operations, i.e., to write x ⊓ y and x ⊔ y for f (x, y) and g(x, y), respectively.
The algebra (B, ⊓, ⊔) is then called a lattice. A lattice is said to be distributive if it satisfies
the identity x ⊓ (y ⊔ z) = (x ⊓ y) ⊔ (x ⊓ z). Equivalently, a lattice is distributive if it can be
represented by a family of subsets of a set with the operations interpreted as set-theoretic
intersection and union (see [17]).
2.4
Dualities
A comprehensive treatment of dualities for the CSP can be found in the survey [6].
Definition 8. A set O of τ -structures is called an obstruction set for B if, for any τ -structure
A, we have A 6→ B if and only if A′ → A for some A′ ∈ O.
If the set O can be chosen to consist of nicely behaved structures such as paths, caterpillars,
trees, or structures of bounded pathwidth or of bounded treewidth, then B is said to have
path (caterpillar, tree, bounded pathwidth, bounded treewidth, respectively) duality. The
notions of bounded path- and treewidth are not defined here because they are not needed in
this paper (but they can be found in [6]). A structure with a finite obstruction set is said to
have finite duality.
7
Example 9. Let Tn be the (irreflexive) transitive tournament on n vertices, that is, the
universe of Tn is {0, 1, . . . , n − 1}, and the only relation is the binary relation {(i, j) | 0 ≤
i < j ≤ n − 1}. Also, let Pn+1 be the directed path on n + 1 vertices, that is the structure
with universe {0, 1, . . . , n} and the relation {(i, i + 1) | 0 ≤ i ≤ n − 1}. It is well known (see,
e.g., Proposition 1.20 of [20]) and easy to show that, for any digraph G, G → Tn if and only
if Pn+1 6→ G. Hence, {Pn+1 } is an obstruction set for Tn , and Tn has finite (path) duality.
Example 10. An oriented path is a digraph obtained from a path by orienting its edges in
some way. A digraph is called a local tournament if the set of out-neighbours of any vertex
induces a tournament. For example, all transitive tournaments and all directed paths (see
Example 9) are local tournaments. It was shown in [22, 23] that any digraph H that is an
oriented path or an acyclic local tournament has an obstruction set consisting of oriented
paths. Since any oriented path is a caterpillar, it follows that H has caterpillar duality (and
even path duality). It can be shown that it does not necessarily have finite duality.
Example 11. It can be shown that the structure Bihsb−k from Example 5(ii) has jellyfish
duality. Any such structure has polymorphism x ∨ (y ∧ z). Moreover, it can be shown (see
Section 7.2 of [9]) that any Boolean structure that has such polymorphism, or the dual polymorphism x ∧ (y ∨ z), has jellyfish duality. In fact, it was the observation that jellyfish duality
and these two polymorphisms are connnected (in the Boolean case) that led us to introducing
and studying jellyfish dualities in general.
Example 12. Let B have universe B = {1, 2, . . . , m}, one binary relation R≤ (natural order
on B), and m unary relations Ua = {a}, 1 ≤ a ≤ m. For fixed 1 ≤ i < j ≤ m, let Bij be the
structure obtained from B by removing the tuple (i, j) from R≤ . Structures in the signature
of B can be naturally viewed as coloured digraphs (with colours given by the unary relations).
Then it is not hard to check that Bij has an obstruction set consisting of all structures
of the form shown on Fig. 3(a) (where the directed path has any non-negative length and the
black circles denote coloured elements) with p > q and, in addition, the following structures.
(1) If i + 1 = j, all structures of the form shown on Fig. 3(a) with p = i and q = i + 1, so Bij
has caterpillar duality. (2) If 1 < i < m − 1 and j = m, all structures of the form shown on
Fig. 3(b). (3) If i = 1 and 2 < j < m, all structures of the form shown on Fig. 3(c). (4) If
1 < i < j − 1 < m − 1, all structures of the form shown on Fig. 3(d). Note that the structures
shown on Fig. 3(b-d) are jellyfish structures (the horizontal arc being the body), so Bij has
jellyfish duality in this case (but not caterpillar duality, as we will show in Section 3.3). The
remaining case i = 1, j = m is a cross between the second and the third cases above, and B1m
can be easily shown to have caterpillar duality.
It is known (see [6]) that a structure B has one of the following forms of duality: finite,
tree, bounded pathwidth, bounded treewidth if and only if co-CSP(B) is definable in the
following fragments of Datalog, respectively: recursion-free, monadic, linear, full.
Structures with tree duality were characterised in several equivalent ways in [16]. To
state the result, we need the following construction: for a τ -structure B, define a τ -structure
U(B) whose elements are the non-empty subsets of B, and, for each r-ary R ∈ τ , we have
(A1 , . . . , Ar ) ∈ RU(B) if and only if, for each j = 1, . . . , r and each a ∈ Aj , there exists
(a1 , . . . , ar ) ∈ RB ∩ (A1 × . . . × Ar ) such that aj = a.
Theorem 13. [16, 11] Let B be a structure. The following conditions are equivalent:
1. B has tree duality;
8
q
i
1
(a)
(b)
(c)
p
i
m
j
i
j
(d)
j
i
j
Figure 3: Obstructions for Bij .
2. co-CSP(B) is definable by a monadic Datalog program with at most one EDB per rule;
3. U(B) admits a homomorphism to B;
4. for every n ≥ 1, B has an n-ary totally symmetric polymorphism;
5. B is homomorphically equivalent to a structure A with polymorphism x ⊓ y for some
distributive lattice (A, ⊓, ⊔);
6. B is homomorphically equivalent to a structure A′ with polymorphism x ⊓ y for some
semilattice (A′ , ⊓).
It is known that any structure with finite duality has a finite obstruction set consisting of
trees [32]; such structures are characterised in many equivalent ways in [28]. The situation
when these trees can be chosen to be caterpillars was considered in [30].
Theorem 14 ([30]). Let B be a core structure with finite duality. Then B has an obstruction
set consisting of caterpillars if and only if B has a majority polymorphism.
3
3.1
The new dualities
A characterisation
The main results of this paper are characterisations of structures with caterpillar duality and
with jellyfish duality in the spirit of Theorem 13. First, we need to give some definitions.
Let k, n be positive integers. We call a (kn)-ary operation f on B k-block symmetric if it
satisfies the following condition:
f (x11 , . . . , x1k , . . . , xn1 , . . . , xnk ) = f (y11 , . . . , y1k , . . . , yn1 , . . . , ynk )
9
whenever {S1 , . . . , Sn } = {T1 , . . . , Tn } where, for all i, Si = {xi1 , . . . , xik } and Ti = {yi1 , . . . , yik }.
Note that if k = 1 or n = 1 then f is totally symmetric.
We will often use the following notation for k-block symmetric operations. For (not necessarily distinct) subsets S1 , . . . , Sn of B, with at most k elements each, let f (S1 , S2 , . . . , Sn )
denote f (x11 , . . . , x1k , . . . , xn1 , . . . , xnk ) where Si = {xi1 , . . . , xik } for all i. Also, for l ≤ n,
let f (S1 , . . . , Sl ) denote f (S1 , . . . , Sl , . . . , Sl ). It is clear that f (S1 , . . . , Sl ) is well defined and
depends neither on the order of the sets Si nor on the number of repetitions of those sets.
Therefore, we will also write f (S) for a family of non-empty subsets S = {S1 , . . . , Sl } to denote
f (S1 , . . . , Sl ).
If a k-block symmetric operation f satisfies f (S1 , S2 , S3 , . . . , Sl ) = f (S2 , S2 , S3 , . . . , Sl )
whenever S2 ⊆ S1 , we call it an absorptive k-block symmetric operation (or k-ABS operation,
for short). The most typical example of such an operation is as follows.
Example 15. (i) It is easy to check that, for any fixed linear order on B and any positive
integers k, n, the operation
f (x11 , . . . , x1k , . . . , xn1 , . . . , xnk ) = max(min(x11 , . . . , x1k ), . . . , min(xn1 , . . . , xnk )).
is a k-ABS operation.
(ii) More generally, if (B, ⊓, ⊔) is a lattice then it is easy to check that, for any k, n, the
operation
f (x11 , . . . , x1k , . . . , xn1 , . . . , xnk ) = (x11 ⊓ . . . ⊓ x1k ) ⊔ . . . ⊔ (xn1 ⊓ . . . ⊓ xnk ).
is a k-ABS operation.
For 1 ≤ m ≤ r and an r-ary relation R, let prm (R) = {am | (a1 , . . . , am , . . . , ar ) ∈ R}.
Let B be a τ -structure. We construct a τ -structure C(B) as follows: the elements
of C(B) are the families of non-empty subsets of B; for each r-ary relation RB , we have
(S1 , S2 , . . . , Sr ) ∈ RC(B) if, for all j, m = 1, . . . , r, we have
1. prm (RB ) ∈ Sm , and
2. prm (RB ∩ (B j−1 × S × B r−j )) ∈ Sm for each S ∈ Sj .
Note that the empty family belongs to the universe of C(B), but it never appears in any
tuple in a relation in this structure.
Theorem 16. Let B be a structure. The following conditions are equivalent:
1. B has caterpillar duality;
2. co-CSP(B) is definable by a linear monadic Datalog program with at most one EDB per
rule;
3. C(B) admits a homomorphism to B;
4. for every k, n ≥ 1, B has a kn-ary k-ABS polymorphism;
5. B is homomorphically equivalent to a structure A with polymorphisms x ⊓ y and x ⊔ y
for some distributive lattice (A, ⊓, ⊔);
10
6. B is homomorphically equivalent to a structure A′ with polymorphisms x ⊓ y and x ⊔ y
for some lattice (A′ , ⊓, ⊔).
The proof of Theorem 16 will be given in Section 3.2.
We say that an operation f of arity kn + 1 is an extended k-ABS operation if, (i) by fixing
any value for the first variable one gets a kn-ary k-ABS operation, and, in addition, (ii) the
following replacement property holds for all x, y and all sets S1 , . . . , Sn with |Si ∪ {y}| ≤ k
and |Si ∪ {x}| ≤ k for i = 1, . . . , n:
f (x, S1 ∪ {y}, . . . , Sn ∪ {y}) = f (y, S1 ∪ {x}, . . . , Sn ∪ {x}).
Note that property (i) allows us to write property (ii) in this form, by using the “block
notation”.
Example 17. If (B, ⊓, ⊔) is a distributive lattice then it is easy to check that, for any k, n,
the operation
f (x0 , x11 , . . . , x1k , . . . , xn1 , . . . , xnk ) = x0 ⊓ ((x11 ⊓ . . . ⊓ x1k ) ⊔ . . . ⊔ (xn1 ⊓ . . . ⊓ xnk )).
is an extended k-ABS operation. The distributivity of the lattice is important to guarantee
the replacement property.
For a structure B, let J(B) denote the substructure of C(B)
that,
R, a tuple
T such
T 2 for any T
C(B)
J(B)
B
1
∈R
belongs to R
if and only if R ∩ ( S × S × . . . × Sr ) 6= ∅.
(S1 , S2 , . . . , Sr )
Theorem 18. Let B be a structure. The following conditions are equivalent:
1. B has jellyfish duality;
2. co-CSP(B) is definable by a monadic Datalog program with at most one EDB per rule
and such that each non-linear rule has the goal predicate in its head;
3. J(B) admits a homomorphism to B;
4. for every k, n ≥ 1, B has a (kn + 1)-ary extended k-ABS polymorphism;
5. B is homomorphically equivalent to a structure A with polymorphism x ⊓ (y ⊔ z) for
some distributive lattice (A, ⊓, ⊔).
The proofs of Theorems 16 and 18 are very similar, and so we will prove the theorems
simultaneously in the next subsection.
For the sake of brevity, we will say that a monadic Datalog program with at most one
EDB per rule (as in condition (2) of Theorem 13) is a tree program. Similarly, we will say that
a tree program which is linear (as in condition (2) of Theorem 16) is a caterpillar program,
and a program such as the one described in condition (2) of Theorem 18 is a jellyfish program.
For instance, the program from Example 5(i) is a caterpillar program, while the program from
Example 5(ii) is a jellyfish program.
It is not hard to verify that, for any class co-CSP(B) definable by a (non-linear, in general) jellyfish program, one can construct a linear, though not necessarily monadic, Datalog
program that also defines co-CSP(B). In particular, it follows, by [9], that jellyfish duality
for B implies membership of CSP(B) in the complexity class NL. Previously, the presence
11
of a majority polymorphism was the only general (i.e., applicable to any structure) sufficient algebraic condition for CSP(B) to be in NL [10]. The above discussion shows that
(kn + 1)-ary extended k-ABS polymorphism (where, by Remark 28, we can take k = ρ|B|
and n = ρ(2|B| − 1) with ρ being the maximum of the arities of the relations in B) provides
a new such condition.
3.2
Proofs of Theorems 16 and 18
We will prove the theorems through a sequence of lemmas. In our proofs, we will actively use
the canonical caterpillar (and jellyfish) program for B, recall the definitions from Section 2.2.
We will always assume that the bound on the number of variables in a rule in such a program
is equal to the maximum of the arities of the relations in B.
Lemma 19. Let D be a caterpillar and let a be a terminal element in it. Then the canonical
caterpillar program for B derives, on D, the fact Ij (a) where Ij is the IDB corresponding to
the set Sj = {h(a) | h : D → B}.
Proof. We prove the lemma by induction on the number of nodes of the incidence graph,
Inc(D), of D. If D consists of a unique node a and empty relations then Sj = B and the
program derives Ij (a) via the rule Ij (X) : −(empty body).
Assume now that Inc(D) has at least two nodes. Let R(a1 , . . . , ar ) be the extreme pendant
block to which a belongs, so a = as for some 1 ≤ s ≤ r. If D contains some other block
then define ai to be the extreme non-leaf in {a1 , . . . , ar }; otherwise, let ai be an arbitrary
element of {a1 , . . . , ar }. Let D′ be the substructure of D obtained by removing the tuple
(a1 , . . . , ar ) from R and the elements of {a1 , . . . , ar } \ {ai } from D (observe that in the second
case this gives a structure containing only the element ai and empty relations). Clearly ai
is a terminal element of D′ and hence, by the inductive hypothesis, the canonical caterpillar
program derives on D′ (and hence on D) the fact It (ai ) where St = {h(ai ) | h : D′ → B}.
Clearly Sj = prs RB ∩(B i−1 ×St ×B r−i) and hence the canonical caterpillar program contains
the rule
Ij (Xs ) : −R(X1 , . . . , Xr ), It (Xi )
from which Ij (a) is obtained.
Lemma 20. For any structures A and B, if there exists a caterpillar (jellyfish) C such that
C → A and C 6→ B then the canonical caterpillar (jellyfish, resp.) program for B accepts A.
Proof. Since the class of structures accepted by any Datalog program is closed under homomorphism, it suffices to show that C is accepted by the program.
The caterpillar case follows directly from Lemma 19. Let us now consider the jellyfish case. Let the tuple (a1 , . . . , ar ) ∈ R be the body of the jellyfish C and, for 1 ≤
i ≤ r, let Ci1 , . . . , Cisi be the caterpillars attached to ai . Since the canonical jellyfish
program for B contains all rules of the canonical caterpillar one, Lemma 19 implies that,
for each 1 ≤ i ≤ r and each 1 ≤ j ≤ si , the canonical jellyfish program derives the
fact Iij (ai ) where Iij is the IDB corresponding to the set Sij = {h(ai ) | h : Cij → B}.
Since C 6→ B, it follows that {(b1 , . . . , br ) ∈ RB | bi ∈ Sij for all i = 1, . . . , r and all j =
1, . . . , si } = ∅ and hence, by construction, the canonical jellyfish program contains the rule
G : −R(X1 , . . . , Xr ), I11 (X1 ), , . . . , I1s1 (X1 ), . . . , Ir1 (Xr ), . . . , Irsr (Xr ) from which the goal
predicate is derived.
12
Lemma 21. A structure B has caterpillar (jellyfish) duality if and only if co-CSP(B) can be
defined by a caterpillar (jellyfish, respectively) program.
Proof. Suppose that co-CSP(B) is defined by a caterpillar program. This means that a
structure A satisfies A 6→ B if and only if A is accepted by the program.
If A 6→ B then by the Sparse Incomparability Lemma [31] there is a structure C that is
homomorphic to A but not to B and such that for every R ∈ τ and every (a1 , . . . , ar ) ∈ RC ,
ai 6= aj for all 1 ≤ i 6= j ≤ r. Since C 6→ B the canonical program derives the goal predicate
on C. Reading the derivation from the end to the beginning we obtain
G : − I0 (a0 )
I0 (a0 ) : − Ri1 (. . . , a0 , . . . , ai , . . .), Ij1 (ai )
Ij1 (ai ) : − Ri2 (. . . , ai , . . . , aj , . . .), Ij2 (aj )
..
.
Ij(l−1) (ap ) : − Ril (. . . , ap , . . . , aq , . . .), Ijl (aq )
Ijl (aq ) : − Ril+1 (. . . , aq , . . .).
Note that the first two lines in this derivation can instead appear in the “merged” form
G : −Ri1 (. . . , a0 , . . . , ai , . . .), Ij1 (ai ). Consider a substructure C′ of C such that, for any
′
R ∈ τ and any ā, we have ā ∈ RC if and only if R(ā) appears in the above derivation. Now
modify the structure C′ by giving new names to the occurrences of each element in such a
way that in the obtained structure we have the following:
• there is no repetition of elements in any tuple in any relation, and
• if two tuples (possibly in different relations) share an element then this element appears
in the heads of all rules between the rules corresponding to the two tuples.
Call the obtained structure D. It is clear that D is a caterpillar. We also have that D
homomorphically maps to C′ (via reverse renaming) and hence to C and to A, but not to B
because the program still derives the goal predicate on D. Hence, B has caterpillar duality.
The proof for the jellyfish case is very similar. If co-CSP(B) is defined by a jellyfish
program, it easy to check that the same sequence of steps as above will result in a structure
D that is a jellyfish.
Conversely, assume that B has caterpillar duality, i.e., for any structure A we have A → B
if and only if all caterpillars that homomorphically map to A also map to B. We claim that the
canonical caterpillar program for B defines co-CSP(B). By Fact 6, the canonical program
never accepts a structure that homomorphically maps to B. Now let A ∈ co-CSP(B) be
arbitrary. By assumption, there is a caterpillar C such that C → A and C 6→ B. It follows
from Lemma 20 that the program accepts A. The proof of this direction for the jellyfish case
is identical.
Corollary 22. If co-CSP(B) is definable by some caterpillar (jellyfish) program then it is
definable by the canonical one.
Lemma 23. (i) A structure A is not accepted by the canonical caterpillar program for B if
and only if A → C(B).
(ii) A structure A is not accepted by the canonical jellyfish program for B if and only if
A → J(B).
13
Proof. Assume first that A → C(B) and show that A is not accepted by the canonical
caterpillar program. Since the class of structures accepted by any Datalog program is closed
under homomorphism, it suffices to show that C(B) is not accepted by the canonical program.
We will show by induction on the length of derivation that whenever the fact Ij (S) is derived
by the program, we have Sj ∈ S where Sj is the subset of B corresponding to Ij .
Assume first that Ij (S) is derived by an introductory rule (i.e., one whose body contains
no IDB and R ∈ τ is the EDB in the rule), that is, we have Ij (S) : −R(. . . , S, . . .) where
S appears in the m-th component in the tuple on the right. Note that this tuple belongs
to RC(B) . Then, by the definition of the canonical program, Ij corresponds to the subset
prm (RB ) of B, which must be contained in S by the definition of C(B).
Assume now that Ij (S) is derived by a rule Ij (S) : −R(. . . , S, . . . , T, . . .), Il (T). Assume
without loss of generality that Sj is the smallest set such that Ij can be in the head of this
rule. By the induction hypothesis, we have Sl ∈ T. Assume that S appears in the m-th
component and T in the k-th component in the EDB of the rule. Again, by the definition of
the program, we have Sj = prm (RB ∩ (B k−1 × Sl × B r−k )) where r is the arity of R. Then
we must have Sj ∈ S by the definition of C(B).
Assume now that C(B) is accepted by the canonical caterpillar program. Then the program can derive I0 (S) for some S. Then, as we just proved, the empty set S0 belongs to S
which is impossible by the definition of C(B).
To complete the proof of this direction for part (ii), notice that if the canonical jellyfish
program derives the goal predicate on J(B) via a non-linear rule then we can assume that
this rule is of the form
G : −R(X1 , . . . , Xr ), I11 (X1 ), , . . . , I1s1 (X1 ), . . . , Ir1 (Xr ), . . . , Irsr (Xr ).
By the definition of canonical jellyfish program we have that
B
{(b1 , . . . , br ) ∈ R | bi ∈
si
\
Sij for each i} = ∅
j=1
where the sets Sij correspond to the IDBs Iij in the program. For every i = 1, . . . , r let Si be
the element of J(B) to which Xi is instantiated when applying the non-linear rule above. As
for the caterpillar caseT(see above),Twe have that Sij ∈ Si for all i = 1, . . . , r and j = 1, . . . , si .
It follows that RB ∩ ( S1 × · · · × Sr ) = ∅ which contradicts the definition of J(B).
Conversely, assume that A is not accepted by the canonical caterpillar program. Hence
the program stabilizes without deriving the goal predicate. Recall that every IDB Ij in the
canonical program corresponds to a subset Sj of B. For every element a ∈ A, consider
the family Sa = {Sj | Ij (a) is derived} of subsets of B. It is easy to see that the family is
non-empty for any a that appears in a tuple in a relation in A. Moreover, since the goal
predicate is not derived, I0 (a) is not derived either, and so each subset in a non-empty Sa is
non-empty. It is straightforward to check that the mapping h : A → C(B) given by h(a) = Sa
is a homomorphism from A to C(B). The proof for the jellyfish case is very similar, with the
very same h.
Lemma 24. For any structure B,
(i) co-CSP(B) is definable by a caterpillar program if and only if C(B) → B.
(ii) co-CSP(B) is definable by a jellyfish program if and only if J(B) → B.
14
Proof. We will prove (i), the proof of (ii) is very similar. Suppose that co-CSP(B) is definable
by a caterpillar program. Then it is definable by the canonical one, by Corollary 22. By
Lemma 23, C(B) is not accepted by the canonical program, and hence C(B) → B.
Conversely, suppose that C(B) → B. By Fact 6, each structure from CSP(B) is not
accepted by the canonical caterpillar program for B. On the other hand, if a structure A is
not accepted by the program then we have A → C(B) by Lemma 23, and so A → B. Hence,
co-CSP(B) is definable by the canonical caterpillar program for B.
Lemma 25. (i) The relations in C(B) are invariant under the operations x ∩ y and x ∪ y.
(ii) The relations in J(B) are invariant under the operation x ∩ (y ∪ z).
Proof. (i) Let RC(B) be an r-ary relation in C(B) and take arbitrary tuples (S1 , . . . , Sr ) and
(T 1 , . . . , T r ) in RC(B) .
It follows directly from the definition of C(B) that for all j, m = 1, . . . , r we have
1. prm (RB ) ∈ Sm ∩ T m , and
2. prm (RB ∩ (B j−1 × S × B r−j )) ∈ Sm ∩ T m for each S ∈ Sj ∩ T j .
It follows that (S1 ∩ T 1 , . . . , Sr ∩ T r ) ∈ RC(B) . The fact that (S1 ∪ T 1 , . . . , Sr ∪ T r ) ∈ RC(B)
can be verified equally easily.
1 , . . . , T r ), (U1 , . . . , Ur ) ∈ RJ(B) ,
(ii) By part (i), it is enough to show that if (S1 , . . . , Sr ), (T
T
T
and Vi = Si ∩ (T i ∪ Ui ) for 1 ≤ i ≤ r then we have RB ∩ ( V1 × . . . × Vr ) 6= ∅. However,
the last condition follows
trivially
from the corresponding condition for (S1 , . . . , Sr ) because
T
T
Vi ⊆ Si (and hence Vi ⊇ Si ) for all i.
Lemma 26. A structure B has a kn-ary k-ABS polymorphism for all k, n if and only if
C(B) → B.
Proof. Let h : C(B) → B be a homomorphism. By Lemma 25, the structure C(B) has
polymorphisms which are set-theoretic union and intersection operations. Since composition of polymorphisms is again a polymorphism, it follows that C(B) also has the k-ABS
polymorphisms
\
\
\
fk,n(X1 , . . . , Xn ) = ( X1 ) ∪ ( X2 ) ∪ . . . ∪ ( Xn ),
where Xi = {xi1 , . . . , xik }. By Lemma 23, there exists a homomorphism g : B → C(B). It is
straightforward to check that the operations h(fk,n (g(x11 ), . . . , g(xkn ))) are k-ABS polymorphisms of B.
Conversely, let f be a kn-ary k-ABS polymorphism of B with k = ρ|B| and n = ρ(2|B| −1),
where ρ is the maximum of the arities of the relations in B. Define a map h : C(B) → B
by the rule h(S) = f (S) for non-empty S and set h(∅) arbitrarily. Let us now show that h
is a homomorphism. By the properties of f , h is clearly a well-defined function. Take an
arbitrary (say, r-ary) relation R ∈ τ and fix (S1 , . . . , Sr ) ∈ RC(B) . We need to show that
(h(S1 ), . . . , h(Sr )) ∈ RB .
Let Ŝi = {X ∩pri RB | X ∈ Si }. It immediately follows from the definition of the structure
C(B) that we have Ŝi ⊆ Si for all 1 ≤ i ≤ r, and also that (Ŝ1 , . . . , Ŝr ) ∈ RC(B) . Since f is
15
absorptive, we have f (Ŝi ) = f (Si ). Therefore, we can without loss of generality assume that
each Si contains only subsets of pri RB .
For a set S ∈ Si , construct a (k × r)-matrix MSi whose entries are elements from B and
such that
1. each row of MSi is an element of RB , and
2. for any 1 ≤ m ≤ r, the set of entries in the m-th column is prm (RB ∩ (B i−1 × S × B r−i)).
Let us show that this is possible. Recall that S ⊆ pri (RB ). Divide the matrix into r
submatrices of |B| consecutive rows. For 1 ≤ m ≤ r, the rows of the m-th submatrix are
tuples (from RB ) whose i-th coordinate belongs to S and whose m-th coordinates cover all
of prm (RB ∩ (B i−1 × S × B r−i )). Note that this submatrix can contain repeated rows.
Now construct a matrix M with kn rows and r columns, as follows. It is divided into n
layers of k consecutive rows, each layer is a matrix MSi for some 1 ≤ i ≤ r and some S ∈ Si ,
and each matrix of this form appears as a layer. By the choice of n, this is possible.
It remains to notice that the operation f applied to the i-th column of M gives the
value f (Si ), and, since f is a polymorphism of B and every row of M is in RB , we have
(f (S1 ), . . . , f (Sr )) ∈ RB , as required. Thus (h(S1 ), h(S2 ), . . . , h(Sr )) ∈ RB . We conclude that
h : C(B) → B.
Lemma 27. A structure B has a (kn + 1)-ary extended k-ABS polymorphism for all k, n if
and only if J(B) → B.
Proof. Let h : J(B) → B. By Lemma 25, the structure J(B) has polymorphism q2 (x, y, z) =
x ∩ (y ∪ z). Since composition of polymorphisms is again a polymorphism, we obtain that
q3 (x, y, z, z ′ ) = q2 (x, q2 (x, y, z), z ′ ) = x ∩ (y ∪ z ∪ z ′ ) is also a polymorphism of J(B). Continuing
Sn in the same way, we obtain that, for any n ≥ 2, the operation qn (x0 , x1 , . . . , xn ) =
x0 ∩( i=1 xi ) is also a polymorphism. The operation r2 (x, y) = q2 (x, y, y) = x∩y is a polymorT
phism of J(B). Composing r2 with itself, one can get the operation rk (x1 , . . . , xk ) = ki=1 xi
for any k ≥ 2. It follows that, for any n, k, the structure J(B) also has the polymorphism
\
\
fn,k (x0 , X1 , . . . , Xn ) = qn (x0 , rk (X1 ), . . . , rk (Xn )) = x0 ∩ (( X1 ) ∪ . . . ∪ ( Xn ))
where Xi = {xi1 , . . . , xik } (the case when k = 1 or n = 1 can be easily obtained by identifying
variables). Notice that fn,k is of the form given in Example 17, for the lattice (J(B), ∩, ∪).
By Lemma 23, there exists a homomorphism g : B → J(B). It is straightforward to check
that the operations h(fn,k (g(x0 ), g(x11 ), . . . , g(xkn ))) are extended k-ABS polymorphisms of
B.
Conversely, let f be a (kn + 1)-ary extended k-ABS polymorphism of B with k = ρ|B|
and n = ρ(2|B| − 1), where ρ is the maximum of the arities of the relations
a map
T in B. Define
T
h : J(B) → B by the rule h(S) = f (x, S) for each S such that x ∈ S and, if S = ∅, set
h(S) arbitrarily. Note that,Tby the replacement property of f , f (x, S) does not depend on the
choice of x as long as x ∈ S 6= ∅, so h is a well-defined function. Let us now show that h is
a homomorphism. Take an arbitrary (say, r-ary) relation R ∈ τ and fix (S1 , . . . , Sr ) ∈ RJ(B) .
We need to show that (h(S1 ), . . . , h(Sr )) ∈ RB .
By the definition of J(B), we have that each
Si has aTnon-empty intersection, and moreT
over, there exists a tuple (a1 , . . . , ar ) ∈ RB ∩ ( S1 × . . . × Sr ). We can now assume that, for
16
each i, h(Si ) = f (ai , Si ). This is where the replacement property is important in this proof.
As in the previous proof, it follows from the properties of f and of J(B) that we can without
loss of generality assume that each Si contains only subsets of pri (RB ). Finally, we construct
the matrix M exactly as in the previous proof, and then we add one new row a1 , . . . , ar at
the very top of the matrix. Now, as in the previous proof, the operation f applied to the i-th
column of the new matrix gives the value f (ai , Si ), and, since f is a polymorphism of B and
every row of the new matrix is in RB , we conclude that (h(S1 ), . . . , h(Sr )) ∈ RB , as required,
and thus h : J(B) → B.
Remark 28. If a structure B has a kn-ary k-ABS polymorphism (or (kn + 1)-ary extended
k-ABS polymorphism) for k = ρ|B| and n = ρ(2|B| −1), where ρ is the maximum of the arities
of the relations in B, then, for any k, B has k-ABS polymorphisms of all arities divisible by
k (respectively, extended k-ABS polymorphisms of all possible arities) .
Proof. (of Theorem 16).
(1) ⇔ (2) follows from Lemma 21.
(2) ⇔ (3) follows from Lemma 24.
(3) ⇔ (4) follows from Lemma 26.
(4) ⇒ (5) Let B′ = core(B) and let r : B → B′ be the corresponding retraction. It is well known
and easy to see that, for each polymorphism f of B, the operation r ◦ f (restricted to
B′ ) is a polymorphism of B′ . In particular, it follows that B′ also has a kn-ary k-ABS
polymorphism for all k, n. By Lemmas 23 and 26, B′ is homomorphically equivalent
to C(B′ ). Since B is (obviously) homomorphically equivalent to B′ , we can take the
structure C(B′ ) as the required A, it has the necessary polymorphisms by Lemma 25.
(5) ⇒ (6) Trivial.
(6) ⇒ (1) It is follows from Example 15(ii) that the structure A′ has kn-ary k-ABS polymorphisms for all k, n. We already showed that (1) ⇔ (4), so it follows that A′ has caterpillar duality. It is clear that homomorphically equivalent structures have this property
simultaneously.
Proof. (of Theorem 18). The proof of the implications (1) ⇔ (2) ⇔ (3) ⇔ (4) ⇒ (5) is
very similar to the previous proof. The proof that (5) ⇒ (1) is also similar to that of (6)
⇒ (1) above, but we need to show how to obtain, by using composition, extended k-ABS
polymorphisms of all arities from the operation x ⊓ (y ⊔ z) of a distributive lattice. In fact,
we already showed this in the (beginning of the) proof of Lemma 27 in the case when the
elements are subsets and the operations are set-theoretic intersection and union. However, as
we mentioned before, any distributive lattice can be represented by a family of subsets, with
operations acting as set-theoretic intersection and union, so we are done.
17
Remark 29. Note that, in contrast with Theorem 16, there is no item (6) in Theorem 18.
This is because it is unclear whether the operation x ⊓ (y ⊔ z) on a non-distributive lattice
can generate (via composition) extended k-ABS operations of all necessary arities.
3.3
Some remarks about the new dualities
We will start with the following useful remark.
Remark 30. Any core structure with caterpillar duality has a majority polymorphism.
Indeed, if f is an idempotent 6-ary 2-ABS operation then it is easy to check that f (x, y, z, x, y, z)
is a majority operation. Therefore, by Theorem 16, any structure with caterpillar duality has
a majority polymorphism (compare with Theorem 14). However there exist structures with
jellyfish duality, but without majority polymorphisms. For instance take any structure Bij
from Example 12 with i + 1 6= j and (i, j) 6= (1, n). The obstructions given in that Example
are minimal (in the sense that any proper substructure belongs to CSP(Bij )) and have at least
three coloured elements. By Theorem 1.17 of [34], such a structure cannot have a majority
polymorphism. However, any core structure with jellyfish duality has an NU polymorphism
of some (possibly large) arity.
Proposition 31. Any core structure with jellyfish duality has an NU polymorphism.
Proof. Let B be a core structure with jellyfish duality. It suffices to show that J(B) has an
NU polymorphism because it can be carried over to B as in the proof of
T Lemma 27. Let
ρ be the maximum arity of a relation in B and define f (x1 , . . . , xm ) = i<j xi ∪ xj where
m = ρ(2|B| − 1) + 1. In other words, if S1 , . . . , Sm are elements of J(B) then f (S1 , . . . , Sm ) is
defined to contain exactly all those non-empty subsets S of B that appear in at least m − 1
of the arguments. Operation f is clearly an NU operation. It remains to show that it is
a polymorphism of every relation RJ(B) of J(B). Indeed, let (T1 , . . . , Tr ) be the result of
i
applying f component-wise to tuples t = (Si1 , . . . , Sir ), i = 1, . . . , m, of RJ(B) . The definition
of f easily implies that (T1 , . . . , Tr ) belongs to RC(B) . To see that it also belongs to RJ(B)
it is only necessary to observe that for every j = 1, . . . , r and every S ∈ Tj there is at most
1
m
one tuple in {t , . . . , t } such that its jth component does not contain S. Hence, by the
i
pigeon-hole principle, there exists a tuple t = (Si1 , . . . , Sir ) such that for every j = 1, . . . , r,
Tj ⊆ Sij . It follows that
\
\
\
\
RB ∩ ( T1 × · · · Tr ) ⊇ RB ∩ ( Si1 × · · · Sir ) 6= ∅.
We will now discuss the problem of recognising structures with a given duality.
Lemma 32. For any class C of oriented trees that includes all directed paths, the problem of
deciding whether a given structure has some subclass of C as an obstruction set is NP-hard.
Proof. We prove the lemma by reduction from 3-Sat. Let Tn be the transitive tournament
on n vertices. It is shown in the proof of Theorem 6.1 of [28] that, given an instance I of
3-Sat, one can construct in polynomial time a digraph H such that (i) Tn is the core of H
if and only if I is satisfiable, and (ii) either Tn is the core of H or else H does not have tree
18
duality. It remains to say that the directed path on n + 1 vertices forms an obstruction set
for Tn [20], so Tn has caterpillar duality.
Theorem 33. The problem of checking whether a given structure has caterpillar (jellyfish)
duality is decidable, but NP-hard.
Proof. Decidability of the problem immediately follows from condition (3) of Theorems 16
and 18, respectively, while NP-hardness follows from Lemma 32.
Remark 34. It is unknown whether Lemma 32 and the hardness part of Theorem 33 remain
valid if input structures in the problem are required to be cores. It is known that, for the
case of finite duality, the complexity of the problem changes (from NP-hardness for arbitrary
structures to PTIME for cores) [28].
One can define τ -paths as τ -caterpillars with at most two pendant blocks. Say, if τ is the
signature of digraphs then τ -paths are oriented paths (i.e., digraphs obtained from paths by
orienting each edge in some way). One can also define path duality in a natural way, and
obtain a characterisation similar to conditions (1)-(3) of Theorem 16. However, the fragment
of Datalog arising from this connection is not very natural and it does not seem to have a
natural equivalent algebraic condition such as conditions (4)–(6) of Theorem 16. Since paths
and caterpillars are very close structurally, it is natural to ask whether caterpillar duality and
path duality are equivalent properties. It is easy to answer this (and, in fact, a more general)
question by using digraphs with finite duality.
Proposition 35. Let T be an oriented tree that is a core digraph and let O be any class of
digraphs such that T is not a core of any digraph in O. Then there is a digraph B such that
{T} is an obstruction set for B, but O is not.
Proof. By results of [32], there exists a structure B such that {T} is the obstruction set for
B, that is, for any digraph G, we have either T → G or else G → B. We claim that O is not
an obstruction set for B. Suppose, for a contradiction, that it is. Then, since T 6→ B, there
is a digraph P ∈ O such that P → T and P 6→ B. The latter property implies that T → P,
in which case T must be the core of P, a contradiction.
For example, using the above proposition with T being a core caterpillar and O any class
of oriented paths, we get a structure B that has caterpillar duality, but not path duality.
Similarly, one can get a structure with jellyfish duality, but not caterpillar duality.
4
Applications to list H-colouring
In the list H-colouring problem for a fixed (di)graph H, one is given a (di)graph G, and, for
each vertex v of G, a list Lv of possible target vertices in H. The question is whether there
is a homomorphism h : G → H such that h(v) ∈ Lv for each vertex v of G. It is well known
(and easy to see) that this problem is exactly CSP(Hu ) where Hu is the structure obtained
by expanding the (di)graph H with unary relations U where U runs through all non-empty
19
subsets of H. It is easy to see that the polymorphisms of Hu are exactly the conservative
polymorphisms of H.
Recall that a (di)graph is called reflexive if it contains all self-loops, and irreflexive if it
contains no self-loop.
4.1
List H-colouring for undirected graphs
All graphs in this subsection are undirected. It was shown in [14] that, for a reflexive graph
H, the list H-colouring problem is solvable in polynomial time if H is an interval graph
and NP-complete otherwise. Recall that a (reflexive) graph is called an interval graph if its
vertices can be represented by intervals (on the real line) in such a way that two vertices are
adjacent if and only if the corresponding intervals intersect.
Assume now that H = (H, E) is a reflexive interval graph. By modifying the proof in [14],
it is possible to show directly that the structure Hu (as above) has caterpillar duality. We
give a short proof of this fact using Theorem 16.
Theorem 36. For every k and n, the graph H has a conservative k-ABS polymorphism of
arity kn.
Proof. Fix an interval representation of H. We can without loss of generality assume that
the endpoints of the intervals representing vertices of H are pairwise distinct [14]. Given an
interval u ∈ V , we denote by l(u) and r(u) the left and right endpoints of u, respectively.
Let k, n ≥ 1 be arbitrary. Define two functions on H, Minl and Maxr , as follows:
Minl (u1 , . . . , un ) = ui such that l(ui ) = min l(uj ),
j
Maxr (u1 , . . . , uk ) = ui such that r(ui ) = max r(uj ).
j
Note that the functions are well defined because the intervals in H cannot have the same
endpoints.
Let S1 , S2 , . . . , Sn be sets of vertices of H (i.e., sets of intervals) with at most k elements
each. We obtain from them a new sequence of sets, as follows: for each j = 1, . . . , n such
that Sj properly contains some set Si , choose Si so that Si is minimal with this property and
replace Sj by Si . Break ties arbitrarily. Call the obtained sets S1′ , S2′ , . . . , Sn′ .
Define an operation h : H nk → H as follows:
h(x11 , . . . , x1k , . . . , xn1 , . . . , xnk ) = Minl (Maxr (S1′ ), . . . , Maxr (Sn′ ))
where, for 1 ≤ i ≤ n, Si = {xi1 , . . . , xik }, and Si′ is obtained as described above. Note
that the set {S1′ , . . . , Sn′ } depends only on {S1 , . . . , Sn }. This and the (obvious) fact that the
operations Maxr and Minl are totally symmetric implies that the operation h is well defined
and also that it is a k-block symmetric operation.
Let us show that h is absorptive. We now can use the notation h(S1 , S2 , . . . , Sn ) since h
is k-block symmetric. Assume that S2 ⊂ S1 . Then S1′ = Si for some i > 1. Note that, by
construction, we have Si′ = Si . Assume without loss of generality that i = 3. Then we have
h(S1 , S2 , . . . , Sn ) = Minl (Maxr (S3′ ), Maxr (S2′ ), . . . , Maxr (Sn′ )),
and
h(S2 , S2 , S3 , . . . , Sn ) = Minl (Maxr (S2′ ), Maxr (S2′ ), . . . , Maxr (Sn′ )).
20
The right-hand sides of the above equations are the same (since Minl is totally symmetric),
so the left-hand sides are equal as well, as required.
It is obvious that h is conservative. It remains to show that it is a polymorphism of H.
For all 1 ≤ i ≤ n and 1 ≤ l ≤ k, let sil and til be intervals in V that intersect (i.e., adjacent
in H). Also let Si = {si1 , . . . , sik } and Ti = {ti1 , . . . , tik } for 1 ≤ i ≤ n. We need to show
that the intervals s = h(S1 , . . . , Sn ) and t = h(T1 , . . . , Tn ) also intersect.
We have s = Minl (Maxr (S1′ ), . . . , Maxr (Sn′ )) and t = Minl (Maxr (T1′ ), . . . , Maxr (Tn′ )).
Hence, s = Maxr (Si′ ) for some i and t = Maxr (Tj′ ) for some j. It is easy to see that i
and j can be chosen so that Si = Si′ and Tj = Tj′ . Since Si = Si′ , and Ti′ ⊆ Ti we know that
every interval in Ti′ intersects some interval in Si′ . Similarly, every interval in Sj′ intersects
some interval in Tj′ .
Suppose, for a contradiction, that s ∩ t = ∅. Assume first that t precedes s, i.e. r(t) < l(s).
Since s = Minl (Maxr (S1′ ), . . . , Maxr (Sn′ )), we have l(s) ≤ l(Maxr (Sj′ )). Since Maxr (Sj′ ) ∈ Sj′ ,
it intersects some interval tj ∈ Tj′ . In particular, we have l(Maxr (Sj′ )) < r(tj ). By combining
the three above inequalities, we obtain r(t) < l(s) ≤ l(Maxr (Sj′ )) < r(tj ), which contradicts
the fact t = Maxr (Tj′ ). If r(s) < l(t) then the argument is symmetric.
Thus h is a polymorphism and the theorem is proved.
Corollary 37. For a reflexive graph H, either Hu has caterpillar duality or CSP(Hu ) is
NP-complete.
Remark 38. If H is the reflexive claw (i.e., the complete bipartite graph K1,3 with loops)
then it is easy to check that Hu does not have lattice polymorphisms, even though it is the
core of a structure with such polymorphisms (by Theorem 16).
Remark 39. By using results from [28], one can show that, for a reflexive graph H, Hu does
not have finite duality unless the graph H is complete.
4.2
List H-colouring for directed graphs
All graphs in this subsection are directed. We will start by considering irreflexive digraphs.
It was shown in [23] that every oriented path has path duality (that is it has an obstruction
set consisting of oriented paths). Since every oriented path is a caterpillar, every oriented
path has caterpillar duality. We will show how to generalise this result to a much wider class
of digraphs which, in particular, includes all oriented caterpillars. A directed acyclic graph
(DAG) G is called layered (or balanced) if each vertex u of G can be assigned a positive
integer l(u), the level of u, so that every arc (u, v) of G satisfies l(u) + 1 = l(v). Every layered
DAG can be embedded into the plane in such a way that each vertex u lies on the horizontal
line y = l(u), and the arcs are straight lines. If, in addition, the embedding can be arranged
in such a way that the arcs never cross each other then the graph is called a planar layered
DAG. It is easy to see that every oriented caterpillar is a planar layered DAG.
Theorem 40. If H is a planar layered DAG then Hu has caterpillar duality.
Proof. Fix a planar layered embedding of H into the plane such that the vertices lie on
horizontal lines (as described above) and consider the following total order on H: u < v if
and only if either (i) l(u) < l(v) or else (ii) l(u) = l(v) and u is to the left of v.
21
Let min and max be the lattice operations with respect to the above order. We now show
that they are polymorphisms of H. Let (a1 , b1 ) and (a2 , b2 ) be arcs in H. We need to show
that (min(a1 , a2 ), min(b1 , b2 )) and (max(a1 , a2 ), max(b1 , b2 )) are also arcs in H. We consider
the former case, the latter is similar. Assume without loss of generality that min(a1 , a2 ) = a1 .
If l(a1 ) < l(a2 ) then l(b1 ) < l(b2 ) so min(b1 , b2 ) = b1 and we are done. If l(a1 ) = l(a2 )
then l(b1 ) = l(b2 ) and we again have min(b1 , b2 ) = b1 because otherwise the arcs (a1 , b1 ) and
(a2 , b2 ) would cross. By Example 15 and Theorem 16, we are done.
Reflexive digraphs that admit polymorphisms min and max with respect to some linear
ordering of the vertices were characterised in [19]. Obviously, if H is such a digraph then Hu
has caterpillar duality.
In the rest of this section, all digraphs are assumed to be reflexive. We will now consider
reflexive digraphs that are oriented (reflexive) trees. Recall that a caterpillar (graph) is a
tree which becomes a path after removing all its leaves. If we extend this path with one
(arbitrary) leaf adjacent to the first node on the path and one (arbitrary) leaf adjacent to the
last node on this path, then we will call this extended path the main path of the caterpillar.
Oriented caterpillars will play an important role in the next result, so we will fix notation for
them. Let 0, . . . , p denote the elements of the main path, in any (fixed) of the two possible
directions. For each 0 < i < p, let Li denote the set of leaves of the tree (except those on the
main path) adjacent to i. Also, let L′i = {i} ∪ Li . We fix an arbitrary total order on each
(non-empty) set Li . We will consider the operations min and max of taking minimum and
maximum, respectively, elements on the main path or in some set Li , it will always be clear
from the context where these operations are considered.
It was shown in [15] that, for a (reflexive) oriented tree H, CSP(Hu ) is solvable in polynomial time if H is a good caterpillar, and it is NP-complete in all other cases. A good
caterpillar is an oriented caterpillar where the ordering (one of the two) of the main path is
chosen so that, for each element i on the main path, all arcs between i and Li have the same
direction (i.e., to i or from i), and, for 0 < i < p, it is the direction of the arc i and i + 1. We
will say that an oriented caterpillar H is special if it is good with respect to both orderings
of the main path. In other words, an oriented caterpillar is special if every element i on the
main path that is adjacent to at least three other nodes is either a sink or a source (meaning
that the loop is the only arc leaving or coming into i, respectively).
Theorem 41. Let H be an oriented reflexive tree. The Hu has caterpillar duality if and only
if H is a special caterpillar.
Proof. We prove necessity first. Note that if H is not a special caterpillar then it has an
induced subdigraph isomorphic or anti-isomorphic to one of the digraphs shown in Fig. 4.
(Note that the loops are not shown and the directions of the dashed arcs in the second digraph
can be arbitrary). We will show that H does not have a conservative majority polymorphism,
which, by Remark 30, is sufficient to prove that Hu does not have caterpillar duality. By
conservativity, the restriction of such a polymorphism to any induced subdigraph G would
be a conservative majority polymorphism for G. Let G be one of these two digraphs from
Fig. 4, and show that it cannot have such a polymorphism. Assume, for contradiction, that
m is such a polymorphism. For the first digraph, the element m(a, b2 , b3 ) must have arcs
going to both b2 = m(b2 , b2 , b3 ) and b3 = m(b3 , b2 , b3 ), so we must have m(a, b2 , b3 ) = a.
Furthermore, there is an arc from m(b1 , b2 , b3 ) to m(a, b2 , b3 ) = a, and, by conservativity,
22
we have m(b1 , b2 , b3 ) = b1 . Finally, there is an arc from a = m(b1 , a, a) to m(b1 , b2 , b3 ) =
b1 , a contradiction. For the second digraph, m(b1 , b2 , b3 ) ∈ {b1 , b2 , b3 }, by conservativity.
Assume, without loss of generality, that m(b1 , b2 , b3 ) = b1 . Then m(c1 , b2 , b3 ) is adjacent to
m(b1 , b2 , b3 ) = b1 in some direction, so it must be c1 , by conservativity. Finally, there must
be an arc from m(c1 , a, a) = a to m(c1 , b2 , b3 ) = c1 , a contradiction again.
b1
a
b2
c1
b3
b1
a
b2
c2
b3
c3
Figure 4: Oriented reflexive trees without a conservative majority polymorphism.
Assume now that H is a special caterpillar. It is enough, by Theorem 16, to show that H
has a conservative nk-ary k-ABS polymorphism for all n, k. Note that if H′ is the main path
of H then (as is easy to check) the operations min and max are polymorphisms of H′ , and so
the conservative nk-ary k-ABS operation
f (x11 , . . . , x1k , . . . , xn1 , . . . , xnk ) = min(max(x11 , . . . , x1k ), . . . , max(xn1 , . . . , xnk ))
from Example 15(i) is also a polymorphism of H′ . Consider the unary operation r on H such
that, for every node i on the main path and every leaf x ∈ Li , we have r(i) = r(x) = i. Clearly,
r is a polymorphism of H. Hence, the operation f (r(x11 ), . . . , r(xnk )) is also a polymorphism
of H (though not necessarily conservative).
We will now define the required operation g(x11 , . . . , x1k , . . . , xn1 , . . . , xnk ) on H. In a
sense, we will combine the above operation f with the operation h from the proof of Theorem 36. Take an arbitrary nk-tuple (a11 , . . . , a1k , . . . , an1 , . . . , ank ) of elements from H, and,
for 1 ≤ i ≤ n, let Si = {ai1 , . . . , aik }. Let j = f (r(a11 ), . . . , r(ank )) and define Si′ = Si ∩ L′j if
max{r(x) | x ∈ Si } = j and Si′ = ∅ if max{r(x) | x ∈ Si } > j. Next, for each non-empty set
Si′ that properly contains some other non-empty set Si′′ , choose Si′′ to be minimal with this
property and replace Si′ by Si′′ . Break ties arbitrarily. Call the obtained sets S1′′ , . . . , Sn′′ . It is
easy to see that the set {S1′′ , . . . , Sn′′ } depends only on {S1 , . . . , Sn }. Finally, we let
j
if j ∈ S1′′ ∪ . . . ∪ Sn′′
g(a11 , . . . , a1k , . . . , an1 , . . . , ank ) =
′′
minSi′′ 6=∅ max (Si ) otherwise
Note that min and max in the last line of the above formula are computed in Lj .
It is straightforward to verify that the operation g defined above is a conservative k-ABS
operation. It remains to prove that it is a polymorphism of H. For all 1 ≤ i ≤ n and 1 ≤ l ≤ k,
let sil and til be nodes in H such that (sil , til ) is an arc in H. Also let Si = {si1 , . . . , sik }
and Ti = {ti1 , . . . , tik } for 1 ≤ i ≤ n. We need to show that (s, t) is also an arc where
s = g(S1 , . . . , Sn ) and t = g(T1 , . . . , Tn ).
It is not hard to see that r(s) = f (r(s11 ), . . . , r(snk )) and r(t) = f (r(t11 ), . . . , r(tnk )).
Hence, (r(s), r(t)) is an arc because f (r(x11 ), . . . , r(xnk )) is a polymorphism of H. In particular, if s and t are both on the main path then s = r(s) and t = r(t), so we are done. Assume
now that s is not, i.e., s ∈ Lr(s) . It follows that r(s) is either a source or a sink and that all
sets in {S1′′ , . . . , Sn′′ } are subsets of Lr(s) .
23
Claim 1. If r(s) = r(t) and t ∈ Lr(s) then s = t.
Note that, since t ∈ Lr(s) , all sets in {T1′′ , . . . , Tn′′ } are subsets of Lr(s) . We will now prove
that the non-empty sets in {S1′′ , . . . , Sn′′ } and {T1′′ , . . . , Tn′′ } are the same, which implies s = t.
Assume first that r(s) is a sink. Notice that, for every non-empty set Si′ that does not include
r(s), we have either Ti′ = Si′ or {r(s)} ⊆ Ti′ ⊆ {r(s)} ∪ Si′ . We know that, in the latter
case, there exists a non-empty set Ti′′′ = Ti′′ which is included in Ti′ and does not contain
r(s). In this case Si′′ = Ti′′ and it must be contained in Si′ . Therefore, each (inclusion-wise)
minimal non-empty set in {S1′ , . . . , Sn′ } belongs to {T1′ , . . . , Tn′ }. Take an arbitrary set Ti′′
such that Ti′′ = Ti′ . All nodes in this set are sources, so Ti′ = Si′ . It follows that each minimal
non-empty set in {T1′ , . . . , Tn′ } belongs to {S1′ , . . . , Sn′ }. It immediately follows that the only
possible difference between {S1′′ , . . . , Sn′′ } and {T1′′ , . . . , Tn′′ } is that one of them contains the
empty set and the other does not. If r(s) is a source then the same argument, but reversing
the role of the T ’s and S’s, works. Claim 1 is proved.
If r(s) is a sink then it immediately follows that r(t) = r(s). In this case, if t = r(t)
then are done because there is an arc from s to r(s); otherwise, we use Claim 1. Assume
now that r(s) is a source. It follows that each node in Lr(s) is a sink and that r(t) is one of
r(s) − 1, r(s), r(s) + 1. We consider the three cases separately.
Case 1. r(t) = r(s) − 1. Take an arbitrary non-empty set Ti′′ = Ti′ . Since max{r(x) |
x ∈ Ti } = r(s) − 1, the set Si cannot contain elements from Lr(s) or from L′i′ with i′ > r(s).
Furthermore, max{r(x) | x ∈ Si } ≥ r(s), so we have Si ∩ L′r(s) = {r(s)}. It is now easy to see
that Si′′ = {r(s)}, which implies s = r(s), contradicting our assumption that s ∈ Lr(s) .
Case 2. r(t) = r(s). By Claim 1, we can assume that t = r(t). Then one can choose an
i such that t ∈ Ti′ = Ti′′ ⊆ L′t . Since t is a source, we have t ∈ Si′ ⊆ Ti′ . Since s ∈ Lr(s) , it
follows that there is an i′ such that Si′′′ = Si′′ ⊆ Si′ \ {t} ⊆ Lt . Then Ti′′ = Si′′ is non-empty
and satisfies Ti′′ ⊂ Ti′′ , which is impossible by minimality of Ti′′ .
Case 3. r(t) = r(s) + 1. This case is similar to the previous cases. Take an arbitrary nonempty set Si′′ = Si′ . We have max{r(x) | x ∈ Si } = r(s) and max{r(x) | x ∈ Ti } ≥ r(s) + 1.
This implies that r(s) + 1 ∈ Ti which, in turn, implies that r(s) ∈ Si′ . Since s ∈ Lr(s) , it
follows that there is an i′ such that Si′′′ = Si′′ ⊆ Si′ ∩ Lr(s) . Then Ti′′ = Si′′ is non-empty and
satisfies Ti′′ ⊂ Ti′′ , which is impossible by minimality of Ti′′ .
Now let H be a reflexive digraph, and let Hc denote the structure obtained from H by
adding all unary relations of the form {a}, a ∈ H. The problem CSP(Hc ) is known in graph
theory as one-or-all list H-homomorphism problem, and it is equivalent to the so-called Hretraction problem [14, 20]. It is easy to see that the polymorphisms of Hc are the idempotent
polymorphisms of H. Note that if τ is the signature of Hc then a τ -path is an oriented path
each of whose ends may belong to a unary relation.
Theorem 42. For any reflexive digraph H, the following are equivalent:
1. Hc has caterpillar duality;
2. Hc has tree duality and a majority polymorphism;
3. Hc has path duality.
Proof. Clearly, (3) implies (1). Caterpillar duality trivially implies tree duality, and, as we
argued in the beginning of Section 3.3, it also implies the presence of a majority polymorphism,
24
so (1) implies (2). Finally, let us show that (2) implies (3). Let τ be the signature of Hc (i.e.,
one binary and |H| unary relations). Let A be a τ -structure such that A 6→ Hc . By the tree
duality of Hc , there exists a τ -tree T that is homomorphic to A, but not to Hc . Take T to
be minimal, that is, any proper substructure of T is homomorphic to Hc . Then, since Hc
has a majority polymorphism, Theorem 1.17 of [34] implies that at most two elements of T
are in unary relations in T. This, the fact that H is reflexive, and the minimality of T imply
that T is in fact a path.
Appendix: Polymorphisms for the structures from Example 12
In Example 12, we gave concrete non-trivial examples of structures with jellyfish duality.
By Theorem 18, these structures Bij should have extended k-ABS polymorphisms of all
appropriate arities. In this Appendix we describe these polymorphisms.
Let ⊓ be the (semilattice) operation, on Bij of taking the greatest common lower bound
with respect to the poset shown on the diagram below (left) and let ⊔ be the partial operation
of taking the least common upper bound with respect to the poset shown on the diagram
below (right). Note that ⊔ is also a semilattice operation when restricted to {1, . . . , j − 1} or
to {i + 1, . . . , m}.
•j
i•
•j +1
··
·
•m
i−1 •
··
·
2•
•j −1
··
·
• i+3
1 •??
⊓
j
i
i−1
•?
t•JJJ
 ???
tt
JJ

t
JJ
t
?
?? ttt

JJ


t
•
•
•
j−1
··
·
2•
•j −2
··
·
• i+2
1•
• i+2
j+1
··
·
•m−1
•m
• i+1
??

?? 
? 
•
⊔
i+1
Let k, n ≥ 1 be arbitrary. Define two (partial) functions on Bij , Min and Max as follows:
Min(u1 , . . . , uk , uk+1 ) = u1 ⊓ u2 ⊓ . . . ⊓ uk+1 ,
Max(u1 , . . . , un ) = u1 ⊔ u2 ⊔ . . . ⊔ un .
Obviously, Min is a totally symmetric operation, while Max is also totally symmetric when
restricted to {1, . . . , j − 1} or to {i + 1, . . . , m}.
Let S1 , S2 , . . . , Sn be sets of vertices of Bij with at most k elements each. We obtain
from them a new sequence of sets, as follows. For each l = 1, . . . , n, if Sl ∩ {1, . . . , i} =
6 ∅,
Sl ∩ {i + 1, . . . , m} =
6 ∅ and there exists Sp ⊆ {1, . . . , i} then let Ŝl := Sl ∩ {1, . . . , i}, otherwise
let Ŝl := Sl ; if Ŝl ∩ {1, . . . , j − 1} =
6 ∅ and Ŝl ∩ {j, . . . , m} =
6 ∅ and there exists Sˆp ⊆ {j, . . . , m}
′
′
then let Sl := Ŝl ∩ {j, . . . , m}, otherwise let Sl := Ŝl .
Define an operation h : H nk+1 → H as follows:
h(x, x11 , . . . , x1k , . . . , xn1 , . . . , xnk ) = x ⊓ Max(Min(S1′ , x), . . . , Min(Sn′ , x))
25
where, for 1 ≤ i ≤ n, Si = {xi1 , . . . , xik }, and Si′ is obtained as described above. Note that
the set {S1′ , . . . , Sn′ } depends only on {S1 , . . . , Sn }. It is easy to check that h is a well-defined
total operation, and that fixing any value for the first variable in h gives a k-block symmetric
operation.
Claim 1. The operation h is a polymorphism of Bij .
Proof. For all 1 ≤ p ≤ n and 1 ≤ q ≤ k, let spq and tpq be vertices of Bij such that there is
an arc from spq to tpq . Also let Sp = {sp1 , . . . , spk } and Tp = {tp1 , . . . , tpk } for 1 ≤ p ≤ n. Let
x and y be vertices of Bij such that (x, y) is an arc of Bij . We will start by showing that the
operation f : H nk+1 −→ H
f (x, x11 , . . . , x1k , . . . , xn1 , . . . , xnk ) = x ⊓ Max(Min(S1 , x), . . . , Min(Sn , x))
is a polymorphism of Bij , i.e., that there is an arc from s = f (x, S1 , . . . , Sn ) to t = f (y, T1 , . . . , Tn ).
It is easy to check that ⊓ is a polymorphism of Bij and that ⊔ is a polymorphism of
the induced subgraphs of Bij with vertices {1, . . . , i + 1} and {i + 1, . . . , m}. It is a direct
consequence of the definition of ⊓ that if (x, y) is an arc of Bij then (x ⊓ i, y ⊓ j) is also an
arc of Bij , and that we cannot have s = i and t = j. Hence we just need to show that s ≤ t.
Let Min(Sl ) = sl and Min(Tl ) = tl for all l = 1, . . . , n. We can then rewrite f (x, S1 , . . . , Sn )
as x ⊓ Max(s1 ⊓ x, . . . , sn ⊓ x). We have either sl ⊓ x ∈ {1, . . . , i + 1} for all l = 1, . . . , n,
or sl ⊓ x ∈ {i + 1, . . . , m} for all l = 1, . . . , n. A similar statement holds for tl ⊓ y. If
sl ⊓ x ∈ {i + 1, . . . , m} then we have tl ⊓ y ∈ {i + 1, . . . , m} for all l. Since ⊔ (and consequently
Max) is a polymorphism of {i + 1, . . . , m} and ⊓ is a polymorphism of Bij , it follows that
there is an arc from s to t. Assume now that sl ⊓ x ∈ {1, . . . , i + 1} for all l = 1, . . . , m.
If tl ⊓ y ∈ {1, . . . , i + 1} for all l then, as above, we can show that there is an arc from
s to t. If tl ⊓ y ∈ {i + 1, . . . , m} for all l then it follows, by the definition of ⊔, that
Max(s1 ⊓ x, . . . , sn ⊓ x) ≤ Max(t1 ⊓ y, . . . , tn ⊓ y), and so (s, t) is an arc of Bij .
We now just need to show that there is an arc from Min(Sl′ , x) to Min(Tl′ , x) for all l =
1, . . . , m. Suppose that T1′ 6= T1 . If T1′ = T1 ∩ {1, . . . , i} then there exists T2 ⊆ {1, . . . , i}. Let
T1′ = {t1 , . . . , tq }, we then know that there exist s1 , . . . , sq ∈ S1′ such that s1 ≤ t1 , . . . , sq ≤ tq .
Since S2 ⊆ {1, . . . , i} we have S1′ ⊆ {1, . . . , i}, which implies that Min(S1′ ) ≤ Min(s1 , . . . , sq ).
It follows that Min(S1′ ) ≤ Min(s1 , . . . , sq ) ≤ Min(T1′ ). Assume now that T1′ = T1 ∩ {j, . . . , m},
we know that there exists T2′ = T2 ⊆ {j, . . . , m}. If S1′ = S1 or S1′ = S1 ∩ {1, . . . , i} then
clearly Min(S1′ ) ≤ Min(S1 ) ≤ Min(T1 ) ≤ Min(T1′ ). Suppose now that S1′ = S1 ∩ {j, . . . , m}.
We have Min(S1′ ) = max{s : s ∈ S1′ }, and there is an element in T1′ , say t1 , such that
(Min(S1′ ), t1 ) is an arc of Bij . It is clear that t1 ≤ Min(T1′ ). Thus we can conclude that in all
cases (Min(S1′ , x), Min(T1′ , y)) is an arc of Bij .
Suppose now that Tl = Tl′ for all l = 1, . . . , m. Assume that S1 6= S1′ . If S1′ = S1 ∩{1, . . . , i}
then Min(S1′ ) = Min(S1 ∩{1, . . . , i}) < Min(S1 ) = i+1. It follows that s′ = h(x, S1 , . . . , Sn ) ≤
s. Since Tl = Tl′ for all l = 1, . . . , m we know that t′ = h(y, T1 , . . . , Tn ) = t then, since there
is an arc from s to t′ , there is an arc from s′ to t′ . Assume now that S1′ = S1 ∩ {j, . . . , m}.
There exists S2 ⊆ {j, . . . , m}, which implies that T2 ⊆ {j, . . . , m}, and consequently T1 = T1′ ⊆
{j, . . . , m}. As above, we have Min(S1′ ) = max{s : s ∈ S1′ } ≤ max{t : t ∈ T1′ } = Min(T1′ ),
and so there is an arc from Min(S1′ , x) to Min(T1′ , y). It is then easy to check that h is a
polymorphism of Bij .
Claim 2. The operation h is an extended k-ABS operation.
26
Proof. We just need to show that it is absorptive when fixing the first component and that
it satisfies the replacement property. Let S1 , . . . , Sn be sets of at most k elements each of
Bij , and assume that S2 ⊂ S1 . Given x a vertex of Bij , we will show that h(x, S1 , . . . , Sn ) =
h(x, S2 , S2 , S3 , . . . , Sn ).
If Min(S1′ ) ∈ {1, . . . , i}, Min(S2′ , x) ∈ {i + 1, . . . , m} and x ∈ {1, . . . , i}, then there exists
S3 = S3′ ⊆ {1, . . . , i}, and we have
Min(S1′ , x) ⊔ Min(S2′ , x) ⊔ Min(S3 , x) = Min(S1′ , x) ⊔ i + 1 ⊔ Min(S3 , x)
= i = i + 1 ⊔ Min(S3 , x)
= Min(S2′ , x) ⊔ Min(S2′ , x) ⊔ Min(S3 , x)
since Min(S3 , x) ∈ {1, . . . , i}.
In all other cases (regarding the subsets of Bij that Min(S2′ , x) and Min(S1′ , x) belong to)
we can easily see, using the definitions of ⊔ and ⊓ that Min(S1′ , x) ⊔ Min(S2′ , x) = Min(S2′ , x).
This proves that h(x, S1 , . . . , Sn ) = h(x, S2 , S2 , S3 , . . . , Sn ).
Let us now check that it satisfies the replacement property. Let y ∈ S1 ∩ S2 ∩ . . . ∩ Sn
be arbitrary. Since this intersection is non-empty it is clear that y ∈ S1′ ∩ S2′ ∩ . . . ∩ Sn′ , and
that either all sets intersect {i + 1, . . . , m} or are contained in {1, . . . , i}. By considering these
two cases and the set that x belongs to, {1, . . . , i} or {i + 1, . . . , m}, we can show that either
h(x, S1 , . . . , Sn ) = i + 1 = h(y, S1 ∪ {x}, . . . , Sn ∪ {x}), or Min(Sl , x) = Min(Sl , x, y) ≤ x, y
for all l, in which case
h(x, S1 , . . . , Sn ) = x ⊓ Max(Min(S1′ , x), . . . , Min(Sn′ , x))
= Max(Min(S1′ , x), . . . , Min(Sn′ , x))
= Max(Min(S1′ , x, y), . . . , Min(Sn′ , x, y))
= y ⊓ Max(Min(S1′ , x, y), . . . , Min(Sn′ , x, y))
= h(y, S1 ∪ {x}, . . . , Sn ∪ {x}).
Thus h satisfies the replacement property.
Acknowledgments
The authors would like to thank the anonymous referee for valuable comments. The first
author is supported by FCT grant SFRH/BPD/26216/2006 and also by FCT and FEDER
within the project ISFL-1-143 of the Centre for Algebra of the University of Lisbon. The
second author is supported by grants TIN2006-15387-C03-03 and TIN2007-68005-C04 funded
by the MCyT. The third author is supported by the UK EPSRC grants EP/G011001/1 and
EP/C543831/1.
References
[1] A. Atserias. On digraph coloring problems and treewidth duality. European Journal of
Combinatorics, 29(4):796–820, 2008.
27
[2] L. Barto and M. Kozik. Constraint satisfaction problems of bounded width. In FOCS’09,
pages 595–603, 2009.
[3] L. Barto, M. Kozik, and T. Niven. Graphs, polymorphisms and the complexity of homomorphism problems. In STOC’08, pages 789–796, 2008.
[4] A. Bulatov. H-coloring dichotomy revisited. Theoretical Computer Science, 349(1):31–
39, 2005.
[5] A. Bulatov. Bounded relational width, 2009. manuscript.
[6] A. Bulatov, A. Krokhin, and B. Larose. Dualities for constraint satisfaction problems.
In Complexity of Constraints, volume 5250 of LNCS, pages 93–124. 2008.
[7] D. Cohen and P. Jeavons. The complexity of constraint languages. In F. Rossi, P. van
Beek, and T. Walsh, editors, Handbook of Constraint Programming, chapter 8. Elsevier,
2006.
[8] N. Creignou, S. Khanna, and M. Sudan. Complexity Classifications of Boolean Constraint
Satisfaction Problems, volume 7 of SIAM Monographs on Discrete Mathematics and
Applications. 2001.
[9] V. Dalmau. Linear Datalog and bounded path duality for relational structures. Logical
Methods in Computer Science, 1(1), 2005. (electronic).
[10] V. Dalmau and A. Krokhin. Majority constraints have bounded pathwidth duality.
European Journal of Combinatorics, 29(4):821–837, 2008.
[11] V. Dalmau and J. Pearson. Set functions and width 1 problems. In CP’99, volume 1713
of LNCS, pages 159–173, 1999.
[12] H-D. Ebbinghaus and J. Flum. Finite Model Theory. Springer-Verlag, 1999.
[13] L. Egri, B. Larose, and P. Tesson. Symmetric Datalog and constraint satisfaction problems in Logspace. In LICS’07, pages 193–202, 2007.
[14] T. Feder and P. Hell. List homomorphisms to reflexive graphs. Journal of Combinatorial
Theory, Ser.B, 72:236–250, 1998.
[15] T. Feder, P. Hell, and J. Huang. List homomorphisms and retractions to reflexive digraphs. manuscript, 2008.
[16] T. Feder and M.Y. Vardi. The computational structure of monotone monadic SNP and
constraint satisfaction: A study through Datalog and group theory. SIAM Journal on
Computing, 28:57–104, 1998.
[17] G. Grätzer. General Lattice Theory. Birkhäuser, 2nd edition, 2002.
[18] M. Grohe. The structure of tractable constraint satisfaction problems. In MFCS’06,
volume 4162 of LNCS, pages 58–72, 2006.
[19] A. Gupta, P. Hell, M. Karimi, and A. Rafiey. Minimum cost homomorphisms to reflexive
digraphs. In LATIN’08, volume 4957 of LNCS, pages 182–193, 2008.
28
[20] P. Hell and J. Nešetřil. Graphs and Homomorphisms. Oxford University Press, 2004.
[21] P. Hell, J. Nešetřil, and X. Zhu. Duality of graph homomorphisms. In Combinatorics,
Paul Erdös is Eighty (Vol.2), volume 2 of Bolyai Soc. Math. Stud., pages 271–282. János
Bolyai Math. Soc., 1996.
[22] P. Hell, H. Zhou, and X. Zhu. On homomorphisms to acyclic local tournaments. Journal
of Graph Theory, 20(4):467–471, 1995.
[23] P. Hell and X. Zhu. Homomorphisms to oriented paths. Discrete Mathematics, 132:107–
114, 1994.
[24] P. Idziak, P. Markovic, R. McKenzie, M. Valeriote, and R. Willard. Tractability and
learnability arising from algebras with few subpowers. In LICS’07, pages 213–222, 2007.
[25] Ph.G. Kolaitis. On the expressive power of logics on finite models. In Finite Model
Theory and its Applications, EATCS Series: Texts in Theoretical Computer Science,
pages 27–124. Springer, 2007.
[26] Ph.G. Kolaitis and M.Y. Vardi. A logical approach to constraint satisfaction. In Finite Model Theory and its Applications, EATCS Series: Texts in Theoretical Computer
Science, pages 339–370. Springer, 2007.
[27] A. Krokhin, A. Bulatov, and P. Jeavons. The complexity of constraint satisfaction:
an algebraic approach. In Structural Theory of Automata, Semigroups, and Universal
Algebra, volume 207 of NATO Science Series II: Math., Phys., Chem., pages 181–213.
Springer Verlag, 2005.
[28] B. Larose, C. Loten, and C. Tardif. A characterisation of first-order constraint satisfaction
problems. Logical Methods in Computer Science, 3(4), 2007. (electronic).
[29] B. Larose and P. Tesson. Universal algebra and hardness results for constraint satisfaction
problems. In ICALP’07, volume 4596 of LNCS, pages 267–278, 2007.
[30] C. Loten and C. Tardif. Majority functions on structures with finite duality. European
Journal of Combinatorics, 29(4):979–986, 2008.
[31] J. Nešetřil and V. Rödl. Chromatically optimal rigid graphs. Journal of Combinatorial
Theory, Ser.B, 46:133–141, 1989.
[32] J. Nešetřil and C. Tardif. Duality theorems for finite structures (characterising gaps and
good characterisations). Journal of Combinatorial Theory, Ser.B, 80:80–97, 2000.
[33] J. Nešetřil and C. Tardif. Short answers to exponentially long questions: extremal aspects
of homomorphism duality. SIAM Journal on Discrete Mathematics, 19(4):914–920, 2005.
[34] L. Zádori. Relational sets and categorical equivalence for algebras. International Journal
of Algebra and Computation, 7(5):561–576, 1997.
29
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement