2009
DOI: 10.1145/1631687.1596565
|View full text |Cite
|
Sign up to set email alerts
|

Effective interactive proofs for higher-order imperative programs

Abstract: We present a new approach for constructing and verifying higherorder, imperative programs using the Coq proof assistant. We build on the past work on the Ynot system, which is based on Hoare Type Theory. That original system was a proof of concept, where every program verification was accomplished via laborious manual proofs, with much code devoted to uninteresting low-level details. In this paper, we present a re-implementation of Ynot which makes it possible to implement fully-verified, higher-order imperati… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
52
0

Year Published

2010
2010
2021
2021

Publication Types

Select...
9

Relationship

0
9

Authors

Journals

citations
Cited by 33 publications
(52 citation statements)
references
References 21 publications
0
52
0
Order By: Relevance
“…However, to ensure logical consistency of the type system, these languages exclude arbitrary recursion, making them less applicable for general-purpose programming. Projects like YNot [4] and Guru [19] aim to mix effects like non-termination with dependently typed functional programming; YNot also supports programming with state in an imperative style. Restrictions in both languages ensure that proofs are pure, ensuring that logical consistency is preserved.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…However, to ensure logical consistency of the type system, these languages exclude arbitrary recursion, making them less applicable for general-purpose programming. Projects like YNot [4] and Guru [19] aim to mix effects like non-termination with dependently typed functional programming; YNot also supports programming with state in an imperative style. Restrictions in both languages ensure that proofs are pure, ensuring that logical consistency is preserved.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…A more recent formalization is found in Malecha et al, [8] which addresses the problem of designing a fully verified, lightweight implementation of a relational database system. The authors prove that their implementation meets the specification, all the proofs being written and verified in the Ynot [3] extension of Coq. However, they implemented only a single-user database system.…”
Section: Related Workmentioning
confidence: 90%
“…These functional specifications capture essential mathematical properties of the data structure but do not deal with properties of iterators over them. At the opposite end of the spectrum of verification techniques, interactive provers have been used to obtain detailed specifications about data structures based on powerful theories, e.g., [8,23,29], but they require expertise and great amount of proof scripting.…”
Section: Related Workmentioning
confidence: 99%