作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图证明一个关于 Prop 的替代定理,但我失败了。下面的定理能否在 coq 中得到证明,如果不能,为什么不能证明。
Theorem prop_subst:
forall (f : Prop -> Prop) (P Q : Prop),
(P <-> Q) -> ((f P) <-> (f Q)).
最佳答案
答案如下:我正在寻找的属性称为命题外延性,意思是 forall p q : Prop, (p <-> q) -> (p = q)
.反过来,是微不足道的。这是在 Library Coq.Logic.ClassicalFacts
中定义的内容。 ,以及来自经典的其他事实,即非直觉主义逻辑。上面的定义叫做prop_extensionality
, 可以如下使用:Axiom EquivThenEqual: prop_extensionality
.现在您可以申请 EquivThenEqual
,将其用于重写等。感谢 Kristopher Micinski 指出可扩展性。
关于coq - 如何证明 Coq 中的命题外延性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11071165/
前言请注意,这是一项作业。第一个问题已经问了一个问题。所以我们有数据类型: data BoolProp : ??? where ptrue : BoolProp true pfalse :
我是依赖类型的新手,有 Haskell 经验,正在慢慢学习 Idris。作为练习,我想编写霍夫曼编码。目前我正在尝试编写一个证明,证明代码树的“扁平化”会产生一个前缀代码,但被量词卡住了。 我有一个简
我是一名优秀的程序员,十分优秀!