Section Context_Closure.
Variable R : red_rule.
Definition red := R_rt (ctxt R).
Definition conv := R_rst (ctxt R).
Hint Unfold red conv: pts.
Proof fun e : env => rt_trans term (ctxt R e).
Proof fun e : env => rst_trans term (ctxt R e).
Proof fun e : env => rst_sym term (ctxt R e).
Proof fun e : env => clos_rt_clos_rst term (ctxt R e).
intros.
apply conv_sym; apply red_conv; auto with pts.
Qed.
intros.
apply red_trans with (Abs A' M).
elim H; simpl in |- *; intros; auto with pts.
apply red_trans with (Abs y M); auto with pts.
elim H0; intros; auto with pts.
apply red_trans with (Abs A' y); auto with pts.
Qed.

Lemma red_red_app :
forall (e : env) (u u' v v' : term),
red e u u' -> red e v v' -> red e (App u v) (App u' v').