Tactics should preserve goals on nested term elaboration failure
Open
Nobody has claimed this yet.
bug
P-high
- Dominant language
- Lean
- Stars
- 9.2k
- Forks
- 990
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 175
Description
example : True ∧ False ∧ True := by
simp only [false_and]
exact -- Tactic state: No goals / error: unexpected token
example : True ∧ False ∧ True := by
simp only [false_and]
exact true_ -- Tactic state: No goals / error: unknown identifier
In both cases, term elaboration inside exact results in sorry with a logged error message due to errToSorry being true, then we assign this sorry to the goal. Thus there is no tactic state shown. If we want to keep errToSorry here, we should likely check for synthetic sorries in exact/... and skip assignment in that case.
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
Start by tracing nested term elaboration in exact and related tactics when errToSorry is true. Check how synthetic sorries are produced and assigned to goals; done means elaboration failures preserve the existing tactic state while still reporting the error.
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