This PR fixes a bug in bv_decide where if it was presented with a match on an enum with as many arms as constructors but the last arm being a default match it would (wrongly) give up on the match.
15 lines
246 B
Text
15 lines
246 B
Text
import Std.Tactic.BVDecide
|
|
|
|
inductive State : Type
|
|
| A : State
|
|
| B : State
|
|
|
|
|
|
def myFunc (s : State) : Bool :=
|
|
match s with
|
|
| .A => true
|
|
| _ => false
|
|
|
|
theorem test (h : s ≠ State.B) : myFunc s = true := by
|
|
simp only [myFunc]
|
|
bv_decide
|