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
[Merged by Bors] - feat(category_theory/monoidal): the monoidal coherence theorem #7324
Conversation
| ρ_inv_hom {X} : hom_equiv ((hom.ρ_inv X).comp (hom.ρ_hom X)) (hom.id _) | ||
| ρ_naturality {X Y} (f : X ⟶ᵐ Y) : hom_equiv | ||
((f.tensor (hom.id unit)).comp (hom.ρ_hom Y)) ((hom.ρ_hom X).comp f) | ||
| l_hom_inv {X} : hom_equiv ((hom.l_hom X).comp (hom.l_inv X)) (hom.id _) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a reason you use l
instead of \lambda
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It appears that constructors of inductive types aren't allowed to start with the symbol λ
. The error message is invalid introduction rule, atomic identifier expected
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gebner, is this a restriction that could easily be lifted?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not really a restriction per se, λ_hom_inv
just means something different, namely a lambda with an argument called _hom_inv
. You can use French quotes though:
inductive Λ | «λ»
Imagine I don't want to read I'm saying it's really essential or useful to do so here: I'm just making sure I understand! |
I don't think this is true. To be precise, we get the However, I'm guessing that the If you really care about correctness of |
bors d+ |
✌️ TwoFX can now approve this pull request. To approve and merge a pull request, simply reply with |
bors r+ |
This PR contains a proof of the monoidal coherence theorem, stated in the following way: if `C` is any type, then the free monoidal category over `C` is a preorder. This should immediately imply the statement needed in the `coherence` branch.
Build failed (retrying...): |
This PR contains a proof of the monoidal coherence theorem, stated in the following way: if `C` is any type, then the free monoidal category over `C` is a preorder. This should immediately imply the statement needed in the `coherence` branch.
Pull request successfully merged into master. Build succeeded: |
This PR contains a proof of the monoidal coherence theorem, stated in the following way: if
C
is any type, then the free monoidal category overC
is a preorder.This should immediately imply the statement needed in the
coherence
branch.