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 条
  • [1] Primitive recursion for higher-order abstract syntax
    Despeyroux, J
    Pfenning, F
    Schurmann, C
    [J]. TYPED LAMBDA CALCULI AND APPLICATIONS, 1997, 1210 : 147 - 163
  • [2] HIGHER-ORDER ABSTRACT SYNTAX
    PFENNING, F
    ELLIOTT, C
    [J]. SIGPLAN NOTICES, 1988, 23 (07): : 199 - 208
  • [3] Focusing and higher-order abstract syntax
    Zeilberger, Noam
    [J]. ACM SIGPLAN NOTICES, 2008, 43 (01) : 359 - 369
  • [4] Focusing and Higher-Order Abstract Syntax
    Zeilberger, Noam
    [J]. POPL'08: PROCEEDINGS OF THE 35TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2008, : 359 - 369
  • [5] Higher-Order Abstract Syntax in Isabelle/HOL
    Howe, Douglas J.
    [J]. INTERACTIVE THEOREM PROVING, PROCEEDINGS, 2010, 6172 : 481 - 484
  • [6] A logic for reasoning with higher-order abstract syntax
    McDowell, R
    Miller, D
    [J]. 12TH ANNUAL IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE, PROCEEDINGS, 1997, : 434 - 445
  • [7] Parametric higher-order abstract syntax for mechanized semantics
    Chlipala, Adam
    [J]. ACM SIGPLAN NOTICES, 2008, 43 (09) : 143 - 156
  • [8] Reasoning with Higher-Order Abstract Syntax and Contexts: A Comparison
    Felty, Amy
    Pientka, Brigitte
    [J]. INTERACTIVE THEOREM PROVING, PROCEEDINGS, 2010, 6172 : 227 - +
  • [9] Parametric Higher-Order Abstract Syntax for Mechanized Semantics
    Chlipala, Adam
    [J]. ICFP'08: PROCEEDINGS OF THE 2008 SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING, 2008, : 143 - 156
  • [10] A Weakly Initial Algebra for Higher-Order Abstract Syntax in Cedille
    Stump, Aaron
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2019, (307): : 55 - 67