AlgebraicJulia / AlgebraicJulia/ACSets.jl

Morphisms between atttribute types in acset schema

Ouverte
#6 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
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.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.