Os tipos AFAIU podem ser a Setcujos elementos são programas ou a propositioncujos elementos são Provas. Então, com base neste entendimento:
Inductive prod (X Y: Type) : Set :=
| pair: X -> Y -> prod X Y.
O código a seguir deve ser compilado, mas isso não ocorre devido ao seguinte erro. Se eu mudar Setcom Typeou o outro Typecom Setele compila bem. Alguém pode me ajudar a entender o que significa o seguinte erro? Estou tentando me ensinar Coq usando o livro Software Foundations.
Erro:
Error: Large non-propositional inductive types must be in Type.
2
Os provadores de teoremas sempre foram uma área cinzenta para o CS.SE, mas acho que esse é um bom candidato para os mods migrarem para o StackOverflow.
—
Jmite 01/09/19
Esta pergunta tem algumas respostas aqui .
—
Anton Trunov
@ jmite Dado que esta pergunta é sobre o cálculo de construções com Coq apenas servindo como sintaxe concreta, acho que é sobre o assunto aqui.
—
Gilles 'SO- stop be evil'