Skip to main content

The notion of floundering for SLDNF-resolution revisited

  • Conference paper
  • First Online:
Programming Languages: Implementations, Logics and Programs (PLILP 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 982))

  • 216 Accesses

Abstract

SLDNF-resolution is the standard operational semantics for normal programs. Its safeness condition induces a notion of floundering which may be considered as a programming error. But this notion of floundering seems too weak: a program and a goal may flounder despite the existence of an SLDNF-tree and, in such a case, one computation may flounder while another one may not. We propose a novel stronger notion of floundering — called true floundering — which depends only on the existence of an (extended) SLDNF-tree and not on a particular strategy. This notion formalises the idea that the existence of a floundered goal is irrelevant if with another strategy, it would have been possible to continue the computation without floundering. We also introduce a new operational semantics called extended SLDNF-resolution. Extended SLDNF-resolution may be efficiently implemented. Moreover, with a result from Drabent ([Dra94]), extended SLDNF-resolution is complete wrt Kunen semantics for non true floundering programs and goals, which corresponds to a large class of normal programs with a declarative characterization.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. R. Apt, R. Bol. Logic Programming and Negation: A Survey. To appear in Journal of Logic Programming.

    Google Scholar 

  2. K. R. Apt, M. Bezem. Acyclic programs. New generation computing, 29(3) pages 335–363, 1991.

    Google Scholar 

  3. K. R. Apt, K. Doets. A new definition of SLDNF-Resolution. Report CS-R9242, CWI, 1992.

    Google Scholar 

  4. K. R. Apt, D. Pedreschi. Proving termination of general Prolog programs. In T. Ito and A. Meyer editors, Proceedings of the International Conference on Theoretical Aspects of Computer Software, Lecture notes in Computer Science 526, pages 265–289, Berlin, 1991. Springer-Verlag.

    Google Scholar 

  5. M. Bergère, G. Ferrand, J-H. Réty. Independence of the Computation R for SLD-Resolution with Delay. Research Report LIFO 93-9, Orléans, 1993.

    Google Scholar 

  6. R. Barbuti, M. Martelli. Recognizing non-floundering logic programs and goals. International Journal on Foundations of Computer Science, 1(2) pages 151–163, 1990.

    Google Scholar 

  7. M. Codish, M. Falaschi, K. Mariott, W. Winsborough. Efficient Analysis of Concurrent Constraint Logic Programs. proceedings of ICALP'93, pages 633–644, 1993.

    Google Scholar 

  8. K. L. Clark. Predicate logic as a computational formalism. Research Report DOC 79/59, Imperial college, Dept. of computing, London, 1979.

    Google Scholar 

  9. P. Deransart, J. Maluszinski. A Grammatical View of Logic Programming. MIT Press, 1993.

    Google Scholar 

  10. K. Doets. From Logic to Logic Programming. MIT Press, 1994.

    Google Scholar 

  11. W. Drabent. Completeness of SLDNF-Resolution for Non-Floundering Queries. Draft, 1994.

    Google Scholar 

  12. K. Kunen. Negation in Logic Programming. Journal of Logic Programming, 4, pp. 289–308, 1987.

    Google Scholar 

  13. J. W. Lloyd. Foundations of Logic Programming. Springer Verlag, 2nd ed., 1987.

    Google Scholar 

  14. J. Maluszynski, U. Nilsonn. Logic programming and Prolog. Wiley, New-York, 1990.

    Google Scholar 

  15. K. Marriott, H. Sondergaard, P. Dart. A characterization of non-floundering logic programs, in Debray and Hermenegildo ed., Proc. NACLP, pages 661–680, Austin 1990, MIT Press 1990.

    Google Scholar 

  16. M. Martelli, C. Tricomi. A new SLDNF-tree. Information Processing Letters 43 (1992) pages 57–62.

    Google Scholar 

  17. L. Naish. Coroutining and the Construction of terminating logic programs. Australian Computer Science Communications, 15(1), pp. 181–190, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Manuel Hermenegildo S. Doaitse Swierstra

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Réty, JH. (1995). The notion of floundering for SLDNF-resolution revisited. In: Hermenegildo, M., Swierstra, S.D. (eds) Programming Languages: Implementations, Logics and Programs. PLILP 1995. Lecture Notes in Computer Science, vol 982. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0026831

Download citation

  • DOI: https://doi.org/10.1007/BFb0026831

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60359-7

  • Online ISBN: 978-3-540-45048-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics