module Condition:sig
..end
Trigerring condition for transitions
typet =
event list * guard list
The event list will be a singleton for normal transition, empty for initial transition
typeevent =
string
event name
typeguard =
Expr.t
typeenv =
(string * Expr.value) list
exception Illegal_guard_expr of Expr.t
val vars_of : t -> Expr.VarSet.t
val events_of : t -> Expr.VarSet.t
val eval_guard : env -> guard -> bool
val eval_guards : env -> guard list -> bool
eval_guards env [g1;...gN]
is true iff eval_guard env gi
is true for each i=1...N
val rename : (string -> string) -> t -> t
rename f c
renames f v
each variable v
occurring in c
val subst : Eval.env -> t -> t
subst env (evs,guards)
replaces each variable v
occuring in guards
by its value if found in env
,
simplifying the resulting expression whenever possible.
val string_of_guard : guard -> string
val to_string : t -> string