#[global]
  Instance lt_strorder : StrictOrder lt.Local Instance compare_compat_1 : Proper (eq==>Logic.eq==>Logic.eq) compare.#[global]
  Instance compare_compat : Proper (eq==>eq==>Logic.eq) compare.Local Instance lt_compat : Proper (eq==>eq==>iff) lt.

Lemma fold_spec: forall s (A : Type) (i : A) (f : elt -> A -> A), fold f s i = fold_left (fun a e => f e a) (elements s) i.