1 Introduction

In many applications of Artificial Intelligence and Commonsense Reasoning, we have to deal with uncertain, vague, inaccurate, doubtful and even contradictory information as well as with certain, precise and reliable information. In this scenario, conflicts can naturally arise and, it urges to develop mechanisms to resolve them. Adopting some criteria to establish preferences between these conflicting information is an effective way of reasoning with them. Somehow we have to prioritise the information to separate the wheat from the chaff. For representing and reasoning with preferences, several prioritised systems have been proposed (see [1] for a survey).

When moving our eyes to preferences in Logic Programming, we see a plethora of proposals (see [2,3,4,5,6,7,8,9,10,11,12] for a non exhaustive list). As witnessed by the multitude of formalisms with preferences, a key issue here is the lack of consensus on the role played by preferences. Roughly speaking, we find in the literature various works with diverging intuitions, and as a consequence, conceptually different formal techniques to deal with preference. While there are many proposals on preferences in the reasoning process and knowledge representation, there is still much space for improvement.

Indeed, as noticed in [13], one of the main problems a user faces when expressing preferences is any preference representation language based on the direct assessment of user preferences over the complete set of options is simply infeasible. We have to resort to compact preference representation languages which represent partial descriptions of preferences and rank-order the possible options.

With such a motivation in view, in this paper, we generalise the notion of Prioritised Logic Programs (\(\textit{PLP}\)s) proposed in [4] to encompass not only the relation of priority between literals (atoms or its negation), but also sets of literals. The resulting framework offers a preference representation language expressive enough to represent complex forms of preference in a compact manner. While in [4], in order to represent a conjunction of preferences, they have to include new rules in the program and preferences between new atoms, we will surmount this problem by representing conjunctions of preferences directly.

A second fundamental challenge is to select the most preferable models given the priorities between the sets of literals. Which criteria should be regarded? In order to decide a model \(I_1\) is more preferable than a model \(I_2\), someone would require any set of literals associated with \(I_1\) should have higher priority than any set of literals associated with \(I_2\). For others, it suffices to guarantee the worst-ranked sets of literals associated with \(I_1\) should have higher priority than those worst-ranked sets of literals associated with \(I_2\). Depending on the criteria employed to select the most preferable models, we would obtain different semantics for \(\textit{PLP}\)s. Overall, there is no consensual way to define these semantics and, we will find many disconnected approaches. In this work, we will not cling to a unique path, but present comprehensive and systematic criteria to define semantics for them. As result, we will have a clearer notion of what we mean when selecting the most preferable models.

The rest of the paper develops as follows. In Sect. 2, we will introduce the basic concepts related to Normal Logic Programs \((\textit{NLP})\) and their semantics. The main contributions of the paper can be found in Sect. 3, where we will present the Prioritised Logic Programs (\(\textit{PLP}\)s) and comprehensive and systematic criteria to define semantics for them. Next, we show how complex forms of priorities can be expressed straightforwardly in \(\textit{PLP}\)s. In Sect. 5, we prove some properties of our proposal; in particular, we guarantee these semantics for \(\textit{PLP}\) generalise their counterparts for logic programs without preferences. Section 6 provides an overview of related works. Finally, Sect. 7 summarises our contributions and pointed out future works.

2 Preliminaries

In the sequel, we will consider propositional normal logic programs, which we will call logic programs or simply programs from now on.

Definition 1

A Normal Logic Program (\(\textit{NLP}\)), P, is a set of rules of the form \(a \leftarrow a_1, \ldots , a_m,\mathtt {not\ }b_1,\) \(\ldots , \mathtt {not\ }b_n\) (\(m, n \in \mathbb {N}\)), where a, \(a_i\) (\(1 \le i \le m\)) and \(b_j\) (\(1 \le j \le n\)) are atoms; \(\mathtt {not}\) represents default negation, and \(\mathtt {not\ }b_j\) is a default literal. A literal is an atom or a default literal. We say a is the head of the rule, and \(a_1, \ldots , a_m, \mathtt {not\ }b_1, \ldots , \mathtt {not\ }b_n\) is its body. If P has no occurrence of default literals, it is called a Definite Logic Program. The Herbrand Base of P is the set \( HB _P\) of all atoms occurring in P. The set of literals of P is \( Lit _P= HB _P\cup \left\{ \mathtt {not\ }a \mid a \in HB _P\right\} \).

A wide range of logic programming semantics can be defined based on the 3-valued interpretations (for short, interpretations) of programs:

Definition 2

[14] A set \(I \subseteq Lit _P\) is a 3-valued interpretation of an \(\textit{NLP}\) P if \(\not \exists a \in HB _P\) with \(\left\{ a, \mathtt {not\ }a\right\} \subseteq I\). We say I is a model of P iff for each rule \(a \leftarrow a_1, \ldots , a_m,\) \(\mathtt {not\ }b_1, \ldots , \) \(\mathtt {not\ }b_n \in P\), if \(\left\{ a_1, \ldots , a_m, \mathtt {not\ }b_1, \ldots , \mathtt {not\ }b_n\right\} \subseteq I\), then \(a \in I\). We refer to \(T_I = \left\{ a \in HB _P\mid a \in I\right\} \) as the set of true atoms w.r.t. I and to \(F_I = \left\{ a \in HB _P\mid \mathtt {not\ }a \in I\right\} \) as the set of false atoms w.r.t. I. If \(a \not \in T_I \cup F_I\), then a is undefined w.r.t. I.

Let I be a 3-valued interpretation of a program P; in order to define the semantics for normal logic programs, we will resort to the reduct of P with respect to I (written as P/I), which is the definite logic program built by the execution of the following steps:

  1. 1.

    Remove any \(a \leftarrow a_1, \ldots , a_m,\) \(\mathtt {not\ }b_1, \ldots , \mathtt {not\ }b_n \in P\) with \(\left\{ b_1, \ldots , b_n\right\} \cap I \ne \emptyset \);

  2. 2.

    Afterwards, remove any occurrence of \(\mathtt {not\ }b_i\) from P such that \(\mathtt {not\ }b_i \in I\).

  3. 3.

    Then, replace any occurrence of \(\mathtt {not\ }b_i\) left by a special atom \(\mathbf {u}\) (\(\mathbf {u} \not \in HB _P\)).

We say I is the least model of a definite logic program P if among the models of P, \(T_I\) is minimal (w.r.t. set inclusion) and \(F_I\) is maximal (w.r.t. set inclusion). Note that P/I is a definite logic program. As consequence, P/I has a unique least model [14], denoted by \(\varOmega _P(I)\), such that for any \(a \in HB _P\)

  • \(a \in \varOmega _P(I)\) iff \(a \leftarrow a_1, \ldots , a_m \in P/I\) and \(\left\{ a_1, \ldots , a_m\right\} \subseteq \varOmega _P(I)\);

  • \(\mathtt {not\ }a \in \varOmega _P(I)\) iff for every \(a \leftarrow a_1, \ldots , a_m \in P/I\), it holds \(\{\mathtt {not\ }a_1, \ldots ,\) \(\mathtt {not\ }a_m \} \cap \varOmega _P(I) \ne \emptyset \).

We now specify the \(\textit{NLP}\) semantics to be examined in this paper.

Definition 3

Let P be an \(\textit{NLP}\) and I be an interpretation:

  • I is a partial stable (\( PS \)) model of P iff \(I = \varOmega _P(I)\) [14].

  • I is a well-founded model of P iff I is a \( PS \) model of P with minimal \(T_I\) [14].

  • I is a regular model of P iff I is a \( PS \) model of P with maximal \(T_I\) [15].

  • I is a stable model of P iff I is a \( PS \) model of P where for each \(a \in HB _P\), \(a \in T_I \cup F_I\) [14].

  • I is an L-stable model of P iff I is a \( PS \) model of P with minimal (w.r.t. set inclusion) \(\left\{ a \in HB _P\mid a \not \in T_I \cup F_I\right\} \) [15].

Example 1

Consider the \(\textit{NLP}\) P:

$$ \begin{array}{lllll} a \leftarrow \mathtt {not\ }b \quad&b \leftarrow \mathtt {not\ }a, \mathtt {not\ }c \quad&c \leftarrow \mathtt {not\ }b, \mathtt {not\ }d \quad&c \leftarrow \mathtt {not\ }c \quad&d \leftarrow \mathtt {not\ }c \end{array} $$

With respect to P, we have a) Partial stable models: \(I_1 = \emptyset \), \(I_2 = \left\{ a, \mathtt {not\ }b\right\} \), \(I_3 = \left\{ d\right\} \), \(I_4 = \{b, d, \mathtt {not\ }a \}\), \(I_5 = \left\{ a, c, \mathtt {not\ }b, \mathtt {not\ }d\right\} \) and \(I_6 = \left\{ a, d, \mathtt {not\ }b\right\} \); b) Well-founded model: \(I_0\); c) Regular models: \(I_4\), \(I_5\) and \(I_6\); d) Stable model and L-Stable model: \(I_5\).

In the next section, we will offer a comprehensive and systematic treatment to deal with preferences in logic programming.

3 Semantics for Prioritised Logic Programs

The semantics of Normal Logic Programs seen in Definition 3 have multiple models in general. Preference is then introduced to select among them the intended models of a program, but at the semantic level. In [4], they conceived the notion of Prioritised Logic Programs (\(\textit{PLP}\)s) by establishing a prioritisation mechanism between literals (atoms or its negation) to represent and reason with preferences in logic programming at the syntactic level.

Here we generalise this notion of \(\textit{PLP}\) to encompass not only the relation of priority between literals, but also sets of literals. The idea is to employ these priorities to select the most preferable partial stable models. We will focus on partial stable models, because it is the base to define the remaining semantics in Definition 3. In this work, the priorities will be established between sets of literals, which we will be called as options:

Definition 4 (Options)

Given an \(\textit{NLP}\) P, an option o from P is a subset of \( Lit _P\). By \(\mathcal {O}_P\) we mean the set of all options from P. We say o is inconsistent, if there is \(a \in HB _P\) such that \(\left\{ a,\mathtt {not\ }a\right\} \subseteq o\). Otherwise, o is consistent.

Thus in a program representing a menu based on fish (f), meat m, white wine (w), red wine (r), cake (c) and ice cream (i), \(\left\{ f, \mathtt {not\ }m, r\right\} \), \(\left\{ i, \mathtt {not\ }i\right\} \) and \(\emptyset \) are possible options. Not rarely, some options have a higher priority than others:

Definition 5 (Priorities)

Given an \(\textit{NLP}\) P, a reflexive and transitive relation is defined on \(\mathcal {O}_P\). For any \(o_1\) and \(o_2\) from \(\mathcal {O}_P\), \(o_1 \preceq o_2\) is called a priority, and we say \(o_2\) has a higher or equal priority than \(o_1\). We write \(o_1 \prec o_2\) if \(o_1 \preceq o_2\) and \(o_2 \not \preceq o_1\), and say \(o_2\) has a strictly higher priority than \(o_1\). Furthermore, \(o_1\) is indifferent to \(o_2\), denoted by \(o_1 \approx o_2\), when both \(o_1 \preceq o_2\) and \(o_2 \preceq o_1\) hold.

From an \(\textit{NLP}\) and a set of priorities, we build a prioritised logic program:

Definition 6 (Prioritised Logic Programs)

A prioritised logic program (\(\textit{PLP}\)) is a pair \((P,\varPhi )\), where P is an \(\textit{NLP}\) and \(\varPhi \) is a set of priorities on \(\mathcal {O}_P\).

In order to enforce the priority relation in \(\varPhi \) is reflexive and transitive, while maintaining a compact representation of priorities, we resort to the closure of \(\varPhi \):

Definition 7

(Closure of \(\boldsymbol{\varPhi }\)). Let \((P, \varPhi )\) be a \(\textit{PLP}\). For each \(o_1, o_2\) in \(\mathcal {O}_P\), the closure \(\varPhi ^*\) of \(\varPhi \) is defined as follows:

  • \(o_1 \preceq o_1 \in \varPhi ^*\);

  • if \(o_1 \preceq o_2 \in \varPhi \), then \(o_1 \preceq o_2 \in \varPhi ^*\);

  • if \(o_1 \preceq o_2 \in \varPhi ^*\) and \(o_2 \preceq o_3 \in \varPhi ^*\), then \(o_1 \preceq o_3 \in \varPhi ^*\).

  • \(o_1 \preceq o_2 \in \varPhi ^*\) and \(o_1 \ne \emptyset \) and \(o_2 \ne \emptyset \) and \(e \not \in o_1 \cup o_2\), then \(o_1 \cup \left\{ e\right\} \preceq o_2 \cup \left\{ e\right\} \in \varPhi ^*\).

The closure \(\varPhi ^*\) of \(\varPhi \) is the set of priorities derived reflexively and transitively using priorities in \(\varPhi \). Besides, we introduced in \(\varPhi ^*\) an inertia principle to keep the preference representation in \(\varPhi \) compact. In the remainder of this paper, when we say \(o_2 \not \prec o_1\) according to \(\varPhi ^*\), we mean \(o_2 \preceq o_1 \not \in \varPhi ^*\) or \(o_1 \preceq o_2 \in \varPhi ^*\). Among the many possible options, we are particularly interested in those best/worst-ranked:

Definition 8 (best/worst-ranked option)

Let \((P, \varPhi )\) be a \(\textit{PLP}\) and \(I \subseteq Lit _P\). We say o is a) a best-ranked option in I w.r.t. \(\varPhi \) iff \(o \subseteq I\) and \(\not \exists o' \subseteq I\) such that \(o \prec o' \in \varPhi ^*\). b) a worst-ranked option in I w.r.t. \(\varPhi \) iff \(o \subseteq I\) and \(\not \exists o' \subseteq I\) such that \(o' \prec o \in \varPhi ^*\).

Given two set of options, we have to determine which one is preferable; we introduce below four criteria with this purpose:

Definition 9

Let \((P, \varPhi )\) be a \(\textit{PLP}\) and \(\mathcal O_1\) and \(\mathcal O_2\) subsets of \(\mathcal {O}_P\). We say

  • \(\mathcal O_1 \subseteq ^{\forall \forall } \mathcal O_2\) in \(\varPhi \) iff \(\forall o_1 \in \mathcal O_1\) and \(\forall o_2 \in \mathcal O_2\), it holds \(o_2 \not \prec o_1\) in \(\varPhi ^*\).

  • \(\mathcal O_1 \subseteq ^{\forall \exists } \mathcal O_2\) in \(\varPhi \) iff \(\forall o_1 \in \mathcal O_1\), it holds \(\exists o_2 \in \mathcal O_2\) such that \(o_2 \not \prec o_1\) in \(\varPhi ^*\).

  • \(\mathcal O_1 \subseteq ^{\exists \forall } \mathcal O_2\) in \(\varPhi \) iff \(\exists o_1 \in \mathcal O_1\) such that \(\forall o_2 \in \mathcal O_2\), it holds \(o_2 \not \prec o_1\) in \(\varPhi ^*\).

  • \(\mathcal O_1 \subseteq ^{\exists \exists } \mathcal O_2\) in \(\varPhi \) iff \(\exists o_1 \in \mathcal O_1\) and \(\exists o_2 \in \mathcal O_2\) such that \(o_2 \not \prec o_1\) in \(\varPhi ^*\).

Besides, different preference semantics have been proposed in the literature. We recall some of the most well-known of them:

Definition 10 (Preference relation)

