It is well-known that big-step semantics is not able to distinguish stuck and non-terminating computations. This is a strong limitation as it makes very difficult to reason about properties involving infinite computations, such as type soundness, which cannot even be expressed. To face this problem, we develop a systematic study of big-step semantics: we introduce an abstract definition of what a big-step semantics is, we formalise the evaluation algorithm implicitly associated with any big-step semantics and we identify computations with executions of such an algorithm, thus recovering the distinction between stuckness an non-termination. Then, we define constructions yielding an extended version of a given arbitrary big-step semantics, where such a difference is made explicit. Building on such constructions, we describe a general proof technique to show that a predicate is sound, that is, prevents stuck computation, with respect to a big-step semantics. The extended semantics are exploited in the meta-theory, notably they are necessary to show that the proof technique works. However, they remain transparent when using the proof technique, since it consists in checking three conditions on the original rules only. We illustrate the technique by several examples, showing that it is applicable also in cases where subject reduction does not hold, hence the standard technique for small-step semantics cannot be used.


翻译:众所周知, 大步语义无法区分被卡住的计算和非终止的计算。 这是一个很大的局限性, 因为它使得很难解释包含无限计算, 比如类型稳健性, 甚至无法表达。 面对这个问题, 我们对大步语义进行系统研究: 我们对大步语义进行抽象定义: 我们引入一个有关大步语义的抽象定义, 我们将评估算法与任何大步语义的隐含关联正式化, 我们将计算方法与执行这种算法相提并论, 从而恢复卡住性与非终止的区别。 然后, 我们定义建筑, 产生一个包含任意大步语义的扩展版本, 包括一个任意大步语义的计算, 从而让这种差异变得明确。 在这样的构造上, 我们描述一个一般性的证明方法, 以显示一个大步语义是声音的, 就是说, 防止被卡住的计算法, 与大步语义有关的任何大步语义。 扩展语义在元理中被利用, 特别是为了显示证据技术的原理是有效的。 但是, 当使用证据技术时, 它们仍然是透明的, 透明,, 但它包含三个应用的方法, 的路径, 用于 用来检查三个, 我们用的方法是用来 。

0
下载
关闭预览

相关内容

专知会员服务
56+阅读 · 2021年4月12日
专知会员服务
38+阅读 · 2020年10月13日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
76+阅读 · 2020年7月26日
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
30+阅读 · 2019年10月17日
强化学习最新教程,17页pdf
专知会员服务
168+阅读 · 2019年10月11日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
99+阅读 · 2019年10月9日
意识是一种数学模式
CreateAMind
3+阅读 · 2019年6月24日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
无监督元学习表示学习
CreateAMind
26+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
老铁,邀请你来免费学习人工智能!!!
量化投资与机器学习
4+阅读 · 2017年11月14日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Arxiv
0+阅读 · 2021年6月7日
Arxiv
0+阅读 · 2021年6月5日
Arxiv
0+阅读 · 2021年6月4日
VIP会员
相关VIP内容
专知会员服务
56+阅读 · 2021年4月12日
专知会员服务
38+阅读 · 2020年10月13日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
76+阅读 · 2020年7月26日
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
30+阅读 · 2019年10月17日
强化学习最新教程,17页pdf
专知会员服务
168+阅读 · 2019年10月11日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
99+阅读 · 2019年10月9日
相关资讯
意识是一种数学模式
CreateAMind
3+阅读 · 2019年6月24日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
无监督元学习表示学习
CreateAMind
26+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
老铁,邀请你来免费学习人工智能!!!
量化投资与机器学习
4+阅读 · 2017年11月14日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员