Ideal.Make
module P : Polynom.S
type deg = int
type coef = P.t
type poly
val repr : poly -> (coef * Monomial.t) list
val polconst : int -> coef -> poly
val zeroP : poly
val gen : int -> int -> poly
val equal : poly -> poly -> bool
val plusP : poly -> poly -> poly
val oppP : poly -> poly
val multP : poly -> poly -> poly
val puisP : poly -> int -> poly
type certificate = {
coef : coef;
power : int;
gb_comb : poly list list;
last_comb : poly list;
}
val in_ideal : metadata -> deg -> poly list -> poly -> certificate
module Hashpol : Stdlib.Hashtbl.S with type key = poly