Buenos días,
Estoy haciendo el ejercicio 1 del práctico 5 y el código provisto en la letra no me compila:
Inductive Mem (A : Set) (a : A) : list A -> Prop := | here : forall x : list A, Mem A a (cons A a x) | there : forall x : list A, Mem A a x -> forall b : A, Mem A a (cons A b x).
En particular, me dice el error "The term "a" has type "A" while it is expected to have type "list Set"." en la expresión (cons A a x). Si a los dos cons le saco el tipo (dejando (cons a x) y (cons b x)) ahí si compila.
Es correcto hacer esto? Tampoco me queda del todo claro por qué funciona haciendo esto.
Gracias y saludos