Skip to content

Conversation

@jdchristensen
Copy link
Collaborator

@jdchristensen jdchristensen commented Dec 22, 2025

This is a fairly big PR that contains most of the work @ThomatoTomato and I have done on diagram chasing. (But there's at least one more PR still, which will show that AbGroup satisfies the assumptions of our set-up.)

The commits mostly touch disjoint files, and so can be read individually or sequentially. But since it's large, it's probably best to read them sequentially, which gets the dependencies correct. The library builds after each commit, even with 8.20.

The first commit just fixes a missing #[export] on an instance.

The second commit reduces the use of the meta-files WildCat.v, AbGroups.v and Pointed.v. WildCat.v is now never used internally. This has been done so that the next commit builds with 8.20, but even after we move to >= 9.0, this commit is valuable, as it means that a large part of the library doesn't need to be rebuilt when a leaf file like HomologicalAlgebra.v is changed. Also, the parallelization of the build is better, which saves some time.

The third commit moves SetoidRewrite.v from contrib to theories/WildCat/SetoidRewrite.v, with the tests moving to tests/WildCat/SetoidRewrite.v. No changes were made besides imports. This file is very useful for the work in commits 5, 6 and 7.

The fourth commit just has some minor changes to ZeroGroupoid.v.

The fifth commit (AbEnriched.v) introduces wild categories enriched in abelian groups, where the abelian group structure laws only hold up to 2-cells.

The sixth commit (Regular.v) introduces IsRegular and IsAbRegular wild categories, the latter being a nice place in which to do diagram chasing. Regular.v has the key tactic which makes diagram chasing go through smoothly.

The seventh commit (HomologicalAlgebra.v) proves many diagram lemmas using this method.

Edit: two commits added, see below for descriptions.

Edit: reduced this PR to the first four commits, plus some later things related to those commits. The rest will come as separate PRs.

Before moving SetoidRewriting to WildCat folder, we make sure other
files in the library don't Require the WildCat.v meta-file, so they
won't indirectly get SetoidRewriting imported.  This will make the
library continue to build with Coq 8.20, and will also reduce
unnecessary rebuilds.

We also reduce the dependence on Pointed/ and Algebra/, as some of
those files will indirectly depend on SetoidRewriting in a future
commit.
@jdchristensen
Copy link
Collaborator Author

Commit eight: add "From HoTT" to test file to make opam builds work

Commit nine: add new files to WildCat.v meta-file

@Alizter Alizter self-requested a review December 27, 2025 12:51
@jdchristensen
Copy link
Collaborator Author

@Alizter If you want to just review an initial segment of this sequence of commits, that's fine, and I can split the rest off. I included a lot, because the later commits show what the earlier work is used for, but I know it's a lot to digest, so I'm happy to split it up. (We also have noticed that some things in HomologicalAlgebra.v can be cleaned up, so you might choose to skip that commit if you want to wait for us to clean it up first.) Cc: @ThomatoTomato

@Alizter
Copy link
Collaborator

Alizter commented Dec 30, 2025

I'm happy with the first 4 commits, but I ran out of time to review the others. I also have had trouble following the material on regular categories since I needed to re-review my old notes to understand things. Could you split the 4 commits off and we can get those merged. Then try tacking each commit at a time?

@jdchristensen
Copy link
Collaborator Author

@Alizter Ok, I trimmed this down to what was in the first four commits, plus the fixes in the 8th, 9th and 10th commits. Then I squashed some things together to make it more logical. Can you please check that I didn't mess things up? I'm in an airport and it'll be a day or two before I can look at this again. I'll wait to make sure this is good before creating the next PR. Cc: @ThomatoTomato

@jdchristensen jdchristensen changed the title Diagram chasing infrastructure and usage move SetoidRewrite to main library and other changes in preparation for diagram chasing Jan 2, 2026
Copy link
Collaborator

@Alizter Alizter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Thanks!

@Alizter Alizter merged commit ea71c02 into HoTT:master Jan 2, 2026
22 checks passed
@jdchristensen jdchristensen deleted the diagram-chase-pr branch January 2, 2026 17:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants