type t
val create : ?init_t:float -> ?init_e:int -> ?max_time:float -> ?max_event:int -> plot_period:Kappa_terms.Configuration.period -> nb_rules:int -> t
val reinitialize : t -> unit
val current_simulation_info : t -> unit Trace.Simulation_info.t
val next_story : t -> unit Trace.Simulation_info.t
val fill : outputs:(t -> float -> unit) -> t -> dt:float -> unit
val fake_time : t -> float -> t
val one_time_advance : t -> float -> bool
val one_blocked_event : t -> bool
val one_constructive_event : rule_id:int -> t -> bool
val one_clashing_instance_event : rule_id:int -> t -> bool
val one_no_more_unary_event : rule_id:int -> t -> bool
val one_no_more_binary_event : rule_id:int -> t -> bool
val one_time_correction_event : ?ti:Kappa_generic_toolset.Nbr.t -> t -> bool
val inc_stories : t -> unit
val init_time : t -> float
val max_time : t -> float option
val max_events : t -> int option
val set_max_time : t -> float option -> unit
val set_max_events : t -> int option -> unit
val event_ratio : t -> float option
val time_ratio : t -> float option
val tracked_events : t -> int option
val positive_plot_period : t -> bool
val plot_period : t -> Kappa_terms.Configuration.period
val set_plot_period : t -> Kappa_terms.Configuration.period -> unit
val current_time : t -> float
val current_event : t -> int
val current_story : t -> int
val nb_null_event : t -> int
val consecutive_null_event : rule_id:int -> t -> int
val consecutive_blocked : t -> int
val get_efficiency : t -> Efficiency.t
val print_efficiency : Format.formatter -> t -> unit