Module Kappa_terms.Alg_expr
type pervasives_bool
= bool
type ('mix, 'id) e
=
|
BIN_ALG_OP of Kappa_generic_toolset.Operator.bin_alg_op * ('mix, 'id) e Kappa_generic_toolset.Locality.annot * ('mix, 'id) e Kappa_generic_toolset.Locality.annot
|
UN_ALG_OP of Kappa_generic_toolset.Operator.un_alg_op * ('mix, 'id) e Kappa_generic_toolset.Locality.annot
|
STATE_ALG_OP of Kappa_generic_toolset.Operator.state_alg_op
|
ALG_VAR of 'id
|
KAPPA_INSTANCE of 'mix
|
TOKEN_ID of 'id
|
CONST of Kappa_generic_toolset.Nbr.t
|
IF of ('mix, 'id) bool Kappa_generic_toolset.Locality.annot * ('mix, 'id) e Kappa_generic_toolset.Locality.annot * ('mix, 'id) e Kappa_generic_toolset.Locality.annot
|
DIFF_TOKEN of ('mix, 'id) e Kappa_generic_toolset.Locality.annot * 'id
|
DIFF_KAPPA_INSTANCE of ('mix, 'id) e Kappa_generic_toolset.Locality.annot * 'mix
and ('mix, 'id) bool
=
|
TRUE
|
FALSE
|
BIN_BOOL_OP of Kappa_generic_toolset.Operator.bin_bool_op * ('mix, 'id) bool Kappa_generic_toolset.Locality.annot * ('mix, 'id) bool Kappa_generic_toolset.Locality.annot
|
UN_BOOL_OP of Kappa_generic_toolset.Operator.un_bool_op * ('mix, 'id) bool Kappa_generic_toolset.Locality.annot
|
COMPARE_OP of Kappa_generic_toolset.Operator.compare_op * ('mix, 'id) e Kappa_generic_toolset.Locality.annot * ('mix, 'id) e Kappa_generic_toolset.Locality.annot
val e_to_yojson : filenames:int Kappa_generic_toolset.Mods.StringMap.t -> ('a -> Yojson.Basic.t) -> ('b -> Yojson.Basic.t) -> ('a, 'b) e -> Yojson.Basic.t
val e_of_yojson : filenames:string array -> (Yojson.Basic.t -> 'a) -> (Yojson.Basic.t -> 'b) -> Yojson.Basic.t -> ('a, 'b) e
val print : (Format.formatter -> 'a -> unit) -> (Format.formatter -> 'b -> unit) -> (Format.formatter -> 'b -> unit) -> Format.formatter -> ('a, 'b) e -> unit
val bool_to_yojson : filenames:int Kappa_generic_toolset.Mods.StringMap.t -> ('a -> Yojson.Basic.t) -> ('b -> Yojson.Basic.t) -> ('a, 'b) bool -> Yojson.Basic.t
val bool_of_yojson : filenames:string array -> (Yojson.Basic.t -> 'a) -> (Yojson.Basic.t -> 'b) -> Yojson.Basic.t -> ('a, 'b) bool
val print_bool : (Format.formatter -> 'a -> unit) -> (Format.formatter -> 'b -> unit) -> (Format.formatter -> 'b -> unit) -> Format.formatter -> ('a, 'b) bool -> unit
val const : Kappa_generic_toolset.Nbr.t -> ('a, 'b) e Kappa_generic_toolset.Locality.annot
Smart constructor
val int : int -> ('a, 'b) e Kappa_generic_toolset.Locality.annot
val float : float -> ('a, 'b) e Kappa_generic_toolset.Locality.annot
val add : ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot
val minus : ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot
val mult : ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot
val div : ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot
val pow : ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot
val ln : ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot
val uminus : ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot
val sin : ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot
val cos : ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot
val sqrt : ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot
val add_dep : (Kappa_generic_toolset.Operator.DepSet.t * Kappa_generic_toolset.Operator.DepSet.t * Kappa_generic_toolset.Operator.DepSet.t array * Kappa_generic_toolset.Operator.DepSet.t array) -> Kappa_generic_toolset.Operator.rev_dep -> ('a, int) e Kappa_generic_toolset.Locality.annot -> Kappa_generic_toolset.Operator.DepSet.t * Kappa_generic_toolset.Operator.DepSet.t * Kappa_generic_toolset.Operator.DepSet.t array * Kappa_generic_toolset.Operator.DepSet.t array
depend in time, depend in event number, depend in given var
val add_dep_bool : (Kappa_generic_toolset.Operator.DepSet.t * Kappa_generic_toolset.Operator.DepSet.t * Kappa_generic_toolset.Operator.DepSet.t array * Kappa_generic_toolset.Operator.DepSet.t array) -> Kappa_generic_toolset.Operator.rev_dep -> ('a, int) bool Kappa_generic_toolset.Locality.annot -> Kappa_generic_toolset.Operator.DepSet.t * Kappa_generic_toolset.Operator.DepSet.t * Kappa_generic_toolset.Operator.DepSet.t array * Kappa_generic_toolset.Operator.DepSet.t array
val setup_alg_vars_rev_dep : unit Kappa_generic_toolset.NamedDecls.t -> (string Kappa_generic_toolset.Locality.annot * ('a, int) e Kappa_generic_toolset.Locality.annot) array -> Kappa_generic_toolset.Operator.DepSet.t * Kappa_generic_toolset.Operator.DepSet.t * Kappa_generic_toolset.Operator.DepSet.t array * Kappa_generic_toolset.Operator.DepSet.t array
val has_mix : ?var_decls:('b -> ('c, 'b) e) -> ('a, 'b) e -> pervasives_bool
val is_constant : ('a, 'b) e Kappa_generic_toolset.Locality.annot -> pervasives_bool
val is_time_homogeneous : ('a, 'b) e Kappa_generic_toolset.Locality.annot -> pervasives_bool
does not take into account symbolic propagation of expression
val has_progress_dep : only_time:pervasives_bool -> (Kappa_generic_toolset.Operator.DepSet.t * Kappa_generic_toolset.Operator.DepSet.t * Kappa_generic_toolset.Operator.DepSet.t array * Kappa_generic_toolset.Operator.DepSet.t array) -> ('a, int) e Kappa_generic_toolset.Locality.annot -> pervasives_bool
val extract_connected_components : ('a, 'b) e Kappa_generic_toolset.Locality.annot -> 'a list
val extract_connected_components_bool : ('a, 'b) bool Kappa_generic_toolset.Locality.annot -> 'a list
val propagate_constant : warning:(pos:Kappa_generic_toolset.Locality.t -> (Format.formatter -> unit) -> unit) -> ?max_time:float -> ?max_events:int -> int list -> (string Kappa_generic_toolset.Locality.annot * ('a, int) e Kappa_generic_toolset.Locality.annot) array -> ('a, int) e Kappa_generic_toolset.Locality.annot -> ('a, int) e Kappa_generic_toolset.Locality.annot
val propagate_constant_bool : warning:(pos:Kappa_generic_toolset.Locality.t -> (Format.formatter -> unit) -> unit) -> ?max_time:float -> ?max_events:int -> int list -> (string Kappa_generic_toolset.Locality.annot * ('a, int) e Kappa_generic_toolset.Locality.annot) array -> ('a, int) bool Kappa_generic_toolset.Locality.annot -> ('a, int) bool Kappa_generic_toolset.Locality.annot
val is_equality_test_time : (Kappa_generic_toolset.Operator.DepSet.t * Kappa_generic_toolset.Operator.DepSet.t * Kappa_generic_toolset.Operator.DepSet.t array * Kappa_generic_toolset.Operator.DepSet.t array) -> ('a, int) bool -> pervasives_bool
val map_on_mixture : ('a -> ('c, 'b) e) -> ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('c, 'b) e Kappa_generic_toolset.Locality.annot
val map_bool_on_mixture : ('a -> ('c, 'b) e) -> ('a, 'b) bool Kappa_generic_toolset.Locality.annot -> ('c, 'b) bool Kappa_generic_toolset.Locality.annot
val fold_on_mixture : ('a -> 'b -> 'a) -> 'a -> ('b, 'c) e Kappa_generic_toolset.Locality.annot -> 'a
val fold_bool_on_mixture : ('a -> 'b -> 'a) -> 'a -> ('b, 'c) bool Kappa_generic_toolset.Locality.annot -> 'a
val equal : ('a, 'b) e Kappa_generic_toolset.Locality.annot -> ('a, 'b) e Kappa_generic_toolset.Locality.annot -> pervasives_bool
Syntactic equality up to positions but not associativity and comutativity
val equal_bool : ('a, 'b) bool Kappa_generic_toolset.Locality.annot -> ('a, 'b) bool Kappa_generic_toolset.Locality.annot -> pervasives_bool