Классы RelationClasses и CRelationClasses - PullRequest
1 голос
/ 02 июня 2019

Стандартная библиотека Coq имеет два подмножества модулей классов, один из которых привязан к Coq.Classes.RelationClasses, а другой к Coq.Classes.CRelationClasses.Последнее, похоже, было добавлено совсем недавно (2012).

Я, должно быть, упускаю что-то очевидное, поскольку они оба выглядят очень похожими на меня.

В чем причина их существования?

1 Ответ

2 голосов
/ 02 июня 2019

Основное различие заключается в типе отношений, которые они поддерживают:

(* RelationClasses, actually defined in Relation_Definitions *)
Definition relation (A : Type) := A -> A -> Prop.

(* CRelationClasses *)
Definition crelation (A : Type) := A -> A -> Type.
...