Module Kappa_runtime.Rule_interpreter

type t
type instance
type result =
  1. | Clash
  2. | Corrected
  3. | Blocked
  4. | Success of t
val empty : outputs:(Data.t -> unit) -> with_trace:bool -> Stdlib.Random.State.t -> Kappa_terms.Model.t -> Counter.t -> t
val force_rule : debug_mode:bool -> outputs:(Data.t -> unit) -> Kappa_terms.Model.t -> Counter.t -> t -> Trace.event_kind -> ?rule_id:int -> Kappa_terms.Primitives.elementary_rule -> t option
val update_outdated_activities : debug_mode:bool -> (int -> float -> float -> unit) -> Kappa_terms.Model.t -> Counter.t -> t -> int list -> t * int list
val overwrite_var : int -> Counter.t -> t -> Kappa_terms.Primitives.alg_expr -> t
val snapshot : debug_mode:bool -> raw:bool -> Kappa_terms.Model.t -> Counter.t -> t -> Data.snapshot
val add_tracked : outputs:(Data.t -> unit) -> Kappa_terms.Pattern.id array -> string -> Kappa_terms.Instantiation.abstract Kappa_terms.Instantiation.test list list -> t -> t
val remove_tracked : Kappa_terms.Pattern.id array -> string option -> t -> t
val add_tracked_species : Kappa_terms.Pattern.id array -> string -> Kappa_terms.Instantiation.abstract Kappa_terms.Instantiation.test list list -> t -> t
val remove_tracked_species : string -> t -> t
val value_bool : Counter.t -> t -> (Kappa_terms.Pattern.id array list, int) Kappa_terms.Alg_expr.bool -> bool
val apply_given_rule : debug_mode:bool -> outputs:(Data.t -> unit) -> ?rule_id:int -> Kappa_terms.Model.t -> Counter.t -> t -> Trace.event_kind -> Kappa_terms.Primitives.elementary_rule -> result
val incorporate_extra_pattern : debug_mode:bool -> Kappa_terms.Pattern.Env.t -> t -> Kappa_terms.Pattern.id -> t
val activity : t -> float
val apply_instance : debug_mode:bool -> outputs:(Data.t -> unit) -> ?maxConsecutiveBlocked:int -> maxConsecutiveClash:int -> Kappa_terms.Model.t -> Counter.t -> t -> instance -> int option * bool * t
val print : Kappa_terms.Model.t -> Stdlib.Format.formatter -> t -> unit
val pick_an_instance : debug_mode:bool -> Kappa_terms.Model.t -> t -> instance
val is_correct_instance : Kappa_terms.Model.t -> t -> instance -> bool
val get_random_state : t -> Stdlib.Random.State.t
val print_stats : Stdlib.Format.formatter -> t -> unit