Primitive recursion for higher-order abstract syntax
Higher-order abstract syntax is a central representation technique in logical frameworks which maps variables of the object language into variables of the meta-language. It leads to concise encodings, but is incompatible with functions defined by primitive recursion or proofs by induction. In this paper we propose an extension of the simply typed lambda-calculus with iteration and case constructs which preserves the adequacy of higher-order abstract syntax encodings. The well-known paradoxes are avoided through the use of a modal operator which obeys the laws of \(S_{4}\). In the resulting calculus many functions over higher-order representations can be expressed elegantly. Our central technical result, namely that our calculus is conservative over the simply typed lambda-calculus, is proved by a rather complex argument using logical relations. We view our system as an important first step towards allowing the methodology of LF to be employed effectively in systems based on induction principles such as ALF, Coq, or NuPrl, leading to a synthesis of currently incompatible paradigms.
- scientific article; zbMATH DE number 2185713
- Primitive recursion in the abstract
- scientific article; zbMATH DE number 1390021
- Recursion principles for syntax with bindings and substitution
- scientific article; zbMATH DE number 445161
- Programming Languages and Systems
- Term rewriting theory for the primitive recursive functions
- A framework for defining logics
- A modal analysis of staged computation
- scientific article; zbMATH DE number 2185657 (Why is no real title available?)
- scientific article; zbMATH DE number 2185713 (Why is no real title available?)
- scientific article; zbMATH DE number 50149 (Why is no real title available?)
- scientific article; zbMATH DE number 65531 (Why is no real title available?)
- scientific article; zbMATH DE number 1231474 (Why is no real title available?)
- scientific article; zbMATH DE number 512790 (Why is no real title available?)
- scientific article; zbMATH DE number 559219 (Why is no real title available?)
- A recursive second order initial algebra specification of primitive recursion
- A formalised first-order confluence proof for the \(\lambda\)-calculus using one-sorted variable names.
- Higher-order unification revisited: Complete sets of transformations
- A formalized general theory of syntax with bindings: extended version
- Rensets and renaming-based recursion for syntax with bindings
- Self-quotation in a typed, intensional lambda-calculus
- Recursion over objects of functional type
- scientific article; zbMATH DE number 1722696 (Why is no real title available?)
- A simple nominal type theory
- Developing (meta)theory of -calculus in the theory of contexts
- A third-order representation of the -calculus
- Functional programming with higher-order abstract syntax and explicit substitutions
- A type-theoretic approach to induction with higher-order encodings
- Structural recursion with locally scoped names
- scientific article; zbMATH DE number 2185713 (Why is no real title available?)
- scientific article; zbMATH DE number 445161 (Why is no real title available?)
- Focusing and higher-order abstract syntax
- Hybrid. A definitional two-level approach to reasoning with higher-order abstract syntax
- scientific article; zbMATH DE number 2079037 (Why is no real title available?)
- Stratified polymorphism and primitive recursion
- scientific article; zbMATH DE number 1841845 (Why is no real title available?)
- scientific article; zbMATH DE number 1420785 (Why is no real title available?)
- Dual-context calculi for modal logic
- The calculus of dependent lambda eliminations
- Boxes go bananas: Encoding higher-order abstract syntax with parametric polymorphism
- scientific article; zbMATH DE number 5033764 (Why is no real title available?)
- Typed Lambda Calculi and Applications
- Normalization by evaluation for modal dependent type theory
- Rensets and renaming-based recursion for syntax with bindings extended version
- A weakly initial algebra for higher-order abstract syntax in Cedille
- PNL to HOL: from the logic of nominal sets to the logic of higher-order functions
This page was built for publication: Primitive recursion for higher-order abstract syntax
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q5958752)