Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bv_normalize produces a proof with metavars that cannot be checked by the kernel #5543

Closed
bollu opened this issue Sep 30, 2024 · 0 comments · Fixed by #5568
Closed

bv_normalize produces a proof with metavars that cannot be checked by the kernel #5543

bollu opened this issue Sep 30, 2024 · 0 comments · Fixed by #5568
Labels
bug Something isn't working

Comments

@bollu
Copy link
Contributor

bollu commented Sep 30, 2024

Description

Consider the MWE:

import Lean

-- "4.12.0-nightly-2024-09-30"
#eval Lean.versionString

def mem_subset (a1 a2 b1 b2 : BitVec 64) : Bool :=
  (b2 - b1 = BitVec.ofNat 64 (2^64 - 1)) ||
  ((a2 - b1 <= b2 - b1 && a1 - b1 <= a2 - b1))

theorem mem_subset_refl : mem_subset a1 a2 a1 a2 := by
  unfold mem_subset
  -- bv_decide -- this succeeds. 
  bv_normalize
-- (kernel) declaration has metavariables 'mem_subset_refl

Context

Occurred when bumping the lean toolchain for leanprover/lnsym. I was bumping the toolchain to get the new bv_decide preprocessing fixes.

Impact

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

@bollu bollu added the bug Something isn't working label Sep 30, 2024
github-merge-queue bot pushed a commit that referenced this issue Oct 1, 2024
…preprocessing passes (#5568)

Beyond what's in the title this also fixes: #5543
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
1 participant