Smullyan.Aviary #
A collection of combinator birds representable in Lean. Certain duplicators,
e.g. mockingbirds, are not directly expressible since they would require
encoding a signature in which an argument has types α
and α → α
.
Duplicators that are included, e.g. the warbler, are not exactly correct considering they still have the same limitation described above during actual use. Their inclusion here serves more as pseudo-documentation than anything.
Equations
- «termC*» = Lean.ParserDescr.node `termC* 1024 (Lean.ParserDescr.symbol "C*")
Instances For
Double Mockingbird #
M₂xy = xy(xy)
Equations
- «termF*» = Lean.ParserDescr.node `termF* 1024 (Lean.ParserDescr.symbol "F*")
Instances For
Lark #
Lxy = x(yy)
Mockingbird #
Mx = xx
Equations
- «termR*» = Lean.ParserDescr.node `termR* 1024 (Lean.ParserDescr.symbol "R*")
Instances For
Turing Bird #
Uxy = y(xxy)
Equations
- «termV*» = Lean.ParserDescr.node `termV* 1024 (Lean.ParserDescr.symbol "V*")