1 Introduction
A turning-point for answer set programming (ASP) was the purely logical characterization of its semantics by Pearce (Reference Pearce1996, Reference Pearce1999) based on the logic of here-and-there (HT). Pearce developed a nonmonotonic system, called equilibrium logic, which can be described as a form of minimal model reasoning in HT, and demonstrated that the equilibrium models of any program coincide with its answer sets. One of the most seminal successes of equilibrium logic was the logical characterization of the notion of strong equivalence of logic programs by Lifschitz et al. (Reference Lifschitz, Pearce and Valverde2001), an important and useful concept which has received considerable research attention in the ASP community.
Recently, a higher-order extension of ASP was introduced (Bogaerts et al. Reference Bogaerts, Charalambidis, Chatziagapis, Kostopoulos, Pollaci and Rondogiannis2024) using the abstract framework of approximation fixpoint theory (AFT) (Denecker et al. Reference Denecker, Marek and Truszczyński2000, Reference Denecker, Marek and Truszczynski2004). The introduction of higher-order ASP is driven by more than just theoretical curiosity: recently, many nontrivial extensions of ASP have been investigated in order to enhance its power (Bogaerts et al. Reference Bogaerts, Janhunen and Tasharrofi2016; Amendola et al. Reference Amendola, Ricca and Truszczynski2019; Fandinno et al. Reference Fandinno, Laferrière, Romero, Schaub and Son2021), and thus it was a natural step to investigate the potential of developing a higher-order extension of the paradigm. Not surprisingly, higher-order ASP demonstrates impressive expressive power: as shown in the work of Bogaerts et al. (Reference Bogaerts, Charalambidis, Chatziagapis, Kostopoulos, Pollaci and Rondogiannis2024) several difficult computational problems were modeled in higher-order ASP, such as for example the Generalized Geography two-player game, which is a well-known (Lichtenstein and Sipser Reference Lichtenstein and Sipser1980)
$\mathsf{PSPACE}$
-complete problem. The increased expressive power of higher-order ASP was theoretically confirmed very recently: as demonstrated by Charalambidis et al. (Reference Charalambidis, Kostopoulos, Nomikos and Rondogiannis2025),
$(k+1)$
-order ASP captures co-(
$k$
-NEXP) using cautious reasoning and
$k$
-NEXP using brave reasoning. So, even the second-order fragment is extremely powerful and can express problems that are beyond the capabilities of standard ASP systems. Although expressive and quite promising, the idea of higher-order ASP lacks in one important respect: due to the fact that its current characterization by Bogaerts et al. (Reference Bogaerts, Charalambidis, Chatziagapis, Kostopoulos, Pollaci and Rondogiannis2024) is based on a fixpoint construction, proving the correctness of even simple transformations involves laborious and intricate double inductive arguments (see e.g., (Charalambidis et al. Reference Charalambidis, Kostopoulos, Nomikos and Rondogiannis2025, Appendix C)). In particular, defining the strong equivalence of higher-order ASP programs based on the fixpoint semantics from Bogaerts et al. (Reference Bogaerts, Charalambidis, Chatziagapis, Kostopoulos, Pollaci and Rondogiannis2024), appears to be a formidable challenge.
Based on the above discussion, a natural next step is to seek a logical characterization of higher-order ASP, which would allow notions such as strong equivalence to be defined in a simple way and reasoning about programs to be performed in a purely logical manner. Such a characterization requires extending HT to higher-order types and accordingly generalizing the framework of equilibrium logic. But what form should these higher-order HT relations have? Should they be arbitrary, or should they obey specific restrictions to capture the computational nature of logic programs? Drawing on well-known concepts from denotational semantics (Tennent Reference Tennent1991; Gunter Reference Gunter1993), we adopt the view that meaningful higher-order relations in a computational context should be monotonic over appropriate semantic domains. We introduce justification monotonic relations which prove to be a cornerstone of our work, essential for generalizing the characterization of strong equivalence to higher-order programs. The paper’s main contributions are outlined below:
-
• We develop a purely logical semantics for the higher-order logic programming language
$\mathcal{HOL}$
. Our approach extends the 3-valued truth domain of HT to the full type hierarchy of
$\mathcal{HOL}$
, restricting the domain to justification-monotonic relations at each level of the hierarchy. Within this framework, we define equilibrium models for
$\mathcal{HOL}$
as the total interpretations that are minimal with respect to the justification ordering. We argue that this restriction is necessary: adhering to a standard model of types - where the arrow type constructor denotes the set of all 3-valued relations - yields counterintuitive results even for trivial programs. Finally, we demonstrate that under this proposed semantics, stratified
$\mathcal{HOL}$
programs always possess a unique equilibrium model. -
• We examine definability concepts regarding the proposed semantics. More specifically, we demonstrate that every total justification-monotonic relation can be represented by a stratified
$\mathcal{HOL}$
program. Moreover, every non-total justification-monotonic relation can be “captured” (in a sense that will be precisely defined in Section 4) by a stratified
$\mathcal{HOL}$
program. Such definability results have a foundational significance: they demonstrate that the syntactic elements of
$\mathcal{HOL}$
are strong enough to express all the elements of its semantic domains. To use Robin Milner’s words (Milner Reference Milner1977), definability results suggest that the proposed semantics is not “over-generous”. -
• We generalize the classical proof of propositional strong equivalence to the world of higher-order logic programs. More specifically, we demonstrate that two
$\mathcal{HOL}$
programs are strongly equivalent iff they have the same
$\mathcal{HOL}$
models. Our proof relies significantly on the justification-monotonic nature of the proposed semantics and the derived definability results for
$\mathcal{HOL}$
. This result paves the road for further investigations on transformations and verification of higher-order logic programs, an area that at present is largely unexplored.
We believe that the present work can be the starting point for further investigations not only in the logical foundations of higher-order logic programs but also in their practical applications, extending in this way significantly the scope of the ASP paradigm.
2
$\mathcal{HOL}$
: A higher-order logic programming language
In this section we define the syntax of the language
$\mathcal{HOL}$
that we use throughout the paper. Actually,
$\mathcal{HOL}$
is based on a simple type system with one base type, namely
$o$
, the Boolean domain.
Definition 2.1. The types of
$\mathcal{HOL}$
are denoted by
$\pi$
(and its subscripted versions), and are defined as:
As usual, the binary operator
$\to$
is right-associative. It can be easily seen that every predicate type
$\pi$
can be written in the form
$\pi _1 \to \cdots \to \pi _n \rightarrow o, n\geq 0$
(for
$n=0$
we assume that
$\pi =o$
). We proceed by defining the syntax of
$\mathcal{HOL}$
.
Definition 2.2. The alphabet of
$\mathcal{HOL}$
consists of the following: predicate variables of every type
$\pi$
(denoted by capital letters such as
$\mathsf{P,Q,R,\ldots })$
; predicate constants of every type
$\pi$
(denoted by lowercase letters such as
$\mathsf{p,q,r,\ldots }$
); the conjunction constant
$\wedge$
of type
$o \to o \to o$
; and the negation constant
$\mathord {\sim }$
of type
$o \to o$
.
Definition 2.3. The expressions and literals of
$\mathcal{HOL}$
are defined as follows. Every predicate variable or constant is an expression; if
$\mathsf{E}_1$
is an expression of type
$\pi _1 \to \pi _2$
and
$\mathsf{E}_2$
an expression of type
$\pi _1$
then
$(\mathsf{E}_1\ \mathsf{E}_2)$
is an expression of type
$\pi _2$
. If
$\mathsf{E}$
is an expression of type
$o$
then
$\mathsf{E}$
is also a (positive) literal of type
$o$
; if
$\mathsf{E}$
is an expression of type
$o$
then
$(\mathord {\sim } \mathsf{E})$
is a (negative) literal of type
$o$
.
We will omit parentheses when no confusion arises and in some other cases we may use additional ones if we feel that this enhances readability; so, for example, when a predicate constant p is unary, we may write p(R) instead of p R. Literals will be denoted by
$\mathsf{L}$
and its subscripted versions. We write
$\mathsf{E}:\pi$
to denote that an expression
$\mathsf{E}$
has type
$\pi$
.
Definition 2.4. A rule of
$\mathcal{HOL}$
is a syntactic construct of the form
$\mathsf{p}\ \mathsf{R}_1 \cdots \mathsf{R}_n \leftarrow \mathsf{L}_1 \land \cdots \land \mathsf{L}_m$
, where
$\mathsf{p}$
is a predicate constant of type
$\pi _1 \to \cdots \to \pi _n \to o$
,
$\mathsf{R}_1,\ldots ,\mathsf{R}_n$
are distinct variables of types
$\pi _1,\ldots ,\pi _n$
respectively and the
$\mathsf{L}_i$
are literals. The term
$\mathsf{p}\ \mathsf{R}_1 \cdots \mathsf{R}_n$
is the head of the rule and
$ \mathsf{L}_1 \land \cdots \land \mathsf{L}_m$
is its body. A program
$\mathsf{P}$
of
$\mathcal{HOL}$
is a finite set of rules.
We will often follow the common logic programming notation and write
$\mathsf{L}_1,\ldots ,\mathsf{L}_m$
instead of
$\mathsf{L}_1 \wedge \cdots \wedge \mathsf{L}_m$
for the body of a rule. For brevity reasons, we will often denote a rule as
$\mathsf{p} \ \overline {\mathsf{R}} \leftarrow \mathsf{B}$
, where
$\overline {\mathsf{R}}$
is a shorthand for a sequence of variables
$\mathsf{R}_1 \cdots \mathsf{R}_n$
and
$\mathsf{B}$
represents a conjunction of literals.
Example 2.1. The following predicates illustrate the syntax of
$\mathcal{HOL}$
. Their precise semantics, particularly the distinction between
$\mathtt {id}$
and
$\mathtt {neg\_neg}$
, will be clarified in the next section.
\begin{equation*} \begin{array}{lcl} {\mathtt {id(R)}} & \leftarrow & \mathtt {R}\\[3pt] {\mathtt {neg(R)}} & \leftarrow & \mathord {\sim }\mathtt {R}\\[3pt] {\mathtt {neg\_neg(R)}} & \leftarrow & {\mathtt {neg(neg(R))}}\\[3pt] \mathtt {eq}\,\mathtt {R}\,\mathtt {Q} & \leftarrow & {\mathtt {neg(R),neg(Q)}}\\[3pt] \mathtt {eq}\,\mathtt {R}\,\mathtt {Q} & \leftarrow & {\mathtt {neg\_neg(R),neg\_neg(Q)}} \end{array} \end{equation*}
The predicate constants id, neg, and neg_neg are of type
$o\to o$
, while eq is of type
$o \to (o \to o)$
. The constant id denotes the identity relation, while neg lifts the negation operator
$\mathord {\sim }$
to a predicate constant; this definition allows us to compose negations in rule bodies, as seen in the definition of neg_neg; this achieves the effect of double negation (i.e.,
$\mathord {\sim }\mathord {\sim }\mathtt {R}$
), which is not directly supported as a syntactic form in
$\mathcal{HOL}$
. Finally, eq defines an equality relation on truth values, whose semantics will be explained in Section 3.
3 Equilibrium semantics for
$\mathcal{HOL}$
programs
In this section we introduce the semantics of
$\mathcal{HOL}$
programs, which is based on an extension of the equilibrium semantics of propositional programs introduced by Pearce (Reference Pearce1996, Reference Pearce1999). Pearce’s equilibrium semantics is built on top of Heyting’s logic of HT; the semantics of HT is usually presented either through Kripke frames or through 3-valued truth tables. We find it more convenient to use the latter approach, however we believe that our definitions and proofs can be adapted to the former. The underlying set of truth values of HT is
$V = \{\mathbf{f}, \mathbf{t^*}, {\mathbf{t}}\}$
. While
$\mathbf{f}$
and
$\mathbf{t}$
correspond to false and true, the value
$\mathbf{t^*}$
is an intermediate one between
$\mathbf{f}$
and
$\mathbf{t}$
, whose intuitive reading is “weakly true because it lacks sufficient justification to be considered true”. The standard ordering in
$V$
is
$\mathbf{f} \lt \mathbf{t^*} \lt {\mathbf{t}}$
. Consider now the following ordering over
$V$
, which we represent by
$\preceq$
and call the justification ordering:
Definition 3.1. For all
$v_1,v_2 \in \{\mathbf{f}, \mathbf{t^*}, {\mathbf{t}}\}, v_1 \preceq v_2$
iff
$v_1=v_2$
or
$v_1=\mathbf{t^*}$
and
$v_2={\mathbf{t}}$
.
The justification ordering is not new: it is the standard ordering used by D. Pearce over models in order to define the equilibrium ones. We use this ordering here to restrict our semantic domains to contain relations that preserve this ordering, namely the justification monotonic ones. The intuitive reason behind this requirement is that if a (higher-order) relation yields a
$\mathbf{t^*}$
value, it must maintain or increase that value when the justification of its input increases. In other words, we don’t want stronger evidence to invalidate a previous (even weakly true) conclusion. Later in this section, we provide a simple example which additionally motivates our adoption of justification monotonicity.
We proceed with the formal semantics of
$\mathcal{HOL}$
, starting with the semantics of its types. The semantics of the base Boolean domain is the set
$V = \{\mathbf{f}, \mathbf{t^*}, {\mathbf{t}}\}$
. The semantics of types of the form
$\pi _1\rightarrow \pi _2$
is the set of justification-monotonic functions from the domain of type
$\pi _1$
to that of type
$\pi _2$
. We define, simultaneously with the meaning of every type
$\pi$
, two partial orders on the elements of type
$\pi$
: the relation
$\leq _{\pi }$
which represents the truth ordering, and the relation
$\preceq _{\pi }$
which represents the justification ordering.
Definition 3.2. Let
$\mathsf{P}$
be a
$\mathcal{HOL}$
program. For every type
$\pi$
we define its meaning
$\lbrack \!\lbrack \pi \rbrack \!\rbrack$
, as follows:
-
•
${\lbrack \!\lbrack o \rbrack \!\rbrack } = \{ \mathbf{f}, \mathbf{t^*}, {\mathbf{t}} \}$
. The partial order
$\leq _o$
is the usual one induced by the ordering
$\mathbf{f} \lt _o \mathbf{t^*} \lt _o {\mathbf{t}}$
; the partial order
$\preceq _o$
is the one induced by the ordering
$\mathbf{t^*} \prec _o {\mathbf{t}}$
. -
•
${\lbrack \!\lbrack \pi _1 \rightarrow \pi _2 \rbrack \!\rbrack } = [ {\lbrack \!\lbrack \pi _1 \rbrack \!\rbrack } \rightarrow {\lbrack \!\lbrack \pi _2 \rbrack \!\rbrack } ]$
, namely the
$\preceq$
-monotonic functionsFootnote
1
from
$\lbrack \!\lbrack \pi _1 \rbrack \!\rbrack$
to
$\lbrack \!\lbrack \pi _2 \rbrack \!\rbrack$
. The partial order
$\leq _{\pi _1 \rightarrow \pi _2}$
is defined as follows: for all
$f,g \in {\lbrack \!\lbrack \pi _1 \rightarrow \pi _2 \rbrack \!\rbrack }$
,
$f \leq _{\pi _1\rightarrow \pi _2} g$
iff
$f(d) \leq _{\pi _2} g(d)$
for all
$d \in {\lbrack \!\lbrack \pi _1 \rbrack \!\rbrack }$
. The partial order
$\preceq _{\pi _1 \rightarrow \pi _2}$
is defined as follows: for all
$f,g \in {\lbrack \!\lbrack \pi _1 \rightarrow \pi _2 \rbrack \!\rbrack }$
,
$f \preceq _{\pi _1\rightarrow \pi _2} g$
iff
$f(d) \preceq _{\pi _2} g(d)$
for all
$d \in {\lbrack \!\lbrack \pi _1 \rbrack \!\rbrack }$
.
We will omit the subscripts of the above orders when they are obvious from context.
Definition 3.3. An interpretation
$\cal I$
assigns to each predicate constant
$\mathsf{p} : \pi$
of
$\mathcal{HOL}$
, an element
${\cal I}(\mathsf{p}) \in {\lbrack \!\lbrack \pi \rbrack \!\rbrack }$
.
We will denote the set of interpretations with
$\cal H$
. We define two partial orders on
$\cal H$
as follows: for all
${\cal I}, {\cal J} \in {\cal H}$
,
${\cal I} \leq {\cal J}$
(respectively,
${\cal I} \preceq {\cal J}\,$
) iff for every predicate constant
$\mathsf{p}$
,
${\cal I}(\mathsf{p}) \leq _{\pi } {\cal J}(\mathsf{p})$
(respectively,
${\cal I}(\mathsf{p}) \preceq _{\pi } {\cal J}(\mathsf{p})$
).
Definition 3.4. A state
$s$
is a function that assigns to each predicate variable
$\mathsf{R}:\pi$
, an element
$s(\mathsf{R}) \in {\lbrack \!\lbrack \pi \rbrack \!\rbrack }$
.
We denote the set of states with
$\cal S$
. The partial orders
$\leq$
and
$\preceq$
extend to
$\cal S$
in the obvious way. We will often use
$s[\mathsf{R}_1/d_1,\ldots ,\mathsf{R}_n/d_n]$
to denote a state that is identical to
$s$
the only difference being that the new state assigns to each
$\mathsf{R}_i$
the corresponding value
$d_i$
; for brevity, we will also denote it by
$s[\overline {\mathsf{R}}/\overline {d}]$
.
By abuse of language, we will often talk about “an interpretation (respectively, state) of a given program
$\mathsf{P}$
” instead of “an interpretation (respectively, state) of
$\mathcal{HOL}$
”.
Definition 3.5. Let
$\mathcal{I}$
be an interpretation and
$s$
a state. The semantics of expressions and literals with respect to
$\cal I$
and
$s$
is defined as follows:
-
1.
${\lbrack \!\lbrack \mathsf{R}\rbrack \!\rbrack }_{s}(\mathcal{I}) = s(\mathsf{R})$
-
2.
${\lbrack \!\lbrack \mathsf{p}\rbrack \!\rbrack }_{s}(\mathcal{I}) = \mathcal{I}(\mathsf{p})$
-
3.
${\lbrack \!\lbrack (\mathsf{E}_1\ \mathsf{E}_2)\rbrack \!\rbrack }_{s}(\mathcal{I}) = {\lbrack \!\lbrack \mathsf{E}_1\rbrack \!\rbrack }_{s}(\mathcal{I})({\lbrack \!\lbrack \mathsf{E}_2\rbrack \!\rbrack }_{s}(\mathcal{I}))$
-
4.
${\lbrack \!\lbrack \mathsf{(\mathord {\sim } E)}\rbrack \!\rbrack }_{s}(\mathcal{I})= \mathord {\sim } {\lbrack \!\lbrack \mathsf{E}\rbrack \!\rbrack }_{s}(\mathcal{I})$
, where
$\mathord {\sim } {\mathbf{t}} = \mathbf{f}, \mathord {\sim } \mathbf{f} = {\mathbf{t}}$
, and
$\mathord {\sim } \mathbf{t^*} = \mathbf{f}$
.
We can now formally define the notion of model for
$\mathcal{HOL}$
programs.
Definition 3.6. Let
$\mathsf{P}$
be a program and
$\mathcal{M}$
be an interpretation of
$\mathsf{P}$
. Then,
$\mathcal{M}$
is a model of
$\mathsf{P}$
iff for every rule
$\mathsf{p}\ \mathsf{V}_1\cdots \mathsf{V}_n \leftarrow \mathsf{L}_1, \ldots , \mathsf{L}_m$
in
$\mathsf{P}$
and for every state
$s\in {\cal S}$
, it holds that
$\min _{\leq }\{{\lbrack \!\lbrack \mathsf{L}_i\rbrack \!\rbrack }_{s}(\mathcal{M})\mid i\in \{1,\ldots ,m\}\}\leq {\lbrack \!\lbrack \mathsf{p}\ \mathsf{V}_1\cdots \mathsf{V}_n\rbrack \!\rbrack }_{s}(\mathcal{M})$
.
We will be particularly interested in semantic elements that are essentially 2-valued:
Definition 3.7. Let
$\pi$
be a type. An element
$e \in {\lbrack \!\lbrack \pi \rbrack \!\rbrack }$
is called total iff:
-
1.
$\pi = o$
and
$e \in \{\mathbf{f},{\mathbf{t}}\}$
, or
-
2.
$\pi = \pi _1\to \pi _2$
and
$e(e')$
is total for all total
$e'\in {\lbrack \!\lbrack \pi _1 \rbrack \!\rbrack }$
.
An interpretation
$\mathcal{I}$
will be called total iff
$\mathcal{I}(\mathsf{p})$
is total for every predicate constant
$\mathsf{p}$
.
The semantics of a
$\mathcal{HOL}$
program will be captured by its set of equilibrium models:
Definition 3.8. Let
$\mathsf{P}$
be a
$\mathcal{HOL}$
program and
$\mathcal{M}$
be an interpretation of
$\mathsf{P}$
. Then,
$\mathcal{M}$
is called an equilibrium model of
$\mathsf{P}$
iff
$\mathcal{M}$
is total and a
$\preceq$
-minimal model of
$\mathsf{P}$
.
Therefore, the meaning of a
$\mathcal{HOL}$
program is captured by its set of equilibrium models. This semantics generalizes the classical equilibrium model semantics of Pearce for propositional programs (Pearce Reference Pearce1996, Reference Pearce1999) (because it uses the same logical machinery at the propositional level). In the rest of this section we give some examples of the proposed semantics, illustrate the necessity of restricting attention to
$\preceq$
-monotonic relations, and state two important properties of the semantics.
Example 3.1. Based on the above semantics, it is not hard to check that the program consisting of the definitions in Example 2.1, has a unique equilibrium model which assigns to id the relation
$\{(\mathbf{f},\mathbf{f}),(\mathbf{t^*},\mathbf{t^*}),({\mathbf{t}},{\mathbf{t}})\}$
, to neg the relation
$\{(\mathbf{f},{\mathbf{t}}),(\mathbf{t^*},\mathbf{f}),({\mathbf{t}},\mathbf{f})\}$
, and to neg_neg the relation
$\{(\mathbf{f},\mathbf{f}),(\mathbf{t^*},{\mathbf{t}}),({\mathbf{t}},{\mathbf{t}})\}$
. Notice the difference between id and neg_neg which demonstrates the fact that in HT double negation is different from the identity relation. Finally, the meaning of eq is a relation that returns
$\mathbf{t}$
either if its two arguments are the same or one of them is
$\mathbf{t^*}$
and the other
$\mathbf{t}$
; otherwise, it returns
$\mathbf{f}$
. It is easy to verify that all the aforementioned relations are
$\preceq$
-monotonic. On the other hand, the standard equality relation (which returns
$\mathbf{t}$
only when its two arguments are the same and
$\mathbf{f}$
otherwise), is not
$\preceq$
-monotonic and therefore not definable as a
$\mathcal{HOL}$
program. In other words,
$\mathcal{HOL}$
programs have no way to distinguish between
$\mathbf{t^*}$
and
$\mathbf{t}$
.
Example 3.2. Consider the following program:
It can be verified that the above program has 4 equilibrium models, namely all the
$\preceq$
-monotonic relations of type
$o \to o$
that are “two-valued” (i.e., they always return a value in
$\{\mathbf{f},{\mathbf{t}}\}$
). More specifically, the four equilibrium models assign to p the following relations:
${\cal M}_1(\texttt {p}) =\{(\mathbf{f},\mathbf{f}),(\mathbf{t^*},\mathbf{f}),({\mathbf{t}},\mathbf{f})\}$
,
${\cal M}_2(\texttt {p}) =\{(\mathbf{f},{\mathbf{t}}),(\mathbf{t^*},\mathbf{f}),({\mathbf{t}},\mathbf{f})\}$
,
${\cal M}_3(\texttt {p}) =\{(\mathbf{f},\mathbf{f}),(\mathbf{t^*},{\mathbf{t}}),({\mathbf{t}},{\mathbf{t}})\}$
, and
${\cal M}_4(\texttt {p}) =\{(\mathbf{f},{\mathbf{t}}),(\mathbf{t^*},{\mathbf{t}}),({\mathbf{t}},{\mathbf{t}})\}$
.
The previous example demonstrates the production of all “two-valued”
$\preceq$
-monotonic relations of type
$o \to o$
. Can we produce all the total
$\preceq$
-monotonic ones? This is a more difficult task, requiring a more complicated program (see the supplementary material).
We now demonstrate, from a different angle, the importance of justification monotonicity in our semantics. The following simple example illustrates the necessity of the concept.
Example 3.3. Consider the following program
$\mathsf{P}$
, defining the predicate pof type
$o\to o$
:
Intuitively, we expect that the meaning of pis the relation
${\cal M}({\tt p})=\{(\mathbf{f}, \mathbf{f}), (\mathbf{t^*}, \mathbf{f}), ({\mathbf{t}}, \mathbf{f})\}$
(ie., the relation that maps every truth value to
$\mathbf{f}$
). However, if our semantics allowed arbitrary relations to be the meanings of predicates, the above program would have another equilibrium model, namely
$\mathcal{N}({\tt p}) = \{(\mathbf{f}, \mathbf{f}),(\mathbf{t^*}, \mathbf{t^*}), ({\mathbf{t}}, \mathbf{f})\}$
. Obviously,
${\cal N}({\tt p})$
is not monotonic, since
$\mathbf{t^*} \preceq {\mathbf{t}}$
but
${\cal N}({\tt p})(\mathbf{t^*}) = \mathbf{t^*} \not \preceq \mathbf{f} = {\cal N}({\tt p})({\mathbf{t}})$
. However,
$\cal N$
is total and
$\preceq$
-minimal model of
$\mathsf{P}$
, so we would have to accept it as an equilibrium model of
$\mathsf{P}$
if we had not restricted our domains to contain only the justification monotonic relations.
One could argue that accepting both
$\cal M$
and
$\cal N$
as equilibrium models, would be strange but not catastrophic; after all, the meaning of p is identical in both models if we restrict attention to total inputs. However, assume we add two more rules to the program:
\begin{equation*} \begin{array}{lll} {\mathtt {result}} & \leftarrow & {\mathtt {neg(neg(p(Q)))}}\\[3pt] {\mathtt {p(R)}} & \leftarrow & \mathtt {fail}\\[3pt] {\mathtt {neg(R)}} & \leftarrow & \mathord {\sim }\mathtt {R} \end{array} \end{equation*}
The definition of result uses in its body the existential variable Q (so, intuitively, the body reads “there exists a variable Q such that …”). It is not hard to see that the above program has two equilibrium models
$\cal M$
and
$\cal N$
such that
${\cal M}(\texttt {result}) = \mathbf{f}$
and
${\cal N}(\texttt {result}) = {\mathbf{t}}$
. Obviously, now
$\cal N$
produces a rather counterintuitive result.
We now establish two key properties of the proposed equilibrium semantics. Beyond their technical utility in proving subsequent results, these properties demonstrate that our semantics adheres to fundamental principles of logic programming. The first is a splitting lemma, analogous to the one introduced in (Lifschitz and Turner Reference Lifschitz and Turner1994). The second is a guarantee that the proposed semantics assigns a unique equilibrium model to every stratified
$\mathcal{HOL}$
program. The proofs of the results are given in the supplementary material.
Definition 3.9. Let
$\mathsf{P}$
be a program and
$U$
a set of predicate constants. We say that
$U$
is a splitting set of
$\mathsf{P}$
if for every rule
$C$
of
$\mathsf{P}$
, if a predicate constant of
$U$
appears in the head of
$C$
, then every predicate constant appearing in
$C$
is included in
$U$
. The set of rules
$C\in \mathsf{P}$
such that all predicate constants appearing in
$C$
are included in
$U$
is called the bottom of
$\mathsf{P}$
relative to
$U$
and denoted by
$b_U(\mathsf{P})$
. The set
$\mathsf{P} \setminus b_U(\mathsf{P})$
is called the top of
$\mathsf{P}$
relative to
$U$
.
Lemma 3.1. Let
$\mathsf{P}$
be a program and
$U$
be a splitting set of
$\mathsf{P}$
. If
$\mathcal{M}$
is an equilibrium model of
$\mathsf{P}$
, then
$\mathcal{M}$
restricted to
$U$
is an equilibrium model of
$b_U(\mathsf{P})$
.
Stratified higher-order logic programs (Bogaerts et al. Reference Bogaerts, Charalambidis, Chatziagapis, Kostopoulos, Pollaci and Rondogiannis2024) is a broad class of programs for which, as we show, the equilibrium semantics always produces a unique model.
Definition 3.10. A
$\mathcal{HOL}$
program
$\mathsf{P}$
is called stratified if there is a function
$S$
mapping predicate constants to natural numbers, such that for each rule
$\mathsf{p} \ \overline {\mathsf{R}} \leftarrow \mathsf{L}_1 \wedge \cdots \wedge \mathsf{L}_m$
and any
$i\in \{1,\ldots , m\}$
:
-
•
$S(\mathsf{q})\leq S(\mathsf{p})$
for every predicate constant
$\mathsf{q}$
occurring in
$\mathsf{L}_i$
. -
• If
$\mathsf{L}_i$
is of the form
$(\sim \!\mathsf{E})$
, then
$S(\mathsf{q})\lt S(\mathsf{p})$
for each predicate constant
$\mathsf{q}$
occurring in
$\mathsf{E}$
. -
• For any subexpression of
$\mathsf{L}_i$
of the form
$(\mathsf{E}_1\,\mathsf{E}_2)$
,
$S(\mathsf{q})\lt S(\mathsf{p})$
for every predicate constant
$\mathsf{q}$
occurring in
$\mathsf{E}_2$
.
Theorem 3.1. Let
$\mathsf{P}$
be a stratified
$\mathcal{HOL}$
program. Then,
$\mathsf{P}$
has a unique equilibrium model.
Notice that Examples2.1 and 3.3 are stratified programs and, obviously, have a unique equilibrium model.
4 Two definability theorems for
$\mathcal{HOL}$
In this section we demonstrate that every total
$\preceq$
-monotonic relation is definable by a stratified
$\mathcal{HOL}$
program. Additionally, we argue that every (even non-total)
$\preceq$
-monotonic relation can be “captured” by a stratified
$\mathcal{HOL}$
program (in a sense that will become clear later in the section). These definability results are important for two main reasons:
-
• Both results play an important technical role in establishing the strong equivalence theorem (Theorem5.1 in the next section). The significance of the results in the proof, will be intuitively explained in the next section.
-
• Such definability results have an additional foundational significance: they demonstrate that
$\mathcal{HOL}$
is strong enough to express all the elements of its semantic domain. To use Robin Milner’s words (Milner Reference Milner1977), such results suggest that the proposed semantics is not “over-generous”. According to Milner, a semantics is over-generous if there exist elements in the semantic domain of a language that are not definable by phrases (ie., syntactic elements) of the language. It is interesting to note that Milner’s remarks about definability, were given in the context of discussing full-abstraction, a notion conceptually close to strong equivalence.
We now formally state the two definability results and illustrate them by corresponding examples. The proofs of the theorems are given in the supplementary material. The two examples have been obtained by simplifying the programs produced by the constructions in the proofs of the theorems.
Theorem 4.1. For each type
$\pi$
and every total
$d\in {\lbrack \!\lbrack \pi \rbrack \!\rbrack }$
, there exists a stratified program
$\mathsf{P}_d$
with a constant
$\mathsf{c}_{d} : \pi$
such that
$\mathsf{P}_d$
has a unique equilibrium model
$\mathcal{M}$
with
$\mathcal{M}({\mathsf{c}}_{d}) = d$
.
Example 4.1. Let
$d \in {\lbrack \!\lbrack o \to o \rbrack \!\rbrack }$
be a total relation such that
$d=\{(\mathbf{f},{\mathbf{t}}),(\mathbf{t^*}, \mathbf{t^*}), ({\mathbf{t}},{\mathbf{t}}) \}$
. We can create a program
$\mathsf{P}_d$
as follows:
\begin{equation*} \begin{array}{lll} {\mathtt {neg(R)}} & \leftarrow & \mathord {\sim }\mathtt {R}\\[3pt] {\mathtt {p_d(R)}} & \leftarrow & {\mathtt {neg(R)}}\\[3pt] {\mathtt {p_d(R)}} & \leftarrow & \mathtt {R} \end{array} \end{equation*}
$\mathsf{P}_d$
is stratified and its unique equilibrium model
$\mathcal{M}$
assigns to
$\mathtt {p}_d$
the relation
$d$
.
Consider now the case of non-total
$\preceq$
-monotonic relations. Since our semantics is based on total relations (ie., every equilibrium model assigns to predicate constants total relations), a non-total relation is not directly definable in
$\mathcal{HOL}$
. However, we can “capture” non-total relations in the following sense: for every non-total
$\preceq$
-monotonic relation
$d$
we can create a stratified
$\mathcal{HOL}$
program
$\mathsf{P}_d$
which defines a predicate constant
$\mathsf{c}^*_{d}$
; the unique equilibrium model
$\cal M$
of
$\mathsf{P}_d$
satisfies
${\cal M}(\mathsf{c}^*_{d})(\mathbf{t^*}) = d$
. In order to give the full formal statement of this result, we need the following definition of a collapse function.
Definition 4.1. Let
$\pi$
be a predicate type and let
$d \in {\lbrack \!\lbrack \pi \rbrack \!\rbrack }$
. We define collapse (d) recursively as:
-
• If
$\pi = o, \mathit{collapse}(d) = \mathbf{f}$
if
$d = \mathbf{f}, \mathit{collapse}(d) = {\mathbf{t}}$
otherwise. -
• If
$\pi = \pi _1\rightarrow \pi _2$
, then
$\mathit{collapse}(d)(d_1) = \mathit{collapse}(d(d_1))$
for any
$d_1 \in {\lbrack \!\lbrack \pi _1 \rbrack \!\rbrack }$
.
We can now state our second definability theorem:
Theorem 4.2. For each type
$\pi$
and
$d\in {\lbrack \!\lbrack \pi \rbrack \!\rbrack }$
, there exists a stratified program
$\mathsf{P}_d$
with a constant
$\mathsf{c}^*_{d} : o \rightarrow \pi$
such that
$\mathsf{P}_d$
has a unique equilibrium model
$\mathcal{M}$
with
\begin{equation*} \mathcal{M}(\mathsf{c}^*_{d})(u)=\begin{cases} d, & \text{ if } u = \mathbf{t^*}\\[3pt] \mathit{collapse}(d), & \text{ if } u = {\mathbf{t}}\\[3pt] \lambda \overline {x}.\mathbf{f}, & \text{ if } u = \mathbf{f} \end{cases} \end{equation*}
Example 4.2. Let
$d \in {\lbrack \!\lbrack o \to o \rbrack \!\rbrack }$
be a relation such that
$d=\{(\mathbf{f},{\mathbf{t}}),(\mathbf{t^*}, \mathbf{t^*}), ({\mathbf{t}},\mathbf{t^*}) \}$
. We can create a program
$\mathsf{P}_d$
as follows:
\begin{equation*} \begin{array}{lll} {\mathtt {neg(R)}} & \leftarrow & \mathord {\sim }\mathtt {R}\\[3pt] {\mathtt {neg\_neg(R)}} & \leftarrow & {\mathtt {neg(neg(R))}}\\[3pt] \mathtt {p}^*_d\,\mathtt {U}\,\mathtt {R} & \leftarrow & {\mathtt {neg\_neg(U),neg(R)}}\\[3pt] \mathtt {p}^*_d\,\mathtt {U}\,\mathtt {R} & \leftarrow & {\mathtt {U,neg\_neg(R)}}\\[3pt] \mathtt {p}^*_d\,\mathtt {U}\,\mathtt {R} & \leftarrow & {\mathtt {U,R}} \end{array} \end{equation*}
It is easy to see that
$\mathsf{P}_d$
is stratified and its unique equilibrium model
$\mathcal{M}$
satisfies the requirements of Theorem 4.2.
5 The strong equivalence theorem for higher-order logic programs
In this section we present the main theorem of the paper, which establishes that two programs
$\mathsf{P}_1$
,
$\mathsf{P}_2$
are strongly equivalent iff they have the same models. Our result is a natural generalization, in programs of arbitrary orders, of the classical strong equivalence theorem for propositional programs (Lifschitz et al. Reference Lifschitz, Pearce and Valverde2001). We start by defining the notion of strong equivalence for
$\mathcal{HOL}$
programs, which is a direct extension of the corresponding notion for propositional programs.
Definition 5.1. Let
$\mathsf{P}_1,\mathsf{P}_2$
be
$\mathcal{HOL}$
programs. Then,
$\mathsf{P}_1$
and
$\mathsf{P}_2$
will be termed strongly equivalent iff for all
$\mathcal{HOL}$
programs
$\mathsf{P}$
, the programs
$\mathsf{P}_1 \cup \mathsf{P}$
and
$\mathsf{P}_2 \cup \mathsf{P}$
have the same equilibrium models.
Before presenting the theorem, we give two examples of programs that are not strongly equivalent. The first example involves two propositional programs and therefore we can use directly the classical characterization by Lifschitz et al. (Reference Lifschitz, Pearce and Valverde2001). The second example is a related one, involving however a higher-order predicate. Both examples rely on the fact that double negation elimination is invalid in HT.
Example 5.1. The following example illustrates that the “program”
$\mathtt {p} \leftarrow \mathord {\sim }\mathord {\sim }\mathtt {r}$
is not strongly equivalent to the program
$\mathtt {p} \leftarrow \mathtt {r}$
; since our language does not allow nested negations of the form
$\mathord {\sim }\mathord {\sim }\mathtt {r}$
, we use an intermediate variable q to achieve the same effect. More specifically, the program
$\mathsf{P}_1$
:
and the program
$\mathsf{P}_2$
:
are not strongly equivalent because they don’t have the same HT models: the interpretation
${\cal I}(\mathtt {p})=\mathbf{t^*}$
,
${\cal I}(\mathtt {q})=\mathbf{f}$
, and
${\cal I}(\mathtt {r})=\mathbf{t^*}$
, is a model of
$\mathsf{P}_2$
but not of
$\mathsf{P}_1$
. Actually, one can easily verify that by following the steps of the proof of Theorem 1 of Lifschitz et al. (Reference Lifschitz, Pearce and Valverde2001), we can construct the program
$\mathsf{P}=\{\mathtt {p} \leftarrow \mathtt {r}, \mathtt {r} \leftarrow \mathtt {p}\}$
such that
$\mathsf{P}_1\cup \mathsf{P}$
and
$\mathsf{P}_2\cup \mathsf{P}$
have different equilibrium models. In particular,
$\mathsf{P}_1\cup \mathsf{P}$
has the equilibrium model
${\cal K}(\mathtt {p})={\mathbf{t}}$
,
${\cal K}(\mathtt {q})=\mathbf{f}$
, and
${\cal K}(\mathtt {r})={\mathbf{t}}$
, which is not an equilibrium model of
$\mathsf{P}_2\cup \mathsf{P}$
.
Example 5.2. The following example illustrates that a program involving a predicate that is defined through double negation, is not strongly equivalent to one that does not use double negation. More specifically, the program
$\mathsf{P}_1$
:
and the program
$\mathsf{P}_2$
:
are not strongly equivalent because they don’t have the same higher-order
$\mathcal{HOL}$
models. For example, the interpretation
$\cal I$
such that
${\cal I}(\mathtt {p})(\mathbf{f})=\mathbf{f}$
,
${\cal I}(\mathtt {p})(\mathbf{t^*})=\mathbf{t^*}$
,
${\cal I}(\mathtt {p})({\mathbf{t}})={\mathbf{t}}$
, and
${\cal I}(\mathtt {neg})(\mathbf{f})={\mathbf{t}}$
,
${\cal I}(\mathtt {neg})(\mathbf{t^*})=\mathbf{f}$
,
${\cal I}(\mathtt {neg})({\mathbf{t}})=\mathbf{f}$
, is a model of
$\mathsf{P}_2$
but not of
$\mathsf{P}_1$
. Actually, one can verify that by taking
$\mathsf{P}$
to be the empty set, the programs
$\mathsf{P}_1\cup \mathsf{P} = \mathsf{P}_1$
and
$\mathsf{P}_2\cup \mathsf{P} = \mathsf{P}_2$
have different equilibrium models. In particular,
$\cal I$
is an equilibrium model of
$\mathsf{P}_2$
but not of
$\mathsf{P}_1$
.
The main result of the present paper (Theorem5.1), namely that two
$\mathcal{HOL}$
programs are strongly equivalent iff they have the same
$\mathcal{HOL}$
models, is a nontrivial generalization of the corresponding result of Lifschitz et al. (Reference Lifschitz, Pearce and Valverde2001) for propositional programs. In the rest of this section, we describe, at an intuitive level, the main technical difficulties that arise in the proof of Theorem5.1 and how they are handled in our context. The full proof of the theorem is given in the supplementary material.
What makes the proof of Theorem5.1 more challenging than the classical one is that in the heart of the proof lies the need to use the definability results of the previous section. To understand the need for definability, we have to first give an intuitive description of the central argument in the proof of the strong equivalence theorem for propositional programs (Lifschitz et al. Reference Lifschitz, Pearce and Valverde2001): assume that two (zero-order) programs
$\mathsf{P}_1$
and
$\mathsf{P}_2$
do not have the same models. For example, assume that there exists an interpretation
$\cal I$
that is a model of
$\mathsf{P}_1$
but not of
$\mathsf{P}_2$
. How can we find a program
$\mathsf{P}$
such that
$\mathsf{P}_1 \cup \mathsf{P}$
and
$\mathsf{P}_2 \cup \mathsf{P}$
do not have the same equilibrium models? A crucial step in the proof of Lifschitz et al. (Reference Lifschitz, Pearce and Valverde2001) is to include as facts in
$\mathsf{P}$
all atoms
$\mathsf{A}$
such that
${\cal I}(\mathsf{A}) = {\mathbf{t}}$
. Turning to the proof for
$\mathcal{HOL}$
programs, assume that for some predicate constant
$\mathsf{p}$
in
$\mathsf{P}$
and some elements
$d_1,\ldots ,d_n$
it holds that
${\cal I}(\mathsf{p})\,d_1\cdots d_n = {\mathbf{t}}$
. How could we create a “higher-order fact” in
$\mathcal{HOL}$
which reflects that
${\cal I}(\mathsf{p})\,d_1\cdots d_n = {\mathbf{t}}?$
Consider first the simpler case where
${\cal I}(\mathsf{p})$
is a total relation. In this case, we define
${\cal I}(\mathsf{p})$
as a predicate constant
$\mathsf{c}_{{\cal I}(\mathsf{p})}$
(see Theorem4.1) and then add to
$\mathsf{P}$
the rule:
For the purposes of the proof of Theorem5.1, the above rule behaves as a “higher-order fact”: intuitively, given
$d_1,\ldots ,d_n$
such that
${\cal I}(\mathsf{p})\,d_1\cdots d_n = {\mathbf{t}}$
, the atom in the body of the above rule forces any interpretation
$\cal J$
that satisfies the rule to also satisfy
${\cal J}(\mathsf{p})\,d_1\cdots d_n = {\mathbf{t}}$
.
Consider now the more involved case where
${\cal I}(\mathsf{p})$
is not a total relation. For this case the proof uses Theorem4.2. More specifically, since
${\cal I}(\mathsf{p})$
is not total, there exist total elements
$e_1,\ldots ,e_n$
such that
${\cal I}(\mathsf{p})\,e_1\cdots e_n = \mathbf{t^*}$
. We denote by
$\mathsf{E}_{U}$
the expression
$(\mathsf{p}\,\mathsf{c}_{e_1}\cdots \mathsf{c}_{e_n})$
. Then, we create the rule:
In the context of the proof of Theorem5.1, this rule “behaves” as a fact. The formal statement of the theorem is given below and its proof can be found in the supplementary material.
Theorem 5.1. For any programs
${\mathsf{P}}_1$
and
${\mathsf{P}}_2$
the following two statements are equivalent:
-
1. For every program
$\mathsf{P}, {\mathsf{P}}_1\cup \mathsf{P}$
and
${\mathsf{P}}_2\cup \mathsf{P}$
have the same equilibrium models. -
2.
${\mathsf{P}}_1$
and
${\mathsf{P}}_2$
have the same models.
6 What is the “Correct” answer-set semantics for higher-order programs?
The study of answer-set semantics for higher-order logic programs was initiated by Bogaerts et al. (Reference Bogaerts, Charalambidis, Chatziagapis, Kostopoulos, Pollaci and Rondogiannis2024) using the framework of AFT (Denecker et al. Reference Denecker, Marek and Truszczyński2000, Reference Denecker, Marek and Truszczynski2004). A key advantage of AFT is its ability to unify various semantics - such as the well-founded, Kripke-Kleene, and stable model semantics - under a single constructive fixpoint framework. However, AFT also has a limitation: it characterizes these models purely iteratively rather than through a specific logical system. In contrast, the primary strength of the equilibrium semantics is that it offers a logical characterization, providing a framework that enables direct logical reasoning about programs.
The divergence between AFT and Equilibrium Logic in the propositional case was identified several years ago by Denecker et al. (Reference Denecker, Bruynooghe and Vennekens2012). While the two techniques yield identical answer sets for normal propositional logic programs, they differ when rule bodies contain arbitrary propositional formulas. The precise relationship between the two is characterized by the following theorem by Denecker et al. (Reference Denecker, Bruynooghe and Vennekens2012).
Theorem 6.1.
If no rule body of a propositional logic program
$\mathsf{P}$
contains nested negation, then
$M$
is a stable model of
$\mathsf{P}$
in the sense of AFT iff
$M$
is an equilibrium model of
$\mathsf{P}$
.
Intuitively, the AFT-based semantics reduces double negation to identity, whereas the equilibrium semantics does not.
Example 6.1. The program p
$\leftarrow \mathord {\sim }\mathord {\sim }$
p has only the model
$\{(\mathtt {p},\mathbf{f})\}$
in AFT while it has two equilibrium models namely
$\{(\mathtt {p},\mathbf{f})\}$
and
$\{(\mathtt {p},{\mathbf{t}})\}$
.
Unfortunately, the simple syntactic characterization of the differences between AFT and the equilibrium semantics, as implied by Theorem6.1, does not straightforwardly generalize to
$\mathcal{HOL}$
programs. In a higher-order context, the negation operator can effectively “disguise” itself, as illustrated by the following example.
Example 6.2. The following program does not, at first sight, contain nested negation (the negation operator is hidden behind a different name).
Again, this program has one stable model in AFT and two equilibrium models.
Because negation can be disguised in
$\mathcal{HOL}$
in numerous ways (for instance, through a predicate that uses irrelevant code), syntactically characterizing the class of
$\mathcal{HOL}$
programs where nested negation is used, appears to be a nontrivial, if not impossible, task. Crucially, double negation is not the sole source of conflict. One can define alternative predicates in
$\mathcal{HOL}$
which, when used in a recursive context, also produce differing outcomes under AFT and equilibrium semantics. The following is such an example.
Example 6.3. Consider the program:
\begin{align*} \begin{array}{l} {\mathtt {q(Q)}} \leftarrow {\mathtt {Q}}\\[3pt] {\mathtt {q(Q)}} \leftarrow {\mathtt {\mathord {\sim }Q}}\\[3pt] {\mathtt {p}} \leftarrow {\mathtt {q(p)}} \end{array} \end{align*}
It can be verified that in AFT the program has a unique stable model in which p is
$\mathbf{t}$
; on the other hand, it does not have any equilibrium models.
These examples naturally raise the question: what is the “correct” answer-set semantics for higher-order logic programs? If one seeks generality and a constructive (fixpoint) approach for obtaining the semantics of a program, AFT is more suitable. However, we argue below that the equilibrium semantics offers a distinct advantage when the goal is to reason about programs and justify program transformations.
Example 6.4. Consider again the program of Example 6.3. Assume we want to unfold the definition of q in the body of the definition of p. This would give the new program:
\begin{equation*} \begin{array}{l} {\texttt {q(Q)}} \leftarrow {\texttt {Q}}\\[3pt] {\texttt {q(Q)}} \leftarrow {\mathtt {\mathord {\sim }Q}}\\[3pt] {\texttt {p}} \leftarrow {\texttt {p}}\\[3pt] {\texttt {p}} \leftarrow {\mathtt {\mathord {\sim }p}} \end{array} \end{equation*}
Although the program seems, from a programmer’s point of view, to be equivalent to that of Example 6.3, AFT now does not produce any stable model. On the other hand, the equilibrium semantics retains its behavior: the new program does not have any equilibrium models (as it was also the case for the initial one).
The above examples illustrate that mixing recursion and predicate application in unrestricted ways, results in discrepancies between the AFT and the equilibrium semantics. However, if recursion and applications are used in a controlled way, the two techniques converge. The proof of the following theorem is given in the supplementary material.
Theorem 6.2.
Let
$\mathsf{P}$
be a stratified program. Let
$\cal M$
be its unique equilibrium model and
$\cal N$
be its unique 2-valued stable model under the AFT semantics. Then,
$\pi ({\cal M}) = {\cal N}$
, where
$\pi$
is a collapse function from
$\cal H$
to the set of 2-valued interpretations.
We believe there exist much broader classes of programs than the stratified ones where the AFT-based and the equilibrium semantics coincide. One such potential fragment is the language “Stratified+Choices Higher-Order Datalog
$^\neg$
” defined in (Charalambidis et al. Reference Charalambidis, Kostopoulos, Nomikos and Rondogiannis2025), in which programs, intuitively, consist of a stratified part residing on top of a choice program. We have the following conjecture:
Conjecture 6.1.
Let
$\mathsf{P}$
be a program of Stratified+Choices Higher-Order Datalog
$^\neg$
. Then,
$\cal M$
is an equilibrium model of
$\mathsf{P}$
iff
$\pi ({\cal M})$
is a 2-valued stable model of
$\mathsf{P}$
under AFT, where
$\pi$
is a collapse function from
$\cal H$
to the set of 2-valued interpretations.
Beyond the aforementioned conjecture - which is significant for reconciling two prominent semantic frameworks - this work suggests several promising directions for future research. We briefly outline a few of these. A natural progression would be to extend equilibrium semantics to accommodate nested implications in rules. From a practical standpoint, it is also crucial to explore an extension of
$\mathcal{HOL}$
that supports an individual data type
$\iota$
(in addition to the Boolean type
$o$
), potentially building upon ideas found in Lifschitz et al. (Reference Lifschitz, Pearce and Valverde2007); Pearce and Valverde (Reference Pearce and Valverde2008). Another interesting direction is the extension of temporal ASP (Becker et al. Reference Becker, Cabalar, Diéguez, Schaub and Schuhmann2024) and stream reasoning (Beck et al. Reference Beck, Dao-Tran, Eiter and Kambhampati2016) to the higher-order context.
Finally, future work could investigate the logical foundations of the well-founded semantics for
$\mathcal{HOL}$
programs, utilizing a higher-order extension of the two-dimensional HT logic introduced by Cabalar (Reference Cabalar2001).
Supplementary material
To view supplementary material for this article, please visit https://doi.org/10.1017/S147106842610057X
HOL
HOL
HOL