fact: Definition wn_modn1 n := let op := dom_op n in let zd := ZnZ.zdigits op in let zero := ZnZ.zero in let head0 := ZnZ.head0 in let add_mul_div := ZnZ.add_mul_div in let div21 := ZnZ.div21 in let compare := ZnZ.compare in let sub := ZnZ.sub in let dmodn1 := DoubleDivn1.double_modn1 zd zero head0 add_mul_div div21 compare sub in fun m x y => reduce n (dmodn1 (S m) x y).
imports: Bool BigNumPrelude ZArith Lia Nnat Ndigits CyclicAxioms DoubleType Nbasic Wf_nat StreamMemo NSig NMake_gen