Module Kappa_runtime.Replay
type state={graph : Kappa_mixtures.Edges.t;time : float;event : int;connected_components : Kappa_mixtures.Agent.SetMap.Set.t Kappa_generic_toolset.Mods.IntMap.t option;}type summary={unary_distances : (int * int) option;}
val init_state : with_connected_components:bool -> stateval do_step : Kappa_mixtures.Signature.s -> state -> Trace.step -> state * summary- 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 -> booldetermines whether or not a step can be applied from a given state.
val is_step_triggerable_on_edges : Kappa_mixtures.Edges.t -> Trace.step -> boolsame function but takes a graph of type Edges.t directly.
val tests_pass_on : Kappa_mixtures.Edges.t -> Kappa_terms.Instantiation.concrete Kappa_terms.Instantiation.test list list -> boolexported for convenience.
val cc_of_state : debugMode:bool -> state -> Kappa_terms.Pattern.PreEnv.t -> Kappa_terms.Pattern.PreEnv.t * ((int * int) list * Kappa_terms.Pattern.cc * Kappa_terms.Pattern.id) list