A Proof-Theoretic Approach to Tactics
Tactics and tacticals, programs that represent and execute several steps of deduction, are fundamental to theorem provers providing automated tools for creating proofs quickly and easily. The language used for tactics is usually a full-scale programming language, separate from the language used to represent proofs. Consequently, there is also a separation between the use of theorems in proofs and the use of tactics. Our goal is to represent tactics in a way that allows them to be treated at the same level as proofs and theorems. We also want a representation that allows us to formally translate tactics into the proof steps they represent. We extend a system presented in [1,2] to represent tactics at the same level as theorems and move freely from tactics to proof steps and provide an example of its usefulness.
KeywordsTyping Rule Proof Rule Proof Step Proof Search Proof Term
Unable to display preview. Download preview PDF.
- 1.Kozen, D., Ramanarayanan, G.: A proof-theoretic approach to knowledge acquisition. Technical Report 2005-1985, Computer Science Department, Cornell University (2005)Google Scholar
- 5.Kreitz, C.: The Nuprl Proof Development System, Version 5: Reference Manual and User’s Guide. Department of Computer Science, Cornell University (2002)Google Scholar
- 6.The Coq Development Team: The Coq Proof Assistant Reference Manual – Version V7.3 (2002), http://coq.inria.fr
- 7.Wenzel, M., Berghofer, S.: The Isabelle System Manual (2003)Google Scholar
- 11.Sørensen, M.H., Urzyczyn, P.: Lectures on the Curry–Howard isomorphism. Available as DIKU Rapport 98/14 (1998)Google Scholar
- 12.Morris, J.H.: Lambda calculus models of programming languages. Technical report, Massachuseets Instititue of Technology, Laboratory for Computer Science (1968)Google Scholar
- 13.Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)Google Scholar