fact: Fixpoint scalL (sc:zZ) (a: nelt) (l: List.list positive) {struct l}: (nelt * zZ) := match l with List.nil => (a,sc) | List.cons n l1 => let (a1, sc1) := scal sc a n in let (a2, sc2) := scal_list sc1 a l1 in match a2 with nzero => (nzero, c0) | ntriple _ _ z => scalL (sc2 ** z) a1 l1 end end.
imports: ZArith Znumtheory Zpow_facts CyclicAxioms Cyclic63 Int63Compat Bignums(DoubleCyclic BigN) W Mod_op ZEll Bits Zmod