当前位置: X-MOL 学术J. Funct. Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
POPLMark reloaded: Mechanizing proofs by logical relations
Journal of Functional Programming ( IF 1.1 ) Pub Date : 2019-12-10 , DOI: 10.1017/s0956796819000170
ANDREAS ABEL , GUILLAUME ALLAIS , ALIYA HAMEER , BRIGITTE PIENTKA , ALBERTO MOMIGLIANO , STEVEN SCHÄFER , KATHRIN STARK

We propose a new collection of benchmark problems in mechanizing the metatheory of programming languages, in order to compare and push the state of the art of proof assistants. In particular, we focus on proofs using logical relations (LRs) and propose establishing strong normalization of a simply typed calculus with a proof by Kripke-style LRs as a benchmark. We give a modern view of this well-understood problem by formulating our LR on well-typed terms. Using this case study, we share some of the lessons learned tackling this problem in different dependently typed proof environments. In particular, we consider the mechanization in Beluga, a proof environment that supports higher-order abstract syntax encodings and contrast it to the development and strategies used in general-purpose proof assistants such as Coq and Agda. The goal of this paper is to engage the community in discussions on what support in proof environments is needed to truly bring mechanized metatheory to the masses and engage said community in the crafting of future benchmarks.

中文翻译:

POPLMark 重新加载:通过逻辑关系机械化证明

我们提出了一组新的基准问题,用于将编程语言的元理论机械化,以便比较和推动最先进的证明助手。特别是,我们专注于使用逻辑关系 (LR) 的证明,并建议以 Kripke 风格的 LR 作为基准,建立简单类型微积分的强归一化。我们通过在良好类型的术语上制定我们的 LR 来给出这个易于理解的问题的现代观点。通过这个案例研究,我们分享了在不同的依赖类型证明环境中解决这个问题的一些经验教训。特别是,我们考虑了 Beluga 中的机械化,这是一种支持高阶抽象语法编码的证明环境,并将其与 Coq 和 Agda 等通用证明助手中使用的开发和策略进行对比。
更新日期:2019-12-10
down
wechat
bug