leanprover-community / leanprover-community/lean
apply tactic produces incorrect proof
Open
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 434
- Forks
- 79
- PR merge metrics
- No merged PRs in 30d
Description
def additive (α : Type*) := α
instance {α} [has_one α] : has_zero (additive α) := ⟨(1 : α)⟩
example : (0 : ℕ) = (0 : additive ℕ) :=
by apply eq.refl
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
Run the Lean reproducer from the issue and confirm that by apply eq.refl is accepted for the shown additive example. Then locate the implementation of the apply tactic and its proof-validation path. Done means the example no longer produces an incorrect proof, with regression coverage for this reproducer.
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