Let \((P,\varPhi )\) be a \(\textit{PLP}\), \(I_1\) and \(I_2\) be \( PS \) models of P, \(\mathcal B_1\) and \(\mathcal B_2\) are respectively the sets of all best-ranked options in \(I_1\) and \(I_2\) w.r.t. \(\varPhi \), and \(\mathcal W_1\) and \(\mathcal W_2\) are respectively the sets of all worst-ranked options in \(I_1\) and \(I_2\) w.r.t. \(\varPhi \). Consider also \(x \in \left\{ st , opt , pes , opp \right\} \) and \(y \in \left\{ \forall \forall ,\forall \exists ,\exists \forall ,\exists \exists \right\} \). By \(I_1 \subseteq ^y_x I_2\) w.r.t. \(\varPhi \), we mean the preference relation \(\subseteq ^y_x\) over the set of \( PS \) models of P is defined as follows:

  1. 1.

    \(I_1 \subseteq ^y_x I_1\) w.r.t. \(\varPhi \);

  2. 2.

    \(I_1 \subseteq ^y_x I_2\) w.r.t. \(\varPhi \)

    1. a)

      (Strong Semantics): if \(x = st \) and \(\mathcal B_1 \subseteq ^y \mathcal W_2\) in \(\varPhi \).

    2. b)

      (Optimistic Semantics): if \(x = opt \) and \(\mathcal B_1 \subseteq ^y \mathcal B_2\) in \(\varPhi \).

    3. c)

      (Pessimistic Semantics): if \(x = pes \) and \(\mathcal W_1 \subseteq ^y \mathcal W_2\) in \(\varPhi \).

    4. d)

      (Opportunistic Semantics): if \(x = opp \) and \(\mathcal W_1 \subseteq ^y \mathcal B_2\) in \(\varPhi \).

  3. 3.

    If \(I_1 \subseteq ^y_x I_2\) w.r.t. \(\varPhi \) and \(I_2 \subseteq ^y_x I_3\) w.r.t. \(\varPhi \), then \(I_1 \subseteq ^y_x I_3\) w.r.t. \(\varPhi \).

When it is clear from the context, we will drop the reference to \(\varPhi \) and say \(\mathcal O_1 \subseteq ^{\forall \forall } \mathcal O_2\) and \(I_1 \subseteq ^y_x I_2\). Inspired by [4], we can define a preference relation \(I_1 \sqsubseteq ^y_x I_2\) which consider just their exclusive portions given by \(I_1 - I_2\) and \(I_2 - I_1\).

  1. 1.

    \(I_1 \sqsubseteq ^y_x I_2\) iff \(I_1 - I_2 \subseteq ^y_x I_2 - I_1\).

  2. 2.

    If \(I_1 \sqsubseteq ^y_x I_2\) and \(I_2 \sqsubseteq ^y_x I_3\), then \(I_1 \sqsubseteq ^y_x I_3\).

Note we have four criteria to choose the best/worst-ranked options (Definition 9), four criteria to choose the most preferable semantics (Definition 10). We also can decide if a \( PS \) model \(I_1\) is preferred to a \( PS \) model \(I_2\) by regarding the whole models or just their exclusive portions given by \(I_1 - I_2\) and \(I_2 - I_1\). Hence, we have at disposal 32 manners of selecting the preferred partial stable models:

Definition 11 (Preferred Partial Stable Model)

Let \((P,\varPhi )\) be a \(\textit{PLP}\). A \( PS \) model I of P is a Preferred Partial Stable Model (or \( PPS \) model, for short) of \((P,\varPhi )\) w.r.t. \(\subseteq ^y_x\) (resp. \(\sqsubseteq ^y_x\)) if \(I \subseteq ^y_x I'\) (resp. \(I \sqsubseteq ^y_x I'\)) implies \(I' \subseteq ^y_x I\) (resp. \(I' \sqsubseteq ^y_x I\)) (w.r.t \(\varPhi \)) for any \( PS \) model \(I'\) of P. The set of all \( PPS \) of \((P,\varPhi )\) w.r.t. \(\subseteq ^y_x\) (resp. \(\sqsubseteq ^y_x\)) is written as \(\mathcal {PPS}(P,\varPhi )_{\subseteq ^y_x}\) (resp. \(\mathcal {PPS}(P,\varPhi )_{\sqsubseteq ^y_x}\)).

As the remaining semantics for \(\textit{NLP}\) seen in this paper are based on \( PS \) models (Definition 3), we are equipped with 32 different manners of selecting the most preferred models according to them.

Definition 12

Let \((P, \varPhi )\) be an \(\textit{PLP}\) and I be an interpretation:

  • I is a preferential well-founded model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) (resp. \(\sqsubseteq ^y_x\)) iff I is a \( PPS \) model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) (resp. \(\sqsubseteq ^y_x\)) with minimal \(T_I\).

  • I is a preferential regular model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) (resp. \(\sqsubseteq ^y_x\)) iff I is a \( PPS \) model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) (resp. \(\sqsubseteq ^y_x\)) with maximal \(T_I\).

  • I is a preferential stable model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) (resp. \(\sqsubseteq ^y_x\)) iff I is a \( PPS \) model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) (resp. \(\sqsubseteq ^y_x\)) where for each \(a \in HB _P\), \(a \in T_I \cup F_I\).

  • I is a preferential L-stable model of \((P,\varPhi )\) w.r.t. \(\subseteq ^y_x\) (resp. \(\sqsubseteq ^y_x\)) iff I is a a \( PPS \) model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) (resp. \(\sqsubseteq ^y_x\)) with minimal (w.r.t. set inclusion) \(\left\{ a \in HB _P\mid a \not \in T_I \cup F_I\right\} \) \(\left\{ a \in HB _P\mid M(a) = \mathbf {u}\right\} \).

Let us consider the following example:

Example 2

Let P be the \(\textit{NLP}\) in Example 1 and \(\varPhi = \{\emptyset \preceq \left\{ a\right\} , \left\{ a\right\} \preceq \left\{ d\right\} , \left\{ d\right\} \preceq \left\{ b\right\} , \left\{ b, d\right\} \preceq \left\{ b\right\} , \left\{ b, \mathtt {not\ }a\right\} \preceq \left\{ \mathtt {not\ }a\right\} , \left\{ a, d\right\} \preceq \left\{ d\right\} \}\). Then the best-ranked options for \(I_1, I_2, I_3, I_4, I_5\) and \( I_6\) are respectively \(\mathcal B_1 = \emptyset , \mathcal B_2 = \{ \left\{ a\right\} , \left\{ \mathtt {not\ }b\right\} ,\) \(\left\{ a, \mathtt {not\ }b\right\} \}, \mathcal B_3 = \left\{ \left\{ d\right\} \right\} , \mathcal B_4 = \left\{ \left\{ b\right\} , \left\{ \mathtt {not\ }a\right\} \right\} , \mathcal B_5 = 2^{I_5}\) and \(\mathcal B_6 = \{ \left\{ d\right\} , \left\{ \mathtt {not\ }b\right\} ,\) \(\left\{ d, \mathtt {not\ }b\right\} \}\). Regarding only the optimistic approach for illustrative purposes, we have \(\mathcal {PPS}(P,\varPhi )_{\subseteq ^{\forall \forall }_ opt } = \left\{ I_4\right\} \); \(\mathcal {PPS}(P,\varPhi )_{\subseteq ^{\forall \exists }_ opt } = \left\{ I_2, I_4, I_5, I_6\right\} \); \(\mathcal {PPS}(P,\varPhi )_{\subseteq ^{\exists \forall }_ opt } = \left\{ I_3, I_4, I_6\right\} \) and \(\mathcal {PPS}(P,\varPhi )_{\subseteq ^{\exists \exists }_ opt } = \left\{ I_2, I_3, I_4, I_5, I_6\right\} \). In this example, notice at least one \( PS \) model of P is discarded in \(\mathcal {PPS}(P,\varPhi )_{\subseteq ^y_ opt }\) for any \(y \in \left\{ \forall \forall , \forall \exists , \exists \forall , \exists \exists \right\} \).

Many attempts have been made to empower logic programming with preferences. The distinguishing aspect of our work is that we offer a comprehensive and systematic way of dealing with preferences in logic programming inspired by well-known criteria found in the literature on preference. In the next section, we will examine how expressive our proposal is.

4 Expressing Priorities in \(\textit{PLP}\)s

As it is not feasible in general when expressing preferences to compare all possible pairs of options or evaluate them individually (the number of options increases exponentially with the number of variables), we have to resort to compact preference representation languages to represent these partial descriptions preferences. Now we will show our preference representation language although compact is robust enough to express well-known complex forms of preferences. In Subsects. 4.1, 4.2, 4.3, 4.4 and 4.5, we will tackle respectively how to represent priorities between conjunctive knowledge, priorities between disjunctive knowledge, conditional priorities, priorities between rules and bipolar priorities.

4.1 Priorities Between Conjunctive Knowledge

