Loop invariants characterize the partial result computed by a loop so far up to an intermediate state. Such invariants are correct, if they can be propagated forward through arbitrary iterations. Invariants can be complemented by summaries that characterize the remaining iterations as a binary relation between intermediate states to possible final states. Dually to invariants, summaries are correct if the intermediate state of reference can be propagated backwards towards the starting state, which may often encode the bulk of the correctness of a loop more naturally. In this paper, we derive sound verification conditions for this approach, and moreover characterize completeness relative to a class of "safe" invariants, alongside with fundamental and novel insights in the relation between invariants and summaries. All theoretical results have immediate practical consequences for tool use and construction. A preliminary evaluation of automation potential shows that the proposed approach is competitive, even without specialized solving strategies.


翻译:滚动变数是迄今为止由循环到中间状态所计算的部分结果的特征。 这种变式是正确的, 如果它们可以通过任意的迭代来传播的话。 变式可以由将其余的迭代作为中间国与可能的最终状态之间的二进制关系加以补充的摘要来补充。 双于变式, 如果中间参照状态可以向起始国传播, 中间参照状态可以向后向向向向后传播, 从而往往可以更自然地将循环的正确性大部分编码起来。 在本文中, 我们为这一方法提出了健全的核查条件, 并且将完整性与“ 安全” 变异体的类别相对起来, 并辅之以关于变异体与摘要之间关系的基本和新颖的洞察。 所有理论结果都对工具的使用和构建产生直接的实际后果。 对自动化潜力的初步评估表明, 拟议的办法是竞争性的, 即使没有专门的解决战略。

0
下载
关闭预览

相关内容

【干货书】机器学习速查手册,135页pdf
专知会员服务
126+阅读 · 2020年11月20日
最新《生成式对抗网络》简介,25页ppt
专知会员服务
175+阅读 · 2020年6月28日
【Manning新书】现代Java实战,592页pdf
专知会员服务
101+阅读 · 2020年5月22日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
28+阅读 · 2019年5月18日
逆强化学习-学习人先验的动机
CreateAMind
16+阅读 · 2019年1月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
AI 玩跳一跳的正确姿势,跳一跳 Auto-Jump 算法详解
Python开发者
5+阅读 · 2018年1月16日
计算机视觉近一年进展综述
机器学习研究会
9+阅读 · 2017年11月25日
[DLdigest-8] 每日一道算法
深度学习每日摘要
4+阅读 · 2017年11月2日
强化学习 cartpole_a3c
CreateAMind
9+阅读 · 2017年7月21日
Arxiv
0+阅读 · 2020年11月28日
Arxiv
6+阅读 · 2018年10月3日
VIP会员
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
28+阅读 · 2019年5月18日
逆强化学习-学习人先验的动机
CreateAMind
16+阅读 · 2019年1月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
AI 玩跳一跳的正确姿势,跳一跳 Auto-Jump 算法详解
Python开发者
5+阅读 · 2018年1月16日
计算机视觉近一年进展综述
机器学习研究会
9+阅读 · 2017年11月25日
[DLdigest-8] 每日一道算法
深度学习每日摘要
4+阅读 · 2017年11月2日
强化学习 cartpole_a3c
CreateAMind
9+阅读 · 2017年7月21日
Top
微信扫码咨询专知VIP会员