gpt4 book ai didi

haskell - 类别中初始对象和终止对象之间的差异

转载 作者:行者123 更新时间:2023-12-03 17:55:12 24 4
gpt4 key购买 nike

Bartosz Milewski,在 Chapter 5 的终端对象部分强调以下内容

Notice that in this example the uniqueness condition is crucial, because there are other sets (actually, all of them, except for the empty set) that have incoming morphisms from every set. For instance, there is a Boolean-valued function (a predicate) defined for every type:

yes :: a -> Bool
yes _ = True

But Bool is not a terminal object. There is at least one more Bool-valued function from every type:

no :: a -> Bool
no _ = False

Insisting on uniqueness gives us just the right precision to narrow down the definition of the terminal object to just one type.


而这一切都来了 之后 初始对象部分,其中一个类似的观察结果是 不是 制成。
因此,我觉得我可能遗漏了初始对象和最终对象之间的关键区别。
根据我的理解,唯一性对于初始对象也很重要,因为我可以观察到还有其他集合(实际上是所有集合)对每个集合(空集除外)都有一个传出态射,但通常会有更多比一个这样的态射(除了一个去 ()
所以我的问题是:除了将它们连接到其他对象的箭头方向之外,初始对象和终端对象之间是否有任何区别,Bartosz 可能试图用引用的文本强调?
我知道这个问题,比如作者是什么意思?可能有点不合时宜,因为我们不在他的脑海中,但我想知道范畴论的人至少可以提出一些合理的假设。

最佳答案

that have an outgoing morphisms to every set (except the empty set)


这是关键部分。要求是每个集合都有传出态射 句号 .一个集合的存在足以破坏它。这就是为什么 Set 中的初始对象确实如此。已经定义明确,甚至不需要唯一性:空集是唯一具有指向空集的外向箭头的集合。
同时,每个非空集合都有来自真正每个集合(包括空集合)的传入箭头,但仅对于单元素集合,该箭头是唯一的。

关于haskell - 类别中初始对象和终止对象之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64719599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com