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 | ||
sav08:qe_for_presburger_arithmetic [2009/04/23 09:27] vkuncak |
sav08:qe_for_presburger_arithmetic [2009/04/23 09:57] vkuncak |
||
---|---|---|---|
Line 32: | Line 32: | ||
We obtain a disjunction of conjunctions of literals of the form $0 < t$ and $K \mid t$ where $t$ are of the form $K_0 + \sum_{i=1}^n K_i \cdot x_i$ | We obtain a disjunction of conjunctions of literals of the form $0 < t$ and $K \mid t$ where $t$ are of the form $K_0 + \sum_{i=1}^n K_i \cdot x_i$ | ||
+ | |||
Line 39: | Line 40: | ||
**Coefficient next to** $y$: | **Coefficient next to** $y$: | ||
- | To eliminate $\exists y$ from such conjunction, we wish to ensure that the coefficient next to $y$ is one or minus one. Note that $0 < t$ is equivalent to $0 < c\, t$ and $K \mid t$ is equivalent to $c\, K \mid c\, t$ for $c$ a positive integer. If $K_1,\ldots,K_n$ are all coefficients next to $y$ in the formula, let $M$ be a positive integer such that $K_i \mid M$ for all $i$, $1 \le i \le n$ (for example, let $M$ be the least common multiple of $K_1,\ldots,K_n$). Multiply each literal where $y$ occurs in subterm $K_i y$ by constant $M/|K_i|$. | + | To eliminate $\exists y$ from such conjunction, we wish to ensure that the coefficient next to $y$ is one or minus one. |
+ | |||
+ | Observation: $0 < t$ is equivalent to $0 < c\, t$ and $K \mid t$ is equivalent to $c\, K \mid c\, t$ for $c$ a positive integer. | ||
+ | |||
+ | If $K_1,\ldots,K_n$ are all coefficients next to $y$ in the formula, let $M$ be a positive integer such that $K_i \mid M$ for all $i$, $1 \le i \le n$ (for example, let $M$ be the least common multiple of $K_1,\ldots,K_n$). Multiply each literal where $y$ occurs in subterm $K_i y$ by constant $M/|K_i|$. | ||
What is the coefficient next to $y$ in the resulting formula? ++| either $M$ or $-M$ ++ | What is the coefficient next to $y$ in the resulting formula? ++| either $M$ or $-M$ ++ | ||
Line 126: | Line 131: | ||
$\exists res, i. \neg true$\\ | $\exists res, i. \neg true$\\ | ||
$false$ | $false$ | ||
+ | |||
+ | |||
===== Some Improvements ===== | ===== Some Improvements ===== | ||
Avoid transforming to conjunctions of literals: work directly on negation-normal form. | Avoid transforming to conjunctions of literals: work directly on negation-normal form. | ||
+ | * the technique is similar to what we described for conjunctive normal form | ||
- | See Section 7.2 of the [[Calculus of Computation Textbook]]. | + | This is the Cooper's algorithm |
+ | * {{sav09:reddyloveland78presburgerboundedalternation.pdf|Reddy, Loveland: Presburger Arithmetic with Bounded Quantifier Alternation}} (gives a slight improvement of the original Cooper's algorithm) | ||
+ | * Section 7.2 of the [[Calculus of Computation Textbook]] | ||
===== References ===== | ===== References ===== |