(** Same as [fold], but the function does not receive the [elt] argument. *)
Parameter fold1:
forall (A B: Type), (B -> A -> B) -> t A -> B -> B.

(* Specifications: *)
Axiom fold1_spec:
forall (A B: Type) (f: B -> A -> B) (v: B) (m: t A),
fold1 f m v =
List.fold_left (fun a p => f a (snd p)) (elements m) v.
Axiom fold1_spec:
forall (A B: Type) (f: B -> A -> B) (v: B) (m: t A),
fold1 f m v =
List.fold_left (fun a p => f a (snd p)) (elements m) v.