Constraint satisfaction over bit-vectors

  • Authors:
  • Laurent D. Michel;Pascal Van Hentenryck

  • Affiliations:
  • University of Connecticut, Storrs, CT;Optimization Research Group, NICTA and The University of Melbourne, Australia

  • Venue:
  • CP'12 Proceedings of the 18th international conference on Principles and Practice of Constraint Programming
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Reasoning over bit-vectors arises in a variety of applications in verification and cryptography. This paper presents a bit-vector domain for constraint programming and its associated filtering algorithms. The domain supports all the traditional bit operations and correctly models modulo-arithmetic and overflows. The domain implementation uses bit operations of the underlying architecture, avoiding the drawback of a bit-blasting approach that associates a variable with each bit. The filtering algorithms implement either domain consistency on the bit-vector domain or bit consistency, a new consistency notion introduced in this paper. Filtering algorithms for logical and structural constraints typically run in constant time, while arithmetic constraints such as addition run in time linear in the size of the bit-vectors. The paper also discusses how to channel bit-vector variables with an integer variable.