A Strong Call-By-Need Calculus

Thibaut Balabonski, Antoine Lanco, G. Melquiond
{"title":"A Strong Call-By-Need Calculus","authors":"Thibaut Balabonski, Antoine Lanco, G. Melquiond","doi":"10.46298/lmcs-19(1:21)2023","DOIUrl":null,"url":null,"abstract":"We present a call-by-need $\\lambda$-calculus that enables strong reduction\n(that is, reduction inside the body of abstractions) and guarantees that\narguments are only evaluated if needed and at most once. This calculus uses\nexplicit substitutions and subsumes the existing strong-call-by-need strategy,\nbut allows for more reduction sequences, and often shorter ones, while\npreserving the neededness. The calculus is shown to be normalizing in a strong\nsense: Whenever a $\\lambda$-term t admits a normal form n in the\n$\\lambda$-calculus, then any reduction sequence from t in the calculus\neventually reaches a representative of the normal form n. We also exhibit a\nrestriction of this calculus that has the diamond property and that only\nperforms reduction sequences of minimal length, which makes it systematically\nbetter than the existing strategy. We have used the Abella proof assistant to\nformalize part of this calculus, and discuss how this experiment affected its\ndesign. In particular, it led us to derive a new description of call-by-need\nreduction based on inductive rules.","PeriodicalId":314387,"journal":{"name":"Log. Methods Comput. Sci.","volume":"294 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-11-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Log. Methods Comput. Sci.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.46298/lmcs-19(1:21)2023","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

We present a call-by-need $\lambda$-calculus that enables strong reduction (that is, reduction inside the body of abstractions) and guarantees that arguments are only evaluated if needed and at most once. This calculus uses explicit substitutions and subsumes the existing strong-call-by-need strategy, but allows for more reduction sequences, and often shorter ones, while preserving the neededness. The calculus is shown to be normalizing in a strong sense: Whenever a $\lambda$-term t admits a normal form n in the $\lambda$-calculus, then any reduction sequence from t in the calculus eventually reaches a representative of the normal form n. We also exhibit a restriction of this calculus that has the diamond property and that only performs reduction sequences of minimal length, which makes it systematically better than the existing strategy. We have used the Abella proof assistant to formalize part of this calculus, and discuss how this experiment affected its design. In particular, it led us to derive a new description of call-by-need reduction based on inductive rules.
一个强大的随需调用演算
我们提供了一个按需调用的$\lambda$-演算,它支持强约简(即在抽象主体内的约简),并保证参数只在需要时求值,而且最多求一次。这种演算使用显式替换,并包含现有的强按需调用策略,但允许更多的约简序列,并且通常是更短的,同时保留了需要性。该演算在强意义上被证明是规范化的:每当$\ λ $-项t在$\ λ $-演算中承认范式n时,则演算中从t开始的任何约简序列最终都达到范式n的代表。我们还展示了该演算具有菱形性质的限制,并且只执行最小长度的约简序列,这使得它在系统上优于现有的策略。我们使用了Abella证明助手来形式化这个微积分的一部分,并讨论了这个实验是如何影响它的设计的。特别是,它使我们基于归纳规则推导出了一种新的按需减少调用的描述。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信