KI - Künstliche Intelligenz

, Volume 33, Issue 1, pp 9–33 | Cite as

A Brief Survey on Forgetting from a Knowledge Representation and Reasoning Perspective

  • Thomas Eiter
  • Gabriele Kern-IsbernerEmail author
Technical Contribution


Forgetting is an ambivalent concept of (human) intelligence. By definition, it is negatively related to knowledge in that knowledge is lost, be it deliberately or not, and therefore, forgetting has not received as much attention in the field of knowledge representation and reasoning (KRR) as other processes with a more positive orientation, like query answering, inference, or update. However, from a cognitive view, forgetting also has an ordering function in the human mind, suppressing information that is deemed irrelevant and improving cognitive capabilities to focus and deal only with relevant aspects of the problem under consideration. In this regard, forgetting is a crucial part of reasoning. This paper collects and surveys approaches to forgetting in the field of knowledge representation and reasoning, highlighting their roles in diverse tasks of knowledge processing, and elaborating on common techniques. We recall forgetting operations for propositional and predicate logic, as well as for answer set programming (as an important representative of nonmonotonic logics) and modal logics. We discuss forgetting in the context of (ir)relevance and (in)dependence, and explicit the role of forgetting for specific tasks of knowledge representation, showing its positive impact on solving KRR problems.


Forgetting Knowledge representation and reasoning Logic Answer set programming Nonmononotonic reasoning Modal logics Interpolation Relevance Independence 

1 Introduction

Forgetting is an important aspect of the human mind, which manifests itself in different forms and may serve different purposes. In a layman’s view, forgetting can be seen as the process of omitting from one’s memory information or knowledge in such a way that it is no longer present or reproducible. With an ever growing stream of information, bounded memory and short response time suggest that not all information can be kept and treated in the same way. From a cognitive perspective, forgetting is a gradual process in which information that is less used is moved to the background, from which it may eventually disappear; unless this happened, it may be recovered through remembering to the foreground [26]. This basic mechanism helps us to deal with information overload and to put a focus of attention; notably, this is similarly reflected in common computer architectures.

Naturally, forgetting is thus an important aspect for systems of Artificial Intelligence (AI) that aim to model human reasoning capabilities, and in particular for the area of knowledge representation and reasoning (KRR) which aims at formalisms allowing one to process information and knowledge represented in symbolic form. Such formalisms go beyond plain data storages and cater for the possibility to connect pieces of information and make implicit information explicit through semantics evaluation. According reasoning services are of crucial importance in the emerging information society, which has become possible by the advent of the Internet and the World Wide Web. The need for forgetting in this context has already been widely acknowledged. Most notably, according to the EU Court of Justice, each person has the right to be forgotten1 (see also the General Data Protection Regulation (GDPR) 2016/6792 of the European Union (EU), which became recently enforceable as a binding regulation on data protection and privacy for all individuals within the EU and the European Economic Area). In particular, information about a person may be removed from certain webpages on the Internet. Such forgetting is intentional. While humans often forget unintentionally (but they may get aware about having forgotten something), intentional forgetting is also a crucial, but often neglected part of human reasoning. For instance, when focussing on a specific problem, humans blind out (i.e., forget) irrelevant aspects, or when trying to find a solution under restricted conditions, they have to intentionally forget ways of solving the problem in richer environments. These examples make clear that intentional forgetting in humans is a complex cognitive process that involves many aspects of knowledge and reasoning.

In this paper, we consider such operations for intentional forgetting in AI, and more specifically, from a KRR perspective. The latter focuses on logic-based methods and techniques, describing them at the surface without delving into the details of how forgetting operations work (in humans). Forgetting has been studied for many formalisms with similar motivations: reasoning should focus on essential aspects, and forgetting should help to simplify matters in the spirit of Ockham’s Razor, which loosely speaking says “keep things simple whenever possible”3 For instance, a model of a domain, an equational system describing interdependent variables, or explanations for observations should be as simple as possible to not introduce irrelevant details. From a richer information stance, omitting such details can be viewed as forgetting; thus, the latter is deeply connected to other central notions of knowledge representation like irrelevance and equivalence, and plays a crucial role for many reasoning tasks like, e.g., belief change. Notably, forgetting has to be distinguished from abstraction, which is an another important capability of humans to simplify matters: in abstraction, the language for describing information is changed, e.g., when red wines and white wines are merged to wines, while in forgetting the language remains the same or is restricted, e.g. when one forgets about white wines.

We shall consider knowledge bases \(KB\) that consist of formulas in one of various logics, without going into the technical details and full formal definitions; we deliberately remain superficially at the surface to convey the main ideas and emerging properties. The focus will be on classical propositional and first-order predicate logic, but we shall also touch nonmonotonic logic (viz. answer set programs) and modal logic.

