Module type State.S
val vt_to_yojson : vt -> Yojson.Safe.tval vt_of_yojson : Yojson.Safe.t -> vt Ppx_deriving_yojson_runtime.error_orval pp_vt :
Ppx_deriving_runtime.Format.formatter ->
vt ->
Ppx_deriving_runtime.unitval show_vt : vt -> Ppx_deriving_runtime.stringval to_yojson : t -> Yojson.Safe.tval of_yojson : Yojson.Safe.t -> t Ppx_deriving_yojson_runtime.error_orval m_err_t_to_yojson : m_err_t -> Yojson.Safe.tval m_err_t_of_yojson :
Yojson.Safe.t ->
m_err_t Ppx_deriving_yojson_runtime.error_ortype err_t = (m_err_t, vt) Engine.StateErr.tval err_t_to_yojson : err_t -> Yojson.Safe.tval err_t_of_yojson :
Yojson.Safe.t ->
err_t Ppx_deriving_yojson_runtime.error_orval pp_err_t :
Ppx_deriving_runtime.Format.formatter ->
err_t ->
Ppx_deriving_runtime.unitval show_err_t : err_t -> Ppx_deriving_runtime.stringtype action_ret = (t * vt list, err_t) Engine.Res_list.tval execute_action : string -> t -> vt list -> action_retval eval_expr : t -> Gil_syntax.Expr.t -> vtExpression Evaluation
val assume_a :
?matching:bool ->
?production:bool ->
?time:string ->
t ->
Gil_syntax.Expr.t list ->
t optionAssume assertion
val assume_t : t -> vt -> Gil_syntax.Type.t -> t optionAssume type
val sat_check_f : t -> Gil_syntax.Expr.t list -> st optionval assert_a : t -> Gil_syntax.Expr.t list -> boolAssert assertion
val get_type : t -> vt -> Gil_syntax.Type.t optionState simplification
val pp : Stdlib.Format.formatter -> t -> unitPrinters
val pp_by_need :
Utils.Containers.SS.t ->
Utils.Containers.SS.t ->
Utils.Containers.SS.t ->
Stdlib.Format.formatter ->
t ->
unitval pp_err : Stdlib.Format.formatter -> err_t -> unitval get_recovery_tactic : t -> err_t list -> vt Engine.Recovery_tactic.tval add_spec_vars : t -> Gil_syntax.Var.Set.t -> tAdd Spec Var
val get_spec_vars : t -> Gil_syntax.Var.Set.tGet Spec Vars
val get_lvars : t -> Gil_syntax.Var.Set.tGet all logical variables
val to_assertions : ?to_keep:Utils.Containers.SS.t -> t -> Gil_syntax.Asrt.tTurns a state into a list of assertions
val evaluate_slcmd :
'a Engine.MP.prog ->
Gil_syntax.SLCmd.t ->
t ->
(t, err_t) Engine.Res_list.tval match_invariant :
'a Engine.MP.prog ->
bool ->
t ->
Gil_syntax.Asrt.t ->
string list ->
(t * t, err_t) Engine.Res_list.tmatch_invariant prog revisited state invariant binders returns a list of pairs of states. In each pair, the first element is the framed off state, and the second one is the invariant, i.e. the state obtained by producing the invariant
val frame_on :
t ->
(string * t) list ->
string list ->
(t, err_t) Engine.Res_list.tval run_spec :
Engine.MP.spec ->
string ->
vt list ->
(string * (string * vt) list) option ->
t ->
(t * Gil_syntax.Flag.t, err_t) Engine.Res_list.tval run_par_spec :
(Engine.MP.spec * string * vt list * (string * (string * vt) list) option)
list ->
t ->
(t * Gil_syntax.Flag.t, err_t) Engine.Res_list.tval sure_is_nonempty : t -> boolval unfolding_vals : t -> Gil_syntax.Expr.t list -> vt listval try_recovering :
t ->
vt Engine.Recovery_tactic.t ->
(t list, string) Stdlib.resultval clean_up : ?keep:Gil_syntax.Expr.Set.t -> t -> unitval match_assertion : t -> st -> Engine.MP.step -> (t, err_t) Engine.Res_list.tval produce_posts : t -> st -> Gil_syntax.Asrt.t list -> t listval produce : t -> st -> Gil_syntax.Asrt.t -> (t, err_t) Engine.Res_list.tval mem_constraints : t -> Gil_syntax.Expr.t listval can_fix : err_t -> boolval get_failing_constraint : err_t -> Gil_syntax.Expr.tval get_fixes : err_t -> Gil_syntax.Asrt.t list