Ltac Inversion_typ T :=
    let INVTYP := fresh "INVTYP" in
    (generalize T; intro INVTYP; inversion INVTYP using inversion_lemma;
      unfold inv_typ in |- *; clear INVTYP; intros).

Theorem definition_lift : forall (e : env) (n : nat) (t T : term), item (Def t T) e n -> wf e -> typ e (lift (S n) t) (lift (S n) T).