Hostname: page-component-68c7f8b79f-wfgm8 Total loading time: 0 Render date: 2025-12-22T18:20:12.703Z Has data issue: false hasContentIssue false

A Category-Theoretic Perspective on Higher-Order Approximation Fixpoint Theory

Published online by Cambridge University Press:  02 December 2025

SAMUELE POLLACI
Affiliation:
Vrije Universiteit Brussel, Brussel, Belgium and Katholieke Universiteit Leuven, Leuven, Belgium (e-mail: samuele.pollaci@vub.be)
BABIS KOSTOPOULOS
Affiliation:
Harokopio University of Athens, Athens, Greece (e-mail: kostbabis@gmail.com)
MARC DENECKER
Affiliation:
Katholieke Universiteit Leuven, Leuven, Belgium (e-mail: marc.denecker@kuleuven.be)
BART BOGAERTS
Affiliation:
Vrije Universiteit Brussel, Brussel, Belgium and Katholieke Universiteit Leuven, Leuven, Belgium (e-mail: bart.bogaerts@kuleuven.be)
Rights & Permissions [Opens in a new window]

Abstract

Approximation fixpoint theory (AFT) is an algebraic framework designed to study the semantics of non-monotonic logics. Despite its success, AFT is not readily applicable to higher-order definitions. To solve such an issue, we devise a formal mathematical framework employing concepts drawn from category theory. In particular, we make use of the notion of Cartesian closed category to inductively construct higher-order approximation spaces while preserving the structures necessary for the correct application of AFT. We show that this novel theoretical approach extends standard AFT to a higher-order environment and generalizes the AFT setting of Charalambidis et al. (2018).

Information

Type
Original Article
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited.
Copyright
© The Author(s), 2025. Published by Cambridge University Press

1. Introduction

Approximation fixpoint theory (AFT) (Denecker et al. Reference Denecker, Marek, TruszczyŃski and Minker2000) is an algebraic framework designed to study the semantics of non-monotonic logics. It was originally designed for characterizing the semantics of logic programming, autoepistemic logic, and default logic and to resolve long-standing problems on the relation between these formalisms (Denecker et al. Reference Denecker, Marek, TruszczyŃski, Brewka, Marek and Truszczyński2011). Later, it has also been applied to a variety of other domains, including abstract argumentation (Strass Reference Strass2013; Bogaerts Reference Bogaerts2019), active integrity constraints (Bogaerts and Cruz-Filipe Reference Bogaerts and Cruz-Filipe2018), stream reasoning (Antic Reference Antic2020), integrity constraints for the semantic web (Bogaerts and Jakubowski Reference Bogaerts, Jakubowski, Formisano, Liu, Bogaerts, Brik, Dahl, Dodaro, Fodor, Pozzato, Vennekens and Zhou2021), and Datalog (Pollaci Reference Pollaci2025).

The core ideas of AFT are relatively simple: we are interested in fixpoints of an operator $O$ on a given lattice $\langle L,\leq \rangle$ . For monotonic operators, Tarski’s theory guarantees the existence of a least fixpoint, which is of interest in many applications. For non-monotonic operators, the existence of fixpoints is not guaranteed; and even if fixpoints exist, it is not clear which would be “good” fixpoints. AFT generalizes Tarki’s theory for monotonic operators by making use of a so-called approximating operator; this is an operator $A: L^2\to L^2$ , that operates on $L^2$ , and that is monotonic with respect to the precision order $\leq _p$ (defined by $(x,y)\leq _p(u,v)$ if $x\leq u$ and $v \leq y)$ ). The intuition is that elements of $L^2$ approximate elements of $L$ : $(x,y)\in L^2$ approximates $z$ if $x\leq z\leq y$ , that is, when $x\leq y$ , the tuple $(x,y)$ can be thought of as an interval in $L$ . Given such an approximator, AFT defines several types of fixpoints (supported fixpoints, a Kripke–Kleene fixpoint, stable fixpoints, a well-founded fixpoint) of interest.

In several fields of non-monotonic reasoning, it is relatively straightforward to define an approximating operator it turns out that the different types of fixpoints then correspond to existing semantics. In this way, AFT clarifies on the one hand how different semantics in a single domain relate, and on the other hand what the relation is between different (non-monotonic) logics.

Let us illustrate the application of AFT to standard, first-order, logic programming. In this setting, the lattice $L$ is the lattice of interpretations with the truth order $I\leq J$ if $P^I\subseteq P^J$ for each predicate $P$ . The operator is the immediate consequence operator $T_P$ , as defined in the seminal work of van Emden and Kowalski (Reference Van Emden and Kowalski1976). Given a logic program (i.e., a set of rules), this operator has the property that $q$ holds in $T_P(I)$ if and only if there is a rule $q \leftarrow \varphi$ in $P$ such that $\varphi$ is true in $I$ . In this setting, pairs $(I,J)$ are seen as four-valued interpretations: $I$ represents what is true and $J$ what is possible. A fact is then true (resp. false) if it is true (resp. false) in both $I$ and $J$ , unknown if it is true in $J$ but not true in $I$ and inconsistent if it is true in $I$ but not in $J$ . The approximating operator $\Psi _P$ is, in this case, nothing else than Fitting’s (2002) four-valued immediate consequence operator, which uses Kleene’s truth tables to evaluate the body of each rule in a four-valued interpretation. For this approximator, the fixpoints defined by AFT correspond to the major semantics of logic programming: supported fixpoints are models of Clark’s completion (Clark Reference Clark, Gallaire and Minker1977), stable fixpoints correspond to (partial) stable models (Gelfond and Lifschitz Reference Gelfond, Lifschitz, Kowalski and Bowen1988), the Kripke–Kleene fixpoint to the Kripke–Kleene model (Fitting Reference Fitting1985), and the well-founded fixpoint is the well-founded model (Van Gelder et al. Reference Van Gelder, Ross and Schlipf1991).

This paper is motivated by a need to apply AFT to higher-order logic programming that arose in several contexts (Dasseville et al. Reference Dasseville, Van Der Hallen, Janssens and Denecker2015, Reference Dasseville, Van Der Hallen, Bogaerts, Janssens, Denecker, Carro, King, Saeedloei and Vos2016; Charalambidis et al. Reference Charalambidis, Rondogiannis and Symeonidou2018). An important issue that arises in this context is that using pairs of interpretations no longer allows for an obvious way to evaluate formulas in an approximation. Let us illustrate this with a brief example (for more detailed ones, we invite the reader to look at Examples 3, and 4). Consider a logic program in which a first-order predicate $p$ and a second-order predicate $Q$ are defined. Now assume that in the body of a rule, the atom $Q(p)$ occurs. A tuple $(I,J)$ of interpretations in this case tells us whether $Q(S)$ is true, false, unknown, or inconsistent, for any given set $S$ . However, the interpretation of $p$ via $(I,J)$ is not a set, but a partially defined set, making it hard to evaluate expressions of the form $Q(p)$ . In other words, an approximation of the interpretation of $Q$ has to take as argument not only sets, that is, exact elements, but also partially defined sets, that is, approximate elements, like the interpretation of $p$ in this example. Thus, there is a need for a richer space of approximations where approximate objects can be applied to other approximate objects.

The above example and considerations suggest that spaces of approximations of higher-order objects should be defined inductively from lower-order ones, following the type hierarchy: we start by assigning a base approximation space to each type at the bottom of the hierarchy, and then, for each composite type $\tau _1 \to \tau _2$ , we define its approximation space as a certain class of functions from the approximation space for $\tau _1$ to the approximation space for $\tau _2$ , and so on. This method was heavily inspired by the approach used by Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) to obtain a generalization of the well-founded semantics for higher-order logic programs with negation. Notice that there are two major points in the construction above which are yet not defined: the base approximation spaces, and the class of functions we consider. The main question of this paper is how to define them in a generic way that works in all applications of AFT.

We want to apply the same AFT techniques on approximation spaces at any hierarchy level, that is, on base approximation spaces and the aforementioned sets of functions, which should thus have the same algebraic structure. In category theory (CT), the notion of Cartesian closed category captures this behavior. A category consists of a collection of objects and a collection of morphisms, that is, relations between objects. For example, we can define the category of square bilattices as the one having square bilattices as objects and monotone functions as morphisms. The objects of a Cartesian closed category $\mathbf{C}$ satisfy a property that can be intuitively understood as follows: if $A$ and $B$ are two objects of $\mathbf{C}$ , then the set of morphisms from $A$ to $B$ is also an object of $\mathbf{C}$ . Hence, if the base approximation spaces are objects of a Cartesian closed category, then the category contains the full hierarchy of spaces we are aiming for. We call such a Cartesian closed category an approximation category and denote it by $\textbf {Approx}$ .

In this category-theoretic framework, the questions on the nature of the base approximation spaces and the class of functions reduce to defining the objects and the morphisms of $\textbf {Approx}$ . Clearly, this depends on the application we want to use AFT for. Different applications imply different higher-order languages, with different types, and possibly different versions of AFT (standard AFT (Denecker et al. Reference Denecker, Marek, TruszczyŃski and Minker2000), consistent AFT (Denecker et al. Reference Denecker, Marek and TruszczyŃski2003), or other extensions (Charalambidis et al. Reference Charalambidis, Rondogiannis and Symeonidou2018)). To formalize this and unify different AFT accounts, we develop the notion of an approximation system. Once a language and the semantics of its types are fixed, we can choose an approximation system that consists, among other things, of a Cartesian closed category $\textbf {Approx}$ , equipped with a function $\mathit{App}$ associating the semantics of a type to an approximation space in $\textbf {Approx}$ . The approximation system also determines which elements of the approximation spaces are exact, that is, which elements approximate exactly one element of the semantics of a type, and, for every type, it provides a projection from the exact elements to the objects they represent in the corresponding semantics. This is non-trivial for higher-order approximation spaces, and it is indeed fundamental to obtain a sensible account for AFT for higher-order definitions.

In recent work, a stable semantics for higher-order logic programs was defined building on consistent AFT (Bogaerts et al. Reference Bogaerts, Charalambidis, Chatziagapis, Kostopoulos, Pollaci and Rondogiannis2024). In that work, the approach taken to evaluate an expression of the form $Q(p)$ , instead of applying an approximate interpretation for $Q$ to an approximate interpretation for $p$ , is to apply the approximate interpretation for $Q$ to all exact interpretations for $p$ that are still possible, and returning the least precise approximation of all the results. What this means in effect is that some sort of ultimate construction (Denecker et al. Reference Denecker, Marek and TruszczyŃski2004) is used; this has also been done in other extensions of logic programming (Pelov et al. Reference Pelov, Denecker and Bruynooghe2007; Dasseville et al. Reference Dasseville, Van Der Hallen, Bogaerts, Janssens, Denecker, Carro, King, Saeedloei and Vos2016). Bogaerts et al. (Reference Bogaerts, Charalambidis, Chatziagapis, Kostopoulos, Pollaci and Rondogiannis2024) also pointed out a rather counterintuitive behavior of the well-founded semantics defined in the work of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018), namely that even for simple non-recursive programs, the well-founded model might not assume expected values (leaving all atoms unknown). It is important to mention, though, that this counterintuitive behavior is caused solely by the treatment of (existentially) quantified variables and not by the algebraic theory (which is the focus of the current paper). Finally, it is interesting to mention that another paper Charalambidis and Rondogiannis (Reference Charalambidis, Rondogiannis, Gaggl, Martinez and Ortiz2023) joined CT and AFT, albeit with different perspective and aim: while we treat the whole set of possible approximation spaces as a category to apply any account of AFT to higher-order definitions, Charalambidis and Rondogiannis (Reference Charalambidis, Rondogiannis, Gaggl, Martinez and Ortiz2023) view the approximation spaces themselves as categories to provide a novel version of standard AFT.

In short, the main contributions of our paper are as follows:

  1. 1. We generalize the work of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) to a category-theoretic setting. In doing so, we shed light on the general principles underlying their constructions for higher-order logic programing and make their construction applicable to arbitrary current and future non-monotonic reasoning formalism captured by AFT.

  2. 2. We improve the work of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018). In particular, we define a new approximator, which provides the expected well-founded semantics; and we study the concept of exactness, previously missing, allowing the use of the theory to define exact stable models instead of focusing purely on the well-founded model.

It is also worth remarking that the generality of the CT environment allows to cover various accounts of AFT, like the ones of Denecker et al. (Reference Denecker, Marek, TruszczyŃski and Minker2000), Denecker et al. (Reference Denecker, Marek and TruszczyŃski2003), and Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018), and possibly others. Different versions of AFT are suitable for various situations and cater to specific applications. For instance, consistent AFT (Denecker et al. Reference Denecker, Marek and TruszczyŃski2003) utilizes a three-valued logic and provides a rather intuitive and easily applicable notion of approximation. On the other hand, standard AFT (Denecker et al. Reference Denecker, Marek, TruszczyŃski and Minker2000) employs a four-valued approach, with inconsistent elements, as presented earlier in this introduction. This can sometimes be of a more difficult use in applications but shows several advantages from the formal, mathematical standpoint: having a full bilattice, composed of both consistent and inconsistent elements, provides symmetry and allows for duality results to be derived, simplifying the proofs of the fundamental theorems at the core of this version of AFT. It is hence valuable to obtain a framework that covers as many accounts of AFT as possible.

The rest of this paper is structured as follows. In Section 2, we provide an overview of the fundamental concepts from AFT and CT that we use. Section 3 presents the novel definitions of approximation system, with the category $\textbf {Approx}$ , and of exact elements of an approximation space. In Section 4, we show that the square bilattices form a Cartesian closed category that can be chosen as $\textbf {Approx}$ for standard AFT. With a suitable choice of $\mathit{App}$ and exact elements, depending on the application at hand, we obtain an approximation system that recovers the framework of standard AFT and extends it to higher-order objects. This section can be skipped by the reader interested uniquely in the AFT version of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018), which is addressed in the following section. In Section 5, we apply the novel categorical framework to Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018). First, in Subsection 5.1, we show that the approximation spaces from Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) form a Cartesian closed category. Second, in Subsection 5.2, we define an approximation system that enables us to reconstruct in a simple way (using the general principles outlined above) the semantic elements defined ad hoc by Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018). At the same time, the definition of such approximation system also resolves a question that was left open in that work. Namely, what we get now is a clear definition for exact higher-order elements, and, in particular, this allows to determine when a model of a program is two-valued (see Example 2). We proceed with Subsection 5.3, where we present the new approximator that adjusts the behavior of the well-founded semantics of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) for programs with existential quantifiers in the body of rules. We close the subsection with two examples of logic programs in which we need to apply an approximate object on another approximate object. We conclude in Section 6.

2. Preliminaries

In this section, we provide a concise introduction to the formal concepts we utilize throughout the paper. We divide the content into two subsections. In the former (Section 2.1), we outline the core ideas at the foundation of AFT, and we present in more detail the parts of the work of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) that we aim to modify in Section 5. In the second subsection (Section 2.2), we present the notions of CT we need, with the definition of Cartesian closed category being the key concept. For further information on CT, we refer to the book by Riehl (Reference Riehl2017).

2.1 Approximation fixpoint theory

AFT generalizes Tarki’s theory to non-monotonic operators, with the initial goal of studying the semantics of non-monotonic logics. As such, AFT heavily relies on the following notions from order theory.

A partially ordered set (poset) $\mathcal{P}$ is a set equipped with a partial order, that is, a reflexive, antisymmetric, and transitive relation. We denote a poset by $\mathcal{P}=\langle P, \leq _P \rangle$ , where $P$ is the underlying set and $\leq _P$ is the partial order. By abuse of notation, when referring to a poset $\mathcal{P}$ , we often use the notation for the underlying set $P$ in place of the calligraphic one. We denote by ${\mathcal{P}}^{\mathit{op}}$ the poset with the same underlying set as $\mathcal{P}$ but opposite order, that is, ${\mathcal{P}}^{\mathit{op}}=\langle P, \geq _P\rangle$ . Given a subset $S\subseteq P$ , a lower bound $l$ of $S$ is the greatest lower bound of $S$ , denoted by $\sqcap S$ , if it is greater than any other lower bound of $S$ . Analogously, an upper bound $u$ of $S$ is the least upper bound of $S$ , denoted by $\bigsqcup S$ , if it is lower than any other upper bound of $S$ . A chain complete poset (cpo) is a poset $C$ such that for every chain $S\subseteq C$ , that is, a totally ordered subset, $\bigsqcup S$ exists. A complete join semilattice is a poset $J$ such that for any subset $S\subseteq J$ , $\bigsqcup S$ exists. A complete lattice is a poset $L$ such that for any subset $S\subseteq L$ , both $\sqcap S$ and $\bigsqcup S$ exist. A function $f\colon P_1\to P_2$ between posets is monotone if for all $x,y\in P_1$ such that $x\leq _{P_1}y$ , it holds that $f(x)\leq _{P_2}f(y)$ . We refer to functions $O\colon C\to C$ with domain equal to the codomain as operators. An element $x\in C$ is a fixpoint of $O$ if $O(x)=x$ . By Tarski’s least fixpoint theorem, every monotone operator $O$ on a cpo has a least fixpoint, denoted $\mathrm{lfp}(O)$ . To use a similar principle for operators stemming from non-monotonic logics, standard AFT (Denecker et al. Reference Denecker, Marek, TruszczyŃski and Minker2000) considers, for each complete lattice $\mathcal{L}$ , its associated square bilattice $\langle L^2, \leq _p\rangle$ , where $\leq _p$ is the precision order on the Cartesian product $L^2$ , that is, $(x_1,y_1)\leq _p (x_2,y_2)$ iff $x_1\leq _L x_2$ and $y_2\leq _L y_1$ . A square bilattice $\langle L^2, \leq _p\rangle$ can be viewed as an approximation of $L$ : an element $(x,y)\in L^2$ such that $x\leq _L y$ “approximates” all the values $z\in L$ such that $x\leq _L z\leq _L y$ . Such pairs $(x,y)$ with $x\leq _L y$ are called consistent. Pairs of the form $(x,x)\in L^2$ are called exact, since they approximate only one element of $L$ .

An approximator $A\colon L^2\to L^2$ is a monotone operator that is symmetric, that is, for all $(x,y)\in L^2$ it holds that $A_1(x,y)=A_2(y,x)$ , where $A_1,A_2\colon L^2 \to L$ are the components of $A$ , that is, $A(x,y)=(A_1(x,y),A_2(x,y))$ . An approximator $A\colon L^2 \to L^2$ approximates an operator $O\colon L\to L$ if for all $x\in L$ , $A(x,x)=(O(x),O(x))$ . Since $A$ is by definition monotone, by Tarski’s theorem $A$ has a least fixpoint, which is called the Kripke–Kleene fixpoint. Moreover, given an approximator $A$ , there are three other operators which deserve our attention, together with their fixpoints: the operator approximated by $A$ , ${O}_{\!{A}}\colon x\in L\mapsto A_1(x,x)\in L$ whose fixpoints are called supported; the stable operator ${S}_{\!{A}}\colon x\in L\mapsto \mathrm{lfp}(A_1(\cdot , x))\in L$ with the stable fixpoints (where $A_1(\cdot , x)\colon y\in L\mapsto A_1(y,x)\in L$ ); and the well-founded operator ${\mathcal{S}}_{\!{A}}\colon (x,y)\in L^2\mapsto ({S}_{\!{A}}(y), {S}_{\!{A}}(x))\in L^2$ , whose least fixpoint is referred to as the well-founded fixpoint. If $A$ is the four-valued immediate consequence operator (Fitting Reference Fitting2002), then the aformentioned four types of fixpoint correspond to the homonymous semantics of logic programing (Denecker et al. Reference Denecker, Marek, TruszczyŃski and Minker2000, Reference Denecker, Bruynooghe, Vennekens, Erdem, Lee, Lierler and Pearce2012).

The concepts presented so far are part of what we refer to as standard AFT (Denecker et al. Reference Denecker, Marek, TruszczyŃski and Minker2000), that is, the first account of AFT. Following this initial take, several other variants have been developed: consistent AFT (Denecker et al. Reference Denecker, Marek and TruszczyŃski2003), non-deterministic AFT (Heyninck et al. Reference Heyninck, Arieli and Bogaerts2024), or other extensions (Charalambidis et al. Reference Charalambidis, Rondogiannis and Symeonidou2018). In particular, the latter already proposes a way to deal with higher-order logic programs via an extension of consistent AFT. However, as already highlighted by Bogaerts et al. (Reference Bogaerts, Charalambidis, Chatziagapis, Kostopoulos, Pollaci and Rondogiannis2024), the work of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) had some hidden problematic features. They can be summarized as follows:

  1. 1. The Approximator: the well-founded semantics obtained via the approximator defined by Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) does not behave as expected when an existential quantifier occurs in the body of a rule. Take for instance the logic program with just the simple rule $\mathsf{p} \leftarrow \mathsf{R} \; \wedge \sim \mathsf{R}$ , where $\mathsf{R}$ is a variable ranging over the booleans $\{\mathbf{f}, \mathbf{t}\}$ . If we naively ground such program, we obtain $\mathsf{p}\leftarrow \mathbf{f} \wedge \mathbf{t}$ and $\mathsf{p}\leftarrow \mathbf{t} \wedge \mathbf{f}$ , and $\mathsf{p}$ would clearly be evaluated as false. However, the approach adopted by Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) uses approximated elements. In particular, variables of type boolean range over $\{\mathbf{f}, \mathbf{t},\mathbf{u}\}$ . In more detail, for the logic program $\mathsf{p} \leftarrow \mathsf{R}\; \wedge \sim \mathsf{R}$ , the approximator assignes to $\mathsf{p}$ the least upper bound of the body $\mathsf{R}\; \wedge \sim \mathsf{R}$ , with $\mathsf{R}$ ranging over $\{\mathbf{f}, \mathbf{t},\mathbf{u}\}$ . Since such least upper bound is computed with respect to the truth order $\mathbf{f} \leq \mathbf{u}\leq \mathbf{t}$ , the predicate $\mathsf{p}$ is assigned the value $\bigsqcup \{\mathbf{t}\wedge \mathbf{f}, \mathbf{f}\wedge \mathbf{t}, \mathbf{u}\wedge \mathbf{u}\}=\mathbf{u}$ under the well-founded semantics. This contradicts the more intuitive and standard two-valued approach via grounding, which assigns $\mathbf{f}$ to $\mathsf{p}$ . In a way, allowing the existentially quantified variable to vary over all approximated elements seems to unnecessarily increase (w.r.t. the truth order) the value of the defined predicate, when evaluated under the well-founded semantics.

  2. 2. The Notion of Exactness: the work of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) lacks the notion of exactness for higher-order objects, which is fundamental in the context of AFT and rather non-trivial in the higher-order setting: exactness allows to recognize whether an approximated object, that is, a pair $(x,y)$ in the bilattice, represents just one real element of the lattice, and, in particular, when a model is two-valued. In other words, having such concept makes it possible to study not just the well-funded models but also the stable ones.

In Section 5, we will show how we can use our novel concepts in the framework of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) to solve the issues listed above.

2.2 Category theory

CT studies mathematical structures and the relations between them, through the notion of a category. Intuitively, a category $\textbf {C}$ consists of a collection $\text{Ob}(\textbf {C})$ of objects and a collection $\text{Mor}(\textbf {C})$ of relations, called morphisms, between objects, satisfying some basic properties: every morphism $f$ has a domain $s(f)$ and a codomain $t(f)$ , morphisms can be composed, and so on.

Definition 1. A category $\textbf{C}$ consists of

  • a collection of objects $\text{Ob}(\textbf{C})$ ,

  • a collection of morphisms $\text{Mor}(\textbf {C})$ ,

  • for every morphism $f\in \text{Mor}(\textbf {C})$ , an object $s(f)$ called the source (or domain) of $f$ , and an object $t(f)$ called the target (or codomain) of $f$ ,

  • for every object $X\in \text{Ob}(\textbf {C})$ , a morphism $\mathit{id}_X$ called the identity morphism,

  • for every two morphisms $f,g\in \text{Mor}(\textbf {C})$ with $t(f)=s(g)$ , a morphism $g\circ f$ , called their composite,

such that

  • for all $f,g\in \text{Mor}(\textbf {C})$ such that $t(f)=s(g)$ , $s(g\circ f)=s(f)$

  • for all $f,g\in \text{Mor}(\textbf {C})$ such that $t(f)=s(g)$ , $t(g\circ f)=t(g)$ ,

  • for all $X\in \text{Ob}(\textbf {C})$ , $s(\mathit{id}_X)=t(\mathit{id}_X)=X$ ,

  • for all $f,g,h\in \text{Mor}(\textbf {C})$ such that $t(f)=s(g)$ and $t(g)=s(h)$ , $(h\circ g)\circ f=h\circ (g\circ f)$ ,

  • for all $X,Y\in \text{Ob}(\textbf {C})$ and for all $f\in \text{Mor}(\textbf {C})$ such that $s(f)=X$ and $t(f)=Y$ , $f\circ \mathit{id}_X=f$ and $\mathit{id}_Y\circ f=f$ .

In this paper, objects will always be certain ordered sets, and morphisms will be monotone functions. In the same way as morphisms between objects encode relations within a category, a morphism of categories, called a functor, describes the relation between two categories.

Definition 2. Let ${\textbf {C}},{\textbf {D}}$ be two categories. A functor $F\colon {\textbf {C}}\to {\textbf {D}}$ consists of a function $F_0\colon \text{Ob}(\textbf {C})\to \text{Ob}(\textbf {D})$ between the classes of objects, and a function $F_1\colon \text{Mor}(\textbf {C})\to \text{Mor}(\textbf {D})$ , such that it respects target and source of morphisms, identity morphisms, and composition.

For each $x,y\in \text{Ob}(\textbf {C})$ , we denote by $\hom _{\textbf {C}}(x,y)$ the set of morphisms of $\textbf {C}$ with domain $x$ and codomain $y$ .

Definition 3. A functor $F\colon {\textbf {C}}\to {\textbf {D}}$ is

  • full if for each $X,Y\in \text{Ob}(\textbf {C})$ , the map $F_1\!\!\restriction _{\hom _{\textbf {C}}(X,Y)}\colon \hom _{\textbf {C}}(X,Y) \to \hom _{\textbf {D}}(F_0(X),F_0(Y))$ is surjective,

  • faithful if for each $X,Y\in \text{Ob}(\textbf {C})$ , the map $F_1\!\!\restriction _{\hom _{\textbf {C}}(X,Y)}\colon \hom _{\textbf {C}}(X,Y) \to \hom _{\textbf {D}}(F_0(X),F_0(Y))$ is injective,

  • embedding if $F$ is faithful and $F_0$ is injective.

The domain of a full embedding $F\colon {\textbf {C}}\to {\textbf {D}}$ is called a full subcategory of the codomain (denoted as $ {\textbf {C}}\subseteq {\textbf {D}}$ ).

It is easy to see that we can define a category $\textbf {POSet}$ with objects being the posets and morphisms the monotone functions between posets. We denote by $\textbf {CPO}$ , $\textbf {CJSLat}$ , and $\textbf {CLat}$ the full subcategories of $\textbf {POSet}$ with objects the cpo’s, the complete join semilattices, and the complete lattices, respectively. Clearly, it also holds that ${\textbf {CLat}}\subseteq {\textbf {CPO}}\subseteq {\textbf {POSet}}$ and ${\textbf {CLat}}\subseteq {\textbf {CJSLat}}\subseteq {\textbf {POSet}}$ .

We are interested in inductively building approximation spaces for higher-order concepts starting from base ones. To be able to perform this construction, we need the approximation spaces to belong to a Cartesian closed category, that is, a category $\textbf {C}$ with a terminal object, products, and exponentials.

Definition 4. $T\in \text{Ob}(\textbf {C})$ is terminal if for each $A\in \text{Ob}(\textbf {C})$ there exists a unique morphism $f\colon A\to T$ .

For instance, the poset with one element and trivial order is the terminal object of $\textbf {POSet}$ , $\textbf {CPO}$ , $\textbf {CJSLat}$ , and $\textbf {CLat}$ .

Definition 5. Let $A_1, A_2\in \text{Ob}(\textbf {C})$ . A product of $A_1$ and $A_2$ is an object of $\textbf {C}$ , denoted by $A_1\times A_2$ , equipped with two morphisms $\pi _1\colon A_1\times A_2\to A_1$ and $\pi _2\colon A_1\times A_2\to A_2$ , called first, and second projection, respectively, such that for any $B\in \text{Ob}(\textbf {C})$ and any morphisms $f_1\colon B\to A_1$ and $f_2\colon B\to A_2$ , there exists a unique morphism $f_1\times f_2\colon B\to A_1\times A_2$ such that $\pi _1\circ (f_1\times f_2)=f_1$ and $\pi _2\circ (f_1\times f_2)=f_2$ .

In $\textbf {POSet}$ , and analogously for $\textbf {CPO}$ , $\textbf {CJSLat}$ , and $\textbf {CLat}$ , the product of two objects $\mathcal{P}_1$ and $\mathcal{P}_2$ is the Cartesian product of $P_1$ and $P_2$ equipped with the product order, that is, $(x_1,y_1)\leq (x_2, y_2)$ if and only if $x_1\leq _{P_1} x_2$ and $y_1\leq _{P_2} y_2$ . The projections $\pi _1$ and $\pi _2$ are given by the usual Cartesian projections.

Definition 6. Let $A_1, A_2\in \text{Ob}(\textbf {C})$ . An exponential of $A_1$ and $A_2$ is an object of $\textbf {C}$ , denoted by $A_2^{A_1}$ , equipped with a morphism $\mathit{ev}\colon A_2^{A_1}\times A_1\to A_2$ , called the evaluation, such that for any $B\in \text{Ob}(\textbf {C})$ and any morphism $f\colon B\times A_1\to A_2$ , there exists a unique morphism $f'\colon B\to A_2^{A_1}$ such that $\mathit{ev}\circ (f'\times \mathit{id})=f$ .

In $\textbf {POSet}$ , and analogously for $\textbf {CPO}$ , $\textbf {CJSLat}$ , and $\textbf {CLat}$ , the exponential $\mathcal{P}_2^{\mathcal{P}_1}$ is the set of monotone functions from $P_1$ to $P_2$ equipped with the pointwise order (induced by $\leq _{P_2}$ ), that is, $f_1\leq _{\mathit{pt}} f_2$ if and only if for all $x\in P_1$ , $f_1(x)\leq _{P_2} f_2(x)$ . The evaluation $\mathit{ev}$ is given by the usual function evaluation, that is, $\mathit{ev}(f,x)=f(x)$ .

Definition 7. A category C is Cartesian closed if it has a terminal object, and for each $A_1, A_2\in \text{Ob}(\textbf {C})$ , there exist $A_1\times A_2\in \text{Ob}(\textbf {C})$ and $A_2^{A_1}\in \text{Ob}(\textbf {C})$ .

By our prior observations, it follows that ${\textbf {POSet}}, {\textbf {CPO}}$ , $\textbf {CJSLat}$ , and $ {\textbf {CLat}}$ are all Cartesian closed.

In the context of AFT, we are often interested in the space of interpretations over a possibly infinite vocabulary of a logic program. In order to include this, we need another notion from CT, namely a generalized version of the categorical product for (possibly infinite) families of objects.

Definition 8. Let $\{A_i\}_{i\in I}$ be a family of objects of a category $\textbf {C}$ indexed by $I$ . The (generalized) product of the family $\{A_i\}_{i\in I}$ is an object of $\textbf {C}$ , denoted by $\Pi _{i\in I} A_i$ , equipped with morphisms $\pi _i\colon \Pi _{i\in I} A_i\to A_i$ , called the $i$ -th projection, such that for all $B \in \text{Ob}(\textbf {C})$ and for all families of morphisms $\{\varphi _i\colon B\to A_i\}_{i\in I}$ indexed by $I$ , there exists a unique $\psi \colon B\to \Pi _{i\in I} A_i$ such that for all $i\in I$ it holds that $\varphi _i=\pi _i\circ \psi$ .

We say that a category $\textbf {C}$ has generalized products if for all families $\{A_i\}_{i\in I}$ of objects of $\textbf {C}$ the product $\Pi _{i\in I} A_i\in \text{Ob}(\textbf {C})$ exists. Clearly, if $\textbf {C}$ is Cartesian closed and the index $I$ is finite, this product always exists; but this is not always the case for infinite $I$ . However, we will show in the remainder of this subsection that every full subcategory of $\textbf {POSet}$ has generalized products (Proposition 2). We wish to warn the reader that the following category-theoretic notions are only meant to support the proofs of Propositions 2 and 3 and will not be used in the next sections of the paper.

The generalized product is a special case of a very common construction in CT, called the limiting cone, or simply limit. We proceed with the definitions leading to the concept of limit.

Definition 9. A diagram $X_\bullet$ in a category $\textbf {C}$ is

  1. 1. a set $\{X_i\}_{i\in I}$ of objects of $\textbf {C}$ ,

  2. 2. for every pair $(i,j)\in I\times I$ , a set $\{f_\alpha \colon X_i \to X_j\}_{\alpha \in I_{i,j}}$ of morphisms,

  3. 3. for every $i\in I$ an element $\epsilon _i \in I_{i,i}$ ,

  4. 4. for each $(i,j,k)\in I\times I \times I$ a function $\mathit{comp}_{i,j,k} \colon I_{i,j}\times I_{j,k} \to I_{i,k}$ such that

    1. (a) $\mathit{comp}$ is associative and unital with the $f_{\epsilon _i}$ ’s being the neutral elements,

    2. (b) for every $i\in I$ , $f_{\epsilon _i}=\mathit{id}_{X_i}$ is the identity morphism of $X_i$ ,

    3. (c) for every two composable morphisms $f_\alpha \colon X_i \to X_j$ and $f_\beta \colon X_j\to X_k$ , it holds that $f_\beta \circ f_\alpha =f_{\mathit{comp}_{i,j,k}(\alpha, \beta )}$ .

Definition 10. Let $X_\bullet =(\{f_\alpha \colon X_i\to X_j\}_{i,j\in I, \alpha \in I_{i,j}}, \mathit{comp})$ be a diagram in $\textbf {C}$ . A cone over $X_\bullet$ is an object $X\in \text{Ob}(\textbf {C})$ together with, for each $i\in I$ , a morphism $p_i\colon X\to X_i\in \text{Mor}(\textbf {C})$ such that for all $(i,j)\in I\times I$ and for all $\alpha \in I_{i,j}$ , it holds that $f_\alpha \circ p_i =p_j$ .

Moreover, the limiting cone or limit of $X_\bullet$ is, if it exists, the cone over $X_\bullet$ which is universal among all possible cones over $X_\bullet$ .

Definition 11. A functor $F\colon {\textbf {C}}\to {\textbf {D}}$ reflects all limits if for all diagrams $X_\bullet$ in $\textbf {C}$ , and for all cones $C$ over $X_\bullet$ such that $F(C)$ is a limiting cone of $F(X_\bullet )$ , $C$ is a limiting cone of $X_\bullet$ .

Proposition 1. A full and faithful functor reflects all limits.

Proof. Lemma 3.3.5 in (Riehl Reference Riehl2017).

We are finally able to prove that every full subcategory of $\textbf {POSet}$ has geeralized products.

Proposition 2. If ${\textbf {C}}\subseteq {\textbf {POSet}}$ , then $\textbf {C}$ has generalized products.

By Definition 3, there exists a full embedding $F\colon {\textbf {C}}\to {\textbf {POSet}}$ . By Proposition 1, $F$ reflects all limits. Moreover, it is clear that $\textbf {POSet}$ has generalized products. Since generalized products are a type of limit, we conclude that $\textbf {C}$ has generalized products.

In a full subcategory of $\textbf {POSet}$ , we can rewrite a generalized product as a poset of functions. Given two posets $\mathcal{P}_1, \mathcal{P}_2\in \text{Ob}(\textbf {POSet})$ , we denote by $(\mathcal{P}_1\to \mathcal{P}_2)\in \text{Ob}(\textbf {POSet})$ the poset of functions from $\mathcal{P}_1$ to $\mathcal{P}_2$ ordered with the pointwise order. In particular, notice that $(\mathcal{P}_1\to \mathcal{P}_2)$ may contain non-monotone functions.

Proposition 3. Let $\textbf {C}$ be a full subcategory of $\textbf {POSet}$ , $X\in \text{Ob}(\textbf {POSet})$ , and $Y\in \text{Ob}(\textbf {C})$ . Then there exists an isomorphism $(X\to Y)\cong \Pi _{x\in X} Y$ in $\textbf {C}$ .

Proof. By Proposition 2, $ \Pi _{x\in X} Y \in \text{Ob}(\textbf {C})$ . Moreover, there exists a bijection $\varphi \colon (X\to Y)\to \Pi _{x\in X} Y$ , defined by $\varphi (f)=(f(a))_{a\in X}$ , with inverse $\varphi ^{-1}\colon \Pi _{x\in X} Y \to (X\to Y)$ , defined by, for all $a\in X$ , $\varphi ^{-1}((y_x)_{x\in X})(a)=y_a$ . Because of the definition of pointwise order and product order, it is immediate to show that both $\varphi$ and $\varphi ^{-1}$ preserve the orders, that is, they are monotone.

3. The approximation system

In this section, we introduce the notions of approximation category and approximation system, which constitute the core of the theoretical framework for AFT we developed.

Let $\mathcal{L}$ be a higher-order language based on a hierarchy of types $\mathbb{H}$ comprising of base types $\tau$ , and two kinds of composite types: product types $\Pi _{i\in I} \tau _i$ and morphism types $\tau _1\to \tau _2$ . For instance, a base type could be the boolean type $o$ or the type $\iota$ of individuals, whereas in the composite types we may find the type $\iota \to o$ , which is the type of unary first-order predicates. We denote by $\mathcal{B}_{\mathbb{H}}$ the set of base types. For the sake of simplicity, we omit the subscript of $\mathcal{B}$ when it is clear from the context of use.

We associate with each type $\tau$ of $\mathcal{B}_{\mathbb{H}}$ , an object $E_\tau \in \text{Ob}(\textbf {POSet})$ , and we define inductively for all $\{\tau _i\}_{i\in I}\subseteq \mathbb{H}$ , $E_{\Pi _{i\in I}\tau _i}=\Pi _{i\in I}E_{\tau _i}$ , and for all $\tau _1, \tau _2\in \mathbb{H}$ , $E_{\tau _1\to \tau _2}=(E_{\tau _1}\to E_{\tau _2})$ . The object $E_\tau$ is called the semantics of $\tau$ . For example, if the semantics of the boolean type $o$ is chosen to be $E_o:=\{\mathbf{f}, \mathbf{t}\}$ with the standard truth ordering, then the semantics for type $o\to o$ is the poset of functions from $E_o$ to $E_o$ .

In many applications of AFT, we are ultimately interested in the space of interpretations, which associate with each symbol of a vocabulary, an element of the semantics of the type of such symbol. It follows that an interpretation can be seen as a tuple of elements of different semantics. In more detail, given a vocabulary $V$ , we can consider the product type $\tau =\Pi _{s\in V} t(s)$ , where $t(s)$ is the type of the symbol $s$ . Then, the space of interpretations for the vocabulary $V$ coincides with the semantics $E_\tau =\Pi _{s\in V} E_{t(s)}$ .

We have so far defined the semantics of all the base types and the composite ones constructed from them. Notice that, it is often not necessary to define the spaces of approximations for all such semantics $E_\tau$ , which are infinitely many. Because of the nature of our formalism, we can easily restrict the set of types we take into account: we can fix a subset $\mathbb{T}\subseteq \mathbb{H}$ of types and focus our attention onto the set $S_{\mathbb{T}}$ defined as follows:

  • for all $\tau \in \mathbb{T}$ , $E_\tau \in S_{\mathbb{T}}$ ,

  • if $E_{\tau _1\to \tau _2}\in S_{\mathbb{T}}$ , then $E_{\tau _2}\in S_{\mathbb{T}}$ ,

  • if $E_{\Pi _{i\in I}\tau _i} \in S_{\mathbb{T}}$ , then $E_{\tau _i}\in S_{\mathbb{T}}$ for all $i\in I$ .

We will dive deeper into this matter in Section 5 where we present applications of our framework. We denote by $\mathcal{B}_{\mathbb{T}}$ the set of base types of $\mathbb{H}$ belonging to $\mathbb{T}$ .

The notion of approximation system (Definition 12) together with what follows in this section provide a general framework in which the techniques of AFT can be applied on higher-order languages. Before stating the, rather lengthy, definition of an approximation system, we provide an intuitive understanding of its components.

For each ${E}_{\!{\tau }}\in S_{\mathbb{T}}$ , we shall consider a corresponding space $\mathit{App}({E}_{\!{\tau }})$ , called an approximation space, whose elements approximate the elements of ${E}_{\!{\tau }}$ . Hence, we define a Cartesian closed full subcategory of $\textbf {CPO}$ , denoted by $\textbf {Approx}$ , and a map $\mathit{App}\colon S_{\mathbb{T}}\to \text{Ob}(\textbf {Approx})$ encoding such correspondence. The fact that ${\textbf {Approx}}\subseteq {\textbf {CPO}}$ allows us to apply the Knaster–Tarski theorem on the approximation spaces and guarantees the existence of generalized products (Proposition 2). Notice that, even though we fixed a mapping $\mathit{App}$ between the set $S_{\mathbb{T}}$ and the objects of $\textbf {Approx}$ , there is, so far, no relation between the elements of ${E}_{\!{\tau }}$ and those of $\mathit{App}({E}_{\!{\tau }})$ . The approximation space $\mathit{App}({E}_{\!{\tau }})$ is meant to approximate the elements of ${E}_{\!{\tau }}$ . In particular, we want the order $\leq _{\mathit{App}({E}_{\!{\tau }})}$ on $\mathit{App}({E}_{\!{\tau }})$ , which we call a precision order, to encode the approximating nature of $\mathit{App}({E}_{\!{\tau }})$ for ${E}_{\!{\tau }}$ : intuitively, $a\leq _{\mathit{App}({E}_{\!{\tau }})} b$ if $a$ is less precise than $b$ , that is, if an element $e\in {E}_{\!{\tau }}$ is approximated by $b$ , then $e$ is also approximated by $a$ . In the context of AFT, of particular interest are the elements of $\mathit{App}({E}_{\!{\tau }})$ which approximate just one element, called the exact elements. Thus, in the definition of approximation system that we are about to give, for every base type $\tau \in \mathcal{B}_{\mathbb{T}}$ , we fix a set $\mathcal{E}_\tau$ of exact elements of $\mathit{App}(E_\tau )$ , and a function $\mathfrak{p}^0_{\tau } \colon \mathcal{E}_\tau \to E_\tau$ , which associates each exact element with the unique element of $E_\tau$ it represents.

To obtain a sensible framework, it is fundamental to carefully define the sets of exact elements and a projection that associates each exact element with the object it represents. Hence, we impose conditions on the possible choices of the sets $\mathcal{E}_\tau$ and the functions $\mathfrak{p}^0_{\tau }$ , for $\tau \in \mathcal{B}_{\mathbb{T}}$ . Since an exact element of $\mathit{App}(E_\tau )$ approximates a single element of the semantics $E_\tau$ , if both $a$ and $b$ are exact and one is more precise than the other, then they should represent the same element, that is, $\mathfrak{p}^0_{\tau }(a)=\mathfrak{p}^0_{\tau }(b)$ (Item 2 in Definition 12). This requirement also hints at a very important fact: the definition of approximation system allows for the existence of multiple exact elements of $\mathit{App}(E_\tau )$ representing the same element of $E_\tau$ . Because of this possible multitude of exact representatives, we want to have, for each element $e\in E_\tau$ , a natural choice for a representative in the approximation space $\mathit{App}(E_\tau )$ . This is why, for each element $e\in E_\tau$ , we require that the greatest lower bound of all the exact elements representing $e$ exists, is exact, and represents $e$ (Item 3 in Definition 12). Lastly, we add one more condition on exact elements to accommodate several existing versions of AFT. In consistent AFT (Denecker et al. Reference Denecker, Marek and TruszczyŃski2003), exact elements are maximal, while in standard AFT, this is not the case, and there are elements beyond exact ones. We require that either the exact elements are maximal, or we can take arbitrary joins in the approximation spaces (Item 2 in Definition 12). This last condition will later allow for a generalization of both $\mathcal{E}_\tau$ and $\mathfrak{p}^0_{\tau }$ to any type $\tau$ of $\mathbb{H}$ , satisfying properties analogous to the ones required for the base types counterparts (Propositions 4 and 5).

We are now ready to state the definition of an approximation system. We write $f^{-1}(b)$ for the preimage of an element $b\in B$ via a function $f\colon A\to B$ , that is, $f^{-1}(b)=\{a\mid f(a)=b \}\subseteq A$ . Recall that given two posets $\mathcal{P}_1, \mathcal{P}_2\in \text{Ob}(\textbf {POSet})$ , we denote by $(\mathcal{P}_1\to \mathcal{P}_2)\in \text{Ob}(\textbf {POSet})$ the poset of (possibly non-monotone) functions from $\mathcal{P}_1$ to $\mathcal{P}_2$ ordered with the pointwise order.

Definition 12. A tuple $({\textbf {Approx}}, \mathit{App}, \{\mathcal{E}_\tau \}_{\tau \in \mathcal{B}}, \{\mathfrak{p}^0_{\tau }\}_{\tau \in \mathcal{B}})$ is an approximation system (for $S_{\mathbb{T}}$ ) if

  1. 1. $\textbf {Approx}$ is a Cartesian closed full subcategory of $\textbf {CPO}$ , called the approximation category. The objects of $\textbf {Approx}$ are called approximation spaces.

  2. 2. $\mathit{App}\colon S_{\mathbb{T}}\to \text{Ob}(\textbf {Approx})$ is a function such that for all $E_\tau \in S_{\mathbb{T}}$

    1. (a) if $\tau =\Pi _{i\in I}\tau _i$ is a product type, then $\mathit{App}(E_\tau )=\Pi _{i\in I}\mathit{App}(E_i)$ ,

    2. (b) if $\tau =\tau _1\to \tau _2$ and $E_{\tau _1}\notin S_{\mathbb{T}}$ , then $\mathit{App}(E_{\tau _1 \to \tau _2})=(E_{\tau _1}\to \mathit{App}(E_{\tau _2}))$ ,

    3. (c) if $\tau =\tau _1\to \tau _2$ and $E_{\tau _1}\in S_{\mathbb{T}}$ , then $\mathit{App}(E_{\tau _1 \to \tau _2})=\mathit{App}(E_{\tau _2})^{\mathit{App}(E_{\tau _1})}$ .

  3. 3. $\{\mathcal{E}_\tau \}_{\tau \in \mathcal{B}}$ is a family of sets such that the following hold:

    1. (a) for each base type $\tau \in \mathcal{B}$ , $\mathcal{E}_\tau \subseteq \mathit{App}(E_\tau )$ ,

    2. (b) either $\mathit{App}(E_\tau )\in \text{Ob}(\textbf {CJSLat})$ for all $\tau \in \mathcal{B}$ , or for all $\tau \in \mathcal{B}$ , if $a\in \mathcal{E}_\tau$ and $b\in \mathit{App}(E_\tau )$ such that $a\leq _{\mathit{App}(E_\tau )} b$ , then also $b\in \mathcal{E}_\tau$ .

  4. 4. $\{\mathfrak{p}^0_{\tau }\}_{\tau \in \mathcal{B}}$ is a family of surjective functions such that for each base type $\tau \in \mathcal{B}$ :

    1. (a) $\mathfrak{p}^0_{\tau } \colon \mathcal{E}_\tau \to E_\tau$ ,

    2. (b) for all $a,b\in \mathcal{E}_\tau$ , if $a\leq _{\mathit{App}(E_\tau )} b$ , then $\mathfrak{p}^0_{\tau }(a)=\mathfrak{p}^0_{\tau }(b)$ ,

    3. (c) for all $e\in E_\tau$ , there exists $\sqcap ((\mathfrak{p}^0_{\tau })^{-1}(e))\in \mathcal{E}_\tau$ and $\mathfrak{p}^0_{\tau }(\sqcap (\mathfrak{p}^0_{\tau })^{-1}(e))=e$ .

Notice that, by Proposition 3, the object $(E_{\tau _1}\to \mathit{App}(E_{\tau _2}))$ in Item 2 of Definition 12 is indeed an object of the approximation category $\textbf {Approx}$ . Morover, again by Proposition 3, it holds that $E_{\tau _1\to \tau _2}=(E_{\tau _1}\to E_{\tau _2})\cong \Pi _{i\in E_{\tau _1}}E_{\tau _2}=E_{\Pi _{i\in E_{\tau _1}}\tau _2}$ . However, in Item 3 of the above definition, we have $\mathit{App}(E_{\tau _1 \to \tau _2})=\mathit{App}(E_{\tau _2})^{\mathit{App}(E_{\tau _1})}\not \cong \Pi _{i\in E_{\tau _1}}\mathit{App}(E_{\tau _2})=\mathit{App}(E_{\Pi _{i\in E_{\tau _1}}\tau _2})$ . Hence, while the map $\mathit{App}$ , in a way, respects the structure given by the type hierarchy $\mathbb{H}$ , it does not commute with isomorphisms of posets.

Finally, it is important to notice that, while the approximation system depends on the application at hand, that is, on the language, the semantics, and so on, the approximation category depends only on the version of AFT.

We now fix an approximation system $\mathcal{S}=({\textbf {Approx}}, \mathit{App}, \{\mathcal{E}_\tau \}_{\tau \in \mathcal{B}}, \{\mathfrak{p}^0_{\tau }\}_{\tau \in \mathcal{B}})$ for $S_{\mathbb{T}}$ and extend the notion of exactness to all approximation spaces.

Definition 13. Let ${E}_{\!{\tau }}\in S_{\mathbb{T}}$ . An element $e\in \mathit{App}({E}_{\!{\tau }})$ is exact if one of the following conditions holds:

  1. 1. $\tau \in \mathcal{B}_{\mathbb{T}}$ and $e \in \mathcal{E}_\tau$ ,

  2. 2. $\tau = \Pi _{i\in I}\tau _i$ and for each $i\in I$ , the $i$ -th component $\pi _i(e)$ of $e$ is exact,

  3. 3. $\tau =\tau _1\to \tau _2$ , $E_{\tau _1}\notin S_{\mathbb{T}}$ , and for all $e_1\in E_{\tau _1}$ , $e(e_1)\in \mathit{App}(E_{\tau _2})$ is exact.

  4. 4. $\tau =\tau _1\to \tau _2$ , $E_{\tau _1}\in S_{\mathbb{T}}$ , and for all $e_1\in \mathit{App}(E_{\tau _1})$ exact, $e(e_1)\in \mathit{App}(E_{\tau _2})$ is exact.

The reader may wonder why there are two cases for a morphism type $\tau _1\to \tau _2$ in Definition 13, depending whether $E_{\tau _1}$ is in $S_{\mathbb{T}}$ or not, that is, whether we approximate the elements of the semantics of $\tau _1$ or not. Recall that an exact element in the approximation space is meant to represent one and only one element of the semantics of the same type. Intuitively, for a morphism type $\tau _1\to \tau _2$ , a function in $\mathit{App}(E_{\tau _1\to \tau _2})$ is exact when the image of any exact element is exact. This is indeed sufficient and we do not need to consider the image of non-exact elements of the domain: we will prove in Proposition 5 that there is an exact element in the approximation space for each element of the semantics of the corresponding type. Now, considering exact elements of the domain (and looking at their image) makes sense only when the domain is an approximation space, that is, when $E_{\tau _1}\in S_{\mathbb{T}}$ ; in the other case, when $E_{\tau _1}\notin S_{\mathbb{T}}$ we can directly consider the elements of the semantics, as they do not get approximated.

For $\tau \in \mathbb{T}$ , we denote by $\mathcal{E}_\tau$ the subset of $\mathit{App}(E_\tau )$ of exact elements of type $\tau$ . The following proposition shows that the condition 2 of Definition 12 holds for any ${E}_{\!{\tau }}\in S_{\mathbb{T}}$ .

Proposition 4. Either for all ${E}_{\!{\tau }}\in S_{\mathbb{T}}$ it holds that $\mathit{App}(E_\tau )\in \text{Ob}(\textbf {CJSLat})$ , or for all ${E}_{\!{\tau }}\in S_{\mathbb{T}}$ , for all $b\in \mathit{App}({E}_{\!{\tau }})$ , and for all $e\in {\mathcal{E}}_{\!{\tau }}$ , if $e\leq _{\mathit{App}({E}_{\!{\tau }})} b$ , then $b\in {\mathcal{E}}_{\!{\tau }}$ .

Proof. Suppose there exists ${E}_{\!{\tau '}}\in S_{\mathbb{T}}$ such that $\mathit{App}(E_{\tau '})\notin \text{Ob}(\textbf {CJSLat})$ . We have to show that for all ${E}_{\!{\tau }}\in S_{\mathbb{T}}$ , for all $b\in \mathit{App}({E}_{\!{\tau }})$ , and for all $e\in {\mathcal{E}}_{\!{\tau }}$ , if $e\leq _{\mathit{App}({E}_{\!{\tau }})} b$ , then $b\in {\mathcal{E}}_{\!{\tau }}$ . We proceed by induction on $\tau$ .

Let $\tau$ be a base type. Since we assumed that $\mathit{App}(E_{\tau '})\notin \text{Ob}(\textbf {CJSLat})$ for some ${E}_{\!{\tau '}}\in S_{\mathbb{T}}$ , and $\textbf {CJSLat}$ is Cartesian closed and has generalized products by Proposition 2, then there must exists a $\sigma \in \mathcal{B}$ such that $\mathit{App}(E_\sigma )\notin \text{Ob}(\textbf {CJSLat})$ . Thus, by condition 2 of Definition 12, we can conclude the base step of the induction.

Now let $\tau =\Pi _{i\in I}\tau _i$ and suppose the proposition hold for $E_{\tau _i}$ for all $i\in I$ . Let $(b_i)\in \mathit{App}({E}_{\!{\tau }})$ such that $e:=(e_i)\leq _{\mathit{App}({E}_{\!{\tau }})} (b_i)$ . By the definition of the product order, Definition 13, and the induction hypothesis, we get that $b_i\in \mathcal{E}_{\tau _i}$ for all $i\in I$ , that is, $(b_i)\in {\mathcal{E}}_{\!{\tau }}$ , as desired.

Let $\tau =\tau _1\to \tau _2$ with $E_{\tau _1}\notin S_{\mathbb{T}}$ , and suppose the proposition hold for $E_{\tau _2}$ . By Proposition 3, it holds that $\mathit{App}(E_\tau )\cong \mathit{App}(\Pi _{i\in E_{\tau _1}} E_{\tau _2})$ , thus, we can reduce to the previous case.

