Td3.Basemodule UpdateRule : Td3UpdateRule.Smodule EqS0 : sig ... endinclude sig ... endval max_var : EqS0.Var.t option Batteries.refval increase : EqS0.Var.t -> unitval new_var_event : EqS0.Var.t -> unitval get_var_event : EqS0.Var.t -> unitval eval_rhs_event : EqS0.Var.t -> unitval update_var_event : EqS0.Var.t -> EqS0.Dom.t -> EqS0.Dom.t -> unitmodule VS : sig ... endmodule UpdateRule : sig ... endval assert_can_receive_side : Hooks.S.v -> unittype solver_data = {st : (S.Var.t * S.Dom.t) list;infl : VS.t HM.t;sides : VS.t HM.t;update_rule_data : UpdateRule.data;rho : S.Dom.t HM.t;wpoint_gas : int HM.t;Tracks the widening gas of both side-effected and non-side-effected variables. Although they may have different gas budgets, they can be in the same map since no side-effected variable may ever have a rhs.
*)stable : unit HM.t;side_dep : VS.t HM.t;Dependencies of side-effected variables. Knowing these allows restarting them and re-triggering all side effects.
*)side_infl : VS.t HM.t;Influences to side-effected variables. Not normally in infl, but used for restarting them.
var_messages : Messages.Message.t HM.t;Messages from right-hand sides of variables. Used for incremental postsolving.
*)rho_write : S.Dom.t HM.t HM.t;Side effects from variables to write-only variables with values. Used for fast incremental restarting of write-only variables.
*)dep : VS.t HM.t;Dependencies of variables. Inverse of infl. Used for fast pre-reachable pruning in incremental postsolving.
weak_dep : VS.t HM.t;Weak dependencies of variables via demand (if enabled).
}type marshal = solver_dataval create_empty_data : unit -> solver_dataval print_data : solver_data -> unitval print_data_verbose : solver_data -> string -> unitval verify_data : solver_data -> unitval pp_phase :
Ppx_deriving_runtime.Format.formatter ->
phase ->
Ppx_deriving_runtime.unitval show_phase : phase -> Ppx_deriving_runtime.stringmodule CurrentVarS : sig ... endmodule S = CurrentVarS.Smodule EqS : sig ... endval solve :
(S.Var.t * S.Dom.t) list ->
HM.key list ->
solver_data option ->
S.Dom.t HM.t * solver_data