leanprover-community / leanprover-community/mathlib4

tracking issue for `set_option backward.synthInstance.canonInstances false`

Open
#12,532 0 comments 0 reactions 0 assignees View on GitHub

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

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.