Delta 简化(δ Reduction)是作用与 新增定义(Definitions)表达结构的一种简化规则(Reduction Rule)。
在LEAN里,有两种常量,一个是原生的(Primitives),另一个是用户定义的(User Defined)。这里所说的新增定义就是用户通过下图的 LEAN 的语法来定义新的常量。
LEAN类型理论的论文对这文章所要阐述的概念,Delta 简化(δ Reduction)与 新增定义(Definitions),讲述得比较清晰,因此,这里就不再赘述了,大家可以直接看原文。
其中关键点有二,
1. τ (Tao)函数(τ for Type in Greek),即类型函数,其输入的所要定义的常量的名字 c,输出是该常量的类型,即 Name -> Uₗ 。
2. v 函数(v for value),即表达式函数,也叫值,其输入的所要定义的常量的名字 c,输出是该常量的表达式,即 Name -> Expression。(这里的值,指的是,对应的表达式经过常规化(Normalization)后的结果)
也就是说,当新增一个定义,需要给定新增定义的名称(Name),其类型(Type),以及其定义表达式(Expression)。
此时,Delta 简化(δ Reduction)就是,当遇到对应的名称时,替换成其对应的定义表达式。
下面,就列出 LEAN 是如何扩展新增定义(Definitions)表达结构,及其 Delta 简化的。
1. 新增定义(Definitions)表达结构的语法定义
2. 新增定义(Definitions)表达结构的赋型规则(Typing Rule)
3. 新增定义(Definitions)表达结构的定义上相等规则
4. Delta 简化(δ Reduction)
5. 新增定义(Definitions)表达结构 的步进规则(Progress Rules)
口