Buenas,
Me surgió una duda realizando algunos ejercicios del práctico, por ejemplo en el ejercicio 7. No entendía mucho cómo definir el tipo Exp y buscando en el foro encontré este hilo https://eva.fing.edu.uy/mod/forum/discuss.php?d=73173 que lo explica.
La duda que me surgió es que en realidad si uso el código de la función val tal cual como está en el post, coq me da un error en la linea de id a => a,
Error: The constructor id (in type Exp) expects 2 arguments.
Intenté entonces pasarle el tipo nat, es decir id nat a => a, y ahí me da un error diferente.
Error: The parameters do not bind in patterns; they must be replaced by '_'.
Entiendo que debo pasarle _ en vez del tipo para que compile, pero no entiendo por qué no puedo pasarle explícitamente un tipo en el pattern del match.
Gracias y saludos