in ASP. Then, together with real cautious reasoning, checking for **possible** consistency of the sets could be made in full accordance with the formalism. Notice that it is not always clear whether the intended meaning is better rendered by classical models than by answer sets.

We have taken care to describe all the practical limitations of our solution.

However, apart from these (generally minor in practice) points, we **hope to**
have convinced that ASP is very interesting in order to deal with this **kind** of problem.

One of the advantages is that if we want to modify a rule of the formalism, this can be done easily, since there is a close relation between the formal rules and the ASP rules. The main difference between formal rules and the ASP
rules described above concern the "initial rule" in the first program §**3.2.** This difference comes from the fact that we have done our best to provide a program running in a reasonable time. This is another interest of using ASP: such computational optimizations can be introduced in a relatively natural way. Even with these complications, modifying the rules remains easy.

Also, for the example described here, the gain of using DLV-Complex instead of pure DLV (or gringo/claspD) is significant and worth mentioning.

## 3.5 Dealing With Predicate Logic

For the sake of conciseness we have given the translation of the propositional version of our formalism. In fact, this is not a serious concern. Indeed, the computational efficiency is similar, since the real tricky points all appear in the propositional version. A standard way to deal with predicates **in ASP,**
starting from a propositional version, is to add a few parameters representing the predicate symbols. As an example, let us consider atoms such as heard(bell) or like(bell) or own(student, book) in place of α or β**. In the**
formalism, all we need to do is to replace e. g. facts such as heard bell causes on alarm. by heard(bell) causes on(**alarm**)., and to replace all the rules accordingly.

In this way, we can also translate the slightly extended ontology described in [4]. There, two kinds of parameters are considered for each predicate: the ones for which the predicate is *essentially universal* **and the ones for which** the predicate is *essentially existential***. Let us suppose that we intend that**
heard is essentially existential with respect to its parameter and like essentially universal. Intuitively, this means that heard **is intended as meaning**