AlgebraicJulia / AlgebraicJulia/ACSets.jl
Morphisms between atttribute types in acset schema
- Langage dominant
- Julia
- Étoiles
- 36
- Forks
- 11
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
The category of attributes in the schema is assumed to be discrete, but it would helpful to allow the specification of morphisms.
For example, the schema for a free diagram is currently as defined:
```julia
@present TheoryFreeDiagram <: TheoryGraph begin
Ob::AttrType
Hom::AttrType
ob::Attr(V,Ob)
hom::Attr(E,Hom)
end
```
Since a free diagram is supposed to be a functor out of a freely generated category, it would be better to have:
```julia
@present TheoryFreeDiagram <: TheoryGraph begin
Ob::AttrType
Hom::AttrType
dom::AttrHom(Hom,Ob)
codom::AttrHom(Hom,Ob)
ob::Attr(V,Ob)
hom::Attr(E,Hom)
compose(src, ob) == compose(hom, dom)
compose(tgt, ob) == compose(hom, codom)
end
```
The intended interpretation is that whatever Julia types instantiate `Ob` and `Hom` should have methods `dom(::Hom)::Ob` and `codom(::Hom)::Ob` and then the instance data should satisfy the two equations.
At least to start with, this feature would be for documentation/specification purposes and would not provide any new functionality. Thoughts on this, @olynch?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Évaluation
Cette issue n'a pas encore été évaluée.