身份类型的规范名称是什么?

时间:2016-04-30 21:14:48

标签: scala category-theory type-theory

我最近在这里回答了一个问题:How do I express this in Typescript?

以上是上述代码片段:

trait FooBar[M[_]] {
  val foo: M[Integer]
  val bar: M[String]
}

type Identity[X] = X
type A = FooBar[Identity]
type B = FooBar[Option]

我见过几次:

type Identity[X] = X

但是,在类别理论文献中,这个名称(一般是Identity类型还是这种技术)是什么? Lift是一个更好的名字吗?

1 个答案:

答案 0 :(得分:1)

在数学中,这被称为Identity Function

  

在数学中,身份函数(也称为身份关系或身份映射或身份转换)是一个始终返回用作其参数的相同值的函数。在等式中,函数由f(x)= x。

给出

更正式的数学定义如下:

  

正式地,如果M是一个集合,则f上的标识函数M被定义为具有域和codomain M的函数,其满足:{{1}对于M中的所有元素x,   换句话说,该函数为M的每个元素x分配M的元素x。

如果您专门研究类别理论定义,则称为Identity Morphism。维基百科价值谈论态射构成,然后将身份态射描述为:

  

身份:对于每个对象X,都存在一个态射id X :X→X称为身份