Il Milione: A Journey in the Computational Logic in Italy Sulla decidibilità di programmi FDNC On the decidability of FDNC programs P. A. Bonatti 55 Il Milione: A Journey in the Computational Logic in Italy SOMMARIO/ABSTRACT FDNC programs [8] adopt a different strategy. They restrict the syntax to (a skolemized form of) 2-variable Questo articolo introduce una nuova dimostrazione della guarded logic and avoid the restrictions on cycles and con- decidibilità del controllo di consistenza per i programmi straints. FDNC sotto la semantica dei modelli stabili, basandosi su In this paper we reformulate the decidability of the con- splitting sequences regolari. Con questa tecnica, riusciamo sistency check for FDNC programs in terms of regular a rilassare leggermente la definizione di programmi splitting sequences. In this way we slightly generalize a FDNC e muoviamo un primo passo verso l’analisi delle decidability result published in [8]. relazioni tra programmi FDNC e la teoria dei programmi finitamente ricorsivi. 2 Preliminaries We provide a new decidability proof for the consistency of We assume the reader to be familiar with Logic Program- FDNC programs under the stable model semantics, based ming and the stable model semantics [2] on regular splitting sequences. With this technique, we can Disjunctive logic programs are sets of (disjunctive) rules slightly relax the definition of FDNC programs and make a first step towards a precise understanding of the rela- A1 ∨ A2 ∨ ... ∨ Am ← L1 , ..., Ln (m > 0, n ≥ 0), tionships between FDNC programs and finitely recursive programs. where each Aj (j = 1, ..., m) is a logical atom and each Li (i = 1, ..., n) is a literal, that is, either a logical atom A or Keywords: Answer set programming, finitely recursive, a negated atom not A. finitary, and FDNC programs, module sequences. If r is a rule with the above structure, then let head(r) = {A1 , A2 , ..., Am } and body(r) = {L1 , ..., Ln }. More- 1 Introduction over, let body + (r) (respectively body − (r)) be the set of all atoms A s.t. A (respectively not A) belongs to body(r). Some of the recent works of Alberto concern modal exten- The ground instantiation of a program P is denoted sions of logic programming [5, 1]. A major motivation for by Ground(P ), and the set of atoms occurring in those programs is reasoning about actions and change. In Ground(P ) is denoted by atom(P ). Similarly, atom(r) this setting, nonmonotonic constructs such as negation as denotes the set of atoms occurring in a rule r. failure are extremely useful to encode compactly the frame A Herbrand model M of P is a stable model of P iff axiom and action consequences. However, for a long time M ∈ lm(P M ), where lm(X) denotes the set of least mod- such features could be supported only by forbidding func- els of a positive (possibly disjunctive) program X, and tion symbols, in order to ensure decidability. P M is the Gelfond-Lifschitz transformation of P , obtained Later results dropped this restriction. Finitary programs from Ground(P ) by (i) removing all rules r such that [4] preserve decidability even in the presence of infinite body − (r) ∩ M 6= ∅, and (ii) removing all negative liter- domains. This is achieved at the cost of restrictions on the als from the body of the remaining rules. cycles in dependency graphs containing an odd number of Disjunctive programs may have one, none, or multiple negative edges. Such limitations imply restrictions on the stable models. We say that a program is consistent if it has constraints (in the form of denials like ← A1 , . . . , An , for at least one stable model; otherwise the program is incon- example) that can be encoded in a finitary program. sistent. A skeptical consequence of a program P is any 56 Il Milione: A Journey in the Computational Logic in Italy formula satisfied by all the stable models of P . A credu- 2. J is a stable model of eU (Ground(P ) \ botU (P ), I). lous consequence of P is any formula satisfied by at least one stable model of P . The splitting theorem has been extended to transfinite The dependency graph of a program P is a labelled di- sequences in [7]. A (transfinite) sequence is a family rected graph, denoted by DG(P ), whose vertices are the whose index set is an initial segment of ordinals, {α : ground atoms of P ’s language. Moreover, there exists an α < µ}. The ordinal µ is the length of the sequence. edge from A to B iff for some rule r ∈ Ground(P ), A ∈ A sequence hUα iα<µ of sets is monotone if Uα ⊆ Uβ head(r) and either B occurs in body(r), or B ∈ head(r). whenever α k, let mi = j + (i − k) mod(k − j) and of the schemata (R1), (R3), (R5), (R6), and (R7). Mi = Mmi [tmi /ti ]. Moreover, for all i ≥ 0 let Pi+1 = In the following, let P be a given normal FDNC pro- botUi+1 (P ) \ botUi (P ). As we already pointed out before gram, and let us construct a suitable splitting sequence for this lemma, Pi = Pmi [tmi /ti ]. Now, since both the pro- P . First take any effective enumeration t1 , t2 , . . . , ti , . . . gram slices and the models with indexes i and mi are sub- of the ground compound terms of P ’s language, such that ject to the same symbol renaming, we have that each term ti precedes all the terms larger than ti (in terms eUi (Pi , Mi−1 ) = eUmi (Pmi , Mmi −1 )[tmi /ti ] . of the number of function symbol occurrences). For all such ground terms ti , we shall denote by Ûi the set of all Since semantics does not depend on symbol names and by ground atoms A(ti ) and R(ti , f (ti )), for all function sym- assumption Mmi is a stable model of eUmi (Pmi , Mmi −1 ) bols f . Now a canonical splitting sequence for P can be (as mi lies between j and k), we clearly have that Mi is a defined as follows: stable model of eUi (Pi , Mi−1 ); this proves point 2. • let U0 be the set of all atoms of the form A(c), R(c, d), Now proving decidability is relatively easy. We start by or R(c, f (c)), where c and d are constants; characterizing satisfiability in terms of blocked sequences. • let Ui+1 = Ui ∪ Ûi+1 . Theorem 8 M is a stable model of a normal FDNC pro- gram P iff M is the limit of the extension (in the sense of Since P has no rules conforming to (R2) or (R4), it is easy Lemma 7) of a blocked sequence hMi ii 0, Mi the sequence of bottom programs induced by a smooth is a subset of Ûi , and Ûi is isomorphic to Û1 , that is, Ûi = splitting ω-sequences is consistent iff the entire program is Û1 [t1 /ti ] and |Ûi | = |Û1 |. It follows that for all i > 0 consistent. The consistency of the bottoms can be proved there exists Si ⊆ Û1 such that Mi = Si [t1 /ti ]. Since by (a suitable adaptation of) Lemma 7. Û1 is finite, there must be two indexes j and k and a set It will be interesting to inspect applications of these S ⊆ Û1 such that 0 < j < k ≤ 2|Û1 | , Mj = S[t1 /tj ], and ideas to modal extensions of logic programming, in the Mk = S[t1 /tk ]. Consequently, Mk = S[t1 /tj ][tj /tk ] = spirit of [5], possibly exploiting the translation in [1]. Mj [tj /tk ], which completes the proof. REFERENCES Corollary 9 A normal FDNC program P has a stable model iff P has a blocked model sequence hMi ii