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 typing_c_weakening_strengthened : forall (E F G : env) e T, typing_c (G ++ E) e T -> uniq (G ++ F ++ E) -> typing_c (G ++ F ++ E) e T.