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

Basic monoidal category theory #364

Merged
merged 5 commits into from
Feb 29, 2024
Merged

Basic monoidal category theory #364

merged 5 commits into from
Feb 29, 2024

Conversation

ncfavier
Copy link
Member

@ncfavier ncfavier commented Feb 26, 2024

Description

  • reverse monoidal categories
  • braided, symmetric monoidal categories
  • monoidal categories with diagonals
  • cartesian monoidal categories are symmetric monoidal with diagonals
  • (lax) monoidal functors, braided/symmetric/diagonal monoidal functors, monoidal natural transformations
  • monoidal functors take monoids to monoids, functorially
  • a bunch of extra coherence properties for monoidal and braided monoidal categories
  • tensorial strengths, equivalence between left and right strengths in a braided monoidal category, every Sets-endofunctor is strong

My initial motivation was to understand the precise relationship between (symmetric) monoidal monads and commutative strong monads, which is why I'm formalising strengths here, but that page could use more prose. Edits welcome.

Some proofs are truly nightmarish, and I feel like we're still missing some important reasoning combinators for isomorphisms but I don't want to think about it right now.

Checklist

Before submitting a merge request, please check the items below:

  • I've read the contributing guidelines.
  • The imports of new modules have been sorted with support/sort-imports.hs (or nix run --experimental-features nix-command -f . sort-imports).
  • All new code blocks have "agda" as their language.

If your change affects many files without adding substantial content, and
you don't want your name to appear on those pages (for example, treewide
refactorings or reformattings), start the commit message and PR title with chore:.

@Lavenza
Copy link
Member

Lavenza commented Feb 26, 2024

Pull request preview

Markdown apparently specifies that the numbers are ignored in ordered
lists, so we can't use them for "sparse" enumerations.
Add some combinators for reasoning with ternary compositions, expose
F-map-iso in Cat.Functor.Reasoning, expose more reasoning modules for
monoidal categories.
plt-amy
plt-amy previously approved these changes Feb 26, 2024
Copy link
Member

@plt-amy plt-amy left a comment

Choose a reason for hiding this comment

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

Awesome work, thank you!

- reverse monoidal categories
- braided, symmetric monoidal categories
- monoidal categories with diagonals
- cartesian monoidal categories are symmetric monoidal with diagonals
- (lax) monoidal functors, braided/symmetric/diagonal monoidal functors,
  monoidal natural transformations
- monoidal functors take monoids to monoids, functorially
- a bunch of extra coherence properties for monoidal and braided
  monoidal categories
- tensorial strengths, equivalence between left and right strengths in a
  braided monoidal category, every Sets-endofunctor is strong
@ncfavier ncfavier merged commit 78f8f55 into main Feb 29, 2024
5 checks passed
@ncfavier ncfavier deleted the monoidal branch February 29, 2024 14:13
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.

3 participants