This PR adds a new `solverMode` field to `bv_decide`'s configuration, allowing users to configure the SAT solver for different kinds of workloads.
38 lines
934 B
Text
38 lines
934 B
Text
import Std.Tactic.BVDecide
|
|
|
|
|
|
/--
|
|
error: The prover found a counterexample, consider the following assignment:
|
|
x = 4294967295#32
|
|
y = 4294967295#32
|
|
-/
|
|
#guard_msgs in
|
|
example (x y : BitVec 32) : x * y = y + x := by
|
|
bv_decide
|
|
|
|
/--
|
|
error: The prover found a counterexample, consider the following assignment:
|
|
x = 4294967295#32
|
|
y = 4294967295#32
|
|
-/
|
|
#guard_msgs in
|
|
example (x y : BitVec 32) : x * y = y + x := by
|
|
bv_decide (config := { solverMode := .counterexample })
|
|
|
|
/--
|
|
error: The prover found a counterexample, consider the following assignment:
|
|
x = 4294967295#32
|
|
y = 4294967295#32
|
|
-/
|
|
#guard_msgs in
|
|
example (x y : BitVec 32) : x * y = y + x := by
|
|
bv_decide (config := { solverMode := .default })
|
|
|
|
/--
|
|
error: The prover found a counterexample, consider the following assignment:
|
|
x = 4294967295#32
|
|
y = 4294967295#32
|
|
-/
|
|
#guard_msgs in
|
|
example (x y : BitVec 32) : x * y = y + x := by
|
|
bv_decide (config := { solverMode := .proof })
|