AlgebraicJulia / AlgebraicJulia/ACSets.jl
Morphisms between atttribute types in acset schema
- 主要語言
- Julia
- 星號
- 36
- 分支
- 11
- PR 合併指標
- 30 天內沒有已合併 PR
描述
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?
貢獻指南
這個儲存庫沒有索引到貢獻指南
評估
這個 Issue 還沒有評估資料。