AlgebraicJulia / GATlab.jl

GATlab: a computer algebra system based on generalized algebraic theories (GATs)
https://algebraicjulia.github.io/GATlab.jl/
MIT License
24 stars 2 forks source link

C-Sets #20

Open olynch opened 1 year ago

olynch commented 1 year ago

We can write out the theory of a copresheaf on a given schema by writing the schema as an extension of the theory of categories, writing out the theory of a copresheaf as an extension of categories, and then taking their pushout.

We should then have C-Sets be models of this theory, and then the API for C-Sets can come from the generic API for a model of a theory.

This requires some extensions to what it means to be a model, however.

jpfairbanks commented 1 year ago

Is this:

There should be optional methods which return all of the elements of a certain type, or which return all of the generators of a certain type. This is not always possible for all models, but would be useful for some models.

feature necessary to get the parts(G, :V) api to work?

olynch commented 1 year ago

Yeah, exactly