Definition elements_between (s: t) : t :=
  @MSet.Mkt (raw_elements_between s.(MSet.this)) (raw_elements_between_ok s.(MSet.this) s.(MSet.is_ok)).Remark In_raw_elements_between_2:
  forall x m,
  Raw.In x (raw_elements_between m) -> above_low_bound x = true /\ below_high_bound x = true.Remark In_raw_elements_between_3:
  forall x m,
  Raw.bst m ->
  Raw.In x m -> above_low_bound x = true -> below_high_bound x = true ->
  Raw.In x (raw_elements_between m).

(* Specifications: *)
Theorem elements_between_iff: forall x s, In x (elements_between s) <-> In x s /\ above_low_bound x = true /\ below_high_bound x = true.
Theorem elements_between_iff: forall x s, In x (elements_between s) <-> In x s /\ above_low_bound x = true /\ below_high_bound x = true.