LEAN 类型理论之注解(Annotations of LEAN Type Theory)—— Zeta 简化(ζ Reduction)与 let-binder

        Zeta 简化(ζ Reduction)是作用与 let-binder 表达结构的一种简化规则(Reduction Rule)。

        下面,看 LEAN 如何扩展 let-binder 表达结构,及其 Zeta简化的。

        1. 表达结构(let-binder)的语法定义

       注解:

        在类型判断(Type Check)前,先把表达式 e 中的变量x,全替换成 e'。也就是说,表达式 e,其变量x未被替换前,其不需要进行类型判断(Type Check),这意味着,变量未被替换时,表达式 e 允许类型判断失败的。 

        与抽象化(Abstraction)的区别是,表达式 e 如果是抽象化(Abstraction),即函数,再其变量未被替换时,需要经过类型判断(pass the Type Check)。        

        2. let-binder 的赋型规则(Typing Rule)

        前提(Premises):

                a.  在 Γ  的假设,表达式 e' 的类型是 α。

                b. 在 Γ  的假设,表达式 e 中的变量x,全替换成 e' 后,其类型为 β。

        结论(Conclusion):

                在 Γ  的假设,整个 let binder 表达式的类型为 β。

        3. Zeta 简化(ζ Reduction)的定义上相等规则

                即定义 let-binder表达结构的涵义                

        注解:let-binder 经过 Zeta简化后,其表达式 在定义上等于(Definitional Equals)表达式 e,其中的变量x,全替换成 e' 。这里,有个前提的是,表达式 e' 的类型 必须 与 变量x的类型相同,即 α。

        4. let-binder 的步进规则(Progress Rules)

        

        另论,所有的转化规则(Conversion and Reduction Rules)都是 通过 定义上相等(Definitional Equality)推演规则(Inference Rules)来定义的(Define),因此,定义上相等意味着算法式定义上相等(Algorithmic Definitional Equality),同时,步进规则(Progress Rules)体现了计算的过程,即一步一步地使用转化规则,往最终得到对应类型的正规元素(Canonical Elements)推进。

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值