Module Kappa_runtime.Replay

Utilities to make mixtures from traces

type state = {
  1. graph : Kappa_site_graphs.Edges.t;
  2. time : float;
  3. event : int;
  4. connected_components : Kappa_site_graphs.Agent.SetMap.Set.t Kappa_data_structures.Mods.IntMap.t option;
}
type summary = {
  1. unary_distances : (int * int) option;
}
val init_state : with_connected_components:bool -> state
  • returns

    the new state and, if the step was an unary instance of a binary rule, the id of the rule and the distance between its 2 connected patterns.

val is_step_triggerable : state -> Trace.step -> bool

determines whether or not a step can be applied from a given state.

val is_step_triggerable_on_edges : Kappa_site_graphs.Edges.t -> Trace.step -> bool

same function but takes a graph of type Edges.t directly.

exported for convenience.

val cc_of_state : debug_mode:bool -> state -> Kappa_terms.Pattern.PreEnv.t -> Kappa_terms.Pattern.PreEnv.t * ((int * int) list * Kappa_terms.Pattern.cc * Kappa_terms.Pattern.id) list