PuzzleTool: An Example of Programming Computation and Deduction

  • Michael J. C. Gordon
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2410)

Abstract

Systems that integrate user-programmable theorem proving with efficient algorithms for boolean formula manipulation are promising platforms for implementing special-purpose tools that combine computation and deduction. An example tool is presented in this paper in which theorem proving is used to compile a class of problems stated in terms of functions operating on sets of integers to boolean problems that can be solved using a BDD oracle. The boolean solutions obtained via BDD calculations are then converted by theorem proving to the high-level representation. Although the example is rather specialised, our goal is to illustrate methodological principles for programming tools whose operation requires embedded proof.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Mark D. Aagaard, Robert B. Jones, and Carl-Johan H. Seger. Lifted-FL: A Pragmatic Implementation of Combined Model Checking and Theorem Proving. In Theorem Proving in Higher Order Logics (TPHOLs’99), number 1690 in Lecture Notes in Computer Science, pages 323–340. Springer-Verlag, 1999.CrossRefGoogle Scholar
  2. 2.
    Bruno Barras. Programming and computing in HOL. In J. Harrison and M. Aagaard, editors, Theorem Proving in Higher Order Logics: 13th International Conference, TPHOLs 2000, volume 1869 of Lecture Notes in Computer Science, pages 17–37. Springer-Verlag, 2000.CrossRefGoogle Scholar
  3. 3.
  4. 4.
    L. A. Dennis, G. Collins, M. Norrish, R. Boulton, K. Slind, G. Robinson, M. Gordon, and T. Melham. The prosper toolkit. In S. Graf and M. Schwartbach, editors, Tools and Algorithms for Constructing Systems (TACAS 2000), number 1785 in Lecture Notes in Computer Science, pages 78–92. Springer-Verlag, 2000.CrossRefGoogle Scholar
  5. 5.
    Michael J.C. Gordon. Reachability programming in HOL using BDDs. In J. Harrison and M. Aagaard, editors, Theorem Proving in Higher Order Logics: 13th International Conference, TPHOLs 2000, volume 1869 of Lecture Notes in Computer Science, pages 180–197. Springer-Verlag, 2000.CrossRefGoogle Scholar
  6. 6.
    Mike Gordon. Reachability programming in HOL98 using BDDs. In The 13th International Conference on Theorem Proving and Higher Order Logics. Springer-Verlag, 2000.Google Scholar
  7. 7.
    John Harrison. Binary decision diagrams as a HOL derived rule. The Computer Journal, 38:162–170, 1995.CrossRefMathSciNetGoogle Scholar
  8. 8.
    J. Joyce and C. Seger. The HOL-Voss System: Model-Checking inside a General-Purpose Theorem-Prover. In J. J. Joyce and C.-J. H. Seger, editors, Higher Order Logic Theorem Proving and its Applications: 6th International Workshop, HUG’93, Vancouver, B.C., August 11–13 1993, volume 780 of Lecture Notes in Computer Science, pages 185–198. Spinger-Verlag, 1994.Google Scholar
  9. 9.
    Moscow ML interface to BuDDy by Ken Friis Larsen and Jakob Lichtenberg documented at http://www.it-c.dk/research/muddy/.
  10. 10.
    K.L. McMillan. A compositional rule for hardware design refinement. In Orna Grumberg, editor, Computer-Aided Verification, CAV’ 97, Lecture Notes in Computer Science, pages 24–35, Haifa, Israel, June 1997. Springer-Verlag.Google Scholar
  11. 11.
    John O’Leary, Xudong Zhao, Robert Gerth, and Carl-Johan H. Seger. Formally verifying IEEE compliance of floating-point hardware. Intel Technology Journal, First Quarter 1999. Online at http://developer.intel.com/technology/itj/.
  12. 12.
  13. 13.
    S. Rajan, N. Shankar, and M.K. Srivas. An integration of model-checking with automated proof checking. In Pierre Wolper, editor, Computer-Aided Verification, CAV’95, volume 939 of Lecture Notes in Computer Science, pages 84–97, Liege, Belgium, June 1995. Springer-Verlag.Google Scholar
  14. 14.
    Carl-Johan H. Seger. Voss-a formal hardware verification system: User’s guide. Technical Report UBC TR 93-45, The University of British Columbia, December 1993.Google Scholar
  15. 15.
    Fabio Somenzi’s CUDD: CU Decision Diagram Package documented at http://vlsi.colorado.edu/~fabio/CUDD/.

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Michael J. C. Gordon
    • 1
  1. 1.Computer LaboratoryUniversity of CambridgeCambridgeUK

Personalised recommendations