Users may also express their partial preferences in term of comparative statements (as in “I prefer white wine to red wine"); this preference can be altered when interacting with other options (as in “I prefer meat accompanied by a red wine to meat accompanied by a white wine"); the preference for white wine can even be regained with the addition of more options (as in “I prefer meat and cheesecake accompanied by a white wine to meat and cheesecake accompanied by a red wine"). Thus, the conjunction of options can interfere with the users’ preference and change the overall outcome.

In [4], conjunctive preferences \((e_1, \ldots , e_m) \preceq (e_1', \ldots , e_n')\) cannot in general be expressed directly as the preference relation applied there only involves a pair of individual literals. In order to represent these conjunctive preferences in a \(\textit{PLP}\) \((P, \varPhi )\), the authors have to add the rules \(e_0 \leftarrow e_1, \ldots e_m\) and \(e_0' \leftarrow e_1', \ldots e_n'\) to P with the newly introduced atoms \(e_0\) and \(e_0'\), and the priority \((e_0 \preceq e_0')\) to \(\varPhi \). In short, conjunctive preferences are represented in [4] by changing the program P with two new atoms and two new rules before introducing \((e_0 \preceq e_0')\), which expresses indirectly the desired conjunctive preference.

In our approach, we neither need to change the program P nor to add new artificial atoms to express conjunctive preferences. Preferences as \((e_1, \ldots , e_m) \preceq (e_1', \ldots , e_n')\) can just be represented as \(\left\{ e_1, \ldots , e_m\right\} \preceq \left\{ e_1', \ldots , e_n'\right\} \) and included straightforwardly in \(\varPhi \).

4.2 Priorities Between Disjunctive Knowledge

Disjunctive preferences as \((e_1 \vee \cdots \vee e_m) \preceq (e_1' \vee \cdots \vee e_n')\) can be represented in a \(\textit{PLP}\) \((P, \varPhi )\) by ensuing \(\varPhi ' \subseteq \varPhi \) and \(\varPhi ' = \left\{ e_i \preceq e_j' \mid 1 \le i \le m \textit{ and } 1 \le j \le n\right\} \).

4.3 Conditional Priorities

It is not always the case a preference is absolute. In the so-called conditional preference, users may also wish to express specific preferences in particular contexts (e.g., If red wine is served, I prefer meat to fish). It is denoted by \(\gamma : \phi \preceq \psi \) and interpreted as “given a context \(\gamma \), prefer \(\psi \) to \(\phi \)". Assuming \(\gamma = c_1 \wedge \cdots \wedge c_o\), \(\phi = e_1 \wedge \cdots \wedge e_m\) and \(\psi = e_1' \wedge \cdots \wedge e_n'\), we can represent the conditional preference \(\gamma : \phi \preceq \psi \) as the conjunctive preference \(\left\{ c_1, \ldots , c_o, e_1, \ldots , e_m\right\} \preceq \left\{ c_1, \ldots , c_o, e_1', \ldots , e_n'\right\} \) in \(\varPhi \).

Conditional preferences can occur disguised as in “if \(\gamma = c_1 \wedge \cdots \wedge c_o\) is true, then prefer \(\psi = e_1' \wedge \cdots \wedge e_n'\)"; it interpreted as if \(\gamma \) is true, then prefer \(\psi \) to \(\mathtt {not\ }e_j'\) with \(1 \le j \le n\). This is a particular case of our representation when \(\phi = \mathtt {not\ }e_j'\), i.e., such a preference can be represented in \((P, \varPhi )\) by including in \(\varPhi \) the preferences \(\left\{ c_1, \ldots , c_o, \mathtt {not\ }e_j'\right\} \preceq \left\{ c_1, \ldots , c_o, e_1', \ldots , e_n'\right\} \) with \(1 \le j \le n\).

4.4 Priorities Between Rules

Preferences can also be established between (conflicting) rules as in \(e \leftarrow e_1, \ldots , e_m\) \(\preceq e' \leftarrow e_1', \ldots , e_n'\). Its intended meaning is the conclusion of \(e'\) via \(e' \leftarrow e_1', \ldots , e_n'\) will block the conclusion of e via \(e \leftarrow e_1, \ldots , e_m\). Such a preference can be represented in \((P, \varPhi )\) by including \(\left\{ e_1, \ldots , e_m\right\} \preceq \left\{ e_1', \ldots , e_n'\right\} \) in \(\varPhi \).

4.5 Bipolar Preferences

Preferences can express not only what is satisfactory (positive preferences), but also what can be considered tolerable or unacceptable (negative preferences). These two forms of preferences (bipolar preferences) have been conjointly and compactly expressed in various works [16,17,18,19,20,21]. Roughly speaking, the intended meaning of introducing positive preferences is to express wishes which should be satisfied as best as possible, whilst negative preferences are intended to enhance the idea that what is not rejected or excluded is tolerated. Thus, when interpreting \(\preceq \) as a bipolar priority by \(\left\{ e_1, \ldots , e_m\right\} \preceq \left\{ e_1', \ldots , e_n'\right\} \), we mean we are giving priority not only to outcomes satisfying \(\left\{ e_1, \ldots , e_m\right\} \preceq \left\{ e_1', \ldots , e_n'\right\} \), but to those not falsifying \(\left\{ e_1, \ldots , e_m\right\} \preceq \left\{ e_1', \ldots , e_n'\right\} \), i.e., it either should contain \(\left\{ e_1', \ldots , e_n'\right\} \), but not \(\left\{ e_1, \ldots , e_m\right\} \) (positive preference), or should contain \(\left\{ \mathtt {not\ }e_i\right\} \), but not \(\left\{ \mathtt {not\ }e_j'\right\} \) with \(1 \le i \le m\) and \(1 \le j \le n\) (negative preference).

Bipolar preferences as \(\left\{ e_1, \ldots , e_m\right\} \preceq \left\{ e_1', \ldots , e_n'\right\} \) can be represented in \((P, \varPhi )\) by including in \(\varPhi \) the conjunctive preference \(\left\{ e_1, \ldots , e_m\right\} \preceq \left\{ e_1', \ldots , e_n'\right\} \) and the preferences \(\left\{ \mathtt {not\ }e_j'\right\} \preceq \left\{ \mathtt {not\ }e_i\right\} \) with \(1 \le i \le m\) and \(1 \le j \le n\).

Before moving to the next section, we will emphasise our decision of employing a representation language to express priorities between sets of literals instead of a language to express priorities only between literals as in [4]. Although the approach of [4] suffices to express in a \(\textit{PLP}\) \((P, \varPhi )\) the complex forms of preferences showed in this section, there is a price to pay: the program P should be changed with the introduction of new atoms as well as the set \(\varPhi \) of priorities. In our approach, as the priority relation is given in term of sets of literals, we neither need to change the program P nor to add new artificial atoms to express priorities between conjunctive knowledge, priorities between disjunctive knowledge, conditional priorities, priorities between rules and bipolar priorities.

5 Results

Now we will prove some properties found in our proposal. The main results are both the preference relations \(\subseteq ^y_x\) and \(\sqsubseteq ^y_x\) are consistent (Proposition 1) and have neither a monotonic nor an antitonic behaviour w.r.t. \(\varPhi \) (Theorem 3); Proposition 2 and Theorem 1 establish conditions under which the relations of preference are simplified; when no priority is available, Prioritised Logic Programs and Normal Logic Programs have the same semantics (Theorem 2) and inconsistent options are useless (Theorem 4). Next we define the notion of cyclic relation:

Definition 13 (Cyclic Relation)

A relation \(\sqsubseteq \) is cyclic if and only if its induced strict preference relation is cyclic, i.e., there exists a chain \(\mathcal O \ldots \mathcal O'\) such that \(\mathcal O \sqsubset \mathcal O' \sqsubset \cdots \sqsubset \mathcal O\). Otherwise \(\sqsubseteq \) is acyclic.

If either \(\subseteq ^y_x\) or \(\sqsubseteq ^y_x\) were cyclic, the resulting preference relation would be inconsistent. In particular, we would find \(\textit{PLP}\)s without preferred partial stable models at all. For instance, suppose an \(\textit{NLP}\) whose partial stable models are \(M_1\), \(M_2\) and \(M_3\) such that \(M_1 \subset ^y_x M_2\), \(M_2 \subset ^y_x M_3\) and \(M_3 \subset ^y_x M_1\). Clearly the resulting \(\textit{PLP}\) would not have any preferred partial stable model. Fortunately, both \(\subseteq ^y_x\) and \(\sqsubseteq ^y_x\) are acyclic:

Proposition 1

For any \(x \in \left\{ st , opt , pes , opp \right\} \) and any \(y \in \left\{ \forall \forall ,\forall \exists ,\exists \forall ,\exists \exists \right\} \), both the preference relations \(\subseteq ^y_x\) and \(\sqsubseteq ^y_x\) are acyclic.

Proof

By absurd, suppose \(\subseteq ^y_x\) is cyclic. This means there exists a chain \(\mathcal O \ldots \mathcal O'\) such that \(\mathcal O \subset ^y_x \mathcal O' \subset ^y_x \cdots \subset ^y_x \mathcal O\). As \(\subseteq ^y_x\) is reflexive (Definition 10), it holds \(\mathcal O \not \subset ^y_x \mathcal O\). Besides, by transitivity, we obtain \(\mathcal O' \subseteq ^y_x \mathcal O\). It is an absurd as \(\mathcal O \subset ^y_x \mathcal O'\).

The proof for \(\sqsubseteq ^y_x\) is similar.

Notice in this last result the importance of imposing reflexivity and transitivity in Definition 10 to ensure every \(\textit{PLP}\) will have at least one preferable \( PS \) model. Now we will show when the best-ranked options of the \( PS \) models have the same priority and the worst-ranked options of the \( PS \) models have the same priority, the relations of preference are simplified:

Proposition 2

Let \((P, \varPhi )\) be a \(\textit{PLP}\), \(I_1\) and \(I_2\) be subsets of \( Lit _P\), \(\mathcal B_1\) and \(\mathcal B_2\) be respectively the set of best-ranked options in \(I_1\) and \(I_2\) w.r.t. \(\varPhi \), and \(\mathcal W_1\) and \(\mathcal W_2\) be respectively the set of worst-ranked options in \(I_1\) and \(I_2\) w.r.t. \(\varPhi \). Assume for each \(o_1\) and \(o_2\) in \(\mathcal B_i\) and for each \(o_1'\) and \(o_2'\) in \(\mathcal W_i\) with \(i \in \left\{ 1,2\right\} \), it holds \(o_1 \approx o_2\) and \(o_1' \approx o_2'\). Consider \(\mathcal X = \mathcal B_1\) if \(x \in \{ st , opt \}\) and \(\mathcal X = \mathcal W_1\) if \(x \in \{ pes , opp \}\), and \(\mathcal Y = \mathcal B_2\) if \(x \in \{ opt , opp \}\) and \(\mathcal Y = \mathcal W_2\) if \(x \in \{ st , pes \}\). Then for any \(x \in \{ st , opt ,\) \( pes , opp \}\), \(\forall o \in \mathcal X\) and \(\forall o' \in \mathcal Y\), it holds \(o' \not \prec o \in \varPhi \) iff \(\forall o \in \mathcal X\), it holds \(\exists o' \in \mathcal Y\) such that \(o' \not \prec o \in \varPhi \) iff \(o_2 \not \prec o_1 \in \varPhi \) iff \(\exists o \in \mathcal X\) such that \(\forall o' \in \mathcal Y\), it holds \(o' \not \prec o \in \varPhi \) iff \(o_2 \not \prec o_1 \in \varPhi \) iff \(\exists o \in \mathcal X\) and \(\exists o' \in \mathcal Y\) such that \(o' \not \prec o \in \varPhi \).

Proof

For any \(x \in \{ st , opt , pes , opp \}\), let \(o_1\) be an element of \(\mathcal X\) and \(o_2\) be an element of \(\mathcal Y\). Given the elements of \(\mathcal X\) are indifferent to each other and the elements of \(\mathcal Y\) are also indifferent to each other, we obtain

  • \(o_2 \not \prec o_1 \in \varPhi \) iff \(\forall o \in \mathcal X\) and \(\forall o' \in \mathcal Y\), it holds \(o' \not \prec o \in \varPhi \);

  • \(o_2 \not \prec o_1 \in \varPhi \) iff \(\forall o \in \mathcal X\), it holds \(\exists o' \in \mathcal Y\) such that \(o' \not \prec o \in \varPhi \);

  • \(o_2 \not \prec o_1 \in \varPhi \) iff \(\exists o \in \mathcal X\) such that \(\forall o' \in \mathcal Y\), it holds \(o' \not \prec o \in \varPhi \);

  • \(o_2 \not \prec o_1 \in \varPhi \) iff \(\exists o \in \mathcal X\) and \(\exists o' \in \mathcal Y\) such that \(o' \not \prec o \in \varPhi \).

i.e., \(\forall o \in \mathcal X\) and \(\forall o' \in \mathcal Y\), it holds \(o' \not \prec o \in \varPhi \) iff \(\forall o \in \mathcal X\), it holds \(\exists o' \in \mathcal Y\) such that \(o' \not \prec o \in \varPhi \) iff \(o_2 \not \prec o_1 \in \varPhi \) iff \(\exists o \in \mathcal X\) such that \(\forall o' \in \mathcal Y\), it holds \(o' \not \prec o \in \varPhi \) iff \(o_2 \not \prec o_1 \in \varPhi \) iff \(\exists o \in \mathcal X\) and \(\exists o' \in \mathcal Y\) such that \(o' \not \prec o \in \varPhi \).    \(\square \)

A binary relation \(\sqsubset \) on a set \(\mathcal O\) is a total preorder if it is reflexive, transitive and for each \(o_1\) and \(o_2\) in \(\mathcal O\), it holds \(o_1 \sqsubseteq o_2\) or \(o_2 \sqsubseteq o_1\). For all \(x \in \left\{ st , opt , pes , opp \right\} \), if the relation \(\preceq \) is a total preorder, \(\subseteq ^{\forall \forall }_x\), \(\subseteq ^{\forall \exists }_x\), \(\subseteq ^{\exists \forall }_x\) and \(\subseteq ^{\exists \exists }_x\) (\(\sqsubseteq ^{\forall \forall }_x\), \(\sqsubseteq ^{\forall \exists }_x\), \(\sqsubseteq ^{\exists \forall }_x\) and \(\sqsubseteq ^{\exists \exists }_x\)) will collapse into each other.

Theorem 1

Let \((P, \varPhi )\) be a \(\textit{PLP}\) such that the preference relation \(\preceq \) in \(\varPhi \) is a total preorder on \(\mathcal {O}_P\). Then for any \(x \in \left\{ st , opt , pes , opp \right\} \), I is a \( PPS \) model of \((P, \varPhi )\) w.r.t. \(\subseteq ^{\forall \forall }_x\) (resp. \(\sqsubseteq ^{\forall \forall }_x\)) iff I is a \( PPS \) model of \((P, \varPhi )\) w.r.t. \(\subseteq ^{\forall \exists }_x\) (resp. \(\sqsubseteq ^{\forall \exists }_x\)) iff I is a \( PPS \) model of \((P, \varPhi )\) w.r.t. \(\subseteq ^{\exists \forall }_x\) (resp. \(\sqsubseteq ^{\exists \forall }_x\)) iff I is a \( PPS \) model of \((P, \varPhi )\) w.r.t. \(\subseteq ^{\exists \exists }_x\) (resp. \(\sqsubseteq ^{\exists \exists }_x\)).

Proof

Let \(I_1\) and \(I_2\) be \( PS \) models of P, \(\mathcal B_1\) and \(\mathcal B_2\) be respectively the set of best-ranked options in \(I_1\) and \(I_2\) w.r.t. \(\varPhi \), and \(\mathcal W_1\) and \(\mathcal W_2\) be respectively the set of worst-ranked options in \(I_1\) and \(I_2\) w.r.t. \(\varPhi \). Consider \(\mathcal X = \mathcal B_1\) if \(x \in \{ st , opt \}\) and \(\mathcal X = \mathcal W_1\) if \(x \in \{ pes , opp \}\), and \(\mathcal Y = \mathcal B_2\) if \(x \in \{ opt , opp \}\) and \(\mathcal Y = \mathcal W_2\) if \(x \in \{ st , pes \}\).

It suffices to show for any \(x \in \{ st , opt , pes , opp \}\), \(I_1 \subseteq ^{\forall \forall }_x I_2\) iff \(I_1 \subseteq ^{\forall \exists }_x I_2\) iff \(I_1 \subseteq ^{\exists \forall }_x I_2\) iff \(I_1 \subseteq ^{\exists \exists }_x I_2\) and \(I_1 \sqsubseteq ^{\forall \forall }_x I_2\) iff \(I_1 \sqsubseteq ^{\forall \exists }_x I_2\) iff \(I_1 \sqsubseteq ^{\exists \forall }_x I_2\) iff \(I_1 \sqsubseteq ^{\exists \exists }_x I_2\):

As \(\preceq \) in \(\varPhi \) is a total preorder on \(\mathcal {O}_P\), for each \(o_1\) and \(o_2\) in \(\mathcal B_i\) and for each \(o_1'\) and \(o_2'\) in \(\mathcal W_i\) with \(i \in \left\{ 1,2\right\} \), it holds \(o_1 \approx o_2\) and \(o_1' \approx o_2'\). Let \(I \subseteq ^{\forall \forall }_x I'\); there are three possibilities:

  1. 1.

    \(I_2 = I_1\). Then \(I_1 \subseteq ^{\forall \exists }_x I_2\), \(I_1 \subseteq ^{\exists \forall }_x I_2\) and \(I_1 \subseteq ^{\exists \exists }_x I_2\).

  2. 2.

    \(\forall o \in \mathcal X\) and \(\forall o' \in \mathcal Y\), it holds \(o' \not \prec o \in \varPhi \). Then by Proposition 2, a) \(\forall o \in \mathcal X\), it holds \(\exists o' \in \mathcal Y\) such that \(o' \not \prec o \in \varPhi \) and b) \(\exists o \in \mathcal X\) such that \(\forall o' \in \mathcal Y\), it holds \(o' \not \prec o \in \varPhi \) and c) \(\exists o \in \mathcal X\) and \(\exists o' \in \mathcal Y\) such that \(o' \not \prec o \in \varPhi \). Hence, \(I_1 \subseteq ^{\forall \exists }_x I_2\) and \(I_1 \subseteq ^{\exists \forall }_x I_2\) and \(I_1 \subseteq ^{\exists \exists }_x I_2\).

  3. 3.

    \(I_1 \subseteq ^{\forall \forall }_x I\) and \(I \subseteq ^{\forall \forall }_x I_2\).This means there exists a sequence

    $$\begin{aligned} I_1 = J_1 \subseteq ^{\forall \forall }_x J_2 \subseteq ^{\forall \forall }_x \cdots \subseteq ^{\forall \forall }_x J_m = I \subseteq ^{\forall \forall }_x J_{m+1} \subseteq ^{\forall \forall }_x \cdots \subseteq ^{\forall \forall }_x J_n = I_2 \end{aligned}$$

    such that \(\forall i \in \left\{ 1, \ldots , n - 1\right\} \), we have \(J_1 \subseteq ^{\forall \forall }_x J_2\) iff the condition 2 of Definition 10 holds. Again by Proposition 2, condition 2 of Definition 10 also holds for \(J_1 \subseteq ^{\forall \exists }_x J_2\), \(J_1 \subseteq ^{\exists \forall }_x J_2\) and \(J_1 \subseteq ^{\exists \exists }_x J_2\) for each \(i \in \left\{ 1, \ldots , n - 1\right\} \). Hence, by condition 3 of Definition 10, we obtain \(I_1 \subseteq ^{\forall \exists }_x I_2\) and \(I_1 \subseteq ^{\exists \forall }_x I_2\) and \(I_1 \subseteq ^{\exists \exists }_x I_2\).

Similarly for \(I_1 \subseteq ^{\forall \exists }_x I_2\), \(I_1 \subseteq ^{\exists \forall }_x I_2\) and \(I_1 \subseteq ^{\exists \exists }_x I_2\).

The proof of \(I_1 \sqsubseteq ^{\forall \forall }_x I_2\) iff \(I_1 \sqsubseteq ^{\forall \exists }_x I_2\) iff \(I_1 \sqsubseteq ^{\exists \forall }_x I_2\) iff \(I_1 \sqsubseteq ^{\exists \exists }_x I_2\) is similar.    \(\square \)

Corollary 1

Let \((P, \varPhi )\) be a \(\textit{PLP}\) such that the preference relation \(\preceq \) in \(\varPhi \) is a total preorder on \(\mathcal {O}_P\). Then \(\forall x \in \left\{ st , opt , pes , opp \right\} \), and \(\forall y, \forall z \in \left\{ \forall \forall , \forall \exists , \exists \forall , \exists \exists \right\} \)

  • I is a preferential well-founded model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) (resp. \(\sqsubseteq ^y_x\)) iff I is a preferential well-founded model of \((P, \varPhi )\) w.r.t. \(\subseteq ^z_x\) (resp. \(\sqsubseteq ^z_x\));

  • I is a preferential regular model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) (resp. \(\sqsubseteq ^y_x\)) iff I is a preferential regular model of \((P, \varPhi )\) w.r.t. \(\subseteq ^z_x\) (resp. \(\sqsubseteq ^z_x\));

  • I is a preferential stable model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) (resp. \(\sqsubseteq ^y_x\)) iff I is a preferential stable model of \((P, \varPhi )\) w.r.t. \(\subseteq ^z_x\) (resp. \(\sqsubseteq ^z_x\));

  • I is a preferential L-stable model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) (resp. \(\sqsubseteq ^y_x\)) iff I is a preferential L-stable model of \((P, \varPhi )\) w.r.t. \(\subseteq ^z_x\) (resp. \(\sqsubseteq ^z_x\)).

Proof

It follows from Theorem 1 and Definition 12.   \(\square \)

When no priority is available (\(\varPhi = \emptyset \)), the semantics for \((P, \varPhi )\) collapse into the semantics for P (and vice versa):

Theorem 2

Let \((P, \varPhi )\) be a \(\textit{PLP}\) such that \(\varPhi = \emptyset \), i.e., \((P, \varPhi )\) corresponds to the \(\textit{NLP}\) P. Then \(\forall x \in \left\{ st , opt , pes , opp \right\} \) and \(\forall y \in \left\{ \forall \forall ,\forall \exists ,\exists \forall ,\exists \exists \right\} \), it holds

  • I is a \( PS \) model of P iff I is a \( PPS \) model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) iff I is a \( PPS \) model of \((P, \varPhi )\) w.r.t. \(\sqsubseteq ^y_x\).

  • I is a well-founded model of P iff I is a preferential well-founded model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) iff I is a preferential well-founded model of \((P, \varPhi )\) w.r.t. \(\sqsubseteq ^y_x\).

  • I is a regular model of P iff I is a preferential regular model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) iff I is a preferential regular model of \((P, \varPhi )\) w.r.t. \(\sqsubseteq ^y_x\).

  • I is a stable model of P iff I is a preferential stable model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) iff I is a preferential stable model of \((P, \varPhi )\) w.r.t. \(\sqsubseteq ^y_x\).

  • I is an L-stable model of P iff I is a preferential L-stable model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) iff I is a preferential L-stable model of \((P, \varPhi )\) w.r.t. \(\sqsubseteq ^y_x\).

Proof

Since \(\varPhi = \emptyset \), \(\varPhi ^* = \left\{ o \preceq o \mid o \in \mathcal {O}_P\right\} \) according to \(\varPhi ^*\). This means for every \(o, o' \in \mathcal {O}_P\), it holds \(o \not \prec o'\). Thus for any \(I \subseteq Lit _P\), we obtain \(\mathcal B_I = \mathcal W_I = 2^I\), in which \(\mathcal B_I\) is the set of all best-ranked options in I and \(\mathcal W_I\) is the set of all worst-ranked options in I w.r.t. \(\varPhi \). Then for any \( PS \) models \(I_1\) and \(I_2\) of P, for any \(o_1 \in \mathcal B_{I_1} = \mathcal W_{I_I} = 2^{I_1}\) and for any \(o_2 \in \mathcal B_{I_2} = \mathcal W_{I_2} = 2^{I_2}\), it holds \(o_2 \not \prec o_1\) and \(o_1 \not \prec o_2\) according to \(\varPhi ^*\). Hence, for any \(y \in \left\{ \forall \forall , \forall \exists , \exists \forall , \exists \exists \right\} \), we obtain

$$\begin{aligned} \begin{gathered} \mathcal B_{I_1} = \mathcal W_{I_I} = 2^{I_1} \subseteq ^y \mathcal B_{I_2} = \mathcal W_{I_2} = 2^{I_2} \textit{ and }\\ \mathcal B_{I_2} = \mathcal W_{I_2} = 2^{I_2} \subseteq ^y \mathcal B_{I_1} = \mathcal W_{I_1} = 2^{I_1} \end{gathered} \end{aligned}$$
(1)

From Eq. (1), we infer for each \(x \in \left\{ st , opt , pes , opp \right\} \) and for all \(y \in \left\{ \forall \forall , \forall \exists , \exists \forall , \exists \exists \right\} \), it holds \(I_1 \subseteq ^y_x I_2 \textit{ and } I_2 \subseteq ^y_x I_1\).

Consequently, for each \(x \in \left\{ st , opt , pes , opp \right\} \) and for all \(y \in \left\{ \forall \forall , \forall \exists , \exists \forall , \exists \exists \right\} \), it holds I is a \( PS \) model of P iff I is a \( PPS \) model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\).

After replacing above \(I_1\) by \(I_1 - I_2\) and \(I_2\) by \(I_2 - I_I\), we obtain the same result for \(\sqsubseteq ^y_x\).    \(\square \)

The following results are immediate:

Corollary 2

Let \((P, \varPhi )\) be a \(\textit{PLP}\) such that \(\varPhi = \emptyset \), i.e., \((P, \varPhi )\) corresponds to the \(\textit{NLP}\) P. Then \(\forall x \in \left\{ st , opt , pes , opp \right\} \) and \(\forall y \in \left\{ \forall \forall ,\forall \exists ,\exists \forall ,\exists \exists \right\} \), it holds

  • I is a well-founded model of P iff I is a preferential well-founded model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) iff I is a preferential well-founded model of \((P, \varPhi )\) w.r.t. \(\sqsubseteq ^y_x\).

  • I is a regular model of P iff I is a preferential regular model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) iff I is a preferential regular model of \((P, \varPhi )\) w.r.t. \(\sqsubseteq ^y_x\).

  • I is a stable model of P iff I is a preferential stable model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) iff I is a preferential stable model of \((P, \varPhi )\) w.r.t. \(\sqsubseteq ^y_x\).

  • I is an L-stable model of P iff I is a preferential L-stable model of \((P, \varPhi )\) w.r.t. \(\subseteq ^y_x\) iff I is a preferential L-stable model of \((P, \varPhi )\) w.r.t. \(\sqsubseteq ^y_x\).

