Skip to content

bv_decide fails with unknown free variable '_fvar.126' under certain contexts #15195

Description

@Mr-Pine

Prerequisites

Description

bv_decide fails (in some cases) if the context contains a hypothesis of the form ∀ k : α, P k → <something about BitVecs>.

Context

Bisection on nightly versions showed this as a regression in nightly-2026-08-04 (#14215 looks like the likely culprit).

Steps to Reproduce

import Std.Tactic.BVDecide

example (y : BitVec 256) : True := by
  let x : BitVec 256 := y
  have h : ∀ k : Nat, k < 32 → x.toNat = x.toNat := fun _ _ => rfl
  have t : (0#64) ≤ (1#64) := by bv_decide
  trivial

or Lean Live Link

Expected behavior: bv_decide should prove t

Actual behavior: bv_decide fails with

unknown free variable `_fvar.126`

Versions

Lean 4.36.0-nightly-2026-09-16
Target: x86_64-unknown-linux-gnu Linux

Impact

Add 👍 to issues you consider important. If others are impacted by this issue, please ask them to add 👍 to it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions