skip to main content
10.1145/1411260.1411266acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

SASyLF: an educational proof assistant for language theory

Published: 21 September 2008 Publication History

Abstract

Teaching and learning formal programming language theory is hard, in part because it's easy to make mistakes and hard to find them. Proof assistants can help check proofs, but their learning curve is too steep to use in most classes, and is a barrier to researchers too.
In this paper we present SASyLF, an LF-based proof assistant specialized to checking theorems about programming languages and logics. SASyLF has a simple design philosophy: language and logic syntax, semantics, and meta-theory should be written as closely as possible to the way it is done on paper. We describe how we designed the SASyLF syntax to be accessible to students learning type theory, and how students can understand its semantics directly in terms of the theory they are taught in class. SASyLF can express proofs typical of an introductory graduate type theory course. SASyLF proofs are generally very explicit, but its built-in support for variable binding provides substitution properties for free and avoids awkward variable encodings. We describe preliminary experience teaching with SASyLF.

References

[1]
Andreas Abel, Bor-Yuh Evan Chang, and Frank Pfenning. Human-Readable, Machine-Verifiable Proofs for Teaching Constructive Logic. In Workshop on Proof Transformations, Proof Presentations and Complexity of Proofs (PTP'01), June 2001.
[2]
Brian Aydemir, Arthur Charguéraud, Benjamin C. Pierce, Randy Pollack, and Stephanie Weirich. Engineering Formal Metatheory. In Symposium on Principles of Programming Languages, 2008.
[3]
Brian E. Aydemir, Aaron Bohannon, Matthew Fairbairn, J. Nathan Foster, Benjamin C. Pierce, Peter Sewell, Dimitrios Vytiniotis, Geoffrey Washburn, Stephanie Weirich, and Steve Zdancewic. Mechanized Metatheory for the Masses: The PoplMark Challenge. In Theorem Proving in Higher Order Logics, pages 50--65, 2005.
[4]
Ian Barland, Matthias Felleisen, Kathi Fisler, Phokion Kolaitis, and Moshe Y. Vardi. Integrating Logic into the Computer Science Curriculum. http://www.cs.utexas.edu/\verb1 1csed/FM/docs/iticse--fislervardi.pdf, 2000.
[5]
Jon Barwise and John Etchemendy. Computers, Visualization, and the Nature of Reasoning. In The Digital Phoenix: How Computers are Changing Philosophy, pages 93--116. Blackwell, 1998.
[6]
Yves Bertot and Pierre Castéran. Interactive Theorem Proving and Program Development. Springer-Verlag, 2004.
[7]
Carl Eastlund, Dale Vaillancourt, and Matthias Felleisen. ACL2 for Freshmen: First Experiences. In ACL2 Workshop, 2007.
[8]
Andrew Gacek. The Abella Interactive Theorem Prover (system description). In IJCAR, 2008.
[9]
D. Goldson and S. Reeves. Using Programs to Teach Logic to Computer Scientists. Notices of the American Mathematical Society, 40: 143--148, 1993.
[10]
Robert Harper. Practical Foundations for Programming Languages. Available at http://www.cs.cmu.edu/~rwh/plbook/book.pdf, 2008.
[11]
Robert Harper, Furio Honsell, and Gordon D. Plotkin. A Framework for Defining Logics. phJ. ACM, 40 (1): 143--184, 1993.
[12]
Jacob Matthews, Robert Bruce Findler, Matthew Flatt, and Matthias Felleisen. A Visual Environment for Developing Context-Sensitive Term Rewriting Systems. In International Conference on Rewriting Techniques and Applications. Springer Verlag LNCS 3091, 2004.
[13]
Tobias Nipkow, Lawrence C. Paulson, and Markus Wenzel. Isabelle/HOL: A Proof Assistant For Higher-Order Logic. Lecture Notes in Computer Science, 2283, 2002.
[14]
Mikael Pettersson. Compiling Natural Semantics. PhD thesis, Linkoping University, 1995.
[15]
Frank Pfenning. Logical Frameworks. In Alan Robinson and Andrei Voronkov, editors, Handbook of Automated Reasoning, chapter 17, pages 1063--1147. Elsevier Science and MIT Press, 2001.
[16]
Frank Pfenning. Computation and Deduction. Cambridge University Press. In preparation. Draft from April 1997 available electronically at http://www.cs.cmu.edu/~twelf/notes/cd.ps.
[17]
Frank Pfenning and Carsten Schürmann. System Description: Twelf - A Meta-Logical Framework for Deductive Systems. In International Conference on Automated Deduction, pages 202--206, July 1999.
[18]
Richard Scheines and Wilfried Sieg. Computer Environments for Proof Construction. Interactive Learning Environments, 4: 159--169, 1994.
[19]
Carsten Schürmann. Automating the Meta-Theory of Deductive Systems. PhD thesis, Carnegie Mellon University, 2000.
[20]
Peter Sewell, Francesco Zappa Nardelli, Scott Owens, Gilles Peskine, Tom Ridge, Susmit Sarkar, and Rok Strnisa. Ott: Effective Tool Support for the Working Semanticist. In International Conference on Functional Programming, pages 1--12, 2007.
[21]
Richard Sommer and Gregory Nuckols. A Proof Environment for Teaching Mathematics. J. Autom. Reason., 32 (3): 227--258, 2004.
[22]
S. Tobias. Revitalizing Undergraduate Science: Why some things work and most don't. Research Corporation, 1992.
[23]
Masaru Tomita. An Efficient Augmented-Context-Free Parsing Algorithm. phComputational Linguistics, 13 (1-2): 31--46, 1987.
[24]
Mark van den Brand, Jan Heering, Paul Klint, and Pieter Olivier. Compiling Rewrite Systems: The ASF+SDF Compiler. Transactions on Software Engineering and Methodology, 24: 334--368, 2002.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
FDPE '08: Proceedings of the 2008 international workshop on Functional and declarative programming in education
September 2008
98 pages
ISBN:9781605580685
DOI:10.1145/1411260
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 September 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. education
  2. logical framework
  3. metatheory
  4. proof assistant

Qualifiers

  • Research-article

Conference

ICFP08
Sponsor:

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)1
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media