type t
val compare : t -> t -> int
val equal : t -> t -> bool
val pp : F.formatter -> t -> unit
val pp_mark : markup:bool -> F.formatter -> t -> unit
val mone : t
val zero : t
val nat : t
val pos : t
1, +oo
val of_int : int -> t
val lb : t -> Bound.t
val ub : t -> Bound.t
val is_finite : t -> bool
val is_invalid : t -> bool
val is_lb_infty : t -> bool
val is_nat : t -> bool
val is_symbolic : t -> bool
val is_top : t -> bool
val is_zero : t -> bool
val is_one : t -> bool
val is_ge_zero : t -> bool
val is_le_zero : t -> bool
val is_le_mone : t -> bool
val leq : lhs:t -> rhs:t -> bool
val have_similar_bounds : t -> t -> bool
val has_infty : t -> bool
val has_void_ptr_symb : t -> bool
val make_positive : t -> t
val join : t -> t -> t
val le_sem : t -> t -> Boolean.t
val lt_sem : t -> t -> Boolean.t
val widen : prev:t -> next:t -> num_iters:int -> t
val xcompare : lhs:t -> rhs:t -> [ `Equal | `LeftSmallerThanRight | `RightSmallerThanLeft | `NotComparable | `LeftSubsumesRight | `RightSubsumesLeft ]
val get_symbols : t -> SymbolSet.t
val subst : t -> Bound.eval_sym -> t Absint.AbstractDomain.Types.bottom_lifted
val neg : t -> t
val plus : t -> t -> t
val minus : t -> t -> t
val succ : t -> t
val mult : t -> t -> t
val exists_str : f:(string -> bool) -> t -> bool
val of_int_lit : IR.IntLit.t -> t
val of_foreign_id : int -> t
val get_bound : t -> Symb.BoundEnd.t -> Bound.t
val arith_binop : IR.Binop.t -> t -> t -> t
val arith_unop : IR.Unop.t -> t -> t option
val to_boolean : t -> Boolean.t
val prune_binop : IR.Binop.t -> t -> t -> t Absint.AbstractDomain.Types.bottom_lifted