Skip to main content

Using Decision Procedures with a Higher-Order Logic

  • Conference paper
  • First Online:
Theorem Proving in Higher Order Logics (TPHOLs 2001)

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

Included in the following conference series:

Abstract

In automated reasoning, there is a perceived trade-off between expressiveness and automation. Higher-order logic is typically viewed as expressive but resistant to automation, in contrast with first-order logic and its fragments. We argue that higher-order logic and its variants actually achieve a happy medium between expressiveness and automation, particularly when used as a front-end to a wide range of decision procedures and deductive procedures. We illustrate the discussion with examples from PVS, but some of the observations apply to other variants of higher-order logic as well.

This work was funded by NSF Grant CCR-0082560, DARPA/AFRL Contract F33615-00-C-3043, and NASA Contract NAS1-00079.

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. Peter Andrews, Sunil Issar, Daniel Nesmith, and Frank Pfenning. The TPS theorem proving system. In E. Lusk and R. Overbeek, editors, 9th International Conference on Automated Deduction (CADE), volume 310 of Lecture Notes in Computer Science, pages 760–761, Argonne, IL, May 1988. Springer-Verlag.

    Chapter  Google Scholar 

  2. Peter B. Andrews. An Introduction to Logic and Type Theory: To Truth through Proof. Academic Press, New York, NY, 1986.

    Google Scholar 

  3. BCM+92._J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and L. J. Hwang. Symbolic model checking: 1020 states and beyond. Information and Computation, 98(2):142–170, June 1992.

    Google Scholar 

  4. Christoph Benzmüuller and Michael Kohlhase. Extensional higher-order resolution. In H. Kirchner and C. Kirchner, editors, Proceedings of CADE-15, number 1421 in Lecture Notes in Artificial Intelligence, pages 56–71, Berlin, Germany, July 1998. Springer-Verlag.

    Google Scholar 

  5. Saddek Bensalem, Yassine Lakhnech, and Sam Owre. Computing abstractions of infinite state systems compositionally and automatically. In Moshe Y. Vardi, editors. Computer-Aided Verification, CAV’ 98, volume 1427 of Lecture Notes in Computer Science, Vancouver, Canada, June 1998. Springer-Verlag. Hu and Vardi [HV98]}, pages 319–331.

    Chapter  Google Scholar 

  6. R. S. Boyer and J S. Moore. Metafunctions: Proving them correct and using them efficiently as new proof procedures. In R. S. Boyer and J S. Moore, editors, The Correctness Problem in Computer Science. Academic Press, London, 1981.

    Google Scholar 

  7. R. S. Boyer and J S. Moore. Integrating decision procedures into heuristic theorem provers: A case study with linear arithmetic. In Machine Intelligence, volume 11. Oxford University Press, 1986.

    Google Scholar 

  8. R. J. Boulton. Lazy techniques for fully expansive theorem proving. Formal Methods in System Design, 3(1/2):25–47, August 1993.

    Google Scholar 

  9. K. S. Brace, R. L. Rudell, and R. E. Bryant. Efficient implementation of a BDD package. In Proc. of the 27th ACM/IEEE Design Automation Conference, pages 40–45, 1990.

    Google Scholar 

  10. Alan Bundy. The Computer Modelling of Mathematical Reasoning. Academic Press, London, UK, 1983

    MATH  Google Scholar 

  11. Bettina Buth. PAMELA + PVS. In Michael Johnson, editor, Algebraic Methodology and Software Technology, AMAST’97, volume 1349 of Lecture Notes in Computer Science, pages 560–562, Sydney, Australia, December 1997. Springer-Verlag.

    Chapter  Google Scholar 

  12. CAB+86._R. L. Constable, S. F. Allen, H. M. Bromley, W. R. Cleaveland, J. F. Cremer, R. W. Harper, D. J. Howe, T. B. Knoblock, N. P. Mendler, P. Panangaden, J. T. Sasaki, and S. F. Smith. Implementing Mathematics with the Nuprl Proof Development System. Prentice Hall, Englewood Cliffs, NJ, 1986.

    Google Scholar 

  13. Mario Coppo and Mariangiola Dezani-Ciancaglini. An extension of the basic functionality theory for the lambda-calculus. Notre Dame J. Formal Logic, 21(4):685–693, 1980.

    Article  MATH  MathSciNet  Google Scholar 

  14. T. Coquand and G. P. Huet. Constructions: A higher order proof system for mechanizing mathematics. In Proceedings of EUROCAL 85, Linz (Austria), Berlin, 1985. Springer-Verlag.

    Google Scholar 

  15. A. Church. A formulation of the simple theory of types. Journal of Symbolic Logic, 5:56–68, 1940.

    Article  MATH  MathSciNet  Google Scholar 

  16. N. G. de Bruijn. A survey of the project Automath. In To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, pages 589–606. Academic Press, 1980.

    Google Scholar 

  17. DCN+00._Louise A. Dennis, Graham Collins, Michael Norrish, Richard Boulton, Konrad Slind, Graham Robinson, Mike Gordon, and Tom Melham. The PROSPER toolkit. In Susanne Graf and Michael Schwartzbach, editors, Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2000), number 1785 in Lecture Notes in Computer Science, pages 78–92, Berlin, Germany, March 2000. Springer-Verlag.

    Chapter  Google Scholar 

  18. DFH+91._Gilles Dowek, Amy Felty, Hugo Herbelin, Gérard Huet, Christine Paulin-Mohring, and Benjamin Werner. The COQ proof assistant user’s guide: Version 5.6. Rapports Techniques 134, INRIA, Rocquencourt, France, December 1991.

    Google Scholar 

  19. Martin Dunstan, Tom Kelsey, Ursula Martin, and Steve Linton. Formal methods for extensions to CAS. In Jeannette Wing and Jim Woodcock, editors, FM99: The World Congress in Formal Methods, volume 1708 and 1709 of Lecture Notes in Computer Science, pages 1758–1777, Toulouse, France, September 1999. Springer-Verlag. Pages 1–938 are in the first volume, 939-1872 in the second.

    Google Scholar 

  20. M. Draghicescu and S. Purushothaman. A uniform treatment of order of evaluation and aggregate update. Theoretical Computer Science, 118(2):231–262, September 1993.

    Google Scholar 

  21. P.J. Downey, R. Sethi, and R.E. Tarjan. Variations on the common subexpressions problem. Journal of the ACM, 27(4):758–771, 1980.

    Article  Google Scholar 

  22. Solomon Feferman. Theories of finite type related to mathematical practice. In Jon Barwise, editor, Handbook of Mathematical Logic, volume 90 of Studies in Logic and the Foundations of Mathematics, chapter D4, pages 913–972. North-Holland, Amsterdam, Holland, 1978.

    Google Scholar 

  23. J-C. Filliâtre, S. Owre, H. Rueβ, and N. Shankar. ICS: Integrated canonizer and solver. In CAV 01: Computer-Aided Verification. Springer-Verlag, 2001. To appear.

    Google Scholar 

  24. M. J. Gordon and T. F. Melham, editors. Introduction to HOL: A Theorem Proving Environment for Higher-Order Logic. Cambridge University Press, Cambridge, UK, 1993.

    MATH  Google Scholar 

  25. M. Gordon, R. Milner, and C. Wadsworth. Edinburgh LCF: A Mechanized Logic of Computation, volume 78 of Lecture Notes in Computer Science. Springer-Verlag, 1979.

    MATH  Google Scholar 

  26. M. J. C. Gordon. Mechanizing programming logics in higher order logic. Technical Report CCSRC-006, Cambridge Computer Science Research Center, SRI International, Cambridge, England, September 1988.

    Google Scholar 

  27. John Harrison. Stålmarck’s algorithm as a HOL derived rule. In J. von Wright, J. Grundy, and J. Harrison, editors, Proceedings of the 9th TPHOLS, number 1125 in Lecture Notes in Computer Science, pages 251–266, Berlin, Germany, 1996. Springer-Verlag.

    Google Scholar 

  28. William S. Hatcher. Foundations of Mathematics. W. B. Saunders Company, Philadelphia, PA, 1968.

    MATH  Google Scholar 

  29. F. K. Hanna and N. Daeche. Dependent types and formal synthesis. In C. A. R. Hoare and M. J. C. Gordon, editors, Mechanized Reasoning and Hardware Design, pages 121–135, Hemel Hempstead, UK, 1992. Prentice Hall International Series in Computer Science.

    Google Scholar 

  30. Alan J. Hu and Moshe Y. Vardi, editors. Computer-Aided Verification, CAV’ 98, volume 1427 of Lecture Notes in Computer Science, Vancouver, Canada, June 1998. Springer-Verlag.

    Google Scholar 

  31. David Hardin, Matthew Wilding, and David Greve. Transforming the theorem prover into a digital design tool: From concept car to off-road vehicle. In Moshe Y. Vardi, editors. Computer-Aided Verification, CAV’ 98, volume 1427 of Lecture Notes in Computer Science, Vancouver, Canada, June 1998. Springer-Verlag. Hu and Vardi [HV98]}, pages 39–44.

    Chapter  Google Scholar 

  32. G. L. J. M. Janssen. ROBDD Software. Department of Electrical Engineering, Eindhoven University of Technology, October 1993.

    Google Scholar 

  33. JvdBH+98._Bart Jacobs, Joachim van den Berg, Marieke Huisman, Martijn van Berkum, Ulrich Hensel, and Hendrick Tews. Reasoning about Java classes. In Proceedings, Object-Oriented Programming Systems, Languages and Applications (OOPSLA’ 98), pages 329–340, Vancouver, Canada, October 1998. Association for Computing Machinery. Proceedings issued as ACM SIGPLAN Notices Vol. 33, No. 10, October 1998.

    Google Scholar 

  34. D. Kozen. Complexity of finitely represented algebras. In Proc. 9th ACM STOC, pages 164–177, 1977.

    Google Scholar 

  35. Daniel Leivant. Higher order logic. In D. M. Gabbay, C. J. Hogger, and J. A. Robinson, editors, Handbook of Logic in Artificial Intelligence and Logic Programming, Volume 2: Deduction Methodologies, pages 229–321. Clarendon Press, Oxford, 1994.

    Google Scholar 

  36. George C. Necula and Peter Lee. Proof generation in the touchstone theorem prover. In David McAllester, editor, Automated Deduction—CADE-17, volume 1831 of Lecture Notes in Artificial Intelligence, pages 25–44, Pittsburgh, PA, June 2000. Springer-Verlag.

    Google Scholar 

  37. G. Nadathur and D. Miller. Higher-order Horn clauses. Journal of the ACM, 37(4):777–814, 1990.

    Article  MATH  MathSciNet  Google Scholar 

  38. G. Nelson and D. C. Oppen. Simplification by cooperating decision procedures. ACM Transactions on Programming Languages and Systems, 1(2):245–257, 1979.

    Article  MATH  Google Scholar 

  39. G. Nelson and D. C. Oppen. Fast decision procedures based on congruence closure. Journal of the ACM, 27(2):356–364, 1980.

    Article  MATH  MathSciNet  Google Scholar 

  40. S. Owre, J. M. Rushby, and N. Shankar. PVS: A prototype verification system. In Deepak Kapur, editor, 11th International Conference on Automated Deduction (CADE), volume 607 of Lecture Notes in Artificial Intelligence, pages 748–752, Saratoga, NY, June 1992. Springer-Verlag.

    Google Scholar 

  41. Sam Owre, John Rushby, Natarajan Shankar, and Friedrich von Henke. Formal verification for fault-tolerant architectures: Prolegomena to the design of PVS. IEEE Transactions on Software Engineering, 21(2):107–125, February 1995.

    Google Scholar 

  42. Sam Owre and Natarajan Shankar. The formal semantics of PVS. Technical Report SRI-CSL-97-2, Computer Science Laboratory, SRI International, Menlo Park, CA, August 1997.

    Google Scholar 

  43. Lawrence C. Paulson. Isabelle: A Generic Theorem Prover, volume 828 of Lecture Notes in Computer Science. Springer-Verlag, 1994.

    MATH  Google Scholar 

  44. L. Paulson. The inductive approach to verifying cryptographic protocols. Journal of Computer Security, 6(1):85–128, 1998.

    Google Scholar 

  45. F. P. Ramsey. The foundations of mathematics. In D. H. Mellor, editor, Philosophical Papers of F. P. Ramsey, chapter 8, pages 164–224. Cambridge University Press, Cambridge, UK, 1990. Originally published in Proceedings of the London Mathematical Society, 25, pp. 338–384, 1925.

    Google Scholar 

  46. John Rushby, Sam Owre, and N. Shankar. Subtypes for specifications: Predicate subtyping in PVS. IEEE Transactions on Software Engineering, 24(9):709–720, September 1998.

    Google Scholar 

  47. Harald Rueβ and Natarajan Shankar. Deconstructing Shostak. In Proceedings 16th Annual IEEE Symp. on Logic in Computer Science, pages 19–28. IEEE Computer Society Press, 2001.

    Google Scholar 

  48. John Rushby, Friedrich von Henke, and Sam Owre. An introduction to formal specification and verification using Ehdm. Technical Report SRI-CSL-91-2, Computer Science Laboratory, SRI International, Menlo Park, CA, February 1991.

    Google Scholar 

  49. Hassen Saïdi and Susanne Graf. Construction of abstract state graphs with PVS. In Orna Grumberg, editor, Computer-Aided Verification, CAV’ 97, volume 1254 of Lecture Notes in Computer Science, pages 72–83, Haifa, Israel, June 1997. Springer-Verlag.

    Google Scholar 

  50. N. Shankar. Efficiently executing PVS. Project report, Computer Science Laboratory, SRI International, Menlo Park, CA, November 1999. Available at http://www.csl.sri.com/shankar/PVSeval.ps.gz.

    Google Scholar 

  51. Natarajan Shankar. Automated verification using deduction, exploration, and abstraction. In Essays on Programming Methodology. Springer-Verlag, 2001. To appear.

    Google Scholar 

  52. R. Shostak. An algorithm for reasoning about equality. Comm. ACM, 21:583–585, July 1978.

    Google Scholar 

  53. R. E. Shostak. Deciding combinations of theories. Journal of the ACM, 31(1):1–12, 1984.

    Article  MATH  MathSciNet  Google Scholar 

  54. Hassen Saïdi and N. Shankar. Abstract and model check while you prove. In Nicolas Halbwachs and Doron Peled, editors, Computer-Aided Verification, CAV’ 99, volume 1633 of Lecture Notes in Computer Science, pages 443–454, Trento, Italy, July 1999. Springer-Verlag.

    Chapter  Google Scholar 

  55. D. Syme. Declarative Theorem Proving for Operational Semantics. PhD thesis, University of Cambridge, 1998.

    Google Scholar 

  56. A. Tarski. A lattice-theoretical fixpoint theorem and its applications. Pacific J. of Math., 5:285–309, 1955.

    MATH  MathSciNet  Google Scholar 

  57. Laurent Théry. A certified version of Buchberger’s algorithm. In H. Kirchner and C. Kirchner, editors, Proceedings of CADE-15, number 1421 in Lecture Notes in Artificial Intelligence, pages 349–364, Berlin, Germany, July 1998. Springer-Verlag.

    Google Scholar 

  58. Johan van Benthem and Kees Doets. Higher-order logic. In Dov M. Gabbay and Franz Guenthner, editors, Handbook of Philosophical Logic-Volume I: Elements of Classical Logic, volume 164 of Synthese Library, chapter I.4, pages 275–329. D. Reidel Publishing Company, Dordrecht, Holland, 1983.

    Google Scholar 

  59. vHCL+88._F. W. von Henke, J. S. Crow, R. Lee, J. M. Rushby, and R. A. Whitehurst. The Ehdm verification environment: An overview. In Proceedings 11th National Computer Security Conference, pages 147–155, Baltimore, MD, October 1988. NBS/NCSC.

    Google Scholar 

  60. Mitchell Wand and William D. Clinger. Set constraints for destructive array update optimization. In Proc. IEEE Conf. on Computer Languages’ 98, pages 184–193. IEEE, April 1998.

    Google Scholar 

  61. A. N. Whitehead and B. Russell. Principia Mathematica. Cambridge University Press, Cambridge, revised edition, 1925–1927. Three volumes. The first edition was published 1910-1913.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shankar, N. (2001). Using Decision Procedures with a Higher-Order Logic. In: Boulton, R.J., Jackson, P.B. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2001. Lecture Notes in Computer Science, vol 2152. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44755-5_3

Download citation

  • DOI: https://doi.org/10.1007/3-540-44755-5_3

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42525-0

  • Online ISBN: 978-3-540-44755-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics