mathlib
mathlib copied to clipboard
feat(category_theory/category/Pointed): `Pointed` is a monoidal category
Provide the monoidal_category
and symmetric_category
instances for Pointed
.
This is mostly an exercise for me to see whether I understand monoidal categories. Please suggest missing API. I tried to do the same for PartialFun
over at branch PartialFun_monoidal
but obviously
timed out. ~~Can I somehow use that PartialFun ≌ Pointed
to transfer the monoidal structure?~~ No, because that doesn't give the right monoidal structure.
We discussed this offline, but for the sake of a record, the equivalence PartialFun ≌ Pointed
isn't useful to transfer the monoidal structure, as the equivalence doesn't give you the nice monoidal structure unfortunately (in other words the correct monoidal structure on both sides means that the equivalence isn't a monoidal one)
Seems to have been a spurious CI failure, and I couldn't re-run failed jobs, so I've merge master to restart CI.
bors d+
:v: YaelDillies can now approve this pull request. To approve and merge a pull request, simply reply with bors r+
. More detailed instructions are available here.
Let me just say that since Bhavik's last review we figured out that this isn't the usual literature tensor operation on Pointed
. Rather, it should be the "smash sum", the wedge from algebraic topology. I have it on a branch, so I can update this PR to use this instead, but then what should I do with the material in this PR?
Options:
- Just drop this PR, if it isn't needed for something else you're doing, and this can be revisited in Mathlib when needed.
- Merge as is, adding a note that this is the Cartesian monoidal structure, rather than the smash monoidal structure.
I'm inclined to drop: this construction would probably be better done as defining PointedObject
for an arbitrary category with a terminal object, in any case.