n实验室判断平等

上下文

类型理论

自然扣除 元语言,实用基础

  1. 类型形成规则
  2. 术语引入规则
  3. 术语消除规则
  4. 计算规则

类型理论(依赖的,紧张的,观测类型理论,同伦型理论)

语法 目标语言

计算三位一体=
命题作为类型+程序作为证据+关系类型理论/范畴理论

逻辑集合论(内部逻辑第页,共页)范畴理论类型理论
命题设置对象类型
谓语集合族显示形态从属类型
证明要素广义元素学期/程序
切割规则作文属于对形态进行分类/拉回属于显示地图替代
引入规则对于含义科尼特用于hom传感器附加λ
消除规则对于含义单元用于hom传感器附加应用
切割消除对于含义其中一个锯齿形恒等式用于hom传感器附加β还原
身份消除含义其他的锯齿形身份用于hom传感器附加eta转换
真的单子终端对象/(-2)-截断对象h级0-类型/单元类型
空集合初始对象空类型
命题,真值subsingleton公司次终端对象/(-1)-截断对象h-命题,纯粹命题
逻辑连接笛卡尔积产品产品类型
分离不相交联合(支持第页,共页)副产物((-1)-截断第页,共页)总和类型(支架类型第页,共页)
含义功能集(到subsingleton公司)内部hom(到次终端对象)函数类型(到h-命题)
否定功能集进入之内空集合内部hom进入之内初始对象函数类型进入之内空类型
通用量化编入索引的笛卡尔积(属于子角体)从属产品(属于次终端对象)依赖产品类型(属于h-命题)
存在量词编入索引的不相交联合(支持第页,共页)相依和((-1)-截断第页,共页)相依和类型(支架类型第页,共页)
逻辑等价双射集同构对象等价类型
支架组支持对象/(-1)-截断命题截断/支架类型
n个图像属于态射进入之内终端对象/n截断n截断模态
平等对角线函数/对角线子集/对角线关系路径空间对象身份类型/路径类型
完全呈现集设置离散对象/0-截断对象h级2-类型/设置/h组
设置设置具有等价关系内部0-广群Bishop集合/刚毛状的用它伪等效关系实际的等价关系
等价类/商集合商类型
归纳上极限感应式,W型,M型
较高的归纳高等科利米特高电感型
-0截断 高等科利米特商归纳型
造币术限制共生产型
预设类型没有身份类型
设置属于真理价值观子对象分类器命题类型
话语领域宇宙对象分类器类型universe
模式闭合算子, (幂等的)单子模态类型理论,monad(计算机科学)
线性逻辑(对称的,关闭)单体范畴线性类型理论/量子计算
防护网字符串关系图量子电路
(缺少)收缩规律(缺少)对角线的无克隆定理
综合数学领域专用嵌入式编程语言

同伦能级

语义学

平等与对等

目录

想法

在任何类型理论,判断平等是平等定义为判断判断平等在单层次类型理论中最常用,如马丁·洛夫型理论高等观测类型理论用于制作归纳定义,但它也用于立方型理论单纯形理论定义探针形状(无穷大,1)-范畴在香草依赖型理论中无法统一定义的类型。

有两种不同的判断等式

类型的判断相等对于依赖型理论进行单独的类型判断。它的行为与平等之间在里面结构集合论,集之间的相等对于结构集理论来说是不必要的,因为可以简单地处理令人惊讶的事一对一通信组之间。类似地,在依赖型理论,一个人可以和定义同构或是关于类型的等价性而不是判断类型是否相等。

条款的判断平等

术语的判断相等性由以下判断给出:

  • Γ:A类\伽马\v灰分a\equiv a':a-a’在判断上是相等的、类型良好的术语A类A类在上下文中Γ\伽马射线.

有两种不同的术语判断平等概念可以区分:

在大多数情况下,都使用了严格的术语判断等式依赖型理论.术语的弱判断等式可用于弱类型理论,其中直接翻译为推理规则中类型的马丁·洛夫型理论导致Martin-Löf型理论的弱版本。

术语的判断相等性可以与命题等式条件,其中相等是命题在某种意义上一阶逻辑、和典型的平等条件,其中相等是类型.

判断平等性弱

术语的弱判断相等性仅由反射规则给出身份类型:

Γ:A类Γδ ,:= A类\压裂{\Gamma\vdash a\equiv a':a}{\Gamma\vdash\delta_{a,a'}:a=_a a'}

严格的判断平等

严格的判断平等是一种等价关系:

  • 判断平等的自反性
ΓA类类型Γ:A类Γ:A类\压裂{\Gamma\vdash A\;\mathrm{type}\quad\Gamma\vdash A:A}{\Gamma\vdash-A\equiv A:A{
  • 判断平等的对称性

    ΓA类类型Γb条:A类Γb条:A类\裂缝{\Gamma\vdash A\;\mathrm{type}\quad\Gamma\vdash A\equiv b:A}{\Gamma\vdash-b\equiv-A:A}
  • 判断平等的及物性

    ΓA类类型Γb条:A类b条c(c):A类Γc(c):A类\压裂{\Gamma\vdash A\;\mathrm{type}\quad\Gamma\vdash A\equiv b:A\quad b\equiv-c:A}{\Gamma\vdash-A\equivc:A}

此外,严格判断术语的相等性有替换的一致性规则替代原则:

  • 判断平等条款的替代原则:
    Γb条:A类Γ,x个:A类,Δc(c)(x个):B类Γ,Δ()c(c)()c(c)(b条):B类\压裂{\Gamma\vdash a\equiv b:a\quad\Gamma,x:a,\Delta\vdash c(x):b}{\Gamma,\Delta(a)\vdash-c(a)\ equiv c(b):b{

如果有单独的类型 判断,那么对于类型族的替换原则也有一个单独的规则。

如果一个人有判断类型的相等性,那么替换为类型族的原则由下式给出

ΓA类类型Γb条:A类Γ,x个:A类,ΔB类(x个)类型Γ,Δ()B类()B类(b条)类型\压裂{\Gamma\vdash A\;\mathrm{type}\quad\Gamma\vdash A\equiv b:A\quad_Gamma,x:A,\Delta\vdash b(x)\;\mathrm{type}}{\Gamma,\Delta(a)\vdash B(a)\等价B(B)\;\mathrm}type}}

这意味着弱判断等式的反射规则,因为可以导出以下规则:

Γb条:A类Γ回流 A类():= A类b条\压裂{\Gamma\vdash a\equiv b:a}{\Gamma\vdash\mathrm{反射}_A(a) :a=a b}

否则,类型族替换的原则如下所示定义运输作为显式转换:

ΓA类类型Γb条:A类Γ,x个:A类,ΔB类(x个)类型Γ,Δ()信托收据 B类() b条:B类()B类(b条)\压裂{\Gamma\vdash A\;\mathrm{type}\quad\Gamma\vdash A\equiv b:A\quad_Gamma,x:A,\Delta\vdash b(x)\;\mathrm{type}}{\Gamma,\Delta(a)\vdash\mathrm{tr}_{B(-)}^{a\equiv B}:B(a)\cong B(B)}

哪里A类B类A\丛B定义同构类型使用定义自然扣除 推理规则。如果没有定义同构,可以通过组件定义它

ΓA类类型Γb条:A类Γ,x个:A类,ΔB类(x个)类型Γ,:B类(),Δ()信托收据 B类() b条():B类(b条)\压裂{\Gamma\vdash A\;\mathrm{type}\quad\Gamma\vdash A\equiv b:A\quad_Gamma,x:A,\Delta\vdash b(x)\;\mathrm{type}}{\Gamma,y:B(a),\Delta(a)\vdash\mathrm{tr}_{B(-)}^{a\等于B}(y):B(B)}
ΓA类类型Γ:A类Γ,x个:A类,ΔB类(x个)类型Γ,:B类(),Δ()信托收据 B类() ():B类()\裂缝{\Gamma\vdash A\;\mathrm{type}\quad\Gamma\v裂缝A:A\quad_Gamma,x:A,\Delta\v裂缝B(x)\;\mathrm{type}}{\Gamma,y:B(a),\Delta(a)\vdash\mathrm{tr}_{B(-)}^{a\等于a}(y)\等于y:B(a)}
ΓA类类型Γb条:A类Γ,x个:A类,ΔB类(x个)类型Γ,:B类(),Δ()信托收据 B类() b条(信托收据 B类() b条()):B类()\压裂{\Gamma\vdash A\;\mathrm{type}\quad\Gamma\vdash A\equiv b:A\quad_Gamma,x:A,\Delta\vdash b(x)\;\mathrm{type}}{\Gamma,y:B(a),\Delta(a)\vdash\mathrm{tr}_{B(-)}^{B\equiv a}(\mathrm{tr}_{B(-)}^{a\等B}(y))\等y:B(a)}
ΓA类类型Γb条:A类Γb条c(c):A类Γ,x个:A类,ΔB类(x个)类型Γ,:B类(),Δ()信托收据 B类() b条c(c)(信托收据 B类() b条())信托收据 B类() c(c)():B类(c(c))\压裂{\Gamma\vdash A\;\mathrm{type}\quad\Gamma\vdash A\equiv b:A\quad\\Gamma\ vdash b\equiv c:A\quad\Gamma,x:A,\Delta\vdash-b(x)\;\mathrm{type}}{\Gamma,y:B(a),\Delta(a)\vdash\mathrm{tr}_{B(-)}^{B\equiv c}(\mathrm{tr}_{B(-)}^{a\equiv B}(y))\equiv\mathrm{tr}_{B(-)}^{a \ equiv c}(y):B(c)}

这表明,跨判断平等的传递形成了广群.

不管怎样,这也意味着弱判断等式的反射规则,因为可以导出以下规则

Γb条:A类Γ信托收据 = A类() b条(回流 A类()):= A类b条\frac{\Gamma\vdash a\equiv b:a}{\Gamma\vdash\mathrm{tr}_{a=_a(-)}^{a\equiv b}(\mathrm{参考}_A(a) ):a=a b}

同样,对于一个术语c(c)(x个):B类(x个)c(x):B(x)依赖于x个:A类x: A类如果一个人有判断类型的相等性,那么跨c(c)(x个)c(x)由规则给出:

ΓA类类型Γb条:A类Γ,x个:A类,Δc(c)(x个):B类(x个)Γ,Δ(b条)c(c)()c(c)(b条):B类(b条)\裂缝{\Gamma\vdash A\;\mathrm{type}\quad\Gamma\vdash A\equiv b:A\quad_Gamma,x:A,\Delta\vdash-c(x):b(x)}{\Gamma,\Delta(b)\vdash-c(A)\equiv-c(b):b(b)}

否则,它是由标识的功能应用:

ΓA类类型Γb条:A类Γ,x个:A类,Δc(c)(x个):B类(x个)Γ,Δ(b条)信托收据 B类() b条(c(c)())c(c)(b条):B类(b条)\裂缝{\Gamma\vdash A\;\mathrm{type}\quad\Gamma\vdash A\equiv b:A\quad_Gamma,x:A,\Delta\vdashc(x):b(x)}{\Gamma,\Delta(b)\vdash\mathrm{tr}_{B(-)}^{a\等B}(c(a))\等c(B):B(B)}

在计算和唯一性规则中

术语的判断相等性可用于计算规则唯一性规则类型的:

  • 从属产品类型的计算规则:
Γ,x个:A类b条(x个):B类(x个)Γ:A类Γλ(x个:A类).b条(x个)()b条():B类()\压裂{\Gamma,x:A\vdash b(x):b(x)\quad\Gamma\vdash-A:A}{\Gamma\vdash\lambda(x:A).b(x)(A)\equiv b(A):b(A)}
  • 相关产品类型的唯一性规则:
Γ如果: x个:A类B类(x个)Γ如果λ(x个).如果(x个): x个:A类B类(x个)\压裂{\Gamma\vdash f:\prod_{x:A}B(x)}{\Gamma\vdash f\equiv\lambda(x).f(x):\prod_{x:A}B
  • 负相依和类型的计算规则:
Γ,x个:A类B类(x个)类型Γ:A类Γb条:B类()Γπ 1(,b条):A类Γ,x个:A类B类(x个)类型Γ:A类Γb条:B类()Γπ 2(,b条)b条:B类()\压裂{\Gamma,x:A\vdash B(x)\;\mathrm{type}\quad\Gamma\vdasha:A\quad_Gamma\vdash B:B(A)}{\Gamma\vdash\pi_1(A,B)\equiv A:A}\qquad\frac{\Garma,x:A\vdash B(x)\等于B:B(A)}

如果没有判断类型相等,则必须对第二个计算规则使用跨判断相等的传输:

Γ,x个:A类B类(x个)类型Γ:A类Γb条:B类()Γ信托收据 B类() π 1(,b条)(π 2(,b条))b条:B类()\裂缝{\Gamma,x:A\vdash B(x)\;\mathrm{type}\quad\Gamma\vdasha:A\quad_Gamma\vdash B:B(A)}{\Gamma\vdash\mathrm{tr}_{B(-)}^{\pi_1(a,B)\equiv a}(\pi_2(a,B))\equiv B:B(a)}
  • 负相依和类型的唯一性规则:
Γz(z): x个:A类B类(x个)Γz(z)(π 1(z(z)),π 2(z(z))): x个:A类B类(x个)\frac{\Gamma\vdash z:\sum_{x:A}B(x)}{\Gamma\vdash z\equiv(\pi_1(z),\pi_2(z)):\sum_{x:A}B(x)}
  • 身份类型的计算规则:
Γ,:A类,b条:A类,第页:= A类b条C类(,b条,第页)类型Γt吨: c(c):A类C类(c(c),c(c),回流 A类(c(c)))Γ,c(c):A类J型(t吨,c(c),c(c),回流(c(c)))t吨:C类(c(c),c(c),回流 A类(c(c)))\裂缝{\Gamma,a:a,b:a,p:a=_Ab\vdash C(a,b,p)\;\mathrm{type}\quad\Gamma\vdasht:\prod_{C:a}C(C,C,\mathrm{参考}_A(c) )}{\Gamma,c:A\vdash J(t,c,c,\mathrm{ref}(c)){参考}_A(c) )}

类型的判断相等性

依赖型理论用一个单独的类型 判断,类型的判断相等性由以下判断给出:

  • ΓA类A类类型\伽马\vdash A\equiv A';\mathrm{type}-A类A类A类A’在上下文中判断是否为类型良好的类型Γ\伽马射线.

判断类型的平等性有两种不同的概念,可以加以区分:

  • 类型的弱判断相等只是类型等价的缩写

  • 严格判断类型的相等性可以被认为是使隐式胁迫属于等效类型作为亚型,并在整个类型理论中保留为同余.

在这两种情况下,类型的判断相等主要用于定义平等类型的。

判断平等性弱

类型的弱判断相等性由两组结构规则之一给出:

  • 判断相等类型的变量转换规则:
    ΓA类B类类型Γ,x个:A类,Δ𝒥Γ,x个:B类,Δ𝒥\裂缝{\Gamma\vdash A\equiv B\;\mathrm{type}\quad\Gamma,x:A,\Delta\vdash\mathcal{J}}{\Gama,x:B,\Delta \vdash\ mathcal}}

  • 判断相等类型之间的同构规则:
ΓA类B类类型Γ,x个:A类δ A类,B类(x个):B类ΓA类B类类型Γ,:B类δ A类,B类 1(x个):A类\压裂{\Gamma\vdash A\equiv B\;\mathrm{type}}{\Gama,x:A\vdash\delta_{A,B}(x):B}\qquad\frac{\Gamma\vdashA\equv B\
ΓA类B类类型Γ,x个:A类δ A类,B类 1(δ A类,B类(x个))x个:A类ΓA类B类类型Γ,:B类δ A类,B类(δ A类,B类 1()):B类\压裂{\Gamma\vdash A\equiv B\;\mathrm{type}}{\Gama,x:A\vdash\delta_{A,B}^{-1}等同:B}

在第一种情况下,可以根据变量转换规则、其他结构规则和函数类型的规则来构造同构:

根据判断相等类型的通用术语规则和变量转换规则A类A类A\等于A'我们有x个:A类x个:A类x: A'\v灰x:Ax个:A类x个:A类x: A\v现金x:A'根据函数类型的介绍和计算规则,我们有函数λx个:A类.x个:A类A类\λx:A'.x:A'到Aλx个:A类.x个:A类A类\λx:A.x:A\到A'使得

(λx个:A类.x个)((λx个:A类.x个)(x个))(λx个:A类.x个)(x个)x个:A类(λx:A'.x)((λx:A.x)(x))等于
(λx个:A类.x个)((λx个:A类.x个)(x个))(λx个:A类.x个)(x个)x个:A类(λx:A.x)((λx:A'.x)(x))等于

实现两个功能λx个:A类.x个\λx:A’。x个λx个:A类.x个\λx:A.x同构。

严格的判断平等

除了变量转换规则外,还有自反性、对称性和及物性规则,这些规则使类型和等价关系:

  • 判断平等的自反性
ΓA类类型ΓA类A类类型\裂缝{\Gamma\vdash A\;\mathrm{type}}{\Gamma\vdash-A\equiv A\;\ mathrm}type}}
  • 判断平等的对称性

    ΓA类B类类型ΓB类A类类型\裂缝{\Gamma\vdash A\equiv B\
  • 判断平等的及物性

    ΓA类B类类型ΓB类C类类型ΓA类C类类型\压裂{\Gamma\vdash A\equiv B\;\mathrm{type}\quad\Gamma\vdash B\equiv-C\;\mathrm{type}}{\Gamma\vdash A\equiv C\;\mathrm}type}}

判断类型相等的同余规则

此外,严格的判断平等同余规则对于类型理论中的每一种类型。

  • 依赖函数类型的同余规则
ΓA类A类类型Γ,x个:A类B类(x个)B类(x个)类型Γ x个:A类B类(x个) x个:A类B类(x个)类型\压裂{\开始{array}{c}\伽马\vdash A\equiv A';\mathrm{type}\quad\Gamma,x:A\vdash B(x)\equiv B'(x)\;\mathrm{type}\结束{数组}}{\Gamma\vdash\prod_{x:A}B(x)\equiv\prod_{x:A’}B’(x)\;\数学{type}}
ΓA类类型Γ,x个:A类B类(x个)类型Γ,x个:A类b条(x个):B类(x个)Γ,x个:A类b条(x个):B类(x个) Γ,x个:A类b条(x个)b条(x个):B类(x个)Γλx个:A类.b条(x个)λx个:A类.b条(x个): x个:A类.B类(x个)\压裂{\开始{array}{c}\伽马\vdash A\;\mathrm{type}\quad\Gamma,x:A\vdash B(x)\;\mathrm{type}\quad\Gamma,x:A\vdash b(x):b(x)\quad\\Gamma\伽马,x:A\vdash b(x)\equiv b'(x):b(x)\结束{数组}}{\Gamma\vdash\lambda x:A.b(x)\equiv\lambda x:A.b'(x):\prod_{x:A}。B(x)}
ΓA类类型Γ,x个:A类B类(x个)类型Γ如果: x个:A类B类(x个)如果: x个:A类B类(x个) Γ如果如果: x个:A类B类(x个)Γ,x个:A类如果(x个)如果(x个):B类(x个)\压裂{\开始{array}{c}\伽马\vdash A\;\mathrm{type}\quad\Gamma,x:A\vdash B(x)\;\mathrm{type}\quad\Gamma\vdash f:\prod_{x:A}B(x)\quad f':\prod_{x:A}B(x)\\\伽马\vdash f\equiv f':\prod_{x:A}B(x)\结束{数组}}{\Gamma,x:A\vdash f(x)\equiv f'(x):B(x)}
ΓA类类型Γ,x个:A类B类(x个)类型Γ,x个:A类b条(x个):B类(x个)Γ,x个:A类b条(x个):B类(x个) Γ,x个:A类b条(x个)b条(x个):B类(x个)Γβ A类,B类x个:A类.b条(x个)β A类,B类x个:A类.b条(x个): x个:A类b条(x个)= B类(x个)(λx个:A类.b条(x个))(x个)\压裂{\开始{array}{c}\伽马\vdash A\;\mathrm{type}\quad\Gamma,x:A\vdash B(x)\;\mathrm{type}\quad\Gamma,x:A\vdash b(x):b(x)\quad\\Gamma\伽马,x:A\vdash b(x)\equiv b'(x):b(x)\结束{数组}}{\Gamma\vdash\β_{\prod}^{A,B}x:A.B(x)\equiv\β_{\prod}^{A,B}x:A.B'(x):\prod_{x:A}B(x)=_{B(x)}(λx:A.B(x))(x)}
ΓA类类型Γ,x个:A类B类(x个)类型Γ,x个:A类B类(x个)类型 Γ,x个:A类B类(x个)B类(x个)类型Γη A类,B类η A类,B类: 如果: x个:A类B类(x个)如果= x个:A类B类(x个)λx个:A类.如果(x个)\压裂{\开始{array}{c}\伽马\vdash A\;\mathrm{type}\quad\Gamma,x:A\vdash B(x)\;\mathrm{type}\quad\Gamma,x:A\vdash B'(x)\;\mathrm{type}\\\伽马,x:A\vdash B(x)\equiv B'(x)\;\mathrm{type}\结束{数组}}{\Gamma\vdash\eta_{\prod}^{A,B}\equiv\eta_{\prod}^{A,B'}:\prod_{f:\prod_{x:A}B(x)}f=_{\prod_{x:A}B
  • 依赖对类型的同余规则:
ΓA类A类类型Γ,x个:A类B类(x个)B类(x个)类型Γ x个:A类B类(x个) x个:A类B类(x个)类型\压裂{\开始{array}{c}\伽马\vdash A\equiv A';\mathrm{type}\quad\Gamma,x:A\vdash B(x)\equiv B'(x)\;\mathrm{type}\结束{数组}}{\Gamma\vdash\sum_{x:A}B(x)\equiv\sum_{x:A'}B'(x)\;\数学{type}}
ΓA类A类类型Γ,x个:A类B类(x个)B类(x个)类型Γ,x个:A类,:B类(x个)一对 A类,B类一对 A类,B类: x个:A类B类(x个)\压裂{\开始{array}{c}\伽马\vdash A\equiv A';\mathrm{type}\quad\Gamma,x:A\vdash B(x)\equiv B'(x)\;\mathrm{type}\结束{数组}}{\伽马,x:A,y:B(x)\vdash\mathrm{配对}_{\sum}^{A,B}\equiv\mathrm{配对}_{\sum}^{A',B'}:\sum_{x:A}B(x)}
ΓA类A类类型Γ,x个:A类B类(x个)B类(x个)类型Γ,z(z): x个:A类B类(x个)C类(z(z))C类(z(z))类型Γ印度 A类,B类,C类印度 A类,B类,C类: : x个:A类 :B类(x个)C类(一对 A类,B类(x个,)) z(z): x个:A类B类(x个)C类(z(z))\压裂{\开始{array}{c}\伽马\vdash A\equiv A';\mathrm{type}\quad\Gamma,x:A\vdash B(x)\equiv B'(x)\;\mathrm{type}\quad\Gamma,z:\sum_{x:A}B(x)\vdash C(z)\equiv C'(z)\;\mathrm{type}\结束{数组}}{\Gamma\vdash\mathrm{ind}(索引)_{\sum}^{A,B,C}\equiv\mathrm{ind}_{\sum}^{A',B',C'}:\prod_{g:\prod_{x:A}\prod_{y:B(x)}C(\mathrm{配对}_{\sum}^{A,B}(x,y))}\prod_{z:\sum_{x:A}B(x)}C(z)}
ΓA类A类类型Γ,x个:A类B类(x个)B类(x个)类型Γ,z(z): x个:A类B类(x个)C类(z(z))C类(z(z))类型Γβ A类,B类,C类β A类,B类,C类: : x个:A类 :B类(x个)C类(一对 A类,B类(x个,)) x个:A类 :B类(x个)印度 A类,B类,C类(,一对 A类,B类(x个,))= C类(一对 A类,B类(x个,))(x个,)\压裂{\开始{array}{c}\伽马\vdash A\equiv A';\mathrm{type}\quad\Gamma,x:A\vdash B(x)\equiv B'(x)\;\mathrm{type}\quad\Gamma,z:\sum_{x:A}B(x)\vdash C(z)\equiv C'(z)\;\mathrm{type}\结束{数组}}{\Gamma\vdash\beta_{\sum}^{A,B,C}\equiv\beta_{\sum}^{A',B',C'}:\prod_{g:\prod_{x:A}\prod_{y:B(x)}C(\mathrm{对}_{\sum}^{A,B}(x,y))}\prod_{x:A}\prod_{y:B(x)}\mathrm{ind}(索引)_{\sum}^{A,B,C}(g,\mathrm{配对}_{\sum}^{A,B}(x,y))=_{C(\mathrm{配对}_{\总和}^{A,B}(x,y))}g(x,y)}
  • 标识类型的一致性规则:
ΓA类A类类型Γ,x个:A类,:A类x个= A类x个= A类\裂缝{\Gamma\vdash A\equiv A'\;\mathrm{type}}{\Garma,x:A,y:A\vdashx=_Ay\equivx=_{A'}y}
ΓA类A类类型Γ回流 A类回流 A类: x个:A类x个= A类x个\裂缝{\Gamma\vdash A\equiv A'\;\mathrm{type}}{\Gamma\vdash\mathrm{参考}_A\equiv\mathrm公司{参考}_{A'}:\prod_{x:A}x=_Ax}
ΓA类A类类型Γ,x个:A类,:A类,第页:x个= A类C类(x个,,第页)C类(x个,,第页)类型Γ印度 = A类,C类印度 = A类,C类: t吨: x个:A类C类(x个,x个,回流 A类(x个)) x个:A类 :A类 第页:x个= A类C类(x个,,第页)\压裂{\开始{array}{c}\伽马\vdash A\equiv A';\mathrm{type}\quad\Gamma,x:A,y:A,p:x=_Ay\vdash C(x,y,p)\equiv C'(x,y,p)\;\mathrm{type}\结束{数组}}{\Gamma\vdash\mathrm{ind}(索引)_{=}^{A,C}\equiv\mathrm{ind}(索引)_{=}^{A',C'}:\prod_{t:\prod_{x:A}C(x,x,\mathrm{参考}_A(x) )}\prod_{x:A}\pro1_{y:A}\trod_{p:x=_Ay}C(x,y,p)}
ΓA类A类类型Γ,x个:A类,:A类,第页:x个= A类C类(x个,,第页)C类(x个,,第页)类型Γβ 印度 = A类,C类β 印度 = A类,C类: t吨: x个:A类C类(x个,x个,回流 A类(x个)) x个:A类印度 = A类,C类(t吨,x个,x个,反射 A类(x个))= C类(x个,x个,回流 A类(x个))t吨(x个)\压裂{\开始{array}{c}\伽马\vdash A\equiv A';\mathrm{type}\quad\Gamma,x:A,y:A,p:x=_Ay\vdash C(x,y,p)\equiv C'(x,y,p)\;\mathrm{type}\结束{数组}}{\Gamma\vdash\beta_{\mathrm{ind}(索引)_=}^{A,C}\equiv\beta_{\mathrm{ind}(索引)_=}^{A',C'}:\prod_{t:\prod_{x:A}C(x,x,\mathrm{参考}_A(x) )}\prod_{x:A}\mathrm{ind}(索引)_{=}^{A,C}(t,x,x,\mathrm{参考}_A(x) )={C(x,x,\mathrm{参考}_A(x) )}t(x)}
  • 空类型的同余规则:
Γ,x个:C类(x个)C类(x个)类型Γ印度 C类印度 C类: x个:C类(x个)类型\压裂{\Gamma,x:\emptyset\vdash C(x)\equiv C'(x)\;\mathrm{type}}{\Gamma\vdash\mathrm{ind}(索引)_\空集^C\equiv\mathrm{ind}(索引)_\空集^{C'}:\prod_{x:\emptyset}C(x)\;\数学{type}}
  • 布尔类型的同余规则:
Γ,x个:𝟚C类(x个)C类(x个)类型Γ印度 𝟚 C类印度 𝟚 C类: :C类(0) b条:C类(1) x个:𝟚C类(x个)\裂缝{\Gamma,x:\mathbb{2}\vdash C(x)\equiv C'(x)\;\mathrm{type}}{\Gamma\vdash\mathrm{ind}(索引)_\mathbb{2}^C\equiv\mathrm{ind}_\mathbb{2}^{C'}:\prod_{a:C(0)}\prod_{b:C(1)}\prod_{x:\mathbb}2}}C(x)}
Γ,x个:𝟚C类(x个)C类(x个)类型Γβ 𝟚 0,C类β 𝟚 0,C类: :C类(0) b条:C类(1)印度 𝟚 C类(,b条,0)= C类(0)\裂缝{\Gamma,x:\mathbb{2}\vdash C(x)\equiv C'(x)\;\mathrm{type}}{\Gamma\vdash\beta_\mathbb{2}^{0,C}\equiv\beta_2}^{0,C'}:\prod_{a:C(0)}\prod_{b:C(1)}\mathrm{ind}(索引)_\mathbb{2}^C(a,b,0)=_{C(0)}a}
Γ,x个:𝟚C类(x个)C类(x个)类型Γβ 𝟚 1,C类β 𝟚 1,C类: :C类(0) b条:C类(1)印度 𝟚 C类(,b条,1)= C类(1)b条\裂缝{\Gamma,x:\mathbb{2}\vdash C(x)\equiv C'(x)\;\mathrm{type}}{\Gamma\vdash\beta_\mathbb{2}^{1,C}\equiv\beta_2}^{1,C'}:\prod_{a:C(0)}\prod_{b:C(1)}\mathrm{ind}(索引)_\mathbb{2}^C(a,b,1)=_{C(1)}b}
  • 自然数类型的同余规则:
