simple induction n.
simple destruct e; intros.
elim H0; intros.
inversion_clear H2.
elim H0; intros.
rewrite H1.
inversion_clear H2.
elim inv_wf_sort with l d; intros; auto with arith pts.
exists x0.
replace (Srt x0) with (lift 1 (Srt x0)); auto with arith pts.
apply thinning; auto with arith pts.
intros.
elim H1; intros.
rewrite H2.
generalize H0.
inversion_clear H3; intros.
rewrite simpl_lift; auto with arith pts.
elim H with l (lift (S n0) (typ_of_decl x)); intros; auto with arith pts.
exists x0.
replace (Srt x0) with (lift 1 (Srt x0)); auto with arith pts.
apply thinning; auto with arith pts.
apply inv_wf with y; auto with arith pts.
exists x; auto with arith pts.
Qed.

(* Specifications: *)
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).
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).