goldfirere / ott-tutorial

A tutorial on the ott tool for presenting type theory

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

An ott Tutorial

This repo contains several versions of a presentation of the simply-typed lambda calculus (STLC) using the tool ott. These versions use progressively more ott features and can serve as a way to progress toward mastery of the tool.

  • stlc1: Very basic ott files and Makefile without any fancy formatting

  • stlc2: Basic tex homs to produce moderately-prettified output

  • stlc3: More tex homs, and operational semantics.

  • stlc4: Use of the ottalt package, and working extraction into Coq. This version demonstrates the use of the 'substitutions' ott directive to generate a substitution function over grammar elements.

  • stlc5: Tuples are added to the language, demonstrating both forms of list syntax. The Coq extraction still works, and there is a partial proof of the canonical form for tuples. The cruft that Coq extraction generates can be removed using code in cruft.v.

About

A tutorial on the ott tool for presenting type theory


Languages

Language:Coq 73.7%Language:TeX 23.8%Language:Makefile 2.5%