simple induction 2; simpl in |- *; intros; auto with arith pts.
rewrite distr_subst; auto with arith pts.
apply par_beta; auto with arith pts.
fold (subst_decl x (Ax T) n) in |- *; auto with arith pts.
elim (lt_eq_lt_dec n0 n); intros; auto with arith pts.
elim a; intros; auto with arith pts.
apply iter_R_lift with g; auto with arith pts.
elim H1; auto with arith pts.
apply abs_par_red_b; auto with arith pts.
apply (beta_par_red1_stable_env beta_par_red1 (subst_decl x (Ax T') n :: f));
auto with arith pts.
apply R_env_hd.
simpl in |- *.
apply rd_ax.
apply beta_par_red1_subst_l with g; auto with arith pts.
elim H5; auto with arith pts.
apply prod_par_red_b; auto with arith pts.
apply (beta_par_red1_stable_env beta_par_red1 (subst_decl x (Ax M') n :: f));
auto with arith pts.
apply R_env_hd.
simpl in |- *.
apply rd_ax.
apply beta_par_red1_subst_l with g; auto with arith pts.
elim H5; auto with arith pts.
Qed.

(* Specifications: *)
Lemma beta_par_red1_subst :
forall (e : env) (x y t u T : term),
beta_par_red1 (Ax T :: e) t u ->
beta_par_red1 e x y -> beta_par_red1 e (subst x t) (subst y u).