mirror of
https://github.com/Z3Prover/z3
synced 2025-04-12 12:08:18 +00:00
add der description
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
90ba225ae3
commit
7df4e04a2c
|
@ -13,6 +13,39 @@ Author:
|
||||||
|
|
||||||
Leonardo de Moura (leonardo) 2012-10-20
|
Leonardo de Moura (leonardo) 2012-10-20
|
||||||
|
|
||||||
|
Tactic Documentation:
|
||||||
|
|
||||||
|
## Tactic der
|
||||||
|
|
||||||
|
### Short Description:
|
||||||
|
|
||||||
|
The tactic performs _destructive equality resolution_.
|
||||||
|
|
||||||
|
### Long Description
|
||||||
|
|
||||||
|
Destructive equality resolution replaces bound variables that are
|
||||||
|
_solved_ by their solutions in formulas. In short, the destructive
|
||||||
|
equality resolution rule takes the form:
|
||||||
|
|
||||||
|
```
|
||||||
|
(forall (X Y) (or X /= s C[X])) --> (forall (Y) C[Y])
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
```z3
|
||||||
|
(declare-fun f (Int) Int)
|
||||||
|
(declare-fun p (Int Int) Bool)
|
||||||
|
(assert (forall ((x Int) (y Int)) (or (not (= x (f y))) (p x y))))
|
||||||
|
(apply der)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Notes
|
||||||
|
|
||||||
|
* supports unsat cores, proof terms
|
||||||
|
|
||||||
|
|
||||||
--*/
|
--*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ It also allows solving for uninterpreted constants that only appear in a single
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
|
|
||||||
```z3
|
```
|
||||||
(declare-const x Int)
|
(declare-const x Int)
|
||||||
(declare-const y Int)
|
(declare-const y Int)
|
||||||
(declare-const z Int)
|
(declare-const z Int)
|
||||||
|
|
Loading…
Reference in a new issue