Section Prop_R_subst.
Hypothesis R_substs : R_subst R.
Hypothesis R_substs' : R_subst R'.
red in |- *; red in |- *.
simple induction 1; simpl in |- *; auto with pts; intros.
elim R_substs with (1 := H0) (2 := H1); intros; auto with pts.
apply rt_trans with y0; auto with pts.
elim H1 with n f; intros; auto with pts.
apply rt_trans with (Abs y (subst_rec s N (S n))); auto with pts.
elim H1 with (S n) (subst_decl s (Ax N) n :: f); intros; auto with pts.
apply rt_trans with (Abs (subst_rec s N n) y); auto with pts.
elim H1 with n f; auto with pts; intros.
apply rt_trans with (App y (subst_rec s M2 n)); auto with pts.
elim H1 with n f; auto with pts; intros.
apply rt_trans with (App (subst_rec s M1 n) y); auto with pts.
elim H1 with n f; intros; auto with pts.
apply rt_trans with (Prod y (subst_rec s M2 (S n))); auto with pts.
elim H1 with (S n) (subst_decl s (Ax M1) n :: f); auto with pts; intros.
apply rt_trans with (Prod (subst_rec s M1 n) y); auto with pts.
Qed.
unfold R_subst, R_rt at 2 in |- *.
simple induction 1; intros; auto with pts.
apply rt_step.
apply R_substs with (2 := H1); auto with pts.
apply rt_trans with (subst_rec s y n); auto with pts.
Qed.

Lemma R_rst_subst : R_subst (R_rst R).