Let $\tau =\tau _1\to \tau _2$ with $E_{\tau _1}\in S_{\mathbb{T}}$ , and suppose the proposition hold for $E_{\tau _1}$ and $E_{\tau _2}$ . Let $f\in \mathit{App}({E}_{\!{\tau }})$ such that $e\leq _{\mathit{App}({E}_{\!{\tau }})} f$ . For $f$ to be exact, it must send exact elements to exact elements. Let $a\in \mathcal{E}_{\tau _1}$ . By the definition of the order on morphisms, and Defintion 13, it holds that $f(a)\geq _{\mathit{App}(E_{\tau _2})} e(a)\in \mathcal{E}_{\tau _2}$ . By induction hypothesis, it follows that $f(a)\in \mathcal{E}_{\tau _2}$ . Hence, $f\in {\mathcal{E}}_{\!{\tau }}$ , as desired.

Now that we have defined the exact elements for any semantics in $S_{\mathbb{T}}$ , we extend the family $\{\mathfrak{p}^0_{\tau }\}_{\tau \in \mathcal{B}}$ to have a map for each ${E}_{\!{\tau }}\in S_{\mathbb{T}}$ . We can do this inductively, by defining a new family of functions $\{\mathfrak{p}_\tau \colon {\mathcal{E}}_{\!{\tau }} \to {E}_{\!{\tau }} \}_{{E}_{\!{\tau }}\in S_{\mathbb{T}}}$ as follows:

  1. 1. if $\tau \in \mathcal{B}$ , then $\mathfrak{p}_\tau :=\mathfrak{p}^0_{\tau }$ ,

  2. 2. if $\tau =\Pi _{i\in I}\tau _i$ , then for all $(e_i)_{i\in I}\in {\mathcal{E}}_{\!{\tau }}$ , $\mathfrak{p}_\tau ((e_i)_{i\in I}):= (\mathfrak{p}_{\tau _i}(e_i))_{i\in I}$ ,

  3. 3. if $\tau =\tau _1\to \tau _2$ , and $E_{\tau _1}\notin S_{\mathbb{T}}$ , then for all $f\in {\mathcal{E}}_{\!{\tau }}$ , and for all $e\in E_{\tau _1}$ , $\mathfrak{p}_\tau (f)(e):=\mathfrak{p}_{\tau _2}(f(e))$ .

  4. 4. if $\tau =\tau _1\to \tau _2$ , and $E_{\tau _1}\in S_{\mathbb{T}}$ , then for all $f\in {\mathcal{E}}_{\!{\tau }}$ , and for all $e\in E_{\tau _1}$ , $\mathfrak{p}_\tau (f)(e):=\mathfrak{p}_{\tau _2}(f(d))$ , where $d\in \mathfrak{p}_{\tau _1}^{-1}(e)$ , that is, $\mathfrak{p}_{\tau _1}(d)=e$ .

Recall that, intuitively, the function $\mathfrak{p}_\tau$ sends an exact element of type $\tau$ to the element it represents in the semantics of $\tau$ .

In the following proposition, we prove that for each ${E}_{\!{\tau }}\in S_{\mathbb{T}}$ , the function $\mathfrak{p}_\tau$ is well defined, surjective, and satisfies properties analogous to 2 and 3 of Definition 12.

Proposition 5. Let ${E}_{\!{\tau }}\in S_{\mathbb{T}}$ , $e_1, e_2\in {\mathcal{E}}_{\!{\tau }}$ , and $e\in {E}_{\!{\tau }}$ . The following statements hold:

  1. 1. $\mathfrak{p}_\tau$ is well defined.

  2. 2. $\mathfrak{p}_\tau$ is surjective.

  3. 3. if $e_1\leq _{\mathit{App}({E}_{\!{\tau }})} e_2$ , then $\mathfrak{p}_\tau (e_1)=\mathfrak{p}_\tau (e_2)$ .

  4. 4. there exists $\sqcap \mathfrak{p}_\tau ^{-1}(e)\in {\mathcal{E}}_{\!{\tau }}$ and $\mathfrak{p}_\tau (\sqcap \mathfrak{p}_\tau ^{-1}(e))=e$ .

Proof. We proceed by induction on $\tau$ . Let $\tau \in \mathcal{B}_{\mathbb{T}}$ . Then $\mathfrak{p}_\tau =\mathfrak{p}^0_{\tau }$ and the Items 1, 2, 3, and 4 hold by definition of $\mathfrak{p}^0_{\tau }$ .

Now suppose $\tau =\Pi _{i\in I}\tau _i$ , and assume that Items 1, 2, 3, and 4 hold for $\tau _i$ for all $i \in I$ . Since $\mathfrak{p}_{\tau _i}$ is well defined and surjective by hypothesis for all $i \in I$ , it is clear by definition that also $\mathfrak{p}_\tau$ is well defined and surjective. Let $(a_i), (b_i)\in {\mathcal{E}}_{\!{\tau }}$ such that $(a_i)\leq _{\mathit{App}({E}_{\!{\tau }})} (b_i)$ . By the product order on $\mathit{App}({E}_{\!{\tau }})$ , we have $a_i \leq _{\mathit{App}(E_{\tau _i})} b_i$ for all $i\in I$ . By definition 13, $a_i, b_i \in \mathcal{E}_{\tau _i}$ for all $i\in I$ . Hence, by hypothesis it follows that $\mathfrak{p}_{\tau _i}(a_i)=\mathfrak{p}_{\tau _i}(b_i)$ for all $i\in I$ . By definition of $\mathfrak{p}_\tau$ , we get that $\mathfrak{p}_\tau ((a_i))=\mathfrak{p}_\tau ((b_i))$ . Thus, Item 3 hold. Now let $(a_i)\in \ {E}_{\!{\tau }}$ . By the definition of $\mathfrak{p}_\tau$ , it is easy to see that $\mathfrak{p}_\tau ^{-1}((a_i))=\Pi _{i\in I} \mathfrak{p}_{\tau _i}^{-1}(a_i)$ . Hence, by induction hypothesis for Item 4, we have that $\sqcap (\mathfrak{p}_\tau ^{-1}((a_i)))=\sqcap (\Pi _{i\in I} \mathfrak{p}_{\tau _i}^{-1}(a_i))=\Pi _{i\in I} \sqcap \mathfrak{p}_{\tau _i}^{-1}(a_i)\in \Pi _{i\in I} \mathfrak{p}_{\tau _i}^{-1}(a_i)=\mathfrak{p}_\tau ^{-1}((a_i))$ , where the second equality holds because of the definition of the product order on $\mathit{App}({E}_{\!{\tau }})$ . Thus, also Item 4 hold for $\mathfrak{p}_\tau$ .

Suppose $\tau =\tau _1\to \tau _2$ with $E_{\tau _1}\notin S_{\mathbb{T}}$ , and assume that Items 1, 2, 3, and 4 hold for and $\tau _2$ . By Proposition 3 and Definition 12, we have $E_{\tau _1\to \tau _2}=(E_{\tau _1}\to E_{\tau _2})\cong \Pi _{i\in E_{\tau _1}} E_{\tau _2}$ and $\mathit{App}(E_{\tau _1\to \tau _2})\cong \mathit{App}(\Pi _{i\in E_{\tau _1}} E_{\tau _2})$ . It is easy to see that we can reduce to the previous case with $I:=E_{\tau _1}$ .

Finally, suppose $\tau =\tau _1\to \tau _2$ with $E_{\tau _1}\in S_{\mathbb{T}}$ , and assume that Items 1, 2, 3, and 4 hold for $\tau _1$ and $\tau _2$ . We first show that $\mathfrak{p}_\tau$ is well defined, that is, for all $f\in {\mathcal{E}}_{\!{\tau }}$ there exists unique $g\in {E}_{\!{\tau }}=E_{\tau _2}^{E_{\tau _1}}$ such that $\mathfrak{p}_\tau (f)=g$ . Let $f\in {\mathcal{E}}_{\!{\tau }}$ . First notice that, since $\mathfrak{p}_{\tau _1}$ is surjective by hypothesis, for all $e\in E_{\tau _1}$ there exists $d\in \mathcal{E}_{\tau _1}$ such that $\mathfrak{p}_{\tau _1}(d)=e$ . Moreover, since $\mathfrak{p}_{\tau _2}$ is well defined by hypothesis, for all $e\in E_{\tau _1}$ and $d\in \mathfrak{p}_{\tau _1}^{-1}(e)$ , we get an element $\mathfrak{p}_{\tau _2}(f(d))\in E_{\tau _2}$ . It remains to show that for all $e\in E_{\tau _1}$ , if $d_1,d_2\in \mathfrak{p}_{\tau _1}^{-1}(e)\subseteq \mathcal{E}_{\tau _1}$ , then $\mathfrak{p}_{\tau _2}(f(d_1))=\mathfrak{p}_{\tau _2}(f(d_2))$ . Let $e\in E_{\tau _1}$ and $d_1,d_2\in \mathfrak{p}_{\tau _1}^{-1}(e)$ . By induction hypothesis for Item 4, there exists $d_3\in \mathfrak{p}_{\tau _1}^{-1}(e)$ such that $d_3\leq _{\mathit{App}(E_{\tau _1})} d_1$ , $d_3\leq _{\mathit{App}(E_{\tau _1})} d_2$ . Since $f\in {\mathcal{E}}_{\!{\tau }}=\mathcal{E}_{\tau _2}^{\mathcal{E}_{\tau _1}}$ is a morphism of cpo’s, it is monotone. Hence, it holds that $f(d_3)\leq _{\mathit{App}(E_{\tau _2})} f(d_1)$ , $f(d_3)\leq _{\mathit{App}(E_{\tau _2})} f(d_2)$ . By induction hypothesis for Item 3, it follows that $\mathfrak{p}_{\tau _2}(f(d_1))=\mathfrak{p}_{\tau _2}(f(d_2))$ . Thus, $\mathfrak{p}_\tau$ is well defined.

We now show that $\mathfrak{p}_\tau$ is surjective. Let $g\in {E}_{\!{\tau }}=E_{\tau _2}^{E_{\tau _1}}$ . By the induction hypothesis on $\tau _2$ for Item 4, for each $e\in E_{\tau _1}$ , we can define an element $d_e:=\sqcap \mathfrak{p}_{\tau _2}^{-1}(g(e))\in \mathfrak{p}_{\tau _2}^{-1}(g(e))$ . By Proposition 4, for each $a\in App(E_{\tau _1})\setminus \mathcal{E}_{\tau _1}$ such that there exists (at least one) $b\in \mathcal{E}_{\tau _1}$ with $b\leq _{\mathit{App}(E_{\tau _1})} a$ , we can define

\begin{equation*} c_a:=\bigsqcup \{d_{\mathfrak{p}_{\tau _1}(b)} \mid b\in \mathcal{E}_{\tau _1} \text{ such that }b\leq _{\mathit{App}(E_{\tau _1})} a \}. \end{equation*}

We define $f\colon \mathit{App}(E_{\tau _1}) \to \mathit{App}(E_{\tau _2})$ for all $a\in \mathit{App}(E_{\tau _1})$ as follows:

(1) \begin{equation} f(a):= \begin{cases} d_{\mathfrak{p}_{\tau _1}(a)} & \text{ if } a\in \mathcal{E}_{\tau _1},\\ c_a & \text{ if } a\notin \mathcal{E}_{\tau _1} \text{ and exists }b\in \mathcal{E}_{\tau _1} \text{ such that } b\leq _{\mathit{App}(E_{\tau _1})} a,\\ \bot _{\mathit{App}(E_{\tau _2})} & \text{ otherwise.} \end{cases} \end{equation}

In the following, we show that $f$ is monotone. Let $a_1, a_2\in \mathit{App}(E_{\tau _1})$ such that $a_1\leq _{\mathit{App}(E_{\tau _1})} a_2$ . If $a_1 \notin \mathcal{E}_{\tau _1}$ and for all $ b\in \mathcal{E}_{\tau _1}$ is not the case that $b\leq _{\mathit{App}(E_{\tau _1})} a$ , then clearly $f(a_1)= \bot _{\mathit{App}(E_{\tau _2})} \leq _{\mathit{App}(E_{\tau _2})} f(a_2)$ . If $a_1, a_2\in \mathcal{E}_{\tau _1}$ , then $f(a_1)=f(a_2)$ by the induction hypothesis for Item 3. If $a_1$ is exact but $a_2$ is not, then clearly $f(a_1) \leq _{\mathit{App}(E_{\tau _2})} f(a_2)$ . If both $a_1, a_2\notin \mathcal{E}_{\tau _1}$ and they are greater than some exact $b\in \mathcal{E}_{\tau _1}$ , then $\{ b\in \mathcal{E}_{\tau _1} \mid b\leq _{\mathit{App}(E_{\tau _1})} a_1 \}\subseteq \{ b\in \mathcal{E}_{\tau _1} \mid b\leq _{\mathit{App}(E_{\tau _1})} a_2 \}$ . Hence, $f(a_1)=c_{a_1} \leq _{\mathit{App}(E_{\tau _2})} c_{a_2}= f(a_2)$ , as desired. It follows that $f\in \mathit{App}({E}_{\!{\tau }})$ . Moreover, it is clear that $f$ sends exact elements to exact elements, that is, $f\in {\mathcal{E}}_{\!{\tau }}$ . For all $e\in E_{\tau _1}$ , $\mathfrak{p}_\tau (f)(e)=\mathfrak{p}_{\tau _2}(f(c))=\mathfrak{p}_{\tau _2}(d_{\mathfrak{p}_{\tau _1}(c)})=\mathfrak{p}_{\tau _2}(d_e)=g(e)$ , where $c$ is some element in the preimage $ \mathfrak{p}_{\tau _1}^{-1}(e)$ . Thus, $\mathfrak{p}_\tau (f)=g$ , as desired.

We proceed to show that Item 3 holds for $\tau$ . Let $f_1, f_2\in {\mathcal{E}}_{\!{\tau }}$ such that $f_1\leq _{\mathit{App}(E_\tau )} f_2$ , and let $e\in E_{\tau _1}$ . We have already shown in Item 1 for $\tau$ that $\mathfrak{p}_\tau$ is well defined. In particular, $\mathfrak{p}_\tau (g)(e)=\mathfrak{p}_{\tau _2}(g(d_1))=\mathfrak{p}_{\tau _2}(g(d_2))$ for all $g\in {\mathcal{E}}_{\!{\tau }}$ and $d_1, d_2\in \mathfrak{p}_{\tau _1}^{-1}(e)$ . By the definition of the order on morphisms, $f_1(d)\leq _{\mathit{App}(E_{\tau _2})} f_2(d)$ for all $d\in \mathcal{E}_{\tau _1}$ . By the induction hypothesis for Item 3, it holds that $\mathfrak{p}_\tau (f_1)(e)=\mathfrak{p}_{\tau _2}(f_1(d))= \mathfrak{p}_{\tau _2}(f_2(d))=\mathfrak{p}_\tau (f_2)(e)$ . Hence, $\mathfrak{p}_\tau (f_1)=\mathfrak{p}_\tau (f_2)$ , as desired.

Finally, we show that Item 4 holds for $\tau$ . Let $g\in {E}_{\!{\tau }}$ . We can construct a morphism $f\in {\mathcal{E}}_{\!{\tau }}$ using the same technique as in (1). By the proof of Item 2, we already have $\mathfrak{p}_\tau (f)=g$ . It remains to show that $f=\sqcap \mathfrak{p}_\tau ^{-1}(g)$ . Let $h\in \mathfrak{p}_\tau ^{-1}(g)$ . First notice that since $\mathfrak{p}_\tau (h)=\mathfrak{p}_\tau (f)=g$ , it holds that for all $e\in E_{\tau _1}$ , $\mathfrak{p}_{\tau _2}(f(l))=\mathfrak{p}_{\tau _2}(h(l))=g(e)$ for all $l\in \mathfrak{p}_{\tau _1}^{-1}(e)$ . In particular, for all $a\in \mathcal{E}_{\tau _1}$ , it holds that $f(a), h(a)\in \mathfrak{p}_{\tau _2}^{-1}(g(\mathfrak{p}_{\tau _1}(a)))$ . Hence, for all $a\in \mathcal{E}_{\tau _1}$ , we have that $f(a)=d_{\mathfrak{p}_{\tau _1}(a)}=\sqcap (\mathfrak{p}_{\tau _2}^{-1}(g(\mathfrak{p}_{\tau _1}(a))))\leq _{\mathit{App}(E_{\tau _2})} h(a)$ . Now let $a\notin \mathcal{E}_{\tau _1}$ such that there exists $b\in \mathcal{E}_{\tau _1}$ such that $b\leq _{\mathit{App}(E_{\tau _1})} a$ . Since we have already shown that $f(c)=d_{\mathfrak{p}_{\tau _1}(c)}\leq _{\mathit{App}(E_{\tau _2})} h(c)$ for all $c\in \mathcal{E}_{\tau _1}$ , it is easy to see that $f(a)=c_a\leq _{\mathit{App}(E_{\tau _2})} h(a)$ . For all the other cases of $a\in \mathit{App}(E_{\tau _1})$ , it is obvious that $f(a)\leq _{\mathit{App}(E_{\tau _2})} h(a)$ . Hence, $f$ is a lower bound of $\mathfrak{p}_\tau ^{-1}(g)$ . Since $f\in \mathfrak{p}_\tau ^{-1}(g)$ , we get $f=\sqcap \mathfrak{p}_\tau ^{-1}(g)$ , as desired.

In most applications of AFT, for approximation spaces of base types, there exists a unique exact element representing an object of a semantics, and Items 3 and 4 of Proposition 5 are trivially verified. However, for higher-order approximation spaces, this is not always the case, as we illustrate in the following example.

Example 1. Let $o$ be the Boolean type, with semantics $E_o:=\langle \{\mathbf{f}, \mathbf{t}\}, \leq _t\rangle$ , where $\leq _t$ is the standard truth order. In standard AFT, we would define the approximation space for $E_o$ to be the bilattice $\mathit{App}(E_o):=\langle E_o \times E_o, \leq _p\rangle$ , with $\leq _p$ the precision order. Then, the semantics for $o\to o$ is the poset of functions from $E_o$ to $E_o$ , and the approximation space for it is the exponential, that is, the set of monotone functions from $\mathit{App}(E_o)$ to itself, ordered pointwise. Clearly, we can set the exact elements of $\mathit{App}(E_o)$ to be $(\mathbf{f}, \mathbf{f})$ and $(\mathbf{t}, \mathbf{t})$ , and $\mathfrak{p}_o$ to send them to $\mathbf{f}$ and $\mathbf{t}$ , respectively. Now consider the following two functions: $f, g\colon \mathit{App}(E_o)\to \mathit{App}(E_o)$ defined by $f(\mathbf{f},\mathbf{t})=(\mathbf{f},\mathbf{t})$ , $g(\mathbf{f},\mathbf{t})=f(\mathbf{f},\mathbf{f})=g(\mathbf{f},\mathbf{f})=f(\mathbf{t},\mathbf{t})=g(\mathbf{t},\mathbf{t})=(\mathbf{t},\mathbf{t})$ , and $f(\mathbf{t},\mathbf{f})=g(\mathbf{t},\mathbf{f})=(\mathbf{t},\mathbf{f})$ . Clearly, both $f$ and $g$ send exacts to exacts; thus, they are exact. Moreover, even though $f\neq g$ , it is easy to see that $\mathfrak{p}_{o\to o}(f)=\mathfrak{p}_{o\to o}(g)=h\colon E_o\to E_o$ , where $h(\mathbf{f})=h(\mathbf{t})=\mathbf{t}$ .

We conclude this section with the definition of consistent elements.

Definition 14. Let ${E}_{\!{\tau }}\in S_{\mathbb{T}}$ . An element $c\in \mathit{App}({E}_{\!{\tau }})$ is consistent if there exists $e\in {\mathcal{E}}_{\!{\tau }}$ such that $c\leq _{ \mathit{App}({E}_{\!{\tau }})} e$ .

Notice that a function of the family $\{\mathfrak{p}_\tau \colon {\mathcal{E}}_{\!{\tau }} \to {E}_{\!{\tau }} \}_{{E}_{\!{\tau }}\in S_{\mathbb{T}}}$ not only determines which element of the semantics an exact element represents, but it also helps understanding what a consistent element is approximating: if $c\in \mathit{App}({E}_{\!{\tau }})$ is consistent and $c\leq _{\mathit{App}({E}_{\!{\tau }})} e$ for some exact $e$ , then $c$ approximates $\mathfrak{p}_\tau (e)$ . Clearly, consistent elements may approximate more than one element of a semantics.

4. An approximation system for standard AFT

In this section, we show how our new framework extends the standard AFT setting to higher-order definitions.

The main building block of an approximation system is the category $\textbf {Approx}$ , containing all the desired approximation spaces. Hence, we start by showing that the approximation spaces used in standard AFT, that is, the square bilattices, form a Cartesian closed category.

First, recall that a square bilattice is a poset of the form $\langle L\times L, \leq _p \rangle$ , where $\langle L, \leq _L\rangle$ is a complete lattice and $\leq _p$ is the precision order, that is, $(x_1, y_1)\leq _p (x_2, y_2)$ iff $x_1\leq _L x_2$ and $y_2\leq _L y_1$ . If we view these objects from a category-theoretic perspective, we can write $\langle L\times L, \leq _p \rangle =\mathcal{L}\times {\mathcal{L}}^{\mathit{op}}$ where $\mathcal{L}:=\langle L, \leq _L\rangle \in \text{Ob}(\textbf {CLat})$ . Hence, we can define the category $\textbf {BiLat}$ of square bilattices as follows:

\begin{align*} \text{Ob}(\textbf {BiLat}):=&\left \{\mathcal{L}\times {\mathcal{L}}^{\mathit{op}}\mid \mathcal{L}\in {\textbf {CLat}}\right \} \\ \text{Mor}(\textbf {BiLat}):=&\left \{f\colon \mathcal{L}_1\to \mathcal{L}_2\mid \mathcal{L}_1, \mathcal{L}_2\in \text{Ob}(\textbf {BiLat}) \wedge f \text{ monotone}\right \} \end{align*}

We will denote an element $\mathcal{L}\times {\mathcal{L}}^{\mathit{op}}$ of $\textbf {BiLat}$ by $\overline {\mathcal{L}}$ .

Lemma 1. The category $\textbf {BiLat}$ is a full subcategory of $\textbf {CLat}$ .

Proof. Clearly, if $\mathcal{L}\in {\textbf {CLat}}$ , then ${\mathcal{L}}^{\mathit{op}}\in {\textbf {CLat}}$ . Since $\textbf {CLat}$ is Cartesian closed, for all $\mathcal{L}\in {\textbf {CLat}}$ , we have that $\mathcal{L}\times {\mathcal{L}}^{\mathit{op}}\in {\textbf {CLat}}$ . We conclude by the definition of $\textbf {BiLat}$ .

By Lemma 1, proving that $\textbf {BiLat}$ is Cartesian closed reduces to show that the following isomorphisms of complete lattices hold for all $\overline {\mathcal{L}_1},\overline {\mathcal{L}_2}\in {\textbf {BiLat}}$ :

  1. 1. $\mathcal{T}\cong \overline {\mathcal{T}}$ , where $\mathcal{T}$ is the terminal object of $\textbf {CLat}$ ,

  2. 2. $\overline {\mathcal{L}_1}\times \overline {\mathcal{L}_2}\cong \overline {(\mathcal{L}_1\times \mathcal{L}_2)}$ ,

  3. 3. $\overline {\mathcal{L}_2}^{\overline {\mathcal{L}_1}}\cong \overline {\mathcal{L}_2^{\overline {\mathcal{L}_1}}}$ .

While the first two isomorphisms are rather straightforward, the latter deserves some attention. Consider a morphism of square bilattices $f$ from $\overline {\mathcal{L}_1}$ to $\overline {\mathcal{L}_2}$ . Since $\overline {\mathcal{L}_2}=\mathcal{L}_2\times {\mathcal{L}_2}^{\mathit{op}}$ , we can write $f$ as a pair $(f_1,f_2)$ of morphisms of complete lattices, where $f_1\colon \overline {\mathcal{L}_1}\to \mathcal{L}_2$ and $f_2\colon \overline {\mathcal{L}_1}\to {\mathcal{L}_2}^{\mathit{op}}$ . It follows easily that $\overline {\mathcal{L}_2}^{\overline {\mathcal{L}_1}}\cong \mathcal{L}_2^{\overline {\mathcal{L}_1}}\times ({\mathcal{L}_2}^{\mathit{op}})^{\overline {\mathcal{L}_1}}$ . Then, the isomoprhism $\varphi \colon \overline {\mathcal{L}_2}^{\overline {\mathcal{L}_1}}\to \overline {\mathcal{L}_2^{\overline {\mathcal{L}_1}}}$ is realized by mapping $f\hat {=}(f_1,f_2)$ to a new pair $\varphi (f):=(f_1,f_2')\in \mathcal{L}_2^{\overline {\mathcal{L}_1}}\times {(\mathcal{L}_2^{\overline {\mathcal{L}_1}})}^{\mathit{op}}=\overline {\mathcal{L}_2^{\overline {\mathcal{L}_1}}}$ , where the second component is defined by $f_2'(x,y):=f_2(y,x)$ . Notice that, since $f_2$ is a monotone function from $\overline {\mathcal{L}_1}$ to ${\mathcal{L}_2}^{\mathit{op}}$ , $f_2'$ is indeed a monotone function from $\overline {\mathcal{L}_1}$ to $\mathcal{L}_2$ . Further details regarding the isomorphisms listed above are contained in the proof of Theorem 1.

Theorem 1. The category $\textbf {BiLat}$ is Cartesian closed.

Proof. Since $\textbf {CLat}$ is Cartesian closed, and $\textbf {BiLat}$ is a full-subcategory of $\textbf {CLat}$ (Lemma 1), it is sufficient to show that the terminal object of $\textbf {CLat}$ is an object of $\textbf {BiLat}$ and that for all $\overline {\mathcal{L}_1}, \overline {\mathcal{L}_2}\in {\textbf {BiLat}}$ , the product $\overline {\mathcal{L}_1}\times \overline {\mathcal{L}_2}$ and the exponential $\overline {\mathcal{L}_2}^{\overline {\mathcal{L}_1}}$ , computed in the category $\textbf {CLat}$ , are also objects of $\textbf {BiLat}$ .

  • Terminal object. There is an obvious isomorphism from the terminal object $\mathcal{T}$ of $\textbf {CLat}$ , that is, the lattice with just one element and trivial order, and the object $\mathcal{T}\times {\mathcal{T}}^{\mathit{op}}\in {\textbf {BiLat}}$ .

  • Product. Let $\overline {\mathcal{L}_1}, \overline {\mathcal{L}_2}\in {\textbf {BiLat}}$ . By Cartesian closedness of $\textbf {CLat}$ , $\overline {\mathcal{L}_1}\times \overline {\mathcal{L}_2}$ is an object of $\textbf {BiLat}$ . We define a function $\varphi \colon \overline {\mathcal{L}_1}\times \overline {\mathcal{L}_2} \to \overline {\mathcal{L}_1\times \mathcal{L}_2}$ by sending an element $((a_1,b_1),(a_2,b_2))$ to $((a_1,a_2),(b_1,b_2))$ . Clearly, $\varphi$ is bijective. Moreover, by the definition of the product order, the following double implications hold for all $a_1,b_1,x_1,y_1\in \mathcal{L}_1$ , and for all $b_1,b_2, x_2,y_2\in \mathcal{L}_2$

    \begin{align*} \begin{split} ((a_1,b_1),(a_2,b_2))&\leq _{\overline {\mathcal{L}_1}\times \overline {\mathcal{L}_2}} ((x_1,y_1),(x_2,y_2))\\[2pt] &\iff (a_1,b_1)\leq _{\overline {\mathcal{L}_1}} (x_1,y_1) \wedge (a_2,b_2)\leq _{\overline {\mathcal{L}_2}} (x_2,y_2) \\[2pt] & \iff a_1\leq _{\mathcal{L}_1} x_1 \wedge y_1\leq _{\mathcal{L}_1} b_1 \wedge a_2\leq _{\mathcal{L}_2} x_2 \wedge y_2\leq _{\mathcal{L}_2} b_2 \\[2pt]& \iff (a_1,a_2)\leq _{\mathcal{L}_1\times \mathcal{L}_2} (x_1,x_2) \wedge (y_1,y_2)\leq _{\mathcal{L}_1\times \mathcal{L}_2} (b_1,b_2) \\[2pt] &\iff ((a_1,a_2),(b_1,b_2))\leq _{\overline {\mathcal{L}_1\times \mathcal{L}_2} } ((x_1,x_2),(y_1,y_2)). \end{split} \end{align*}
    Hence, $\varphi$ and its inverse are monotone functions, that is, morphisms. It follows that $\overline {\mathcal{L}_1}\times \overline {\mathcal{L}_2} \cong \overline {\mathcal{L}_1\times \mathcal{L}_2}\in {\textbf {BiLat}}$ , as desired.
  • Exponential. Let $\overline {\mathcal{L}_1}, \overline {\mathcal{L}_2}\in {\textbf {BiLat}}$ . By Cartesian closedness of $\textbf {CLat}$ , $\overline {\mathcal{L}_2}^{\overline {\mathcal{L}_1}}$ is an object of $\textbf {BiLat}$ . Let $\delta \colon \overline {\mathcal{L}_1}\to \overline {\mathcal{L}_1}$ be the function sending $(x,y)$ to $(y,x)$ . We define a function $\psi \colon \overline {\mathcal{L}_2}^{\overline {\mathcal{L}_1}} \to \overline {\mathcal{L}_1^{\overline {\mathcal{L}_2}}}$ by sending a morphism $f:=(f_1,f_2)$ to $(f_1,f_2\circ \delta )$ , where $f_1\colon \overline {\mathcal{L}_1}\to \mathcal{L}_2$ and $f_2\colon \overline {\mathcal{L}_1}\to {\mathcal{L}_2}^{\mathit{op}}$ are the components of $f$ . Since $f_2$ is an antimonotone function from $\overline {\mathcal{L}_1}$ to $\mathcal{L}_2$ , it is easy to check that $f_2\circ \delta$ is a monotone function from $\overline {\mathcal{L}_1}$ to $\mathcal{L}_2$ , as desired. Clearly, $\varphi$ is bijective. Moreover, by the definition of the pointwise order, the following double implications hold for all $f_1,g_1\in \mathcal{L}_2^{\overline {\mathcal{L}_1}}$ , and for all $f_2,g_2\in ({\mathcal{L}_2}^{\mathit{op}})^{\overline {\mathcal{L}_1}}$

    \begin{align*} \begin{split} (f_1,f_2) &\leq _{\overline {\mathcal{L}_2}^{\overline {\mathcal{L}_1}}} (g_1,g_2)\\[2pt] &\iff \forall (x,y)\in \overline {\mathcal{L}_1}, (f_1(x,y),f_2(x,y))\leq _{\overline {\mathcal{L}_2}} (g_1(x,y),g_2(x,y))\\[2pt] & \iff \forall (x,y)\in \overline {\mathcal{L}_1}, f_1(x,y)\leq _{\mathcal{L}_2} g_1(x,y) \wedge g_2(x,y)\leq _{\mathcal{L}_2} f_2(x,y)\\[2pt] & \iff \forall (x,y)\in \overline {\mathcal{L}_1}, f_1(x,y)\leq _{\mathcal{L}_2} g_1(x,y) \wedge g_2(y,x)\leq _{\mathcal{L}_2} f_2(y,x)\\[2pt] & \iff f_1\leq _{\mathcal{L}_2^{\overline {\mathcal{L}_1}}} g_1 \wedge g_2\circ \delta \leq _{\mathcal{L}_2^{\overline {\mathcal{L}_1}}} f_2\circ \delta \\[2pt] &\iff (f_1, f_2\circ \delta ) \leq _{\overline {\mathcal{L}_1^{\overline {\mathcal{L}_2}}}} (g_1, g_2\circ \delta ). \end{split} \end{align*}
    Hence, $\psi$ and its inverse are monotone functions, that is, morphisms. It follows that $\overline {\mathcal{L}_2}^{\overline {\mathcal{L}_1}} \cong \overline {\mathcal{L}_1^{\overline {\mathcal{L}_2}}}\in {\textbf {BiLat}}$ , as desired.

It is interesting to observe that the approximators used in standard AFT, that is, the symmetric approximators, when viewed in their square bilattice approximator space, correspond to pairs of equal functions, that is, the classic definition of exact pair (Denecker et al. Reference Denecker, Marek, TruszczyŃski and Minker2000). Similarly, a gracefully degrading approximator $A=(A_1, A_2)\colon \overline {\mathcal{L}}\to \overline {\mathcal{L}}$ , that is, such that $A_1(x,y)\leq _{\overline {\mathcal{L}}} A_2(y,x)$ for all $(x,y)\in \overline {\mathcal{L}}$ (Denecker and Vennekens Reference Denecker, Vennekens, Baral, Brewka and Schlipf2007), when viewed in $\overline {\mathcal{L}^{\overline {\mathcal{L}}}}$ is a pair $\varphi (A)=(A_1,A'_2)$ with $A_1\leq _{\mathcal{L}^{\overline {\mathcal{L}}}} A'_2$ , that is, a consistent pair according to the classic definition of AFT.

Thanks to Theorem 1 and ${\textbf {BiLat}}\subseteq {\textbf {CPO}}$ , we can fix $\textbf {BiLat}$ as our approximation category. This can be done for any application in which we want to use standard AFT techniques. Nevertheless, depending on the application at hand, the approximation system may differ. Let us show how to define an approximation system given a language based on a type hierarchy $\mathbb{H}$ . Let $S_{\mathbb{T}}$ be the set of the semantics of types of $\mathbb{H}$ we want to approximate and assume that such semantics are complete lattices, as is usually the case in logic programming. Then, we can inductively define a mapping $\mathit{App}\colon S_{\mathbb{T}} \to \text{Ob}(\textbf {BiLat})$ by setting, for all $\tau \in \mathcal{B}_{\mathbb{T}}$ , $\mathit{App}(E_\tau ):=\overline {E_\tau }$ , and proceed using the conditions in Definition 12. Notice that the base case of the induction is nothing more than what is usually done in standard AFT: from a complete lattice $\langle L, \leq _L\rangle$ we obtain the square bilattice $\langle L^2, \leq _p\rangle$ . The remaining steps are naturally provided by following the Cartesian closed structure of $\textbf {BiLat}$ .

For each base type $\tau \in \mathcal{B}_{\mathbb{T}}$ , the exact elements of $\mathit{App}(E_\tau )$ are defined as in standard AFT: $(x,y)\in \mathit{App}(E_\tau )$ is exact if $x=y$ , that is, $\mathcal{E}_\tau =\{(x,x)\mid x\in E_\tau \}$ . Notice that, since ${\textbf {BiLat}}\subseteq {\textbf {CLat}}\subseteq {\textbf {CJSLat}}$ , the condition 2 in Defintion 12 is satisfied. Finally, for each base type $\tau$ , we define $\mathfrak{p}^0_{\tau }\colon \mathcal{E}_\tau \to E_\tau$ by sending $(x,x)$ to $x$ . Both conditions 2 and 3 in Definition 12 hold since $(\mathfrak{p}^0_{\tau })^{-1}(x)=\{(x,x)\}$ . Hence, we have obtained an approximation system $({\textbf {BiLat}}, \mathit{App}, \{\mathcal{E}_\tau \}_{\tau \in \mathcal{B}}, \{\mathfrak{p}^0_{\tau }\}_{\tau \in \mathcal{B}})$ for $S_{\mathbb{T}}$ .

In standard AFT, we are ultimately interested in the approximation space of interpretations. Given a vocabulary $V$ , $S_{\mathbb{T}}$ can be easily chosen to contain the semantics of the types of the symbols in $V$ and the space of interpretations for $V$ , that is, the complete lattice $\Pi _{s\in V'} E_{t(s)}$ , where $t(s)$ is the type of the symbol $s$ . It follows that the approximation space of interpretations is $\mathit{App}(\Pi _{s\in V'} E_{t(s)})=\Pi _{s\in V'} \mathit{App}(E_{t(s)})\in {\textbf {BiLat}}$ . Clearly, if we restrict to a vocabulary with only symbols of base type, then we retrieve the usual framework of standard AFT.

5. Revised extended consistent AFT

Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) developed an extension of consistent AFT (Denecker et al. Reference Denecker, Marek and TruszczyŃski2003) to generalize the well-founded semantics for classical logic programs to one for programs with higher-order predicates. As already pointed out in Section 2.1, this generalization bears some issues.

In this section, we examine in detail the work of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) under the lenses of our novel categorical framework. First, in Subsection 5.1, we present their extension of consistent AFT with their version of approximation spaces, and we prove that this new class of mathematical objects forms a Cartesian closed category. Then, in Subsection 5.2, we briefly recall the types and semantics used by Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018), and we define an approximation system for it. Thanks to the inductive nature of Cartesian closed categories, from the tuple defining the approximation system, we can effortlessly retrieve the entire, complex hierarchy built by Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018). From the definition of the approximation system, we already obtain a concept of exactness for higher-order objects, which was previously missing in Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018). Finally, in Subsection 5.3, we present our solution to the problem encountered in the work of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) concerning the semantics of logic programs with existential quantifiers. In particular, we propose a new approximator which provides the expected well-founded semantics. We conclude the subsection with two examples of logic programs in which we need to apply an approximate object on another approximate object.

5.1 The approximation category for extended consistent AFT

In consistent AFT (Denecker et al. Reference Denecker, Marek and TruszczyŃski2003), an approximation space is the consistent part of a square bilattice, that is, given a bilattice $\overline {\mathcal{L}}=\langle L\times L, \leq _p \rangle$ , only the subset $\{(x,y)\mid x\leq _L y\}\subseteq \overline {\mathcal{L}}$ of consistent elements is taken into account. Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) extended consistent AFT to a new class of approximation spaces: the sets of the form $L\otimes U:=\{(x,y)\mid x\in L, y\in U, x\leq y\}$ , comprising the consistent elements of the cartesian product between a set $L$ of lower bounds and a set $U$ of upper bounds, where $L$ may differ from $U$ .

In order for the machinery of consistent AFT to work over these new spaces, Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) added some conditions to restrain the possible choices for $L$ and $U$ .

Definition 15. An approximation tuple is a tuple $(L,U\leq )$ , where $L$ and $U$ are sets, and $\leq$ is a partial order on $L\cup U$ such that the following conditions hold:

  1. 1. $\langle L\cup U, \leq \rangle$ has a top element $\top$ and a bottom element $\bot$ ,

  2. 2. $\top , \bot \in L\cap U$ ,

  3. 3. $\langle L, \leq \rangle$ and $\langle U, \leq \rangle$ are complete lattices,

  4. 4. Interlattice Least Upper Bound Property (ILP): for all $b\in U$ and for all $S\subseteq L$ such that for all $x\in S$ , $x\leq b$ , we have $\bigsqcup _L S\leq b$ ,

  5. 5. Interlattice Greatest Lower Bound Property (IGP): for all $a\in L$ and for all $S\subseteq U$ such that for all $x\in S, a\leq x$ , we have $a\leq \sqcap _U S$ .

Definition 16. Let $(L,U, \leq )$ be an approximation tuple. The approximation space (associated with $(L,U,\leq )$ ) is the poset $\langle L\otimes U, \leq _p\rangle$ , where $L\otimes U:=\{(x,y)\mid x\in L, y\in U, x\leq y\}$ , and $\leq _p$ is the partial order defined for all $(x_1,y_1),(x_2,y_2)\in L\otimes U$ by: $(x_1,y_1)\leq _p (x_2,y_2)$ iff $x_1\leq x_2$ and $ y_2\leq y_1$ . We call $\leq _p$ the precision order on $L\otimes U$ .

In the remainder of this subsection, we prove that the new class of approximation spaces defined in Definition 16 forms a Cartesian closed full subcategory of $\textbf {CPO}$ (Theorem 2). First, we define a new category $\textbf {LUcons}$ , with objects the approximation spaces just introduced, as follows:

\begin{align*} \begin{split} \text{Ob}(\textbf {LUcons}):=& \{ \langle L\otimes U, \leq _p\rangle \mid (L,U,\leq ) \text{ is an approximation tuple} \}\\ \text{Mor}(\textbf {LUcons}):=& \{ f\colon A\to B\mid A,B\in \text{Ob}(\textbf {LUcons}) \wedge f \text{ monotone}\}. \end{split} \end{align*}

Theorem 2. The category $\textbf {LUcons}$ is a Cartesian closed full subcategory of $\textbf {CPO}$ .

We split the proof of Theorem 2 into smaller results: first we show that $\textbf {LUcons}$ is a full subcategory of $\textbf {CPO}$ , then we prove it is Cartesian closed.

Proposition 6. Let $L\otimes U\in \text{Ob}(\textbf {LUcons})$ . Then $L\otimes U$ is a cpo.

Proof. Let $L\otimes U\in \text{Ob}(\textbf {LUcons})$ , and $S\subseteq L\otimes U$ a chain. We denote by $p_1\colon L\otimes U\to L$ the function of sets sending $(x,y)$ to $x$ , and by $p_2\colon L\otimes U\to U$ the function sending $(x,y)$ to $y$ . Clearly, $p_1(S)$ and $p_2(S)$ are chains in $\langle L, \leq \rangle$ and $\langle U, \leq \rangle$ , respectively. Since $\langle L, \leq \rangle$ and $\langle U, \leq \rangle$ are lattices, there exist $\bigsqcup _L p_1(S)=:x\in p_1(S)$ and $\sqcap _U p_2(S)=:y\in p_2(S)$ . We now show that $(x,y)\in L\otimes U$ , that is, $x\leq y$ . Let $r\in p_1(S)\subseteq L$ and $q\in p_2(S)\subseteq U$ . Then, there exist $p\in p_1(S)$ and $s\in p_2(S)$ such that $(r,s),(p,q)\in S$ . Since $S$ is a chain, we either have $(r,s)\leq _p(p,q)$ or $(p,q)\leq _p(r,s)$ . In both cases, $s\leq q$ . By the arbitrarity of $q$ and the IGP, $s\leq y$ . By the arbitrarity of $s$ and the ILP, we have $x\leq y$ , as desired. Clearly, $(x,y)=\bigsqcup _{L\otimes U} S\in L\otimes U$ , so it remains to show that $(x,y)\in S$ . Since $x\in p_1(S)$ and $y\in p_2(S)$ , there exist $x'\in p_1(S)$ and $y'\in p_2(S)$ such that $(x,y'), (x',y)\in S$ . By the definitions of $x$ and $y$ , we must have $x'\leq x$ and $y'\geq y$ . Suppose $x' \lt x$ and $y' \gt y$ . Then $(x,y')$ and $(x,y')$ cannot be ordered, which condradicts $S$ being a chain. Hence, either $x=x'$ or $y=y'$ . In any case, $(x,y)\in S$ , as desired.

Corollary 1. $\textbf {LUcons}$ is a full subcategory of $\textbf {CPO}$ .

Proof. Clear from Proposition 6 and the definition of $\text{Mor}(\textbf {LUcons})$ .

Proposition 7. $\textbf {LUcons}$ is a Cartesian closed category.

Proof. Since $\textbf {CPO}$ is Cartesian closed, and $\textbf {LUcons}$ is a full-subcategory of $\textbf {CPO}$ (Corollary 1), it is sufficient to show that the terminal object of $\textbf {CPO}$ is an object of $\textbf {LUcons}$ and that for all $\mathcal{A}, \mathcal{B}\in {\textbf {LUcons}}$ , the product $ \mathcal{A}\times \mathcal{B}$ and the exponential $\mathcal{B}^{\mathcal{A}}$ , computed in the category $\textbf {CPO}$ , are also objects of $\textbf {LUcons}$ .

Let $\mathcal{A}, \mathcal{B}\in {\textbf {LUcons}}$ . Let $(L_{\mathcal{A}}, U_{\mathcal{A}}, \leq _{\mathcal{A}})$ and $(L_{\mathcal{B}}, U_{\mathcal{B}}, \leq _{\mathcal{B}})$ be the approximation tuples of the approximation spaces $\mathcal{A}, \mathcal{B}\in {\textbf {LUcons}}$ . We denote the orders on $\mathcal{A}$ and $\mathcal{B}$ as $\leq _{p,\mathcal{A}}$ and $\leq _{p,\mathcal{B} }$ , respectively.

  • Terminal object. Let $\mathcal{T}=\langle \{\ast \}, \leq \rangle$ be the cpo with one element, that is, the terminal object of $\textbf {CPO}$ . Clearly, $(\{\ast \}, \{\ast \}, \leq )$ is an approximation tuple, and $\mathcal{T}\cong \langle \{\ast \}\otimes \{\ast \}, \leq \rangle$ in $\textbf {CPO}$ . Hence, $\mathcal{T}\in \text{Ob}(\textbf {LUcons})$ .

  • Product. This follows from Proposition 2 and Corollary 1.

  • Exponential. We have to show that $\mathcal{B}^{\mathcal{A}}\in {\textbf {CPO}}$ is isomorphic (in $\textbf {CPO}$ ) to some $\mathcal{C}=L_{\mathcal{C}}\otimes U_{\mathcal{C}}\in {\textbf {LUcons}}$ . Let $L_{\mathcal{C}}:=\hom _{\textbf {CPO}}(\mathcal{A}, \langle L_{\mathcal{B}},\leq _{\mathcal{B}}\rangle )$ , $U_{\mathcal{C}}:=\hom _{\textbf {CPO}}$ $(\mathcal{A}, \langle U_{\mathcal{B}},\geq _{\mathcal{B}}\rangle )$ , and $\leq _{\mathcal{C}}$ be the restriction onto $L_{\mathcal{C}}\cup \ U_{\mathcal{C}}$ of the pointwise extension of $\leq _{\mathcal{B}}$ , namely for all $f,g\in L_{\mathcal{C}}\cup U_{\mathcal{C}}$ ,

    \begin{align*} f\leq _{\mathcal{C}} g \iff \forall x\in \mathcal{A}, f(x)\leq _{\mathcal{B}} g(x) \end{align*}
    We first show that $L_{\mathcal{C}}\otimes U_{\mathcal{C}}$ with the precision order $\leq _{p,\mathcal{C}}$ induced by $\leq _{\mathcal{C}}$ is an object of $\textbf {LUcons}$ . In other words, we show that $(L_{\mathcal{C}}, U_{\mathcal{C}}, \leq _{\mathcal{C}})$ is an approximation tuple.
    1. 1. The morphisms $\bot _{\mathcal{C}}\colon x\mapsto \bot _{\mathcal{B}}$ and $\top _{\mathcal{C}}\colon x\mapsto \top _{\mathcal{B}}$ are the bottom and top element of $L_{\mathcal{C}}\cup U_{\mathcal{C}}$ , respectively.

    2. 2. Clearly, $\bot _{\mathcal{C}},\top _{\mathcal{C}}\in L_{\mathcal{C}}\cap U_{\mathcal{C}}$ .

    3. 3. Since $\langle L_{\mathcal{B}}, \leq _{\mathcal{B}} \rangle$ and $\langle U_{\mathcal{B}}, \leq _{\mathcal{B}} \rangle$ are complete lattices by definition of approximation space, and $\leq _{\mathcal{C}}$ is the pointwise extension of $\leq _{\mathcal{B}}$ , it is straightforward to see that $\langle L_{\mathcal{C}}, \leq _{\mathcal{C}} \rangle$ and $\langle U_{\mathcal{C}}, \leq _{\mathcal{C}} \rangle$ are also complete lattices.

    4. 4. Let $g\in U_{\mathcal{C}}$ , and let $S\subseteq L_{\mathcal{C}}$ such that for all $f\in S$ , $f\leq _{\mathcal{C}} g$ , that is, for all $x\in \mathcal{A}$ we have $f(x)\leq _{\mathcal{B}} g(x)$ . We have to show that $\bigsqcup _{L_{\mathcal{C}}} S\leq _{\mathcal{C}} g$ . Since $g\in U_{\mathcal{C}}$ and $f \in L_{\mathcal{C}}$ , for all $x\in \mathcal{A}$ we have $g(x) \in U_{\mathcal{B}}$ and $S_x:=\{f(x)\mid f\in S\}\subseteq L_{\mathcal{B}}$ . By using the ILP on $\mathcal{B}$ , we get that $\bigsqcup _{L_{\mathcal{B}}} S_x \leq _{\mathcal{B}} g(x)$ , for all $x\in \mathcal{A}$ . It is not difficult to see that $\bigsqcup _{L_{\mathcal{C}}} S(x)=\bigsqcup _{L_{\mathcal{B}}} S_x$ , for all $x\in \mathcal{A}$ . Hence, $\bigsqcup _{L_{\mathcal{C}}} S\leq _{\mathcal{C}} g$ , as desired.

    5. 5. Analogous to Item 4.

    Hence, $\mathcal{C}\in {\textbf {LUcons}}$ . It remains to show that $\mathcal{C}$ is isomorphic to $\mathcal{B}^{\mathcal{A}}$ in $\textbf {CPO}$ . Notice that there is an obvious isomorphism of sets

    \begin{align*} \begin{split} \mu \colon \hom _{\textbf {CPO}}(\mathcal{A}, L_{\mathcal{B}}\times U_{\mathcal{B}})& \to L_{\mathcal{C}}\times U_{\mathcal{C}} \\ f & \mapsto (f_1,f_2), \end{split} \end{align*}
    where $f_1,f_2$ are the two components of $f$ . By the definitions of the orders (notice the inversion of the order $\leq _{\mathcal{B}}$ on $U_{\mathcal{B}}$ in $U_{\mathcal{C}}$ ), it is easy to check that $\mu$ and $\mu ^{-1}$ are both well defined, that is, they send a monotone function to a pair of monotone functions, and a pair of monotone functions to a monotone function, respectively. Now, let $f\in \hom _{\textbf {CPO}}(\mathcal{A}, L_{\mathcal{B}}\times U_{\mathcal{B}})$ . Then
    \begin{align*} \begin{split} f\in \hom _{\textbf {CPO}}(\mathcal{A}, \mathcal{B}) & \iff \forall x\in \mathcal{A}, f(x)\in \mathcal{B}\\ & \iff \forall x\in \mathcal{A}, \mu _1(f)(x)=f_1(x)\leq _{\mathcal{B}} f_2(x)=\mu _2(f)(x)\\ & \iff \mu _1(f)\leq _{\mathcal{C}} \mu _2(f)\\ & \iff \mu (f) \in L_{\mathcal{C}}\otimes U_{\mathcal{C}}. \end{split} \end{align*}
    Analogously, if $(g,h)\in L_{\mathcal{C}}\otimes U_{\mathcal{C}}$ , then $\mu ^{-1}(f,g)\in \hom _{\textbf {CPO}}(\mathcal{A}, \mathcal{B})$ . Hence, by restricting domain and codomain of $\mu$ , we get another isomorphism of sets $\nu \colon \hom _{\textbf {CPO}}(\mathcal{A}, \mathcal{B}) \to L_{\mathcal{C}}\otimes U_{\mathcal{C}}$ . It remains to show that $\nu$ and $\nu ^{-1}$ are monotone. Let $f,g \in \hom _{\textbf {CPO}}(\mathcal{A}, \mathcal{B})$ such that $f\leq _{\mathcal{B}^{\mathcal{A}}} g$ , that is, for all $x\in \mathcal{A}$ , $f(x)\leq _{p,\mathcal{B}} g(x)$ . By the defintion of the precision order, this means that $\nu _1(f)(x) \leq _{\mathcal{B}} \nu _1(g)(x) \leq _{\mathcal{B}} \nu _2(g)(x) \leq _{\mathcal{B}} \nu _2(f)(x)$ for all $x\in \mathcal{A}$ . Hence, $\nu _1(f)\leq _{\mathcal{C}} \nu _1(g)$ and $\nu _2(g)\leq _{\mathcal{C}} \nu _2(f)$ . It follows by definition that $\nu (f)\leq _{p,\mathcal{C}} \nu (g)$ , as desired. The analogous result holds for $\nu ^{-1}$ and can be shown similarly. Therefore, the corresponding morphism $\nu '\colon \mathcal{B}^{\mathcal{A}}\to \mathcal{C}$ between cpo’s is an isomorphism. By Corollary 1, $\mathcal{B}^{\mathcal{A}}\in {\textbf {LUcons}}$ , as desired.

5.2 An approximation system

Thanks to Theorem 2, we can take $\textbf {LUcons}$ as the approximation category for any application in which we wish to apply the version of AFT of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018). Depending on the specific language and semantics at hand, demanded by the application, we would define a different approximation system with $\textbf {LUcons}$ . In this subsection, we present the approximation system for the language $\mathcal{HOL}$ and the semantics used (Charalambidis et al. Reference Charalambidis, Rondogiannis and Symeonidou2018) to tackle higher-order logic programs.

The language $\mathcal{HOL}$ is based on a type hierarchy $\mathbb{H}$ with base types $o$ , the boolean type, and $\iota$ , the type of individuals. The composite types are morphism types obtained from $o$ and $\iota$ . In particular, the types are divided into functional types $\sigma := \iota \mid \iota \to \sigma$ , predicate types $\pi := o\mid \rho \to \pi$ , and parameter types $\rho :=\iota \mid \pi$ . The semantics of the base types are defined as usual: $E_o:=\{\mathbf{t},\mathbf{f}\}$ with the truth order $\mathbf{f}\leq _t \mathbf{t}$ , and $E_\iota =D$ with the trivial order ( $d_1\leq d_2$ iff $d_1=d_2$ ), where $D$ is some fixed domain for individuals. The semantics for composite types are defined following the Cartesian closed structure of $\textbf {POSet}$ . For instance, the semantics of type $o \to o$ is simply the poset of functions from $E_o$ to itself, that is, $E_{o\to o}:=(E_o \to E_o)$ .

Since the ultimate goal of this application is studying the well-founded semantics of higher-order logic programs via AFT, we are interested in the approximation space of Herbrand interpretations. Since Herbrand interpretations fix the value assigned to symbols of functional types, we only need the approximation spaces for the semantics $E_\pi$ , for all predicate types $\pi$ . In other terms, we can focus on the smallest subset $S$ of $\text{Ob}(\textbf {POSet})$ containing $E_\pi$ for all $\pi$ , and closed under generalized product.

Now the definition of a suitable approximation system for $S$ is very straightforward: we just have to define the approximation space $\mathit{App}(E_o)$ , the set of exact elements $\mathcal{E}_o$ , and the projection $\mathfrak{p}_o$ . All the other elements are defined inductively following the Cartesian closed structure of $\textbf {LUcons}$ . We define: $\mathit{App}(E_o):=E_o\otimes E_o=\langle \{(\mathbf{t},\mathbf{t}), (\mathbf{f}, \mathbf{t}), (\mathbf{f},\mathbf{f})\}, \leq _p\rangle$ ; $\mathcal{E}_o=\{(\mathbf{t},\mathbf{t}), (\mathbf{f}, \mathbf{f})\}$ ; and $\mathfrak{p}_o(\mathbf{t}, \mathbf{t}):=\mathbf{t}$ and $\mathfrak{p}_o(\mathbf{f}, \mathbf{f}):=\mathbf{f}$ . Finally, given a vocabulary $V$ for $\mathcal{HOL}$ containing symbols of predicate type, and a program $\mathsf{P}$ over $V$ , the approximation space of Herbrand interpretations of $\mathsf{P}$ is $\mathcal{H}_{\mathsf{P}}:=\mathit{App}\left ( \Pi _{s\in V} E_{t(s)} \right )= \Pi _{s\in V} \mathit{App}(E_{t(s)})\in \text{Ob}(\textbf {Approx})$ , where $t(s)$ is the type of the symbol $s$ .

This greatly simplifies the construction of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018). In particular, notice that the pairs of monotonte-antimonotone and antimonotone-monotone functions they defined are precisely the elements of the exponential objects of $\textbf {LUcons}$ . Moreover, by changing the base types and their semantics, this approximation system can be readily adapted to suit other applications.

In conclusion, it is important to stress that we now have a clear concept of exactness: for the base type $o$ the exact elements are $\mathcal{E}_o=\{(\mathbf{t},\mathbf{t}), (\mathbf{f}, \mathbf{f})\}$ , and for higher-order types, we follow Definition 13. The work of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) lacked a notion of exactness, making it impossible to determine whether a model is actually two-valued; they discussed this question in their future work section. Let us illustrate on their example accompanying the discussion.

Example 2. Let $P$ be a program with the single rule $p(R)\leftarrow R$ , where $p$ is a predicate of type $o\to o$ and $R$ is a variable of type $o$ . The space of interpretations for $p$ is simply $\mathit{App}(E_{o\to o})=\mathit{App}(E_o)^{\mathit{App}(E_o)}$ , that is, all the monotone functions from $\mathit{App}(E_o)=\{(\mathbf{f},\mathbf{t}), (\mathbf{f},\mathbf{f}), (\mathbf{t},\mathbf{t})\}$ to itself, as defined above. By the semantics of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018), the meaning of this program is given by the interpretation $(I,J)$ , where $I(p)(\mathbf{t},\mathbf{t})=J(p)(\mathbf{t},\mathbf{t})=J(p)(\mathbf{f},\mathbf{t})=\mathbf{t}$ , and $I(p)(\mathbf{f},\mathbf{f})=J(p)(\mathbf{f},\mathbf{f})=I(p)(\mathbf{f},\mathbf{t})=\mathbf{f}$ . Since $I\neq J$ , $(I,J)$ is not exact according to the classical definition of AFT (Denecker et al. Reference Denecker, Marek, TruszczyŃski and Minker2000), even though we would expect to find a 2-valued model, that is, the one assigning to $p$ the identity function over $\{\mathbf{f},\mathbf{t}\}$ . Nevertheless, according to our definition, $(I,J)$ is indeed exact: it sends exacts of $E_o$ to exacts of $E_o$ . Furthermore, by the approximation system we defined in this section, it is easy to see that $(I,J)$ represents $\mathfrak{p}_{o\to o}(I,J)=\mathcal{I}\in E_{o\to o}=(E_o\to E_o)$ , where $\mathcal{I}(\mathbf{t})=\mathbf{t}$ and $\mathcal{I}(\mathbf{f})=\mathbf{f}$ , as desired.

5.3 A new approximator

As presented at the end of Section 2.1, the approximator of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) does not provide the expected well-founded semantics for logic programs when there is an existential quantifier in the body of a rule. In this subsection, we propose a new approximator that solves such issue. We achieve this by restricting the set of elements over which certain variables can range. In particular, variables that are arguments of a predicate being defined, that is, in the head of a rule, can range over all the elements of the approximation spaces of the corresponding types: we want to define the approximation of a higher-order predicate also when the argument is an approximation. On the contrary, variables that appear exclusively in the body of a rule do not need to be approximated. In other words, a variable of type $\tau$ that is not argument of any predicate being defined will be forced to range only over the set $ \mathcal{E}_{\tau }$ of exact elements.

Before stating the new definition for the approximator, we briefly recall the full syntax of $\mathcal{HOL}$ . We slightly modify the one presented (Charalambidis et al. Reference Charalambidis, Rondogiannis and Symeonidou2018) to make it less heavy.

The alphabet of $\mathcal{HOL}$ consists of the following: predicate variables/constants of every predicate type $\pi$ ; individual variables/constants of type $\iota$ ; the equality constant $\approx$ of type $\iota \to \iota \to o$ for comparing individuals of type $\iota$ ; the conjunction constant $\wedge$ of type $o\to o\to o$ ; the rule operator constant $\leftarrow$ of type $o\to o\to o$ ; and the negation constant $\sim$ of type $o\to o$ .

Every predicate variable/constant and every individual variable/constant is a term; if $\mathsf{E}_1$ is a term of type $\rho \to \pi$ and $\mathsf{E}_2$ a term of type $\rho$ then $(\mathsf{E}_1\ \mathsf{E}_2)$ is a term of type $\pi$ . Every term is also an expression; if $\mathsf{E}$ is a term of type $o$ then $(\mathord {\sim } \mathsf{E})$ is an expression of type $o$ ; if $\mathsf{E}_1$ and $\mathsf{E}_2$ are terms of type $\iota$ , then $(\mathsf{E}_1\approx \mathsf{E}_2)$ is an expression of type $o$ .

A rule of $\mathcal{HOL}$ is a formula $\mathsf{p}\ \mathsf{R}_1 \cdots \mathsf{R}_n \leftarrow \mathsf{E}_1 \land \ldots \land \mathsf{E}_m$ , where $\mathsf{p}$ is a predicate constant of type $\rho _1 \to \cdots \to \rho _n \to o$ , $\mathsf{R}_1,\ldots ,\mathsf{R}_n$ are distinct variables of types $\rho _1,\ldots ,\rho _n$ , respectively, and the $\mathsf{E}_i$ are expressions of type $o$ . The term $\mathsf{p}\ \mathsf{R}_1 \cdots \mathsf{R}_n$ is the head of the rule and $ \mathsf{E}_1 \land \ldots \land \mathsf{E}_m$ is the body of the rule. For the sake of simplicity, we often write $ \mathsf{E}_1, \ldots , \mathsf{E}_m$ , in place of $ \mathsf{E}_1 \land \ldots \land \mathsf{E}_m$ . A program $\mathsf{P}$ of $\mathcal{HOL}$ is a finite set of rules. A state $s$ of a program $\mathsf{P}$ is a function that assigns to each variable $\mathsf{R}$ of type $\rho$ , an element of $\mathit{App}(E_\rho )$ , if $\rho \neq \iota$ , or an element of $E_\iota =D$ , if $\rho =\iota$ . We denote by $s[\mathsf{R}_1/d_1,\ldots , \mathsf{R}_n/d_n]$ a state that assigns to each $\mathit{R}_i$ the corresponding value $d_i$ and coincides with $s$ on the other variables.

Finally, we provide the definition for the three-valued semantics of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) adapted to the above, slightly modified definitions.

Definition 17. Let $\mathsf{P}$ be a program, $\mathcal{I}$ an interpretation of $\mathsf{P}$ , and $s$ a state. The three-valued semantics of expressions and bodies is defined as follows:

  1. 1. $[\![\mathsf{c}]\!]_{s}(\mathcal{I}) = \mathsf{c}$ , for every individual constant $\mathsf{c}$ ,

  2. 2. $[\![\mathsf{p}]\!]_{s}(\mathcal{I}) = \mathcal{I}(\mathsf{p})$ , for every predicate constant $\mathsf{p}$ ,

  3. 3. $[\![\mathsf{R}]\!]_{s}(\mathcal{I}) = s(\mathsf{R})$ , for every variable $\mathsf{R}$ ,

  4. 4. $[\![(\mathsf{E}_1\ \mathsf{E}_2)]\!]_{s}(\mathcal{I}) =$ $[\![\mathsf{E}_1]\!]_{s}(\mathcal{I})$ $([\![\mathsf{E}_2]\!]_{s}(\mathcal{I}))$ ,

  5. 5. $[\![(\mathsf{E}_1 \bigwedge \mathsf{E}_2)]\!]_{s}(\mathcal{I})=$ $ \sqcap _{\leq _t}\{[\![\mathsf{E}_1]\!]_{s}(\mathcal{I}),$ $ [\![\mathsf{E}_2]\!]_{s}(\mathcal{I})\}$ ,

  6. 6. $[\![(\sim \mathsf{E})]\!]_{s}(\mathcal{I}) = ([\![\mathsf{E}]\!]_{s}(\mathcal{I}))^{-1}$ , with $(\mathbf{t},\mathbf{t})^{-1}\!=\!(\mathbf{f},\mathbf{f})$ , $(\mathbf{f},\mathbf{f})^{-1}\!=\!(\mathbf{t},\mathbf{t})$ and $(\mathbf{f},\mathbf{t})^{-1}\!=\!(\mathbf{f},\mathbf{t})$ ,

  7. 7. $[\![(\mathsf{E}_1\approx \mathsf{E}_2)]\!]_{s}(\mathcal{I}) = \begin{cases} (\mathbf{t},\mathbf{t}), & \text{if } [\![\mathsf{E}_1]\!]_{s}(\mathcal{I}) = [\![\mathsf{E}_2]\!]_{s}(\mathcal{I}) \\ (\mathbf{f},\mathbf{f}), & \text{otherwise} \end{cases}$ .

where $\leq _t$ is the truth order defined by $\mathbf{f}\leq _t \mathbf{u}\leq _t \mathbf{t}$ .

As already explained, we want to restrict a variable appearing only in the body of a rule to range over the elements of $\mathcal{E}_{\tau }$ , with $\tau$ being the type of the variable. We call a state $s$ exact if for all variables $\mathsf{R}$ of type $\tau \neq \iota$ , it holds that $s(\mathsf{R})\in \mathcal{E}_{\tau }$ . We denote by $\mathcal{S}$ the set of exact states.

We have now all the elements to introduce the new approximator, that is, the three-valued immediate consequence operator. For the sake of simplicity, in the following we define $\mathit{App}(E_\iota ):=E_\iota =D$ , even though $E_\iota \notin S$ and has no associated approximation space.

Definition 18. Let $\mathsf{P}$ be a program. The three-valued immediate consequence operator ${\Psi }_{\mathsf{P}} : \mathcal{H}_{\mathsf{P}} \to \mathcal{H}_{\mathsf{P}}$ is defined for every predicate constant $\mathsf{p} : \rho _1 \to \cdots \to \rho _n \to o$ in $\mathsf{P}$ , and for all $d_1 \in \mathit{App}(E_{\rho _1}),\ldots , d_n \in \mathit{App}(E_{\rho _n})$ , as: ${\Psi }_{\mathsf{P}}(\mathcal{I})(\mathsf{p})\ d_1 \cdots d_n = \bigsqcup _{\leq _t}\left \{[\![\mathsf{E}]\!]_{s[\mathsf{R}_1/d_1,\ldots , \mathsf{R}_n/d_n]}(\mathcal{I}) \mid s\in \mathcal{S}\right .$ and $(\mathsf{p}\ \mathsf{R}_1 \cdots \mathsf{R}_n \leftarrow \mathsf{E})$ in $\left .\mathsf{P}\right \}$ .

With Definition 18, we solve the issue linked to existential quantifiers. Let us review the example presented in Subsection 2.1. We considered a program $\mathsf{P}$ with just one rule $\mathsf{p} \leftarrow \mathsf{R}\wedge \sim \mathsf{R}$ , where $\mathsf{p}$ is a predicate constant of type $o$ and $\mathit{R}$ is a variable of type $o$ . Observe that in this case the space of Herbrand interpretations is just $\mathcal{H}_{\mathsf{P}}:= \mathit{App}(E_{o})\in \text{Ob}(\textbf {Approx})$ , as we are only interested in the interpretation of the predicate $\mathsf{p}$ . For all interpretations $\mathcal{I}\in \mathcal{H}_{\mathit{P}}$ , we have

(2) \begin{equation} \begin{split} {\Psi }_{\mathsf{P}}(\mathcal{I})(\mathsf{p}) &= \bigsqcup _{\leq _t}\{ [\![\mathsf{E}]\!]_{s}(\mathcal{I}) \mid s\in \mathcal{S} \text{ and } (\mathsf{p} \leftarrow \mathsf{E}) \text{ in } \mathsf{P}\}= \\ &= \bigsqcup _{\leq _t}\{ [\![\mathsf{R}\wedge \sim \mathsf{R}]\!]_{s}(\mathcal{I}) \mid s\in \mathcal{S} \}= \bigsqcup _{\leq _t}\{ s(\mathsf{R})\wedge s(\mathsf{R})^{-1} \mid s\in \mathcal{S} \}= \\ &= \bigsqcup _{\leq _t}\{ (\mathbf{f},\mathbf{f})\wedge (\mathbf{t},\mathbf{t}), (\mathbf{t},\mathbf{t})\wedge (\mathbf{f},\mathbf{f})\}= (\mathbf{f},\mathbf{f}). \end{split} \end{equation}

Notice that for this specific program $\mathsf{P}$ , both the approximator $ {\Psi }_{\mathsf{P}}$ and the old version (Charalambidis et al., Reference Charalambidis, Rondogiannis and Symeonidou2018) do not depend on the interpretation $\mathcal{I}$ , but only on the states. While the approximator of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018) considered any possible state, even the one sending $\mathsf{R}$ to $ (\mathbf{f},\mathbf{t})$ , ${\Psi }_{\mathsf{P}}$ takes into account only exact states, that is, $\mathsf{R}$ can only be sent to an element of $\mathcal{E}_{o}=\{(\mathbf{f},\mathbf{f}),(\mathbf{t},\mathbf{t})\}$ . This limitation removes the formula $(\mathbf{f},\mathbf{t})\wedge (\mathbf{f},\mathbf{t})=(\mathbf{f},\mathbf{t})$ from the least upper bound computation in (2), which was the one causing the evaluation of $\mathsf{p}$ being $(\mathbf{f},\mathbf{t})$ for the approximator of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018).

Since the approximator $ {\Psi }_{\mathsf{P}}$ does not depend on the interpretation, it is immediate to see that the well-founded operator $\mathcal{S}_{{\Psi }_{\mathsf{P}}}$ coincides with the approximator ${\Psi }_{\mathsf{P}}$ for all $(I,J)\in \mathcal{H}_{\mathsf{P}}$ :

\begin{equation*} \mathcal{S}_{{\Psi }_{\mathsf{P}}}(I,J)= \big (\mathrm{lfp}({\Psi }_{\mathsf{P}}(\cdot , J)_1), \mathrm{lfp}({\Psi }_{\mathsf{P}}(I,\cdot )_2)\big ) =\big ({\Psi }_{\mathsf{P}}(\cdot , J)_1, {\Psi }_{\mathsf{P}}(I,\cdot )_2\big ) ={\Psi }_{\mathsf{P}}(I,J). \end{equation*}

It follows that $\mathcal{S}_{{\Psi }_{\mathsf{P}}}$ does not depend on the interpretation either. Thus, the least fixpoint of $\mathcal{S}_{{\Psi }_{\mathsf{P}}}$ , which corresponds to the well-founded model of $\mathsf{P}$ , is just the interpretation sending $\mathsf{p}$ to $(\mathbf{f},\mathbf{f})$ , resulting in a sensible account for the well-founded sementics. Moreover, observe that this interpretation is also exact by our new definition, and it corresponds to the unique exact stable model of the program $\mathsf{P}$ .

In the remainder of this section, we present two examples that highlight the importance of enabling the application of approximate objects to approximate objects.

Example 3. Consider an undirected graph given by a predicate $\texttt {node}\colon \iota \to o$ , containing all the nodes of the graph, and a predicate $\texttt {edge}\colon \iota \to \iota \to o$ defining the edge relation, which we assume to be symmetric. Some nodes of the graph are marked. We call a set of nodes $S$ a covering if for every marked node $n$ there exists a node in $S$ with an edge to $n$ . Now, suppose that a Player can modify the set of marked nodes by swapping a marked node with a neighboring, unmarked node. The goal of the Player is reached when the set of marked nodes is a covering. At that point, the game is over and the Player cannot swap nodes anymore.

The key predicates of our example are contained in Listing 1. We have defined them in terms of a time parameter $\texttt {T}$ of type $\iota$ , assuming that the Player can only do one swap at a time. In particular, here are the signatures and meanings of the main predicates of Listing 1: $\texttt {swap}\colon \iota \to \iota \to \iota \to o$ indicates whether at a certain time, two nodes are swapped; $\texttt {marked}\colon \iota \to \iota \to o$ represents the set of marked nodes at a specific time (Lines 6 to 8); $\texttt {covering}\colon \iota \to (\iota \to o)\to o$ tells whether at a certain time a set of nodes is a covering (Lines 14, and 15); and $\texttt {gameOver}\colon \iota$ expresses whether the game is over at a certain time (Line 8).

Listing 1. Graph Game.

In the formalization of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018), natural numbers are not taken into account. Thus, we regard the time variable $\texttt {T}$ as an individual variable of type $\iota$ and we limit our example to only three time points, expressed by the individual constants $\texttt {a}, \texttt {b}$ , and $\texttt {c}$ , related by the successor relation $\texttt {succ}\colon \iota \to \iota \to o$ , as expressed in Listing 2. In the same Listing, we also instantiate the nodes and edges of the graph that we chose for this example, and the initial set of marked nodes, that is, $\texttt {marked a}$ .

Listing 2. Instantiation of time points, graph’s nodes and edges, and initial set of marked nodes.

We are only missing the swaps the Player makes at each of the three time points. For example, we could have those listed in Listing 3.

Listing 3. Swaps.

By joining Listings 1, 2, and 3, we obtain a program $\mathsf{P}$ encoding a specific run of the game.

Using the machinery of AFT, we can easily find the well-founded, the stable, the Kripke–Kleene, and the supported models of $\mathsf{P}$ . To obtain the well-founded operator, we compute the least fixpoint of the well-founded operator of the approximator contained in Definition 18 , that is, the least fixpoint of ${\mathcal{S}}_{\!{{\Psi }_{\mathsf{P}}}}\colon (x,y)\mapsto ({S}_{\!{{\Psi }_{\mathsf{P}}}}(y), {S}_{\!{{\Psi }_{\mathsf{P}}}}(x))$ , where ${S}_{\!{{\Psi }_{\mathsf{P}}}}\colon x\mapsto \mathrm{lfp}({{\Psi }_{\mathsf{P}}}_1(\cdot , x))$ is the stable operator Footnote 1 . Since the well-founded operator is monotone, to find its least fixpoint it is sufficient to repeatedely apply the operator starting from the bottom element of its domain, namely the interpretation sending every predicate constant to the bottom element of the respective approximation space. Notice that during the first iterative applications of the well-founded operator, the predicates $\texttt {marked}$ , $\texttt {covering}$ , and $\texttt {gameOver}$ are being defined only for the first time points, that is, they are partially defined. In other words, the three-valued interpretations that we obtain from the first computations leading to the well-founded fixpoint send the aforementioned predicates to approximate objects of the respective approximation spaces. Since $\texttt {marked}$ , $\texttt {covering}$ , and $\texttt {gameOver}$ are all defined by mutual induction, we are forced to apply an approximate object on another approximate object. In particular, in Line 18 of Listing 1, for the definition of $\texttt {gameOver}$ , the predicate $\texttt {covering}$ is applied on $\texttt {marked}$ . Only when the fixpoint is reached, all the predicates being defined will be exact, that is, two-valued.

