(* ********************************************************************** *)
(** ** Narrowing and transitivity (3) *)

Definition transitivity_on Q := forall E S T,
  sub E S Q -> sub E Q T -> sub E S T.

Lemma typing_weakening : forall E F G e T, typing (G ++ E) e T -> wf_env (G ++ F ++ E) -> typing (G ++ F ++ E) e T.