Enriching the lambda calculus with contexts: toward a theory of incremental program construction
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Theoretical Computer Science
Open Proofs and Open Terms: A Basis for Interactive Logic
CSL '02 Proceedings of the 16th International Workshop and 11th Annual Conference of the EACSL on Computer Science Logic
CTRS '92 Proceedings of the Third International Workshop on Conditional Term Rewriting Systems
Theoretical Computer Science
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Fundamenta Informaticae - Typed Lambda Calculi and Applications (TLCA'99)
Information and Computation
A general mathematics of names
Information and Computation
Electronic Notes in Theoretical Computer Science (ENTCS)
ACM Transactions on Computational Logic (TOCL)
Capture-avoiding substitution as a nominal algebra
Formal Aspects of Computing
Journal of Logic and Computation
One-and-a-Halfth Order Terms: Curry-Howard and Incomplete Derivations
WoLLIC '08 Proceedings of the 15th international workshop on Logic, Language, Information and Computation
TYPES'02 Proceedings of the 2002 international conference on Types for proofs and programs
A formal calculus for informal equality with binding
WoLLIC'07 Proceedings of the 14th international conference on Logic, language, information and computation
Curry-style types for nominal terms
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
Nominal techniques in Isabelle/HOL
CADE' 20 Proceedings of the 20th international conference on Automated Deduction
The lambda-context calculus (extended version)
Information and Computation
Hi-index | 0.00 |
Two-level lambda-calculus is designed to provide a mathematical model of capturing substitution, also called instantiation. Instantiation is a feature of the 'informal meta-level'; it appears pervasively in specifications of the syntax and semantics of formal languages. The two-level lambda-calculus has two levels of variable. Lambda-abstraction and beta-reduction exist for both levels. A level 2 beta-reduct, triggering a substitution of a term for a level 2 variable, does not avoid capture for level 1 abstractions. This models meta-variables and instantiation as appears at the informal meta-level. In this paper we lay down the syntax of the two-level lambda-calculus; we develop theories of freshness, alpha-equivalence, and beta-reduction; and we prove confluence. In doing this we give nominal terms unknowns - which are level 2 variables and appear in several previous papers - a functional meaning. In doing this we take a step towards longer-term goals of developing a foundation for theorem-provers which directly support reasoning in the style of nominal rewriting and nominal algebra, and towards a mathematics of functions which can bind names in their arguments.