leanprover / leanprover/lean4

Metavariables in `have`'s type should not leak into body

Open
#4,610 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug P-low
Dominant language
Lean
Stars
9.2k
Forks
990
Avg merge
1d 17h
Merged PRs (30d)
175

Description

As a side effect of #4308, the tactic have : $ty := by $tacs* now requires all mvars in ty to be solved before elaborating tacs, which is not the case for other have forms but is the case for e.g. theorem. Everyone seems to agree that have should consistently behave like theorem in this respect, which should also help with parallelism.

Reported on Zulip.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or concrete entry points are named. Start by locating the elaboration paths for have and theorem, then verify that metavariables in a have type remain available consistently while its body is elaborated; the behavior should match the issue's stated consistency goal.

Written by the indexing model from the issue text.

Assessment

Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.