Module Pulselib__PulseBaseDomain
type t={heap : Pulselib.PulseBaseMemory.t;stack : Pulselib.PulseBaseStack.t;attrs : Pulselib.PulseBaseAddressAttributes.t;}
val empty : tval reachable_addresses : t -> Pulselib.PulseBasicInterface.AbstractValue.Set.tcompute the set of abstract addresses that are "used" in the abstract state, i.e. reachable from the stack variables
val reachable_addresses_from : Pulselib.PulseBasicInterface.AbstractValue.t list -> t -> Pulselib.PulseBasicInterface.AbstractValue.Set.tcompute the set of abstract addresses that are reachable from given abstract addresses
val empty_mapping : mapping
type isograph_relation=|NotIsomorphicno mapping was found that can make LHS the same as the RHS
|IsomorphicUpTo of mappingmapping(lhs)is isomorphic torhs
val isograph_map : lhs:t -> rhs:t -> mapping -> isograph_relationval is_isograph : lhs:t -> rhs:t -> mapping -> boolval find_cell_opt : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> cell optionval pp : F.formatter -> t -> unitval subst_var : (Pulselib.PulseBasicInterface.AbstractValue.t * Pulselib.PulseBasicInterface.AbstractValue.t) -> t -> t Pulselib.PulseBasicInterface.SatUnsat.t