Module BufferOverrunDomain.PruningExp

Domain to keep assumed expressions

type t =
  1. | Unknown
  2. | Binop of {
    1. bop : IR.Binop.t;
    2. lhs : CoreVal.t;
    3. rhs : CoreVal.t;
    }
include Absint.AbstractDomain.S with type t := t
include Absint.AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val make : IR.Binop.t -> lhs:Val.t -> rhs:Val.t -> t