paperbot · PL 论文追踪

RSS

The Guarded Lambda-Calculus: Programming and Reasoning with Guarded Recursion for Coinductive Types

LMCS vol.Volume 12, Issue 32017引用 7
Ranald Clouston, Aleš Bizjak, Hans Bugge Grathwohl, Lars Birkedal

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

We present the guarded lambda-calculus, an extension of the simply typed lambda-calculus with guarded recursive and coinductive types. The use of guarded recursive types ensures the productivity of well-typed programs. Guarded recursive types may be transformed into coinductive types by a type-former inspired by modal logic and Atkey-McBride clock quantification, allowing the typing of acausal functions. We give a call-by-name operational semantics for the calculus, and define adequate denotational semantics in the topos of trees. The adequacy proof entails that the evaluation of a program always terminates. We introduce a program logic with L\"ob induction for reasoning about the contextual equivalence of programs. We demonstrate the expressiveness of the calculus by showing the definability of solutions to Rutten's behavioural differential equations.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@article{CloustonBGB16,
  title = {The Guarded Lambda-Calculus: Programming and Reasoning with Guarded Recursion for Coinductive Types},
  author = {Ranald Clouston and Aleš Bizjak and Hans Bugge Grathwohl and Lars Birkedal},
  journal = {Logical Methods in Computer Science},
  volume = {Volume 12, Issue 3},
  year = {2017},
  doi = {10.2168/lmcs-12(3:7)2016}
}