Metavariables in `have`'s type should not leak into body
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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