Abstract
We present an algorithm that takes a first-order sentence p in full arithmetic with arrays (with quantification over numbers, and with numerical terms serving as array indices), and builds a test formula that can be used to determine which indices of p's constituent arrays “really” occur. We call this concept syntactic dependence. We show how to use syntactic dependence as a test for semantic dependence, i.e., the true dependence of p on the value of an array element. This is useful in truth-maintenance systems or symbolic execution systems, where a sentence may be true in one state but false in the next. More specifically, if we are given an initial state, a sentence (such as p above) that is true in the initial state, and a list of array elements that may be changing value during a state transition, the algorithm can be used to determine whether p must remain true after the state transition.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have