Abstract
SSReflect is a powerful language for proving theorems in the Coq system. It has been used for some of the largest proofs in formal mathematics thus far. However, although it constructs proofs in a formal system, like most other proof languages the semantics is informal making it difficult to reason about such proof scripts. We give a semantics to a subset of the language, using a hierarchical notion of proof tree, and show some simple transformations on proofs that preserve the semantics.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aspinall, D., Denney, E., Lüth, C.: Tactics for hierarchical proof. Mathematics in Computer Science 3, 309–330 (2010)
Autexier, S., Dietrich, D.: A Tactic Language for Declarative Proofs. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 99–114. Springer, Heidelberg (2010)
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 (2008)
Denney, E., Power, J., Tourlas, K.: Hiproofs: A hierarchical notion of proof tree. Electr. Notes Theor. Comput. Sci. 155, 341–359 (2006)
Barendregt, H., et al.: Lambda calculi with types. In: Handbook of Logic in Computer Science, pp. 117–309. Oxford University Press (1992)
Fowler, M.: Refactoring: improving the design of existing code. Addison-Wesley (1999)
Gonthier, G.: The Four Colour Theorem: Engineering of a Formal Proof. In: Kapur, D. (ed.) ASCM 2007. LNCS (LNAI), vol. 5081, p. 333. Springer, Heidelberg (2008)
Gonthier, G., Mahboubi, A., Rideau, L., Tassi, E., Théry, L.: A Modular Formalisation of Finite Group Theory. Rapport de recherche RR-6156, INRIA (2007)
Gonthier, G., Mahboubi, A., Tassi, E.: A Small Scale Reflection Extension for the Coq system. Rapport de recherche RR-6455, INRIA (2008)
Gonthier, G., Stéphane Le, R.: An Ssreflect Tutorial. Technical Report RT-0367, INRIA (2009)
Guidi, F.: Procedural representation of cic proof terms. J. Autom. Reason. 44(1-2), 53–78 (2010)
Harrison, J.: Proof Style. In: Giménez, E. (ed.) TYPES 1996. LNCS, vol. 1512, pp. 154–172. Springer, Heidelberg (1998)
Heras, J., Poza, M., Dénès, M., Rideau, L.: Incidence Simplicial Matrices Formalized in Coq/SSReflect. In: Davenport, J.H., Farmer, W.M., Urban, J., Rabe, F. (eds.) Calculemus/MKM 2011. LNCS, vol. 6824, pp. 30–44. Springer, Heidelberg (2011)
Huet, G., Kahn, G., Paulin-Mohring, C.: The Coq proof assistant: A tutorial (August 2007)
Komendantsky, V.: Reflexive toolbox for regular expression matching: verification of functional programs in Coq+SSReflect. In: PLPV 2012, pp. 61–70 (2012)
Mens, T., Tourwe, T.: A survey of software refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 (2004)
Sacerdoti Coen, C.: Declarative representation of proof terms. J. Autom. Reason. 44(1-2), 25–52 (2010)
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)
Whiteside, I., Aspinall, D., Dixon, L., Grov, G.: Towards Formal Proof Script Refactoring. In: Davenport, J.H., Farmer, W.M., Urban, J., Rabe, F. (eds.) Calculemus/MKM 2011. LNCS (LNAI), vol. 6824, pp. 260–275. Springer, Heidelberg (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Whiteside, I., Aspinall, D., Grov, G. (2012). An Essence of SSReflect. In: Jeuring, J., et al. Intelligent Computer Mathematics. CICM 2012. Lecture Notes in Computer Science(), vol 7362. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31374-5_13
Download citation
DOI: https://doi.org/10.1007/978-3-642-31374-5_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-31373-8
Online ISBN: 978-3-642-31374-5
eBook Packages: Computer ScienceComputer Science (R0)