TYPES 1994: Types for Proofs and Programs pp 140-161 | Cite as

On extensibility of proof checkers

  • Robert Pollack
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 996)

Abstract

My suggestion is little different from LCF, just replacing one computational meta language (ML) with another (ECC, FS0,...). The philosophical point is that it is then possible to accept non canonical proof notations as object level proofs, removing the need to actually normalize them. There are problems to be worked out in practice, such as extraction of programs from constructive proof, and efficient execution of pure, total programs. Although this approach doesn't address the difficulty of proving correctness of tactics in the meta level, it is immediatly useful for tactics with structural justification (e.g. weakening) which are not even representable in LCF, and are infeasible in the Nuprl variant of LCF. Since it can be used for any object system without adding new principles such as reflection, and is compatible with other approaches to extensibility (especially partial reflection), it should be considered as part of the answer to extensibility in proof checkers.

Keywords

Formal System Decision Procedure Total Function Side Condition Axiom Scheme 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [ACHA90]
    Allen, Constable, Howe, and Aitken. The semantics of reflected proof. In LICS Proceedings. IEEE, 1990.Google Scholar
  2. [ACU]
    William Aitkin, Robert Constable, and Judith Underwood. Metalogical frameworks II: Using reflected decision procedures. Technical report, Cornell University. To appear.Google Scholar
  3. [Avr91]
    Arnon Avron. Simple consequence relations. Information and Computation, 92:105–139, 1991.Google Scholar
  4. [BM81]
    Robert S. Boyer and J S. Moore. Metafunctions: Proving them correct and using them efficiently as new proof procedures. In Robert S. Boyer and J S. Moore, editors, The Correctness Problem in Computer Science, pages 103–184. Academic Press, New York, 1981.Google Scholar
  5. [BM88]
    Robert S. Boyer and J S. Moore. A Computational Logic Handbook. Academic Press, 1988.Google Scholar
  6. [Con86]
    Robert L. Constable, et. al. Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, Englewood Cliffs, NJ, 1986.Google Scholar
  7. [dB85]
    Nicolas G. de Bruijn. Generalizing automath by means of a lambda-typed lambda calculus. In Proceedings of the Maryland 1984–1985 Special Year in Mathematical Logic and Theoretical Computer Science, 1985.Google Scholar
  8. [DFH+91]
    Dowek, Felty, Herbelin, Huet, Paulin-Mohring, and Werner. The Coq proof assistant user's guide, version 5.6. Technical Report 134, INRIA-Rocquencourt, December 1991.Google Scholar
  9. [Fef88]
    Solomon Feferman. Finitary inductively presented logics. In Logic Colloquium '88, Padova. August 1988.Google Scholar
  10. [Fel89]
    Amy P. Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, September 1989. MS-CIS-89-53.Google Scholar
  11. [FFM90]
    Mick Francis, Simon Finn, and Ellie Mayger. Reference manual for the Lambda system. Technical report, Abstract Hardware Limited, 1990.Google Scholar
  12. [GMW79]
    Michael Gordon, Robin Milner, and Christopher Wadsworth. Edinburgh LCF: A Mechanized Logic of Computation. Springer-Verlag, 1979.Google Scholar
  13. [Gor88]
    Michael Gordon. HOL: A proof generating system for higher-order logic. In Birtwistle and Subrahmanyam, editors, VLSI Specification, Verification and Synthesis, pages 73–128. Kluwer Academic Publishers, 1988.Google Scholar
  14. [Har95a]
    John Harrison. Binary decision diagrams as a HOL derived rule. The Computer Journal, 38(5), 1995.Google Scholar
  15. [Har95b]
    John Harrison. Metatheory and reflection in theorem proving: A survey and critique. Technical Report CRC-053, SRI Cambridge, UK, 1995.Google Scholar
  16. [HHP92]
    Robert Harper, Furio Honsell, and Gordon Plotkin. A framework for defining logics. Journal of the ACM, 40(1):143–184, 1992. Preliminary version in LICS'87.Google Scholar
  17. [HN88]
    Susumu Hayashi and Hiroshi Nakano. PX: A Computational Logic. MIT Press, 1988.Google Scholar
  18. [How88]
    Douglas Howe. Automating Reasoning in an Implementation of Constructive Type Theory. PhD thesis, Cornell University, June 1988.Google Scholar
  19. [HS86]
    J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinators and λ-Calculus, volume 1 of London Mathematical Society Student Texts. Cambridge University Press, 1986.Google Scholar
  20. [KC86]
    T. Knoblock and R. Constable. Formalized metareasoning in type theory. In LICS Proceedings. IEEE, 1986.Google Scholar
  21. [Kle67]
    Stephen C. Kleene. Mathematical Logic. Wiley, New York, 1967.Google Scholar
  22. [Kno87]
    Todd Knoblock. Metamathematical Extensibility in Type Theory. PhD thesis, Corness University, December 1987. Technical Report 87-892.Google Scholar
  23. [LP92]
    Zhaohui Luo and Robert Pollack. LEGO proof development system: User's manual. Technical Report ECS-LFCS-92-211, LFCS, Computer Science Dept., University of Edinburgh, The King's Buildings, Edinburgh EH9 3JZ, May 1992. Updated version. See http://www.des.ed. ac. uk/packages/lego/Google Scholar
  24. [Luo94]
    Z. Luo. Computation and Reasoning: A Type Theory for Computer Science. International Series of Monographs on Computer Science. Oxford University Press, 1994.Google Scholar
  25. [Mar85]
    Per Martin-Löf. On the meanings of the logical constants and the justifications of the logical laws. Technical Report 2, Scuola di Specializzazione in Logica Matematica, Dipartimento di Matematica, Università di Siena, 1985.Google Scholar
  26. [Mil92]
    Dale Miller. Unification under a mixed prefix. Journal of Symbolic Computation, 14:321–358, 1992.Google Scholar
  27. [MP93]
    James McKinna and Robert Pollack. Pure Type Sytems formalized. In M.Bezem and J.F.Groote, editors, Proceedings of the International Conference on Typed Lambda Calculi and Applications, TLCA'93, pages 289–305. Springer-Verlag, LNCS 664, March 1993.Google Scholar
  28. [MSB93]
    Sean Matthews, Alan Smaill, and David Basin. Experience with FS 0 as a framework theory. In G. Huet and G.D. Plotkin, editors, Logical Environments. Cambridge University Press, 1993. Formal Proceedings of the Second Workshop on Logical Frameworks, Edinburgh, May 1991.Google Scholar
  29. [MTH90]
    Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. MIT Press, 1990.Google Scholar
  30. [Pau93]
    Lawrence C. Paulson. Introduction to isabelle. Technical Report 280, University of Cambridge, Computer Laboratory, 1993. See http://www. cl. cam. ac. uk/Research/HVG/isabelle.htmlGoogle Scholar
  31. [PM89]
    Christine Paulin-Mohring. Extracting 160-01's programs from proofs in the Calculus of Constructions. In Association for Computing Machinery, editor, Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, 1989.Google Scholar
  32. [Pol94]
    Robert Pollack. The Theory of LEGO: A Proof Checker for the Extended Calculus of Constructions. PhD thesis, University of Edinburgh, 1994. Available by anonymous ftp from ftp. cs. chalmers. se in directory pub/users/pollack.Google Scholar
  33. [Pol95]
    Robert Pollack. A verified typechecker. In TLCA'95, Proceedings of the Second International Conference on Typed Lambda Calculi and Applications, Edinburgh. Springer-Verlag, LNCS, April 1995.Google Scholar
  34. [PR92]
    Frank Pfenning and Ekkehard Rohwedder. Implementing the meta-theory of inductive systems. In D. Kapur, editor, Proceedings of the Eleventh Annual Conference on Automated Deduction, Saratoga Springs, New York, number 607 in LNAI, pages 537–551. Springer-Verlag, June 1992.Google Scholar
  35. [Spi90]
    Mike Spivey. A functional theory of exceptions. Science of Computer Programming, 14:25–42, 1990. North Holland.Google Scholar
  36. [Wad92]
    Philip Wadler. The essence of functional programming. In Nineteenth Annual Symposium on Principles of Programming Languages, Santa Fe, New Mexico, January 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Robert Pollack
    • 1
  1. 1.Dept. of Computing ScienceChalmers Univ. of Technology and Univ. of GöteborgGöteborgSweden

Personalised recommendations