This PR implements several optimisation tricks from Bitwuzla's preprocessing passes into the Lean equivalent in `bv_decide`. Note that these changes are mostly geared towards large proof states as for example seen in SMT-Lib.
7 lines
339 B
Text
7 lines
339 B
Text
import Std.Tactic.BVDecide
|
|
|
|
example {x y z : Bool} (_ : (x && y) = z) (_ : x = !y) (_ : z = true) : False := by bv_decide
|
|
example {a b c d e f : Bool} (_ : (a && b) = c) (_ : (b && c) = d) (_ : (c && d) = e) (_ : (d && e) = f)
|
|
(_ : a = false) (_ : f = true) : False := by bv_decide
|
|
|
|
example (h : x = false) : false = x := by bv_decide
|