Abstract
Influenced by the success of the Mizar system many declarative proof languages have been developed in the theorem prover community, as declarative proofs are more readable, easier to modify and to maintain than their procedural counterparts. However, despite their advantages, many users still prefer the procedural style of proof, because procedural proofs are faster to write. In this paper we show how to define a declarative tactic language on top of a declarative proof language. The language comes along with a rich facility to declaratively specify conditions on proof states in the form of sequent patterns, as well as ellipses (dot notation) to provide a limited form of iteration. As declarative tactics are specified using the declarative proof language, they offer the same advantages as declarative proof languages. At the same time, they also produce declarative justifications in the form of a declarative proof script and can thus be seen as an attempt to reduce the gap between procedural and declarative proofs.
This work was supported by German Ministry for Research and Education (BMBF) under grant 01 IW 07002 (project FormalSafe).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abel, A., Chang, B.-Y.E., Pfenning, F.: Human-readable machine-verifiable proofs for teaching constructive logic. In: Egly, U., Fiedler, A., Horacek, H., Schmitt, S. (eds.) Proceedings of the Workshop on Proof Transformations, Proof Presentations and Complexity of Proofs (PTP ’01), Universitá degli studi di Siena (June 2001)
Autexier, S., Benzmüller, C., Dietrich, D., Wagner, M.: Organisation, transformation, and propagation of mathematical knowledge in Omega. Journal Mathematics in Computer Science
Autexier, S., Fiedler, A.: Textbook proofs meet formal logic - the problem of underspecification and granularity. In: Kohlhase, M. (ed.) MKM 2005. LNCS (LNAI), vol. 3863, pp. 96–110. Springer, Heidelberg (2006)
Beeson, M.: Automatic generation of epsilon-delta proofs of continuity. In: Calmet, J., Plaza, J.A. (eds.) AISC 1998. LNCS (LNAI), vol. 1476, pp. 67–83. Springer, Heidelberg (1998)
Bertot, Y., Dowek, G., Hirschowitz, A., Paulin-Mohring, C., Théry, L. (eds.): TPHOLs 1999. LNCS, vol. 1690. Springer, Heidelberg (1999)
Bledsoe, W.W.: Challenge problems in elementary calculus. J. Autom. Reasoning 6(3), 341–359 (1990)
Borovansky, P., Kirchner, C., Kirchner, H., Ringeissen, C.: Rewriting with strategies in ELAN: A functional semantics. International Journal of Foundations of Computer Science 12(1), 69–95 (2001)
Boyer, R.S., Moore, J.S.: A Computational Logic Handbook. Academic Press, London (1988)
Brown, C.E.: Verifying and invalidating textbook proofs using scunak. In: Borwein, J.M., Farmer, W.M. (eds.) MKM 2006. LNCS (LNAI), vol. 4108, pp. 110–123. Springer, Heidelberg (2006)
Calmet, J., Homann, K.: Classification of communication and cooperation mechanisms for logical and symbolic computation systems. In: Frontiers of Combining Systems (FroCos), pp. 221–234 (1996)
Corbineau, P.: A declarative language for the Coq proof assistant. In: Miculan, M., Scagnetto, I., Honsell, F. (eds.) TYPES 2007. LNCS, vol. 4941, pp. 69–84. Springer, Heidelberg (2007)
Delahaye, D.: A Proof Dedicated Meta-Language. In: Proceedings of Logical Frameworks and Meta-Languages (LFM), Copenhagen, Denmark, July 2002. ENTCS, vol. 70(2). Elsevier, Amsterdam (2002)
Dennis, L.A., Jamnik, M., Pollet, M.: On the comparison of proof planning systems: lambda-clam, Omega and IsaPlanner. Electr. Notes Theor. Comput. Sci. 151(1), 93–110 (2006)
Dietrich, D., Schulz, E.: Crystal: Integrating structured queries into a tactic language. J. Autom. Reasoning 44(1-2), 79–110 (2010)
Dietrich, D., Schulz, E., Wagner, M.: Authoring verified documents by interactive proof construction and verification in text-editors. In: Autexier, S., Campbell, J., Rubio, J., Sorge, V., Suzuki, M., Wiedijk, F. (eds.) AISC 2008, Calculemus 2008, and MKM 2008. LNCS (LNAI), vol. 5144, pp. 398–414. Springer, Heidelberg (2008)
Dixon, L., Fleuriot, J.D.: A proof-centric approach to mathematical assistants. J. of Applied Logic: Towards Computer Aided Mathematics Systems 4(4), 505–532 (2005)
Dixon, L., Fleuriot, J.D.: Isaplanner: A prototype proof planner in Isabelle. In: Baader, F. (ed.) CADE 2003. LNCS (LNAI), vol. 2741, pp. 279–283. Springer, Heidelberg (2003)
Fiedler, A.: P.rex: An interactive proof explainer. In: Goré, R.P., Leitsch, A., Nipkow, T. (eds.) IJCAR 2001. LNCS (LNAI), vol. 2083, pp. 416–420. Springer, Heidelberg (2001)
Gordon, M.J.C., Milner, R., Wadsworth, C.P.: Edinburgh LCF. LNCS, vol. 78. Springer, Heidelberg (1979)
Harrison, J.: Proof style. In: Giménez, E., Paulin-Mohring, C. (eds.) TYPES 1996. LNCS, vol. 1512, pp. 154–172. Springer, Heidelberg (1996)
Huang, X.: Human Oriented Proof Presentation: A Reconstructive Approach. DISKI, Infix, Sankt Augustin, Germany, vol. 112 (1996)
Huang, X., Kerber, M., Cheikhrouhou, L.: Adaptation of declaratively represented methods in proof planning. Annals of Mathematics and Artificial Intelligence 23(3-4), 299–320 (1998)
Hunt Jr., W.A., Kaufmann, M., Krug, R.B., Moore, J.S., Smith, E.W.: Meta reasoning in ACL2. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 163–178. Springer, Heidelberg (2005)
Kühlwein, D., Cramer, M., Koepke, P., Schröder, B.: The naproche system. In: Calculemus 2009, pp. 8–18 (July 2009)
MartÃ-Oliet, N., Meseguer, J., Verdejo, A.: Towards a strategy language for Maude. In: MartÃ-Oliet, N. (ed.) Proceedings Fifth International Workshop on Rewriting Logic and its Applications (WRLA 2004), Barcelona, Spain. ENTCS, vol. 117, pp. 417–441. Elsevier, Amsterdam (2005)
Melis, E., Siekmann, J.H.: Knowledge-based proof planning. Journal Artificial Intelligence 115(1), 65–105 (1999)
Sacerdoti-Coen, C.: Declarative representation of proof terms. J. Autom. Reasoning 44(1-2), 25–52 (2010)
Syme, D.: Three tactic theorem proving. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 203–220. Springer, Heidelberg (1999)
Trybulec, A., Blair, H.: Computer assisted reasoning with MIZAR. In: Joshi, A. (ed.) Proceedings of the 9th Int. Joint Conference on Artifical Intelligence, M. Kaufmann, San Francisco (1985)
Verchinine, K., Lyaletski, A.V., Paskevich, A.: System for automated deduction (SAD): A tool for proof verification. In: Pfenning, F. (ed.) CADE 2007. LNCS (LNAI), vol. 4603, pp. 398–403. Springer, Heidelberg (2007)
Visser, E.: Stratego: A language for program transformation based on rewriting strategies. System description of Stratego 0.5. In: Middeldorp, A. (ed.) RTA 2001. LNCS, vol. 2051, pp. 357–361. Springer, Heidelberg (2001)
Wenzel, M.: Isar — a generic interpretative approach to readable formal proof documents. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 167–184. Springer, Heidelberg (1999)
Wiedijk, F.: Formal proof sketches. In: Berardi, S., Coppo, M., Damiani, F. (eds.) TYPES 2003. LNCS, vol. 3085, pp. 378–393. Springer, Heidelberg (2004)
Zammit, V.: On the implementation of an extensible declarative proof language. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 185–202. Springer, Heidelberg (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Autexier, S., Dietrich, D. (2010). A Tactic Language for Declarative Proofs. In: Kaufmann, M., Paulson, L.C. (eds) Interactive Theorem Proving. ITP 2010. Lecture Notes in Computer Science, vol 6172. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14052-5_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-14052-5_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-14051-8
Online ISBN: 978-3-642-14052-5
eBook Packages: Computer ScienceComputer Science (R0)