Coquet: a Coq library for verifying hardware. 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.
Keywords for this software
References in zbMATH (referenced in 6 articles )
Showing results 1 to 6 of 6.
- Letan, Thomas; Régis-Gianas, Yann; Chifflier, Pierre; Hiet, Guillaume: Modular verification of programs with effects and effects handlers (2021)
- Pizani, Flor João Paulo; Swierstra, Wouter; Sijsling, Yorick: (\Pi)-Ware: hardware description and verification in Agda (2018)
- Rizkallah, Christine; Garbuzov, Dmitri; Zdancewic, Steve: A formal equational theory for call-by-push-value (2018)
- Wang, Qian; Song, Xiaoyu; Gu, Ming; Sun, Jiaguang: Functional verification of high performance adders in \textscCoq (2014)
- Braibant, Thomas: Coquet: a Coq library for verifying hardware (2011)
- Jouannaud, Jean-Pierre (ed.); Shao, Zhong (ed.): Certified programs and proofs. First international conference, CPP 2011, Kenting, Taiwan, December 7--9, 2011. Proceedings (2011)