intros.
elim inf_axiom with s; intros.
inversion_clear a.
left.
split with x; auto with arith pts.
split; intros.
apply (pp_ok H).
fold rt_cumul in |- *.
generalize (pp_least H).
auto with arith pts.
right; red in |- *; intros.
elim b with x; trivial with arith pts.
Qed.

Lemma cumul_infer_rule :
forall x1 x2 : sort,
{x3 : sort |
ppal (rule_sat cts_pts_functor x1 x2)
(fun s1 s2 => forall e : env, rt_cumul e (Srt s1) (Srt s2)) x3}.