fact: Definition foldi {A : Type} (f : int -> A -> A) (from to : int) (a : A) : A := if to <=? from then a else let (_,r) := iter_int63 (to - from) _ (fun (jy: (int * A)%type) => let (j,y) := jy in (j + 1, f j y) ) (from, a) in r.
imports: Bool List PArray Int63 Ring63 ZArith Psatz