proposition: Lemma subst_tt_open_tt_rec : forall T1 T2 X P k, type P -> subst_tt X P (open_tt_rec k T2 T1) = open_tt_rec k (subst_tt X P T2) (subst_tt X P T1).
proof: Proof. Proof with auto. intros T1 T2 X P k WP. revert k. induction T1; intros k; simpl; f_equal... Case "typ_bvar". destruct (k === n); subst... Case "typ_fvar". destruct (a == X); subst... apply open_tt_rec_type... Qed.
imports: Fsub.Fsub_LetSum_Definitions