arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv cs/0505037cs.LO
收藏

基于共归纳类型的一般递归

General Recursion via Coinductive Types

Venanzio Capretta

摘要:

理论计算机科学中一个肥沃的研究领域是研究一般递归函数在内涵类型论中的表示。其中最成功的方法是:使用良基关系,实施操作语义,形式化的域理论,和归纳定义的域谓词。在这里,提出了一个不同的解决方案:利用共归纳类型来模拟无限计算。对于每一个类型A,我们关联一个类型的部分元素Partial(A),它由两个构造函数共归纳生成:第一个构造函数return(a)只返回一个元素a:A;第二个构造函数step(x)给递归元素x:Partial(A)增加一个计算步骤。我们展示了这个简单的设备如何足以形式化两个给定类型之间的所有递归函数。它允许定义有限的不动点,也就是连续的算子。我们将把这种方法与文献中的不同方法进行比较。最后,我们提到的形式化,适当的结构图,定义了一个强大的单子。

英文摘要:

A fertile field of research in theoretical computer science investigates the representation of general recursive functions in intensional type theories. Among the most successful approaches are: the use of wellfounded relations, implementation of operational semantics, formalization of domain theory, and inductive definition of domain predicates. Here, a different solution is proposed: exploiting coinductive types to model infinite computations. To every type A we associate a type of partial elements Partial(A), coinductively generated by two constructors: the first, return(a) just returns an element a:A; the second, step(x), adds a computation step to a recursive element x:Partial(A). We show how this simple device is sufficient to formalize all recursive functions between two given types. It allows the definition of fixed points of finitary, that is, continuous, operators. We will compare this approach to different ones from the literature. Finally, we mention that the formalization, with appropriate structural maps, defines a strong monad.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