Proof with auto using wf_typ_weaken_head.
induction 1; intros J; analyze_binds J...
injection BindsTacVal; intros; subst...
Qed.

(* Specifications: *)
Lemma wf_typ_from_wf_env_typ : forall x T E,
wf_env (x ~ bind_typ T ++ E) ->
wf_typ E T.
Lemma wf_typ_from_wf_env_sub : forall x T E,
wf_env (x ~ bind_sub T ++ E) ->
wf_typ E T.