-
Notifications
You must be signed in to change notification settings - Fork 18
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
Use CategoryOfRows as the range category of the homomorphism structure of CategoryOfColumns #1092
Conversation
I don't rely on this. |
…tes" This reverts commit 3e862f4. This was previously needed because CompilerForCAP resolved up to ObjectifyWithAttributes. Now we stop at CreateCap*WithAttributes so the object and morphism types do not appear in compiled code anymore.
8b58dc8
to
d368b4b
Compare
Codecov ReportBase: 78.64% // Head: 78.65% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## master #1092 +/- ##
=======================================
Coverage 78.64% 78.65%
=======================================
Files 494 494
Lines 63886 63845 -41
=======================================
- Hits 50244 50216 -28
+ Misses 13642 13629 -13
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
d368b4b
to
8b26b32
Compare
Me neither. Moreover, I like your suggestion since it implements the generic viewpoint (a B-homomorphism structure on A induces a B-homomorphism structure on A^{op}). |
Just to make sure I understand things correctly: any B-hom structure on A also induces a B^{op}-hom structure on A (and then of course also vice versa), correct? So equipping A^{op} with a B-hom structure and not with a B^{op}-hom structure is a choice, right? |
I don't think so. If anything, a resulting induced structure would be something like an "op-hom-structure", since you would have the equation Hom( a, b ) = Hom( H(a,b), 1) instead of Hom( a, b ) = Hom( 1, H(a,b) ). |
Ah, I didn't think far enough and did not notice that the 1 was in the wrong position. Then a new try to describe the situation: Rows has a hom-structure over itself induced by the internal hom. Analogously, it has a "co-hom-structure" over itself induced by the internal co-hom. By opping the range of the co-hom-structure and swapping the arguments of the co-hom-structure on objects and morphisms, we could obtain a Cols-hom-structure on Rows.
If you agree that those ideas make sense, I would open an issue for the support for "co-hom-structures". |
Yes, if you introduced a "co-hom-structure", then there would indeed be a choice in how A^{op} derives its hom-structure:
That would also be fine. Although I have no immediate need for a co-hom-structure yet. |
Thanks for your replies, I'm now every happy with this point of view :-)
Me neither, but asymmetries pop up now and then (e.g. in #917), so I think it's a good thing to keep track of them. And once we have #1078, adding opposite concepts is cheap because it comes down to just giving the definitions, everything else will be handled automatically. |
@ all: Is anyone relying on the fact that CategoryOfColumns has itself as the range of its homomorphism structure? If not, I suggest we use the CategoryOfRows as the range instead. This is what the implementation of
Opposite
automatically gives us, so we can drop some code, and it allows to revert two commits which only existed to make sure CategoryOfColumns could change its range category artificially.