package goblint
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=20d5b7332a9f6072ab9ba86c4a53b898eaf681286c56a8805c41850bbf3ddf41
sha512=7c7685cfcd9aa866bc40e813df2bfcb3c79b3d40e615d8d6d0939c5798b9d70dd7f2ba87a741f5ba0ce891e9d254627207fb28057f1f2f6611e4e0d128fd6a71
doc/goblint.solver/Goblint_solver/Td3/Base/index.html
Module Td3.Base
Source
Parameters
module HM : Batteries.Hashtbl.S with type key = S.v
module UpdateRule : Td3UpdateRule.S
Signature
include sig ... end
type 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).
}
val solve :
(S.Var.t * S.Dom.t) list ->
HM.key list ->
solver_data option ->
S.Dom.t HM.t * solver_data