(* ********************************************************************** *)
(** ** 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 canonical_form_tabs : forall e U1 U2, value e -> typing empty e (typ_all U1 U2) -> exists V, exists e1, e = exp_tabs V e1.