我不太了解Coq中的单例课程。我目前正在查看以下定义:
Class Decision (P : Prop) := decide : {P} + {¬P}.
据我所知,这会创建单例类Decision P
和一个函数decide: forall (P: Prop), Decision P -> {P} + {¬P}
。
但是如何创建似乎需要使用Decision P
的{{1}}的居民?似乎没有任何构造函数。
答案 0 :(得分:1)
如评论中所述,根据我的理解,Class
用于定义 typeclass 。
在this link之后,如果您想使某个内容成为类型类Decision
的成员,则还必须定义一个实例:
instance DecidableT : Decision T {
decide := ...
}.