当前位置: 首页 > news >正文

LEAN 类型系统属性 之 定义上相等的非确定性(Undecidability of Definitional Equality)注解

        由于定义上相等(Definitional Equality)作用在所有情况,由此,当遇到不一致(Inconsistent)的时候,会导致其结果是不确定的,即会无限展开(unfolding forever)下去。

        原文中,是通过一个定义在自然数(ℕ)的大于关系(>)上的可达类型(Accessibility Type)来论证,这个看原文很好理解,这里就不再赘述了。

        关键点:要证明 acc x,x ∈ℕ,那么所有,r y x 的 y 都是 acc y,r ≡ >,即 y > x。由此,在自然数中,有无数个比 x 大的自然数,这样导致不能证明 acc x。如果给定一个 a,其类型为 acc x,那么,在使用该 a: acc x 时,就会对 a 进行无限地展开(unfolding),导致无法停止(Non-terminated)。 

        下面列出其证明过程:

函数 f 的类型:f : (n: ℕ) → Acc n → 1, 且,1 ≡ Unit, ():Unit,即 ():1.

其中函数 g: ∀y.y>x → 1 ≡  (y: ℕ) → h: (y>x) →  1,意思是,给定一个自然数 y,以及,证明 y > x,那么,该函数就会返回 ()。也就是说,当无法给入 g 的输入参数时,是无法调用 g 的。

另外,函数 g,是在可达类型的使用规则里,给定的,表示使用规则中的前果。因此,根据 可达类型的使用规则(Elimination Rule),即使用函数 rec,函数 g 为 前果,有

g (n + 1) (p n) ≡ f (n + 1) a

≡ f (n+1) (intro (inv a)) 

          ≡ f (n+1) (inv a (n + 1) (p n) )

     ≡ f (n+1) (h (n + 1) (p n) )

其中,h 为 ∀y.y>x → acc y 的证明(proof)。

由此,其步进规则,有

当 n = 0,a : Acc n,即 a : Acc 0,有 a ≡ intro (inv a) ,那么

因此


http://www.mrgr.cn/news/24248.html

相关文章:

  • 蓝牙核心规范解析
  • chapter14-集合——(List)——day18
  • xLSTM模型学习笔记
  • 在 Android 中,事件的分发机制
  • JAVA学习-练习试用Java实现“二叉树的序列化与反序列化”
  • 多多优品:多多采集软件-不用买手-采集不限制
  • 【Web】骨架屏
  • 《中国食品工业》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • strtok函数讲解使用
  • 【NOI-题解】1272. 郭远摘苹果1274. 求各个科目成绩的平均分1275. 输出杨辉三角的前N行1496. 地雷数量求解
  • RP2040 C SDK ADC功能使用
  • 如何用ChatGPT创建阅读10W+爆款文章标题
  • 重温学习之C语言学习笔记3
  • 强密码策略+使用jasypt保存用户密码
  • Linux cut命令详解使用:掌握高效文本切割
  • Web3附录
  • [240911] 11 款最佳 Linux 控制台文件管理器 | OpenAI 或将推出每月2000美元的 LLM 订阅服务
  • 网络高级(学习)2024.9.10
  • vscode设置vue标签不换行
  • 善于善行——贵金属回收