Presburger Arithmetic and Its Use in Verification
Presburger Arithmetic and Its Use in Verification
Presburger Arithmetic and Its Use in Verification
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
5.3. SUMMARY<br />
occur <strong>in</strong> equation do not happen anywhere <strong>in</strong> the formula, simplification is<br />
done even before we know it is helpful or not. Therefore, the aim of this<br />
step is collect<strong>in</strong>g equations <strong>in</strong>to literals <strong>and</strong> keep<strong>in</strong>g the structure small for<br />
do<strong>in</strong>g traversal. One important po<strong>in</strong>t is that all constra<strong>in</strong>ts will be kept <strong>in</strong><br />
the compact form so their coefficients are smallest.<br />
•Apply5.3-5.6toreducequantifiers<strong>and</strong>elim<strong>in</strong>ateallequations<strong>in</strong>thecurrent<br />
guard. This step may generate some <strong>in</strong>dependent constra<strong>in</strong>ts which are<br />
c<strong>and</strong>idates for the next step.<br />
•Partitionliteralsbywhethertheyconsistofquantifiersornot.Take<strong>in</strong>dependent<br />
literals out of current quantifiers, which causes the formula not <strong>in</strong> GNF<br />
anymore. The bigger formula will be normalized <strong>in</strong>to GNF recursively <strong>in</strong> the<br />
next iteration.<br />
One decision has to be made is whether we should push quantifiers as down as<br />
possible. The process is based on the follow<strong>in</strong>g rules:<br />
∃x.( ∧ i<br />
L i ⇒ ∨ j<br />
P j ) ≡ ∧ i<br />
∀x.L i ⇒ ∨ j<br />
∃x.P j (5.9)<br />
∀x.( ∧ i<br />
L i ∧ ∧ j<br />
P j ) ≡ ∧ i<br />
∀x.L i ∧ ∧ j<br />
∀x.P j (5.10)<br />
These rules result <strong>in</strong> quantified formulas <strong>in</strong> the smallest size. If decision procedures<br />
are able to recognize these patterns, it is unnecessary to do so. We are go<strong>in</strong>g<br />
to come back to this simplification process later <strong>in</strong> the report.<br />
5.3 Summary<br />
We have presented side-condition <strong>Presburger</strong> formulas <strong>and</strong> how they are generated<br />
from the model checker. Due to high complexity of these formulas, we derive a<br />
simplification algorithm to reduce them as much as possible. Reduction is based<br />
on underst<strong>and</strong><strong>in</strong>g structures of these formulas <strong>and</strong> establish<strong>in</strong>g logic rules. Hopefully,<br />
simplified formulas are small enough to be solved by decision procedures <strong>in</strong> a<br />
reasonable amount of time.<br />
41