Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs最新文献

筛选
英文 中文
Markov processes in Isabelle/HOL Isabelle/HOL中的马尔可夫过程
Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs Pub Date : 2017-01-16 DOI: 10.1145/3018610.3018628
J. Hölzl
{"title":"Markov processes in Isabelle/HOL","authors":"J. Hölzl","doi":"10.1145/3018610.3018628","DOIUrl":"https://doi.org/10.1145/3018610.3018628","url":null,"abstract":"Markov processes with discrete time and arbitrary state spaces are important models in probability theory. They model the infinite steps of non-terminating programs with (not just discrete) probabilistic choice and form the basis for further probabilistic models. Their transition behavior is described by Markov kernels, i.e. measurable functions from a state to a distribution of states. Markov kernels can be composed in a monadic way from distributions (normal, exponential, Bernoulli, etc.), other Markov kernels, and even other Markov processes. In this paper we construct discrete-time Markov processes with arbitrary state spaces, given the transition probabilities as a Markov kernel. We show that the Markov processes form again Markov kernels. This allows us to prove a bisimulation argument between two Markov processes and derive the strong Markov property. We use the existing probability theory in Isabelle/HOL and extend its capability to work with Markov kernels. As application we construct continuous-time Markov chains (CTMCs). These are constructed as jump & hold processes, which are discrete-time Markov processes where the state space is a product of continuous holding times and discrete states. We prove the Markov property of CTMCs using the bisimulation argument for discrete-time Markov processes, and that the transition probability is the solution of a differential equation.","PeriodicalId":262665,"journal":{"name":"Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs","volume":"182 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-01-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124596858","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
Verifying dynamic race detection 验证动态竞态检测
Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs Pub Date : 2017-01-16 DOI: 10.1145/3018610.3018611
William Mansky, Yuanfeng Peng, S. Zdancewic, Joseph Devietti
{"title":"Verifying dynamic race detection","authors":"William Mansky, Yuanfeng Peng, S. Zdancewic, Joseph Devietti","doi":"10.1145/3018610.3018611","DOIUrl":"https://doi.org/10.1145/3018610.3018611","url":null,"abstract":"Writing race-free concurrent code is notoriously difficult, and data races can result in bugs that are difficult to isolate and reproduce. Dynamic race detection can catch data races that cannot (easily) be detected statically. One approach to dynamic race detection is to instrument the potentially racy code with operations that store and compare metadata, where the metadata implements some known race detection algorithm (e.g. vector-clock race detection). In this paper, we describe the process of formally verifying several algorithms for dynamic race detection. We then turn to implementations, laying out an instrumentation pass for race detection in a simple language and presenting a mechanized formal proof of its correctness: all races in a program will be caught by the instrumentation, and all races detected by the instrumentation are possible in the original program.","PeriodicalId":262665,"journal":{"name":"Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs","volume":"418 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-01-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131698417","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
Verifying a hash table and its iterators in higher-order separation logic 在高阶分离逻辑中验证哈希表及其迭代器
Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs Pub Date : 2017-01-16 DOI: 10.1145/3018610.3018624
F. Pottier
{"title":"Verifying a hash table and its iterators in higher-order separation logic","authors":"F. Pottier","doi":"10.1145/3018610.3018624","DOIUrl":"https://doi.org/10.1145/3018610.3018624","url":null,"abstract":"We describe the specification and proof of an (imperative, sequential) hash table implementation. The usual dictionary operations (insertion, lookup, and so on) are supported, as well as iteration via folds and iterators. The code is written in OCaml and verified using higher-order separation logic, embedded in Coq, via the CFML tool and library. This case study is part of a larger project that aims to build a verified OCaml library of basic data structures.","PeriodicalId":262665,"journal":{"name":"Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-01-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121361401","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}
引用次数: 15
Porting the HOL light analysis library: some lessons (invited talk) 移植HOL光分析库:一些经验教训(特邀演讲)
Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs Pub Date : 2017-01-16 DOI: 10.1145/3018610.3023366
Lawrence Charles Paulson
{"title":"Porting the HOL light analysis library: some lessons (invited talk)","authors":"Lawrence Charles Paulson","doi":"10.1145/3018610.3023366","DOIUrl":"https://doi.org/10.1145/3018610.3023366","url":null,"abstract":"The HOL Light proof assistant is famous for its huge multivariate analysis library: nearly 300,000 lines of code and 13,000 theorems. A substantial fraction of this library has been manually ported to Isabelle/HOL. The Isabelle analysis library contains approximately 7400 named theorems, including Cauchy's integral and residue theorems, the Liouville theorem, the open mapping and domain invariance theorems, the maximum modulus principle and the Krein-Milman Minkowski theorem. Why port proofs manually given so much work on porting proofs automatically? Typical approaches rely on low level encodings that seldom yield natural-looking results. Manual porting has allowed us to generalise many results from n-dimensional vector spaces to metric or topological spaces. The transition from the traditional LCF/HOL proof style (which has hardly changed since 1985) to structured proofs has produced a dramatic improvement in the legibility of the material. Automatic porting generally yields a list of theorem statements but no intelligible proofs. This project has highlighted three features of Isabelle working well together: heuristic automation, structured proofs and sledgehammer. Heuristic automation builds in a lot of implicit knowledge, which is potentially unpredictable, but in combination with structured proofs any breakages (caused by updates to the system) are localised and easily fixed. Sledgehammer (which uses powerful external automation to solve subgoals) can frequently complete an argument without requiring a precise reproduction of the original HOL Light proof. Sledgehammer also encourages a style in which the user reaches the desired result by suggesting a series of intermediate claims. Such proofs are genuinely human-oriented. And only such proofs will attract mathematicians; even a guarantee of correctness will not impress them unless the system lets them understand and tinker with their formal proofs.","PeriodicalId":262665,"journal":{"name":"Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs","volume":"47-48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-01-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114468974","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
Formally verified differential dynamic logic 正式验证差分动态逻辑
Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs Pub Date : 2017-01-16 DOI: 10.1145/3018610.3018616
Rose Bohrer, Vincent Rahli, I. Vukotic, M. Völp, André Platzer
{"title":"Formally verified differential dynamic logic","authors":"Rose Bohrer, Vincent Rahli, I. Vukotic, M. Völp, André Platzer","doi":"10.1145/3018610.3018616","DOIUrl":"https://doi.org/10.1145/3018610.3018616","url":null,"abstract":"We formalize the soundness theorem for differential dynamic logic, a logic for verifying hybrid systems. To increase confidence in the formalization, we present two versions: one in Isabelle/HOL and one in Coq. We extend the metatheory to include features used in practice, such as systems of differential equations and functions of multiple arguments. We demonstrate the viability of constructing a verified kernel for the hybrid systems theorem prover KeYmaera X by embedding proof checkers for differential dynamic logic in Coq and Isabelle. We discuss how different provers and libraries influence the design of the formalization.","PeriodicalId":262665,"journal":{"name":"Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-01-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129273304","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}
引用次数: 52
Lifting proof-relevant unification to higher dimensions 将证明相关的统一提升到更高的维度
Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs Pub Date : 2017-01-16 DOI: 10.1145/3018610.3018612
Jesper Cockx, Dominique Devriese
{"title":"Lifting proof-relevant unification to higher dimensions","authors":"Jesper Cockx, Dominique Devriese","doi":"10.1145/3018610.3018612","DOIUrl":"https://doi.org/10.1145/3018610.3018612","url":null,"abstract":"In a dependently typed language such as Coq or Agda, unification can be used to discharge equality constraints and detect impossible cases automatically. By nature of dependent types, it is necessary to use a proof-relevant unification algorithm where unification rules are functions manipulating equality proofs. This ensures their correctness but simultaneously sets a high bar for new unification rules. In particular, so far no-one has given a satisfactory proof-relevant version of the injectivity rule for indexed datatypes. In this paper, we describe a general technique for solving equations between constructors of indexed datatypes. We handle the main technical problem—generalization over equality proofs in the indices—by introducing new equations between equality proofs. Borrowing terminology from homotopy type theory, we call them higher-dimensional equations. To apply existing one-dimensional unifiers to these higher-dimensional equations, we show how unifiers can be lifted to a higher dimension. We show the usefulness of this idea by applying it to the unification algorithm used by Agda, though it can also be applied in languages that support identity types but not general indexed datatypes.","PeriodicalId":262665,"journal":{"name":"Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs","volume":"106 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-01-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115768269","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 reflexive tactic for polynomial positivity using numerical solvers and floating-point computations 使用数值求解器和浮点计算的多项式正性的反射策略
Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs Pub Date : 2017-01-16 DOI: 10.1145/3018610.3018622
Érik Martin-Dorel, P. Roux
{"title":"A reflexive tactic for polynomial positivity using numerical solvers and floating-point computations","authors":"Érik Martin-Dorel, P. Roux","doi":"10.1145/3018610.3018622","DOIUrl":"https://doi.org/10.1145/3018610.3018622","url":null,"abstract":"Polynomial positivity over the real field is known to be decidable but even the best algorithms remain costly. An incomplete but often efficient alternative consists in looking for positivity witnesses as sum of squares decompositions. Such decompositions can in practice be obtained through convex optimization. Unfortunately, these methods only yield approximate solutions. Hence the need for formal verification of such witnesses. State of the art methods rely on heuristic roundings to exact solutions in the rational field. These solutions are then easy to verify in a proof assistant. However, this verification often turns out to be very costly, as rational coefficients may blow up during computations. Nevertheless, overapproximations with floating-point arithmetic can be enough to obtain proofs at a much lower cost. Such overapproximations being non trivial, it is mandatory to formally prove that rounding errors are correctly taken into account. We develop a reflexive tactic for the Coq proof assistant allowing one to automatically discharge polynomial positivity proofs. The tactic relies on heavy computation involving multivariate polynomials, matrices and floating-point arithmetic. Benchmarks indicate that we are able to formally address positivity problems that would otherwise be untractable with other state of the art methods.","PeriodicalId":262665,"journal":{"name":"Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-01-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114630845","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}
引用次数: 16
Type-and-scope safe programs and their proofs 类型和作用域安全的程序及其证明
Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs Pub Date : 2017-01-16 DOI: 10.1145/3018610.3018613
Guillaume Allais, James Chapman, Conor McBride, J. McKinna
{"title":"Type-and-scope safe programs and their proofs","authors":"Guillaume Allais, James Chapman, Conor McBride, J. McKinna","doi":"10.1145/3018610.3018613","DOIUrl":"https://doi.org/10.1145/3018610.3018613","url":null,"abstract":"We abstract the common type-and-scope safe structure from computations on λ-terms that deliver, e.g., renaming, substitution, evaluation, CPS-transformation, and printing with a name supply. By exposing this structure, we can prove generic simulation and fusion lemmas relating operations built this way. This work has been fully formalised in Agda.","PeriodicalId":262665,"journal":{"name":"Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs","volume":"139 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-01-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122760329","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}
引用次数: 33
Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs 第六届ACM SIGPLAN认证程序和证明会议论文集
Yves Bertot, Viktor Vafeiadis
{"title":"Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs","authors":"Yves Bertot, Viktor Vafeiadis","doi":"10.1145/3018610","DOIUrl":"https://doi.org/10.1145/3018610","url":null,"abstract":"","PeriodicalId":262665,"journal":{"name":"Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-01-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127083374","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
Verified compilation of CakeML to multiple machine-code targets 经过验证的CakeML编译到多个机器码目标
Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs Pub Date : 2017-01-16 DOI: 10.1145/3018610.3018621
A. Fox, Magnus O. Myreen, Yong Kiam Tan, Ramana Kumar
{"title":"Verified compilation of CakeML to multiple machine-code targets","authors":"A. Fox, Magnus O. Myreen, Yong Kiam Tan, Ramana Kumar","doi":"10.1145/3018610.3018621","DOIUrl":"https://doi.org/10.1145/3018610.3018621","url":null,"abstract":"This paper describes how the latest CakeML compiler supports verified compilation down to multiple realistically modelled target architectures. In particular, we describe how the compiler definition, the various language semantics, and the correctness proofs were organised to minimize target-specific overhead. With our setup we have incorporated compilation to four 64-bit architectures, ARMv8, x86-64, MIPS-64, RISC-V, and one 32-bit architecture, ARMv6. Our correctness theorem allows interference from the environment: the top-level correctness statement takes into account execution of foreign code and per-instruction interference from external processes, such as interrupt handlers in operating systems. The entire CakeML development is formalised in the HOL4 theorem prover.","PeriodicalId":262665,"journal":{"name":"Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and Proofs","volume":"83 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-01-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129185341","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}
引用次数: 21
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书