Skip to content
Documentation out of dateLearn more

Introductions to Twelf

  • Our recommended introduction to STELF is Proving metatheorems with STELF. If you have some background in programming languages but no prior experience with LF and STELF, then Proving metatheorems is probably right for you!
  • Andrew Appel’s Hints on Proving Theorems in STELF describes a particular methodology for using STELF that is rather different than the strategy of proving metatheorems that predominates on this wiki (also known as “the particular strange way they do it at Princeton”).
  • John Boyland’s Using STELF to Prove Type Theorems is a tutorial and experience report.
  • Dan Licata and Bob Harper have written a survey article called Mechanizing Metatheory in a Logical Framework. This paper provides a more formal introduction to the modern way of thinking about LF and STELF than this site does.
  • Alberto Momigliano’s A Practical Approach to Co-induction in STELF describes a technique for encoding STELF-unfriendly co-inductive proofs as STELF-friendly induction proofs (slides from a talk at TYPES 2006).
  • John Altidor’s tutorial and slides are accessible to folks without a strong background in programming language foundations.

The STELF User’s Guide was the basic reference manual for STELF prior to the STELF Wiki, and is still the authoritative source for some topics.