Section Fold_More.
Variables (A:Type)(eqA:A->A->Prop)(st:Equivalence eqA).
Variables (f:elt->A->A)(Comp:Proper (E.eq==>eqA==>eqA) f)(Ass:transpose eqA f).

(* Specifications: *)
Lemma fold_commutes : forall i s x,
eqA (fold f s (f x i)) (f x (fold f s i)).