We present a new approach for constructing and verifying higher-order, 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 imperative programs with reasonable proof burden. At the same time, our new system is implemented entirely in Coq source files, showcasing the versatility of that proof assistant as a platform for research on language design and verification....
This work was supported in part by the french ANR DECERT initiativeInternational audienceCoq has wit...
Compilers are a prime target for formal verification, since compiler bugs invalidate higher-level co...
National audienceWe consider a recent publication on higher-order process calculi and describe how i...
AbstractIn this paper we demonstrate how to prove the correctness of systems implemented using low-l...
Higher-order functions and imperative references are language features supported by many mainstream ...
This preprint has been largely rewritten and integrated into Sylvain Boulm{\'e}'s Habilitation in 20...
We describe ongoing work on building an environment to support reasoning in proof assistants that re...
International audienceBasing program analyses on formal semantics has a long and successful traditio...
When using a proof assistant to reason in an embedded logic – like separation logic – one cannot ben...
International audienceEmerging trends in proof styles and new applications of interactive proof assi...
Coq is a formal proof management system. It provides a formal language to write mathematical definit...
Correct software requires compilers to work correctly. Especially code generation can be an error pr...
HAHA is a tool that helps in teaching and learning Hoare logic. It is targeted at an introductory co...
The logic programming paradigm provides a flexible setting for representing, manipulating, checking,...
International audienceThe Coq Platform is a continuously developed distribution of the Coq proof ass...
This work was supported in part by the french ANR DECERT initiativeInternational audienceCoq has wit...
Compilers are a prime target for formal verification, since compiler bugs invalidate higher-level co...
National audienceWe consider a recent publication on higher-order process calculi and describe how i...
AbstractIn this paper we demonstrate how to prove the correctness of systems implemented using low-l...
Higher-order functions and imperative references are language features supported by many mainstream ...
This preprint has been largely rewritten and integrated into Sylvain Boulm{\'e}'s Habilitation in 20...
We describe ongoing work on building an environment to support reasoning in proof assistants that re...
International audienceBasing program analyses on formal semantics has a long and successful traditio...
When using a proof assistant to reason in an embedded logic – like separation logic – one cannot ben...
International audienceEmerging trends in proof styles and new applications of interactive proof assi...
Coq is a formal proof management system. It provides a formal language to write mathematical definit...
Correct software requires compilers to work correctly. Especially code generation can be an error pr...
HAHA is a tool that helps in teaching and learning Hoare logic. It is targeted at an introductory co...
The logic programming paradigm provides a flexible setting for representing, manipulating, checking,...
International audienceThe Coq Platform is a continuously developed distribution of the Coq proof ass...
This work was supported in part by the french ANR DECERT initiativeInternational audienceCoq has wit...
Compilers are a prime target for formal verification, since compiler bugs invalidate higher-level co...
National audienceWe consider a recent publication on higher-order process calculi and describe how i...