Skip to main content

On Correctness of Normal Logic Programs

  • Conference paper
  • First Online:
Logic-Based Program Synthesis and Transformation (LOPSTR 2022)

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

  • 181 Accesses

Abstract

We present sufficient conditions for correctness of logic programs with negation (normal programs). We focus on the Kunen semantics, this declarative semantics is a closest one to what is implemented in Prolog (negation by finite failure) when floundering is avoided. We also recall an existing result for the well-founded semantics.

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 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.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

References

  1. Apt, K., Bol, R.: Logic programming and negation: a survey. J. Logic Program. 19/20, 9–71 (1994)

    Google Scholar 

  2. Apt, K.R.: From Logic Programming to Prolog. International Series in Computer Science, Prentice-Hall, Hoboken (1997)

    Google Scholar 

  3. Clark, K.: Negation as failure. In: Gallaire, H., Minker, J. (eds.) Logic and Databases. Springer, Boston (1978). https://doi.org/10.1007/978-1-4684-3384-5_11

    Chapter  Google Scholar 

  4. Clark, K.L.: Predicate logic as computational formalism. Technical report 79/59. Imperial College, London (1979)

    Google Scholar 

  5. Doets, K.: From Logic to Logic Programming. The MIT Press, Cambridge, MA (1994)

    Book  Google Scholar 

  6. Drabent, W.: What is failure? An approach to constructive negation. Acta Informatica 32(1), 27–59 (1995). https://doi.org/10.1007/BF01185404

    Article  MathSciNet  MATH  Google Scholar 

  7. Drabent, W.: Completeness of SLDNF-resolution for non-floundering queries. J. Logic Program. 27(2), 89–106 (1996)

    Article  MathSciNet  Google Scholar 

  8. Drabent, W.: Correctness and completeness of logic programs. ACM Trans. Comput. Log. 17(3), 18:1-18:32 (2016). https://doi.org/10.1145/2898434

    Article  MathSciNet  MATH  Google Scholar 

  9. Drabent, W.: Logic + control: on program construction and verification. Theor. Pract. Logic Program. 18(1), 1–29 (2018). https://doi.org/10.1017/S1471068417000047

    Article  MathSciNet  MATH  Google Scholar 

  10. Drabent, W., Martelli, M.: Strict completion of logic programs. N. Gener. Comput. 9, 69–79 (1991). https://doi.org/10.1007/BF03037151

    Article  MATH  Google Scholar 

  11. Drabent, W., Miłkowska, M.: Proving correctness and completeness of normal programs – a declarative approach. Theor. Pract. Logic Program 5(6), 669–711 (2005). https://doi.org/10.1017/S147106840500253X

    Article  MathSciNet  MATH  Google Scholar 

  12. Ferrand, G., Deransart, P.: Proof method of partial correctness and weak completeness for normal logic programs. J. Logic Program. 17, 265–278 (1993)

    Article  MathSciNet  Google Scholar 

  13. Fitting, M.: A Kripke-Kleene semantics for logic programs. J. Logic Program. 2(4), 295–312 (1985)

    Article  MathSciNet  Google Scholar 

  14. Fitting, M.: Bilattices and the semantics of logic programming. J. Log. Program. 11(1 &2), 91–116 (1991). https://doi.org/10.1016/0743-1066(91)90014-G

  15. Kunen, K.: Negation in logic programming. J. Log. Program. 4(4), 289–308 (1987)

    Article  MathSciNet  Google Scholar 

  16. Lloyd, J.W.: Foundations of Logic Programming. Springer, Heidelberg (1987). Second, extended edition, https://doi.org/10.1007/978-3-642-83189-8

  17. Nilsson, U., Małuszyński, J.: Logic, Programming and Prolog 2nd edn. John Wiley & Sons Ltd. (1995). http://www.ida.liu.se/~ulfni/lpp/

  18. Shapiro, E.: Algorithmic Program Debugging. The MIT Press, Cambridge (1983)

    MATH  Google Scholar 

  19. Stärk, R.F.: From logic programs to inductive definitions. In: Hodges, W., Hyland, M., Steinhorn, C., Truss, J. (eds.) Logic: From Foundations to Applications. European Logic Colloquium ’93, pp. 453–481. Clarendon Press, Oxford (1996). ISBN 978-0-19-853862-2

    Google Scholar 

  20. Stuckey, P.: Constructive negation for constraint logic programming. In: 6th Annual IEEE Symposium on Logic in Computer Science (LICS’91), pp. 328–339 (1991). https://doi.org/10.1109/LICS.1991.151657

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Włodzimierz Drabent .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Drabent, W. (2022). On Correctness of Normal Logic Programs. In: Villanueva, A. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2022. Lecture Notes in Computer Science, vol 13474. Springer, Cham. https://doi.org/10.1007/978-3-031-16767-6_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-16767-6_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-16766-9

  • Online ISBN: 978-3-031-16767-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics