Agda中的定理证明与自然数运算
在编程与定理证明的领域中,Agda 是一种强大的工具。下面将深入探讨 Agda 中布尔运算的定理证明以及自然数的相关内容。
布尔运算的定理证明
- 使用
refl证明等式 :在 Agda 里,refl可用于证明等式。例如((b1 || b2) (b1 || b2))这个公式显然能用refl证明。但并非在所有情况下都能将refl用作等式假设的模式。像下面的证明:
||ff1 : @ {b1 b2} Ñ b1 || b2 ff Ñ ff b1
||ff1 refl = refl
此证明是不可行的。因为 Agda 有关于类型细化的重要规则,它不允许以发现非变量项在定义上等于其他非变量项的方式来细化类型。在此处,细化会迫使 Agda 得出 b1 || b2 和 ff 这两个非变量项在定义上相等,而 Agda 无法对非变量项之间假设的定义相等性进行内部推理,所以不允许在这种情况下使用 refl 作为模式。
- 模式匹配与等式证明 :在等式证明的模式匹配方面,有一个细节需要注意。当布尔值 b1 、 b1’ 和 b2
超级会员免费看
订阅专栏 解锁全文
72

被折叠的 条评论
为什么被折叠?



