首页 > 最新文献

Proceedings of the 2015 Conference on Certified Programs and Proofs最新文献

英文 中文
Clean-Slate Development of Certified OS Kernels 经过认证的OS内核的全新开发
Pub Date : 2015-01-13 DOI: 10.1145/2676724.2693180
Zhong Shao
The CertiKOS project at Yale aims to develop new language-based technologies for building large-scale certified system software. Initially, we thought that verifying an OS kernel would require new program logics and powerful proof automation tools, but it should not be much different from standard Hoare-style program verification. After several years of trials and errors, we have decided to take a different path from the one we originally planned. We now believe that building large-scale certified system software requires a fundamental shift in the way we design the underlying programming languages, program logics, and proof assistants. In this talk, I outline our new clean-slate approach, explain its rationale, and describe various lessons and insights based on our experience with the development of several new certified OS kernels.
耶鲁大学的CertiKOS项目旨在开发新的基于语言的技术,用于构建大规模的认证系统软件。最初,我们认为验证操作系统内核需要新的程序逻辑和强大的证明自动化工具,但它应该与标准的hoare风格的程序验证没有太大区别。经过几年的尝试和错误,我们决定走一条与最初计划不同的道路。我们现在相信,构建大规模的认证系统软件需要我们在设计底层编程语言、程序逻辑和证明助手的方式上进行根本性的转变。在这次演讲中,我将概述我们新的全新方法,解释其基本原理,并根据我们开发几个新认证的操作系统内核的经验描述各种教训和见解。
{"title":"Clean-Slate Development of Certified OS Kernels","authors":"Zhong Shao","doi":"10.1145/2676724.2693180","DOIUrl":"https://doi.org/10.1145/2676724.2693180","url":null,"abstract":"The CertiKOS project at Yale aims to develop new language-based technologies for building large-scale certified system software. Initially, we thought that verifying an OS kernel would require new program logics and powerful proof automation tools, but it should not be much different from standard Hoare-style program verification. After several years of trials and errors, we have decided to take a different path from the one we originally planned. We now believe that building large-scale certified system software requires a fundamental shift in the way we design the underlying programming languages, program logics, and proof assistants. In this talk, I outline our new clean-slate approach, explain its rationale, and describe various lessons and insights based on our experience with the development of several new certified OS kernels.","PeriodicalId":187702,"journal":{"name":"Proceedings of the 2015 Conference on Certified Programs and Proofs","volume":"260 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-01-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121974559","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
A Framework for Verifying Depth-First Search Algorithms 深度优先搜索算法的验证框架
Pub Date : 2015-01-13 DOI: 10.1145/2676724.2693165
P. Lammich, René Neumann
Many graph algorithms are based on depth-first search (DFS). The formalizations of such algorithms typically share many common ideas. In this paper, we summarize these ideas into a framework in Isabelle/HOL. Building on the Isabelle Refinement Framework, we provide support for a refinement based development of DFS based algorithms, from phrasing and proving correct the abstract algorithm, over choosing an adequate implementation style (e.g., recursive, tail-recursive), to creating an executable algorithm that uses efficient data structures. As a case study, we verify DFS based algorithms of different complexity, from a simple cyclicity checker, over a safety property model checker, to complex algorithms like nested DFS and Tarjan's SCC algorithm.
许多图算法都是基于深度优先搜索(DFS)。这些算法的形式化通常具有许多共同的思想。在本文中,我们将这些想法总结成一个伊莎贝尔/霍尔的框架。在Isabelle精化框架的基础上,我们为基于DFS算法的精化开发提供支持,从抽象算法的措辞和证明,到选择适当的实现风格(例如,递归、尾递归),再到创建使用高效数据结构的可执行算法。作为案例研究,我们验证了不同复杂性的基于DFS的算法,从简单的循环检查器,到安全属性模型检查器,再到复杂的算法,如嵌套DFS和Tarjan的SCC算法。
{"title":"A Framework for Verifying Depth-First Search Algorithms","authors":"P. Lammich, René Neumann","doi":"10.1145/2676724.2693165","DOIUrl":"https://doi.org/10.1145/2676724.2693165","url":null,"abstract":"Many graph algorithms are based on depth-first search (DFS). The formalizations of such algorithms typically share many common ideas. In this paper, we summarize these ideas into a framework in Isabelle/HOL. Building on the Isabelle Refinement Framework, we provide support for a refinement based development of DFS based algorithms, from phrasing and proving correct the abstract algorithm, over choosing an adequate implementation style (e.g., recursive, tail-recursive), to creating an executable algorithm that uses efficient data structures. As a case study, we verify DFS based algorithms of different complexity, from a simple cyclicity checker, over a safety property model checker, to complex algorithms like nested DFS and Tarjan's SCC algorithm.","PeriodicalId":187702,"journal":{"name":"Proceedings of the 2015 Conference on Certified Programs and Proofs","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-01-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114894940","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 20
Certified Normalization of Context-Free Grammars 上下文无关语法的认证规范化
Pub Date : 2015-01-13 DOI: 10.1145/2676724.2693177
Denis Firsov, Tarmo Uustalu
Every context-free grammar can be transformed into an equivalent one in the Chomsky normal form by a sequence of four transformations. In this work on formalization of language theory, we prove formally in the Agda dependently typed programming language that each of these transformations is correct in the sense of making progress toward normality and preserving the language of the given grammar. Also, we show that the right sequence of these transformations leads to a grammar in the Chomsky normal form (since each next transformation preserves the normality properties established by the previous ones) that accepts the same language as the given grammar. As we work in a constructive setting, soundness and completeness proofs are functions converting between parse trees in the normalized and original grammars.
每个上下文无关的语法都可以通过一系列的四种转换转换成乔姆斯基范式的等效语法。在语言理论形式化的工作中,我们在Agda依赖类型的编程语言中形式化地证明了这些转换中的每一个都是正确的,因为它们朝着正态性前进并保留了给定语法的语言。此外,我们还表明,这些转换的正确顺序会导致乔姆斯基范式语法(因为每个下一个转换保留了前一个转换建立的正态性属性),该语法接受与给定语法相同的语言。当我们在一个建设性的环境中工作时,健全性和完备性证明是在规范化语法和原始语法的解析树之间转换的函数。
{"title":"Certified Normalization of Context-Free Grammars","authors":"Denis Firsov, Tarmo Uustalu","doi":"10.1145/2676724.2693177","DOIUrl":"https://doi.org/10.1145/2676724.2693177","url":null,"abstract":"Every context-free grammar can be transformed into an equivalent one in the Chomsky normal form by a sequence of four transformations. In this work on formalization of language theory, we prove formally in the Agda dependently typed programming language that each of these transformations is correct in the sense of making progress toward normality and preserving the language of the given grammar. Also, we show that the right sequence of these transformations leads to a grammar in the Chomsky normal form (since each next transformation preserves the normality properties established by the previous ones) that accepts the same language as the given grammar. As we work in a constructive setting, soundness and completeness proofs are functions converting between parse trees in the normalized and original grammars.","PeriodicalId":187702,"journal":{"name":"Proceedings of the 2015 Conference on Certified Programs and Proofs","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-01-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130785731","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 10
Completeness and Decidability of de Bruijn Substitution Algebra in Coq Coq中de Bruijn代换代数的完备性和可判定性
Pub Date : 2015-01-13 DOI: 10.1145/2676724.2693163
S. Schäfer, G. Smolka, Tobias Tebbi
We consider a two-sorted algebra over de Bruijn terms and de Bruijn substitutions equipped with the constants and operations from Abadi et al.'s sigma-calculus. We consider expressions with term variables and substitution variables and show that the semantic equivalence obtained with the algebra coincides with the axiomatic equivalence obtained with finitely many axioms based on the sigma-calculus. We prove this result with an informative decision algorithm for axiomatic equivalence, which in the negative case returns a variable assignment separating the given expressions in the algebra. The entire development is formalized in Coq.
我们考虑了一种二阶代数,它包含了Abadi等人的微积分常数和运算,它包含了de Bruijn项和de Bruijn替换。我们考虑有项变量和替换变量的表达式,并证明了用代数得到的语义等价与基于西格玛微积分的有限多个公理得到的公理等价一致。我们用一个公理等价的信息决策算法证明了这一结果,该算法在负情况下返回一个变量赋值,将代数中的给定表达式分开。整个开发在Coq中形式化。
{"title":"Completeness and Decidability of de Bruijn Substitution Algebra in Coq","authors":"S. Schäfer, G. Smolka, Tobias Tebbi","doi":"10.1145/2676724.2693163","DOIUrl":"https://doi.org/10.1145/2676724.2693163","url":null,"abstract":"We consider a two-sorted algebra over de Bruijn terms and de Bruijn substitutions equipped with the constants and operations from Abadi et al.'s sigma-calculus. We consider expressions with term variables and substitution variables and show that the semantic equivalence obtained with the algebra coincides with the axiomatic equivalence obtained with finitely many axioms based on the sigma-calculus. We prove this result with an informative decision algorithm for axiomatic equivalence, which in the negative case returns a variable assignment separating the given expressions in the algebra. The entire development is formalized in Coq.","PeriodicalId":187702,"journal":{"name":"Proceedings of the 2015 Conference on Certified Programs and Proofs","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-01-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123820874","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 23
Practical Tactics for Verifying C Programs in Coq 在Coq中验证C程序的实用策略
Pub Date : 2015-01-13 DOI: 10.1145/2676724.2693162
Jingyuan Cao, Ming Fu, Xinyu Feng
Proof automation is essential for large scale proof development such as OS kernel verification. An effective approach is to develop tactics and SMT solvers to automatically prove verification conditions. However, for complex systems, it is almost impossible to achieve fully automated verification and human interactions are unavoidable. So the key challenge here is, on the one hand, to reduce manual proofs as much as possible, and on the other hand, to provide user-friendly error messages when the automated verification fails, so that users could adjust specifications or the code accordingly, or to do part of the proofs manually. In this paper we propose a set of practical tactics for verifying C programs in Coq, including both tactics for automatically proving separation logic assertions and ones for automatic verification condition generation. In particular, we develop special tactics for verifying programs manipulating singly-linked lists. Using our tactics we are able to verify several C programs with one-line proof script. Another key feature of our tactics is that, if the tactics fail, they allow users to easily locate problems causing the failure by looking into the remaining subgoals, which greatly improves the usability when human interaction is necessary.
证明自动化对于大规模的证明开发(如OS内核验证)是必不可少的。一个有效的方法是开发策略和SMT求解器来自动证明验证条件。然而,对于复杂的系统,实现完全自动化的验证几乎是不可能的,人类的交互是不可避免的。因此,这里的关键挑战是,一方面,尽可能地减少手工证明,另一方面,在自动验证失败时提供用户友好的错误消息,以便用户可以相应地调整规范或代码,或者手动执行部分证明。本文提出了一套在Coq中验证C程序的实用策略,包括自动证明分离逻辑断言的策略和自动生成验证条件的策略。特别是,我们开发了用于验证操作单链表的程序的特殊策略。使用我们的策略,我们能够用一行验证脚本验证几个C程序。我们的策略的另一个关键特征是,如果策略失败,它们允许用户通过查看剩余的子目标来轻松定位导致失败的问题,这在需要人工交互时大大提高了可用性。
{"title":"Practical Tactics for Verifying C Programs in Coq","authors":"Jingyuan Cao, Ming Fu, Xinyu Feng","doi":"10.1145/2676724.2693162","DOIUrl":"https://doi.org/10.1145/2676724.2693162","url":null,"abstract":"Proof automation is essential for large scale proof development such as OS kernel verification. An effective approach is to develop tactics and SMT solvers to automatically prove verification conditions. However, for complex systems, it is almost impossible to achieve fully automated verification and human interactions are unavoidable. So the key challenge here is, on the one hand, to reduce manual proofs as much as possible, and on the other hand, to provide user-friendly error messages when the automated verification fails, so that users could adjust specifications or the code accordingly, or to do part of the proofs manually. In this paper we propose a set of practical tactics for verifying C programs in Coq, including both tactics for automatically proving separation logic assertions and ones for automatic verification condition generation. In particular, we develop special tactics for verifying programs manipulating singly-linked lists. Using our tactics we are able to verify several C programs with one-line proof script. Another key feature of our tactics is that, if the tactics fail, they allow users to easily locate problems causing the failure by looking into the remaining subgoals, which greatly improves the usability when human interaction is necessary.","PeriodicalId":187702,"journal":{"name":"Proceedings of the 2015 Conference on Certified Programs and Proofs","volume":"265 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-01-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122749107","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 9
Proceedings of the 2015 Conference on Certified Programs and Proofs 2015年认证程序与证明会议论文集
Pub Date : 2015-01-13 DOI: 10.1145/2676724
X. Leroy, Alwen Tiu
It is our great pleasure to welcome you to CPP 2015, the fourth ACM SIGPLAN conference on Certified Proofs and Programs. The CPP series of meetings aims to cover those topics in computer science and mathematics in which certification via formal techniques is crucial. Topics of interest range from interactive and automated theorem proving to program proof to the mechanization of mathematics, with the production of independently-checkable certificates as a recurring theme. A manifesto for CPP, written by Jean-Pierre Jouannaud and Zhong Shao, can be found at http://cpp2015.inria.fr/manifesto.html. The first three editions of CPP were held in December 2011 in Taipei (Taiwan), in December 2012 in Kyoto (Japan); and in December 2013 in Melbourne (Australia), all three co-located with APLAS, the Asian Symposium on Programming Languages and Systems. This year, for the first time, CPP is sponsored by ACM SIGPLAN and is co-located with POPL'15, the 42nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, in Mumbai, India. We are deeply grateful to ACM SIGPLAN for sponsoring CPP'15, and to the POPL'15 general chair and local organizers for hosting CPP'15. We were pleased that Zhong Shao (Yale University) and Viktor Vafeiadis (MPI SWS) accepted our invitation to be invited speakers for CPP'15. Abstracts of their presentations are included in the proceedings. The program committee for CPP'15 was composed of 19 researchers from 12 countries. In response to the call for papers, we received a total of 26 submissions and accepted 18 papers for presentation and inclusion in the proceedings. Every submission was reviewed by at least four program committee members and their selected subreviewers. The electronic PC meeting was conducted with the help of the Easychair conference management system.
我们非常高兴地欢迎您参加CPP 2015,第四届ACM SIGPLAN认证证明和程序会议。CPP系列会议旨在涵盖计算机科学和数学中通过正式技术进行认证至关重要的主题。感兴趣的主题范围从交互式和自动化定理证明到程序证明,再到数学的机械化,生产可独立检查的证书是一个反复出现的主题。让-皮埃尔·儒阿诺和钟绍撰写的CPP宣言可在http://cpp2015.inria.fr/manifesto.html上找到。前三届CPP分别于2011年12月在台北(台湾)和2012年12月在京都(日本)举行;以及2013年12月在墨尔本(澳大利亚)举行的亚洲编程语言和系统研讨会,这三场会议都与APLAS在同一地点举行。今年,CPP第一次由ACM SIGPLAN赞助,并与在印度孟买举行的第42届ACM SIGPLAN- sigact编程语言原理研讨会POPL'15共同举办。我们非常感谢ACM SIGPLAN对CPP'15的赞助,并感谢POPL'15的总主席和当地组织者主办CPP'15。我们很高兴钟绍(耶鲁大学)和Viktor Vafeiadis (MPI SWS)接受了我们的邀请,成为CPP'15的受邀演讲嘉宾。会议记录包括他们的报告摘要。CPP'15项目委员会由来自12个国家的19名研究人员组成。为了响应论文征集,我们共收到了26份论文,并接受了18篇论文作为报告和纳入会议论文集。每一份提交都至少由四名项目委员会成员及其选定的分审稿人进行审查。电子PC会议是在Easychair会议管理系统的帮助下进行的。
{"title":"Proceedings of the 2015 Conference on Certified Programs and Proofs","authors":"X. Leroy, Alwen Tiu","doi":"10.1145/2676724","DOIUrl":"https://doi.org/10.1145/2676724","url":null,"abstract":"It is our great pleasure to welcome you to CPP 2015, the fourth ACM SIGPLAN conference on Certified Proofs and Programs. The CPP series of meetings aims to cover those topics in computer science and mathematics in which certification via formal techniques is crucial. Topics of interest range from interactive and automated theorem proving to program proof to the mechanization of mathematics, with the production of independently-checkable certificates as a recurring theme. A manifesto for CPP, written by Jean-Pierre Jouannaud and Zhong Shao, can be found at http://cpp2015.inria.fr/manifesto.html. \u0000 \u0000The first three editions of CPP were held in December 2011 in Taipei (Taiwan), in December 2012 in Kyoto (Japan); and in December 2013 in Melbourne (Australia), all three co-located with APLAS, the Asian Symposium on Programming Languages and Systems. This year, for the first time, CPP is sponsored by ACM SIGPLAN and is co-located with POPL'15, the 42nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, in Mumbai, India. We are deeply grateful to ACM SIGPLAN for sponsoring CPP'15, and to the POPL'15 general chair and local organizers for hosting CPP'15. \u0000 \u0000We were pleased that Zhong Shao (Yale University) and Viktor Vafeiadis (MPI SWS) accepted our invitation to be invited speakers for CPP'15. Abstracts of their presentations are included in the proceedings. \u0000 \u0000The program committee for CPP'15 was composed of 19 researchers from 12 countries. In response to the call for papers, we received a total of 26 submissions and accepted 18 papers for presentation and inclusion in the proceedings. Every submission was reviewed by at least four program committee members and their selected subreviewers. The electronic PC meeting was conducted with the help of the Easychair conference management system.","PeriodicalId":187702,"journal":{"name":"Proceedings of the 2015 Conference on Certified Programs and Proofs","volume":"37 2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-01-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132537046","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Fixed Precision Patterns for the Formal Verification of Mathematical Constant Approximations 数学常数近似形式验证的固定精度模式
Pub Date : 2015-01-13 DOI: 10.1145/2676724.2693172
Yves Bertot
We describe two approaches for the computation of mathematical constant approximations inside interactive theorem provers. These two approaches share the same basis of fixed point computation and differ only in the way the proofs of correctness of the approximations are described. The first approach performs interval computations, while the second approach relies on bounding errors, for example with the help of derivatives. As an illustration, we show how to describe good approximations of the logarithm function and we compute -- to a precision of a million decimals inside the proof system, with a guarantee that all digits up to the millionth decimal are correct. All these experiments are performed with the Coq system, but most of the steps should apply to any interactive theorem prover.
我们描述了在交互定理证明中计算数学常数近似的两种方法。这两种方法在不动点计算的基础上是相同的,不同的只是对近似正确性的证明。第一种方法执行区间计算,而第二种方法依赖于边界误差,例如借助导数。作为一个例子,我们展示了如何描述对数函数的良好近似值,并在证明系统中计算到一百万小数点的精度,并保证直到百万位小数的所有数字都是正确的。所有这些实验都是用Coq系统执行的,但大多数步骤应该适用于任何交互式定理证明器。
{"title":"Fixed Precision Patterns for the Formal Verification of Mathematical Constant Approximations","authors":"Yves Bertot","doi":"10.1145/2676724.2693172","DOIUrl":"https://doi.org/10.1145/2676724.2693172","url":null,"abstract":"We describe two approaches for the computation of mathematical constant approximations inside interactive theorem provers. These two approaches share the same basis of fixed point computation and differ only in the way the proofs of correctness of the approximations are described. The first approach performs interval computations, while the second approach relies on bounding errors, for example with the help of derivatives. As an illustration, we show how to describe good approximations of the logarithm function and we compute -- to a precision of a million decimals inside the proof system, with a guarantee that all digits up to the millionth decimal are correct. All these experiments are performed with the Coq system, but most of the steps should apply to any interactive theorem prover.","PeriodicalId":187702,"journal":{"name":"Proceedings of the 2015 Conference on Certified Programs and Proofs","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-01-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129445073","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Proving Lock-Freedom Easily and Automatically 证明锁自由容易和自动
Pub Date : 2015-01-13 DOI: 10.1145/2676724.2693179
Xiao Jia, Wei Li, Viktor Vafeiadis
Lock-freedom is a liveness property satisfied by most non-blocking concurrent algorithms. It ensures that at any point at least one thread is making progress towards termination; so the system as a whole makes progress. As a global property, lock-freedom is typically shown by global proofs or complex iterated arguments. We show that this complexity is not needed in practice. By introducing simple loop depth counters into the programs, we can reduce proving lock-freedom to checking simple local properties on those counters. We have implemented the approach in Cave and report on our findings.
锁自由度是大多数非阻塞并发算法所满足的一个动态特性。它确保在任何时候至少有一个线程正在走向终止;所以整个系统是进步的。锁自由作为一种全局属性,通常通过全局证明或复杂迭代参数来表现。我们表明,在实践中不需要这种复杂性。通过在程序中引入简单的循环深度计数器,我们可以将证明锁自由的工作简化为检查这些计数器上的简单局部属性。我们已经在Cave中实现了该方法,并报告了我们的发现。
{"title":"Proving Lock-Freedom Easily and Automatically","authors":"Xiao Jia, Wei Li, Viktor Vafeiadis","doi":"10.1145/2676724.2693179","DOIUrl":"https://doi.org/10.1145/2676724.2693179","url":null,"abstract":"Lock-freedom is a liveness property satisfied by most non-blocking concurrent algorithms. It ensures that at any point at least one thread is making progress towards termination; so the system as a whole makes progress. As a global property, lock-freedom is typically shown by global proofs or complex iterated arguments. We show that this complexity is not needed in practice. By introducing simple loop depth counters into the programs, we can reduce proving lock-freedom to checking simple local properties on those counters. We have implemented the approach in Cave and report on our findings.","PeriodicalId":187702,"journal":{"name":"Proceedings of the 2015 Conference on Certified Programs and Proofs","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-01-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130035699","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 7
Premise Selection and External Provers for HOL4 HOL4的前提选择和外部证明
Pub Date : 2015-01-13 DOI: 10.1145/2676724.2693173
Thibault Gauthier, C. Kaliszyk
Learning-assisted automated reasoning has recently gained popularity among the users of Isabelle/HOL, HOL Light, and Mizar. In this paper, we present an add-on to the HOL4 proof assistant and an adaptation of the HOL(y)Hammer system that provides machine learning-based premise selection and automated reasoning also for HOL4. We efficiently record the HOL4 dependencies and extract features from the theorem statements, which form a basis for premise selection. HOL(y)Hammer transforms the HOL4 statements in the various TPTP-ATP proof formats, which are then processed by the ATPs. We discuss the different evaluation settings: ATPs, accessible lemmas, and premise numbers. We measure the performance of HOL(y)Hammer on the HOL4 standard library. The results are combined accordingly and compared with the HOL Light experiments, showing a comparably high quality of predictions. The system directly benefits HOL4 users by automatically finding proofs dependencies that can be reconstructed by Metis.
最近,学习辅助自动推理在Isabelle/HOL、HOL Light和Mizar的用户中越来越受欢迎。在本文中,我们提出了HOL4证明助手的附加组件和HOL(y)Hammer系统的改编,该系统也为HOL4提供基于机器学习的前提选择和自动推理。我们有效地记录HOL4依赖关系,并从定理陈述中提取特征,为前提选择提供依据。HOL(y)Hammer将HOL4语句转换成各种TPTP-ATP证明格式,然后由atp处理。我们讨论了不同的评估设置:atp、可访问引理和前提数。我们在HOL4标准库上测量了HOL(y)Hammer的性能。结果被相应地结合起来,并与HOL光实验进行比较,显示出相当高的预测质量。该系统通过自动发现可以由Metis重建的证据依赖关系,直接使HOL4用户受益。
{"title":"Premise Selection and External Provers for HOL4","authors":"Thibault Gauthier, C. Kaliszyk","doi":"10.1145/2676724.2693173","DOIUrl":"https://doi.org/10.1145/2676724.2693173","url":null,"abstract":"Learning-assisted automated reasoning has recently gained popularity among the users of Isabelle/HOL, HOL Light, and Mizar. In this paper, we present an add-on to the HOL4 proof assistant and an adaptation of the HOL(y)Hammer system that provides machine learning-based premise selection and automated reasoning also for HOL4. We efficiently record the HOL4 dependencies and extract features from the theorem statements, which form a basis for premise selection. HOL(y)Hammer transforms the HOL4 statements in the various TPTP-ATP proof formats, which are then processed by the ATPs. We discuss the different evaluation settings: ATPs, accessible lemmas, and premise numbers. We measure the performance of HOL(y)Hammer on the HOL4 standard library. The results are combined accordingly and compared with the HOL Light experiments, showing a comparably high quality of predictions. The system directly benefits HOL4 users by automatically finding proofs dependencies that can be reconstructed by Metis.","PeriodicalId":187702,"journal":{"name":"Proceedings of the 2015 Conference on Certified Programs and Proofs","volume":"72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-01-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134011677","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 45
A Lightweight Formalization of the Metatheory of Bisimulation-Up-To 双仿真元理论的轻量级形式化
Pub Date : 2015-01-13 DOI: 10.1145/2676724.2693170
Kaustuv Chaudhuri, M. Cimini, D. Miller
Bisimilarity of two processes is formally established by producing a bisimulation relation that contains those two processes and obeys certain closure properties. In many situations, particularly when the underlying labeled transition system is unbounded, these bisimulation relations can be large and even infinite. The bisimulation-up-to technique has been developed to reduce the size of the relations being computed while retaining soundness, that is, the guarantee of the existence of a bisimulation. Such techniques are increasingly becoming a critical ingredient in the automated checking of bisimilarity. This paper is devoted to the formalization of the meta theory of several major bisimulation-up-to techniques for the process calculi CCS and the π-calculus (with replication). Our formalization is based on recent work on the proof theory of least and greatest fixpoints, particularly the use of relations defined (co-)inductively, and of co-inductive proofs about such relations, as implemented in the Abella theorem prover. An important feature of our formalization is that our definitions of the bisimulation-up-to relations are, in most cases, straightforward translations of published informal definitions, and our proofs clarify several technical details of the informal descriptions. Since the logic behind Abella also supports λ-tree syntax and generic reasoning using the ∇-quantifier, our treatment of the λ-calculus is both direct and natural.
两个过程的双相似性是通过产生包含这两个过程并服从某些闭包性质的双模拟关系而正式建立的。在许多情况下,特别是当底层标记过渡系统无界时,这些双模拟关系可能很大,甚至是无限的。双模拟逼近技术的发展是为了减少计算关系的大小,同时保持稳健性,即保证双模拟的存在性。这种技术正日益成为自动检查双相似性的关键因素。本文讨论了过程演算和π演算(带复制)的几种主要双模拟技术的元理论形式化。我们的形式化是基于最近关于最小不动点和最大不动点的证明理论的工作,特别是使用(共)归纳定义的关系,以及关于这些关系的共归纳证明,如在Abella定理证明中实现的那样。我们的形式化的一个重要特征是,在大多数情况下,我们对双模拟至关系的定义是对已发布的非正式定义的直接翻译,并且我们的证明澄清了非正式描述的几个技术细节。由于Abella背后的逻辑也支持λ树语法和使用∇-量词的一般推理,因此我们对λ演算的处理既直接又自然。
{"title":"A Lightweight Formalization of the Metatheory of Bisimulation-Up-To","authors":"Kaustuv Chaudhuri, M. Cimini, D. Miller","doi":"10.1145/2676724.2693170","DOIUrl":"https://doi.org/10.1145/2676724.2693170","url":null,"abstract":"Bisimilarity of two processes is formally established by producing a bisimulation relation that contains those two processes and obeys certain closure properties. In many situations, particularly when the underlying labeled transition system is unbounded, these bisimulation relations can be large and even infinite. The bisimulation-up-to technique has been developed to reduce the size of the relations being computed while retaining soundness, that is, the guarantee of the existence of a bisimulation. Such techniques are increasingly becoming a critical ingredient in the automated checking of bisimilarity. This paper is devoted to the formalization of the meta theory of several major bisimulation-up-to techniques for the process calculi CCS and the π-calculus (with replication). Our formalization is based on recent work on the proof theory of least and greatest fixpoints, particularly the use of relations defined (co-)inductively, and of co-inductive proofs about such relations, as implemented in the Abella theorem prover. An important feature of our formalization is that our definitions of the bisimulation-up-to relations are, in most cases, straightforward translations of published informal definitions, and our proofs clarify several technical details of the informal descriptions. Since the logic behind Abella also supports λ-tree syntax and generic reasoning using the ∇-quantifier, our treatment of the λ-calculus is both direct and natural.","PeriodicalId":187702,"journal":{"name":"Proceedings of the 2015 Conference on Certified Programs and Proofs","volume":"98 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-01-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124080803","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 10
期刊
Proceedings of the 2015 Conference on Certified Programs and Proofs
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1