Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
sav07_lecture_3_skeleton [2007/03/21 10:39] vkuncak |
sav07_lecture_3_skeleton [2007/03/21 10:42] vkuncak |
||
---|---|---|---|
Line 127: | Line 127: | ||
Alternative: | Alternative: | ||
* decide that you will only loop for formulas of restricted form, as in abstract interpretation and data flow analysis (next week) | * decide that you will only loop for formulas of restricted form, as in abstract interpretation and data flow analysis (next week) | ||
+ | |||
+ | |||
Line 132: | Line 134: | ||
Suppose that we obtain (one or more) verification conditions of the form | Suppose that we obtain (one or more) verification conditions of the form | ||
+ | \begin{equation*} | ||
+ | F\ \rightarrow\ (\mbox{error}=\mbox{false}) | ||
+ | \end{equation*} | ||
+ | |||
+ | whose validity we need to prove. We here assume that F contains only | ||
+ | |||
+ | Note: we can check satisfiability of $F\ \land\ (\mbox{error}=\mbox{true})$. | ||
==== Quantifier Presburger arithmetic ==== | ==== Quantifier Presburger arithmetic ==== | ||
Line 150: | Line 159: | ||
Proof: small model theorem. | Proof: small model theorem. | ||
+ | |||
Line 163: | Line 173: | ||
Next: reduce to integer linear programming: | Next: reduce to integer linear programming: | ||
\begin{equation*} | \begin{equation*} | ||
- | A\vec x = \vec b, \vec x \geq \vec 0 | + | A\vec x = \vec b, \qquad \vec x \geq \vec 0 |
\end{equation*} | \end{equation*} | ||
where $A \in {\cal Z}^{m,n}$ and $x \in {\cal Z}^n$. | where $A \in {\cal Z}^{m,n}$ and $x \in {\cal Z}^n$. |