Proof with auto.
intros.
unfold open_te.
apply subst_te_open_te_rec...
Qed.

(* Specifications: *)
Lemma subst_te_open_te_var : forall (X Y:atom) U e,
Y <> X ->
type U ->
open_te (subst_te X U e) Y = subst_te X U (open_te e Y).