Abstract. We introduce a new decidable logic for reasoning about infinite arrays of integers. The logic is in the ∃ * ∀ * first-order fragment and allows (1) Presburger constraints on existentially quantified variables, (2) difference constraints as well as periodicity constraints on universally quantified indices, and (3) difference constraints on values. In particular, using our logic, one can express constraints on consecutive elements of arrays (e.g. . The decision procedure follows the automata-theoretic approach: we translate formulae into a special class of Büchi counter automata such that any model of a formula corresponds to an accepting run of the automaton, and vice versa. The emptiness problem for this class of counter automata is shown to be decidable, as a consequence of earlier results on counter automata with a flat control structure and transitions based on difference constraints. We show interesting program properties expressible in our logic, and give an example of invariant verification for programs that handle integer arrays.
More precisely, REF defines the Logic of Integer Arrays LIA, whose formulas are in the ∃ * ∀ * fragment and allow Presburger arithmetic on existentially quantified variables, difference and modulo constraints on index variables, and difference constraints on array values.
T.: What else is decidable about integer arrays
In: Proceedings of the 11th International Conference on Foundations of Software Science and Computational Structures (FOSSACS’08). Lecture Notes in Computer Science
Mathematics Computer Science