(** * Definitions and theorems on the data types [option], [sum] and [list] *)
(** Comparing option types. *)
Definition option_eq (A: Type) (eqA: forall (x y: A), {x=y} + {x<>y}):
forall (x y: option A), {x=y} + {x<>y}.
Hint Resolve nth_error_in: coqlib.

Lemma nth_error_nil:
forall (A: Type) (idx: nat), nth_error (@nil A) idx = None.