Category theory 将“最佳”产品类型映射到“次最佳”产品类型的唯一态射`m`真的是唯一的吗?

Category theory 将“最佳”产品类型映射到“次最佳”产品类型的唯一态射`m`真的是唯一的吗?,category-theory,Category Theory,我正在浏览Bartosz Milewski关于范畴理论的很棒的博客。我被卡在上面的那个上了 Bartosz说,两个物体a和b的乘积是带有两个投影的物体c,因此对于任何其他带有两个投影的物体c,从c'到c有一个唯一的态射m,它将这些投影分解 当然,我们可以在集合和函数的范畴中找到一个合适的例子。两种类型Int和Bool的乘积是Int对Bool。这两个投影是p int,=int和q,bool=bool。然而,Int和Bool的乘积还有另一个候选者:它是一种Int类型,投影为p'Int=Int和q'=

我正在浏览Bartosz Milewski关于范畴理论的很棒的博客。我被卡在上面的那个上了

Bartosz说,两个物体a和b的乘积是带有两个投影的物体c,因此对于任何其他带有两个投影的物体c,从c'到c有一个唯一的态射m,它将这些投影分解

当然,我们可以在集合和函数的范畴中找到一个合适的例子。两种类型Int和Bool的乘积是Int对Bool。这两个投影是p int,=int和q,bool=bool。然而,Int和Bool的乘积还有另一个候选者:它是一种Int类型,投影为p'Int=Int和q'=True。正如巴托斯所说:这很差劲,但符合标准。请注意,产品类型Int包含的值少于产品类型Int Bool。准确地说是一半。即使两种产品类型都可以映射到整个Int类型,但产品类型Int只能映射到Bool类型的一半。如果这个词对的话,它就不是满射的

因为我们可以得到一个mormphism::Int,Bool->Int,其中m只能作为m Int唯一实现,=Int,我们知道产品类型Int,Bool比Int好。在这一点上,我想知道:我们不能像m Int,=Int+1一样轻松实现m吗?这不是第二个有效的变形吗?或者这是不允许的,因为生成的产品Int实际上根本不是Int,而是Int移位了1

L

m中的箭头指向错误的方向。我们知道Int,Bool比Int好,因为我们有一个态射m::Int->Int,Bool,mx=x,True。它满足条件p。m==p'和q。m==q',这就是m分解p'和q'的意思。如果以任何其他方式定义m,则此条件将不成立

例如,如果它被定义为mx=x+1,则为True,那么pM0==1,但p'0==0


你的地图m’::Int,Bool->Int,如果它分解了p和q,也会指出Int是一个合适的乘积。但是组合q′。m'::Int,Bool->Bool总是返回True,所以它不能等于q。

非常清楚!你现在指出这似乎是一个明显的错误。非常感谢。