Skip to main content

Towards Verifying Logic Programs in the Input Language of clingo

  • Conference paper
  • First Online:
Fields of Logic and Computation III

Abstract

We would like to develop methods for verifying programs in the input language of the answer set solver clingo using software created for the automation of reasoning in first-order theories. As a step in this direction, we extend Clark’s completion to a class of clingo programs that contain arithmetic operations as well as intervals and prove that every stable model is a model of generalized completion. The translator anthem calculates the completion of a program and represents it in a format that can be processed by first-order theorem provers. Some properties of programs can be verified by anthem and the theorem prover vampire, working together.

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 EPUB and 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

Notes

  1. 1.

    Answer set solvers are logic programming systems that calculate stable models (answer sets) of logic programs. Some of the best-known systems of this kind are clingo (https://potassco.org/) and dlv (http://www.dlvsystem.com/).

  2. 2.

    As discussed in Sect. 2.1, the “interval term” 0..n in the first rule of this program is an arithmetic expression that has multiple values—all integers from 0 to n. The equality between a variable and an interval term in the body of a rule expresses that the value of the variable is equal to one of the values of the term.

  3. 3.

    We talk about program variables and program terms to distinguish them from the variables and terms that are allowed in formulas (Sect. 3) and thus can be found in the output of anthem.

  4. 4.

    It differs from the translation \(\tau ^B\) [12, Section 6] in that it disregards the combination \( not \, not \). Double negations are essential in the formulas that characterize stable models but not in completion formulas.

  5. 5.

    https://github.com/potassco/anthem/releases.

References

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

    Chapter  Google Scholar 

  2. Erdem, E., Gelfond, M., Leone, N.: Applications of ASP. AI Mag. 37(3), 53–68 (2016)

    Article  Google Scholar 

  3. Erdem, E., Lifschitz, V.: Fages’ theorem for programs with nested expressions. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237, pp. 242–254. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45635-X_24

    Chapter  Google Scholar 

  4. Erdem, E., Lifschitz, V.: Tight logic programs. Theor. Pract. Logic Prog. 3(4–5), 499–518 (2003)

    Article  MathSciNet  Google Scholar 

  5. Fages, F.: Consistency of Clark’s completion and the existence of stable models. J. Methods Logic Comput. Sci. 1, 51–60 (1994)

    Google Scholar 

  6. Falkner, A., Friedrich, G., Schekotihin, K., Taupe, R., Teppan, E.: Industrial applications of answer set programming. Künstliche Intelligenz 32(2–3), 165–176 (2018)

    Article  Google Scholar 

  7. Gebser, M., Harrison, A., Kaminski, R., Lifschitz, V., Schaub, T.: Abstract gringo. Theor. Pract. Logic Prog. 15(4–5), 449–463 (2015). http://arxiv.org/abs/1507.06576

    Article  MathSciNet  Google Scholar 

  8. Harrison, A., Lifschitz, V., Raju, D.: Program completion in the input language of GRINGO. Theor. Pract. Logic Prog. 17(5–6), 855–871 (2017)

    Article  MathSciNet  Google Scholar 

  9. Kovács, L., Voronkov, A.: First-order theorem proving and Vampire. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 1–35. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39799-8_1

    Chapter  Google Scholar 

  10. Lifschitz, V.: Achievements in answer set programming. Theor. Pract. Logic Prog. 17(5–6), 961–973 (2017)

    Article  MathSciNet  Google Scholar 

  11. Lifschitz, V., Lühne, P., Schaub, T.: Anthem: transforming gringo programs into first-order theories (preliminary report). In: Fandinno, J., Fichte, J. (eds.) Proceedings of the Eleventh Workshop on Answer Set Programming and Other Computing Paradigms (ASPOCP 2018) (2018)

    Google Scholar 

  12. Lifschitz, V., Lühne, P., Schaub, T.: Verifying strong equivalence of programs in the input language of gringo. In: Balduccini, M., Lierler, Y., Woltran, S. (eds.) LPNMR 2019. LNCS, vol. 11481. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-20528-7_20

    Chapter  Google Scholar 

  13. Lifschitz, V., Pearce, D., Valverde, A.: Strongly equivalent logic programs. ACM Trans. Comput. Logic 2(4), 526–541 (2001)

    Article  MathSciNet  Google Scholar 

  14. Lloyd, J., Topor, R.: Making Prolog more expressive. J. Logic Prog. 1(3), 225–240 (1984)

    Article  MathSciNet  Google Scholar 

  15. Sutcliffe, G.: The TPTP problem library and associated infrastructure. J. Autom. Reason. 59(4), 483–502 (2017)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

We are grateful to Laura Kovács, Giles Reger, and Martin Suda for taking the time to answer our questions about the use of vampire. Also, we would like to thank the anonymous referee for giving us useful suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Torsten Schaub .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Lifschitz, V., Lühne, P., Schaub, T. (2020). Towards Verifying Logic Programs in the Input Language of clingo. In: Blass, A., Cégielski, P., Dershowitz, N., Droste, M., Finkbeiner, B. (eds) Fields of Logic and Computation III. Lecture Notes in Computer Science(), vol 12180. Springer, Cham. https://doi.org/10.1007/978-3-030-48006-6_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-48006-6_14

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-48005-9

  • Online ISBN: 978-3-030-48006-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics