leanprover-community / leanprover-community/mathlib4

`ComposableArrows` incompatible with simproc `Fin.reduceFinMk`.

Open
#27,382 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

t-category-theory
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

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.