A first-order representation of stable models
Turi (1991) introduced the important notion of a constrained atom: an atom with associated equality and disequality constraints on its arguments. A set of constrained atoms is a constrained interpretation. We investigate how nonground representations of both the stable model semantics and the wellfounded semantics may be obtained through Turi's ... approach. The practical implication of this is that the wellfounded model (or the set of stable models) may be partially precomputed at compiletime, resulting in the association of each predicate symbol in the program to a constrained atom. Algorithms to create such models are presented, both for the well founded case, and the case of stable models. Query processing reduces to checking whether each atom in the query is true in a stable model (resp. wellfounded model). This amounts to showing the atom is an instance of one of some constrained atom whose associated constraint is solvable. Various related complexity results are explored, and the impacts of these results are discussed from the point of view of implementing systems that incorporate the stable and wellfounded semantics.