Module PulseAbductiveDomain.Stack
stack operations like PulseDomain.Stack
but that also take care of propagating facts to the precondition
val add : InferIR.Var.t -> PulseDomain.Stack.value -> t -> t
val remove_vars : InferIR.Var.t list -> t -> t
val fold : (InferIR.Var.t -> PulseDomain.Stack.value -> 'a -> 'a) -> t -> 'a -> 'a
val find_opt : InferIR.Var.t -> t -> PulseDomain.Stack.value option
val eval : InferIR.Var.t -> t -> t * PulseDomain.AddrTracePair.t
return the value of the variable in the stack or create a fresh one if needed
val mem : InferIR.Var.t -> t -> bool
val exists : (InferIR.Var.t -> PulseDomain.Stack.value -> bool) -> t -> bool