TYPES 1994: Types for Proofs and Programs pp 140-161 | Cite as
On extensibility of proof checkers
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 SchemePreview
Unable to display preview. Download preview PDF.
References
- [ACHA90]Allen, Constable, Howe, and Aitken. The semantics of reflected proof. In LICS Proceedings. IEEE, 1990.Google Scholar
- [ACU]William Aitkin, Robert Constable, and Judith Underwood. Metalogical frameworks II: Using reflected decision procedures. Technical report, Cornell University. To appear.Google Scholar
- [Avr91]Arnon Avron. Simple consequence relations. Information and Computation, 92:105–139, 1991.Google Scholar
- [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
- [BM88]Robert S. Boyer and J S. Moore. A Computational Logic Handbook. Academic Press, 1988.Google Scholar
- [Con86]Robert L. Constable, et. al. Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, Englewood Cliffs, NJ, 1986.Google Scholar
- [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
- [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
- [Fef88]Solomon Feferman. Finitary inductively presented logics. In Logic Colloquium '88, Padova. August 1988.Google Scholar
- [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
- [FFM90]Mick Francis, Simon Finn, and Ellie Mayger. Reference manual for the Lambda system. Technical report, Abstract Hardware Limited, 1990.Google Scholar
- [GMW79]Michael Gordon, Robin Milner, and Christopher Wadsworth. Edinburgh LCF: A Mechanized Logic of Computation. Springer-Verlag, 1979.Google Scholar
- [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
- [Har95a]John Harrison. Binary decision diagrams as a HOL derived rule. The Computer Journal, 38(5), 1995.Google Scholar
- [Har95b]John Harrison. Metatheory and reflection in theorem proving: A survey and critique. Technical Report CRC-053, SRI Cambridge, UK, 1995.Google Scholar
- [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
- [HN88]Susumu Hayashi and Hiroshi Nakano. PX: A Computational Logic. MIT Press, 1988.Google Scholar
- [How88]Douglas Howe. Automating Reasoning in an Implementation of Constructive Type Theory. PhD thesis, Cornell University, June 1988.Google Scholar
- [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
- [KC86]T. Knoblock and R. Constable. Formalized metareasoning in type theory. In LICS Proceedings. IEEE, 1986.Google Scholar
- [Kle67]Stephen C. Kleene. Mathematical Logic. Wiley, New York, 1967.Google Scholar
- [Kno87]Todd Knoblock. Metamathematical Extensibility in Type Theory. PhD thesis, Corness University, December 1987. Technical Report 87-892.Google Scholar
- [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
- [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
- [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
- [Mil92]Dale Miller. Unification under a mixed prefix. Journal of Symbolic Computation, 14:321–358, 1992.Google Scholar
- [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
- [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
- [MTH90]Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. MIT Press, 1990.Google Scholar
- [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
- [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
- [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
- [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
- [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
- [Spi90]Mike Spivey. A functional theory of exceptions. Science of Computer Programming, 14:25–42, 1990. North Holland.Google Scholar
- [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