Skip to main content

Programs Without Failures

  • Conference paper
  • First Online:
Logic Program Synthesis and Transformation (LOPSTR 1997)

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

Abstract

We try to formalize the intuitive reasoning which we normally use to get convinced that a query has successful LD-derivations in a program. To this purpose we define the class of programs and queries without failures which have the property of not having finitely failing derivations. Such property is simple to verify, it is preserved through leftmost unfolding and it can be useful both in verifying properties of logic programs and in program transformation. The class of programs without failures is very restricted but in program transformations it is sufficient that only some predicates in the program are in the class.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. R. Apt. Introduction to Logic Programming. In J. van Leeuwen, editor, Hand-book of Theoretical Computer Science, volume B: Formal Models and Semantics. Elsevier, Amsterdam and The MIT Press, Cambridge, 1990.

    Google Scholar 

  2. K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Proceedings of the 1993 International Symposium on Logic Programming, pages 12–35. The MIT Press, 1993.

    Google Scholar 

  3. K. R. Apt. From Logic Programming to Prolog. Prentice Hall International Series in Computer Science, 1997.

    Google Scholar 

  4. K. R. Apt and E. Marchiori. Reasoning about Prolog programs: from modes through types to assertions. Formal Aspects of Computing, 6(6A):743–765, 1994.

    Article  MATH  Google Scholar 

  5. K. R. Apt and D. Pedreschi. Reasoning about termination of pure Prolog programs. Information and Computation, 106(1):109–157, 1993.

    Article  MATH  MathSciNet  Google Scholar 

  6. A. Bossi and N. Cocco. Verifying correctness of logic programs. In J. Diaz and F. Orejas, editors, TAPSOFT’ 89, Barcelona, Spain, March 1989, (Lecture Notes in Computer Science, vol. 352), pages 96–110. Springer-Verlag, 1989.

    Google Scholar 

  7. A. Bossi and N. Cocco. Preserving Universal Termination through Unfold/Fold. In G. Levi and M. Rodriguez-Artalejo, editors, Algebraic and Logic Programming-Proceedings ALP’94, volume 850 of Lecture Notes in Computer Science, pages 269–286. Springer-Verlag, Berlin, 1994.

    Google Scholar 

  8. A. Bossi and N. Cocco. Replacement Can Preserve Termination. In J. Gallagher, editor, Proceedings LOPSTR’96, volume 1207 of Lecture Notes in Computer Science, pages 104–129. Springer-Verlag, Berlin, 1997.

    Google Scholar 

  9. A. Bossi, N. Cocco, and S. Etalle. Transforming Normal Programs by Replacement. In A. Pettorossi, editor, Meta Programming in Logic-Proceedings META’92, volume 649 of Lecture Notes in Computer Science, pages 265–279. Springer-Verlag, Berlin, 1992.

    Google Scholar 

  10. A. Bossi, N. Cocco, and M. Fabris. Norms on terms and their use in proving universal termination of a logic program. Theoretical Computer Science, 124:297–328, 1994.

    Article  MATH  MathSciNet  Google Scholar 

  11. J. Boye and J. Maluszynski. Two Aspects of Directional Types. In Sterling, editor, Proc. Int’l Conf. on Logic Programming, pages 747–761. MIT Press, 1995.

    Google Scholar 

  12. F. Bronsard, T. K. Lakshman, and U. S. Reddy. A framework of directionalities for proving termination of logic programs. In K. R. Apt, editor, Proceedings of the Joint International Conference and Symposium on Logic Programming, pages 321–335. The MIT Press, 1992.

    Google Scholar 

  13. L. Colussi and E. Marchiori. Proving Correctness of Logic Programs using axiomatic semantics. In Proc. Eighth Int’l Conf. on Logic Programming, pages 629–644. MIT Press, 1991.

    Google Scholar 

  14. S. Debray, P. Lopez-Garcia, and M. Hermenegildo. Non-Failure Analysis for Logic Programs. In Proceedings of the International Symposium on Logic Programming, pages 48–62, 1997.

    Google Scholar 

  15. P. Deransart. Proof Methods of Declarative Properties of Definite Programs. Theoretical Computer Science, 118:99–166, 1993.

    Article  MATH  MathSciNet  Google Scholar 

  16. W. Drabent and J. Maluszynski. Inductive assertion method for logic programs. Theoretical Computer Science, 59:133–155, 1988.

    Article  MATH  MathSciNet  Google Scholar 

  17. P.A. Gardner and J.C. Shepherdson. Unfold/fold Transformations of Logic Programs. In J-L Lassez and editor G. Plotkin, editors, Computational Logic: Essays in Honor of Alan Robinson. 1991.

    Google Scholar 

  18. J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, Berlin, 1987. Second edition.

    MATH  Google Scholar 

  19. M.J. Maher. Correctness of a Logic Program Transformation System. IBM Research Report RC13496, T.J. Watson Research Center, 1987.

    Google Scholar 

  20. D. Pedreschi and S. Ruggeri. Verification of Metainterpreters. Journal of Logic and Computation, 7(2), 1997.

    Google Scholar 

  21. A. Pettorossi and M. Proietti. Transformation of Logic Programs: Foundations and Techniques. Journal of Logic Programming, 19(20):261–320, 1994.

    Article  MathSciNet  Google Scholar 

  22. M. Proietti and A. Pettorossi. Synthesis of Programs from Unfold/Fold Proofs. In Y. Deville, editor, LOPSTR’93, pages 141–158, 1994.

    Google Scholar 

  23. T. Sato. An equivalence preserving first order unfold/fold transformation system. In Second Int. Conference on Algebraic and Logic Programming, Nancy, France, October 1990, (Lecture Notes in Computer Science, Vol. 463), pages 175–188. Springer-Verlag, 1990.

    Google Scholar 

  24. D. De Schreye and S. Decorte. Termination of Logic Programs: the never-ending story. Journal of Logic Programming, 19–20:199–260, 1994.

    Google Scholar 

  25. L. Sterling and E. Shapiro. The Art of Prolog. The MIT Press, 1986.

    Google Scholar 

  26. H. Tamaki and T. Sato. Unfold/Fold Transformations of Logic Programs. In Sten-Åke Tärnlund, editor, Proc. Second Int’l Conf. on Logic Programming, pages 127–139, 1984.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bossi, A., Cocco, N. (1998). Programs Without Failures. In: Fuchs, N.E. (eds) Logic Program Synthesis and Transformation. LOPSTR 1997. Lecture Notes in Computer Science, vol 1463. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49674-2_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-49674-2_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65074-4

  • Online ISBN: 978-3-540-49674-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics