×

高阶抽象语法的基本递归。 (英语) Zbl 1063.03511号

de Groote,Philippe(编辑)等人,《打字lambda计算和应用》。1997年4月2日至4日在法国南希举行的第三届lambda calculi类型及其应用国际会议。诉讼程序。柏林:施普林格出版社(ISBN 3-540-62688-3/pbk)。计算机科学讲义1210,147-163(1997)。
引言:高阶抽象语法是许多逻辑框架中的一种核心表示技术,即专为演绎系统的形式化而设计的元语言。基本思想是用元语言中的变量来表示目标语言的变量。因此,绑定变量的目标语言结构必须由绑定相应变量的元语言结构来表示。
这个看似简单的想法可以追溯到Church和Martin-Löf的算术体系,对逻辑框架的方法论产生了深远的影响。一方面,使用这种思想的逻辑系统编码通常非常简洁和优雅,因为变量绑定、变量重命名、避免捕获的替换、,或者参数和假设判断由框架直接支持,不需要在每个应用程序中单独编码。另一方面,高阶表示不再是通常意义上的归纳,这意味着归纳推理的标准技术不适用。
为了在具有强归纳原则的环境中保持高阶抽象句法的优势,人们做了各种各样的尝试,但从实践或理论的角度来看,这些都不是完全令人满意的。
在本文中,我们通过提出一个允许在函数类型主题上迭代的原始递归泛函系统,迈出了协调高阶抽象语法和归纳法的第一步。为了避免在这种设置中出现众所周知的悖论,我们将原始递归函数空间(A\右箭头B\)分解为模态运算符和参数函数空间((A)\到B\)。灵感来自线性逻辑,它是由直觉函数空间(a\上集B\)分解为模态算子和线性函数空间((!a)-\!\!\循环,B)。
例如,当使用高阶抽象语法表示时,生成的系统允许对非类型化演算的表达式结构进行迭代。它足够通用,可以在任何简单类型的对象上进行迭代,在任何简单的类型签名上构造,从而包含哥德尔系统(T)。此外,它比简单类型(lambda)演算保守,这意味着在高阶抽象语法中编码的组合充分性得到了保留。我们将微积分视为迈向系统的重要第一步,该系统允许将逻辑框架(如LF)的方法学并入系统(如Coq或ALF)。
本文的其余部分组织如下:第2节回顾了高阶抽象语法的思想,并介绍了简单类型的(lambda)-演算((lambda-to),在第3节中,我们将其扩展为模态演算。然后,第4节介绍了迭代的概念。在第5节中,我们给出了中心结果的证明,即我们的扩张是保守的,超过了(λ^ to)。最后,第6节评估了结果,比较了一些相关工作,并概述了未来的工作。
另请参阅Theor中的全文。计算。科学。266, 1–57 (2001;Zbl 0994.68028号).
关于整个系列,请参见[兹比尔1045.03501].

MSC公司:

03B40型 组合逻辑与lambda演算
68甲18 函数编程和lambda演算
68号30 软件工程的数学方面(规范、验证、度量、需求等)
PDF格式BibTeX公司 XML格式引用