Module Replay

module Replay: sig .. end
Utilities to make mixtures from traces

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