-
Notifications
You must be signed in to change notification settings - Fork 58
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
Make pointed-set categories and schemas actually pointed #857
base: main
Are you sure you want to change the base?
Conversation
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.
Thanks for the PR. With the idea that Catlab.Theories
should contain a hierarchy of plausibly useful theories even if we don't immediately need them, I might suggest having:
ThPointedSetCategory
for a category enriched in pointed sets, as beforeThPointedCategory
for a pointed category inherits fromThPointedSetCategory
, adding the zero objects.
""" | ||
@theory ThPointedSetCategory{Ob,Hom} <: ThCategory{Ob,Hom} begin | ||
@theory ThPointedCategory{Ob,Hom} <: ThCategory{Ob,Hom} begin | ||
ZeroOb()::Ob |
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.
Our convention for term constructors in Catlab.Theories
is that they are lowercase.
zeromap(A,B)::Hom(A,B)⊣(A::Ob,B::Ob) | ||
compose(zeromap(A,B),f::(B→C))==zeromap(A,C)⊣(A::Ob,B::Ob,C::Ob) | ||
compose(g::(A→B),zeromap(A,B))==zeromap(A,C)⊣(A::Ob,B::Ob,C::Ob) | ||
|
||
#f == g ⊣ (A::Ob,f::Hom(A,ZeroOb()),g::Hom(A,ZeroOb())) | ||
#f == g ⊣ (B::Ob,f::Hom(ZeroOb(),B),g::Hom(ZeroOb(),B)) |
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.
Why have commented out axioms?
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.
Documentation on your documentation.
I original left out zero objects in
PtdSetCategory
andPtdSetSchema
but now I want theAttr
side to be allowed to have a zero object so that I can pull attrs out of a hat that aren't in the source schema; I'm not sure whether I really need the zero object in the combinatorial side yet but why tempt fate?