A Correct Goal-directed Proof Procedure for a General Logic Program with Integrity Constraints

We present a correct goal-directed procedure for consistent logic program with integrity constraints in stable model semantics [5]. Although there are correct bottom-up procedures for every general logic program [13, 4, 15, 7] to compute stable models, there are no proposed correct goal-directed procedure for every general logic program. Our proposed procedure is correct not only for successful derivation but also for finite failure. This procedure is an extension of Eshghi's procedure [3] which is correct for every call-consistent logic program, and can be regarded as a combination of the model elimination procedure [10] and consistency checking in updates of implicit deletions [14].