Skip to main content

An Essence of SSReflect

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 7362))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aspinall, D., Denney, E., Lüth, C.: Tactics for hierarchical proof. Mathematics in Computer Science 3, 309–330 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  2. 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)

    Chapter  Google Scholar 

  3. 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)

    Chapter  Google Scholar 

  4. Denney, E., Power, J., Tourlas, K.: Hiproofs: A hierarchical notion of proof tree. Electr. Notes Theor. Comput. Sci. 155, 341–359 (2006)

    Article  Google Scholar 

  5. Barendregt, H., et al.: Lambda calculi with types. In: Handbook of Logic in Computer Science, pp. 117–309. Oxford University Press (1992)

    Google Scholar 

  6. Fowler, M.: Refactoring: improving the design of existing code. Addison-Wesley (1999)

    Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. 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)

    Google Scholar 

  9. Gonthier, G., Mahboubi, A., Tassi, E.: A Small Scale Reflection Extension for the Coq system. Rapport de recherche RR-6455, INRIA (2008)

    Google Scholar 

  10. Gonthier, G., Stéphane Le, R.: An Ssreflect Tutorial. Technical Report RT-0367, INRIA (2009)

    Google Scholar 

  11. Guidi, F.: Procedural representation of cic proof terms. J. Autom. Reason. 44(1-2), 53–78 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  12. Harrison, J.: Proof Style. In: Giménez, E. (ed.) TYPES 1996. LNCS, vol. 1512, pp. 154–172. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  13. 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)

    Chapter  Google Scholar 

  14. Huet, G., Kahn, G., Paulin-Mohring, C.: The Coq proof assistant: A tutorial (August 2007)

    Google Scholar 

  15. Komendantsky, V.: Reflexive toolbox for regular expression matching: verification of functional programs in Coq+SSReflect. In: PLPV 2012, pp. 61–70 (2012)

    Google Scholar 

  16. Mens, T., Tourwe, T.: A survey of software refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 (2004)

    Article  Google Scholar 

  17. Sacerdoti Coen, C.: Declarative representation of proof terms. J. Autom. Reason. 44(1-2), 25–52 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  18. 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)

    Chapter  Google Scholar 

  19. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics