Section Sound_context.
Variable the_rule : Basic_rule.
Let R := Rule the_rule.
Let Rlifts : R_lift R := R_lifts the_rule.
Hint Resolve Rlifts: pts.
Hypothesis
incl_R_le_type :
forall (e : env) (x y : term), ctxt R e x y -> le_type e y x.
simple induction 1; intros; auto with pts.
apply le_type_trans with y0; auto with pts.
Qed.
intros.
apply subtype_in_env with (1 := H).
constructor.
constructor.
red in |- *.
auto with pts.
apply red_incl_le_type.
trivial with pts.
apply wf_var with s; trivial with pts.
Qed.

Theorem ctxt_sound : rule_sound R -> rule_sound (ctxt R).