fact: Fixpoint iter_list [A B : Type] (f : A -> B -> B) (s : seq A) (init : B) := match s with | [::] => init | a :: tl => iter_list f tl (f a init) end.
imports: mathcomp(all_ssreflect) ZArith QArith List String OrderedType OrderedTypeEx FMapAVL