Proof with congruence || eauto.
induction T; intros j V i U Neq H; simpl in *; inversion H; f_equal...
Case "typ_bvar".
destruct (j === n)... destruct (i === n)...
Qed.
(** Opening a locally closed term is the identity.  This lemma depends on the immediately preceding lemma. *)

(* Specifications: *)
Lemma open_tt_rec_type : forall T U k,
type T ->
T = open_tt_rec k U T.