Next Obligation.
constructor; auto. simpl; tauto. constructor.
Qed.
Next Obligation.
constructor.
Qed.

(* Specifications: *)
Theorem In_interval: forall x l h, In x (interval l h) <-> l <= x < h.
Program Definition add (l h: Z) (s: t) : t :=
if zlt l h then R.add l h s else s.
Theorem In_interval: forall x l h, In x (interval l h) <-> l <= x < h.
Program Definition add (l h: Z) (s: t) : t :=
if zlt l h then R.add l h s else s.