Section Soundness.
Load "PTS_spec".
Notation typ2 := (typ the_PTS) (only parsing).
Notation wf_type2 := (wf_type the_PTS) (only parsing).
Section SoundnessDef.
Variable R : red_rule.
Definition rule_sound :=
forall (e : env) (x y : term),
R e x y -> forall T : term, typ the_PTS e x T -> typ the_PTS e y T.
End SoundnessDef.
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.

(* Specifications: *)
Theorem red_incl_le_type :
forall (e : env) (x y : term), red R e x y -> le_type e y x.