module Trace:sig..end
module Simulation_info:sig..end
type event_kind = 
| | 
RULE of  | 
|||
| | 
INIT of  | 
(* | 
the agents 
 | *) | 
| | 
PERT of  | 
(* | 
the rule 
 | *) | 
val print_event_kind : ?env:Model.t -> Format.formatter -> event_kind -> unit
val print_event_kind_dot_annot : Model.t -> Format.formatter -> event_kind -> unit
type step = 
| | 
Subs of  | 
| | 
Rule of  | 
| | 
Pert of  | 
| | 
Init of  | 
| | 
Obs of  | 
| | 
Dummy of  | 
typet =step list
val dummy_step : string -> step
val subs_step : int -> int -> step
val step_is_obs : step -> bool
val step_is_init : step -> bool
val step_is_subs : step -> bool
val step_is_rule : step -> bool
val step_is_pert : step -> bool
val has_creation_of_step : step -> bool
val tests_of_step : step -> Instantiation.concrete Instantiation.test list
val actions_of_step : step ->
       Instantiation.concrete Instantiation.action list *
       (Instantiation.concrete Instantiation.site *
        Instantiation.concrete Instantiation.binding_state)
       listval side_effects_of_step : step -> Instantiation.concrete Instantiation.site list
val simulation_info_of_step : step -> unit Simulation_info.t option
val creation_of_actions : ('a -> 'b) -> 'a Instantiation.action list -> 'b list
val creation_of_step : step -> int list
val print_step : ?compact:bool -> ?env:Model.t -> Format.formatter -> step -> unit
val print_label_of_step : ?env:Model.t -> Format.formatter -> step -> unit
val step_to_yojson : step -> Yojson.Basic.json
val step_of_yojson : Yojson.Basic.json -> step
val write_step : Bi_outbuf.t -> step -> unitTrace.step.val string_of_step : ?len:int -> step -> stringTrace.step into a JSON string.len : specifies the initial length
                 of the buffer used internally.
                 Default: 1024.val read_step : Yojson.Safe.lexer_state -> Lexing.lexbuf -> stepTrace.step.val step_of_string : string -> stepTrace.step.val to_yojson : t -> Yojson.Basic.json
val of_yojson : Yojson.Basic.json -> t
val init_trace_file : uuid:int -> Model.t -> Pervasives.out_channel -> unit
val fold_trace_file : (Model.t -> 'a -> step -> 'a) ->
       (Model.t -> 'a) -> string -> Model.t * 'a