Γ,x个:C类(x个)C类(x个)类型Γ印度 C类印度 C类: c(c) 0:C类(0) c(c) : x个:C类(x个)C类((x个)) x个:C类(x个)\裂缝{\Gamma,x:\mathbb{N}\vdash C(x)\equiv C'(x)\;\mathrm{type}}{\Gamma\vdash\mathrm{ind}(索引)_\mathbb{N}^C\equiv\mathrm{ind}(索引)_\mathbb{N}^{C'}:\prod_{C_0:C(0)}\prod_
Γ,x个:C类(x个)C类(x个)类型Γβ 0,C类β 0,C类: c(c) 0:C类(0) c(c) : x个:C类(x个)C类((x个))印度 C类(c(c) 0,c(c) ,0)= C类(0)c(c) 0\裂缝{\Gamma,x:\mathbb{N}\vdash C(x)\equiv C'(x)\;\mathrm{type}}{\Gamma\vdash\beta_\mathbb{N}^{0,C}\equiv\betae\mathbb}N}^0,C'}:\prod_{C_0:C(0)}\prod\C_s:\prod_{x:\mathbb{N}}C(x)\ to C(s(x))}\mathrm{ind}(索引)_\矩阵{N}^C(c0,cs,0)=_{C(0)}c0}
Γ,x个:C类(x个)C类(x个)类型Γβ ,C类β ,C类: c(c) 0:C类(0) c(c) : x个:C类(x个)C类((x个)) x个:印度 C类(c(c) 0,c(c) ,(x个))= C类((x个))c(c) (x个)(印度 C类(c(c) 0,c(c) ,x个))\裂缝{\Gamma,x:\mathbb{N}\vdash C(x)\equiv C'(x)\;\mathrm{type}}{\Gamma\vdash\beta_\mathbb{N}^{s,C}\equiv\betae\mathbb}N}^},C'}:\prod_{C_0:C(0)}\prod_{C:\prod_{x:\mathbb{N}}C(x)\ to C(s(x){ind}(索引)_\mathbb{N}^C(c0,C_s,s(x))=_{C(s(x))}C_s(x)(\mathrm{ind}(索引)_\矩阵{N}^C(C_0,C_s,x))}

类似地,我们对每个公理在从属类型理论中,例如

ΓA类A类类型Γ,x个:A类B类(x个)B类(x个)类型Γ多功能文字 A类,B类funext(复数) A类,B类: 如果; x个:A类B类(x个) : x个:A类B类(x个)(如果= x个:A类B类(x个)) x个:A类如果(x个)= B类(x个)(x个)\裂缝{\Gamma\vdash A\equiv A'\;\mathrm{type}\quad\Gamma,x:A\vdash-B(x)\equiv-B'(x)\;\mathrm{type}}{\Gamma\vdash\mathrm{funext}_{A,B}\equiv\mathrm{funext}_{A',B'}:\prod_{f;\prod_{x:A}B(x)}\prod\g:\pro1_{x:A}B
ΓA类A类类型Γ,x个:A类B类(x个)B类(x个)类型Γ,x个:A类,:B类(x个)C类(x个,)C类(x个,)类型Γ选择 A类,B类,C类选择 A类,B类,C类:(isSet(设置)(A类)× x个:A类isSet(设置)(B类(x个)))x个:A类.:B类(x个).C类(x个,): x个:A类B类(x个).x个:A类.C类(x个,(x个))\裂缝{\Gamma\vdash A\equiv A'\;\mathrm{type}\quad\Gamma,x:A\vdash-B(x)\equiv-B'(x)\;\mathrm{type}\quad\Gamma,x:A,y:B(x)\vdash C(x,y)\equiv C'(x,y)\;\mathrm{type}}{\Gamma\vdash\mathrm{选择}_{A,B,C}\equiv\mathrm{选择}_{A',B',C'}:\left(\mathrm{isSet}(A)\times\prod_{x:A}\mathrm{isSet{(B(x))\right)\to\对于所有x:A。C(x,y)\to\存在g:\prod_{x:A}B(x)。\对于所有x:A.C(x,g(x))}

语境的判断平等

在一些依赖型理论,也有判断平等上下文,如下所示判断:

  • ΓΓctx公司\伽马\equiv\Gamma';\数学{ctx}-Γ\伽马射线Γ\伽马射线'在判断上是平等的。

除了变量转换规则外,还有自反性、对称性和及物性规则,使得上下文的判断相等性等价关系:

  • 判断平等的自反性
Γctx公司ΓΓctx公司\裂缝{\Gamma\;\mathrm{ctx}}{\Gamma\equiv\Gamma;\mathrm{ctx}}
  • 判断平等的对称性

    ΓΔctx公司ΔΓctx公司\裂缝{\Gamma\equiv\Delta\;\mathrm{ctx}}{\Delta\equiv \Gamma\;\mathrm{ctx}}
  • 判断平等的及物性

    ΓΔctx公司ΔΞctx公司ΓΞctx公司\压裂{\Gamma\equiv\Delta\;\mathrm{ctx}\quad\Delta\equiv \Xi\;\mathrm{ctx}}{\Gamma\equiv\Xi\;\mathrm{ctx}}

另请参见

工具书类

  • 罗宾·亚当斯,判断相等的纯型系统《函数编程杂志》,第16卷第2期(2006年)(网状物)

  • 文森特·塞尔斯(Vincent Siles)、雨果·赫伯林(Hugo Herbelin)、,等式在半完全纯类型系统中是可类型化的(pdf格式)

  • 埃格伯特·里杰克,同伦类型理论简介《剑桥高等数学研究》,剑桥大学出版社(pdf格式)(478页)

上次修订时间:2024年5月17日12:40:03。请参阅历史获取所有贡献的列表。