WISL.MonadicSMemory_Split
type t = SplitMemory.t
val to_yojson : t -> Yojson.Safe.t
val of_yojson : Yojson.Safe.t -> t Ppx_deriving_yojson_runtime.error_or
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
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 produce :
pred ->
t ->
Gillian.Gil_syntax.Expr.t list ->
t 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 get_recovery_tactic :
err_t ->
Gillian.Gil_syntax.Expr.t Gillian.General.Recovery_tactic.t
val lvars : t -> Gillian.Utils.Containers.SS.t
val alocs : t -> Gillian.Utils.Containers.SS.t
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