Coquet: a Coq library for verifying hardware
Thomas Braibant (LIG)

TL;DR
Coquet is a Coq library that simplifies modeling and verifying hardware circuits, enabling formal proofs of circuit correctness through a deep-embedding approach and specialized tactics.
Contribution
It introduces a new Coq library with a deep-embedding and tactics for hardware circuit verification, demonstrated on various circuit examples.
Findings
Successfully verified a parametric adder
Proved correctness of higher-order circuit combinators
Verified sequential circuits like buffers and registers
Abstract
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Software Engineering Research · Adversarial Robustness in Machine Learning
