Module Kappa_runtime.Rule_interpreter
include sig ... end
type t= Kappa_runtime__Generic_rule_interpreter.Make(Kappa_runtime.Instances).ttype instance= Kappa_runtime__Generic_rule_interpreter.Make(Kappa_runtime.Instances).instancetype result= Kappa_runtime__Generic_rule_interpreter.Make(Kappa_runtime.Instances).result=|Clash|Corrected|Blocked|Success of t
val empty : outputs:(Data.t -> unit) -> with_trace:bool -> Random.State.t -> Kappa_terms.Model.t -> Counter.t -> tval value_alg : Counter.t -> t -> Kappa_terms.Primitives.alg_expr -> Kappa_generic_toolset.Nbr.tval value_bool : Counter.t -> t -> (Kappa_terms.Pattern.id array list, int) Kappa_terms.Alg_expr.bool -> boolval activity : t -> floatval get_edges : t -> Kappa_mixtures.Edges.tval apply_given_rule : debugMode:bool -> outputs:(Data.t -> unit) -> ?rule_id:int -> Kappa_terms.Model.t -> Counter.t -> t -> Trace.event_kind -> Kappa_terms.Primitives.elementary_rule -> resultval pick_an_instance : debugMode:bool -> Kappa_terms.Model.t -> t -> instanceval is_correct_instance : Kappa_terms.Model.t -> t -> instance -> boolval apply_instance : debugMode:bool -> outputs:(Data.t -> unit) -> ?maxConsecutiveBlocked:int -> maxConsecutiveClash:int -> Kappa_terms.Model.t -> Counter.t -> t -> instance -> int option * bool * tval force_rule : debugMode:bool -> outputs:(Data.t -> unit) -> Kappa_terms.Model.t -> Counter.t -> t -> Trace.event_kind -> ?rule_id:int -> Kappa_terms.Primitives.elementary_rule -> t optionval incorporate_extra_pattern : debugMode:bool -> Kappa_terms.Pattern.Env.t -> t -> Kappa_terms.Pattern.id -> tval overwrite_var : int -> Counter.t -> t -> Kappa_terms.Primitives.alg_expr -> tval update_outdated_activities : debugMode:bool -> (int -> float -> float -> unit) -> Kappa_terms.Model.t -> Counter.t -> t -> int list -> t * int listval snapshot : debugMode:bool -> raw:bool -> Kappa_terms.Model.t -> Counter.t -> t -> Data.snapshotval print : Kappa_terms.Model.t -> Format.formatter -> t -> unitval get_random_state : t -> Random.State.tval update_edges_from_actions : debugMode:bool -> outputs:(Data.t -> unit) -> Kappa_mixtures.Signature.s -> Counter.t -> Kappa_terms.Pattern.Env.t -> t -> (Kappa_terms.Instantiation.concrete Kappa_terms.Instantiation.action list * Kappa_terms.Instantiation.concrete Kappa_terms.Instantiation.site list) -> tval send_instances_message : Instances.message -> t -> t
type event_predicate= int option -> Kappa_terms.Matching.t -> Kappa_terms.Instantiation.concrete Kappa_terms.Instantiation.test list -> Kappa_terms.Instantiation.concrete Kappa_terms.Instantiation.action list -> bool
val set_events_to_block : event_predicate option -> t -> tval add_tracked : outputs:(Data.t -> unit) -> Kappa_terms.Pattern.id array -> string -> Kappa_terms.Instantiation.abstract Kappa_terms.Instantiation.test list list -> t -> tval remove_tracked : Kappa_terms.Pattern.id array -> string option -> t -> tval add_tracked_species : Kappa_terms.Pattern.id array -> string -> Kappa_terms.Instantiation.abstract Kappa_terms.Instantiation.test list list -> t -> tval remove_tracked_species : string -> t -> t
type stats= Kappa_runtime__Generic_rule_interpreter.Make(Kappa_runtime.Instances).stats={mixture_stats : Kappa_mixtures.Edges.stats;}
val stats : t -> statsval print_stats : Format.formatter -> t -> unitval debug_print : Format.formatter -> t -> unitval apply_negative_transformation : ?mod_connectivity_store:Roots.mod_ccs_cache -> Instances.t -> (Kappa_terms.Instantiation.concrete Kappa_terms.Instantiation.site list * Kappa_mixtures.Edges.t) -> Kappa_terms.Instantiation.concrete Kappa_terms.Primitives.Transformation.t -> Kappa_terms.Instantiation.concrete Kappa_terms.Instantiation.site list * Kappa_mixtures.Edges.tval apply_positive_transformation : debugMode:bool -> Kappa_mixtures.Signature.s -> ?mod_connectivity_store:Roots.mod_ccs_cache -> Instances.t -> ((Kappa_terms.Matching.t * int Kappa_generic_toolset.Mods.IntMap.t) * Kappa_terms.Instantiation.concrete Kappa_terms.Instantiation.site list * Kappa_mixtures.Edges.t) -> Kappa_terms.Instantiation.abstract Kappa_terms.Primitives.Transformation.t -> ((Kappa_terms.Matching.t * int Kappa_generic_toolset.Mods.IntMap.t) * Kappa_terms.Instantiation.concrete Kappa_terms.Instantiation.site list * Kappa_mixtures.Edges.t) * Kappa_terms.Instantiation.concrete Kappa_terms.Primitives.Transformation.tval apply_concrete_positive_transformation : Kappa_mixtures.Signature.s -> ?mod_connectivity_store:Roots.mod_ccs_cache -> Instances.t -> Kappa_mixtures.Edges.t -> Kappa_terms.Instantiation.concrete Kappa_terms.Primitives.Transformation.t -> Kappa_mixtures.Edges.tval obs_from_transformations : debugMode:bool -> Kappa_terms.Pattern.Env.t -> Kappa_mixtures.Edges.t -> Kappa_terms.Instantiation.concrete Kappa_terms.Primitives.Transformation.t list -> (Kappa_terms.Pattern.id * Kappa_mixtures.Agent.t) list * Kappa_generic_toolset.Operator.DepSet.tval add_outdated_dependencies : Kappa_generic_toolset.Operator.DepSet.t -> t -> tval debug_print_instances : Format.formatter -> t -> unit