Theory and Practice of Logic Programming

Regular Papers

Tight logic programs


a1 Department of Computer Science, University of Toronto, 6 King's College Road, Toronto, ON M5S 3H5, Canada (e-mail:
a2 Department of Computer Sciences, University of Texas at Austin, Austin, TX 78712, USA (e-mail:


This note is about the relationship between two theories of negation as failure – one based on program completion, the other based on stable models, or answer sets. François Fages showed that if a logic program satisfies a certain syntactic condition, which is now called ‘tightness,’ then its stable models can be characterized as the models of its completion. We extend the definition of tightness and Fages' theorem to programs with nested expressions in the bodies of rules, and study tight logic programs containing the definition of the transitive closure of a predicate.

Key Words: Answer sets; Completion; Supportedness; Tightness; Fages' theorem.