Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor category theory to use strictly involutive identity types #1052

Merged
merged 48 commits into from
Mar 11, 2024

Conversation

fredrik-bakke
Copy link
Collaborator

@fredrik-bakke fredrik-bakke commented Mar 2, 2024

Summary

  • Refactors the definition of categories to use the new and more general strictly involutive identity types for their associativity witnesses.
  • Refactor definitions of some instances of large and small precategories to use a new make-(Large-)?-Precategory constructor.
  • Defines the underlying large precategory of a large subprecategory.
  • Change some prose regarding basic definitions in category theory.
  • Refactors all appropriate instances of large precategories to be (full) large subprecategories.
    • Rename is-group to is-group-Semigroup.

The last item was appropriate to make the handling of involutive-eq-associative-comp-hom-***-Large-Precategory systematic.

Improves on what was implemented in #945.

@fredrik-bakke
Copy link
Collaborator Author

This one's ready for review :)

Don't get fooled by the similar number of additions and deletions, many of them are disjoint.

@fredrik-bakke fredrik-bakke marked this pull request as ready for review March 2, 2024 18:21
@fredrik-bakke
Copy link
Collaborator Author

My next planned refactoring (of finite types) depends on this PR, so has to wait until this one has been merged.

@EgbertRijke
Copy link
Collaborator

My next planned refactoring (of finite types) depends on this PR, so has to wait until this one has been merged.

What do you want to do with finite types?

@fredrik-bakke
Copy link
Collaborator Author

I want to change how the symbol 𝔽 is used. For instance, Poset-𝔽 should be Finite-Poset.

Copy link
Collaborator

@EgbertRijke EgbertRijke left a comment

Choose a reason for hiding this comment

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

This is a very nice pull request. That's a great application for the strictly involutive identity type. Well done, it was pleasant to review!

I had only a few minor remarks.

src/category-theory/equivalences-of-precategories.lagda.md Outdated Show resolved Hide resolved
src/category-theory/precategories.lagda.md Show resolved Hide resolved
src/category-theory/precategories.lagda.md Outdated Show resolved Hide resolved
src/group-theory/groups.lagda.md Outdated Show resolved Hide resolved
src/ring-theory/semirings.lagda.md Outdated Show resolved Hide resolved
@fredrik-bakke
Copy link
Collaborator Author

Thanks for the suggestions!

@EgbertRijke
Copy link
Collaborator

This PR can be merged when you're done with the comments.

@fredrik-bakke fredrik-bakke enabled auto-merge (squash) March 11, 2024 17:15
@fredrik-bakke
Copy link
Collaborator Author

Great, thanks

@fredrik-bakke fredrik-bakke merged commit 0ebb5e6 into UniMath:master Mar 11, 2024
4 checks passed
fredrik-bakke added a commit to fredrik-bakke/agda-unimath that referenced this pull request Mar 14, 2024
…niMath#1052)

### Summary
- Refactors the definition of categories to use the new and more general
strictly involutive identity types for their associativity witnesses.
- Refactor definitions of some instances of large and small
precategories to use a new `make-(Large-)?-Precategory` constructor.
- Defines the underlying large precategory of a large subprecategory.
- Change some prose regarding basic definitions in category theory.
- Refactors all appropriate instances of large precategories to be
(full) large subprecategories.
  - Rename `is-group` to `is-group-Semigroup`.
 
The last item was appropriate to make the handling of
`involutive-eq-associative-comp-hom-***-Large-Precategory` systematic.

Improves on what was implemented in UniMath#945.
@fredrik-bakke fredrik-bakke deleted the involutive-id-cat branch March 28, 2024 14:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants