宇宙与sumbool不一致

时间:2019-04-11 23:51:42

标签: coq

我已经定义并证明了以下引理:

    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).

如何解决?

1 个答案:

答案 0 :(得分:1)

正如丹尼尔(Daniel)所指出的那样,问题在于<->连接词仅以命题作为参数,而sumbool则生活在Set中。可以通过以下几种方法来避免这种情况:您可以将sumbool替换为or,也可以将iff替换为与计算相关的连接词:

Variables A B C : Prop.

Check (({A} + {B} -> C) * (C -> {A} + {B}))%type.