module Int:sig..end
typet =Z.t Monome.monome
val const : Z.t -> tval singleton : Z.t -> Monome.term -> tval of_list : Z.t -> (Z.t * Monome.term) list -> t
val of_term : Monome.term -> t option
val of_term_exn : Monome.term -> tNotLinear if the term is not a proper monome.val to_term : t -> Monome.termval normalize : t -> tval has_instances : t -> boolm.constant, where g is the
GCD of c for c in m.coeffs.
The intuition is that this returns true iff the monome actually has
some instances in its type. Trivially true in reals or rationals, this is
only the case for integers if m.coeffs + m.constant = 0 is a
satisfiable diophantine equation.
val quotient : t -> Z.t -> t optionquotient e c tries to divide e by c, returning e/c if
it is still an integer expression.
For instance, quotient (2x + 4y) 2 will return Some (x + 2y)val divisible : t -> Z.t -> booldivisible e n returns true if all coefficients of e are
divisible by n and n is an int >= 2val factorize : t -> (t * Z.t) optione into Some (e',s) if e = e' x s, None
otherwise (ie if s=1). In case it returns Some (e', s), s > 1 holdsval normalize_wrt_zero : t -> tval reduce_same_factor : t -> t -> Monome.term -> t * treduce_same_factor m1 m2 t multiplies m1 and m2 by
some constants, so that their coefficient for t is the same.Invalid_argument if t does not belong to m1 or m2val compare : (Monome.term -> Monome.term -> Libzipperposition.Comparison.t) ->
t -> t -> Libzipperposition.Comparison.tval to_multiset : t -> Multisets.MT.tmodule Modulo:sig..end
module Solve:sig..end