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.
Preview
Unable to display preview. Download preview PDF.
References
K. R. Apt, R. Bol. Logic Programming and Negation: A Survey. To appear in Journal of Logic Programming.
K. R. Apt, M. Bezem. Acyclic programs. New generation computing, 29(3) pages 335–363, 1991.
K. R. Apt, K. Doets. A new definition of SLDNF-Resolution. Report CS-R9242, CWI, 1992.
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.
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.
R. Barbuti, M. Martelli. Recognizing non-floundering logic programs and goals. International Journal on Foundations of Computer Science, 1(2) pages 151–163, 1990.
M. Codish, M. Falaschi, K. Mariott, W. Winsborough. Efficient Analysis of Concurrent Constraint Logic Programs. proceedings of ICALP'93, pages 633–644, 1993.
K. L. Clark. Predicate logic as a computational formalism. Research Report DOC 79/59, Imperial college, Dept. of computing, London, 1979.
P. Deransart, J. Maluszinski. A Grammatical View of Logic Programming. MIT Press, 1993.
K. Doets. From Logic to Logic Programming. MIT Press, 1994.
W. Drabent. Completeness of SLDNF-Resolution for Non-Floundering Queries. Draft, 1994.
K. Kunen. Negation in Logic Programming. Journal of Logic Programming, 4, pp. 289–308, 1987.
J. W. Lloyd. Foundations of Logic Programming. Springer Verlag, 2nd ed., 1987.
J. Maluszynski, U. Nilsonn. Logic programming and Prolog. Wiley, New-York, 1990.
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.
M. Martelli, C. Tricomi. A new SLDNF-tree. Information Processing Letters 43 (1992) pages 57–62.
L. Naish. Coroutining and the Construction of terminating logic programs. Australian Computer Science Communications, 15(1), pp. 181–190, 1993.
Author information
Authors and Affiliations
Editor information
Rights 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