(* ---------------------------------------------------------------------------- *)
(* Interaction between [lookup] and [empty]. *)

(* Specifications: *)
Lemma lookup_empty_None:
forall A x,
lookup x (@empty A) = None.
Lemma lookup_empty_Some:
forall A x (a : A),
lookup x (@empty _) = Some a ->
False.
Lemma lookup_successor:
forall A x (e : env A),
lookup (S x) e = lookup x (tail e).