-
Notifications
You must be signed in to change notification settings - Fork 68
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
consider adding a symmetric version of enriched category thoery #120
Comments
Good idea. That was my plan, actually. I just haven't had time yet to do it. This corresponds to Section 1.4 of Kelly's book. (The section after that deals with closed/cartesian-closed enriched categories.) |
If we go there (which I'm in favour of), we'll probably also want to enrich over skew monoidal categories as well (introduced in https://arxiv.org/abs/1201.4981 but then used in various places like https://arxiv.org/abs/1708.06088 and many more , some of which are of direct interest to me). In other words, there is a naming issue to solve. Will this end up multiplying? Or are there just 3 cases? In the latter situation, then |
I don't think that's a problem in practice. Currently, every module in the (BTW. The same goes if we replace the two parameters with a single parameter |
there is no need to explore all cases, unless they all are worth the effort. I think the definition of symmetric monoidal category should be adjusted: there is no need to prove two hexagon identities because symmetry can derive one from another. |
While that's true, I don't think it's a good idea to change the definition of symmetric monoidal categories. The current definition has the virtue of being symmetric (in a sense similar to the definition of More generally, I think it doesn't make sense to "optimize" definitions in this way since different, equivalent definitions may be better or worse depending on a use case. Another example that we have discussed before is that of CCCs, where the "canonical" definition is easier to implement, but also a lot less concise. BTW. This definition is a bit off-topic. If we want to continue it, maybe it should go into a separate issue. |
@sstucki you are right. I realized that too. I have pushed the modification already. actually it should be the definition of |
LGTM! |
Just re-discovered this old issue. |
Cool! It does seem like working over SMCs is currently trendy. And simpler. It's odd that it relies on such non-trivial properties though - that seems to be elided from textbooks. |
Indeed. The example I gave elsewhere is from Kelly's book (p. 12, comment below diagram 1.17):
If I recall correctly, the "easy to verify" properties involve some of the larger proofs in the |
To be fair, Kelly's book is incredibly dense. |
I've gotten better at taking string diagrams and translating them to combinator expressions (as an art, not as a procedure!). Are they in Geoff Cruttwell's thesis? Also, I think the reason that the SMC coherence theorem is so hard to mechanize is that the "normal forms" aren't expressible without quotients. This is the root reason that things like Bags are not something one can easily do in MLTT. Both Nils and I have done it (independently) with Setoids, where it is very important that the witnesses of equality are data, not propositions (in this case, explicit permutations). |
Yes, at least the big one that takes up most of the interchange module (
That's very interesting. Do you have a link to that development? I'm still hoping that we could actually proof the coherence theorems and possibly even use them to implement tactics, like the one @TOTBWF started in #279. That draft PR contains a coherence theorem for monoidal categories (without braidings), as per the nLab definition (point 1). |
I find it could be more useful to implement a portion of enriched category theory which is enriched in a symmetric monoidal category. one sweet spot is that opposites exist and that many categories are in fact symmetric monoidal, e.g. CCC, which is often seen in programming languages.
The text was updated successfully, but these errors were encountered: