This PR changes `bv_decide`'s configuration from lots of `set_option` to an elaborated config like `simp` or `omega`. The notable exception is `sat.solver` which is still a `set_option` such that users can configure a custom SAT solver globally for an entire project or file. Additionally it introduces the ability to set `maxSteps` for the simp preprocessing run through the new config. The latter feature was requested by people using `bv_decide` on SMTLIB which has ginormous terms that exceed the default.
9 lines
297 B
Text
9 lines
297 B
Text
import Std.Tactic.BVDecide
|
|
|
|
example
|
|
(a k n : BitVec 32) :
|
|
n < -1 - k →
|
|
((¬a + k + 1 - a ≤ a + k - a ∧ ¬a + k + 1 + n - a ≤ a + k - a) ∧
|
|
¬a - (a + k + 1) ≤ a + k + 1 + n - (a + k + 1)) ∧
|
|
¬a + k - (a + k + 1) ≤ a + k + 1 + n - (a + k + 1) := by
|
|
bv_decide
|