In Listing 3, we have provided a specific set of swaps the Player makes. We can obtain a more general setup by using choice rules to define the predicate $\texttt {swap}$ , as we do in Listing 4.

Listing 4. Choice Rules.

By joining Listings 1, 2, and 4, we obtain another program $\mathsf{P}'$ , and we can again compute the models of interest via AFT. In particular, now each stable model corresponds to a possible run of the game with starting set of marked nodes $\texttt {marked a}$ . Notice that, because of the choice rules in Listing 4, the well-founded model of $\mathsf{P}'$ leaves most of the predicates undefined.

Example 4. Let us consider a manufacturing company that aims at growing and diversifying its production. We represent raw materials with individual constants of type $\iota$ , and finished products with predicate constants of type $\iota \to o$ , such that if $\texttt {P}$ is any finished product, and $\texttt {M}$ is any raw material, then $\texttt {P M}$ is true if and only if $\texttt {M}$ is necessary to craft $\texttt {P}$ . We denote by $\texttt {materials}\colon \iota \to o$ the predicate corresponding to the set of all raw materials, and by $\texttt {products}\colon (\iota \to o)\to o$ the predicate corresponding to the set of all finished products.

We want to define a predicate $\texttt {production}\colon \iota \to \iota \to o$ (Lines 24 and 26 of Listing 5) that indicates which raw materials the company has to acquire for production at a certain time: $\texttt {production T M}$ is true if and only if the company acquires the material $\texttt {M}$ at time $\texttt {T}$ . As in Example 3 , we regard the time variable $\texttt {T}$ as an individual variable of type $\iota$ and we limit our program in Listing 5 to only three time points, related by the successor relation (Lines 2 to 6). We fix the initial set $\texttt {production a}\colon \iota \to o$ of materials the company starts with. At each time point, the company decides which new materials to acquire: we encode the information about these potential new ingredients with the predicate $\texttt {candidates}\colon \iota \to (\iota \to o)\to o$ (Lines 18 and 20), which takes as argument a time point, that is, an individual variable, and a set of materials, that is, a predicate of type $\iota \to o$ . The selection of new materials the company takes into consideration obeys a few criteria:

  1. 1. Maximize profit: products necessitating more raw materials to be crafted require more expertise and more capital to invest, but they provide more profit. Hence, as time progresses, the company aims at products more and more complex: at time $\texttt {T}$ , a set $\texttt {P}$ of raw materials is a candidate if it can be covered by sets corresponding to some finished products of complexity $\texttt {T}$ (Lines 14, 16, and 18). We assume a constant predicate $\texttt {complexity}\colon (\iota \to o)\to \iota \to o$ indicating the complexity of a product is given.

  2. 2. Cautiousness: producing items using only new materials may be risky and time-consuming, as the manifacturing team has to acquire novel knowledge, and new suppliers for the raw materials need to be found. Hence, the newly accepted products are required to share at least one raw material with a product in production at the previous time point (Lines 8, 14, 16, and 18).

  3. 3. Efficient growth: as time passes and the company produces more complex items, older, simpler products can be put out of production. This is done gradually: if in $\texttt {production T}$ there is still some material that is not needed to craft any product of size $\texttt {T}$ or $\texttt {succ T}$ , then such material will not be in production at the following time point; otherwise, all materials that are not needed to craft any product of size $\texttt {succ T}$ are dropped out of production at time $\texttt {succ T}$ (Lines 20). In other words, all the products with the lowest complexity are dropped.

Finally, $\texttt {production}$ is just the union of all the candidates (Line 24). If there are no candidates at a certain time point, the production does not vary at the next time point, and the company ends its expansion (Lines 22, and 26).

Listing 5. The growth of the manifacturing company.

Note that the symbols $\texttt {Q}$ , $\texttt {R}$ , and $\texttt {S}$ , highlighted in red, are predicate variables of type $\iota \to o$ that are used in a higher-order style in the rules in Lines 8, 10, 16, and 24.

Similarly to what happens for Example 3 , since the predicates $\texttt {candidates}$ and $\texttt {production}$ are defined by mutual induction, they will be fully defined only at the end of the least fixpoint construction. However, in order to define $\texttt {candidates}$ , we need to apply it to $\texttt {production}$ (Line 20). In particular, before reaching the fixpoint, we will need to apply an approximate object, namely $\texttt {candidates}$ , on another approximate object, that is, $\texttt {production}$ .

6. Conclusion

We introduced a novel theoretical framework that provides a mathematical foundation for using the machinery of AFT on higher-order objects. In particular, we defined approximation categories and approximation systems: they employ the notion of Cartesian closedness to inductively construct a hierarchy of approximation spaces for each semantics of the types of a given (higher-order) language. This approach solves the issue of applying approximate objects onto approximate objects and ensures that the approximation spaces have the same mathematical structure at any order of the hierarchy, enabling the application of the same AFT techniques at all levels. Moreover, we defined exact elements of a higher-order approximation space, together with a projection function. This is a non-trivial definition and it is fundamental to obtain a sensible AFT framework, that is, a framework in which we can determine when an object, and in particular a model, is two-valued, and retrieve the elements that are being approximated.

Despite seeming complicated at first, the use of CT not only provides a solid, formal mathematical foundation to work with but also allows to reduce the complexity of proofs. The inductive nature and generality of the definition of an approximation system make it extremely easy to adapt the framework to different languages, types, and semantics, as we only have to modify the base elements of the induction. Such generality enables extending different existing versions of AFT while capturing their common underlying characteristics, as we have shown for standard AFT and the extension of consistent AFT of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018). Moreover, concerning the latter version of AFT mentioned, we have resolved its problematic features. In particular, we provided a novel approximator which behaves properly, even on programs with existential quantifiers in the body of rules, and we defined the concept of exactness, previously missing in the work of Charalambidis et al. (Reference Charalambidis, Rondogiannis and Symeonidou2018), allowing to consider exact stable models.

As far as future work and developments are concerned, it is paramount to notice that by systematically extending present (and possibly future) versions of AFT to the higher-order setting, this paper further enriches the vast body of algebraic results on AFT. In particular, this allows us to make all the already-existing formal results regarding AFT readily available in a higher-order AFT context. This includes, but it is not limited to, stratification results (Vennekens et al. Reference Vennekens, Gilis and Denecker2006; Bogaerts and Cruz-Filipe Reference Bogaerts and Cruz-Filipe2021), grounded fixpoints (Bogaerts et al. Reference Bogaerts, Vennekens and Denecker2015), well-founded induction (Denecker and Vennekens Reference Denecker, Vennekens, Baral, Brewka and Schlipf2007), and strong equivalence (Truszczynski Reference Truszczynski2006). Moreover, in light of this newly established bridge to the higher-order environment, one could explore the possibilities within the application fields where AFT previously succeeded, such as abstract argumentation (Strass Reference Strass2013; Bogaerts Reference Bogaerts2019), active integrity constraints (Bogaerts and Cruz-Filipe Reference Bogaerts and Cruz-Filipe2018), stream reasoning (Antic Reference Antic2020), integrity constraints for the semantic web (Bogaerts and Jakubowski Reference Bogaerts, Jakubowski, Formisano, Liu, Bogaerts, Brik, Dahl, Dodaro, Fodor, Pozzato, Vennekens and Zhou2021), and Datalog (Pollaci Reference Pollaci2025).

Lastly, it may be of interest to research how the developed higher-order semantics and language $\mathcal{HOL}$ presented in Section 5 relate to Hilog and Prolog with meta-predicates (Chen et al. Reference Chen, Kifer and Warren1993). In particular, $\mathcal{HOL}$ and Prolog show two rather different natures: while Prolog is procedural and intensional, the language $\mathcal{HOL}$ provides a declarative and extensional approach. This is indeed not trivial to obtain for the higher-order setting, as it was also pointed out by Rondogiannis and Symeonidou (Reference Rondogiannis and Symeonidou2018).

Acknowledgements

This study was funded by Fonds Wetenschappelijk Onderzoek – Vlaanderen (project G0B2221N and grant V426524N) and by the European Union – NextGenerationEU under the National Recovery and Resilience Plan “Greece 2.0” (H.F.R.I. “Basic research Financing (Horizontal support of all Sciences"), Project Number: 16116).

Competing interests

The authors declare none.

Footnotes

1 The well founded and the stable operator have been briefly introduced in Section 2.1 of the Preliminaries.

References

Antic, C. 2020. Fixed point semantics for stream reasoning. Artificial Intelligence 288, 103370.10.1016/j.artint.2020.103370CrossRefGoogle Scholar
Bogaerts, B. 2019. Weighted abstract dialectical frameworks through the lens of approximation fixpoint theory. In The Thirty-Third AAAI Conference on Artificial Intelligence, AAAI 2019, The Thirty-First Innovative Applications of Artificial Intelligence Conference, IAAI 2019, The Ninth AAAI Symposium on Educational Advances in Artificial Intelligence, EAAI 2019, Honolulu, Hawaii, USA, January 27 - February 1, 2019. AAAI Press, Honolulu, Hawaii, USA, 26862693.Google Scholar
Bogaerts, B., Charalambidis, A., Chatziagapis, G., Kostopoulos, B., Pollaci, S. and Rondogiannis, P. 2024. The stable model semantics for higher-order logic programming. Theory and Practice of Logic Programming 24, 4, 737754.10.1017/S1471068424000231CrossRefGoogle Scholar
Bogaerts, B. and Cruz-Filipe, L. 2018. Fixpoint semantics for active integrity constraints. Artificial Intelligence 255, 4370.10.1016/j.artint.2017.11.003CrossRefGoogle Scholar
Bogaerts, B. and Cruz-Filipe, L. 2021. Stratification in approximation fixpoint theory and its application to active integrity constraints. ACM Transactions on Computational Logic 22, 1, 6:16:19.10.1145/3430750CrossRefGoogle Scholar
Bogaerts, B. and Jakubowski, M. 2021. Fixpoint semantics for recursive SHACL. In Proceedings 37th International Conference on Logic Programming (Technical Communications), ICLP Technical Communications 2021, Porto (virtual event), 20-27th September 2021, Formisano, A., Liu, Y. A., Bogaerts, B., Brik, A., Dahl, V., Dodaro, C., Fodor, P., Pozzato, G. L., Vennekens, J. and Zhou, N., Eds. vol. 345 of EPTCS, Open Publishing Association, 4147.Google Scholar
Bogaerts, B., Vennekens, J. and Denecker, M. 2015. Grounded fixpoints and their applications in knowledge representation. Artificial Intelligence 224, 5171.10.1016/j.artint.2015.03.006CrossRefGoogle Scholar
Charalambidis, A. and Rondogiannis, P. 2023. Categorical approximation fixpoint theory. In Logics in Artificial Intelligence - 18th European Conference, JELIA 2023, Dresden, Germany, September 20-22, 2023, Proceedings 2023, Gaggl, S. A., Martinez, M. V. and Ortiz, M., Eds. vol. 14281 of Lecture Notes in Computer Science, Springer, 515530.Google Scholar
Charalambidis, A., Rondogiannis, P. and Symeonidou, I. 2018. Approximation fixpoint theory and the well-founded semantics of higher-order logic programs. Theory and Practice of Logic Programming 18, 3-4, 421437.10.1017/S1471068418000108CrossRefGoogle Scholar
Chen, W., Kifer, M. and Warren, D. S. 1993. HiLog: A foundation for higher-order logic programming. The Journal of Logic Programming 15, 3, 187230.10.1016/0743-1066(93)90039-JCrossRefGoogle Scholar
Clark, K. L. 1977. Negation as failure. In Logic and Data Bases, Symposium on Logic and Data Bases, Centre d’études et de recherches de Toulouse, Gallaire, H. and Minker, J., Eds. France, New York, Plemum Press, 293322. Advances in Data Base Theory.Google Scholar
Dasseville, I., Van Der Hallen, M., Bogaerts, B., Janssens, G. and Denecker, M. 2016. A compositional typed higher-order logic with definitions. In Technical Communications of the 32nd International Conference on Logic Programming, ICLP 2016 TCs, October 16-21, 2016, Carro, M., King, A., Saeedloei, N. and Vos, M. D., Eds. vol. 52 of OASIcs, Schloss Dagstuhl - Leibniz-Zentrum für Informatik, New York City, USA, 14:114:13.Google Scholar
Dasseville, I., Van Der Hallen, M., Janssens, G. and Denecker, M. 2015. Semantics of templates in a compositional framework for building logics. Theory and Practice of Logic Programming 15, 681695.10.1017/S1471068415000319CrossRefGoogle Scholar
Denecker, M., Bruynooghe, M. and Vennekens, J. 2012. Approximation fixpoint theory and the semantics of logic and answers set programs. In Correct Reasoning - Essays on Logic-Based AI in Honour of Vladimir Lifschitz, Erdem, E., Lee, J., Lierler, Y. and Pearce, D., Eds. vol. 7265 of Lecture Notes in Computer Science, Springer, 178194.10.1007/978-3-642-30743-0_13CrossRefGoogle Scholar
Denecker, M., Marek, V. and TruszczyŃski, M. 2000. Approximations, stable operators, well-founded fixpoints and applications in nonmonotonic reasoning. In Logic-Based Artificial Intelligence, Minker, J., Ed. vol. 597 of The Springer International Series in Engineering and Computer Science, Springer US, 127144.10.1007/978-1-4615-1567-8_6CrossRefGoogle Scholar
Denecker, M., Marek, V. and TruszczyŃski, M. 2011. Reiter’s default logic is a logic of autoepistemic reasoning and a good one, too. In Nonmonotonic Reasoning – Essays Celebrating Its 30th Anniversary, Brewka, G., Marek, V. and Truszczyński, M., Eds. College Publications, 111144.Google Scholar
Denecker, M., Marek, V. W. and TruszczyŃski, M. 2003. Uniform semantic treatment of default and autoepistemic logics. Artificial Intelligence 143, 1, 79122.10.1016/S0004-3702(02)00293-XCrossRefGoogle Scholar
Denecker, M., Marek, V. W. and TruszczyŃski, M. 2004. Ultimate approximation and its application in nonmonotonic knowledge representation systems. Information and Computation 192, 1, 84121.10.1016/j.ic.2004.02.004CrossRefGoogle Scholar
Denecker, M. and Vennekens, J. 2007. Well-founded semantics and the algebraic theory of non-monotone inductive definitions. In Logic Programming and Nonmonotonic Reasoning, 9th International Conference, LPNMR 2007, Tempe, AZ, USA, May 15-17, 2007, Proceedings 2007, Baral, C., Brewka, G. and Schlipf, J. S., Eds. vol. 4483 of Lecture Notes in Computer Science, Springer, Tempe, AZ, USA, 8496.Google Scholar
Fitting, M. 1985. A Kripke-Kleene semantics for logic programs. The Journal of Logic Programming 2, 4, 295312.10.1016/S0743-1066(85)80005-4CrossRefGoogle Scholar
Fitting, M. 2002. Fixpoint semantics for logic programming a survey. Theoretical Computer Science 278, 1-2, 2551.10.1016/S0304-3975(00)00330-3CrossRefGoogle Scholar
Gelfond, M. and Lifschitz, V. 1988. The stable model semantics for logic programming. In Logic Programming, Proceedings of the Fifth International Conference and Symposium, Seattle, Washington, USA, August 15-19, 1988 (2 Volumes) 1988. Kowalski, R. A. and Bowen, K. A., MIT Press, Seattle, Washington, USA, 10701080.Google Scholar
Heyninck, J., Arieli, O. and Bogaerts, B. 2024. Non-deterministic approximation fixpoint theory and its application in disjunctive logic programming. Artificial Intelligence 331, 104110.10.1016/j.artint.2024.104110CrossRefGoogle Scholar
Pelov, N., Denecker, M. and Bruynooghe, M. 2007. Well-founded and stable semantics of logic programs with aggregates. Theory and Practice of Logic Programming 7, 3, 301353.10.1017/S1471068406002973CrossRefGoogle Scholar
Pollaci, S. 2025. Fixpoint semantics for datalogmtl with negation. To appear in Proceedings 41st International Conference on Logic Programming (Technical Communications), ICLP Technical Communications 2025, Rende, Italy, 12-19th September 2025, EPTCS.Google Scholar
Riehl, E. 2017. Category Theory in Context. Dover Publications, Aurora: Dover modern math originals.Google Scholar
Rondogiannis, P. and Symeonidou, I. 2018. Extensional semantics for higher-order logic programs with negation. Logical Methods in Computer Science 14, 2, 124.Google Scholar
Strass, H. 2013. Approximating operators and semantics for abstract dialectical frameworks. Artificial Intelligence 205, 3970.10.1016/j.artint.2013.09.004CrossRefGoogle Scholar
Truszczynski, M. 2006. Strong and uniform equivalence of nonmonotonic theories - an algebraic approach. Annals of Mathematics and Artificial Intelligence 48, 3-4, 245265.10.1007/s10472-007-9049-2CrossRefGoogle Scholar
Van Emden, M. H. and Kowalski, R. A. 1976. The semantics of predicate logic as a programming language. Journal of the ACM 23, 4, 733742.10.1145/321978.321991CrossRefGoogle Scholar
Van Gelder, A., Ross, K. A. and Schlipf, J. S. 1991. The well-founded semantics for general logic programs. Journal of the ACM 38, 3, 620650.10.1145/116825.116838CrossRefGoogle Scholar
Vennekens, J., Gilis, D. and Denecker, M. 2006. Splitting an operator: Algebraic modularity results for logics with fixpoint semantics. ACM Transactions on Computational Logic 7, 4, 765797.10.1145/1183278.1183284CrossRefGoogle Scholar
Figure 0

Listing 1. Graph Game.

Figure 1

Listing 2. Instantiation of time points, graph’s nodes and edges, and initial set of marked nodes.

Figure 2

Listing 3. Swaps.

Figure 3

Listing 4. Choice Rules.

Figure 4

Listing 5. The growth of the manifacturing company.