Module Polynomials.NonNegativePolynomial

include IStdlib.PrettyPrintable.PrintableType
type t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hum : Stdlib.Format.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool
val top : t
val of_unreachable : IBase.Location.t -> t
val zero : t
val one : t
val of_int_exn : int -> t
val is_symbolic : t -> bool
val is_top : t -> bool
val is_unreachable : t -> bool
val is_zero : t -> bool
val is_one : t -> bool
val of_non_negative_bound : ?degree_kind:DegreeKind.t -> Bounds.NonNegativeBound.t -> t
val of_func_ptr : Symb.SymbolPath.partial -> t
val plus : t -> t -> t
val mult_unreachable : t -> t -> t

if one of the operands is unreachable, the result is unreachable

val mult : t -> t -> t
val mult_loop : iter:t -> body:t -> t
val min_default_left : t -> t -> t
val degree : t -> Degree.t option
val degree_str : t -> string
val compare_by_degree : t -> t -> int
val pp_degree : only_bigO:bool -> Stdlib.Format.formatter -> degree_with_term -> unit
val polynomial_traces : t -> Absint.Errlog.loc_trace
val encode : t -> string
val decode : string -> t
val get_degree_with_term : t -> degree_with_term