fact: Definition divZ (m d : Z) : Z := Z.sgn d * match m with | Z0 => 0 | Z.pos p => Z.of_nat (Pos.to_nat p %/ Z.abs_nat d)%N | Z.neg p => - Z.succ (Z.of_nat ((Pos.to_nat p).-1 %/ Z.abs_nat d)%N) end%Z.
imports: Coq(ZArith ZifyClasses ZifyInst ZifyBool) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq path) mathcomp(div choice fintype tuple finfun bigop finset prime) mathcomp(order binomial)