leanprover-community / leanprover-community/mathlib4
`ComposableArrows` incompatible with simproc `Fin.reduceFinMk`.
Nobody has claimed this yet.
- Dominant language
- Lean
- Stars
- 4.2k
- Forks
- 1.7k
- PR merge metrics
- No merged PRs in 30d
Description
The simproc Fin.reduceFinMk causes breakages in Mathlib/CategoryTheory/ComposableArrows.lean: in particular CategoryTheory.ComposableArrows.Precomp.obj_succ seems strongly affected. (e.g. dsimp can now simplify 2 + 3 to 5). For now, we just turn off the offending simprocs in this file and write simp [-Fin.reduceFinMk] whenever Precomp.obj_succ is required.
However, hopefully it is possible to refactor the material here so that no disabling of simprocs is needed.
This issue existed since the introduction of the Fin.reduceFinMk simproc, but we decided to track it since #27351, where it became much clearer what exactly is to blame.
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
Read Mathlib/CategoryTheory/ComposableArrows.lean and inspect CategoryTheory.ComposableArrows.Precomp.obj_succ, focusing on the effects of Fin.reduceFinMk and the file's disabled simprocs. Done means the compatibility breakage is resolved without disabling simprocs or needing simp [-Fin.reduceFinMk] at Precomp.obj_succ.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100