На одном форуме предложили такой вариант для описания конечного множества.
Inductive Fin : nat -> Type :=
| FZ : forall k:nat, Fin (S k)
| FS : forall k:nat, Fin k -> Fin (S k).
(На Идрисе
https://github.com/idris-lang/Idris-dev/blob/maste... )
Я изменил этот тип и получил такой
Inductive Fin : nat -> Type :=
| FZ : Fin 0
| FS : forall k:nat, Fin k -> Fin (S k).
С помощью такого типа можно задать или пустое множество или множество из конечного числа элементов.
PS: Создал
группу про Coq, выкладываю переводы глав официального справочного руководства, пишу что интересного заметил. Буду рад обсудить различные вопросы.