Coquet: a coq library for verifying hardware

  • Authors:
  • Thomas Braibant

  • Affiliations:
  • LIG, UMR 5217, INRIA, France

  • Venue:
  • CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

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.