简单类型λ演算

编辑
本词条由“匿名用户” 建档。
简单类型的lambda演算(λ→{\\displaystyle\\lambda{\\to}})是类型理论的一种形式,是对只有一个类型构造函数(→{\\displaystyle\\to})构建函数类型。它是类型化lambda演算的典型且最简单的示例。简单类型的lambda演算最初是由AlonzoChurch在1940年提出的,目的是避免矛盾地使用无类型的lambda演算。 术语简单类型也用于指代简单...

简单类型λ演算

编辑

简单类型的 lambda 演算 ( λ → {\displaystyle \lambda {\to }} ) 是类型理论的一种形式,是对只有一个类型构造函数 ( → {\displaystyle \to } ) 构建函数类型。 它是类型化 lambda 演算的典型且最简单的示例。 简单类型的 lambda 演算最初是由 Alonzo Church 在 1940 年提出的,目的是避免矛盾地使用无类型的 lambda 演算。

术语简单类型也用于指代简单类型 lambda 演算的扩展,例如乘积、余积或自然数 (System T) 甚至完全递归(如 PCF)。 相反,引入多态类型(如系统 F)或依赖类型(如逻辑框架)的系统不被视为简单类型。 简单类型,除了完全递归,仍然被认为是简单的,因为这种结构的 Church 编码可以只使用 → {\displaystyle \to } 和合适的类型变量来完成,而多态性和依赖性则不能。

语法

编辑

在这篇文章中,符号 σ {\displaystyle \sigma } 和 τ {\displaystyle \tau } 用于表示类型范围。 非正式地,函数类型 σ → τ {\displaystyle \sigma \to \tau } 指的是函数类型,给定 σ {\displaystyle \sigma } 类型的输入,产生类型的输出 τ {\displaystyle \tau } 。按照惯例,→ {\displaystyle \to } 关联到右边:σ → τ → ρ {\displaystyle \sigma \to \tau \to \ rho } 读作 σ → ( τ → ρ ) {\displaystyle \sigma \to (\tau \to \rho )} 。

要定义类型,必须首先定义一组基本类型 B {\displaystyle B} 。 这些有时称为原子类型或类型常量。

一组术语常量也为基本类型固定。 例如,它可能假定基类型为 nat,术语常量可以是自然数。 在最初的演示中,Church 仅使用了两种基本类型:o {\displaystyle o} 用于命题类型,ι {\displaystyle \iota } 用于个体类型。 类型 o {\displaystyle o} 没有项常数,而 ι {\displaystyle \iota } 有一个项常数。 通常只考虑一种基本类型的微积分,通常是 o {\displaystyle o} 。

简单类型 lambda 演算的语法本质上是 lambda 演算本身的语法。 术语 x : τ {\displaystyle x{\mathbin {:}}\tau } 表示变量 x {\displaystyle x} 的类型为 τ {\displaystyle \tau } 。

其中 c {\displaystyle c} 是项常量。

即变量引用、抽象、应用和常量。 如果变量引用 x {\displaystyle x} 在抽象绑定 x {\displaystyle x} 内部,则它是绑定的。 如果没有未绑定的变量,则术语是封闭的。

而在类型化 lambda 演算中,每个抽象(即函数)都必须指定其参数的类型。

输入规则

编辑

要定义给定类型的类型良好的 lambda 术语集,我们将定义术语和类型之间的类型关系。λ演算

类型关系 Γ ⊢ e : σ {\displaystyle \Gamma \vdash e{\mathbin {:}}\sigma } 表示 e {\displaystyle e} 是类型为 σ {\displaystyle \sigma } 在上下文 Γ {\displaystyle \Gamma } 中。 在这种情况下,e {\displaystyle e} 被认为是类型良好的(具有类型 σ {\displaystyle \sigma } )。 类型关系的实例称为类型判断。 类型判断的有效性通过提供使用类型规则构建的类型推导来显示(其中线上方的前提允许我们推导出线下方的结论)。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/198265/

(6)
词条目录
  1. 简单类型λ演算
  2. 语法
  3. 输入规则

轻触这里

关闭目录

目录