- 伊夫·贝托特等:类型理论函数语义(另见2002年TPHOL)
本演讲/论文使用while循环和在类型理论中以两种方式给出了它的语义:自然语义(操作)和指称(功能)语义。他们证明了这一点。当然有一个问题为IMP提供一个朴素的表示函数:您需要一般递归,特别是嵌套递归,类型理论(Coq)只允许由结构递归定义的总函数。本文介绍了如何以简单优雅的方式解决这些问题。另一个有趣的方面是从功能语义来看,一个功能程序(在OCaml中)可以提取。这样你就得到了一个经过正式证明的口译员等同于自然语义!
- 大卫·沃尔赫斯特德:带有依赖类型的小型语言,一般递归和大小更改终止
David曾基于Size-Change终端开发终端检查器(尼尔·琼斯),替换当前终止检查器阿尔法/阿格达。Size-Change终止通过构造程序,并使用大小更改关系注释图形的边。然后通过证明调用图需要无限减小大小,这是不可能的。(尺寸上限也可用于检测端接。)这包括通过结构递归和词典编纂来终止订单。例如,它处理参数交换。(但高阶函数和惰性又如何呢?)
传统的Martin-Löf类型理论带有一组预定义的具有相关结构归纳原理的类型。与相比因此,这篇演讲提出了一个更通用的类型理论递归定义的形式。Per Martin-Löf然后问这类扩展的正确方法是一个自然问题并不是要翻译成原始的,理解得很好的概念。(托尔斯滕·阿滕柯奇提到了认证检查员)Per的问题引发了长时间的思考在下午的一次讨论会上继续进行的讨论,介绍作者Peter Dybjer,他对比了建设性社区(开放、可扩展系统)逻辑框架中使用的方法基于经典逻辑(所有内容都简化为一个小集合原始概念),例如HOL。
- 安娜·波夫等:建模类型理论中的一般递归
安娜最近为自己辩护她博士论文(摘要)关于她的方法关于中一般递归(和部分)函数的推理类型理论。该方法处理非结构递归、相互递归和嵌套递归为您提供了表达和推理此类函数的方法在类型理论中,不需要终止证明。它通过机械地转换函数语言中的函数,它允许一般递归到(1) 归纳定义的域谓词和(2) 上的结构递归函数证明参数满足域谓词。与基于一般可访问性的先前方法相比的优势谓词包括结果函数与原始函数非常相似功能,并且终止证明可以单独保存。
- Conor MCBride公司等:看和做
康纳的论点似乎是一般递归被高估了。相反在简单数据结构上使用通用递归函数(做这个,然后做那个),我们应该使用更多的固定数据结构捕获计算模式(查看,使计算模式可见)。更强大的类型系统允许更多需要捕获复杂的计算模式,因此依赖类型是很有趣。Conor还提供了如何转换通用传统函数语言中的结构递归(哈斯克尔)。(我将展示两种转换快速排序函数的方法。)
Conor的另一篇相关论文:第一订单结构递归统一.
- Pietro Di Giantonio等人:A类递归和共递归定义的统一方法
- 一种能够处理运行长度压缩等问题的方法无限流,在Coq中实现(它是构造性的)。方法是基于完备有序等价族,可以是被视为马修斯的概括收敛等价关系(可以去掉一些公理,不需要希尔伯特的选择运算符)。
另请参见:约翰·马修斯:递归共导类型上的函数定义