Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
sav07_lecture_3_skeleton [2007/03/21 09:37] vkuncak |
sav07_lecture_3_skeleton [2007/03/21 09:41] vkuncak |
||
---|---|---|---|
Line 151: | Line 151: | ||
Proof: small model theorem. | Proof: small model theorem. | ||
- | ==== Small model theorem for quantifier-free Presburger arithmetic ==== | + | |
+ | ==== Small model theorem for Quantifier-Free Presburger Arithmetic (QFPA) ==== | ||
First step: transform to disjunctive normal form. | First step: transform to disjunctive normal form. | ||
Line 161: | Line 162: | ||
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$. | ||
- | Then use small model theorem for integer linear programming. | + | Then use small model theorem for integer linear programming (ILP). |
+ | |||
+ | Short proof by {{papadimitriou81complexityintegerprogramming.pdf|Papadimitriou}}. | ||
- | Short proof by | + | Note: if small model theorem applies to conjunctions, it also applies to arbitrary QFPA formulas. Moreover, one can improve these bounds. One tool based on these ideas is [[http://www.cs.cmu.edu/~uclid/|UCLID]]. |
- | Tools: | + | Alternative: enumerate disjuncts of DNF on demand, each disjunct is a conjunction, then use ILP techniques (often first solve the underlying linear programming problem over reals). |
- | * [[http://www.cs.cmu.edu/~uclid/|UCLID]] | + | |
==== Full Presburger arithmetic ==== | ==== Full Presburger arithmetic ==== |