29.04.2014 Views

Presburger Arithmetic and Its Use in Verification

Presburger Arithmetic and Its Use in Verification

Presburger Arithmetic and Its Use in Verification

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!