Primitive recursion for higher-order abstract syntax (Q5958752): Difference between revisions
From MaRDI portal
Changed an Item |
ReferenceBot (talk | contribs) Changed an Item |
||
(2 intermediate revisions by 2 users not shown) | |||
Property / describes a project that uses | |||
Property / describes a project that uses: Coq / rank | |||
Normal rank | |||
Property / MaRDI profile type | |||
Property / MaRDI profile type: MaRDI publication profile / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Q4289277 / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: A modal analysis of staged computation / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Q3024831 / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Q3024905 / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: A framework for defining logics / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Q3999860 / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Q4281483 / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Q4012879 / rank | |||
Normal rank | |||
Property / cites work | |||
Property / cites work: Q4222777 / rank | |||
Normal rank |
Latest revision as of 22:28, 3 June 2024
scientific article; zbMATH DE number 1715797
Language | Label | Description | Also known as |
---|---|---|---|
English | Primitive recursion for higher-order abstract syntax |
scientific article; zbMATH DE number 1715797 |
Statements
Primitive recursion for higher-order abstract syntax (English)
0 references
3 March 2002
0 references
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.
0 references
typed lambda calculus
0 references
higher-order abstract syntax
0 references
primitive recursion
0 references
modal logic
0 references