fix: handling BitVec.ofNat with Nat fvars in bv_decide (#5484)
This commit is contained in:
parent
91a033488c
commit
13969ad667
2 changed files with 5 additions and 1 deletions
|
|
@ -343,7 +343,7 @@ where
|
|||
return mkApp4 congrProof (toExpr inner.width) innerExpr innerEval innerProof
|
||||
|
||||
goBvLit (x : Expr) : M (Option ReifiedBVExpr) := do
|
||||
let some ⟨width, bvVal⟩ ← getBitVecValue? x | return none
|
||||
let some ⟨width, bvVal⟩ ← getBitVecValue? x | return ← ofAtom x
|
||||
let bvExpr : BVExpr width := .const bvVal
|
||||
let expr := mkApp2 (mkConst ``BVExpr.const) (toExpr width) (toExpr bvVal)
|
||||
let proof := do
|
||||
|
|
|
|||
4
tests/lean/run/bv_decide_nat.lean
Normal file
4
tests/lean/run/bv_decide_nat.lean
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
import Std.Tactic.BVDecide
|
||||
|
||||
theorem cex (n : Nat) (hn : BitVec.ofNat 64 n ≠ 0) : BitVec.ofNat 64 n ≠ 0#64 := by
|
||||
bv_decide
|
||||
Loading…
Add table
Reference in a new issue