Proof

These results follow from Definitions 3 and 12 and Theorem 2.

Both the relations \(\subseteq ^y_x\) and \(\sqsubseteq ^y_x\) have neither a monotonic nor an antitonic behaviour w.r.t. \(\varPhi \):

Theorem 3

Let \((P, \varPhi _1)\) and \((P, \varPhi _2)\) be \(\textit{PLP}\)s. If \(\varPhi _1 \subseteq \varPhi _2\), then \(\forall x \in \{ st , opt ,\) \( pes , opp \}\) and \(\forall y \in \left\{ \forall \forall ,\forall \exists ,\exists \forall ,\exists \exists \right\} \), it does not hold in general

  1. 1.

    \(\mathcal {PPS}(P,\varPhi _1)_{\subseteq ^y_x} \subseteq \mathcal {PPS}(P,\varPhi _2)_{\subseteq ^y_x}\) (resp. \(\mathcal {PPS}(P,\varPhi _1)_{\sqsubseteq ^y_x} \subseteq \mathcal {PPS}(P,\varPhi _2)_{\sqsubseteq ^y_x}\)) (monotonic).

  2. 2.

    \(\mathcal {PPS}(P,\varPhi _2)_{\subseteq ^y_x} \subseteq \mathcal {PPS}(P,\varPhi _1)_{\subseteq ^y_x}\) (resp. \(\mathcal {PPS}(P,\varPhi _2)_{\sqsubseteq ^y_x} \subseteq \mathcal {PPS}(P,\varPhi _1)_{\sqsubseteq ^y_x}\)) (antitonic).

Proof

Let P be the \(\textit{NLP}\) \(\left\{ a \leftarrow \mathtt {not\ }b \quad b \leftarrow \mathtt {not\ }a\right\} \), whose \( PS \) models are \(\emptyset \), \(\left\{ a\right\} \) and \(\left\{ b\right\} \). Firstly, we will show a counterexample to the statement \(\forall x \in \{ st , opt ,\) \( pes , opp \}\) and \(\forall y \in \left\{ \forall \forall ,\forall \exists ,\exists \forall ,\exists \exists \right\} \), it holds \(\mathcal {PPS}(P,\varPhi _1)_{\subseteq ^y_x} \subseteq \mathcal {PPS}(P,\varPhi _2)_{\subseteq ^y_x}\) (resp. \(\mathcal {PPS}(P,\varPhi _1)_{\sqsubseteq ^y_x} \subseteq \mathcal {PPS}(P,\varPhi _2)_{\sqsubseteq ^y_x}\)) :

Let \(\varPhi _1 = \emptyset \) and \(\varPhi _2 = \left\{ \emptyset \preceq \left\{ b\right\} , \left\{ b\right\} \preceq \left\{ a\right\} \right\} \). We have \(\forall x \in \{ st , opt ,\) \( pes , opp \}\) and \(\forall y \in \left\{ \forall \forall ,\forall \exists ,\exists \forall ,\exists \exists \right\} \), it holds \(\mathcal {PPS}(P,\varPhi _1)_{\subseteq ^y_x} = \mathcal {PPS}(P,\varPhi _1)_{\sqsubseteq ^y_x} = \{ \emptyset , \left\{ a\right\} ,\) \( \left\{ b\right\} \}\) and \(\mathcal {PPS}(P,\varPhi _2)_{\subseteq ^y_x} = \mathcal {PPS}(P,\varPhi _2)_{\sqsubseteq ^y_x} = \left\{ \left\{ a\right\} \right\} \). Consequently,

$$\begin{aligned} \mathcal {PPS}(P,\varPhi _1)_{\subseteq ^y_x} = \mathcal {PPS}(P,\varPhi _1)_{\sqsubseteq ^y_x} \not \subseteq \mathcal {PPS}(P,\varPhi _2)_{\subseteq ^y_x} = \mathcal {PPS}(P,\varPhi _2)_{\sqsubseteq ^y_x} \end{aligned}$$

Now we will show a counterexample to \(\forall x \in \{ st , opt ,\) \( pes , opp \}\) and \(\forall y \in \left\{ \forall \forall ,\forall \exists ,\exists \forall ,\exists \exists \right\} \), it holds \(\mathcal {PPS}(P,\varPhi _2)_{\subseteq ^y_x} \subseteq \mathcal {PPS}(P,\varPhi _1)_{\subseteq ^y_x}\) (resp. \(\mathcal {PPS}(P,\varPhi _2)_{\sqsubseteq ^y_x} \subseteq \mathcal {PPS}(P,\varPhi _1)_{\sqsubseteq ^y_x}\)):

Let \(\varPhi _1 = \left\{ \emptyset \preceq \left\{ b\right\} , \left\{ b\right\} \preceq \left\{ a\right\} \right\} \) and \(\varPhi _2 = \left\{ \emptyset \preceq \left\{ b\right\} , \left\{ b\right\} \preceq \left\{ a\right\} , \left\{ a\right\} \preceq \emptyset \right\} \). We have \(\forall x \in \{ st , opt ,\) \( pes , opp \}\) and \(\forall y \in \left\{ \forall \forall ,\forall \exists ,\exists \forall ,\exists \exists \right\} \), it holds \(\mathcal {PPS}(P,\varPhi _1)_{\subseteq ^y_x} = \mathcal {PPS}(P,\varPhi _1)_{\sqsubseteq ^y_x} = \left\{ \left\{ a\right\} \right\} \) and \(\mathcal {PPS}(P,\varPhi _2)_{\subseteq ^y_x} = \mathcal {PPS}(P,\varPhi _2)_{\sqsubseteq ^y_x} = \left\{ \emptyset , \left\{ a\right\} , \left\{ b\right\} \right\} \). Consequently,

$$\begin{aligned} \mathcal {PPS}(P,\varPhi _2)_{\subseteq ^y_x} = \mathcal {PPS}(P,\varPhi _2)_{\sqsubseteq ^y_x} \not \subseteq \mathcal {PPS}(P,\varPhi _1)_{\subseteq ^y_x} = \mathcal {PPS}(P,\varPhi _1)_{\sqsubseteq ^y_x} \end{aligned}$$

We end up this section by showing inconsistency options do not interfere in the process of selecting the \( PPS \) models:

Theorem 4 (Invariant to Inconsistency)

Let \((P, \varPhi _1)\) and \((P, \varPhi _2)\) be \(\textit{PLP}\)s such that \(\varPhi _2 = \left\{ o_1 \preceq o_2 \mid o_1 \preceq o_2 \in \varPhi _1 \textit{ and both } o_1 \textit{ and } o_2 \textit{ are consistent}\right\} \). Then \(\forall x \in \left\{ st , opt , pes , opp \right\} \) and \(\forall y \in \left\{ \forall \forall ,\forall \exists ,\exists \forall ,\exists \exists \right\} \), it holds \(\mathcal {PPS}(P,\varPhi _1)_{\subseteq ^y_x} = \mathcal {PPS}(P,\varPhi _2)_{\subseteq ^y_x}\) (resp. \(\mathcal {PPS}(P,\varPhi _1)_{\sqsubseteq ^y_x} = \mathcal {PPS}(P,\varPhi _2)_{\sqsubseteq ^y_x}\)).

Proof

Let \(I_1\) and \(I_2\) be a \( PS \) model of P. We will show \(I_1 \in \mathcal {PPS}(P,\varPhi _1)_{\subseteq ^y_x}\) iff \(I_1 \in \mathcal {PPS}(P,\varPhi _2)_{\subseteq ^y_x}\) (resp. \(I_1 \in \mathcal {PPS}(P,\varPhi _1)_{\sqsubseteq ^y_x}\) iff \(I_1 \in \mathcal {PPS}(P,\varPhi _2)_{\sqsubseteq ^y_x}\)).

As no \( PS \) model is inconsistent, the inconsistent options are neither in the set \(\mathcal B_{I_j}\) of all best-ranked options of \(I_j\) nor in the set \(\mathcal W_{I_j}\) of all worst-ranked options of \(I_j\) with \(j \in \left\{ 1,2\right\} \). This means for each \(o_1 \in \mathcal B_{I_1} \cup \mathcal W_{I_1}\) and for each \(o_2 \in \mathcal B_{I_2} \cup \mathcal W_{I_2}\), it holds \(o_2 \not \prec o_1\) according to \(\varPhi _1^*\) iff \(o_2 \not \prec o_1\) according to \(\varPhi _2^*\). Then \(\forall y \in \left\{ \forall \forall ,\forall \exists ,\exists \forall ,\exists \exists \right\} \), it holds \(\mathcal B_{I_1} \subseteq ^y \mathcal B_{I_2}\) in \(\varPhi _1\) iff \(\mathcal B_{I_1} \subseteq ^y \mathcal B_{I_2}\) in \(\varPhi _2\), \(\mathcal B_{I_1} \subseteq ^y \mathcal W_{I_2}\) in \(\varPhi _1\) iff \(\mathcal B_{I_1} \subseteq ^y \mathcal W_{I_2}\) in \(\varPhi _2\), \(\mathcal W_{I_1} \subseteq ^y \mathcal B_{I_2}\) in \(\varPhi _1\) iff \(\mathcal W_{I_1} \subseteq ^y \mathcal B_{I_2}\) in \(\varPhi _2\) and \(\mathcal W_{I_1} \subseteq ^y \mathcal W_{I_2}\) in \(\varPhi _1\) iff \(\mathcal W_{I_1} \subseteq ^y \mathcal W_{I_2}\) in \(\varPhi _2\), i.e., \(\forall x \in \left\{ st , opt , pes , opp \right\} \) and \(\forall y \in \left\{ \forall \forall ,\forall \exists ,\exists \forall ,\exists \exists \right\} \), it holds \(I_1 \subseteq _x^y I_2\) in \(\varPhi _1\) iff \(I_1 \subseteq _x^y I_2\) in \(\varPhi _2\). Hence, \(I_1 \in \mathcal {PPS}(P,\varPhi _1)_{\subseteq ^y_x}\) iff \(I_1 \in \mathcal {PPS}(P,\varPhi _2)_{\subseteq ^y_x}\).

Similarly we can prove \(I_1 \in \mathcal {PPS}(P,\varPhi _1)_{\sqsubseteq ^y_x}\) iff \(I_1 \in \mathcal {PPS}(P,\varPhi _2)_{\sqsubseteq ^y_x}\).    \(\square \)

6 Related Work

The first studies on preference information in non-monotonic reasoning involved the idea of specificity [22]: given two conflicting conclusions obtained from the same initial information but resorting to different inference rules, one should prefer the more specific. Following a related point of view, in [23], they introduced preference between predicates in the context of Circumscription. Preference (usually based on simplicity measures) is also employed in [24] to select the most preferable explanations in abductive systems.

With respect to preferences in Logic Programming, we find a plethora of proposals (see [2,3,4,5,6,7,8,9,10,11,12] for a non exhaustive list). In [2] and [3], they extend respectively the well-founded semantics and the answer sets semantics [25] for logic programs to represent preference between rules in the language and resort to such information to obtain new conclusions. Unlike the semantics in [3], which allows multiple preferred answer sets even for some fully prioritised programs, the semantics in [10] selects at most one preferred answer set for all fully prioritised programs. Furthermore, for a large class of programs guaranteed to have an answer set, the existence of a preferred answer set is also guaranteed.

In ordered logic programming [5], CR-prolog [6], logic programming with ordered disjunction [7], answer set optimization [8], possibilistic answer set programming [9], preference is handled to evaluate the preferred answer sets by specifying the precedence over the rules or the literals in rules heads.

A logic programming language PrefLog based on an infinite-valued logic has been conceived in [11] to support operators for expressing preferences. Despite the infinite-valued truth domain, it can be defined a terminating bottom-up proof procedure for implementing a significant fragment of the language. For continuous operators, a least Herbrand model is guaranteed to exist.

In [12], it is proposed a logic programming paradigm to combine non-monotonic reasoning with epistemic preferential reasoning. In this proposal, the relation of preferences between atoms can occur in the body of the rules and can be employed to possibly generate new models.

An approach closer in spirit to ours is [4], where the authors introduced a framework of prioritised logic programming to represent priority information explicitly in a program. Differently of us, however, they restrain the preference relation to literals only, whereas we have defined the preference relation over sets of literals. As consequence, in order to express in a \(\textit{PLP}\) \((P, \varPhi )\) the complex forms of preferences expounded in Sect. 4, they have to change the program P with the introduction of new atoms as well as the set \(\varPhi \) of priorities. Furthermore, they defined a unique semantics to determine the preferred answer sets. In contradistinction, we introduced 32 different criteria (semantics) to establish preference between partial stable models (which allow defining 32 different ways of selecting the preferred answer sets). In this sense, our work offers a more comprehensive and systematic treatment to deal with preferences in logic programming.

7 Conclusion and Future Works

Prioritised Logic Programs (\(\textit{PLP}\)s) [4] are obtained from Normal Logic Programs (\(\textit{NLP}\)) by including priorities between literals (an atom or its negation). In this paper, we have presented a more general notion of \(\textit{PLP}\) when compared with that version in [4]. Our proposal has two main distinguishing features: a) it encompasses not only priorities between literals (atoms or its negation), but also between sets of literals. As consequence, we can represent compactly complex forms of preference. b) Concerning its semantics, we have provided a comprehensive and systematic mechanism to select the most Preferable Partial Stable Models (\( PPS \) Models). Indeed, by combining well-known criteria found in the literature, we have defined 32 different manners of selecting the \( PPS \) models. As the most important semantics in \(\textit{NLP}\) are based on partial stable models, we are also equipped with 32 different manners of selecting the most preferred models according to them. Besides, we have proved some properties of these \(\textit{PLP}\)s and guaranteed these semantics for \(\textit{PLP}\) generalise their counterparts for \(\textit{NLP}\).

Future directions include investigating computational complexity issues on \(\textit{PLP}\)s and exploiting the consequence of introducing preference on paraconsistent semantics found in logic programming. We also intend to study how to work with dynamic preferences along with the resulting semantics.