Module WISL.BaseMemory

val to_yojson : t -> Yojson.Safe.t
val of_yojson : Yojson.Safe.t -> t Ppx_deriving_yojson_runtime.error_or
type err_t
val pp_err_t : Ppx_deriving_runtime.Format.formatter -> err_t -> Ppx_deriving_runtime.unit
val show_err_t : err_t -> Ppx_deriving_runtime.string
val err_t_to_yojson : err_t -> Yojson.Safe.t
val err_t_of_yojson : Yojson.Safe.t -> err_t Ppx_deriving_yojson_runtime.error_or
type action
type pred
val action_from_str : string -> action option
val action_to_str : action -> string
val pred_from_str : string -> pred option
val pred_to_str : pred -> string
val empty : unit -> t
val execute_action : action -> t -> Gillian.Gil_syntax.Expr.t list -> (t * Gillian.Gil_syntax.Expr.t list, err_t) Stdlib.result Gillian.Monadic.Delayed.t
val consume : pred -> t -> Gillian.Gil_syntax.Expr.t list -> (t * Gillian.Gil_syntax.Expr.t list, err_t) Stdlib.result Gillian.Monadic.Delayed.t
val compose : t -> t -> t Gillian.Monadic.Delayed.t
val is_exclusively_owned : t -> Gillian.Gil_syntax.Expr.t list -> bool Gillian.Monadic.Delayed.t
val is_empty : t -> bool
val is_concrete : t -> bool
val instantiate : Gillian.Gil_syntax.Expr.t list -> t * Gillian.Gil_syntax.Expr.t list
val assertions : t -> (pred * Gillian.Gil_syntax.Expr.t list * Gillian.Gil_syntax.Expr.t list) list
val assertions_others : t -> Gillian.Gil_syntax.Asrt.atom list
val can_fix : err_t -> bool
val get_fixes : err_t -> pred States.MyAsrt.t list list
val substitution_in_place : Gillian.Symbolic.Subst.t -> t -> t Gillian.Monadic.Delayed.t
val pp : Stdlib.Format.formatter -> t -> unit
val list_actions : unit -> (action * string list * string list) list
val list_preds : unit -> (pred * string list * string list) list
type entry = Prebuilt.Utils.Freeable(Prebuilt.Utils.MList(ExclusiveNull)).t