leanprover-community / leanprover-community/mathlib4
tracking issue for `set_option backward.synthInstance.canonInstances false`
Nobody has claimed this yet.
- Dominant language
- Lean
- Stars
- 4.2k
- Forks
- 1.7k
- PR merge metrics
- No merged PRs in 30d
Description
The change to typeclass resolution in https://github.com/leanprover/lean4/pull/4003 (See also https://github.com/leanprover/lean4/issues/3996) will hopefully significantly speed up typeclass search in Mathlib.
However it causes some breakages. Currently, we're using the backwards compatibility flag to disable the new behaviour as locally as possible, and leaving the task of cleaning this up for later.
All occurrences of the set_option backward.synthInstance.canonInstances false option should link to this issue, and we can use this issue to coordinate efforts to understand why it is sometimes needed.
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
Search the repository for occurrences of set_option backward.synthInstance.canonInstances false, then read Lean PR 4003 and issue 3996 for the typeclass-resolution change. Use this tracking issue to coordinate why each occurrence is needed; completion means the compatibility uses have been cleaned up or their rationale is understood and recorded.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100