有限类别
本项目的目标是表示小的有限类别,以便自动对其进行常规构造(例如(co)极限、(co)完成、附加、kan扩展等)
目录
- 一般信息
- 技术
- 安装
- 协作
- 示例
一般信息
此软件包提供了在价值级别创建类别的工具。这与哈斯克category,其中类型是一个具有无限数量对象和箭头的类别中的对象,这里我们构造了一个类别,其中对象和箭头是任意值,以便我们可以在运行时更改类别。每个类别都按照类别结构公理实现两个功能:应收账
返回类别和的两个对象之间的箭头身份
返回对象的标识。每个有限类别
实现一个附加功能:对象
它返回类别的对象。由于这些函数,我们可以自动构造类别上的所有常见构造(极限和共线性、附加、Yoneda嵌入等)。函数与通常的不同Functor(仿真器)
类型类,我们将函子存储为对象和两个类别的形态之间的映射,这两个类别都尊重类别结构。
此软件包也与软件包不同数据类别
因为我们可以枚举一个类别中的对象和箭头。这允许我们为任意有限类别自动构造极限、连词、附加词等。另一方面,我们在编译时放松了类型检查,以确保在哈斯克,我们的包中的组合可能会导致在运行时出现错误。
另请参见
请参阅程序包有限类别图Viz
将类别导出为使用GraphViz创建的图像。
安装
只需运行cabal安装FiniteCategories
协作
感谢所有贡献!有关任何信息,请通过电子邮件与我联系。
用法
如果要手动构建小类别,请参见数学。有限类别。CompositionGraph(组成图)
它允许构造由图的路径上的同余关系的图商生成的自由范畴。功能readCGFile(读取CG文件)
允许构造CompositionGraph(组成图)
从简单文件,例如:
A-f->B-g->D=A-h->C-i->D
是标识两条对角线的方形类别。
要构造函子,请参见图表
在里面数学。有限类别。FunctorCategory(函数类别)
。您还可以使用读取CGD文件
从数学。有限类别。CompositionGraph(组成图)
:
<SRC>X(X)Y-1->Z</SRC><TGT>A-f->B-g->D=A-h->C-i->D</TGT>X=>AY-1->Z=>B-g->D
请参见数学。类别。圆锥分类
,数学。函数。副词
和数学。Functors公司。Kan扩展
构造常用范畴结构的有用函数。
示例
使用graphviz导出的类别如下图所示:
![类别](https://gitlab.utc.fr/gsabbagh/FiniteCategories/-/raw/master/Images/ExampleCategory.png)
下面显示了选择两个对象C和D的该类别图:
![图表](https://gitlab.utc.fr/gsabbagh/FiniteCategories/-/raw/master/Images/ExampleDiagram.png)
下图中的一个圆锥体,圆锥体的顶点为绿色,其支腿为黄色,图中的圆锥体为蓝色:
![圆锥体](https://gitlab.utc.fr/gsabbagh/FiniteCategories/-/raw/master/Images/ExampleCone.png)
极限锥如下所示,它是两个物体C和D的乘积。
![限制](https://gitlab.utc.fr/gsabbagh/FiniteCategories/-/raw/master/Images/ExampleLimit.png)