<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Modeling Clique Coloring via ASP(Q)</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Giovanni</forename><surname>Amendola</surname></persName>
							<email>amendola@mat.unical.it</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Calabria</orgName>
								<address>
									<settlement>Rende (CS)</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Giovanni</forename><surname>Rotondaro</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Calabria</orgName>
								<address>
									<settlement>Rende (CS)</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Modeling Clique Coloring via ASP(Q)</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">99F51CEB24DC3B4FDE754DE094A3514E</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T04:54+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Answer Set Programming</term>
					<term>Clique Coloring</term>
					<term>Polynomial Hierarchy</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Graph problems are fundamental in several areas of research such as Computer Sciences, Physics, Chemistry, Biology, Social Sciences, and many other fields. Recent studies in graph theory are devoted to understanding more complicated versions of the classic problems of colorability and finding cliques. In particular, the Clique Coloring (CC) problem is the problem of deciding whether vertices of every maximal clique can be colored by two different colors. For arbitrary graphs, this problem is known to be Σ p 2 -complete. Answer Set Programming (ASP) is a logic-based declarative programming language able to model this kind of complex problems. In this paper, we provide two modeling into ASP, one using the basic version of ASP and the so-called saturation technique, and another one using a new extension of ASP with quantifiers, named ASP(Q), that is a much more powerful language able to model each computational problem in the polynomial hierarchy. We show that this last modeling is much more intuitive and allows to express the CC problem in a direct and natural way. Finally, we formally prove the soundness and completeness of both approaches. 1</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>Problems on graphs are fundamental in several sciences such as Computer Sciences, Physics, Chemistry, Biology, Social Sciences, and many other fields, because a lot of problems in these research areas can be translated into graph problems <ref type="bibr" target="#b0">[1]</ref>. In the past, great attention has been focused on the study of graph problems about coloring, such as the Vertex Coloring problem and the Chromatic Number problem; about routes, such as the Hamiltonian Path problem and the Travelling Salesman problem; about covering, such as the Vertex Covering problem and the Dominating Set problem; and many others <ref type="bibr" target="#b1">[2]</ref>. All these problems we have mentioned are very complex from a computational view point. More precisely, they are NP-hard <ref type="bibr" target="#b2">[3]</ref>.</p><p>Answer Set Programming (ASP) <ref type="bibr" target="#b3">[4,</ref><ref type="bibr" target="#b4">5]</ref> is a logic-based declarative language able to model this kind of complex problems in an easy and direct way. It is based on the stable model semantics <ref type="bibr" target="#b5">[6]</ref>, also called answer set semantics <ref type="bibr" target="#b6">[7]</ref>. A classic modeling example concerns the Vertex Coloring problem by using three colors, say red, blue, and green. Note that, also in this case, the problem in standard ASP; in Section 4, we model the CC problem with an ASP(Q) program, by showing soundness and completeness of the enconding; and, finally, in Section 5, we conclude with a brief discussion and future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Preliminaries</head><p>In this section, first, we present the Clique Coloring (CC) problem. Then, we introduce basic notions of Answer Set Programming (ASP), and its extension with quantifiers, namely ASP(Q) <ref type="bibr" target="#b18">[19]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">Clique Coloring Problem</head><p>The Clique Coloring (CC) problem is the problem of deciding whether vertices of every maximal clique can be colored by two different colors <ref type="bibr" target="#b19">[20]</ref>. More formally, let G = (V, E) be an undirected graph. Recall that a clique H in G is a subset of V of at least 2 vertices, such that every pair of distinct vertices is connected by an edge, that is the subgraph of G induced by H is a complete graph. A maximal clique H in G is a clique in G such that each subset H ′ of V strictly containing H (i.e., H ⊂ H ′ ⊆ V ) is not a clique in G. Intuitively, H is a maximal clique if it cannot be extended to a larger one. Let k be an integer number. A k-clique-coloring of G is a function γ from V to {1, 2, . . . , k} such that every maximal clique of G contains two vertices of different color. Now, we can formally specify the CC decision problem.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>CC problem:</head><p>INPUT: An undirected graph G and an integer k. QUESTION: Is there a k-clique-coloring of G?</p><p>To better understand previous notions and the CC problem, we focus on the case of k = 2, and provide two graph examples: the first of a graph admitting a 2-clique-coloring, and the second of a graph that does not admit it.</p><p>Example 1. Let G 1 be the graph reported in Figure <ref type="figure">1</ref>. Formally, G 1 = (V, E), where V = {a, b, c, d, e, f } and E = {{a, b}, {a, c}, {a, d}, {b, c}, {c, d}, {b, e}, {d, e}, {d, f }}. It is easy to see that the maximal cliques in G 1 are: {a, b, c}, {a, c, d}, {d, e}, {b, e}, and {d, f }. Now, assume that k = 2, and consider the following coloration of vertices of G <ref type="figure">1</ref>, 1 corresponds to red, and 2 to blue). Hence, each maximal clique in G 1 contains two vertices of different color. Therefore, γ is a 2-clique-coloring of G 1 .</p><formula xml:id="formula_0">1 : γ(a) = γ(b) = γ(d) = 1 and γ(c) = γ(e) = γ( f ) = 2 (in Figure</formula><p>Example 2. Let G 2 be the graph reported in Figure <ref type="figure">2</ref>. Formally, G 2 = (V, E), where V = {a, b, c, d, e, f } and E = {{a, b}, {b, c}, {b, d}, {a, f }, {c, f }, {d, e}, {e, f }}. Then, the maximal cliques in G 2 are: {a, b}, {b, c}, {b, d}, {a, f }, {c, f }, {d, e}, {e, f }. Now, if we assume that k = 2, it is possible to prove that there is no 2-clique-coloring of G 2 . However, if we assume that k = 3, the following function <ref type="figure">2</ref>, 1 corresponds to red, 2 to blue, and 3 to green) is a 3-clique-coloring of G 2 .</p><formula xml:id="formula_1">γ such that γ(a) = γ(c) = γ(d) = 1, γ(b) = γ(e) = 2, and γ( f ) = 3 (in Figure</formula><p>Note that the CC problem can be also seen as the problem of coloring the clique hypergraph (cf. Duffus et al. <ref type="bibr" target="#b20">[21]</ref>). The clique hypergraph C (G) of a graph G = (V, E) is defined on the same vertex set V , and a set V ′ ⊆ V is a hyperedge of C (G) if, and only if, |V ′ | &gt; 1 and V ′ induces an inclusionwise maximal clique of G. The question of k-coloring the hypergraph C (G) concerns into assign k colors to the vertices of C (G) such that every hyperedge contains at least two colors. Clearly, a graph G is k-clique-coloring if, and only if, the hypergraph C (G) is k-colorable.</p><p>Concerning computational complexity, it has been proved in <ref type="bibr" target="#b19">[20]</ref> that the CC problem is Σ p 2complete for any fixed k ≥ 2 (see Theorem 4 and Corollary 5 in <ref type="bibr" target="#b19">[20]</ref>). In the past, many classes of special graphs have been studied. It is known that for perfect graph the 2-clique-coloring problem is NP-hard, but it is open the question if it is NP-complete <ref type="bibr" target="#b23">[24]</ref>. Moreover, for planar graph the 2-clique-coloring problem is feasible in polynomial time <ref type="bibr" target="#b23">[24]</ref>. More recently, it has been proved that for planar graph the 3-clique-coloring problem is feasible in linear time <ref type="bibr" target="#b27">[28]</ref>. Concerning circular-arc graphs, the CC problem is solvable in polynomial time <ref type="bibr" target="#b32">[33]</ref>, and an optimal clique-coloring is computable in linear time <ref type="bibr" target="#b33">[34]</ref>. In the next sections, we will focus on the most general case.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2.">Answer Set Programming</head><p>Let P be a set of predicates, C a set of constants, and V set of variables. An element in C ∪ V is called a (standard) term. A (standard) atom a of arity n ≥ 0 has the form p(t 1 , . . . ,t n ), where p is a predicate from P, and t i is a term, for each i ∈ {1, . . . , n}. Whenever n = 0, we just write p instead of p(). If no variable appears in an atom, it is called ground. Moreover, let ⋆ ∈ {+, −, ×, /}, ≺∈ {&lt;, ≤, =, ̸ =, &gt;, ≥}, and let X and Y be variables. We extend the set of terms and atoms as follows. An arithmetic term has form −(X), (X ⋆Y ), −(α) or (α ⋆ β ), where α and β are arithmetic terms, and a built-in atom has form α ≺ β , where α and β are arithmetic terms. A (disjunctive) rule r has form</p><formula xml:id="formula_2">a 1 ∨ . . . ∨ a l ← b 1 , . . . , b m , not c 1 , . . . , not c n .<label>(1)</label></formula><p>where m + n + l &gt; 0, and all a i and c k are standard atoms, and b j are standard or built-in atoms. A (disjunctive) ASP program P is a finite set of rules. The head of r is the set H(r) = {a 1 , . . . , a l }, the positive (resp., negative) body of r is the set B + (r) = {b 1 , . . . , b m } (resp., B − (r) = {c 1 , . . . , c n }), and the body is the set B(r) = B − (r) ∪ B + (r). We denote by A(r) the set of built-in atoms. If B(r) = / 0, then the arrow "←" will be omitted. A rule r is normal, if |H(r)| ≤ 1. A fact is normal rule with B(r) = / 0. A constraint is a rule with H(r) = / 0. A normal ASP program P is a finite set of normal rules.</p><p>The Herbrand universe of P, denoted by U P , is the set of all integers and all constants appearing in P. The Herbrand base of P, denoted by B P , is the set of all ground standard atoms that can be obtained from the set of predicate symbols appearing in P and the constants in U P . Let r be a rule of P, and let σ be a substitution map from the set of variables occurring in r to U P , such that the arithmetic evaluation, performed in the standard way, of any arithmetic term is well-defined. A ground instance of r is a rule obtained from r by replacing each variable X in r by σ (X). The arithmetic evaluation of a ground instance r is obtained by replacing any arithmetic term appearing in r by its integer value, which is calculated in the standard way. The ground instantiation of r, denoted by ground(r), is the set of all (arithmetically evaluated) ground instances of r. We denote by ground(P) = ⋃︁ r∈P ground(r) the set of all (arithmetically evaluated) ground instances of all rules of P. An interpretation of P is any set I ⊆ B P of standard atoms.</p><p>A rule r is ground if each atom in r is ground. A program P is ground if each rule in P is ground. We say that an interpretation I satisfies a ground rule r if B + (r)\A(r) ⊆ I; B − (r) ∩ I = / 0 implies I ∩ H(r) ̸ = / 0; and each built-in atom in A(r) is true according to the standard arithmetic evaluation. If I satisfies every rule r in a ground program P, then I is a model of P. The reduct of P w.r.t. an interpretation I is the program P I such that: (i) for each rule r ∈ P with B − (r) ∩ I = / 0, P I contains the rule r ′ with H(r ′ ) = H(r), B + (r ′ ) = B + (r), and B − (r ′ ) = / 0; (ii) no further rule is in P I . An interpretation I is an answer set of the ground ASP program P if it is a minimal model of P I . For a non ground ASP program P, its answer sets are those of ground(P). The set of all answer sets of P is denoted by AS(P). A program P such that AS(P) ̸ = / 0 is called coherent, otherwise it is called incoherent.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Example 3. Consider the disjunctive ASP program</head><formula xml:id="formula_3">P = ⎧ ⎨ ⎩ a(1). a(2). b(1). c(X) ∨ d(X) ← a(X), not b(X). c(Y ) ← a(X), b(Y ), not c(X), X ̸ = Y. ⎫ ⎬ ⎭ .</formula><p>Therefore, its ground version is given by ground</p><formula xml:id="formula_4">(P) = ⎧ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎩ a(1). a(2). b(1). c(1) ∨ d(1) ← a(1), not b(1). c(2) ∨ d(2) ← a(2), not b(2). c(1) ← a(2), b(1), not c(2). c(2) ← a(1), b(2), not c(1). ⎫ ⎪ ⎪ ⎪ ⎪ ⎬ ⎪ ⎪ ⎪ ⎪ ⎭ . Let F = {a(1), a(2), b(1)} be the set of facts of P. It is easy to check that M 1 = F ∪ {d(2), c(1)}, M 2 = F ∪ {c(2)}, and M 3 = F ∪ {b(2), c<label>(1)</label></formula><p>} are (minimal) models of P. Note that M 3 is not an answer set of P. Indeed, ground(P) M 3 = {a(1). a(2). b(1). c(2) ← a(1), b(2).}, thus its minimal model is F. On the other hand, M 1 and M 2 are answer sets of P. Indeed, ground(P <ref type="bibr" target="#b1">(2)</ref>.}, so M 2 is a minimal model of ground(P) M 2 . Hence, P is coherent.</p><formula xml:id="formula_5">) M 1 = {a(1). a(2). b(1). c(2) ∨ d(2) ← a(2). c(1) ← a(2), b(1).}, so M 1 is a minimal model of ground(P) M 1 ; and ground(P) M 2 = {a(1). a(2). b(1). c(2) ∨ d(2) ← a(2). c(2) ← a(1), b</formula><p>In the following, we will also use choice rules <ref type="bibr" target="#b34">[35]</ref>, aggregates <ref type="bibr" target="#b35">[36]</ref>, and conditional literals <ref type="bibr" target="#b34">[35]</ref>. In particular, we will use choice rules of the form h{a 1 ; . . . ; a l }k ← b 1 , . . . , b m , not c 1 , . . . , not c n .</p><p>(</p><formula xml:id="formula_6">)<label>2</label></formula><p>where h and k are two natural numbers, l &gt; 0, m + n ≥ 0, and all a i , b j and c k are atoms. The expression h{a 1 ; . . . ; a l }k is satisfied by an interpretation</p><formula xml:id="formula_7">I if h ≤ |{a 1 , . . . , a l } ∩ I| ≤ k.</formula><p>In particular, a rule of the form 0{a}1 (written also as {a}) can be seen as a synctactic shortcut for the rule a ∨ a F , where a F is a fresh new atom not appearing elsewhere in the program, meaning that a can be chosen as true. Moreover, we will use aggregates of the form</p><formula xml:id="formula_8">#count{t : φ } (<label>3</label></formula><formula xml:id="formula_9">)</formula><p>where φ is a conjunction of atoms, and t is a variable occurring in φ . Intuitively, this aggregate counts the number of element of the set of all t for which φ holds. More formally, given an interpretation I, the result of applying I to the aggregate of the form (3) is the cardinality of {t|I satisfies φ }. Finally, we will use conditional literals of the form</p><formula xml:id="formula_10">a : b 1 : • • • : b n<label>(4)</label></formula><p>where a and b i are atoms for i = 1, . . . , n. Intuitively, a conditional literal can be regarded as the list of elements in the set {a|b 1 , . . . , b n }. Concerning computational complexity properties, we recall that for normal ground programs P, deciding whether AS(P) ̸ = / 0 is NP-complete; while for disjunctive ground programs P, deciding whether AS(P) ̸ = / 0 is Σ p 2 -complete <ref type="bibr" target="#b36">[37]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3.">ASP with Quantifiers</head><p>Let P i be an ASP program, for each i = 1, . . . , n, and let C be a set of constraints. <ref type="foot" target="#foot_0">1</ref> An ASP with Quantifiers (ASP(Q)) program Π is an expression of the form:</p><formula xml:id="formula_11">□ 1 P 1 □ 2 P 2 • • • □ n P n : C<label>(5)</label></formula><p>where, for each i = 1, . . . , n, □ i ∈ {∃ st , ∀ st }. Symbols ∃ st and ∀ st are named existential and universal answer set quantifiers, respectively. An ASP(Q) program Π of the form ( <ref type="formula" target="#formula_11">5</ref>) is called existential whenever □ 1 = ∃ st , otherwise it is called universal.</p><p>Let Π be an ASP(Q) program of the form <ref type="bibr" target="#b4">(5)</ref>. Given an ASP program P and an interpretation I over B P , we denote by fix P (I) the set of facts and constraints {a | a ∈ I} ∪ {← a | a ∈ B P \ I} and by Π P 1 ,I the ASP(Q) program of the form <ref type="bibr" target="#b4">(5)</ref>, where P 1 is replaced by P 1 ∪ fix P 1 (I). The coherence of an ASP(Q) program is inductively defined on the number of quantifiers in the program: (i) ∃ st P : C is coherent, if there exists M ∈ AS(P) such that C ∪ fix P (M) is coherent; (ii) ∀ st P : C is coherent, if for each M ∈ AS(P), C ∪ fix P (M) is coherent; (iii) ∃ st P Π is coherent, if there exists M ∈ AS(P) such that Π P,M is coherent; (iv) ∀ st P Π is coherent, if for each M ∈ AS(P), Π P,M is coherent. For an existential ASP(Q) program Π of the form (5), we say that M ∈ AS(P 1 ) is a quantified answer set of Π, whenever (□ 2 P 2 • • • □ n P n : C) P 1 ,M is coherent, in case of n &gt; 1, and whenever C ∪ fix P 1 (M) is coherent, in case of n = 1. The set of all quantified answer sets of Π is denoted by QAS(Π).</p><p>For instance, an existential ASP(Q) program Π = ∃ st P 1 ∀ st P 2 : C is coherent if there exists an answer set M 1 of P 1 such that for each answer set M 2 of P ′ 2 there is an answer set of C ∪ f ix P ′ 2 (M 2 ), where</p><formula xml:id="formula_12">P ′ 2 = P 2 ∪ fix P 1 (M 1 ).</formula><p>If such an answer set M 1 exists, then M 1 is a quantified answer set of Π.</p><p>Example 4. Consider the existential ASP(Q) program Π = ∃ st P 1 ∀ st P 2 : C, where</p><formula xml:id="formula_13">P 1 = {︁ a(1). b(X) ∨ c(X) ← a(X). }︁ ; P 2 = {︁ d(X) ∨ e(X) ← c(X). }︁ ; C = {︁ ← b(X), not d(X). }︁ .</formula><p>First, note that the program P 1 has two answer sets: M 1 = {a(1), b(1)} and M 2 = {a(1), c(1)}. Now, if we consider M 1 , then fix P 1 (M 1 ) = {a(1). b(1). ← c(1).}. Hence, the program P ′ 2 = P 2 ∪ fix P 1 (M 1 ) has the unique answer set M 1 . Thus, fix P ′ 2 (M 1 ) = {a(1). b(1). ← c(1). ← d <ref type="bibr" target="#b0">(1)</ref>. ← e(1).}, and so C ∪ fix P ′ 2 (M 1 ) is incoherent. On the other hand, if we consider M 2 , then fix P 1 (M 2 ) = {a(1). c(1). ← b(1).}. Hence, the program P ′ 2 = P 2 ∪ fix P 1 (M 2 ) has two answer sets:</p><formula xml:id="formula_14">M 3 = M 2 ∪ {d(1)} and M 4 = M 2 ∪ {e(1)}. Therefore, fix P ′ 2 (M 3 ) = {a(1). c(1). d(1). ← b(1)</formula><p>. ← e(1).} and fix P ′ 2 (M 4 ) = {a(1). c(1). e(1). ← b(1). ← d(1).}. Since both C ∪ fix P ′ 2 (M 3 ) and C ∪ fix P ′ 2 (M 4 ) are coherent, then Π is coherent, and M 2 is a quantified answer set of Π. Concerning computational complexity properties, we recall that for normal existential (respectively, universal) ASP(Q) programs Π with n alternating quantifiers in the prefix, deciding whether Π is coherent is Σ p n -complete [respectively, Π p n -complete]. Hence, ASP(Q) can in principle model all problems in the Polynomial Hierarchy <ref type="bibr" target="#b11">[12]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Modeling Clique Coloring in basic ASP</head><p>Now, we show how to model the CC problem by using ASP. First of all, note that this representation is theoretically possible as CC is a Σ p 2 -complete problem and ASP is able to model decisional problems in this complexity class. A standard technique used to model this kind of problems is called saturation <ref type="bibr" target="#b31">[32]</ref>. It was initially introduced by Eiter and Gottlob <ref type="bibr" target="#b30">[31]</ref> in order to provide a complexity reduction from the problem of deciding the validity of a quantified Boolean formula of the form ∃X∀Y φ (X,Y ), where φ (X,Y ) is in disjunctive normal form over atoms in X and Y , to the problem of deciding the coherence of a propositional disjunctive ASP program. Both problems are Σ p 2 -complete. In the following, we exploit the saturation technique to model the CC problem into an ASP program.</p><p>Let G = (V, E) be an undirected graph, and let {1, . . . , k} be a set of k colors.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Facts:</head><p>node(a). for each a ∈ V ; <ref type="bibr" target="#b5">(6)</ref> edge(a, b). edge(b, a). for each {a, b} ∈ E;</p><p>noEdge(a, b). noEdge(b, a). for each {a, b} ̸ ∈ E;</p><p>color(i). for each i = 1, ..., k.</p><p>This set of facts model the input data, i.e. the graph G = (V, E) by using atoms node(a), for each vertex a ∈ V (6); edge(a, b) and edge(b, a), for each edge {a, b} ∈ E (7); noEdge(a, b) and noEdge(b, a), for each set of two vertices {a, b} ̸ ∈ E (8); and color(i), for each i = 1, . . . , k (9).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Guess:</head><p>1{colors(X,C) : color(C)}1 ← node(X).</p><p>Rule ( <ref type="formula" target="#formula_18">10</ref>) is a choice rule that selects exactly one atom in the set {colors(a, 1), . . . , colors(a, k)}, for each vertex a ∈ V . Hence, it guesses a possible coloration of the vertices of the graph.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Saturation Guess:</head><p>inClique(X) ∨ outClique(X) ← node(X).</p><p>Rule ( <ref type="formula" target="#formula_19">11</ref>) is a disjunctive rule guessing a subset of vertices by introducing a unary predicate inClique, for selected vertices, and a unary predicate outClique, for non selected ones.</p><p>Saturation Check: </p><formula xml:id="formula_20">satur ← inClique(X), inClique(Y ), noEdge(X,Y ), X ̸ = Y.<label>(12</label></formula><p>The previous three rules model the saturation conditions. First, we saturate whenever the guessed set H is not a clique. Indeed, rule (12) models that two distinct vertices are in the set, but there is no edge between them. Second, we saturate whenever the guessed clique is not maximal. Indeed, rule (13) models that a vertex X is out of the clique, and every vertex Y not adjacent to X is out of the clique. This means that X is connected with every vertex of the clique, so the clique is not maximal. Finally, we saturate whenever the guessed maximal clique has two distinct vertices with two different colors. Indeed, rule ( <ref type="formula" target="#formula_21">14</ref>) models that there exists two vertices X and Y belonging to a clique, such that X is colored by C, Y is colored by D, and C and D are different colors.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Saturation:</head><p>inClique(X) ← node(X), satur.</p><p>outClique(X) ← node(X), satur.</p><p>← not satur.</p><p>These last three rules represent the classic saturation part. In particular, rules ( <ref type="formula" target="#formula_22">15</ref>) and ( <ref type="formula" target="#formula_23">16</ref>) impose to infer each atom of the form inClique(X) and outClique(X) for each node X, whenever some saturation condition is satisfied. Finally, rule <ref type="bibr" target="#b16">(17)</ref> forces the whole program to return an answer set only if the atom satur has been inferred. Now, we formally prove that our encoding is sound and complete.</p><p>Theorem 1. Let G = (V, E) be a graph, k an integer, and P be the program formed by rules ( <ref type="formula">6</ref>)- <ref type="bibr" target="#b16">(17)</ref>. Then, P has an answer set if, and only if, there is a k-clique-coloring of G.</p><p>Proof. First, assume that γ from V to {1, . . . , k} is a k-clique-coloring of G. We state that the set A containing facts ( <ref type="formula">6</ref>)-( <ref type="formula" target="#formula_17">9</ref>); atoms colors(a, γ(a)), for each a ∈ V ; atoms inClique(a) and outClique(a), for each a ∈ V ; and the atom satur is an answer set of P. It can be easily checked that A is a model P. Now, consider the reduct program of P with respect to A, that is the positive program P A given by P \ {← not satur}. We have to show that A is a minimal model of P A . By contradiction, assume that there is a model A ′ of P A such that A ′ ⊂ A. Clearly, since A ′ is a model of P A contained in A, then at least the facts ( <ref type="formula">6</ref>)-( <ref type="formula" target="#formula_17">9</ref>) and the atoms colors(a, γ(a)), for each a ∈ V , must be also in A ′ . Now, note that satur ̸ ∈ A ′ , otherwise A ′ should be forced to have also atoms inClique(a) and outClique(a), for each a ∈ V (because of rules ( <ref type="formula" target="#formula_22">15</ref>) and ( <ref type="formula" target="#formula_23">16</ref>)), and so A ′ should be equal to A. Since satur ̸ ∈ A ′ , then no body of the rules among ( <ref type="formula" target="#formula_20">12</ref>), ( <ref type="formula">13</ref>), and ( <ref type="formula" target="#formula_21">14</ref>) is satisfied by A ′ . This means that A ′ contains a subset of atoms from {inClique(a)|a ∈ V } (since A ′ satisfies rule <ref type="bibr" target="#b10">(11)</ref>) such that the set H = {a|inClique(a) ∈ A ′ } is a clique (since A ′ does not satisfy the body of rule ( <ref type="formula" target="#formula_20">12</ref>)), is a maximal clique (since A ′ does not satisfy the body of rule ( <ref type="formula">13</ref>)), and each node a in H has the same color (since A ′ does not satisfy the body of rule ( <ref type="formula" target="#formula_21">14</ref>)). But this is a contradiction, since γ is a k-clique-coloring of G. Therefore, such an A ′ cannot exist, and A is a minimal model of P A , and so it is an answer set of P.</p><p>On the other hand, assume that P has an answer set, say A. Then, A must contain the atom satur (otherwise rule <ref type="bibr" target="#b16">(17)</ref> would not be satisfied). Moreover, by rules ( <ref type="formula" target="#formula_22">15</ref>) and ( <ref type="formula" target="#formula_23">16</ref>), each atom of the form inClique(a) and outClique(a), for each node a of the graph, must belong to A. Since A is a minimal model of the reduct of P with respect to A, that is P \ {← not satur}, then there is no model of P A not satisfying at least one of the rules among ( <ref type="formula" target="#formula_20">12</ref>), <ref type="bibr" target="#b12">(13)</ref>, and ( <ref type="formula" target="#formula_21">14</ref>). This means that, for each possible choice of the rule <ref type="bibr" target="#b10">(11)</ref>, the set of atoms of the form inClique(X), corresponding to the set of selected vertices in G, either it was not a clique (whenever rule <ref type="bibr" target="#b11">(12)</ref> has been applied), or it was not a maximal clique (whenever rule (13) has been applied), or it was a maximal clique with at least two vertices with two distinct colors (whenever rule <ref type="bibr" target="#b13">(14)</ref> has been applied). In other words, there is a coloration choice of the vertices in G (the one corresponding to A), such that each maximal clique in G has two vertices with two distinct colors. Hence, there is a k-clique-coloring of G.</p><p>As highlighted by many expert ASP scholars, the saturation technique is not at all easy to use and its meaning is not very intuitive <ref type="bibr" target="#b14">[15,</ref><ref type="bibr" target="#b13">14,</ref><ref type="bibr" target="#b12">13]</ref>. So, in the next section, we exploit the modeling capabilities of ASP with quantifiers to provide an encoding of the CC problem.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Modeling Clique Coloring in ASP(Q)</head><p>Let G = (V, E) be a graph and k be an integer. First of all, note that the CC problem can be easily expressed as follow:</p><p>1. There exists a k-coloring of G such that 2. for each maximal clique H in G,</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">H cointains two vertices of different color?</head><p>This problem has a direct and natural way to be modeled into an ASP(Q) program of the form ∃ st P 1 ∀ st P 2 : C. Intuitively, P 1 has to model the problem of identifying a k-coloring of G, so that an answer set of P 1 will correspond to a k-coloring of G. Then, P 2 models the problem of identify a maximal clique in G, so that an answer set of P 2 will correspond to a maximal clique in G colored with k colors. Finally, the program C will be just a constraint to check that the answer sets of P 2 satisfy the condition of having two vertices of different color.</p><formula xml:id="formula_25">Program P 1 : node(a). for each a ∈ V ;<label>(18)</label></formula><p>edge(a, b). edge(b, a). for each {a, b} ∈ E;</p><p>.</p><formula xml:id="formula_27">for each i = 1, ..., k;<label>(20) 1{colors(</label></formula><formula xml:id="formula_28">X,C) : color(C)}1 ← node(X).<label>(21)</label></formula><p>The ASP program P 1 models the problem of choose a coloration of the vertices of a graph. Indeed, the first three lines model the input data, i.e. the graph G = (V, E) by using a unary predicate node (18) and a binary predicate edge <ref type="bibr" target="#b18">(19)</ref>; and the set of k colors with a unary predicate color <ref type="bibr" target="#b19">(20)</ref>. Finally, the choice rule <ref type="bibr" target="#b20">(21)</ref> selects exactly one atom in the set {colors(a, 1), . . . , colors(a, k)}, for each vertex a ∈ V . </p><formula xml:id="formula_29">⎫ ⎪ ⎪ ⎬ ⎪ ⎪ ⎭ .<label>(1), color(2)</label></formula><p>Hence, an answer set of P 1 is given by the set of facts F union a possible coloration of the vertices. For instance, A = F ∪ {colors(a, 1), colors(b, 1), colors(c, 2), colors(d, 1), colors(e, 2), colors( f , 2)} is an answer set of P 1 .</p><p>Program P 2 :</p><p>{inClique(X)} ← node(X).</p><p>← inClique(X), inClique(Y ), not edge(X,Y ), X ̸ = Y. ( <ref type="formula">23</ref>)</p><formula xml:id="formula_31">lengthClique(Y ) ← #count{X : inClique(X)} = Y.<label>(24)</label></formula><p>← lengthClique(X), X &lt; 2.</p><p>← node(X), not inClique(X), lengthClique(Z), #count{Y : edge(X,Y ), inClique(Y )} = Z.</p><p>The ASP program P 2 models the problem of finding a maximal clique in a graph. Indeed, rule ( <ref type="formula" target="#formula_30">22</ref>) is a choice rule guessing a subset of vertices of the graph, collected into the unary predicate inClique. Then, constraint ( <ref type="formula">23</ref>) is violated whenever in the guessed subset there are two distinct vertices X and Y for which there is no edge between them. Rule <ref type="bibr" target="#b23">(24)</ref> computes the cardinality of the guessed subset, by infering an atom of the form lengthClique(n), where n is the cardinality. Constraint <ref type="bibr" target="#b24">(25)</ref> forces the cardinality to be greater than 1. Therefore, rules ( <ref type="formula">23</ref>), ( <ref type="formula" target="#formula_31">24</ref>) and ( <ref type="formula" target="#formula_32">25</ref>) select a guessed subset of vertices that is a clique of the graph. Finally, the last constraint ( <ref type="formula" target="#formula_33">26</ref>) is violated whenever there is a vertex X of the graph, but not of the guessed subset such that the number of edges from X to a vertex Y of the guessed subset is equal to the cardinality of the guessed subset. This means that the guessed subset is not a maximal clique. It can be easily verified that each answer set corresponds to a maximal clique in G with the coloration given by A.</p><formula xml:id="formula_34">Program C: ← #count{C : colors(X,C), inClique(X)} = 1.<label>(27)</label></formula><p>The program C checks that each maximal clique contains at least two vertices of different color. Indeed, the constraint ( <ref type="formula" target="#formula_34">27</ref>) is violated in case the number of colors C for which there is a vertex in the maximal clique (inClique(X)) that is colored by C (colors(X,C)) is equal to 1.</p><p>Example 7. Consider again the graph G 1 of the Example 1, and the answer sets A 1 , ..., A 5 reported in Example 6. Each answer set does not violate the constraint <ref type="bibr" target="#b26">(27)</ref>, that is it satisfies the program C. For instance, in A 1 we have atoms colors(a, 1), colors(c, 2), inClique(a), and inClique(c). Hence, the counting aggregate returns 2. Now, we formally prove that our encoding is sound and complete.</p><p>Theorem 2. Let G = (V, E) be a graph, k an integer, and Π = ∃ st P 1 ∀ st P 2 : C be the ASP(Q) program described above. Then, Π is coherent if, and only if, there is a k-clique-coloring of G.</p><p>Proof. First, assume that γ from V to {1, . . . , k} is a k-clique-coloring of G. We state that the set A containing facts ( <ref type="formula" target="#formula_25">18</ref>), <ref type="bibr" target="#b18">(19)</ref>, and (20); and atoms colors(a, γ(a)), for each a ∈ V is an answer set of P 1 such that for each answer set A ′ of P 2 ∪ fix P 1 (A), A ′ is an answer set of C. Note that fix P 1 (A) = A ∪ {← colors(a, i)|i = 1, . . . , k ∧ i ̸ = γ(a) ∧ a ∈ V }, and each of these constraints is always not violated by P 2 , since atoms of the form colors(a, i) are never inferred by P 2 . Hence, instead of P 2 ∪ fix P 1 (A), we can just consider P 2 ∪ A. By construction, A is an answer set of P 1 . Now, let A ′ be an answer set of P 2 ∪ A. Hence, by rule <ref type="bibr" target="#b21">(22)</ref>, a subset of {inClique(a)|a ∈ V } must be contained in A ′ , and by rules ( <ref type="formula" target="#formula_31">24</ref>) and ( <ref type="formula" target="#formula_32">25</ref>) this subset has to have at least two elements. Moreover, also an atom of the form lengthClique(n), with n ≥ 2, belongs to A ′ . Finally, since A ′ satisfy the two constraints of P 2 (rule ( <ref type="formula">23</ref>) and ( <ref type="formula" target="#formula_33">26</ref>)), we have that the set K = {a|inClique(a) ∈ A ′ } is a maximal clique of G. Now, since γ is a k-clique-coloring of G, we have that there exists a and b in K such that γ(a) ̸ = γ(b). Therefore, colors(a, γ(a)) and colors(b, γ(b)) are two atoms in A ′ ⊇ A. Hence, the aggregate appearing in the constraint ( <ref type="formula" target="#formula_34">27</ref>) returns a number greater than 1. Thus, A ′ is an answer set of the program C.</p><p>On the other hand, assume that Π is coherent. Hence, there exists an answer set A of P 1 such that for each answer set A ′ of P 2 ∪ A, A ′ is an answer set of C. Let γ be a function from V to {1, . . . , k} such that γ(a) = i iff colors(a, i) ∈ A. We state that such a γ is a k-clique-coloring of G. Indeed, let H be a maximal clique of G, and consider the set A ′ = A ∪ {inClique(a)|a ∈ H} ∪ {length(|H|)}. By construction, A ′ satisfies rules <ref type="bibr" target="#b21">(22)</ref> and <ref type="bibr" target="#b23">(24)</ref>. Moreover, since H is a maximal clique, A ′ satisfies also constraints ( <ref type="formula">23</ref>), ( <ref type="formula" target="#formula_32">25</ref>) and <ref type="bibr" target="#b25">(26)</ref>. Therefore, A ′ is a model of P 2 ∪A, and by construction is also a minimal model of the reduct (P 2 ∪ A) A ′ . Hence, A ′ is an answer set of P 2 ∪ A. Then, by assumption, A ′ is an answer set of C, i.e., A ′ does not violate the constraint <ref type="bibr" target="#b26">(27)</ref>. This means that the cardinality of the set {i|colors(a, i) ∈ A ′ ∧ inClique(a) ∈ A ′ } is greater than 1. Therefore, by construction of A ′ , we have that there exist at least two vertices in the maximal clique H, say a and b, such that γ(a) = i and γ(b) = j with i ̸ = j. I.e., H is a maximal clique of G containing two vertices of different color. Hence, γ is a k-clique-coloring of G.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Discussion and Conclusion</head><p>This paper focused on modeling the CC problem via ASP. We provided an enconding into standard ASP by using the saturation technique, and an encoding into ASP(Q), an extension of ASP able to quantify over answer sets. We also provided formal proofs of soudness and completeness of both encondings. From a modeling point of view, the comparison of the two encondigs shows that ASP(Q) is able to provide a direct and natural way of modeling the CC problem.</p><p>Concerning others logic-based modeling approaches to the CC problem, Zhang et. al. <ref type="bibr" target="#b37">[38]</ref> have provided an encoding by using a first-order theory, and then a general reduction from first-order theories to ASP programs. Concerning our ASP encoding based on saturation, we note that a similar encoding has been proposed in <ref type="bibr" target="#b38">[39]</ref>, where the author is interested to provide a comparison with another saturation encoding in ASP by using recursive non-convex aggregates, to show the efficiency improvements for ASP solvers whenever a program with standard aggregates is rewritten with recursive non-convex aggregates.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :Figure 2 :</head><label>12</label><figDesc>Figure 1: The graph on the left admits a 2-clique-coloring (reported on the right). See Example 1.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head></head><label></label><figDesc>) satur ← outClique(X), outClique(Y ) : noEdge(X,Y ) : X ̸ = Y. (13) satur ← inClique(X), inClique(Y ), colors(X,C), colors(Y, D),C ̸ = D.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Example 5 .</head><label>5</label><figDesc>Let G 1 be the graph considered in Example 1, and let k = 2. The first three rules of program P 1 identify the following set of facts F = ), node(b), node(c), node(d), node(e), node( f ), edge(a, b), edge(a, c), edge(b, c), edge(c, d), edge(b, e), edge(d, e), edge(d, f ), edge(b, a), edge(c, a), edge(c, b), edge(d, c), edge(e, b), edge(e, d), edge( f , d), color</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Example 6 .</head><label>6</label><figDesc>Consider again the graph G 1 of the Example 1, and the answer set A of the program P 1 reported in Example 5. Based on the facts in A, the ASP program P 2 produces exactly the following 5 answer sets: A 1 = A ∪ {inClique(a), inClique(b), inClique(c), lengthClique(3)}; A 2 = A ∪ {inClique(a), inClique(c), inClique(d), lengthClique(3)}; A 3 = A ∪ {inClique(d), inClique(e), lengthClique(2)}; A 4 = A ∪ {inClique(b), inClique(e), lengthClique(2)}; A 5 = A ∪ {inClique(d), inClique( f ), lengthClique(2)}.</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">Note that, in the definition of ASP(Q) programs given by<ref type="bibr" target="#b18">[19]</ref>, C is a stratified normal ASP program. However, for our purposes, it will be sufficient for C to be just a set of constraints.</note>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Since, to the best of our knowledge, there are currently no solvers to compute ASP(Q) programs, for future work, we plan to provide an implementation of ASP(Q) at least for ASP(Q) programs with two innested quantifiers, that are ∃ st P 1 ∀ st P 2 : C and ∀ st P 1 ∃ st P 2 : C, thus to be able to evaluate problems belonging to the second level of the polynomial hierarchy (i.e., Σ p 2 and Π p 2 ). In this way, we could plan an experimental analysis to compare, also from a practical computational point of view, all these encondings for solving the CC problem.</p><p>Finally, given the expressivity and the modeling capability of the ASP(Q) language, we plan to consider other problems related to the CC one. Such as the k-Clique-Choosability problem that has been proved to be a Π p 3 -complete problem for every k ≥ 2 (see Corollary 9 in <ref type="bibr" target="#b19">[20]</ref>), and the Hereditary k-Clique-Coloring that has been proved to be a Π p 3 -complete problem for every k ≥ 3 (see Corollary 15 in <ref type="bibr" target="#b19">[20]</ref>).</p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">R</forename><surname>Foulds</surname></persName>
		</author>
		<title level="m">Graph Theory Applications</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1992">1992</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">Introduction to Algorithms</title>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">H</forename><surname>Cormen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">E</forename><surname>Leiserson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">L</forename><surname>Rivest</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Stein</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2009">2009</date>
			<publisher>MIT Press</publisher>
		</imprint>
	</monogr>
	<note>3rd Edition</note>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Computers and Intractability: A Guide to the Theory of NP-Completeness</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">R</forename><surname>Garey</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">S</forename><surname>Johnson</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1979">1979</date>
			<publisher>W. H. Freeman</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Answer set programming at a glance</title>
		<author>
			<persName><forename type="first">G</forename><surname>Brewka</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Eiter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Truszczynski</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Commun. ACM</title>
		<imprint>
			<biblScope unit="volume">54</biblScope>
			<biblScope unit="page" from="92" to="103" />
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">Answer Set Programming</title>
		<author>
			<persName><forename type="first">V</forename><surname>Lifschitz</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2019">2019</date>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Classical negation in logic programs and disjunctive databases</title>
		<author>
			<persName><forename type="first">M</forename><surname>Gelfond</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Lifschitz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">New Gener. Comput</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="page" from="365" to="386" />
			<date type="published" when="1991">1991</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Answer set programming and plan generation</title>
		<author>
			<persName><forename type="first">V</forename><surname>Lifschitz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artif. Intell</title>
		<imprint>
			<biblScope unit="volume">138</biblScope>
			<biblScope unit="page" from="39" to="54" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Declarative problem-solving using the dlv system</title>
		<author>
			<persName><forename type="first">T</forename><surname>Eiter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Faber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Pfeifer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Logic-Based Artificial Intelligence</title>
				<editor>
			<persName><forename type="first">J</forename><surname>Minker</surname></persName>
		</editor>
		<meeting><address><addrLine>Boston, MA</addrLine></address></meeting>
		<imprint>
			<publisher>Springer US</publisher>
			<date type="published" when="2000">2000</date>
			<biblScope unit="page" from="79" to="103" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">The ASP system DLV: advancements and applications</title>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">T</forename><surname>Adrian</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Alviano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Calimeri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Cuteri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Dodaro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Faber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Fuscà</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Manna</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Perri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Ricca</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Veltri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Zangari</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Künstliche Intell</title>
		<imprint>
			<biblScope unit="volume">32</biblScope>
			<biblScope unit="page" from="177" to="179" />
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<author>
			<persName><forename type="first">M</forename><surname>Gebser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Kaminski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Kaufmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Romero</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Schaub</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Progress in clasp series 3</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2015">9345. 2015</date>
			<biblScope unit="page" from="368" to="383" />
		</imprint>
	</monogr>
	<note>LPNMR</note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">The seventh answer set programming competition: Design and results</title>
		<author>
			<persName><forename type="first">M</forename><surname>Gebser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Maratea</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Ricca</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theory Pract. Log. Program</title>
		<imprint>
			<biblScope unit="volume">20</biblScope>
			<biblScope unit="page" from="176" to="204" />
			<date type="published" when="2020">2020</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">The polynomial-time hierarchy</title>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">J</forename><surname>Stockmeyer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theor. Comput. Sci</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="page" from="1" to="22" />
			<date type="published" when="1976">1976</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Stable-unstable semantics: Beyond NP with normal logic programs</title>
		<author>
			<persName><forename type="first">B</forename><surname>Bogaerts</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Janhunen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Tasharrofi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theory Pract. Log. Program</title>
		<imprint>
			<biblScope unit="volume">16</biblScope>
			<biblScope unit="page" from="570" to="586" />
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Complex optimization in answer set programming</title>
		<author>
			<persName><forename type="first">M</forename><surname>Gebser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Kaminski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Schaub</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theory Pract. Log. Program</title>
		<imprint>
			<biblScope unit="volume">11</biblScope>
			<biblScope unit="page" from="821" to="839" />
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Explaining inconsistency in answer set programs and extensions</title>
		<author>
			<persName><forename type="first">C</forename><surname>Redl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LPNMR</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="volume">10377</biblScope>
			<biblScope unit="page" from="176" to="190" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Towards automated integration of guess and check programs in answer set programming: a meta-interpreter and applications</title>
		<author>
			<persName><forename type="first">T</forename><surname>Eiter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Polleres</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theory Pract. Log. Program</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="page" from="23" to="60" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Manifold answer-set programs and their applications</title>
		<author>
			<persName><forename type="first">W</forename><surname>Faber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Woltran</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Logic Programming, Knowledge Representation, and Nonmonotonic Reasoning</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2011">2011</date>
			<biblScope unit="volume">6565</biblScope>
			<biblScope unit="page" from="44" to="63" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Towards quantified answer set programming</title>
		<author>
			<persName><forename type="first">G</forename><surname>Amendola</surname></persName>
		</author>
		<ptr target="CEUR-WS.org" />
	</analytic>
	<monogr>
		<title level="m">RCRA@FLoC</title>
		<title level="s">CEUR Workshop Proceedings</title>
		<imprint>
			<date type="published" when="2018">2018</date>
			<biblScope unit="volume">2271</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Beyond NP: quantifying over answer sets</title>
		<author>
			<persName><forename type="first">G</forename><surname>Amendola</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Ricca</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Truszczynski</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theory Pract. Log. Program</title>
		<imprint>
			<biblScope unit="volume">19</biblScope>
			<biblScope unit="page" from="705" to="721" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Complexity of clique coloring and related problems</title>
		<author>
			<persName><forename type="first">D</forename><surname>Marx</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theor. Comput. Sci</title>
		<imprint>
			<biblScope unit="volume">412</biblScope>
			<biblScope unit="page" from="3487" to="3500" />
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Two-colouring all two-element maximal antichains</title>
		<author>
			<persName><forename type="first">D</forename><surname>Duffus</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Sands</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Sauer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">E</forename><surname>Woodrow</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Comb. Theory, Ser. A</title>
		<imprint>
			<biblScope unit="volume">57</biblScope>
			<biblScope unit="page" from="109" to="116" />
			<date type="published" when="1991">1991</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Coloring the maximal cliques of graphs</title>
		<author>
			<persName><forename type="first">G</forename><surname>Bacsó</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Gravier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Gyárfás</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Preissmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Sebö</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SIAM J. Discret. Math</title>
		<imprint>
			<biblScope unit="volume">17</biblScope>
			<biblScope unit="page" from="361" to="376" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">On the divisibility of graphs</title>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">T</forename><surname>Hoàng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">J H</forename><surname>Mcdiarmid</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Discret. Math</title>
		<imprint>
			<biblScope unit="volume">242</biblScope>
			<biblScope unit="page" from="145" to="156" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">On the complexity of bicoloring clique hypergraphs of graphs</title>
		<author>
			<persName><forename type="first">J</forename><surname>Kratochvíl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Tuza</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Algorithms</title>
		<imprint>
			<biblScope unit="volume">45</biblScope>
			<biblScope unit="page" from="40" to="54" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">Coloring clique-hypergraphs of graphs with no subdivision of k5</title>
		<author>
			<persName><forename type="first">E</forename><surname>Shan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Kang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theoretical Computer Science</title>
		<imprint>
			<biblScope unit="volume">592</biblScope>
			<biblScope unit="page" from="166" to="175" />
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">Efficient algorithms for clique-colouring and biclique-colouring unichord-free graphs</title>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">B M</forename><surname>Filho</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">C S</forename><surname>Machado</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">M H</forename><surname>De Figueiredo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Algorithmica</title>
		<imprint>
			<biblScope unit="volume">77</biblScope>
			<biblScope unit="page" from="786" to="814" />
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Hierarchical complexity of 2-clique-colouring weakly chordal graphs and perfect graphs having cliques of size at least 3</title>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">B M</forename><surname>Filho</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">C S</forename><surname>Machado</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">M H</forename><surname>De Figueiredo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theor. Comput. Sci</title>
		<imprint>
			<biblScope unit="volume">618</biblScope>
			<biblScope unit="page" from="122" to="134" />
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<analytic>
		<title level="a" type="main">A linear-time algorithm for clique-coloring planar graphs</title>
		<author>
			<persName><forename type="first">Z</forename><surname>Liang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Shan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Xing</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Bai</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Oper. Res. Lett</title>
		<imprint>
			<biblScope unit="volume">47</biblScope>
			<biblScope unit="page" from="241" to="243" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">Equitable clique-coloring in claw-free graphs with maximum degree at most 4</title>
		<author>
			<persName><forename type="first">Z</forename><surname>Liang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Dong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Xing</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Graphs Comb</title>
		<imprint>
			<biblScope unit="volume">37</biblScope>
			<biblScope unit="page" from="445" to="454" />
			<date type="published" when="2021">2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<analytic>
		<title level="a" type="main">Exact algorithms to clique-colour graphs</title>
		<author>
			<persName><forename type="first">M</forename><surname>Cochefert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Kratsch</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">SOFSEM</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2014">2014</date>
			<biblScope unit="volume">8327</biblScope>
			<biblScope unit="page" from="187" to="198" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<analytic>
		<title level="a" type="main">On the computational cost of disjunctive logic programming: Propositional case</title>
		<author>
			<persName><forename type="first">T</forename><surname>Eiter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Gottlob</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Ann. Math. Artif. Intell</title>
		<imprint>
			<biblScope unit="volume">15</biblScope>
			<biblScope unit="page" from="289" to="323" />
			<date type="published" when="1995">1995</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b31">
	<analytic>
		<title level="a" type="main">The DLV system for knowledge representation and reasoning</title>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Pfeifer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Faber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Eiter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Gottlob</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Perri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Scarcello</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Trans. Comput. Log</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="page" from="499" to="562" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b32">
	<analytic>
		<title level="a" type="main">Clique-coloring circular-arc graphs</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">R</forename><surname>Cerioli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">L</forename><surname>Korenchendler</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Electron. Notes Discret. Math</title>
		<imprint>
			<biblScope unit="volume">35</biblScope>
			<biblScope unit="page" from="287" to="292" />
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b33">
	<analytic>
		<title level="a" type="main">A linear-time algorithm for clique-coloring problem in circular-arc graphs</title>
		<author>
			<persName><forename type="first">Z</forename><surname>Liang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Shan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Comb. Optim</title>
		<imprint>
			<biblScope unit="volume">33</biblScope>
			<biblScope unit="page" from="147" to="155" />
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b34">
	<analytic>
		<title level="a" type="main">Extending and implementing the stable model semantics</title>
		<author>
			<persName><forename type="first">P</forename><surname>Simons</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Niemelä</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Soininen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artif. Intell</title>
		<imprint>
			<biblScope unit="volume">138</biblScope>
			<biblScope unit="page" from="181" to="234" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b35">
	<analytic>
		<title level="a" type="main">Aggregates in answer set programming</title>
		<author>
			<persName><forename type="first">M</forename><surname>Alviano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Faber</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Künstliche Intell</title>
		<imprint>
			<biblScope unit="volume">32</biblScope>
			<biblScope unit="page" from="119" to="124" />
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b36">
	<analytic>
		<title level="a" type="main">Complexity and expressive power of logic programming</title>
		<author>
			<persName><forename type="first">E</forename><surname>Dantsin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Eiter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Gottlob</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Voronkov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Comput. Surv</title>
		<imprint>
			<biblScope unit="volume">33</biblScope>
			<biblScope unit="page" from="374" to="425" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b37">
	<analytic>
		<title level="a" type="main">Translating first-order theories into logic programs</title>
		<author>
			<persName><forename type="first">H</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Ying</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhou</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IJCAI, IJCAI/AAAI</title>
				<imprint>
			<date type="published" when="2011">2011</date>
			<biblScope unit="page" from="1126" to="1131" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b38">
	<analytic>
		<title level="a" type="main">Evaluating answer set programming with non-convex recursive aggregates</title>
		<author>
			<persName><forename type="first">M</forename><surname>Alviano</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Fundam. Informaticae</title>
		<imprint>
			<biblScope unit="volume">149</biblScope>
			<biblScope unit="page" from="1" to="34" />
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
