Coq中的单例课程

时间:2018-07-27 08:56:18

标签: singleton coq typeclass

我不太了解Coq中的单例课程。我目前正在查看以下定义:

Class Decision (P : Prop) := decide : {P} + {¬P}.

据我所知,这会创建单例类Decision P和一个函数decide: forall (P: Prop), Decision P -> {P} + {¬P}

但是如何创建似乎需要使用Decision P的{​​{1}}的居民?似乎没有任何构造函数。

1 个答案:

答案 0 :(得分:1)

如评论中所述,根据我的理解,Class用于定义 typeclass

this link之后,如果您想使某个内容成为类型类Decision的成员,则还必须定义一个实例

instance DecidableT : Decision T {
    decide := ...
}.