Function elements_rec (hi: Z) {wf (Zwf lo) hi} : list Z :=
  if zlt lo hi then (hi-1) :: elements_rec (hi-1) else nil.

(* Specifications: *)
Lemma In_elements_rec: forall hi x, List.In x (elements_rec hi) <-> lo <= x < hi.
Lemma In_elements_rec: forall hi x, List.In x (elements_rec hi) <-> lo <= x < hi.