Local Notation "{ k ~> u } t" := (open_rec k u t) (at level 67).(*************************************************************************)
(*                                                                       *)
(*  Coffee break                                                         *)
(*                                                                       *)
(*************************************************************************)


(*************************************************************************)
(** * Typing environments *)
(*************************************************************************)

(** We represent environments as association lists (lists of pairs of
    keys and values) whose keys are [atom]s.
*)

Notation env := (list (atom * typ)).

Lemma append_assoc_demo : forall (E0 E1 E2 E3:env), E0 ++ (E1 ++ E2) ++ E3 = E0 ++ E1 ++ E2 ++ E3.