We propose a new library to model and verify hardware circuits in the Coq proof assistant. This library allows one to easily build circuits by following the usual pen-and-paper diagrams. We define a deep-embedding: we use a (dependently typed) data-type that models the architecture of circuits, and a meaning function. We propose tactics that ease the reasoning about the behavior of the circuits, and we demonstrate that our approach is practicable by proving the correctness of various circuits: a text-book divide and conquer adder of parametric size, some higher-order combinators of circuits, and some sequential circuits: a buffer, and a register
There is a long tradition of modelling digital circuits using functional programming languages. This...
In the age of submicron technology a single chip may contain tens or even hundreds of millions trans...
This paper presents the proof of correctness of a multiplier circuit formalized in the calculus of i...
Abstract. We propose a new library to model and verify hardware cir-cuits in the Coq proof assistant...
Abstract. We propose a new library to model and verify hardware cir-cuits in the Coq proof assistant...
It has become fairly standard in the programming-languages research world to verify functional progr...
Addition arithmetic design plays a crucial role in high performance digital systems. The paper propo...
Representing proof assistant libraries in a way that allows further processing in other systems is b...
Over the last few decades, electronic circuits have more and more become a part of our lives, and t...
International audienceThe Coq Platform is a continuously developed distribution of the Coq proof ass...
Checking the equivalence of two Boolean functions, or combinational circuits modeled as Boolean func...
AbstractIn this paper we demonstrate how to prove the correctness of systems implemented using low-l...
Language: English Existing skills or strong desire to learn: • functional programming (e.g. OCaml or...
Theorem proving has been demonstrated as a powerful technique for datapath verification. This paper ...
We describe a method for building composable and extensible ver-ification procedures within the Coq ...
There is a long tradition of modelling digital circuits using functional programming languages. This...
In the age of submicron technology a single chip may contain tens or even hundreds of millions trans...
This paper presents the proof of correctness of a multiplier circuit formalized in the calculus of i...
Abstract. We propose a new library to model and verify hardware cir-cuits in the Coq proof assistant...
Abstract. We propose a new library to model and verify hardware cir-cuits in the Coq proof assistant...
It has become fairly standard in the programming-languages research world to verify functional progr...
Addition arithmetic design plays a crucial role in high performance digital systems. The paper propo...
Representing proof assistant libraries in a way that allows further processing in other systems is b...
Over the last few decades, electronic circuits have more and more become a part of our lives, and t...
International audienceThe Coq Platform is a continuously developed distribution of the Coq proof ass...
Checking the equivalence of two Boolean functions, or combinational circuits modeled as Boolean func...
AbstractIn this paper we demonstrate how to prove the correctness of systems implemented using low-l...
Language: English Existing skills or strong desire to learn: • functional programming (e.g. OCaml or...
Theorem proving has been demonstrated as a powerful technique for datapath verification. This paper ...
We describe a method for building composable and extensible ver-ification procedures within the Coq ...
There is a long tradition of modelling digital circuits using functional programming languages. This...
In the age of submicron technology a single chip may contain tens or even hundreds of millions trans...
This paper presents the proof of correctness of a multiplier circuit formalized in the calculus of i...