LEAN 类型理论之注解(Annotations of LEAN Type Theory)—— 算法式定义上相等(Algorithmic Definitional Equality)与简化

         LEAN从定义上相等(Definitional Equality)中,区分了算法式定义上相等(Algorithmic Definitional Equality),说白了,就是,当一个表达式 e,通过简化规则(Reduction Rule)转化成另一表达式 e',那么,这两个表达式 e 和 e' 为 算法式定义上相等(Algorithmic Definitional Equality),记为 e ⇔ e'。

        即:

        当表达式 e 通过简化规则,简化成 k,且 k 与 e' 是算法式定义上相等,那么 表达式 e 和 e' 也是算法式定义上相等。

        另外由于算法式定义上相等的自反性,那么,表达式 k 与其自身是算法式定义上相等,因此,表达式 e 与 k 也是算法式定义上相等的。也就是说,表达式 e 与其简化后的表达式 是算法式定义上相等的。

        另外,需要注意的是,简化是单向的,而算法式定义上相等,及定义上相等,都是双向的。

一、算法式定义上相等(Algorithmic Definitional Equality)(Γ ⊢ e ⇔ e')

        其中,定义了基于 Γ 的假设下,表达式 e 和 e' 算法式定义上相等(Algorithmic Definitional Equals),即 e ⇔ e'。

1.  自反性(Reflexive) 与 互换性(Commutive)

2. 类型宇宙表达式的算法式定义上相等

3. 抽象化、依赖函数类型、Eta简化、函数应用、证明无关性、的算法式定义上相等

4. 简化的算法式定义上相等

        注解:e ⤳ k,表示,表达式 e 使用了 一次(one step) LEAN定义了的一种(one of)转化规则,转化成表达式 k。此时,如果 k 与表达式 e' 是算法式定义上相等,那么 表达式e 和 表达式 e' 算法式定义上相等。

        另 e ⤳* k,表示多次使用,即多步(multi-step),转换规则。

二、步进规则(Progress Rules)( e ⤳ e' )

        步进(Progress)其实就是计算(Computation)即规范化(Normalization),步进规则定义了LEAN的计算规则。

1.  函数表达式步进

2. 函数应用(Application)步进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值