LEAN 类型理论之注解(Annotations of LEAN Type Theory)-- 谓词性Predicative、非谓词性Impredicative、Large Elimination

        非谓词性(Impredicative),简单来说就是,类型的定义中可以自我引用(Self-Reference),如 a set containing all sets that do not contain itself。

        谓词性(Predicative),简单来说是,为了解决非谓词性产生悖论(paradox),使用类型宇宙层次,使得 “a set containing all sets that do not contain itself” 中的 “a set” 与 “all sets” 存在不同宇宙层次上,一般是,“a set” 的宇宙层次 比 “all sets”的宇宙层次高一层,这样就避免了(avoid)非谓词性的悖论(paradox)。

        《 归纳类型(Inductive Type)的使用规则(Elimination Rule)》提到,归纳类型使用规则(Elimination Rule)的定义,即,通过使用函数(Elimination)作用于(使用)给定的归纳类型 P 的值  p,输出相应的结果,该结果的类型由动机函数(motive)C来给出,

C: ∀a::α.P a → Uᵤ。

        Large Elimination 指,动机函数 C 的目标类型(Target Type),即 Uᵤ,可指向任何层次的类型宇宙。而,对于某些归纳类型,如 存在类型(Existential Type),其动机函数 C的目标类型(Target Type)只能是最底层的类型宇宙,即命题类型宇宙,记 Prop,亦 Sort 0。

        这个为了整个系统的一致性(consistence)所定义的,避免(avoid)非谓词性(impredicative)。

        下面列出LEAN 中 具备 Large Elimination 属性 的充分条件,有:(Γ, t: F ⊢ K LE)

(注:没在其定义之内的类型,就没有 Large Elimintation,即其使用函数中的动机函数,不能指向除了命题类型宇宙外的类型宇宙)

        1. 归纳类型所在的类型宇宙层次大于等于1,即非底层的命题类型宇宙。

        2. 无构建函数的归纳类型。

        3. 具备单个构建函数,且该构建函数的类型符合Large Elimination的要求,记 α LE ctor,的归纳类型。

        

        构建函数的Large Elimination要求,有:(Γ, t: F ⊢ α LE ctor)

        1. 无输入参数的构建函数。

        2. 所有输入参数的类型为命题类型,存在于(live in)命题类型宇宙。

        3. 带有递归参数的,符合 Large Elimination 要求的构建函数。

        即,如果 β 本来就符合 Large Elimination 要求,那么再给入其递归参数后的构建函数,符合Large Elimination 要求。 

        4. 单一元素的归纳类型的构建函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KeithTsui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值