simple induction 1; simpl in |- *; intros; auto with arith pts.
rewrite distr_lift_subst; auto with arith pts.
apply par_betad; auto with arith pts.
replace (Ax (lift_rec 1 T k)) with (lift_decl 1 (Ax T) k);
auto with arith pts.
elim (le_gt_dec k n); intros.
apply par_delta with d T; auto with arith pts.
unfold lift in |- *.
replace (S (S n)) with (1 + S n); auto with arith pts.
elim simpl_lift_rec with d (S n) 0 1 k; auto with arith pts.
simpl in |- *; auto with arith pts.
apply ins_item_ge with (1 := H3); auto with arith pts.
apply par_delta with (lift_rec 1 d (k - S n)) (lift_rec 1 T (k - S n));
auto with arith pts.
unfold lift in |- *.
rewrite permute_lift_rec; auto with arith pts.
replace (S n + (k - S n)) with k; auto with arith pts.
change (item (lift_decl 1 (Def d T) (k - S n)) f n) in |- *.
apply ins_item_lt with (1 := H3); auto with arith pts.
apply abs_par_red; auto with arith pts.
replace (Ax (lift_rec 1 T' k)) with (lift_decl 1 (Ax T') k);
auto with arith pts.
apply prod_par_red; auto with arith pts.
replace (Ax (lift_rec 1 M' k)) with (lift_decl 1 (Ax M') k);
auto with arith pts.
Qed.
Hint Resolve bd_par_red1_lift: pts.

(* Specifications: *)
Lemma bd_par_red1_subst_l :
forall (t u : term) (g : env),
bd_par_red1 g t u ->
forall (v : term) (n : nat) (e : env),
trunc n e g -> bd_par_red1 e (subst_rec t v n) (subst_rec u v n).