[TYPES/announce] SASyLF educational proof assistant

Jonathan Aldrich jonathan.aldrich at cs.cmu.edu
Fri Aug 15 01:48:07 EDT 2008


I'm pleased to announce the availability of the SASyLF educational proof 
assistant for the meta-theory of programming languages and logics. 
SASyLF ("Sassy Elf") has a simple design philosophy: language and logic 
syntax, semantics, and meta-theory are written as closely as possible to 
the way they are written on paper.  This design choice means the tool 
can be adopted with little or no in-class instruction and with a minimal 
learning curve.  Error messages are effectively localized and are 
presented in terms of student-understandable concepts.

SASyLF can express many proofs typical of an introductory graduate type 
theory course; for example, we have developed a preliminary solution to 
part 2A of the POPLMark challenge, i.e. type soundness for System F-sub 
(see the site below).  SASyLF proofs are generally very explicit, but 
its built-in support for variable binding (the "LF" in SASyLF) provides 
substitution properties for free and avoids awkward variable encodings.

Type theory researchers looking for a proof assistant with a gentle 
learning curve may also find SASyLF useful, with the caveat that proofs 
are likely to be somewhat more verbose than in existing theorem provers 
that focus on a research, rather than an educational, audience.

The current release (version 0.7) is relatively stable and implements 
most checks, including rule application, correct and completeness case 
analysis, and uses of lemmas and the induction hypothesis.  A few checks 
are still unimplemented, including those for substitution, weakening, 
exchange, and contraction--these features can be used but are not 
checked.  We hope to implement these checks in the very near future, but 
decided to announce the tool as we believe it is mature enough to be 
useful in Fall courses.  The open-source tool and more information is 
available at:


http://www.sasylf.org/


We will present initial educational experience with SASyLF in a FDPE '08 
workshop paper (available at the site above), and will describe the 
design of the tool in WMM '08.  Also look for our poster at ICFP.  If 
you're interested in using the tool in a course, but need some feature 
badly, please let me know, as I'd like to gather experience teaching 
with SASyLF.

Thanks,

Jonathan Aldrich


P.S. For those who know Ott, SASyLF's syntax for definitions is similar. 
  Unlike Ott, we go beyond definitions to express and check *proofs* in 
a friendly, paper-like notation.


More information about the Types-announce mailing list