On Intervals and Bounds in Bit-vector Arithmetic

Bit-vector arithmetic operations rely on modular arithmetic semantics, which often complicates algebraic manipulations. One such example are inequalities. Satisfiability of a system of modular inequalities is NP-complete [1]. In this memo we investigate a simple type of inequalities: only one variable is permitted and there are no multiplications. Satisfiability is solved in polynomial time by translating the problem into conjunctions of positive and negative intervals. This lets us decide systems of such inequalities but also identify uniqueness of solution and remove redundancies. This approach can be used to preprocess bit-vector problems and might also be useful in connection with other approaches, such as abstract interpretation [3,2].