coq - 宇宙与 sumbool 不一致
问题描述
我已经定义并证明了以下引理:
NM.In k m -> {NM.In k m0}+{NM.In k m1}.
我还可以证明一个对称引理:
{NM.In k m0}+{NM.In k m1} -> NM.In k m
但是,当我尝试将它们合并为一个时:
NM.In k m <-> {NM.In k m0}+{NM.In k m1}.
我收到以下错误:
The term "sumbool (@NM.In CarrierA k m0) (@NM.In CarrierA k m1)" has type
"Set" while it is expected to have type "Prop" (universe inconsistency: Cannot enforce
Set = Prop).
这怎么可能解决?
解决方案
正如丹尼尔指出的那样,问题在于<->
连接词只将命题作为论据,而sumbool
生活在Set
. 这可以通过几种方式规避:您可以替换sumbool
为or
,或者您可以替换iff
为与计算相关的连接词:
Variables A B C : Prop.
Check (({A} + {B} -> C) * (C -> {A} + {B}))%type.
推荐阅读
- python-3.6 - python 2 到 python 3:在 'int' 和 'NoneType' 的实例之间不支持 >='
- amazon-eks - 修改 configmap 后 EKS 中的 Kubectl Forbidden 错误
- node.js - 使用 Node.js 处理 SAML 的身份提供者端
- jquery - 使用 jQuery 迭代和有条件地隐藏多个元素
- java - 一起使用两个服务时无法找到到请求目标的有效证书路径
- r - 为什么`quantile`和`fivenum`返回不同的输出?
- python - 从灰度图像创建彩色图像
- vue.js - array.includes($store.state.propertyvalue) 不会随着 vuex 状态变化而更新
- autodesk-forge - Forge Viewer 渲染管道
- python - 将 Boxcar 平均值应用于地理空间图像