Skip to main content

Using reflection to build efficient and certified decision procedures

  • Session 7
  • Conference paper
  • First Online:
Theoretical Aspects of Computer Software (TACS 1997)

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

Included in the following conference series:

Abstract

In this paper we explain how computational reflection can help build efficient certified decision procedure in reduction systems. We have developed a decision procedure on abelian rings in the Coq system but the approach we describe applies to all reduction systems that allow the definition of concrete types (or datatypes). We show that computational reflection is more efficient than an LCF-like approach to implement decision procedures in a reduction system. We discuss the concept of total reflection, which we have investigated in Coq using two facts: the extraction process available in Coq and the fact that the implementation language of the Coq system can be considered as a sublanguage of Coq. Total reflection is not yet implemented in Coq but we can test its performance as the extraction process is effective. Both reflection and total reflection are conservative extensions of the reduction system in which they are used. We also discuss performance and related approaches. In the paper,we assume basic knowledges of ML and proof-checkers.

I would like to thank Bruno Barras, Damien Doligez, Gerard Huet, Henry Lauldere and Benjamin Werner for fruitful discussions and helpful advices

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. http://pauillac.inria.fr/coq/coq-eng.html.

    Google Scholar 

  2. B. Barras et al. The Coq Proof Assistant User's Guide, V6.1, Inria technical report, to appear, 1997.

    Google Scholar 

  3. R.S. Boyer and JS. Moore, Metafunctions: proving them correct and using them efficiently as new proof procedures. in “The Correctness Problem in Computer Science”, R.S Boyer et JS. Moore, pp 103–184, Academic Press, 1981.

    Google Scholar 

  4. R.L Constable et al Implementing Mathematics with the Nuprl Proof Development System Prentice-hall 1986.

    Google Scholar 

  5. T.Coquand, G.Huet The Calculus of Constructions, Information and Computation, 76, 1988.

    Google Scholar 

  6. The Coq Proof Assistant Reference Manual, C. Cornes et al, Inria Research Report I77, 1995.

    Google Scholar 

  7. M.J.C. Gordon and T.Melham, Introduction to HOL, Cambridge University Press, 1993.

    Google Scholar 

  8. J. Harisson, Metatheory and Reflection in Theorem Proving: A Survey and Critique.

    Google Scholar 

  9. J. Harisson, L. Théry Extending the HOL theorem prover with a computer algebra system to reason about the reals. Proceeding of the 1993 International Workshop on the HOL theorem proving system and its applications, LNCS 780, Springer-verlag, pp 174–184.

    Google Scholar 

  10. J. Harisson, Stalmarck's Algorithm as a HOL Derived Rule TPHOL96, pp 221–234.

    Google Scholar 

  11. D. Howe, Computational Metatheory in Nuprl, 9th International Conference on Automated Deduction, LNCS 3I0, Springer-Verlag, 1988, pp 238–257.

    Google Scholar 

  12. J. Ilsiang, Topics in automated theorem proving and program generation, Thesis, University of Illinois, 1982.

    Google Scholar 

  13. J.M. Hullot, A catalogue of canonical term rewriting systems Technical Report CSL-112, April 1980.

    Google Scholar 

  14. T.B Knoblock, R.L Constable Formalized Metareasoning in Type Theory Technical Report 86–742, Cornell University, 1986.

    Google Scholar 

  15. X. Leroy, The Objective Caml system, Inria Technical Report, to appear 1997. see also http://pauillac.inria.fr/ocaml

    Google Scholar 

  16. C. Paulin-Mohring Inductive Definitions in the System Coq TLCA 1993

    Google Scholar 

  17. C. Paulin-Mohring, Extraction de programmes dans le Calcul des Constructions, Thesis, Paris 7, 1989.

    Google Scholar 

  18. L. Paulson, Interactive Theorem Proving with Cambridge LCF, Technical Report 80.University of Cambridge, 1985.

    Google Scholar 

  19. R. W. Weyhrauch, FOL: A Proof Checker for First order Logic, Stanford Artificial Intelligenc Laboratory Memo AIM-235.1, Stanford University.

    Google Scholar 

  20. R. W. Weyhrauch, Prolegomena to a theory of mechanized formal reasoning, Artificial intelligence, vol 13 (1980), pp 133–170.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Martín Abadi Takayasu Ito

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Boutin, S. (1997). Using reflection to build efficient and certified decision procedures. In: Abadi, M., Ito, T. (eds) Theoretical Aspects of Computer Software. TACS 1997. Lecture Notes in Computer Science, vol 1281. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014565

Download citation

  • DOI: https://doi.org/10.1007/BFb0014565

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-69530-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics