Primitive recursion for higher-order abstract syntax

被引:54
|
作者
Schürmann, C
Despeyroux, J
Pfenning, F
机构
[1] Yale Univ, Dept Comp Sci, New Haven, CT 06520 USA
[2] INRIA, F-06902 Sophia Antipolis, France
[3] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
基金
美国国家科学基金会;
关键词
typed lambda calculus; higher-order abstract syntax; primitive recursion; modal logic;
D O I
10.1016/S0304-3975(00)00418-7
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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. (C) 2001 Elsevier Science BN. All rights reserved.
引用
收藏
页码:1 / 57
页数:57
相关论文
共 50 条
  • [21] Partiality and Recursion in Higher-Order Logic
    Czajka, Lukasz
    [J]. FOUNDATIONS OF SOFTWARE SCIENCE AND COMPUTATION STRUCTURES (FOSSACS 2013), 2013, 7794 : 177 - 192
  • [22] SEMANTICS OF HIGHER-ORDER RECURSION SCHEMES
    Adamek, Jiri
    Milius, Stefan
    Velebil, Jiri
    [J]. LOGICAL METHODS IN COMPUTER SCIENCE, 2011, 7 (01)
  • [23] The geometry of linear higher-order recursion
    Dal Lago, U
    [J]. LICS 2005: 20th Annual IEEE Symposium on Logic in Computer Science - Proceedings, 2005, : 366 - 375
  • [24] The Geometry of Linear Higher-Order Recursion
    Dal Lago, Ugo
    [J]. ACM TRANSACTIONS ON COMPUTATIONAL LOGIC, 2009, 10 (02)
  • [25] Multi-level meta-reasoning with Higher-Order Abstract Syntax
    Momigliano, A
    Ambler, SJ
    [J]. FOUNDATIONS OF SOFTWARE SCIENCE AND COMPUTATION STRUCTURES, PROCEEDINGS, 2003, 2620 : 375 - 391
  • [26] Programming Type-Safe Transformations Using Higher-Order Abstract Syntax
    Savary-Belanger, Olivier
    Monnier, Stefan
    Pientka, Brigitte
    [J]. CERTIFIED PROGRAMS AND PROOFS, CPP 2013, 2013, 8307 : 243 - 258
  • [27] Boxes go bananas: Encoding higher-order abstract syntax with parametric polymorphism
    Washburn, Geoffrey
    Weirich, Stephanie
    [J]. JOURNAL OF FUNCTIONAL PROGRAMMING, 2008, 18 : 87 - 140
  • [28] Boxes go bananas: Encoding higher-order abstract syntax with parametric polymorphism
    Washburn, G
    Weirich, S
    [J]. ACM SIGPLAN NOTICES, 2003, 38 (09) : 249 - 262
  • [29] On the Relationship between Higher-Order Recursion Schemes and Higher-Order Fixpoint Logic
    Kobayashi, Naoki
    Lozes, Etienne
    Bruse, Florian
    [J]. ACM SIGPLAN NOTICES, 2017, 52 (01) : 246 - 259
  • [30] Two-Level Hybrid: A System for Reasoning Using Higher-Order Abstract Syntax
    Momigliano, Alberto
    Martin, Alan J.
    Felty, Amy P.
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2008, 196 : 85 - 93