J'essaye de travailler quelques preuves des diverses lois deMorgans en utilisant les constructeurs de type/éliminateurs du livre HoTT. J'avais sauté pour choisir https://mdnahas.github.io/doc/Reading_HoTT_in_Coq.pdf pour les choses pertinentes et vider tout dans un fichier texte .v. J'ai besoin de règles d'élimination/d'introduction pour le produit, le co-produit et un moyen d'établir la négation. Jusqu'à présent, j'ai,Erreur: application illégale (construction non-fonctionnelle)
Definition idmap {A:Type} (x:A) : A := x.
Inductive prod {A B:Type} : Type := pair : A -> B -> @prod A B.
Notation "x * y" := (prod x y) : type_scope.
Section projections.
Context {A : Type} {B : Type}.
Definition fst (p: A * B) :=
match p with
| (x , y) => x
end.
Definition snd (p:A * B) :=
match p with
| (x , y) => y
end.
End projections.
L'erreur sur "Définition fst (p: A * B): =" est
Error: Illegal application (Non-functional construction):
The expression "prod" of type "Type"
cannot be applied to the term
"A" : "Type"
J'ai essayé la recherche dans la liste d'erreurs sur le site Coq, mais n » Je ne trouve rien.
Si la réponse affichée ci-dessous vous a aidé à résoudre votre problème, alors ce serait bien si vous avez accepté la réponse. –