Module BufferOverrunDomain.PruningExp

Domain to keep assumed expressions

type t =
| Unknown
| Binop of {
bop : IR.Binop.t;
lhs : CoreVal.t;
rhs : CoreVal.t;
}
include Absint.AbstractDomain.S with type t := t
include Absint.AbstractDomain.NoJoin
include IStdlib.PrettyPrintable.PrintableType
type 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