As said above, forgetting aims at removing information from a knowledge base. For that, two major types of removal can be distinguished:
  1. 1.

    \(forget ( KB ,\varSigma ')\) formalizes the operation where a part \(\varSigma '\subseteq \varSigma\) of the signature (i.e., the vocabulary) \(\varSigma\) of the knowledge base \(KB\), or in further refinement some formulas over \(\varSigma '\) are suppressed;

  2. 2.

    \(forget ( KB ,\phi )\) formalizes the operation of logically eliminating a formula \(\phi\) from a knowledge base \(KB\).

For example, removal of information about white wine from a knowledge base about food and drinks would be of type 1, while the removal that white wine goes well with fish of type 2. The forgetting operations, as described above, happen at the syntactic level; they have, however, often a semantic counterpart in terms of the models that the knowledge base should have after forgetting, This view gives rise to semantic characterizations (or alternative definitions) of forgetting. While the two types of forgetting are interrelated, it is important to be aware of the difference, and they should be not confused.

Most of the literature in KRR about forgetting is on type 1 forgetting. A very good overview on the history of forgetting in AI is given by van Ditmarsch et al. [24], starting with Boole’s variable marginalisation [10]. More recent works on forgetting in AI are by Lin and Reiter [65], who considered forgetting of ground atoms and relations in a first-order setting; by Lang et al. [60], who contributed an in-depth study on the computational costs of transforming theories by variable forgetting (via the link to independence); by Baral and Zhang [7], who modeled forgetting as ignorance and considered more explicit operators for knowledge and belief; by Wang et al. [84], who presented a forgetting operation for nonmonotonic logic programs; by Ghilardi et al. [36] and Wang et al. [87], who were picking up forgetting in description logics; by Erdem and Ferraris [30] who studied operations for forgetting of resp. abstracting from actions in planning; and by many others.

Type 2 forgetting is quite different from the works mentioned above; it amounts to the operation of contraction in belief change theories like the famous AGM theory Alchourrón et al. [3]. Here the signature of the knowledge base is not reduced, and roughly speaking the contraction version of \(forget ( KB ,p)\) makes the atom p non-derivable, by adjusting the models of \(KB\) and adding further ones in which p is false, if needed; on the other hand, type 1 forgetting of p from the signature will not introduce any new models, but merely makes the existing ones indifferent on p.

The rest of this article is organized as follows. In the next section, we recall some basic notions of knowledge representation and reasoning as needed in the sequel. We then recall approaches to forgetting in different logic-based formalisms, starting with propositional logic (Sect. 3) and followed by predicate logic (Sect. 4), nonmononotonic logic (specifically, answer set programming, Sect. 5), and modal logics (Sect. 6). Afterwards we briefly discuss in Sect. 7 notions that are closely related to forgetting, and then consider in Sect. 8 some applications of forgetting and its relevance for problems in knowledge representation and reasoning. We conclude in Sect. 9 with a summary and discussion of a recent unifying framework by Delgrande [21, 22] for forgetting at the knowledge level, which nicely captures the essence of forgetting: this operation should not lose information about a domain per se, but rather lose the ability to express, or represent, information about the domain.

2 Elements of Knowledge Representation and Reasoning

The field of knowledge representation and reasoning deals with formal representation languages for knowledge and information, including beliefs, that have a clear formal (logical) semantics. The idea is that explicit beliefs are specified in a knowledge base from which implicit beliefs can derived (more or less) in a mechanical way that is amenable to automation. It is linked to the physical symbol system hypothesis by Newell and Simon [75], which says that a physical symbol system [e.g., a computer] has the necessary and sufficient means for intelligent action, and to the knowledge principle of Lenat and Feigenbaum [62], which states that if a program is to perform a complex task well, it must know a great deal about the world in which it operates.

The idea of reasoning in a mechanical way goes back at least to Leibniz, who developed the grand vision of the “calculus ratiocinator” as a general framework for solving a variety of problems such as philosophical disputes by reducing them to calculations; interestingly, Leibniz stressed already the prominent use of symbols in human reasoning (cf. the discussion in Peckhaus [80]). Based on the developments of formal logic that was laid out to provide solid foundation to mathematics, J. McCarthy suggested predicate logic as a tool for expressing and processing information in programs [72], and discussed how to apply this in the context of planning [73].

In a classical-logical environment, knowledge bases are sets \(KB\) of formulas \(\phi\) constructed with a signature\(\varSigma\). Consequences of a \(KB\) are determined by a relation \(KB \vdash \phi\) for formulas \(\phi\) derivable from \(KB\), in a calculus; the set of all consequences of \(KB\) is denoted by \(Cn( KB )\). On the semantic side, models of \(KB\) are interpretations M of \(\varSigma\) in terms of suitable mathematical structures that satisfy \(KB\) (denoted \(M\models KB\)); the set of all models of \(KB\) is denoted by \(Mod( KB )\). Desirably (and as is the case for standard calculi of predicate logic), \(KB \vdash \phi\) coincides with \(KB \models \phi\), i.e., derivability of \(\phi\) from \(KB\) amounts to \(\phi\) being true in all models M of \(KB\).

Example 1

The simple knowledge base
$$\begin{aligned} KB = \{ human(socrates),\; \forall x(human(x)\rightarrow mortal(x)) \} \end{aligned}$$
expresses in predicate logic that Socrates is human, and that all humans are mortal; a possible model of \(KB\) would be \(M =\{ human(socrates) ,\)\(mortal(socrates) \}\), which informally would say that Socrates is human and is mortal are both true; as a so-called Herbrand model, its domain of discourse would just consist of Socrates, while in general, any nonempty set can serve as this domain. As all models of \(KB\) must satisfy also \(mortal(socrates)\) in the classical semantics of predicate logic, we have that \(KB \models mortal(socrates)\). Accordingly we have \(KB \vdash mortal(socrates)\) using inferences rules from predicate calculus: e.g., specialization of the implication yields \(human(socrates)\rightarrow mortal(socrates)\), which together with \(human(socrates)\) yields \(mortal(socrates)\) by modus ponens.

However, reasoning with predicate logic encounters many challenges: First, \(KB \models \phi\) is undecidable in general. Therefore, for effective inference algorithms, fragments of predicate logic have to be found, which for instance has led to the development of description logics [6]. Second, for real-world applications, the capability of dealing with incomplete, inconsistent, and uncertain information is indispensable. Humans are amazingly capable of dealing with imperfect information, as the following example shows.

Example 2

The fact that humans are mortal is common knowledge; moreover most people are convinced that humans (usually) cannot fly. Nevertheless, San Giuseppe da Copertino was eyewitnessed to fly many times (cf. Fig. 1); approved as a miracle, he was beatified by Pope Benedict XIV in 1753. People believed in this without giving up the (imperfect) belief that humans cannot fly, or that they are mortal.

Fig. 1

S. Giuseppe da Copertino in flight at the Basilica of Loreto (Ludovico Mazzanti, 18th c. source: Wikipedia)

The previous example shows a typical case of commonsense reasoning, as done by humans. It appeared that for a mathematical formalization, classical logic is inadequate due to its inherent monotonicity: if a knowledge base \(KB\) entails \(\phi\), then \(KB '\models \phi\) for every \(KB '\) that extends \(KB\). However, incomplete information, as in the previous example may require non-monotonic inference: if we know that Giuseppe da Copertino is human and that humans (normally) do not fly, then we conclude that he can not fly by default; however, when we learn that he indeed can fly, then we revert the conclusion. Technically, after augmenting \(KB\) with the fact \(flies(giuseppe\_da\_copertino)\) to \(KB '\), we no longer can derive \(\lnot flies(giuseppe\_da\_copertino)\).

The field of nonmonotonic reasoning (NMR) has addressed this issue and many respective formalisms have been proposed (cf. [15]). Besides formalisms that extend classial logic by viewing incompleteness in qualitative terms, also quantitative frameworks that allow for nonmonotonic reasoning in a more fine-grained way have been provided by, e.g., probability theory [79], or fuzzy logic [48]. In this article, we focus on answer set programming (ASP) [14, 82], which has become increasingly popular due to availability of a language rich in constructs for declarative knowledge representation and the availability of efficient solvers for evaluation.

An ASP knowledge base (or program) consists of logical IF-THEN rules, in which incomplete information can be expressed via default negation (also known as negation as failure, due to historic reasons). For example, the program
$$ \begin{array}{rl} & student(sam). \\ male(x) \vee female(x) \leftarrow & student(x). \\ single(x) \leftarrow & student(x), not\ married(x). \end{array}$$
represents knowledge about students and their sex and marital status. While the first two statements are self-explanatory, the third expresses a default rule: if a student is not known to be married, then s/he is concluded to be single.

The semantics of an ASP program can be defined in terms of special models (“answer sets”) of the rules cast to classical formulas, where \(\leftarrow\) is turned into logical (material) implication \(\rightarrow\) and not into negation \(\lnot\). The program above has two answer sets, viz. \(M_1 = \{ student(sam)\), \(single(sam) ,\)\(male(sam) \}\), and \(M_2 = \{ student(sam)\), \(single(sam) ,\)\(female(sam) \}\). Accordingly, we infer from them that Sam is single, but we remain agnostic about Sam’s sex, as neither \(male(sam)\) nor \(female(sam)\) is true in every answer set.

Non-monotonic inference relations \(KB \models _n \phi\) lack well-known properties of classical logic in general; in particular, there is no left strengthening, i.e., \(KB \models _n \phi\) does not imply \(KB \cup \{\psi \} \models _n\phi\). In the above example, we may have \(KB \models _n single(sam)\) but \(KB \cup \{ married(sam) \} \not \models _n single(sam)\). Moreover, transitivity fails: \(KB \models _n \phi\) and \(\phi \models _n \psi\) (where \(\phi\) is viewed as a knowledge base) does not imply \(KB \models _n\psi\). For example, in the above example we have \(KB \models _n married(sam)\)\(\leftarrow not\ single(sam)\) and \(married(sam) \leftarrow not\ single(sam)\)\(\models _n married(sam)\), but \(KB \not \models _n married(sam)\).

Another extension of classic logic that is important for knowledge representation are modal logics, which add modal operators such as \(\Box \phi\), \(\Diamond \phi\) to express that \(\phi\) is necessarily (always) true, respectively possibly (sometimes) true. The use of modal logic for expressing knowledge and belief has a long tradition, going back to the influential work of Hintikka [43]; the book of Fagin et al. [31] is a popular source on the topic. In particular, the operator \(K\phi\) is frequently used in order to express that intuitively \(\phi\) is known to be true by the agent, where, e.g., \(\phi =\) “my car is parked at Amnesia lane”. The epistemic state of an agent might include besides ordinary formulas \(\phi\) also formulas like \(K\phi\), \(\lnot K\phi\), or \(K\, \lnot K\phi\), where the latter expresses introspection: the agent knows that it does not know whether \(\phi\) holds. For reasoning in modal logic, inference systems are extended with further axioms that give rise to families of modal logic.

For example, if
$$\begin{aligned} KB= & {} \{ inflagranti \rightarrow guilty, \\&K guilty \vee K\lnot guilty \rightarrow justice, inflagranti \} \end{aligned}$$
is a representation of an agent’s epistemic state, then \(KB\) entails \(justice\): from the first implication and the fact \(inflagranti\) we conclude \(guilty\), from which in turn we conclude \(K guilty\) by necessitation;4 then, by the second implication, we conclude \(justice\).

Semantically, modal logics can be typically characterized in terms of Kripke models [56, 57], which are possible world structures with classical interpretations at each world and transition relations between worlds.

While modal logics are monotonic, nonmonotonic variants have been considered in order to formalize commonsense reasoning; in particular, answer set semantics can be characterized in terms of nonmonotonic modal logic; we refer the interested reader to Marek and Truszczyński [71], Cabalar et al. [17].

3 Forgetting in Propositional Logic

We start our survey with forgetting in propositional logic, where this operation can be traced back to the early days of formal logics. In his seminal work, Boole [10] dealt with exclusion of middle terms (aka variable elimination) as an operation that aims at omitting variables from propositional formulas that are indefinite, or deemed to be irrelevant for a particular context.

Example 3

Assume we have a plain knowledge base about food and drinks, given by
$$\begin{aligned} KB= & {} \{ red\_wine \ \vee \ white\_wine,\, fish \rightarrow white\_wine ,\\&beef \rightarrow red\_ wine\}; \end{aligned}$$
informally, either white wine or red wine should be served, and fish calls for white wine while beef calls for read wine. We now would like to forget about fish because, e.g., we don’t care about fish.

A respective forgetting operation should yield a new (syntactic) knowledge base \(KB '\) that describes the result, in which the variable \(fish\) should no longer occur; clearly, we have to elaborate on the change of meaning for \(KB '\) compared to \(KB\). The key idea is to consider the possible valuations of the variable \(fish\) and to conditionalize the knowledge base \(KB\) on them; this can be achieved by plugging in the possible truth values one by one and joining the results. Let us assume for simplicity that \(KB\) consists of a single formula \(\phi\) (we may simply conjoin all formulas in \(KB\)).

Definition 1

(Propositional Forgetting by Variable Elimination; cf. [10])

For a propositional knowledge base of form \(KB = \{\phi \}\) and a variable p, we let
$$\begin{aligned} forget ( KB , p) = \{ \phi ^+_p \vee \phi ^-_p \} \end{aligned}$$
where \(\phi ^+_p\) (resp. \(\phi ^-_p\)) is \(\phi\) with p replaced by \(\top\) =’true’ (resp., \(\bot\) = ’false’).

Lin [64] observed that this notion of forgetting has been re-discovered several times, e.g. in the database context [88]; it appeared in AI then in the landmark papers [60, 65]. Let us consider our example again.

Example 4

(Ex. 3, cont’d) We rewrite our knowledge base to \(KB = \{\phi \}\), where \(\phi = (r\vee w) \wedge (f \rightarrow w) \wedge (b \rightarrow r)\), where we use the abbreviations \(r, w, f, b\) for \(red\_wine ,\)\(white\_wine ,\)\(fish\), \(beef\), respectively. Then,
$$\begin{aligned}&forget ( KB , f) \\&\quad = \{\, \phi ^+_{f} \vee \phi ^-_{f}\,\}\\&\quad = \{\, \big [(r\vee w) \wedge (\top \rightarrow w) \wedge (b \rightarrow r)\big ]\\&\qquad \vee \big [(r\vee w) \wedge (\bot \rightarrow w) \wedge (b \rightarrow r)\big ]\}\\&\quad =\{\, \big [(r\vee w) \wedge w\wedge (b \rightarrow r)\big ] \vee \big [(r\vee w) \wedge (b \rightarrow r)\big ]\,\}\\&\quad = \{\, (r\vee w) \wedge (b \rightarrow r)\,\}. \end{aligned}$$
Here, “=” on the second and the following lines means logical equivalence, where the latter result by rewriting using laws of Boolean logic.
After forgetting, the semantics of a knowledge base has changed, too, but we expect the models of the posterior knowledge base to be similar to those of the prior knowledge base. More precisely, semantic changes should affect only the forgotten variable p. This gives rise to the following notion of similarity \(\sim _p\) defined between models \(M_1\) and \(M_2\):
$$\begin{aligned} \begin{array}{l} M_1 \sim _p M_2\\ \quad \Leftrightarrow M_1\hbox { and }M_2\hbox { agree on all variables except possibly }p \end{array} \end{aligned}$$
In propositional logic, models respectively interpretations M assign each variable one of the Boolean values true or false; as common, we view M as the set of variables that are assigned true in it. In our example above, e.g. \(M_1 = \{r,w,f\}\) is a model of \(KB\), and for \(M_2 = \{r,w\}\) we have \(M_1 \sim _{f} M_2\). The models of a knowledge base after forgetting are then as follows.

Proposition 1

(Semantic Characterization of Forgetting) For a knowledge base\(KB = \{\phi \}\)on signature\(\varSigma\)and a variable\(p\in \varSigma\), we have for\(\varSigma '=\varSigma \setminus \{p\}\)that
  1. (i)

    \(Mod_\varSigma ( forget ( KB , p)) = \{M_1 \mid M_1 \sim _p M_2\)for some\(M_2 \in Mod_\varSigma ( KB )\}\),

  2. (ii)

    \(Mod_{\varSigma '}( forget ( KB , p)) = \{M|_{\varSigma '} \mid M \in Mod_\varSigma ( KB )\}\).


(Here the subscript of Mod indicates the signature of concern.) That is, (i) purges all information on p in models of \(KB\) while (ii) projects p off.

Example 5

(Ex. 4, cont’d) We apply Proposition 1 to Example 4. In this case, we have \(\varSigma ' = \varSigma \setminus \{f\}\) and \(Mod( KB ) = \{ \{ r\}, \{ w\}, \{ r, w\}, \{b, r\}, \{b, r, w\}, \{f, w\}, \{f, w, r\}, \{f, b, w,\)\(r\} \}\). Proposition 1 yields
  1. (i)

    \(Mod_\varSigma ( forget ( KB , f)) = Mod( KB ) \cup \{ \{f, r\}, \{f, b, r\} \}\), and

  2. (ii)

    \(Mod_{\varSigma '}( forget ( KB , f)) = \{ \{ r\}, \{ w\}, \{ r, w\}, \{b, r\}, \{b, r,\)\(w\} \}\).


A disadvantage of this forgetting operation is that \(KB\) must be a single formula. We can easily extend this to a finite set of formulas \(KB = \{\phi _1,\ldots , \phi _n \}\), for which \(forget ( KB ,p)\) is (by taking \(\phi = \phi _1\wedge \cdots \wedge \phi _n\) as described) logically equivalent to \(\{ {\phi _i}^+_p \vee {\phi _j}^-_p \mid 1 \le i,j \le n \}\); moreover, we can further extend this to arbitrary (possibly infinite) knowledge bases \(KB\) by setting \(forget ( KB ,p) = \{ \phi ^+_p \vee \psi ^-_p \mid \phi , \psi \in KB \}\); the semantic characterization in Proposition 1 remains valid.

Proposition 2

(Semantic characterization of forgetting (extended)) For any (possibly infinite) knowledge base\(KB\)on signature\(\varSigma\)and a variable\(p\in \varSigma\), we have for\(\varSigma '=\varSigma \setminus \{p\}\)that
  1. (i)

    \(Mod_\varSigma ( forget ( KB , p)) = \{M_1 \mid M_1 \sim _p M_2\)for some\(M_2 \in Mod_\varSigma ( KB )\}\),

  2. (ii)

    \(Mod_{\varSigma '}( forget ( KB , p)) = \{M|_{\varSigma '} \mid M \in Mod_\varSigma ( KB )\}\).


(We omit proofs in this survey, but the interested reader is invited to check this result which does not require advanced skills.) Simplifications may be applied, e.g. if p does not occur in \(\phi {\in KB }\), we can just leave it untouched, i.e., we have \(forget ( KB ,p) = forget ( KB \setminus \{\phi \},p) \cup \{\phi \}\).

By resorting to a special form of knowledge bases, alternatives such as the following are viable. A knowledge base is in clausal form (or conjunctive normal form), if all its formulas are clauses, i.e., disjunctions \(\gamma = \ell _1\vee \cdots \vee \ell _m\) of literals, which are variables p or their negations \(\lnot p\).

Definition 2

(Propositional Forgetting, Alternative; [21] ) For any propositional \(KB\), and propositional atom p, define
$$\begin{aligned}&forget'( KB ,p)\\&\quad = \{ \gamma \in CNF ( KB ) \mid p\hbox { does not occur in }\gamma \}\\&\qquad \cup \ Res( CNF ( KB ),p), \end{aligned}$$
where \(CNF ( KB )\) is an arbitrary clausal form of \(KB\), and Res(Sp) is the set of all resolvents of clauses in \(KB\) w.r.t. p, i.e., \(Res(S,p) = \{ \alpha \vee \beta \mid \alpha \vee p, \beta \vee \lnot p \in S \}\).

This operation also works for infinite knowledge bases \(KB\), as every formula can be converted using Boolean laws into an equivalent set of clauses and thus \(CNF ( KB )\) always exists; however this conversion may cause an exponential blowup in general.

Example 6

In Example 3, \(KB\) is easily converted to clausal form by turning the implications \(\alpha \rightarrow \beta\) into clauses \(\lnot \alpha \vee \beta\); thus we obtain \(CNF ( KB )= \{ r\vee w,\, \lnot f \vee w,\, \lnot b \vee r\}\). As f occurs only in a single clause, \(Res( CNF ( KB ),f) = \emptyset\) and thus
$$\begin{aligned} forget'( KB , f)= & {} \{ r\vee w,\, \lnot b \vee r\} \cup Res( CNF ( KB ),f)\\= & {} \{ r\vee w,\, \lnot b \vee r\}. \end{aligned}$$

There exists another characterization of forgetting in terms of clauses that does not refer to the syntax of the formulas in the knowledge base, but to its logical consequences. A clause \(\gamma \ne \top\) is a prime implicate of a knowledge base \(KB\), if \(KB \models \gamma\) and \(KB \not \models \gamma '\) for every proper subclause \(\gamma '\) of \(\gamma\) that results by omitting some literals.

Proposition 3

(Prime Implicate Characterization; cf. [60, 64]) For any propositional\(KB\), and propositional atomp,
$$\begin{aligned}&forget ( KB ,p) \\&\quad = \{ \gamma \mid \gamma \hbox { is a prime implicate of } KB \ \hbox{s.t. } p\hbox { does not occur in }\gamma \}. \end{aligned}$$

Example 7

(Ex. 5, cont’d) Recall that the knowledge base in Example 3 can be viewed in clausal form as \(CNF ( KB )= \{ r\vee w,\, \lnot f \vee w,\, \lnot b \vee r\}\). Each of the clauses in this set is in fact a prime implicate of \(KB\); and it appears that no further prime implicate exists. Thus, according to Proposition 3, we obtain that \(forget ( KB ,f) = \{ r\vee w,\, \lnot b \vee r\}\), which coincides with \(forget '( KB ,f)\).

In order to forget multiple variables, the operation \(forget ( KB ,p)\) can be simply iterated: \(forget ( forget ( KB ,p_1),p_2)\) forgets first \(p_1\), then \(p_2\). For any sequence \(\sigma = p_1,p_2,\ldots ,p_k\) of variables, let \(forget ( KB ,\sigma ) = forget ( forget ( KB ,\sigma '),p_k)\) where \(\sigma '=p_1,\ldots ,p_{k-1}\) and \(forget ( KB ,\epsilon )= KB\) (with \(\epsilon\) the empty sequence).

Example 8

(Ex. 4, cont’d) We continue Example 4, where \(KB = \{\phi \}\), and \(\phi = (r\vee w) \wedge (f \rightarrow w) \wedge (b \rightarrow r)\). Let us forget all food with \(\sigma = f,b\); then
$$\begin{aligned} forget ( forget ( KB , f),b)= & {} \{ forget (\{(r\vee w) \wedge (b \rightarrow r)\},b)\}\\= & {} \{[(r\vee w) \wedge (\top \rightarrow r)]\\&\quad \vee [(r\vee w) \wedge (\bot \rightarrow r)]\}\\= & {} \{\, r\vee w\,\}. \end{aligned}$$
Notably, if we change the order of food to \(\sigma =b,f\) then \(forget ( forget ( KB ,b),f)\) yields the same (logically equivalent) result.

That the order of variables does not matter in the previous example is not by accident; it is one of the important properties of iterated forgetting. The seminal paper of Lin and Reiter [65] contains, in explicit form or as easy consequences, this and the following properties of forgetting.

Proposition 4

(Properties of Variable Forgetting; [65]) For any\(KB\)and sequence\(\sigma = p_1,\ldots ,p_k\)of variables,
  1. (i)

    for any permutation\(\sigma '\)of\(\sigma\), it holds that\(forget ( KB ,\sigma )\)and\(forget ( KB ,\sigma ')\)are logically equivalent, i.e.,\(Mod( forget ( KB ,\sigma )) = Mod( forget ( KB ,\sigma '))\)(order independence)

  2. (ii)

    \(KB \models forget ( KB ,\sigma )\) (over-approximation)

  3. (iii)

    if \(\psi\) is a formula such that no \(p_i\) occurs in it, then \(KB \models \psi\) \(\Leftrightarrow\) \(forget ( KB ,\sigma ) \models \psi\) (consequence invariance)


Thus, by (i) forgetting a set V of variables boils down to iterative forgetting, and from the semantic view, we can simply write \(forget ( KB ,V)\). By (ii) all models of \(KB\) are preserved but new ones may be added, and by (iii) the consequences not mentioning any forgotten variable do not change. However, \(forget ( KB ,\sigma )\) may grow exponentially, even if we use a variant of \(forget ( KB ,p)\) that simplifies respectively rewrites the result in polynomial time: after forgetting all variables \(p_1,\ldots ,p_n\) from \(KB\), the knowledge base is variable-free and thus either a tautology (if \(KB\) is satisfiable) or a contradiction (if \(KB\) is unsatisfiable); thus some intermediate \(forget ( KB ,p_1,\)\(\ldots ,p_i)\) must be exponential in the size of \(KB\), unless \(NP=P\).

Variable forgetting aims at eliminating any occurrence of a variable. A more fine-grained extension considered by Lang et al. [60] is to forget literals, where an atom p and its negation \(\lnot p\) are distinguished. Let for any formula \(\phi\), literal l and \(b\in \{0,1\}\) the expression \(\phi _{l\leftarrow b}\) stand for \(\phi _{p \leftarrow b}\) (resp. \(\phi _{p\leftarrow 1-b}\)) if l is a positive literal \(l=p\) (resp. negative literal \(l=\lnot p\)).

Definition 3

(Propositional Literal Forgetting; [60]) For a propositional \(KB = \{\phi \}\), a literal l, and a set \(L = \{ l_1,\ldots , l_k\}\) of literals, let
  • \(forgetLit ( KB , l) \,=\, \{ \phi |_{l\leftarrow 1} \vee ( \lnot l\wedge \phi )\}\), and

  • \(forgetLit ( KB , L) \,=\, forgetLit ( forgetLit ( KB ,L\setminus \{l\}),l)\) for any literal \(l\in L\), where \(forgetLit ( KB ,\emptyset )= KB\).

This definition is sound, as is does semantically not matter which literal l from L is chosen, i.e., as above we have order independence. Furthermore, one could equivalently replace in \(forgetLit ( KB ,l)\) the disjunct \(\lnot l\wedge \phi\) by \(\lnot l\wedge \phi |_{l\leftarrow 0}\). Let us consider how literal forgetting works on our food and drink knowledge base.

Example 9

(Ex. 4, cont’d) We continue Example 4 with \(KB = \{\phi \}\) and \(\phi = (r\vee w) \wedge (f \rightarrow w) \wedge (b \rightarrow r)\), and forget the literal \(l= fish\) rather than the variable \(p = fish\):
$$\begin{aligned}&forgetLit ( KB , f) \\&\quad = \{\phi |_{f\leftarrow 1} \vee (\lnot f \wedge \phi )\}\\&\quad = \{[(r\vee w) \wedge (\top \rightarrow w) \wedge (b \rightarrow r)] \\&\qquad \,\vee \, [\lnot f\wedge (r\vee w) \wedge (f \rightarrow w) \wedge (b \rightarrow r)]\}\\&\quad = \{[ w\wedge (b \rightarrow r)] \vee [\lnot f\wedge (r\vee w) \wedge (b \rightarrow r)]\}\\&\quad = \{[(w\vee \lnot f\wedge r\vee \lnot f \wedge w] \wedge (b \rightarrow r)\}\\&\quad = \{(w\vee \lnot f \wedge r) \wedge (b \rightarrow r)\}. \end{aligned}$$
Notably, the result is different from \(forget ( KB ,f)\); it still mentions f, but in a negative occurrence. Semantically, \(forgetLit ( KB ,f)\) has less models than \(forget ( KB ,f)\)).

This last observation is not by accident, and the models of \(forgetLit ( KB ,L)\) always form a subset of the models of \(forget ( KB ,L)\). Semantically, literal forgetting can be characterized in terms of model similarity as follows.

Proposition 5

(Semantic characterization of literal forgetting; [60]) For any knowledge base\(KB\)and setLof literals, the models of\(forgetLit ( KB ,L)\)are expressed by
$$\begin{aligned} \begin{array}{l} Mod( forgetLit ( KB ,L)) \\ \quad = \{ M_1 \mid M_1 \sim _{\{p_1,\ldots ,p_{k'}\}} M_2,\\ \ \qquad L' = \{(\lnot )p_1, \ldots (\lnot )p_{k'} \} \subseteq L,\ M_2 \models KB \cup L' \}. \end{array} \end{aligned}$$

That is, all models \(M_1\) are collected such that by changing the truth values of some atoms \(p_i\) (if needed) to satisfy all \(l_i\), we obtain a model \(M_2\) of \(KB\). Note that \(M_1\) is a model of \(forget ( KB ,\{p_1,\ldots ,p_{k'}\})\), and thus clearly of \(forget ( KB ,V)\) where V are all variables occurring in L. Thus as said above, literal forgetting is stronger than variable forgetting. Further characterisations are possible; e.g. the one for variable forgetting in Proposition 3 extends to literal forgetting.

Among the properties of literal forgetting, the following ones are particularly noticable.

Proposition 6

(Properties of literal forgetting; [60]) For any\(KB = \{ \phi \}\)and setLof literals, the followingproperties hold:
  1. (i)

    \(KB \models forgetLit ( KB ,L)\),

  2. (ii)

    if\(L \subseteq L'\)then\(forgetLit ( KB ,L) \models forgetLit ( KB ,L')\),

  3. (iii)

    if\(KB \models KB '\)then\(forgetLit ( KB ,L) \models forgetLit ( KB ',L)\),

  4. (iv)

    if\(L = \{p, \lnot p \}\), then\(forgetLit ( KB ,L)\)is equivalent to\(forget ( KB ,p)\),

  5. (v)

    if\(KB\)is of the form\(KB = KB _1 \vee KB _2\), i.e.,\(\phi =\phi _1\vee \phi _2\)where\(KB _1 = \{ \phi _1\}\)and\(KB _2 = \{ \phi _2\}\), then\(forgetLit ( KB ,\)\(L) = forget( KB _1,L) \vee forget ( KB _2,L)\)


Item (i) ensures that all models of \(KB\) are preserved, and thus \(forgetLit ( KB ,L)\) is an over-approximation of \(KB\); item (ii) ensures that the latter increases if more literals are forgotten, and item (iii) that it decreases if \(KB\) is logically strengthened (e.g. by adding formulas). Next, by item (iv) forgetting a variable amounts to forgetting both its positive and negative literal form. Finally, (v) states that forgetting literals commutes with disjunction, which allows us to (iteratively) decompose formulas for forgetting. Item (iii), which is not explicit in Lang et al. [60], is in fact an easy consequence of (v).

Example 10

(Ex. 9, cont’d) We reconsider the knowledge base \(KB\) from Example 4 and forget both f and \(\lnot f\), i.e., \(L = \{f,\lnot f\}\); then
$$\begin{aligned}&forgetLit ( KB , \{ \lnot f, f\})\\&\quad = forgetLit ( forgetLit ( KB , f), \lnot f) \\&\quad = forgetLit (\phi , \lnot f), \text {\, where \,} \phi = (w\vee \lnot f \wedge r) \wedge (b \rightarrow r)\\&\quad = \{\phi |_{\lnot f\leftarrow 1} \vee {\lnot \lnot f} \wedge \phi \}\\&\quad = \{ [(w\vee \top \wedge r) \wedge (b \rightarrow r)] \vee [f \wedge (w\vee \lnot f \wedge r) \wedge (b \rightarrow r)]\\&\quad = \{ [(w\vee r) \wedge (b \rightarrow r)] \vee [f \wedge w\wedge (b \rightarrow r)]\\&\quad = \{ (w\vee r\vee f \wedge w) \wedge (b \rightarrow r)\\&\quad = \{ (w\vee r) \wedge (b \rightarrow r)\}. \end{aligned}$$
Thus, the result of \(forgetLit ( KB , \{ \lnot f, f\})\) is the same as of \(forget ( KB ,f)\) in Example 4, in line with Proposition 6.

For more information on variable and literal forgetting, we refer to Lang et al. [60].

The forgetting operations above fall into type 1 of the classification in the Introduction, which aims at suppressing certain formulas over part of the signature. The type 2 forgetting operations are concerned with eliminating formulas from a knowledge base, such that they are no longer among the consequences that can be derived from it. This is the very subject of the area of Belief Change, in which Alchourrón et al. [3] presented a theoretical framework for belief change in a landmark paper. AGM theory considers change operations on deductively closed theories like revision (adopting beliefs) and contraction (giving up beliefs) and their interrelationships, describing by sets of postulates what they deem to be a rational belief change. For example, AGM contractions should be successful, i.e., the belief to be contracted cannot be derived after contraction, and the result of contraction should not depend upon the specific syntactic form of the belief to be given up. The basic form of AGM contraction deals with forgetting a singleton formula, more general forms aiming to forget a set of formulas have also been developed (for a good introduction to so-called multiple contraction, cf., e.g., [33]). Likewise, belief contraction has also been considered for belief bases (which are not necessarily deductively closed) [41], and thus are closer to the knowledge bases considered here, or for epistemic states [47, 53].

In order to illustrate the difference between contraction and forgetting, consider the knowledge base \(KB = \{ w \vee r,\)\(f\rightarrow w\), \(b\rightarrow r\}\). AGM contraction of f from \(KB\) would not change \(KB\) at all because f cannot be entailed from \(KB\), whereas forgetting the variable f would result in \(KB ' = \{ w \vee r,\)\(b\rightarrow r\}\). This can also be achieved by contraction via contracting \(KB\) with, e.g., \(f\rightarrow w\), by simply dropping the formula. However, while in this case, forgetting the variable f yields the same result, this is no longer so if \(KB\) would contain in addition \(\lnot f \rightarrow w\): then \(KB\) would entail w and while forgetting f would leave \(KB\) semantically unchanged, contracting \(f\rightarrow w\) from \(KB\) would have to make w non-entailed.

Therefore, it seems that the relationship between forgetting and contraction is complicated and needs further investigations. As in the context of KRR, forgetting typically refers to type 1 operations, we focus on this type in the following.

4 Forgetting in Predicate Logic

In this section, we turn to forgetting in the setting of first-order predicate logic (FOL), where we shall first consider how to forget facts, relations and individuals in a general setting, and then look into description logics as a premier family of fragments of FOL for decidable reasoning.

4.1 Forgetting Facts

Lin and Reiter [65] considered forgetting in the context of FOL; more precisely, they considered forgetting facts\(p=P(\mathbf {t})\), where \(\mathbf {t}=t_1,\ldots ,t_k\) is a tuple of terms, and relations (predicates)P from a (finite) knowledge base \(KB\).

Example 11

[65] Suppose we have the plain knowledge base \(KB = \{ student( John ) \vee student( Joe )\)\(\vee teacher( John ) \}\) and we want to forget about the fact \(p = student( John )\) respectively the predicate \(P = student\). In the following, we may shorten \(student\) to \(stud\) and \(teacher\) to \(teach\).

The key idea is to view propositional forgetting as a special case: a propositional variable p amounts to a 0-ary predicate P (i.e., \(p=P(\mathbf {t})\) where \(\mathbf {t}\) is void), and one lifts variable elimination to first-order logic. However, a naive syntactic replacement of \(P(\mathbf {t})\) by its valuation to true resp. false is not guaranteed to achieve semantic indifference, as expressed by similarity relations between models; this is because \(\mathbf {t}\) may be accessed indirectly in the evaluation of atoms over P.

For example, forgetting P(a) from \(\phi = \forall x.P(x)\) should yield models in which P(x) is true for all elements x different from a, for which the value of P should remain open; however, as P(a) does not occur in \(\phi\), a replacement as in Definition 1 would leave \(\phi\) semantically unchanged.

For this reason, we replace in \(\phi\) every atom of the form \(P(\mathbf {t'})\) by the logically equivalent formula \([\mathbf {t'}\,{=}\,\mathbf {t} \,{\wedge }\, P(\mathbf {t})]\,{\vee }\,\)\([\mathbf {t'}\,{\ne }\,\mathbf {t}\,{\wedge }\, P(\mathbf {t'})]\), where \(\mathbf {t'}=\mathbf {t}\) stands for \(t'_1=t_1\wedge \cdots \wedge t'_k= t_k\) and \(\mathbf {t'}\ne \mathbf {t}\) is \(\lnot (\mathbf {t'}=\mathbf {t})\); denote then by \(\phi [p]\) the formula obtained in this way. Armed with this notation, we can then define forgetting of a fact as follows.

Definition 4

(Fact Forgetting; [65]) For every FOL knowledge base \(KB = \{\phi \}\) and variable-free fact \(p=P(\mathbf {t})\), we let
$$\begin{aligned} forget ( KB , p) = \{ \phi ^+_p \vee \phi ^-_p \} \end{aligned}$$
where \(\phi ^+_p\) (resp. \(\phi ^-_p\)) is \(\phi [p]\) with p replaced by \(\top\) =’true’ (resp., \(\bot\) = ’false’).

Let us consider some examples from [65].

Example 12

Recall \(KB = \{ \phi \}\) with \(\phi = stud ( John ) \vee stud ( Joe ) \vee teach ( John )\) from Example 11, and consider \(p= stud ( John )\). From Definition 4, we obtain
$$\begin{aligned} \phi [ stud ( John )]= & {} [( John = John \wedge stud ( John )) \\&\vee \; ( John \ne John \wedge stud ( John ))]\\&\vee \, [( Joe = John \wedge stud ( John )) \\&\vee \; ( Joe \ne John \wedge stud ( Joe ))]\\&\vee \, teach ( John ); \end{aligned}$$
As \(John = John = \top\), \(John \ne John = \bot\), \(John = Joe = \bot\), \(John \ne Joe = \top\), we obtain
$$\begin{aligned}&forget ( KB , stud ( John ))\\&\quad = \phi _{ stud ( John )}^+ \vee \phi _{ stud ( John )}^- \\&\quad = ([(\top \,{\wedge }\,\top ] \vee (\bot \,{\wedge }\,\top )] \vee [(\bot \,{\wedge }\, \top )\vee (\top \,{\wedge }\,\top ]\\&\qquad \vee teach ( John )) \\&\qquad \vee \, ([(\top \,{\wedge }\,\bot ) \vee (\bot \,{\wedge }\,\bot ) ] \vee [(\bot \,{\wedge }\, \bot ) \vee (\top \,{\wedge }\,\bot )]\\&\qquad \vee teach ( John )) \\[0.7ex]&\quad = \top . \end{aligned}$$
Similarly, for \(KB =\{\phi \}\) and \(\phi = \exists x. student(x)\), forgetting \(student( John )\) yields
$$\begin{aligned}&\phi [ stud ( John )]\\&\quad = \exists x. [ x = John \wedge stud ( John )] \\&\qquad \vee [x\ne John \wedge stud (x)]\\&\quad \begin{array}{l} forget ( KB , stud ( John )) \\ \quad = \exists x. ([ x = John \wedge \top ] \vee [x\ne John \wedge stud (x)]) \vee \\ \qquad \exists x. ([ x = John \wedge \bot ] \vee [x\ne John \wedge stud (x)])\\ \quad =\top . \end{array} \end{aligned}$$
Finally, forgetting \(student( John )\) from \(KB =\{\phi \}\) where \(\phi = \forall x. student(x)\) is exactly the scenario discussed before Definition 4; wo obtain
$$\begin{aligned}&\phi [ stud ( John )]\\&\quad = \forall x. [ x = John \wedge stud ( John )]\\&\qquad \vee [x\ne John \wedge stud (x)],\\&\quad \begin{array}{l} forget ( KB , stud ( John )) \\ \quad = \forall x. ([ x = John \wedge \top ] \vee [x\ne John \wedge stud (x)]) \vee \\ \qquad \forall x. ([ x = John \wedge \bot ] \vee [x\ne John \wedge stud (x)])\\ \quad = \forall x. ( x = John \vee stud (x)) \vee \forall x. ( x \ne John \wedge stud (x))\\ \quad = \forall x. [ x \ne John \rightarrow stud (x)], \end{array} \end{aligned}$$
which expresses the intuitive result mentioned in the discussion.
Like in the propositional case, we can forget a sequence \(\sigma = p_1,\ldots ,p_k\) of facts by iteration, where again the order does not matter. For a semantic characterization of forgetting multiple facts, we have to lift the similarity notion \(M_1 \sim _p M_2\) between propositional models to first-order models \(M_1, M_2\) (this is straightforward) and by extending it from a single fact p to a sequence \(\sigma\) as follows:
$$\begin{aligned} \begin{array}{ll} M_1 \sim _\sigma M_2 \,\Leftrightarrow \,&{} \hbox {models } M_1, M_2 \hbox { fully agree except possibly} \\ &{}\hbox {for the valuation of the }p_i\hbox { in }\sigma . \end{array} \end{aligned}$$
We then note the following properties of forgetting facts, where for any sentence \(\psi\) and sequence \(\sigma =p_1,\ldots ,\)\(p_k\) of variable-free facts, \(\psi \downarrow \sigma\) denotes the formula obtained by replacing iteratively in \(\psi\) for \(p_i=P_i(\mathbf {t_i})\), \(i=1,\ldots ,k\), every occurrence of an atom \(P_i(\mathbf {t'_i})\) with \(P_i(\mathbf {t'_i}) \wedge \mathbf {t_i}\ne \mathbf {t'_i}\).

Proposition 7

(Semantic Properties [65]) For any FOL knowledge base\(KB = \{ \phi \}\)and sequence\(\sigma = p_1,\ldots ,\)\(p_k\)of facts, the following properties hold:
  1. (i)

    \(KB \models forget ( KB ,\sigma )\);

  2. (ii)

    for any permutation\(\sigma '\)of\(\sigma\), \(forget ( KB ,\sigma ')\)is equivalent to\(forget ( KB ,\sigma )\);

  3. (iii)

    \(Mod( forget ( KB ,\sigma )) = \{M_1 \mid M_1 \sim _\sigma M_2\)for some\(M_2 \in Mod( KB )\}\);

  4. (iv)

    for every sentence\(\psi\), \(KB \models \psi \,{\downarrow }\,\sigma\)\(\Leftrightarrow\)\(forget ( KB ,\sigma ) \models \psi \,{\downarrow }\,\sigma\).


Thus, forgetting is by (i) an over-approximation (as all models are preserved but new ones possibly added), by (ii) order-independent such that for any set F of variable-free facts, we can simple write \(forget ( KB ,F)\), and by (iii) reflects semantic similarity. Furthermore, item (iv) expresses a form of irrelevance: after forgetting facts, an adjusted sentence is entailed iff it is entailed by the original knowledge base; thus, the forgotten facts are not relevant for the entailment. For more on the use of forgetting for query answering, we refer to Lin and Reiter [65].

4.2 Forgetting Relations/Predicates

Forgetting a relation P, like student, from an FOL formula is more intricate. Here, we start with the semantic aspects of forgetting and first lift the semantic notion of model agreement, by defining that
$$\begin{aligned} \begin{array}{ll} M_1 \sim _P M_2 \,\Leftrightarrow \, &{} \hbox {models }M_1, M_2\hbox { fully agree except possibly }\\ &{}\hbox { for the valuation of }P. \end{array} \end{aligned}$$
With this, we are able to define the semantic effects of relation forgetting:

Definition 5

(Semantic Relation Forgetting; [65]) Given an FOL \(KB\) and a relation symbol P,
$$\begin{aligned} \begin{array}{l} Mod( forget ( KB ,P)) \\ \quad = \{ M_1 \mid M_1 \sim _P M_2\hbox { for some }M_2 \in Mod( KB )\}. \end{array} \end{aligned}$$

The following proposition shows how this forgetting operation can be described on the syntactic level, where we move to second-order logic (SOL) in order to quantify over relation symbols:

Proposition 8

(Syntactic Characterization; [65]) Given an FOL\(KB = \{ \phi \}\)and a relation symbolR, we let\(forget ( KB ,P) = \{ \exists R. \phi (P/R) \}\), i.e., replacePin\(\phi\)byRwhereRis a fresh relation symbol of the same arity asP, and put an existential quantifier.

We illustrate relation forgetting by some examples.

Example 13

(Ex. 12,cont’d) We want to forget \(P = student\) from the knowledge base \(KB = \{ student( John ) \vee student( Joe )\)\(\vee teacher( John ) \}\), and obtain by Proposition 8
$$\begin{aligned} \begin{array}{l} forget ( KB ,student)\\ \quad = \{ \exists R. R( John ) \vee R( Joe ) \vee teacher( John ) \} \\ \quad = \{ \top \}, \end{array} \end{aligned}$$
as some model exists in which \(R( John )\) is true; thus we are left semantically with a tabula rasa.
For the slightly modified knowledge base
$$\begin{aligned} KB ' = \{ (student( John ) \vee (student( Joe )) \wedge teacher( John )) \}, \end{aligned}$$
forgetting student results in
$$\begin{aligned} \begin{array}{l} forget ( KB ',student)\\ \quad = \{ \exists R. (R( John ) \vee (R( Joe )) \wedge teacher( John )) \} \\ \quad = \{ teacher( John ) \} \end{array} \end{aligned}$$

Relation forgetting extends to sequences \(\sigma = P_1,P_2,\ldots ,\)\(P_k\) of relation symbols in a straightforward way, and has similar properties as forgetting sequences of facts.

That the formula of \(forget ( KB ,P)\) is no longer an FOL sentence, but from SOL has its challenges for the usage (in particular, for reasoning, which in SOL is highly undecidable in general). Hence a natural question is whether an equivalent FOL formula \(\psi\) exists; this is known as the ’existence’ problems of forgetting. In case of an affirmative answer, the question is how to compute such an FOL formula \(\psi\) for \(forget ( KB ,P)\). While the existence problem is unsurprisingly not decidable in general, even in decidable cases and when an FOL formula \(\psi\) can be constructed, possibly under restricted syntax, the computation may be resource intense; e.g., scenarios for well-known description logics that require double exponential time for deciding existence and even more time and space for computation are known (cf. Sect. 4.4).

For a more extensive discussion of forgetting relations from an FOL knowledge base, we refer to Delgrande [22]. We note here, however, that Zhang and Zhou [93] defined a notion of weak forgetting based on postulates from their earlier work [92]. It amounts to using in Definition 5, which they called strong forgetting, the more liberal similarity relation \(M_1 \equiv _P M_2\) capturing that every formula not involving P has on \(M_1\) and \(M_2\) the same truth value. It allows to represent \(forget ( KB ,P)\) by the set \(Cn( KB ) \cap L_{\varSigma \setminus \{P\}}\) of all consequences of \(KB\) in which P does not occur, respectively by any (possibly finite) subset thereof; for strong forgetting, such a representation does not always exist.

4.3 Forgetting Individuals

Deliberately forgetting a person is a problem that may arise particularly in cases where this person did some harm to someone, and remembering him or her is painful. For example, in ancient Egypt, the name of the heretic pharaoh Echnaton was erased from records years after his death; in German philosophy, a famous case is Martin Lampe, who had been a servant of Immanuel Kant for many years and was dismissed by Kant for personal misconducts. Kant expressed his struggle with effectively erasing Lampe from his memory by writing “Der Name Lampe muß nun völlig vergessen werden!” (“The name Lampe must be forgotten completely now!”) in one of his little notebooks [89].

In logical knowledge bases, specific individuals in a domain of discourse are usually represented by constant symbols, which serve as “names” for individuals. Delgrande [21] proposed a technique to forget a constant symbol from the signature as follows.

Definition 6

(Forgetting Individuals; [21]) For a knowledge base \(KB = \{ \phi \}\) and constant symbol c, let
$$\begin{aligned} forget ( KB ,c) = ( KB \setminus KB _c) \cup \{ \exists x.\bigwedge _{\phi \in KB _c} \phi [c/x]\,\}, \end{aligned}$$
where \(KB _c\) is the set of all formulas in \(KB\) in which c occurs, x is a fresh variable and \(\phi [c/x]\) denotes replacement of c by x in \(\phi\).

That is, forgetting is achieved by anynomization: it becomes opaque which individual has certain properties.

Example 14

Let \(KB = \{ student( John ) \vee student( Joe ) \vee\)\(teacher( John ) \}\); then
$$\begin{aligned} \begin{array}{l} forget ( KB , John )\\ \quad = \{ \exists x. student(x) \vee student( Joe ) \vee teacher(x) \} \end{array} \end{aligned}$$

Delgrande showed that the above definition is effective in the sense that all consequences of the original knowledge base that do not mention c are retained, and that no new consequences emerge; in technical terms, \(Cn_{\varSigma '}( forget ( KB ,c)) = \{ \phi \in Cn_\varSigma ( KB ) \mid\)c does not occur in \(\phi \}\), where Cn’s subscript shows the signature used and \(\varSigma ' = \varSigma \setminus \{c\}\).

As an alternative to Definition 6, one might think of the perhaps more natural replacement of c with a fresh constant symbol, which is easier to implement; e.g. that in Example 14\(John\) is replaced by \('xyz'\). This may look sufficient to blur intuitive meaning that is typically associated with symbols in applications. Technically, the new knowledge base would be isomorphic to the old one, and the same erasure of sentences from the latter would happen. Experts easily recognize that this variant is just a skolemized form of Definition 6. However, fresh constants leave traces in the knowledge base, such that it may be more transparent what forgetting operations about individuals happened in the past.

4.4 Forgetting in Description Logics

So far, we have considered forgetting in the context of FOL in general. For specific applications and reasoning tasks, a number of fragments of FOL have been studied and dedicated formalisms were developed based on them. Perhaps the most widely known such formalism are description logics (DLs) [6], which is a family of prominent languages for writing ontologies with a formal semantics; they are increasingly used because some of the standard recommendations of the World Wide Web consortium, which governs the development of the Web, for ontology languages are based on DLs. Technically, DLs amount to fragments of classical FOL with a special syntax, tailored for convenient representation of structured knowledge. The signature of a DL contains concepts (classes), roles (binary relations), and individuals (constants), and DL knowledge bases \(KB = {\mathscr {T}}\cup {\mathscr {A}}\) consist of taxonomic axioms\({\mathscr {T}}\) and factual assertions\({\mathscr {A}}\). The axioms in \({\mathscr {T}}\) are of the form \(\alpha \sqsubseteq \beta\), where \(\alpha\) and \(\beta\) are concept expressions (which intuitively describe classes of individuals), while the assertions are facts about concept membership and role relationships between individuals. The most-widely known and “mother” of other DLs is \(\mathscr {ALC}\), in which concept expressions can be formed using boolean connectives and role restrictions of the form \(\forall R.C\) and \(\exists R.C\), which allow one to describe the classes of individuals x such that every (some) individual y fulfilling R(xy) belongs to class C.

Example 15

The following DL knowledge base expresses knowledge on persons in general and on students in particular:
$$\begin{aligned} \begin{array}{lll} &{} \hbox {DL KB} &{} \hbox {FOL} \\ {\mathscr {T}}&{} student \sqsubseteq person &{} \forall x.student(x) \rightarrow person(x)\\ &{} person \sqsubseteq \forall &{} \forall x, y.(person(x)\\ &{}&{} \quad \wedge parent(x,y) \rightarrow adult(y))\\ {\mathscr {A}}&{} student( John ) &{} student( John ) \end{array} \end{aligned}$$
where the rightmost column shows translations of DL formulas to FOL formulas. Intuitively, the first axiom says that students are persons, and the second that for a person, each parent must be an adult. The assertion is self-explanatory.

The restricted DL syntax ensures (usually) decidability of reasoning, e.g. satisfiability and query answering (\(KB \models\)\(person( John )\)) [6].

Motivated by the need for efficient reasoning (which in expressive DLs may be difficult to achieve) and the desire to structure and decompose large knowledge bases into parts for modular use, forgetting from DL knowledge bases \(KB ={\mathscr {T}}\cup {\mathscr {A}}\) has been widely studied (see e.g. [36, 50, 51, 52, 54, 55, 68, 69, 70, 76, 87, 95, 97]). The bulk of work has focused on different aspects: forgetting concepts, or roles from \({\mathscr {T}}\), and forgetting both concepts/roles from \({\mathscr {T}}\cup {\mathscr {A}}\).

Sometimes, forgetting is possible by a classic result due to Ackermann [1], which customized for DL syntax is as follows.

Proposition 9

(Substitution Lemma; cf. [95]) Let \(KB\)be a DL knowledge base (in a suitable description logic, e.g. the expressive\(\mathscr {ALCHOQ}\)) such that
  1. (i)

    \(KB \supseteq \{\alpha _1\sqsubseteq P\), ...\(\alpha _n\sqsubseteq P\}\)wherePoccurs in no\(\alpha _i\), and

  2. (ii)

    Poccurs in\(KB \setminus \{\alpha _1\sqsubseteq P\), ...\(\alpha _n\sqsubseteq P\}\)only negative,

then\(forget ( KB ,P) = KB [P/\alpha _1\sqcup \cdots \sqcup \alpha _n]\), i.e.,\(KB\)with substituting\(\alpha _1\sqcup \cdots \sqcup \alpha _n\)forP, where\(\sqcup\)represents disjunction in DL.

Example 16

The knowledge base \(KB = \{\, student \sqsubseteq person,\)\(person \sqsubseteq \forall\), \(student( John ) \,\}\) from Example 15 satisfies the prerequisites of Proposition 9 for \(P= person\); therefore
$$\begin{aligned} \begin{array}{l} forget ( KB , person )\\ \quad = \{\, student \sqsubseteq \forall,\, student( John )\,\} . \end{array} \end{aligned}$$

However, it is not obvious how to apply this for nested concepts/roles (e.g., parent, adult) in \(KB\) from Example 15. Rewriting the knowledge base may help; in the knowledge base of the example, we may rewrite the axiom \(person \sqsubseteq\)\(\forall\) to the equivalent axiom \(\exists parent^-. person\)\(\sqsubseteq adult\), which intuitively says that anyone who is a parent of a person must be an adult. However, such an equivalence preserving rewriting may not be feasible in general, or lead outside a particular DL (in this case, outside \(\mathscr {ALC}\)); and even if the technique would work for the FOL translation of a \(KB\), the question would be how to translate the result back. Generalizations of such techniques can be found in Zhao and Schmidt [95].

In general, forgetting in DLs is difficult because a syntactic result for \(forget ( KB ,P)\) that captures the semantic forgetting (based on model similarity) might not always exist in a specific DL (in fact, this applies to most of the classical DLs); this problem may be even undecidable, as e.g. for the DLs \(\mathscr {ALC}\) [52] and \({\mathscr {E}}{\mathscr {L}}\) [11]. If \(forget ( KB ,P)\) exists and is expressible in the DL at hand, it yields a uniform interpolant5 for all consequences from \(KB\) on the remainder signature. Deciding the existence of such an interpolant is, however, expensive in general; e.g., for taxonomic knowledge bases in \(\mathscr {ALC}\) and \({\mathscr {E}}{\mathscr {L}}\), respectively, it requires single and double exponential time, respectively, and a smallest uniform interpolant occupies triple exponential space in both cases [69, 76]; for several expressive DLs, decidability is unexplored (cf. [54]). There are different approaches to overcome these problems, among them to extend the DL language (e.g., from \(\mathscr {ALC}\) to \(\mathscr {ALC}_\nu\), [55]) or to introduce auxiliary vocabulary. For example, forgetting from the knowledge base \(KB = \{ Carnivor \sqsubseteq \exists \, eats.Meat\), \(Vegetarian \sqsubseteq \forall eats.\lnot Meat \}\) the role \(eats\) results in the knowledge base \(\{ Carnivor \sqsubseteq\)\(\exists {\mathsf {u}}. Meat\), \(Carnivor \sqcap Vegetarian \sqsubseteq \bot \}\), where \({\mathsf {u}}\) is the universal role that holds between any individuals; the latter is stronger than the uniform interpolant \(\{ Carnivor \sqcap Vegetarian\)\(\sqsubseteq \bot \}\) even if we use instead of \(\mathscr {ALC}\) the more expressive description logic \(\mathscr {ALCOIH}\), say, for our knowledge base \(KB\). Extending the language with the universal role \({\mathsf {u}}\) removes this problem. Similarly, forgetting \(Meat\) from the knowledge base \(KB ' = \{ Carnivor \sqsubseteq \exists \, eats.Meat\), \(Vegetarian \sqsubseteq \exists \, eats.\lnot Meat \}\) results in \(\{ Carnivor \sqsubseteq \exists \, eats.\top\), \(Vegetarian \sqsubseteq \exists \, eats.\top\), \(Carnivor \sqcap Vegetarian \sqsubseteq \; \ge 2\, eats.\top \}\), and thus requires number restrictions (cf. [97]). Furthermore, for practical applications, only approximations of \(forget ( KB ,P)\) are computed (cf. [54, 70]); we refer to Zhao and Schmidt [95, 97], Koopmann [54], Botoeva et al. [11] for further discussion and background. Finally, several tools for forgetting from DL knowledge bases have been developed, among them one based on SCAN [77], using skolemization and second-order quantifier elimination (see [2]), Lethe [54] and the one by Ludwig and Konev [68], which are based on resolution, and FAME [96], which builds on the Ackermann-Lemma approach.

As of today, forgetting in DLs and the study of related problems (see Sect. 8) is a rich and active field of research; a detailed coverage of the subject, however, requires a dedicated survey and is beyond the scope of this article.

5 Forgetting in Answer Set Programming

We now leave KRR formalisms based on classical logic and turn to nonmonotonic formalisms. For such, work on forgetting (as of type 1) is rather scarce, and most studies have been devoted to rule-based formalisms, and in particular to nonmonotonic logic programs under different semantics; some seminal works are [4, 5, 49, 84, 94]. We concentrate in this article on programs under the answer set semantics. First, we give an overview on challenges that forgetting operations in this area have to deal with, and then point out an interesting connection between forgetting and reasoning from minimal models.

5.1 Challenges of Forgetting in ASP

For ASP programs, a number of different approaches to forgetting exist, and we refer to the recent paper by Leite [61] for an excellent and comprehensive survey. Among the many proposals we find both syntactic operators like weak forgetting or strong forgetting Eiter and Wang [94] and semantic approaches like semantic weak/strong forgetting Eiter and Wang [28] or forgetting based on the monotonic core of answer set semantics [85].

The nonmonotonic nature and the fact that syntax matters in formulating rules poses a big challenge to define forgetting for ASP. Answer sets have the particular property of supportedness, which means that for each atom p that is true in an answer set M, there must be some rule which is applicable and allows to derive p. In this way, M may be constructed starting from facts by repeated rule application. A simple syntactic operation that eliminates p from the rules may disrupt this derivability.

Example 17

To strongly forget \(student(sam)\) from the program listed in (1) on p. 4, a straightforward approach would be to omit all rules mentioning it, and restrict all other rules so as to not talking about \(student(sam)\):
$$\begin{aligned} male(x) \vee female(x) \leftarrow&student(x), x\ne sam. \\ single(x) \leftarrow&student(x), not\ married(x), x\ne sam. \end{aligned}$$
Note that \(single(sam)\) is also lost, which means that no semantic similarity of answer sets of the form \(M \sim _p M'\) is warranted. Weak forgetting would omit all rules mentioning \(single(sam)\) resp. prevent mentioning it outside the scope of ’\(not\)’, and would remove the occurrences under ’\(not\)’ resp. regard them as true; in this example, weak and strong forgetting coincide.

An idea to overcome this is by defining the result of forgetting p from \(KB\) straight in terms of semantic similarity \(M \sim _p M'\). However, due to the minimality of answer sets, it may be impossible to obtain any program for \(forget ( KB ,p)\) which captures semantic similarity: e.g., simply forget student(sam) from \(KB = \{ student(sam) \}\); then by minimality, the only answer set of \(forget ( KB ,student(sam))\) is \(M=\emptyset\), which means that student(sam) is switched to false (note that we are dealing here with 2-valued “classical” models). A way out is to either switch to a richer syntax that allows for comparable models (e.g., nested logic programs), or to restrain the similar models such that a program exists, as in Eiter and Wang [28].

Even then, one is left with another problem: the particular form of rules to express \(forget ( KB ,p)\) matters. In general, ASP programs \(KB\) and \(KB '\) may have the same answer sets, but after adding further rules, this may no longer hold; i.e., the substitution property, that we can replace \(KB\) by \(KB '\) in any context of other rules, does not hold. For example, \(KB = \{ pub \leftarrow thirsty, not\ sunday. \}\) and \(KB '= \{ pub \leftarrow\)\(thirsty, weekend. \}\) have the same answer set \(M=\emptyset\); but in context of an additional fact thirsty, the answer sets are different, i.e., \(\{ pub \}\) for \(KB\), and \(\emptyset\) for \(KB '\). Note that there are also examples where \(KB\) and \(KB '\) have the same classical models (which is here not the case).

Programs \(KB\) and \(KB '\) enjoying the substitution property are called strongly equivalent, which amounts to equivalence in the nonclassical logic HT [63]. Its model-theory and consequence relation can thus serve as a basis for defining a forgetting operation that is robust with respect to strong equivalence; this has been attempted e.g. by Wong [90]; Wang et al. [85, 86]; Delgrande and Wang [23]. Specifically, Wong [90] presented a complete calculus for HT-entailment of rules from disjunctive programs, which he used for defining forgetting operators by program transformation; Wang et al. [85, 86] presented more elaborate notions of semantic forgetting under HT entailment that overcome some issues with operators proposed by Wong. Finally, Delgrande and Wang [23] presented a syntactic notion of forgetting under HT-entailment, which has compared to Wang et al. [85, 86] the benign property that the result of forgetting is easy to compute, and in fact by a program tranformation that adapts resolution-based forgetting in Definition 2 to answer set programs. Still, however, there is no canonical way of forgetting atoms from a logic program; this is somewhat similar to belief change, where also a plethora of operators have been proposed in the literature. In the vein of the AGM theory of belief change, properties respectively postulates have been proposed in order to guide the development and the assessment of approaches for forgetting. Wong [90] was the first to characterize an ASP forgetting operator in terms of postulates, while later Wang et al. [85] characterized their semantic forgetting in terms of postulates that Zhang and Zhou [92] had proposed in the context of modal logic (see Section 6). Numerous further such postulates exist for ASP forgetting (cf. [38, 61]), like the following (\(Mod(\cdots )\) stands here for the set of answer sets):
  • Strengthened Consequence:
    $$\begin{aligned} Mod( forget ( KB ,p)) \subseteq Mod_{\varSigma \setminus \{p\}}( KB ) \end{aligned}$$
  • Weak Equivalence:
    $$\begin{aligned}&Mod( KB ) = Mod( KB ')\hbox { implies }Mod( forget ( KB ,p))\\&\quad =Mod( forget ( KB ',p)) \end{aligned}$$
  • Strong Persistence:

    For any \(KB\), atom p and \(KB '\) not involving p,
    $$\begin{aligned} Mod_{\varSigma \setminus \{p\}}( { KB \cup KB '}) = Mod( forget ( KB ,p) \cup KB ') \end{aligned}$$
Notably, strong persistence is related to strong equivalence of programs, in that the same context \(KB '\) is considered before and after the forgetting operation. It has been introduced in Knorr and Alferes [49] as a generalization of Consequence Persistence, which results as the special case \(KB '=\emptyset\). While desirable, it turns out that strong persistence is not always possible to achieve, as Gonçalves et al. [39] showed on the following example. Given the program
$$\begin{aligned} KB \,=\, \left\{ \begin{array}{cc} p \leftarrow not\ q. &{}\quad a \leftarrow p. \\ q \leftarrow not\ p. &{}\quad b \leftarrow q. \end{array} \right\} , \end{aligned}$$
one cannot forget pq from \(KB\) and expect all semantic relations between a and b to prevail. If we attempt e.g. to let \(forget ( KB ,\{p,q\}) = \{ a \leftarrow not\ b.\), \(b \leftarrow not\ a.\}\), then we have for \(KB ' = \{ a\leftarrow b.\), \(b \leftarrow a. \}\) that \(KB \cup KB '\) has some answer set that contains a and b, while \(forget ( KB ,\{p,q\}) \cup KB '\) has no answer set. By considering different additions \(KB '\) and the presence resp. absence of certain answer sets for \(KB \cup KB '\), one can argue that no program \(forget ( KB ,\{p,q\})\) is possible that would satisfy the condition of Strong Persistence.

Current research questions are when is strong persistence achievable, and which weaker notions of persistence would be helpful. Moreover, algorithms and implementations for forgetting in ASP programs with the desired properties are needed.

5.2 Minimal Model Reasoning and Forgetting

There is broad agreement that for programs without default negation, the semantics should be given in terms of its minimal models, that is, the models M of \(KB\) (viewed as a classical knowledge base) such that no model \(M'\subset M\) of \(KB\) exists; hence, inference of a formula \(\phi\) is tantamount to inference of \(\phi\) from the circumscription of \(KB\) [74]; In fact, every answer set of an arbitrary program \(KB\) (with negation allowed) is a minimal model of \(KB\). Thus, minimal models are at the heart of ASP, and negation serves as a mechanism to select more plausible ones.

An interesting connection between minimal models and forgetting was found by Lang et al. [60], which links the latter to reasoning from minimal models. Let us denote by \(MMod ( KB ) = \{ M\in Mod( KB ) \mid \not \exists M' \in Mod( KB ):\, M'\subset M \}\) the set of all minimal models of a knowledge base \(KB\), and by \(KB \models _{min} \phi\) that a formula \(\phi\) is true in all minimal model of \(KB\), i.e., \(M\models \phi\) for every \(M\in MMod ( KB )\).

Proposition 10

(Minimal model reasoning by forgetting; [60]) For every propositional knowledge base\(KB\)and formula\(\phi\),
$$\begin{aligned} KB \models _{min} \phi \hbox { if and only if } KB \models forgetLit ( KB \cup \{\phi \}, L^-) \end{aligned}$$
where\(L^-\)is the set of all negative literals over the signature.

This result is intuitively explained by the fact that \(KB \models _{min} \phi\) holds iff for each positive clause \(\gamma = p_1\vee \cdots \vee p_k\), the knowledge base \(KB \cup \{\lnot p_1,\ldots ,\lnot p_k\}\) has a model M only if \(KB \cup \{\phi \} \cup \{\lnot p_1,\ldots ,\lnot p_k\}\) has some model \(M'\). Now if \(\gamma\) is maximal (i.e., is not extendable), M must be a minimal model of \(KB\) and coincide with \(M'\). As a model of \(KB \cup \{\phi \}\), \(M'\) is also a model of \(forgetLit ( KB \cup \{\phi \},L^-)\), as is every model \(M'' \supseteq M'\), and in particular, model \(M''\) of \(KB\); this results in the stated condition.

Example 18

Consider the simple knowledge base \(KB =\)\(\{ male(sam) \vee female(sam). \}\) and \(\phi = \lnot male(sam) \vee\)\(\lnot female(sam)\). Then we have \(MMod ( KB ) = \{ \{male(sam)\},\)\(\{ female(sam)\} \}\) and \(KB \models _{min} \phi\). Furthermore, where \(m=male(sam)\), \(f=female(sam)\),
$$\begin{aligned}&forgetLit ( KB \cup \{ \phi \}, \{ \lnot m, \lnot f\} )\\&\quad = forgetLit ( forgetLit ( KB \cup \{\phi \},\lnot m),\lnot f) \\&\quad = forget (\{ (\bot \vee f)\wedge (\top \vee \lnot f)\vee m\\&\qquad \wedge (m\vee f)\wedge (\lnot m\vee \lnot f)\}, \lnot f)\\&\quad = forget (\{ f \vee m \}, \lnot f)\\&\quad = \{ \bot \vee m \vee f\wedge (f \vee m)\}\\&\quad = f \vee m, \end{aligned}$$
where simplifications are used. We have \(KB \models f \vee m\), as stated by Proposition 10.

As mentioned above, the entailment \(KB \models _{min} \phi\) amounts to inference of \(\phi\) from the circumscription of \(KB\) [74]; more precisely, it is the inference \(CIRC ( KB ;P,Q,Z)\)\(\models \phi\) in the circumscription framework where P are all variables and QZ are empty (“global circumscription”). Lang et al. [60] showed also how to express any inference \(CIRC( KB ;P;Q;Z) \models \phi\) in terms of an entailment \(KB \models\)\(forgetLit ( KB ',L')\), where \(KB '\) results from \(KB\) by forgetting some literals. Thus, forgetting can serve as a computational tool that allows one to reduce circumscription easily to classical inference without the need for expensive operations such as satisfiability or minimality tests.

On the other hand, deciding \(KB \models _{min} \phi\) is harder than propositional inference, and is complete for the class \(\varPi ^p_2=\text{ co- } NP^{NP}\) of the polynomial hierarchy [27]. By complexity-theoretic considerations, we may thus not expect to construct a formula for \(forgetLit ( KB \cup \{\phi \}, L^- )\) in polynomial time; moreover, a small (polynomial) size formula for \(forgetLit ( KB \cup \{\phi \}, L^- )\) is unlikely to exist; this can be derived from results about the succinctness of circumscription [18].

6 Forgetting in Modal Logic

We end our tour through forgetting in different KRR formalisms with a look at modal logics. Among its many incarnations, in particular the modal logic S5 is prominent as a basic logic of knowledge (cf. [31]). Semantically, the meaning of formulas \(\phi\) in S5 can be described by special Kripke models of the form \(M=(W,R,\tau ,w)\), where W is a set of possible worlds, R is a binary transition relation \(R(w,w')\) between possible worlds w and \(w'\), \(\tau\) assigns each possible world \(w\in W\) a model, i.e., a value assignment \(\tau (w)\) over an underlying set of propositional variables, and w is the actual world. In S5, R is universal, i.e., from every world w any world \(w'\) can be reached (including w itself), and each possible world w can be identified with \(\tau (w)\); thus one writes simply \(M=(W,w)\). The semantics of S5 is captured by modal logic axiom schemes, which are used by calculi for this logic.

Baral and Zhang [7] defined forgetting from knowledge bases in modal logic S5 as a special form of update. In their approach, the idea is to exploit the power of knowledge and to interpret forgetting a formula \(\phi\) from a knowledge base \(KB\) as making the agent ignorant about \(\phi\). To this end, \(forget ( KB ,\phi )\) is realized by updating \(KB\) with the formula \(\lnot K\phi \wedge \lnot K\lnot \phi\): after this update, the agent would neither know \(\phi\) nor \(\lnot \phi\). Furthermore, by basic logical properties s/he will be aware of that, as \(K(\lnot K\phi \wedge \lnot K\lnot \phi )\) holds.

The update may not always be realized by a simple syntactic operation, such as by variable elimination in the classical propositional setting.

Example 19

Suppose the agent holds the knowledge base \(KB = \{ inflagranti \rightarrow guilty ,\)\(K guilty \vee K\lnot guilty \rightarrow justice \}\) and she wants to forget \(guilty\) from it. By variable elimination, e.g. constructing \(forget ( KB , guilty ) = \{ \phi ^+_{guilty} \vee \phi ^-_{ guilty} \}\) where \(\phi ^+_{guilty}\) (resp. \(\phi ^-_{guilty}\)) is the conjunction of the formulas in \(KB\) where \(guilty\) is replaced by \(\top\) (resp., \(\bot\)), we obtain a knowledge base that is equivalent to the formula \(inflagranti\)\(\rightarrow justice\). However, the latter is not a consequence of \(KB\); this is in contrast to the intuition that forgetting is a semantic weakening and thus should not lead to new consequences. Even worse, if we forget \(guilty\) from the extended knowledge base \(KB '= KB \cup \{ \lnot justice \}\), which is satisfiable, then \(forget ( KB ', guilty )\) is inconsistent!

Baral and Zhang thus defined a more sophisticated approach which performs the update with \(\lnot K\phi \wedge \lnot K\lnot \phi\) in a way such that possible worlds are added to a model, if needed, in order to create ignorance. If we concentrate on atomic formulas \(\phi\), i.e., variables p, then a Kripke model \(M'=(W',w')\) is a model of the update of \(KB\) with \(\lnot K p\wedge \lnot K\lnot p\), exactly if some model \(M=(W,w)\) of \(KB\) exists such that
  1. (i)


  2. (ii)

    \(W=W'\) if \(M \not \models Kp\) and \(M\not \models K\lnot p\), and

  3. (iii)

    \(W' = W\cup \{ w^*\}\) where (a) \(p\notin w^*\) if \(M\models Kp\) and (b) \(p\in w^*\) if \(M\models K\lnot p\)

as follows from ([7], Proposition. 7). For the belief revision aficionados, this update resembles an AGM contraction where countermodels are added in order to construct remainder sets for partial meet contraction [3].

Example 20

(cont’d) In Example 19, forgetting \(guilty\) from \(KB '\) by update with the formula \(\lnot K guilty \wedge \lnot K\lnot guilty\) leaves \(KB\) unchanged, as in every model M of \(KB '\), in some possible world \(guilty\) is true and in some \(guilty\) is false; on the other hand, the same update would for \(KB\) yield a model \(M'= (\{ w_1,w_2\},w_1)\) from \(M=(\{w_1\},w_1)\) where \(w_1 = \{ justice\), \(inflagranti ,\)\(guilty \}\), as we can add \(w_2 = \{ justice\), \(inflagranti \}\) for item (iii.a) which is not a model of \(KB\).

In the paper [24], the authors considered forgetting in a broader epistemic setting and distinguished different forms of forgetting a propositional variable p:
  • Becoming ignorant: defined as above, \(K(\lnot K\,p \wedge \lnot K\lnot p)\) holds (introspective forgetting)

  • Becoming unaware: remove p from the signature; to revert forgetting, i.e., remembrance, is no longer possible.

  • Forgetting values: considering multi-valued properties, e.g. a 4-digit pincode, which are representable by multiple boolean variables, e.g., represent pincode by \(c^i_j =\) “the i-th digit of the code is j”; for this, one cane use a similar procedure as for single boolean variables.

  • Multi-agent versions of forgetting: this is a group version for becoming ignorant and should involve prior common knowledge followed by some sort of collective memory loss.

They showed that besides variable elimination (cf. Example 19) two further construction methods for forgetting in classic propositional logic discussed by Lang et al. [60] fail in modal logics, namely, to compute the strongest consequence not mentioning p, and the strongest formula on similar models, i.e., on \(\{ M \mid M \sim _p M', M' \in Mod( KB )\}\), respectively. Instead, the authors modeled forgetting as an event or actionFg(p) in a dynamic epistemic logic. Intuitively, the formula \([Fg(p)]\phi\) expresses that \(\phi\) holds after forgetting p. The agent moves to parallel worlds where s/he can not distinguish p from \(\lnot p\). They considered introspective forgetting (i.e., \(K(\lnot K\phi \wedge \lnot K\lnot \phi )\)), and explored the relation to unawareness forgetting. Notably, also a sound and complete axiomatization of the logic has been provided by Ditmarsch et al. [24].

Zhang and Zhou [92] observed that the approaches by Baral and Zhang [7] and van Ditmarsch et al. [24] have weaknesses and do not yield intuitive results in certain cases. In their work, they made two major contributions in order to adress these weaknesses: (1) to consider a more fine-grained notion of similarity between models than van Ditmarsch et al. [24] did, and (2) to present a set of postulates that any reasonable forgetting operator should satisfy in the spirit of the AGM theory for belief change [3].

As for 1), the similarity relation \(M_1 \sim _V M_2\) for variables V is replaced by V-bisimilarity\(\leftrightarrow _V\): if \(M_1=(W_1,w_1)\) and \(M_2=(W_2,w_2)\), then \(w_1\) and \(w_2\) coincide modulo V, and for every \(w^*_1 \in W_1\) there is some \(w^*_2 \in W_2\) that coincides with it modulo V and vice versa. The ordinary notion of bisimilarity, which results for \(V=\emptyset\), is a well-known condition for models that are inseparable by formulas in modal logic. This leads then to an elegant semantic definition of knowledge forgetting.

Definition 7

(Modal logic forgetting; [92]) For any propositional modal-logic knowledge base \(KB\) and set V of variables,
$$\begin{aligned} Mod( forget ( KB ),V) = \{ M \mid \exists M' \in Mod( KB ), M \leftrightarrow _V M'\}. \end{aligned}$$

It appeared that this definition comes with nice properties: first, for finite \(KB\) the result of forgetting always exists, i.e., there is some modal formula \(\phi\) whose S5-models are \(Mod( forget ( KB ),V)\); moreover, such \(\phi\) (of possibly double exponential size) can be constructed using an algorithm in Ghilardi et al. [37]. Second, if \(KB\) consists only of objective (modal-free) formulas, then \(\phi\) is objective as well. That is, this knowledge forgetting properly generalizes forgetting in classical propositional logic. Third, that forgetting is syntax independent, i.e., whenever \(KB\) and and \(KB '\) are logically equivalent (in S5), then also \(forget ( KB )\) and \(forget ( KB ')\) are logically equivalent.

As for 2), Zhang and Zhou presented the following four postulates for forgetting V from \(KB\), where \(IR( KB ,V)\) means that some knowledge base \(KB '\) logically equivalent to \(KB\) exists in which no variable from V occurs:
$$\begin{aligned} \begin{array}{ll} \hbox {(W)}&{} KB \models forget( KB ,V) \quad \hbox {(weakening)}\\ \hbox {(PP)}&{} \hbox {if } KB \models \phi \hbox { and }IR(\phi ,V),\, \hbox {then } forget ( KB ,V)\models \phi \,\hbox {(positive persistence)}\\ \hbox {(PP)}&{} \hbox {if } KB \not \models \phi \hbox { and }IR(\phi ,V),\, \hbox {then } forget ( KB ,V)\not \models \phi \, \hbox {(negative persistence)}\\ \hbox {(IR) } &{} IR( forget ( KB ,V),V)\quad \hbox {(irrelevance)} \end{array} \end{aligned}$$
Informally, (W) expresses that forgetting should weaken the knowledge base, and (PP) and (NP) that consequences that do not mention any of the forgotten variables remain unaffected; finally, (IR) states that forgetting has a syntactical representation on the reduced signature.

The main result of Zhang and Zhou is then that these postulates capture knowledge forgetting.

Proposition 11

[92] For any modal logic knowledge bases\(KB\), \(KB '\)and setVof variables,\(KB '\)expresses\(Mod( forget ( KB ,V))\)iff\(forget ( KB ,V) := KB '\)fulfills (W), (PP), (NP), and (IR) iff\(KB '\)is logically equivalent to\(\{ \phi \mid KB \models \phi , IR(\phi ,V)\}\).

Furthermore, it has been shown that knowledge forgetting as in Definition 7 enjoys several further properties of variable forgetting from classical logic bases. Like the one in Baral and Zhang [7], it can be used to define updates of modal-logic knowledge bases, and it has been applied to model games with bounded memory.

Furthermore, knowledge forgetting as in Definition 7, which amounts to existential bisimulation quantification, has been recently extended to the multi-modal setting [32]. The authors have also shown how for a variable p, \(forget ( KB ,p)\) can be constructed by simple literal elimination from a canonical form of \(KB\). In this way, they managed to show that the result of forgetting exists for a range of multi-modal logics, viz. \(K_n\), \(D_n\), \(T_n\), \(K45_n\), \(KD45_n\), and \(S5_n\), where n is the number of agents.

7 Related Notions

In this section, we consider some concepts and notions that are closely related to forgetting; some of them have already appeared in more or less explicit form in the previous sections.


As we have discussed in the Introduction, forgetting is a means to reduce information, based on different motivations. In most cases, the operation aims to drop information that is not relevant for a specific application. It is thus suggestive to consider the notion of irrelevance a bit closer in the context of forgetting.

From a logical point of view, a set V of variables is relevant for a propositional knowledge base \(KB\), if in every knowledge base \(KB '\) that is logically equivalent to \(KB\), some variable from V must occur in some formula of \(KB '\); this is equivalent to the definition that \(KB\) has some prime implicate that mentions some variable from V [58], and coincides with other notions like influenceability ([12] cf. [60]). Now recall that the result of \(forget ( KB ,V)\) can be described by a knowledge base in which no variable from V occurs. Semantically, forgetting V from \(KB\) strives for indifference w.r.t. V, which is achieved by adding to the models of \(KB\) all \(\sim _V\)-similar models. No such addition is necessary if every such model is a model of \(KB\) – and in this case, \(KB\) and \(forget ( KB ,V)\) coincide. In fact, the following property holds.

Proposition 12

(Irrelevance as Forgetting; [60]) Given a propositional knowledge base\(KB\)and a setVof variables, Vis not relevant for\(KB\)if and only if\(KB\)is logically equivalent to\(forget ( KB ,V)\).

This notion of irrelevance may be adjusted to particular usages of knowledge bases. If e.g. a knowledge base serves to find answers to a query, then the irrelevance of variables can be contextualized: a set of variables V is irrelevant for a knowledge base \(KB\)with respect to a queryq, if \(KB \models q\) holds if and only if \(forget ( KB ,p)\models q\) holds. This naturally extends then to a set or class Q of queries.

Example 21

Recall that for the \(KB = \{ red\_wine \vee\)\(white\_wine ,\)\(fish \rightarrow white\_wine ,\)\(beef \rightarrow red\_wine \}\) from Example 3, forgetting the variable \(fish\) yields the knowledge base \(forget ( KB , fish ) = \{ red\_wine \vee white\_wine , beef \rightarrow\)\(red\_wine \}\). Thus, \(fish\) is irrelevant e.g. for the query whether to drink \(white\_wine\), but not whether fish should go with white wine, i.e. \(fish \rightarrow white\_wine\), which was dropped from \(KB\).

We remark that the relation in Proposition 12 does not carry over to forgetting facts from FOL knowledge bases; this is because a fact \(P(\mathbf {t})\) may not occur in \(KB\) and thus is literally not relevant for \(KB\), as \(student ( John )\) for \(KB =\{ \forall x. student(x)\}\) in Example 12. Thus, relevance requires a more careful consideration in this setting.

Independence. The above notion of relevance is in fact the dual of independence: A propositional knowledge base \(KB\) is independent of a set V of variables, if there exists some knowledge base \(KB '\) that is logically equivalent to \(KB\) in which no variable from V occurs. In other words, \(KB\) is independent of V iff V is irrelevant for \(KB\).

Semantically, this means that independence holds iff forgetting V from \(KB\) does not introduce any new models; that is, \(Mod( KB )\) is closed under similar models: whenever M is a model of \(KB\) and \(M'\sim _V M\) holds, then \(M'\) is also a model of \(KB\).

An analogous characterization of independence (resp. relevance) in terms of forgetting holds in the more general setting of forgetting literals (cf. [60]). Conversely, forgetting literals L can be also characterized in terms of independence, similarly as in Lin [64] for variables:

Proposition 13

([60]: Forgetting = strongest necessary consequence) For a propositional knowledge base\(KB = \{ \phi \}\)and literalsL, \(forgetLit ( KB ,L)\)is the logically strongest\(KB '\)that is Lit-independent fromLsuch that\(KB \models KB '\).

Here, Lit-independent from L means that there is some logically equivalent knowledge base in which no literal from L occurs, and logically strongest means that for every \(KB ''\) with this property, \(KB ' \models KB ''\) holds.

Example 22

Let us consider the knowledge base
$$\begin{aligned} \begin{array}{l} KB = \{ red\_wine \vee white\_wine ,\\ \qquad white\_wine \vee caviar \rightarrow happy , red\_wine \rightarrow happy \}. \end{array} \end{aligned}$$
By Proposition 13, we obtain \(forgetLit ( KB ,\{ caviar \}) =\)\(\{ red\_wine \vee white\_wine,\)\(happy \}\). Indeed, \(KB\) is \(\{ caviar \}\)-independent, as it does not occur positively in \(KB\). Furthermore, \(KB\) logically entails \(happy\) and \(red\_wine \vee white\_wine\), but neither \(red\_wine\) nor \(white\_wine\); thus \(forget ( KB ,\)\(\{ caviar \})\) is as described.

Based on this characterization, we obtain the following properties

Proposition 14

(Independence and Forgetting; [60]) For a propositional knowledge base\(KB = \{ \phi \}\), an atomp, and literalsL, the following statements hold:
  1. (i)

    Remove literals: \(KB\)is Lit-independent fromLiff\(KB\)is logically equivalent to\(forgetLit ( KB ,L)\).

  2. (ii)

    Query preservation: If\(\phi\)is Lit-independent fromL, then\(forgetLit ( KB ,L) \models \phi\)iff\(KB \models \phi\), i.e.,\(\phi\)follows after forgettingLfrom\(KB\)iff it follows so before.

  3. (iii)

    Forgetting decomposition: If\(KB = KB _1 \cup KB _2\), where\(KB _1\)and\(KB _2\)share no variables, then\(forget ( KB ,p) = forget ( KB _1,p) \cup forget ( KB _2,p)\).

  4. (iv)

    Independent subparts:If\(KB = KB _1 \cup KB _2\)and\(KB _1\)is independent ofp, then\(forget ( KB ,p) = KB _1 \cup\)\(forget ( KB _2,p)\).

We note that in item (iii), the disjointness condition is important. For example, for \(KB _1 = \{ p\}\) and \(KB _2 = \{\lnot p \}\), \(forget ( KB _1\cup KB _2,p) = \{ \bot \}\) is inconsistent while \(forget ( KB _1,p) =\)\(forget ( KB _2,p) = \{ \top \}\) and thus \(forget ( KB _1,p) \cup forget ( KB _2,p)\) is consistent. Recall that for the disjunctive form \(KB = KB _1 \vee KB _2\), the decomposition \(forget ( KB ,p) = forget( KB _1,p) \vee forget ( KB _2,p)\) holds by Proposition 6.(v) even if \(KB _1\) and \(KB _2\) share variables. Likewise in item (iv), no disjointness condition is needed, as to obtain \(forget ( KB _1\cup KB _2)\), we can replace \(KB _1\) by some \(KB '_1\) in which p does not occur, and variable elimination leaves \(KB '_1\) untouched.
Fig. 2

Reduced knowledge base for query entailment via interpolation

Uniform Interpolation. A further approach to forgetting is possible via interpolation, which deals with sentences “in between” a sentence and consequence of the latter. The following theorem is a classic result on this issue.

Theorem 1

(Interpolation Lemma by [19]), For every sentences\(\phi \not \equiv \top\)and\(\psi \not \equiv \bot\)in FOL such that\(\phi \models \psi\), there exists some sentence\(\rho\)on the joint signature of\(\phi\)and\(\psi\), such that\(\phi \models \rho\)and\(\rho \models \psi\).

Interpolation can thus be exploited to eliminate part of the signature from a knowledge base \(KB\) such that a reduced knowledge base entails a query faithfully; Fig. 2 illustrates this on a simple example: for the entailment of the query \(q = \lnot rain \vee danger\), we can obtain the reduced knowledge base \(KB '\) by forgetting \(road\_wet\).

For a set respectively class Q of queries, a uniform interpolant\(\rho\) may be chosen, which is an interpolant for every query \(\rho\) in Q. In particular, if Q consists of all sentences that do not mention a predicate symbol P that should be forgotten, a uniform interpolant \(\rho\) for Q is a candidate representation of \(forget ( KB ,P)\); in case the latter exists (i.e., an FOL sentence exists that captures the class \(\{ M \mid \exists M' \in Mod( KB ), M \sim _P M'\}\) of models), then uniform interpolants \(\rho\) exist as well and any strongest such \(\rho\) represents \(forget ( KB ,P)\) faithfully. Unfortunately, the existence of uniform interpolants does not ensure that semantic \(forget ( KB ,P)\) exists in general. Therefore uniform interpolants provide an approximation of \(forget ( KB ,P)\) in general; for answering queries over the reduced signature, this approximation is in fact exact.

Finding uniform interpolants is thus an attractive approach for forgetting in the context of classical FOL which has been extensively exploited (e.g. in description logics, [51], started a systematic investigation of languages to express uniform interpolants for different query classes Q). The notion is intimately related to inseparability and conservative extensions of logical theories; we refer to Lutz and Wolter [69], Botoeva et al. [11] for further information and a broad discussion of the subject.

For nonmonotonic KR formalisms, there is much less work on uniform interpolation. Gabbay et al. [34] considered Equilibrium Logic, which is a logical view of ASP as a nonmonotonic version of the nonclassical logic HT [78], and they characterized projective ASP equivalence of Eiter et al. [29] as inseparability via interpolation. Moreover, they exploited results on forgetting facts in ASP [28] to show a uniform interpolation property for facts and conjunctions of literals. Wang et al. [86] later generalized this to all formulas in ASP. More recently, Delgrande and Wang [23] defined a consequence-based notion of forgetting propositional variables V from an ASP program. In their approach, the result of \(forget ( KB ,V)\) is a uniform interpolant for all consequences \(\phi\) of \(KB\) that do not involve any variable from V; furthermore, they gave an algorithm for constructing such an interpolant. It remains to be seen, however, to what extent these results can be extended to non-propositional programs.

Finally, as for modal logics, the knowledge forgetting of Zhang and Zhou [92] in Definition 7 amounts to existential bisimulation quantification. Any logic that is closed under the elimination of this quantification has the interpolation property, and for several modal logics, this was known [32]; the authors have extended this to the range of multimodal logics \(K_n\) , \(D_n\), \(T_n\), \(K45_n\), \(KD45_n\), and \(S5_n\).

8 Applications in KRR

In this section, we briefly report on some ways of using forgetting in order to solve various problems in the field of knowledge representation and reasoning. Our report should give an impression on the manifold of applications and thus provide evidence for the relevance of the subject. It is partly based on [54, 60, 61], but by no means covers the different usages of forgetting and the literature exhaustively.

Query Answering. Forgetting and/or independence properties have been widely used to optimize query answering from knowledge bases, for different purposes. To remove redundancy, query answering can be limited to consider formulas independent from a set V of variables. These variables are forgotten from the formulas respectively, while consequences that are independent of V are preserved. The same method is used in the FOL context or dedicated fragments like description logics, where predicates (respectively, concepts and/or roles) are forgotten in order to reduce the knowledge base to a relevant part for query answering; this may be done offline based on the characteristics of the online queries, computing e.g. interpolants (see Sect. 7).

It is worth pointing out that besides for deduction, forgetting is also useful for abduction and explanation finding, as needed e.g. in diagnostic reasoning. To this end, explanations for observations on a system are formed using abnormality assumptions on the non-working of components in the system. Then all but abnormality is forgotten, and the broken (i.e., abnormal) components are distilled out as an explanation. For example, a formula \(\phi = switch\_on \wedge \lnot ab_{bulb} \rightarrow light\) may express that there is light if the switch is on and the bulb of a lamp is ok. If we observe the switch is on but the light is off, a broken bulb is a possible explanation; it results by \(forget (\{\phi ,\)\(switch\_on\), \(\lnot light \},\)\(\{ switch\_on\), \(light \} = \{ ab_{bulb} \}\).

Knowledge Base Engineering. 

In fact, the decomposition technique may also be utilized at an abstract level of knowledge engineering in order to structure large or complex knowledge bases. The latter are decomposed into thematic sub-KBs (e.g., geographic aspects, events in a city, public transport), and parts that are irrelevant for a specific task are forgotten. In the analysis of ontologies, restricted views are computed that use only a limited set of symbols of current interest. Hidden relations between concepts and individuals are then made explicit (cf. [51]), which aids in clarifying relations among predicates respectively propositions. Furthermore, applying changes to an ontology can effect undesired new entailments regarding already defined concepts. The new entailments in the common signature of two ontologies are referred to as their logical difference [50]. This logical difference can easily be computed by checking for entailment of the axioms of the respective uniform interpolants that implement forgetting (cf. [68] and the discussion of interpolation in Sect. 7). For an application, only a part \(\varSigma '\subseteq \varSigma\) of the \(KB\) signature may be relevant. Uniform interpolants can be used to extract small subsets of ontologies, as modules, for reusing them in specialized contexts; we refer to Botoeva et al. [11] and references therein for more details. When multiple users access an ontology, protecting confidential information is critical [40]. A possible solution to this problem is to let users share a uniform interpolant of the original ontology, in which confidential concepts and relations have been eliminated. Summarising these different applications, forgetting is an important method for knowledge engineering in order to provide views on knowledge bases, by respecting relevance of and interest in information.

Belief Revision and Knowledge Base Update.

A general form of knowledge base update, resp. belief change, can be performed by using forgetting operations. In order to update a (propositional) knowledge base \(KB\) with a formula \(\phi\), one can proceed in three steps as follows:
  1. (1)

    first, relevant variables V for the update of \(KB\) by \(\phi\) are determined;

  2. (2)

    then all variables in V are forgotten from \(KB\), resulting in \(KB ' = forget ( KB ,V)\);

  3. (3)

    finally, \(\phi\) is added to \(KB '\) to obtain the result \(upd( KB ,\phi )\)\(= KB ' \cup \{ \phi \}\).

The only problem which remains here is how to determine V. Weber [88] proposed to collect in V all variables that occur in some minimal disagreement set between \(KB\) and \(\phi\), where a disagreement set is any set D of variables on which some model M of \(KB\) and some model \(M'\) of \(\phi\) disagree, i.e., \(D = (M\setminus M') \cup (M'\setminus M)\) is the symmetric set difference between M and \(M'\); D is minimal, if no disagreement set \(D'\subset D\) exists. We illustrate this in the following example.

Example 23

Consider \(KB = \{ rain,\, rain \rightarrow road\_wet \}\). We want to update \(KB\) with \(\phi = \lnot road\_wet\).The single minimal disagreement set according to Weber [88] here is \(D = \{ road\_wet \}\), which results for \(M= \{ rain ,\)\(road\_wet \}\) and \(M'= \{ rain \}\). Forgetting \(V = D\) leads to
$$\begin{aligned} KB '= & {} \{\phi ^+_{ road\_wet } \vee \phi ^-_{ road\_wet }\}\\= & {} \{ [ rain \wedge ( rain \rightarrow \bot )] \vee [ rain \wedge ( rain \rightarrow \top )] \}\\= & {} \{ rain \}, \end{aligned}$$
so that we obtain \(upd( KB ,\phi ) = \{ rain , \lnot road\_wet \}\) in the end. Informally, what has happened here is that the formula \(rain \rightarrow road\_wet\) has been given up in order to arrive at a satisfiable knowledge base.

One may ask how this three-step approach compares to the AGM framework [3], and whether in particular the AGM axioms for belief revision would be satisfied. In fact, the technique to first remove conflicts, which is achieved by the steps (1) and (2), and then adding the update formula in step (3) is very much in the spirit of the Levi identity from AGM, which defines revision in terms of contraction and expansion [35]. In general, forgetting all relevant variables would be quite a drastic form of belief contraction according to the contraction principles of AGM theory, and thus one may expect that Weber’s operator does not satisfy the AGM revision postulates; this is indeed the case because it is not complying with the minimal change paradigm in AGM theory; for more details, cf. [46].

Notably, further belief update operators from the literature can be the characterized by the three-step method from above, such as the modified PMA (MPMA) approach [25] and equivalent approaches (see [42]). While the latter do not satisfy the AGM postulates either, they satisfy the postulates of Katsuno and Mendelzon [45], which aim to capture the essence of a world change as opposed to a belief change. The fact that forgetting variables V from a knowledge base \(KB\) boils down to forgetting V from each model of \(KB\) individually matches a similar KM-postulate for update suggesting that the three-step approach to belief update from above is in fact better suited for the KM framework. Indeed, a respective update operator by Zhang and Zhou [92] for modal-logic knowledge bases, which is based on their knowledge forgetting for Step 2 and generalizes the MPMA approach, satisfies the KM postulates. The latter holds also for the belief update approach by Baral and Zhang [7], which generalizes the PMA approach. In this context, it might be even more rewarding to compare forgetting operators to erasure operations which have also been considered in Katsuno and Mendelzon [45] as counterparts to update operations.

Inconsistency Tolerance. Inconsistencies occur if too much information is available, also containing conflicts and contradictions. A suggestive way to remedy this problem is to reduce information by forgetting. Restoring consistency is deeply related to revision and update, e.g., [41] calls this operation consolidation; in the databases and KRR communities, it is called a repair (cf. [9]).

Several authors have developed methods to restore consistency based on forgetting. Lang and Marquis [59] used forgetting to merge knowledge bases \(KB _1\),...\(KB _n\) when their naive union may result in inconsistency. Xiao et al. [91] represent repair semantics of description logics by forgetting in the following way. Given a DL knowledge base \(KB = {\mathscr {T}}\cup {\mathscr {A}}\), they defined an (AR-)repair for \(KB\) to be any maximal \({\mathscr {A}}'\subseteq {\mathscr {A}}\) such that the sub-base \(KB ' = {\mathscr {T}}\cup {\mathscr {A}}'\) of \(KB\) is satisfiable. Then \(KB\)repair-entails a query q, denoted \(KB \models _r q\), if each repair \(KB '\) for \(KB\) logically entails q. For certain DLs, e.g. DL-Lite, repair-entailment is expressible via forgetting: for (boolean conjunctive) queries q over signature \(\varSigma '\), we have
$$\begin{aligned} KB&\models _r \ q & \quad \hbox { if and only if}\\ & KB ' \models \, q & \quad \hbox { for some repair } KB '={\mathscr {T}}'\cup {\mathscr {A}}'\hbox { for } KB , \end{aligned}$$
where \(KB '\) is expressed in DL-Lite over the signature \(\varSigma \setminus \varSigma '\), and \({\mathscr {T}}' = forget ({\mathscr {T}},\varSigma \setminus \varSigma ')\). Moreover, \(KB '\) is effectively computable (for variants of repairs, even in polynomial time under data complexity) [91].

Reasoning about Knowledge. Forgetting can also be exploited for reasoning about knowledge in a multi-agent setting. Su et al. [83] equipped agents with variable forgetting to reason about their own knowledge or that of other agents, given a background knowledge \(KB\). The key notions in this approach are observable variables (for each of the agents) and weakest sufficient condition (WSC) for a formula, which is computed by forgetting. The central issue is: does agent \(a_i\) know in a state s, from her observable variables \(O_i\), whether a formula \(\phi\) holds (denoted \(( KB ,s) \models K_i\phi\))?. Here, a states is a valuation of the variables V that satisfies \(KB\). Answering this question boils down to apply forgetting, using results of Lin [64]:

Theorem 2

(Knowledge as WSC; [83]) For any statesand objective formula\(\phi\),
$$\begin{aligned} ( KB ,s)\models K_i \phi \leftrightarrow WSC^\phi _i\,\hbox {and} \,( KB ,s)\models \lnot K_i \lnot \phi \leftrightarrow SNC^\phi _i, \end{aligned}$$
  • \(WSC^\phi _i =\)\(\lnot forget ( KB \cup \{\lnot \phi \},V\setminus O_i)\)is theweakest sufficient condition for \(\phi\)w.r.t.\(a_i\), and

  • \(SNC^\phi _i =\)\(forget ( KB \cup \{\phi \},V\setminus O_i)\)is thestrongest necessary condition for\(\phi\)w.r.t.\(a_i\).

We remark that intuitively, the weakest sufficient condition is an explanation for \(\phi\), based on \(KB\); rewritten to disjunctive normal form \(\delta _1\vee \cdots \vee \delta _m\), each disjunct \(\delta _i\) is a (stronger) explanation for \(\phi\) as well; in particular, \(\phi\) is the weakest explanation that is formed by disjunction of the strongest such explanations in terms of Ockham’s Razor.

We illustrate this approach by an example from Su et al. [83].

Example 24

Consider the following knowledge base, which represents information about message sending and acknowledgement betwen two agents Alice and Bob:
$$\begin{aligned} KB = \left\{ \begin{array}{l} Bob\_recv\_msg \rightarrow Alice\_send\_msg \\ Bob\_send\_ack \rightarrow Bob\_recv\_msg \\ Alice\_recv\_ack \rightarrow Bob\_send\_ack \end{array} \right\} \,. \quad \end{aligned}$$
Suppose the observables of the agents are
$$\begin{aligned} O_{ Bob }= & {} \{ Bob\_recv\_msg, Bob\_send\_ack \},\\ O_{ Alice }= & {} \{ Alice\_send\_msg, Alice\_recv\_ack \}. \end{aligned}$$
From the knowledge base and their observables, the agents can conclude information that they have not observed. For instance, Alice knows \(Bob\_recv\_msg\) if \(Alice\_recv\_ack\) holds by chaining rules. Then, a sufficient condition for Alice to know \(Bob\_recv\_msg\) would be \(Alice\_recv\_ack\), and this is indeed the weakest sufficient condition for this knowledge, given \(KB\).

Thus from her observations, Alice can get to know \(Bob\_recv\_msg\) only by receiving Bob’s acknowledgement. Similarly, Alice can know \(Bob\_send\_ack\) only by receiving the acknowledgement.

As to Bob’s knowledge, he knows \(Alice\_send\_msg\) if \(Bob\_recv\_msg\) holds, and by the knowledge base, the latter must necessarily hold to conclude \(Alice\_send\_msg\). Indeed, the only way Bob gets to know \(Alice\_send\_msg\) is that he receives Alice’s message, so this is the strongest necessary condition.

Finally, Bob does not know \(Alice\_recv\_ack\), and Alice obtains her view on Bob’s knowledge by computing all she knows about Bob’s observations, using the knowledge base.

Now suppose we want to find out whether Alice knows \(Bob\_recv\_msg\) in state \(s = \{ Alice\_recv\_ack \}\), i.e., does \(( KB ,s)\models K_{A} \, Bob\_recv\_msg\) hold? We have
$$\begin{aligned} O_{ Alice }= & {} \{ Alice\_send\_msg, Alice\_recv\_ack \}\\ \phi= & {} Bob\_recv\_msg \end{aligned}$$
By Theorem 2, \(( KB ,s)\models K_i \phi \leftrightarrow \lnot forget ( KB \cup \{\lnot \phi \},\)\(V\setminus O_i)\). We consider the forget-formula, where we use \(B\_r\_m = Bob\_recv\_msg\), \(B\_s\_a = Bob\_send\_ack\), \(A\_r\_a = Alice\_recv\_ack\):
$$\begin{aligned} \begin{array}{l} \lnot forget ( KB \cup \{\lnot \phi \}, V \setminus O_i) \\ \quad = \lnot forget ( KB \cup \{ \lnot B\_r\_m\} , \{B\_r\_m, B\_s\_a \}) \\ \quad = \lnot forget (\{ \lnot A\_r\_a, \lnot B\_s\_a, \lnot B\_r\_m \} , \{ B\_r\_m, B\_s\_a \}) \\ \quad = \{ \lnot \lnot A\_r\_a \} \\ \quad = \{ A\_r\_a \} \end{array} \end{aligned}$$
Since \(Alice\_recv\_ack\) is true in s, we obtain that \(K_{A} \, Bob\_recv\_msg\) holds.

Reasoning about Actions and Planning.

Cognitive robotics is another application domain of forgetting, e.g., for determining cause-effect relationships. Fluents “independent” of taking an action can be forgotten, when the effects of this action are to be determined. By a reverse analysis, one can single out actions that are relevant for achieving a certain change, or effect. Progressing a database means one forgets about the initial state, resp. its state description [66]. Liu and Lakemeyer [67] applied the notion of forgetting in the situation calculus, obtaining some interesting results about the FOL-definability and computability of progression for local-effect actions; more on forgetting in the situation calculus can be found, e.g., in Rajaratnam et al. [81]. A kind of abstraction is considered by Erdem and Ferraris [30] when forgetting actions in planning.

9 Discussion and Conclusion

In the previous sections, we have surveyed forgetting in different formalisms for knowledge representation and reasoning, ranging from classical logic to dedicated languages and to extensions. We have also briefly touched some notions closely related to forgetting, and we have considered different usages of forgetting as a tool for problem solving. This and the rich, continuously growing literature on forgetting provides evidence that forgetting is an important topic in KRR.

On the other hand, the survey also shows that there is no generally accepted precise definition of forgetting; many interpretations and implementations are possible. The most common ones are viewing forgetting as “becoming unaware”, or as “becoming ignorant”; but also abstraction may be regarded as a type of forgetting. As a general purpose definition of forgetting seems elusive, a natural question is whether for certain types of forgetting, definitions are possible at an abstract level, such that properties and results established for the notions are inherited by concrete KRR formalisms as instances; in such a view, also a better understanding of the notion of forgetting across different formalisms may be gained.

An important contribution in this direction is the recent work by Delgrande [21, 22], who considered forgetting as losing the ability to express, or represent, information about the domain, rather than losing information about a domain per se. He proposed an abstract framework based on logics that have signatures \(\varSigma\) and languages \(L_\varSigma\) of formulas over them, and are equipped with a Tarskian consequence relation \(Cn( KB )\) and models \(Mod( KB )\) for a knowledge base (set of formulas) \(KB\) in \(L_\varSigma\). For example, classical propositional logic, FOL, modal logic S4, DLs, but also ASP fit this framework.

Forgetting a part \(\varSigma ' \subseteq \varSigma\) of the signature from a knowledge base \(KB\) over \(\varSigma\) amounts to keep the consequences that are on \(\varSigma \setminus \varSigma '\), i.e., do not mention any symbol in \(\varSigma '\). This is called knowledge level forgetting, formally defined as
$$\begin{aligned} forget ( KB ,\varSigma ') = Cn_\varSigma ( KB ) \cap L_{\varSigma \setminus \varSigma '}, \end{aligned}$$
and has the following syntactical properties (i.e., with respect to the consequence relation):

Proposition 15

(Knowledge level forgetting: syntax; [21]) Let\(KB\)be a knowledge base in\(L_\varSigma\)for a signature\(\varSigma\), and let\(\varSigma '\subseteq \varSigma\)be a subsignature. Then
$$\begin{aligned} \begin{array}{ll} \mathrm{(i)}&{} forget ( KB ,\varSigma ') \subseteq Cn_\varSigma ( KB ) \quad (consequence\ loss)\\ \mathrm{(ii)}&{} If KB \leftrightarrow KB ', then\ forget ( KB ,\varSigma ') \leftrightarrow forget ( KB ',\varSigma ') \quad (irrelevance\ of\ syntax) \\ \mathrm{(iii)}&{} forget ( KB ,\varSigma ') = Cn_{\varSigma \setminus \varSigma '}( forget ( KB ,\varSigma ')) \quad (closure) \\ \mathrm{(iv)}&{} forget ( KB ,\varSigma _1\cup \varSigma _2) = forget ( forget ( KB ,\varSigma _1),\varSigma _2) \quad (iterativity) \\ \mathrm{(v)}&{} Cn_{\varSigma \setminus \varSigma '}( KB ) = Cn_{\varSigma \setminus \varSigma '}( forget ( KB ,\varSigma ')), \quad (conservative\ extension) \end{array} \end{aligned}$$

In particular, (i) states that no new consequences can emerge, and (ii) that the syntactic form of the knowlege base does not matter. Item (iii) states that the result of forgetting is deductively closed, while (iv) says that one can forget stepwise in arbitrary order. Finally (v) ensures that all consequences on the reduced signature are faithfully preserved.

The previous proposition is complemented by the following semantic properties:

Proposition 16

(Knowledge level forgetting: semantics; [21]) Let\(KB\)be a knowledge base in\(L_\varSigma\)for a signature\(\varSigma\), and let\(\varSigma '\subseteq \varSigma\)be a subsignature. Then
  1. (i)

    \(Mod_{\varSigma \setminus \varSigma '}( forget ( KB ,\varSigma ')) = Mod_\varSigma ( KB )|_{\varSigma \setminus \varSigma '}\)       (model projection)

  2. (ii)

    \(Mod_{\varSigma }( forget ( KB ,\varSigma ')) = (Mod_\varSigma ( KB )|_{\varSigma \setminus \varSigma '})_{\uparrow \varSigma }\)    (model extension)

where\(|_{\varSigma \setminus \varSigma '}\)denotes the restriction of each modelMto\(\varSigma \setminus \varSigma '\), and\(_{\uparrow \varSigma }\)are all extensions of the interpretations from\(\varSigma '\)to\(\varSigma\).

Thus by items (i) and (ii), the models of forgetting are obtainable by elementary projection and extension operations on the models of the knowledge base \(KB\).

As shown by Delgrande [21, 22], a number of proposals for forgetting in various KR formalisms fit this framework; we highly recommend [22] as an excellent and deeper study of forgetting approaches for logic-based knowledge bases.

Some of the results on forgetting for these formalisms (e.g., essential aspects of relationships) may be understood better in the abstract view. Furthermore, the link to uniform interpolation becomes more apparent: any finite representation \(KB '= forget ( KB ,\varSigma ')\) for forgetting, possibly in an enriched language, would be a uniform interpolant for \(forget ( KB ,\varSigma ')\). It remains to be seen how far the knowledge level forgetting framework can be applied, and which novel, interesting properties may be obtained at the abstract level.

Since there is no unifying definition of forgetting covering at least its most important aspects, we are far from having an established theory of forgetting. Many further issues need to be addressed. First and maybe most crucial, how to decide what to forget? The cognitive aspects of forgetting are important for agents, dealing both with unaware and deliberate notions of forgetting. Understanding the duality between forgetting and remembrance is particularly important here. On the technical side, we need algorithms and implementations. For this, finding representations of forgetting would be helpful, answering the question whether a finite characterization of \(forget ( KB ,\varSigma ')\) exists. Moreover, more work is needed to identify inexpensive fragments of KR formalisms such as decomposable negation normal form, DNNF, for propositional formulas [20]; note that in this context prime-implicate based computation of forgetting appeared to be expensive [64]. Moreover, software tools that support users in forgetting have to be provided.

Furthermore, connections from forgetting to other operations like filtering, i.e., applying domain-specific relevance, must be elaborated in more detail. Understanding forgetting vs. change is particularly interesting. In this survey, we have considered contraction of belief (e.g., in the AGM framework) as a form of deliberate forgetting. Delgrande [21] has pointed out that at the knowledge level, forgetting a fact in predicate logic is not meaningful in general, as this is not expressible in terms of a subsignature \(\varSigma '\subseteq \varSigma\) that should be forgotten. As an example, after forgetting \(student( John )\) still \(\exists x. (x= John \wedge student(x))\) would hold, which logically implies \(student( John )\). Delgrande thus recommended to view \(student( John )\) as assertion, and do belief contraction. Since contraction is closely related to revision in the AGM framework, relating forgetting to belief change embeds forgetting operations into a more general change scenario where forgetting is part of more comprehensive operations. This may shed some light on the questions why something should be forgotten, and what purposes forgetting is to serve. We have addressed these questions in some places throughout this survey by recalling suitable approaches. However, further work towards a general theory of (all aspects of) forgetting is needed.


  1. 1.
  2. 2.
  3. 3.

    In Latin “Entia non sunt mulitplicanda praeter necessitatem,” attributed to William of Ockham, 14th c.

  4. 4.

    The rule of necessitation says that when a formula \(\phi\) is derived, we can also derive \(K\phi\). The modality K is here viewed akin to \(\Box\), for which this rule had been originally introduced.

  5. 5.

    The notion of uniform interpolant will be described in Sect. 7, to which we also defer further discussion of the subject.



The authors are grateful to the reviewers for their constructive comments to improve this article. This work was partly supported by DFG Priority Programme 1921 Intentional Forgetting. The first author is grateful to DFG for supporting his attendance of the internal workshop of the Programme in Limburg, Germany, May 3–4, 2018.


  1. 1.
    Ackermann W (1935) Untersuchungen über das Eliminationsproblem der mathematischen Logik. Mathematische Annalen 110:390–413.
  2. 2.
    Alassaf R, Schmidt RA (2017) A preliminary comparison of the forgetting solutions computed using SCAN, LETHE and FAME. In: Koopmann P, Rudolph S, Schmidt RA, Wernhard C (eds) Proceedings of the workshop on second-order quantifier elimination and related topics (SOQE 2017), 6–8 Dec 2017. CEUR workshop proceedings, vol 2013. Dresden, Germany, pp 21–26.
  3. 3.
    Alchourrón C, Gärdenfors P, Makinson D (1985) On the logic of theory change: partial meet contraction and revision functions. J Symb Log 50(2):510–530MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Alferes JJ, Knorr M, Wang K (2013) Forgetting under the well-founded semantics. In: Cabalar P, Son TC (eds) Logic programming and nonmonotonic reasoning, 12th international conference, LPNMR 2013, Corunna, Spain, 15–19 Sept 2013. Lecture notes in computer science, vol 8148. Proceedings, Springer, pp 36–41.
  5. 5.
    Antoniou G, Eiter T, Wang K (2012) Forgetting for defeasible logic. In: Bjørner N, Voronkov A (eds) Logic for programming, artificial intelligence, and reasoning—18th international conference, LPAR-18, Mérida, Venezuela, 11–15 March 2012. Lecture notes in computer science, vol 7180. Proceedings, Springer, pp 77–91.
  6. 6.
    Baader F, Calvanese D, McGuinness D, Nardi D, Patel-Schneider PF (eds) (2003) The description logic handbook: theory, implementation and applications. Cambridge University Press, CambridgeGoogle Scholar
  7. 7.
    Baral C, Zhang Y (2005) Knowledge updates: semantics and complexity issues. Artif Intell 164(1–2):209–243. MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Baral C, Giacomo GD, Eiter T (eds) (2014) Principles of knowledge representation and reasoning. In: Proceedings of the fourteenth international conference, KR 2014, 20–24 Jul 2014, AAAI Press, Vienna, Austria.
  9. 9.
    Bertossi LE (2011) Database repairing and consistent query answering. Synthesis lectures on data management. Morgan and Claypool Publishers, San Francisco.
  10. 10.
    Boole G (1854) An investigation of the laws of thought on which are founded the mathematical theories of logic and probabilities. Macmillan, LondonzbMATHGoogle Scholar
  11. 11.
    Botoeva E, Konev B, Lutz C, Ryzhikov V, Wolter F, Zakharyaschev M (2016) Inseparability and conservative extensions of description logic ontologies: a survey. In: Pan JZ, Calvanese D, Eiter T, Horrocks I, Kifer M, Lin F, Zhao Y (eds) Reasoning web: logical foundation of knowledge graph construction and query answering—12th international summer school 2016, 5-9 Sept 2016, Tutorial lectures, Lecture notes in computer science, vol 9885. Springer, Aberdeen, UK, pp 27–89.
  12. 12.
    Boutilier C (1994) Toward a logic for qualitative decision theory. In: Doyle J, Sandewall E, Torasso P (eds) Proceedings of the 4th international conference on principles of knowledge representation and reasoning (KR’94), 24–27 May 1994. Morgan Kaufmann, Bonn, Germany, pp 75–86Google Scholar
  13. 13.
    Boutilier C (ed) (2009) IJCAI 2009, Proceedings of the 21st international joint conference on artificial intelligence, Pasadena, California, USA, 11–17 Jul 2009.
  14. 14.
    Brewka G, Eiter T, Truszczynski M (2011a) Answer set programming at a glance. Commun ACM 54(12):92–103. CrossRefGoogle Scholar
  15. 15.
    Brewka G, Marek V, Truszczynski M (eds) (2011b) Nonmonotonic reasoning. Essays celebrating its 30th anniversary. College Publications, LondonGoogle Scholar
  16. 16.
    Brewka G, Eiter T, McIlraith SA (eds) (2012) Principles of knowledge representation and reasoning: proceedings of the thirteenth international conference, KR 2012, 10–14 June 2012, AAAI Press, Rome, ItalyGoogle Scholar
  17. 17.
    Cabalar P, Pearce D, Valverde A (2018) Answer set programming from a logical point of view. KI - Künstliche Intelligenz.
  18. 18.
    Cadoli M, Donini F, Schaerf M, Silvestri R (2000) On compact representations of propositional circumscription. Theor Comput Sci 182(1–2):183–202MathSciNetzbMATHGoogle Scholar
  19. 19.
    Craig W (1957) Three uses of the Herbrand-Gentzen theorem in relating model theory and proof theory. J Symb Logic 22(3):269–285. MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Darwiche A (2001) Decomposable negation normal form. J ACM 48(4):608–647. MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Delgrande JP (2014) Towards a knowledge level analysis of forgetting. In: Baral et al. (2014).
  22. 22.
    Delgrande JP (2017) A knowledge level account of forgetting. J Artif Intell Res 60:1165–1213. MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Delgrande JP, Wang K (2015) A syntax-independent approach to forgetting in disjunctive logic programs. In: Bonet B, Koenig S (eds) Proceedings of the twenty-ninth AAAI conference on artificial intelligence, 25–30 Jan 2015. AAAI Press, Austin, Texas, USA, pp 1482–1488.
  24. 24.
    van Ditmarsch H, Herzig A, Lang J, Marquis P (2009) Introspective forgetting. Synthese 169(2):405–423. MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Doherty P, Lukaszewicz W, Madalinska-Bugaj E (1998) The PMA and relativizing minimal change for action update. In: Cohn AG, Schubert LK, Shapiro SC (eds) Proceedings of the sixth international conference on principles of knowledge representation and reasoning (KR’98), 2–5 June 1998. Morgan Kaufmann, Trento, Italy, pp 258–269Google Scholar
  26. 26.
    Ebbinghaus H (1885) Über das Gedächtnis. Untersuchungen zur experimentellen Psychologie. Duncker and Humblot, LeipzigGoogle Scholar
  27. 27.
    Eiter T, Gottlob G (1993) Propositional circumscription and extended closed-world reasoning are \({\Pi }^p_2\)-complete. Theor Comput Sci 114(2):231–245. CrossRefzbMATHGoogle Scholar
  28. 28.
    Eiter T, Wang K (2008) Semantic forgetting in answer set programming. Artif Intell 172(14):1644–1672. MathSciNetCrossRefzbMATHGoogle Scholar
  29. 29.
    Eiter T, Tompits H, Woltran S (2005) On solution correspondences in answer-set programming. In: Kaelbling and Saffiotti (2005), pp 97–102.
  30. 30.
    Erdem E, Ferraris P (2007) Forgetting actions in domain descriptions. In: Proceedings of the twenty-second AAAI conference on artificial intelligence, 22–26 July 2007, AAAI Press, Vancouver, British Columbia, Canada, pp 409–414.
  31. 31.
    Fagin R, Halpern J, Moses Y, Vardi M (1995) Reasoning about knowledge, 2nd edn. MIT Press, CambridgezbMATHGoogle Scholar
  32. 32.
    Fang L, Liu Y, van Ditmarsch H (2016) Forgetting in multi-agent modal logics. In: Kambhampati S (ed) Proceedings of the twenty-fifth international joint conference on artificial intelligence, IJCAI 2016, 9–15 July 2016, IJCAI/AAAI Press, New York, NY, USA, pp 1066–1073.
  33. 33.
    Fuhrmann A, Hansson SO (1994) A survey of multiple contractions. J Log Lang Inf 3:39–75MathSciNetCrossRefzbMATHGoogle Scholar
  34. 34.
    Gabbay DM, Pearce D, Valverde A (2011) Interpolable formulas in equilibrium logic and answer set programming. J Artif Intell Res 42:917–943.
  35. 35.
    Gärdenfors P, Rott H (1994) Belief revision. In: Gabbay D, Hogger C, Robinson J (eds) Handbook of logic in artificial intelligence and logic programming. Oxford University Press, Oxford, pp 35–132Google Scholar
  36. 36.
    Ghilardi S, Lutz C, Wolter F (2006a) Did I damage my ontology? A case for conservative extensions in description logics. In: Doherty P, Mylopoulos J, Welty CA (eds) Proceedings, tenth international conference on principles of knowledge representation and reasoning, 2–5 June 2006, AAAI Press, Lake District of the United Kingdom, pp 187–197.
  37. 37.
    Ghilardi S, Lutz C, Wolter F, Zakharyaschev M (2006b) Conservative extensions in modal logic. In: Governatori G, Hodkinson IM, Venema Y (eds) Advances in modal logic 6, papers from the sixth conference on “advances in modal logic,” held in Noosa, Queensland, Australia, on 25–28 Sept 2006. College Publications, pp 187–207.
  38. 38.
    Gonçalves R, Knorr M, Leite J (2016a) The ultimate guide to forgetting in answer set programming. In: Baral C, Delgrande JP, Wolter F (eds) Principles of knowledge representation and reasoning: proceedings of the fifteenth international conference, KR 2016, 25 April 2016. AAAI Press, Cape Town, South Africa, pp 135–144.
  39. 39.
    Gonçalves R, Knorr M, Leite J (2016b) You can’t always forget what you want: on the limits of forgetting in answer set programming. In: Kaminka GA, Fox M, Bouquet P, Hüllermeier E, Dignum V, Dignum F, van Harmelen F (eds) ECAI 2016—22nd European conference on artificial intelligence, 29 Aug–2 Sept 2016, . Including prestigious applications of artificial intelligence (PAIS 2016). Frontiers in artificial intelligence and applications, vol 285. IOS Press, pp 957–965.
  40. 40.
    Grau BC, Motik B (2010) Pushing the limits of reasoning over ontologies with hidden content. In: Lin F, Sattler U, Truszczynski M (eds) Principles of knowledge representation and reasoning: proceedings of the twelfth international conference, KR 2010, 9–13 May 2010. AAAI Press, Toronto, Ontario, Canada.
  41. 41.
    Hansson S (1999) A textbook of belief dynamics. Kluwer Academic Publishers, DordrechtCrossRefzbMATHGoogle Scholar
  42. 42.
    Herzig A, Rifi O (1999) Propositional belief base update and minimal change. Artif Intell 115(1):107–138. MathSciNetCrossRefzbMATHGoogle Scholar
  43. 43.
    Hintikka J (1962) Knowledge and belief. Cornell University Press, IthacazbMATHGoogle Scholar
  44. 44.
    Kaelbling LP, Saffiotti A (eds) (2005) IJCAI-05, Proceedings of the nineteenth international joint conference on artificial intelligence, Jul 30–Aug 5, 2005, Professional Book Center, Edinburgh, Scotland, UK.
  45. 45.
    Katsuno H, Mendelzon AO (1991a) On the difference between updating a knowledge base and revising it. In: Proceedings second international conference on principles of knowledge representation and reasoning (KR-91), pp 387–395Google Scholar
  46. 46.
    Katsuno H, Mendelzon AO (1991b) Propositional knowledge base revision and minimal change. Artif Intell 52:253–294MathSciNetCrossRefzbMATHGoogle Scholar
  47. 47.
    Kern-Isberner G, Bock T, Sauerwald K, Beierle C (2017) Iterated contraction of propositions and conditionals under the principle of conditional preservation. In: Benzmüller C, Lisetti C, Theobald M (eds) Proceedings 3rd global conference on artificial intelligence, GCAI 2017, EPiC series in computing, vol 50, pp 78–92Google Scholar
  48. 48.
    Klir G, Yuan B (eds) (1996) Fuzzy sets, fuzzy logic, fuzzy systems. Selected papers by Lotfi A. Zadeh. World Scientific Press, SingaporeGoogle Scholar
  49. 49.
    Knorr M, Alferes JJ (2014) Preserving strong equivalence while forgetting. In: Fermé E, Leite J (eds) Logics in artificial intelligence –14th European conference, JELIA 2014, 24–26 Sept 2014. Proceedings, lecture notes in computer science, vol 8761. Springer, Funchal, Madeira, Portugal, pp 412–425,
  50. 50.
    Konev B, Walther D, Wolter F (2008) The logical difference problem for description logic terminologies. In: Armando A, Baumgartner P, Dowek G (eds) Automated reasoning, 4th international joint conference, IJCAR 2008, 12–15 Aug 2008, Proceedings, lecture notes in computer science, vol 5195. Springer, Sydney, Australia, pp 259–274.
  51. 51.
    Konev B, Walther D, Wolter F (2009) Forgetting and uniform interpolation in large-scale description logic terminologies. In: Boutilier (2009), pp 830–835.
  52. 52.
    Konev B, Lutz C, Walther D, Wolter F (2013) Model-theoretic inseparability and modularity of description logic ontologies. Artif Intell 203:66–103. MathSciNetCrossRefzbMATHGoogle Scholar
  53. 53.
    Konieczny S, Pino Pérez R (2017) On iterated contraction: syntactic characterization, representation theorem and limitations of the levi identity. In: Moral S, Pivert O, Sánchez D, Marín N (eds) Proceedings of the 11th international conference of scalable uncertainty management, sum 2017, lecture notes in computer science, vol 10564. Springer, Berlin, pp 348–362Google Scholar
  54. 54.
    Koopmann P (2015) Practical uniform interpolation for expressive description logics. PhD thesis, University of Manchester, UK.
  55. 55.
    Koopmann P, Schmidt RA (2013) Uniform interpolation of—ontologies using fixpoints. In: Fontaine P, Ringeissen C, Schmidt RA (eds) Frontiers of combining systems—9th international symposium, FroCoS 2013, 18–20 Sept 2013. Proceedings, Lecture notes in computer science, vol 8152. Springer, Nancy, France, pp 87–102.
  56. 56.
    Kripke SA (1959) A completeness theorem in modal logic. J Symb Log 24(1):1–14. MathSciNetCrossRefzbMATHGoogle Scholar
  57. 57.
    Kripke SA (1963) Semantical analysis of modal logic I: normal modal propositional calculi. Zeitschrift für Mathematische Logik und Grundlagen der Mathematik 9(5–6):67–96. MathSciNetCrossRefzbMATHGoogle Scholar
  58. 58.
    Lakemeyer G (1997) Relevance from an epistemic perspective. Artif Intell 97(1–2):137–167. MathSciNetCrossRefzbMATHGoogle Scholar
  59. 59.
    Lang J, Marquis P (2002) Resolving inconsistencies by variable forgetting. In: Fensel D, Giunchiglia F, McGuinness DL, Williams M (eds) Proceedings of the eights international conference on principles and knowledge representation and reasoning (KR-02), April 22–25, 2002, Morgan Kaufmann, Toulouse, France, pp 239–250Google Scholar
  60. 60.
    Lang J, Liberatore P, Marquis P (2003) Propositional independence: formula-variable independence and forgetting. J Artif Intell Res 18:391–443. MathSciNetCrossRefzbMATHGoogle Scholar
  61. 61.
    Leite J (2017) A bird’s-eye view of forgetting in answer-set programming. In: Balduccini M, Janhunen T (eds) Logic programming and nonmonotonic reasoning—14th international conference, LPNMR 2017, 3–6 July 2017. Proceedings, Lecture notes in computer science, vol 10377. Springer, Espoo, Finland, pp 10–22.
  62. 62.
    Lenat DB, Feigenbaum EA (1987) On the thresholds of knowledge. In: McDermott JP (ed) Proceedings of the 10th international joint conference on artificial intelligence. 23–28 Aug 1987. Morgan Kaufmann, Milan, Italy, pp 1173–1182.
  63. 63.
    Lifschitz V, Pearce D, Valverde A (2001) Strongly equivalent logic programs. ACM Trans Comput Log 2(4):526–541. MathSciNetCrossRefzbMATHGoogle Scholar
  64. 64.
    Lin F (2001) On strongest necessary and weakest sufficient conditions. Artif Intell 128(1–2):143–159. MathSciNetCrossRefzbMATHGoogle Scholar
  65. 65.
    Lin F, Reiter R (1994) Forget it! In: In Proceedings of the AAAI fall symposium on relevance, pp 154–159Google Scholar
  66. 66.
    Lin F, Reiter R (1997) How to progress a database. Artif Intell 92(1–2):131–167. MathSciNetCrossRefzbMATHGoogle Scholar
  67. 67.
    Liu Y, Lakemeyer G (2009) On first-order definability and computability of progression for local-effect actions and beyond. In: Boutilier (2009), pp 860–866.
  68. 68.
    Ludwig M, Konev B (2014) Practical uniform interpolation and forgetting for ALC tboxes with applications to logical difference. In: Baral et al. (2014).
  69. 69.
    Lutz C, Wolter F (2011) Foundations for uniform interpolation and forgetting in expressive description logics. In: Walsh T (ed) IJCAI 2011, Proceedings of the 22nd international joint conference on artificial intelligence, 16–22 July 2011, IJCAI/AAAI, , Barcelona, Catalonia, Spain, pp 989–995.
  70. 70.
    Lutz C, Seylan I, Wolter F (2012) An automata-theoretic approach to uniform interpolation and approximation in the description logic EL. In: Brewka et al. (2012).
  71. 71.
    Marek W, Truszczyński M (1993) Nonmonotonic logics–context-dependent reasoning. Springer, BerlinzbMATHGoogle Scholar
  72. 72.
    McCarthy J (1959) Programs with common sense. In: Proc. of the Teddington conference on the mechanization of thought processes, 1958, Her Majesty’s Stationery Office, London, pp 75–91Google Scholar
  73. 73.
    McCarthy J (1963) Situations, actions and causal laws. Tech. rep., Stanford artificial intelligence project: Memo 2Google Scholar
  74. 74.
    McCarthy J (1986) Applications of circumscription to formalizing common-sense knowledge. Artif Intell 28:89–116MathSciNetCrossRefGoogle Scholar
  75. 75.
    Newell A, Simon HA (1976) Computer science as empirical inquiry: symbols and search. Commun ACM 19(3):113–126. MathSciNetCrossRefGoogle Scholar
  76. 76.
    Nikitina N, Rudolph S (2012) Expexpexplosion: uniform interpolation in general EL terminologies. In: Raedt LD, Bessière C, Dubois D, Doherty P, Frasconi P, Heintz F, Lucas PJF (eds) ECAI 2012—20th European conference on artificial intelligence. Including prestigious applications of artificial intelligence (PAIS-2012) system demonstrations track, Montpellier, France, August 27–31 , 2012, IOS Press, frontiers in artificial intelligence and applications, vol 242, pp 618–623.
  77. 77.
    Ohlbach HJ, Engel T, Schmidt RA, Gabbay DM (2018) SCAN: home page. Accessed 28 Aug 2018 (online)
  78. 78.
    Pearce D (2006) Equilibrium logic. Ann Math Artif Intell 47(1–2):3–41. MathSciNetCrossRefzbMATHGoogle Scholar
  79. 79.
    Pearl J (1988) Probabilistic reasoning in intelligent systems. Morgan Kaufmann, San MateozbMATHGoogle Scholar
  80. 80.
    Peckhaus V (2004) Calculus ratiocinator versus characteristica universalis? the two traditions in logic, revisited. Hist Philos Log 25(1):3–14. MathSciNetCrossRefzbMATHGoogle Scholar
  81. 81.
    Rajaratnam D, Levesque HJ, Pagnucco M, Thielscher M (2014) Forgetting in action. In: Baral et al. (2014).
  82. 82.
    Schaub T, Woltran S (2018) Answer set programming unleashed! KI - Künstliche Intelligenz. Special issue of KI on answer set programming (editorial).
  83. 83.
    Su K, Sattar A, Lv G, Zhang Y (2009) Variable forgetting in reasoning about knowledge. J Artif Intell Res 35:677–716. MathSciNetCrossRefzbMATHGoogle Scholar
  84. 84.
    Wang K, Sattar A, Su K (2005) A theory of forgetting in logic programming. In: Veloso MM, Kambhampati S (eds) Proceedings, the twentieth national conference on artificial intelligence and the seventeenth innovative applications of artificial intelligence conference, 9–13 July 2005, USA, AAAI Press/The MIT Press, Pittsburgh, Pennsylvania, pp 682–688.
  85. 85.
    Wang Y, Zhang Y, Zhou Y, Zhang M (2012) Forgetting in logic programs under strong equivalence. In: Brewka et al. (2012).
  86. 86.
    Wang Y, Wang K, Zhang M (2013) Forgetting for answer set programs revisited. In: Rossi F (ed) IJCAI 2013, Proceedings of the 23rd international joint conference on artificial intelligence, Beijing, China, 3–9 Aug 2013, IJCAI/AAAI, pp 1162–1168.
  87. 87.
    Wang Z, Wang K, Topor RW, Pan JZ (2008) Forgetting concepts in dl-lite. In: Bechhofer S, Hauswirth M, Hoffmann J, Koubarakis M (eds) The semantic web: research and applications, 5th European semantic web conference, ESWC 2008, June 1–5, 2008, Proceedings. Lecture notes in computer science, vol 5021. Springer, Tenerife, Canary Islands, Spain, pp 245–257.
  88. 88.
    Weber A (1986) Updating propositional formulas. In: Proceedings of the first conference on expert database systems, pp 487–500Google Scholar
  89. 89.
  90. 90.
    Wong KS (2009) Forgetting in logic programs. PhD thesis, School of Computer Science and Engineering, University of New South WalesGoogle Scholar
  91. 91.
    Xiao P, Wang K, Wang Z (2017) Incosistency-tolerant forgetting in dl-lite. In: Nikitina N, Song D, Fokoue A, Haase P (eds) Proceedings of the ISWC 2017 Posters and demonstrations and industry tracks co-located with 16th international semantic web conference (ISWC 2017), Vienna, Austria, 23–25 Oct 2017. CEUR workshop proceedings, vol 1963.
  92. 92.
    Zhang Y, Zhou Y (2009) Knowledge forgetting: properties and applications. Artif Intell 173(16–17):1525–1537. MathSciNetCrossRefzbMATHGoogle Scholar
  93. 93.
    Zhang Y, Zhou Y (2010) Forgetting revisited. In: Lin F, Sattler U, Truszczynski M (eds) (2010) Principles of knowledge representation and reasoning: proceedings of the twelfth international conference, KR 2010, 9–13 May 2010. AAAI Press, Toronto, Ontario, Canada.
  94. 94.
    Zhang Y, Foo NY, Wang K (2005) Solving logic program conflict through strong and weak forgettings. In: Kaelbling and Saffiotti (2005), pp 627–634.
  95. 95.
    Zhao Y, Schmidt RA (2017) Role forgetting for alcoqh(universal role)-ontologies using an ackermann-based approach. In: Sierra C (ed) Proceedings of the twenty-sixth international joint conference on artificial intelligence, IJCAI 2017, Melbourne, Australia, 19–25 Aug 2017,, pp 1354–1361.
  96. 96.
    Zhao Y, Schmidt RA (2018a) FAME: an automated tool for semantic forgetting in expressive description logics. In: Galmiche D, Schulz S, Sebastiani R (eds) Automated reasoning—9th international joint conference, IJCAR 2018, held as part of the federated logic conference, FloC 2018, July 14–17, 2018. Proceedings, Lecture Notes in Computer Science, vol 10900. Springer, Oxford, UK, pp 19–27.
  97. 97.
    Zhao Y, Schmidt RA (2018b) On concept forgetting in description logics with qualified number restrictions. In: Lang J (ed) Proceedings of the twenty-seventh international joint conference on artificial intelligence, IJCAI 2018, 13–19 Jul 2018, Stockholm, Sweden,, pp 1984–1990.

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Institute of Logic and ComputationTU WienViennaAustria
  2. 2.Department of Computer ScienceTU DortmundDortmundGermany

Personalised recommendations