mirror of
https://github.com/Z3Prover/z3
synced 2025-08-26 21:16:02 +00:00
update doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
e648e68d36
commit
7afcaa5364
6 changed files with 102 additions and 34 deletions
|
@ -7,18 +7,35 @@ Module Name:
|
|||
|
||||
Abstract:
|
||||
|
||||
Fix a difference logic variable to 0.
|
||||
If the problem is in the difference logic fragment, that is, all arithmetic terms
|
||||
are of the form (x + k), and the arithmetic atoms are of the
|
||||
form x - y <= k or x - y = k. Then, we can set one variable to 0.
|
||||
|
||||
This is useful because, many bounds can be exposed after this operation is performed.
|
||||
|
||||
Author:
|
||||
|
||||
Leonardo (leonardo) 2011-12-29
|
||||
|
||||
Notes:
|
||||
Tactic Documentation:
|
||||
|
||||
## Tactic fix-dl-var
|
||||
|
||||
### Short Description
|
||||
|
||||
Fix a difference logic variable to `0`.
|
||||
If the problem is in the difference logic fragment, that is, all arithmetic terms
|
||||
are of the form `(x + k)`, and the arithmetic atoms are of the
|
||||
form `x - y <= k` or `x - y = k`. Then, we can set one variable to `0`.
|
||||
|
||||
This is useful because, many bounds can be exposed after this operation is performed.
|
||||
|
||||
### Example
|
||||
|
||||
```z3
|
||||
(declare-const x Real)
|
||||
(declare-const y Real)
|
||||
(declare-const z Real)
|
||||
(assert (<= (+ x (* -1.0 y)) 3.0))
|
||||
(assert (<= (+ x (* -1.0 z)) 5.0))
|
||||
(apply fix-dl-var)
|
||||
```
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue