Me gustaría ver, de ser posible, algún ejemplo de un predicado sobre lista.
Debemos implementar sorted o eq_list y la verdad me quedan dudas sobre el caso inductivo.
Y en particular en el sorted, donde le pongo que cumpla la condición R?
Gracias.
Me gustaría ver, de ser posible, algún ejemplo de un predicado sobre lista.
Debemos implementar sorted o eq_list y la verdad me quedan dudas sobre el caso inductivo.
Y en particular en el sorted, donde le pongo que cumpla la condición R?
Gracias.
ya vi otros mensajes en el foro y encontré algunos ejemplos, en particular
Inductive eq_list (A:Set): list A -> list A -> Prop :=
| eq_empty: eq_list A (nil A) (nilA)
| eq_cons: forall (e1 e2:A)(l1 l2:list A), eq e1 e2 -> eq_list A l1 l2 -> eq_list A (cons A e1 l1)(cons A e2 l2).
Hola.
Un ejemplo sobre listas (igualdad):
Inductive list (A : Set) : Set :=
nil : list A
| cons : A -> list A -> list A.
Inductive eq_list (A : Set) : list A -> list A -> Prop :=
eq_nil : eq_list A (nil A) (nil A)
| eq_cons : forall (e : A) (xs ys : list A),
eq_list A xs ys -> eq_list A (cons A e xs) (cons A e ys).
.En el caso de sorted, R es un parámetro de la relación:
Inductive sorted (A : Set) (R : A -> A -> Prop) : list A -> Prop :=
sorted_nil : sorted A R (nil A)
| ...
Saludos, Carlos