Module Alg_expr_extra

module Alg_expr_extra: sig .. end
Primitives for handling rule rates when detecting symmetries

val divide_expr_by_int : ('mix, 'id) Alg_expr.e Locality.annot ->
int -> ('mix, 'id) Alg_expr.e Locality.annot
val simplify : ('mix, 'id) Alg_expr.e Locality.annot ->
('mix, 'id) Alg_expr.e Locality.annot
type ('mix, 'id) corrected_rate_const 
val print : (Format.formatter -> ('mix, 'id) Alg_expr.e Locality.annot option -> unit) ->
Format.formatter ->
('mix, 'id) corrected_rate_const option -> unit
val get_corrected_rate : ('mix, 'id) Alg_expr.e Locality.annot ->
('mix, 'id) corrected_rate_const option
val necessarily_equal : ('mix, 'id) corrected_rate_const option ->
('mix, 'id) corrected_rate_const option -> bool

derivation
val dep : 'set ->
('mix -> 'set -> 'set) ->
('id -> 'set -> 'set) ->
('set -> 'set -> 'set) ->
('id -> 'set) ->
?time_var:'mix -> ('mix, 'id) Alg_expr.e Locality.annot -> 'set
val diff_token : ('mix, 'id) Alg_expr.e Locality.annot ->
'id -> ('mix, 'id) Alg_expr.e Locality.annot
val diff_mixture : ?time_var:'mix ->
('mix, 'id) Alg_expr.e Locality.annot ->
'mix -> ('mix, 'id) Alg_expr.e Locality.annot
val fold_over_mixtures_in_alg_exprs : (Pattern.id -> 'a -> 'a) -> Model.t -> 'a -> 'a