Skip to main content

The Teaching Tool CalcCheck A Proof-Checker for Gries and Schneider’s “Logical Approach to Discrete Math”

  • Conference paper
Certified Programs and Proofs (CPP 2011)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7086))

Included in the following conference series:

Abstract

Students following a first-year course based on Gries and Schneider’s LADM textbook had frequently been asking: “How can I know whether my solution is good?”

We now report on the development of a proof-checker designed to answer exactly that question, while intentionally not helping to find the solutions in the first place. CalcCheck provides detailed feedback to \({\rm L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}\) -formatted calculational proofs, and thus helps students to develop confidence in their own skills in “rigorous mathematical writing”.

Gries and Schneider’s book emphasises rigorous development of mathematical results, while striking one particular compromise between full formality and customary, more informal, mathematical practises, and thus teaches aspects of both. This is one source of several unusual requirements for a mechanised proof-checker; other interesting aspects arise from details of their notational conventions.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Andrews, P.B., et al.: ETPS: A system to help students write formal proofs. Journal of Automated Reasoning 32, 75–92 (2004), doi:10.1023/B:JARS.0000021871.18776.94

    Article  Google Scholar 

  2. Abel, A., Chang, B.-Y.E., Pfenning, F.: Human-readable machine-verifiable proofs for teaching constructive logic. In: Proceedings of Workshop on Proof Transformation, Proof Presentation and Complexity of Proofs (PTP 2001). Università degli Studi Siena, Dipartimento di Ingegneria dell’Informazione, Tech. Report 13/0 (2001), http://www2.tcs.ifi.lmu.de/~abel/tutch/

  3. Allen, C., Hand, M.: Logic Primer, 2nd edn. MIT Press (2001), http://logic.tamu.edu/

  4. Aldrich, J., Simmons, R.J., Shin, K.: SASyLF: An educational proof assistant for language theory. In: Huch, F., Parkin, A. (eds.) Proceedings of the 2008 International Workshop on Functional and Declarative Programming in Education, FDPE 2008, pp. 31–40. ACM (2008)

    Google Scholar 

  5. Borak, E., Zalewska, A.: Mizar Course in Logic and Set Theory. In: Kauers, M., Kerber, M., Miner, R., Windsteiger, W. (eds.) MKM/CALCULEMUS 2007. LNCS (LNAI), vol. 4573, pp. 191–204. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  6. Contejean, E.: A Certified AC Matching Algorithm. In: van Oostrom, V. (ed.) RTA 2004. LNCS, vol. 3091, pp. 70–84. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  7. Grabowski, A., Korniłowicz, A., Naumowicz, A.: Mizar in a nutshell. J. Formalized Reasoning 3(2), 153–245 (2010)

    MathSciNet  MATH  Google Scholar 

  8. Goldson, D., Reeves, S., Bornat, R.: A review of several programs for the teaching of logic. The Computer Journal 36, 373–386 (1993)

    Article  Google Scholar 

  9. Gries, D., Schneider, F.B.: A Logical Approach to Discrete Math. Monographs in Computer Science. Springer, Heidelberg (1993)

    Book  MATH  Google Scholar 

  10. Heeren, B.: Top Quality Type Error Messages. PhD thesis, Universiteit Utrecht, The Netherlands (September 2005)

    Google Scholar 

  11. Hudak, P., Hughes, J., Jones, S.P., Wadler, P.: A history of Haskell: Being lazy with class. In: Third ACM SIGPLAN History of Programming Languages Conference (HOPL-III), pp. 12–1–12–55. ACM (2007)

    Google Scholar 

  12. James Hoover, H., Rudnicki, P.: Teaching freshman logic with mizar-mse. Mathesis Universalis, 3 (1996), http://www.calculemus.org/MathUniversalis/3/ ; ISSN 1426-3513

  13. Knuth, D.E.: Literate programming. The Computer Journal 27(2), 97–111 (1984)

    Article  MATH  Google Scholar 

  14. Knuth, D.E.: Literate Programming. CSLI Lecture Notes, vol. 27. Center for the Study of Language and Information (1992)

    Google Scholar 

  15. Leijen, D., Meijer, E.: Parsec: Direct style monadic parser combinators for the real world. Technical Report UU-CS-2001-27, Department of Computer Science, Universiteit Utrecht (2001), http://www.cs.uu.nl/~daan/parsec.html

  16. Nipkow, T.: Structured Proofs in Isar/HOL. In: Geuvers, H., Wiedijk, F. (eds.) TYPES 2002. LNCS, vol. 2646, pp. 259–278. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  17. Naumowicz, A., Korniłowicz, A.: A Brief Overview of Mizar. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 67–72. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  18. Norell, U.: Towards a Practical Programming Language Based on Dependent Type Theory. PhD thesis, Department of Computer Science and Engineering, Chalmers University of Technology (September 2007)

    Google Scholar 

  19. Spivey, J.M.: The Z Notation: A Reference Manual. Prentice Hall International Series in Computer Science. Prentice Hall (1989), Out of print; available via http://spivey.oriel.ox.ac.uk/mike/zrm/

  20. Spivey, M.: The fuzz type-checker for Z, Version 3.4.1, and The fuzz Manual, 2 edn. (2008), http://spivey.oriel.ox.ac.uk/mike/fuzz/ (last accessed June 17, 2011)

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kahl, W. (2011). The Teaching Tool CalcCheck A Proof-Checker for Gries and Schneider’s “Logical Approach to Discrete Math”. In: Jouannaud, JP., Shao, Z. (eds) Certified Programs and Proofs. CPP 2011. Lecture Notes in Computer Science, vol 7086. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25379-9_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-25379-9_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-25378-2

  • Online ISBN: 978-3-642-25379-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics