Извините, что задаю простой вопрос, но я искал ответ в течение нескольких часов, и я не нашел достаточно простого для меня объяснения (я не очень понимаю систему модулей Coq)
У меня есть следующие типы
Def var := nat.
Inductive type : Type :=
| Unit
| Arrow (a : type) (b : type)
| Ref (a : type)
.
Inductive Judgement : Type :=
| judge (v : var) (t : type)
.
Я хотел бы иметь возможность создавать (конечные) наборы Judgements
. Из исследования, которое я провел, похоже, MSets - это то, что я хочу. В частности, я (думаю, что я) заинтересован в «слабых» наборах, так как я бы хотел избежать использования упорядоченности var/nat
. Однако я не могу понять, как на самом деле создать тип, соответствующий набору суждений.
Самый близкий пример, который мне удалось найти, это this, но я хотел бы иметь возможность создавать наборы неупорядоченных элементов