Module type React_intf.R

Input signature of the functor React.Make.

type t
val to_yojson : t -> Yojson.Safe.t
val of_yojson : Yojson.Safe.t -> t Ppx_deriving_yojson_runtime.error_or
type label
val pp_label : Ppx_deriving_runtime.Format.formatter -> label -> Ppx_deriving_runtime.unit
val show_label : label -> Ppx_deriving_runtime.string
val label_to_yojson : label -> Yojson.Safe.t
val label_of_yojson : Yojson.Safe.t -> label Ppx_deriving_yojson_runtime.error_or
val name : t -> string
val lhs : t -> Big.t
val rhs : t -> Big.t
val conds : t -> AppCond.t list
val cond_captures : t -> string list
val l : t -> label
val equal : t -> t -> bool
val map : t -> Fun.t option
val compare_label : label -> label -> int
val merge_occ : (Big.t * label * t list) -> (Big.t * label * t list) -> Big.t * label * t list
val compare_merge_key : label -> label -> int
val val_chk : t -> bool
val val_chk_error_msg : string
val scale_label : float -> label -> label

Scale a label by a multiplicative factor. The SAT-based symmetry breaking (SBC) prunes each safe-automorphism orbit of a rule's LHS to a single representative, so the surviving occurrence's rate/weight under-counts the true mass-action total by the orbit size G. The caller multiplies the label by float_of_int G to recover the total (matching the GBS enumeration, which skips SBC). Identity for BRS (boolean labels). Must be applied before merge_occ / step_post.

val make : name:string -> lhs:Big.t -> rhs:Big.t -> ?conds:AppCond.t list -> ?cond_captures:string list -> label -> Fun.t option -> t
val step_post : ((Big.t * label * t list) list * int) -> (Big.t * label * t list) list * int

Postprocessing rewrite step.

val random_step_post : Stdlib.Random.State.t -> ((Big.t * label * t list) list * int) -> (Big.t * label * t list) option * int

Postprocessing random rewrite step.

val random_step_post_forced : Stdlib.Random.State.t -> ((Big.t * label * t list) list * (Big.t * label * t list) list * int) -> (Big.t * label * t list) option * int

Forced postprocessing random rewrite step. The first transition list is that of the forced rule, the second that of its full priority class, and the count is the rule's occurrence count: the successor is sampled from the rule's transitions, while the SBRS sojourn is drawn at the class exit rate, i.e. the CTMC path conditioned on the rule firing.