-
Notifications
You must be signed in to change notification settings - Fork 143
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[examples/lambda] Update documentation in examples/lambda/basics
- Loading branch information
Showing
2 changed files
with
58 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,55 @@ | ||
appFOLDLScript.sml | ||
Defines iterated (left-associated) application in Λ so that | ||
|
||
M @* [M1; M2] = (M @@ M1) @@ M2 | ||
|
||
basic_swapScript.sml | ||
Very basic theory of swaps over strings (the swapstr constant), and | ||
permutations (which take a list of pairs of strings to swap). Also | ||
defines the NEW constant, which is used everywhere (including in | ||
the dB and nc developments above). | ||
the dB and nc developments in other-modesls). | ||
|
||
binderLib.{sig,sml} | ||
Tools for doing proofs with terms that include binders, including | ||
function definition and facilities from NEWLib. | ||
|
||
ctermScript.sml | ||
Defines a type like Λ(A) with A a set of additional constants, | ||
introduced, for example, in Barendregt §5.2. In HOL, the A is a | ||
type variable so that we get α cterms with constructors APP, LAM, | ||
CONST and VAR. | ||
|
||
generic_termsScript.sml | ||
Defines a large type of trees with α-equivalent binders over | ||
strings that can be used as the basis for the definition of a | ||
number of "nominal" types. The genind constant provides a way of | ||
encoding a variety of subsets of this type, as described in | ||
notes.txt. | ||
|
||
NEWLib.{sig,sml} | ||
simple tactics to use with the NEW constant. | ||
|
||
nomdatatype.{sig,sml} | ||
Some very rudimentary code to provide some automation in the | ||
definition of types built from generic_terms (as above). | ||
|
||
nomsetScript.sml | ||
A more involved theory of permutations and their actions on | ||
arbitrary types (the "nominal sets"). Includes the notion of | ||
support. | ||
|
||
NEWLib.{sig,sml} | ||
simple tactics to use with the NEW constant. | ||
|
||
binderLib.{sig,sml} | ||
Tools for doing proofs with terms that include binders, including | ||
function definition and facilities from NEWLib. | ||
notes.txt | ||
Tries to explain the genind + generic_terms technology for building | ||
new types with binders. | ||
|
||
pretermScript.sml termScript.sml | ||
Using a quotient over raw syntax from pretermTheory, establishes a | ||
type of lambda calculus terms, and defines substitution, the notion | ||
of free variable and permutations over that type. Proves some | ||
simple lemmas about substitution. For example, | ||
termScript.sml | ||
Constructs the classic type of lambda terms, with three | ||
constructors, called Λ in lots of places. Does this by constructing | ||
a subtype of the “generic” terms. Defines various flavours of | ||
substitution proves some simple lemmas about these. For example, | ||
|
||
lemma14a: |- [VAR x/x] t = t | ||
|
||
termSyntax.{sig,sml} | ||
Standard HOL-style syntactic support for programmatically | ||
manipulating terms of type “:term”. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters