Типы AFAIU могут быть Set
элементами, чьи элементы являются программами, или proposition
элементами, чьи элементы являются доказательствами. Итак, исходя из этого понимания:
Inductive prod (X Y: Type) : Set :=
| pair: X -> Y -> prod X Y.
Следующий код компиляции , но это не из - за следующей ошибки. Если я изменяю Set
с Type
или другой Type
с Set
ним составляет штраф. Может кто-нибудь помочь мне понять, что означает следующая ошибка? Я пытаюсь научить себя Coq, используя книгу Software Foundations.
Ошибка:
Error: Large non-propositional inductive types must be in Type.
2
Проверщики теорем всегда были серой областью для CS.SE, но я предполагаю, что это хороший кандидат для перехода модов в StackOverflow.
—
jmite
Этот вопрос имеет несколько ответов здесь .
—
Антон Трунов
@jmite Учитывая, что этот вопрос о исчислении конструкций с Coq, просто служащим конкретным синтаксисом, я думаю, что это здесь по теме.
—
Жиль "ТАК - перестать быть злым"