4 个版本
0.2.2 | 2022年3月23日 |
---|---|
0.2.1 | 2022年3月23日 |
0.2.0 | 2022年3月23日 |
0.1.0 | 2022年3月23日 |
#2077 在 算法
43KB
832 行
Caso
交换图范畴理论求解器。
=== Caso 0.2 ===
Type `help` for more information.
> (A <-> B)[(A <-> C) -> (B <-> D)] <=> (C -> D)
(A <-> B)[(A <-> C) -> (B <-> D)] <=> (C <-> D)
要在您的终端中运行 Case,请输入
cargoinstall --examplecaso caso
然后,要运行
caso
语法
Caso 中的交换图使用以下语法编写
<左侧>[<顶部> -> <底部>] <=> <右侧>
此语法基于 路径语义 的表示法。
Caso 自动纠正方向错误,例如,当您输入 (a -> b)[(c -> a) -> ...] <=> ...
。中的 c
相对于 a
是错误的,因此 Caso 将其更正为 (a -> b)[(a <- c) -> ...] <=> ...
。
通过在箭头中计数 -
(1)和 =
(2)支持高阶同态。例如,<->
是 1-同构,而 <=>
是 2-同构。
同态 | 表示法 |
---|---|
方向 | -> |
反向方向 | <- |
正合 | ->> |
反向正合 | <<- |
单同态 | !-> |
反向单同态 | <-! |
右逆 | <->> |
左逆 | <<-> |
正合-单同态 | !->> |
反向正合-单同态 | <<-! |
同构 | <-> |
零 | <> |
如何求解三角形
可以使用恒等同态将三角形展开为交换方形。
例如
> (A <-> B)[(A -> C) -> (B -> C)] <=> (C -> C)
(A <-> B)[(A -> C) -> (B -> C)] <=> (C <-> C)
在这里,C -> C
是从 C
到自身的恒等态射。
设计
Caso 使用 Avalog 作为单调求解器。
Avalog 规则位于 "assets/cat.txt"。
自动化定理证明器使用以下步骤
- 解析表达式
- 构造交换方阵
- 使用范畴论规则扩展关于态射的知识
- 分析新知识并将其重新整合到交换方阵中
- 综合表达式。
依赖项
~350KB