Logo image
Formal Verification of Bit-Vector Invertibility Conditions in Coq
Book chapter   Open access   Peer reviewed

Formal Verification of Bit-Vector Invertibility Conditions in Coq

Burak Ekici, Arjun Viswanathan, Yoni Zohar, Cesare Tinelli and Clark Barrett
Frontiers of Combining Systems, pp.41-59
Lecture Notes in Computer Science, v. 14279, Springer Nature Switzerland
01/01/2023
DOI: 10.1007/978-3-031-43369-6_3
url
https://doi.org/10.1007/978-3-031-43369-6_3View
Published (Version of record) Open Access

Abstract

We prove the correctness of invertibility conditions for the theory of fixed-width bit-vectors—used to solve quantified bit-vector formulas in the Satisfiability Modulo Theories (SMT) solver cvc5— in the Coq proof assistant. Previous work proved many of these in a completely automatic fashion for arbitrary bit-width; however, some were only proved for bit-widths up to 65, even though they are being used to solve formulas over larger bit-widths. In this paper we describe the process of proving a representative subset of these invertibility conditions in Coq. In particular, we describe the BVList library for bit-vectors in Coq, our extensions to it, and proofs of the invertibility conditions.

Details

Metrics

62 Record Views
Logo image