Skip to main content
Log in

Negation as Failure as Resolution

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

Providing a clean procedural semantics of the “Negation As Failure rule” in Logic Programming has been an open problem for some time now. This rule has been treated as a technique in nonmonotonic reasoning, not as a rule in classical logic. This paper contains a demonstration of the negation as failure rule as a resolution procedure in first-order logic. We present a sound and complete resolution scheme for negation as failure rule for the larger class of constraint logic programs. The approach is to consider a canonical partition of the completion of a definite (constraint) program into the IF and the FI programs. We show that a negated goal, provable from the completed definite program is provable from just the FI part. The clauses in this program have a structure dual to that of definite Horn clauses. We describe a sound and complete linear resolution rule for this fragment, and show that a resolution proof of the negated goal from the FI part corresponds to a finite failure tree resulting from classical linear resolution applied to the goal on the If part of the original definite program. Our work shows that negation as failure rule can be computationally efficient in the sense that the SLD-resolution on the If part of a definite program along with the negation as failure rule is more efficient than a direct resolution procedure on the completion of that program.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Apt, K. R. (1990). Logic Programming, in J. van Leeuwen (ed.), Handbook of Theoretical Computer Science. Elsevier, New York, Vol B, 493-574.

    Google Scholar 

  2. Barbuti, R., Mancarella, P., Pedreschi, D, Turini, F. (1990). A Transformational Approach To Negation In Logic Programming. Journal of Logic Programming8:201-228.

    Google Scholar 

  3. Bruscoli, P., Levi, F., Levi, G., & Meo, M. C. (1993). Intensional Negation In Constraint Logic Programs. Technical Report TR-11/93, Dipartimento Di Informatica, University Di Pisa.

  4. Chandru, V., Roy, S., & Ramesh, S. (1996). Constructive Negation in Definite Logic Programs. Proceedings of 2nd Asian Computing Science Conference, ASIAN'96, 335-36, LNCS 1179, Springer.

    Google Scholar 

  5. Chang, C. L. & Lee, R. C. T. (1973). Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York.

    Google Scholar 

  6. Clark, K. L. (1978). Negation as Failure, in H. Gallaire and J. Minker, (eds.), Logic and Databases. Plenum Press, New York, 293-322.

    Google Scholar 

  7. Jaffar, J. & Lassez, J.-L. (1986). Constraint Logic Programming, Technical Report 86/73, Department of Computer Science, Monash University.

  8. Jaffar, J., & Lassez, J.-L. (1987). Constraint Logic Programming. Proc. 14th ACM Symposium on Principles of Programming Languages, Munich, 111-19.

  9. Jaffar, J., Lassez, J.-L., & Lloyd, J.W. (1983). Completeness of Negation as Failure Rule. Proc. of 8th IJCAI, Karlsruhe, 500-506.

    Google Scholar 

  10. Jaffar, J., Lassez, J.-L., & Maher, M. J. (1986). Some Issues and Trends in the Semantics of Logic Programming. Proc. 3rd International Conference on Logic Programming, LNCS 225, Springer-Verlag, 223-241.

    Google Scholar 

  11. Jaffer, J., & Maher, M. J. (1994). Constraint Logic programming: A survey. Journal of Logic Programming19,20:503-581.

    Google Scholar 

  12. Lloyd, J. W. (1987). Foundations of Logic Programming, 2nd edition, Springer, Berlin.

    Google Scholar 

  13. Loveland, D. W. (1978). Automated Theorem Proving: A Logical Basis, North Holland, New York.

    Google Scholar 

  14. Shoenfield, J. (1967). Mathematical Logic, Addison-Wesley, Reading, Mass.

    Google Scholar 

  15. Wolfram, D., Maher, M., & Lassez, J.-L. (1984). A Unified Treatment of Resolution Strategies for Logic Programs. Proc. 2nd International Conference on Logic Programming, 263-276.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Chandru, V., Roy, S. & Subrahmanyam, R. Negation as Failure as Resolution. Constraints 3, 315–329 (1998). https://doi.org/10.1023/A:1009724005666

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1009724005666

Navigation