In this paper we describe a decision procedure for the core theory of fixed-sized bit-vectors with extraction and composition that can readily be integrated into Shostak's procedure for deciding combinations of theories. Inputs to the solver are unquantified bit-vector equations t=u and the algorithm returns true if t=u is valid in the bit-vector theory, false if t=u is unsatisfiable, and a system of solved equations otherwise. The time complexity of the solver is \(\mathcal{O}\left( {\left| t \right| \cdot log{\text{ }}n + n^2 } \right)\), where t is the length of the bit-vector term t and n denotes the number of bits on either side of the equation. Then, the solver for the core bit-vector theory is extended to handle other bit-vector operations like bitwise logical operations, shifting, and arithmetic interpretations of bit-vectors. We develop a BDD-like data-structure called bit-vector BDDs to represent bit-vectors, various operations on bit-vectors, and a solver on bit-vector BDDs.
[1]
Robert E. Shostak,et al.
Deciding Combinations of Theories
,
1982,
JACM.
[2]
Randal E. Bryant,et al.
Symbolic Boolean manipulation with ordered binary-decision diagrams
,
1992,
CSUR.
[3]
Natarajan Shankar,et al.
Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS
,
1995,
IEEE Trans. Software Eng..
[4]
Jonathan P. Bowen,et al.
Applications of Formal Methods
,
1995
.
[5]
Harald Ruess.
Hierarchical Verification of Two-Dimensional High-Speed Multiplication in PVS: A Case Study
,
1996,
FMCAD.
[6]
Natarajan Shankar,et al.
On Shostak's Decision Procedure for Combinations of Theories
,
1996,
CADE.
[7]
David L. Dill,et al.
Validity Checking for Combinations of Theories with Equality
,
1996,
FMCAD.
[8]
Formal Verification of the Aamp5 Microprocessor 1 2.1 Aamp Family of Microprocessors 2.2 Pvs 2.3 Historical Perspective/scale of the Challenge 2.4 Overview of the Technical Approach
,
2022
.