simple induction n.
intros.
rewrite lift0.
rewrite lift0.
replace e with f; auto with arith pts.
inversion_clear H; auto with arith pts.
do 8 intro.
inversion_clear H0.
intro.
rewrite simpl_lift; auto with arith pts.
pattern (lift (S n0) T) in |- *.
rewrite simpl_lift; auto with arith pts.
inversion_clear H0.
change (typ (Ax T0 :: e0) (lift 1 (lift n0 t)) (lift 1 (lift n0 T))) in |- *.
apply thinning; auto with arith pts.
apply H with f; auto with arith pts.
apply typ_wf with T0 (Srt s); auto with arith pts.
apply wf_var with s; auto with arith pts.
change (typ (Def t0 T0 :: e0) (lift 1 (lift n0 t)) (lift 1 (lift n0 T)))
in |- *.
apply thinning; auto with arith pts.
apply H with f; auto with arith pts.
apply typ_wf with t0 T0; auto with arith pts.
apply wf_cst with s; auto with arith pts.
Qed.

(* Specifications: *)
Theorem wf_sort_lift :
forall (n : nat) (e : env) (t : term),
wf e -> item_lift t e n -> exists s : sort, typ e t (Srt s).
Theorem wf_sort_lift :
forall (n : nat) (e : env) (t : term),
wf e -> item_lift t e n -> exists s : sort, typ e t (Srt s).