ModelTerm or lambda expression
type t = value Var.VarHashtbl.tA model is a list of variables and assignemnts
type path = value list StateVar.StateVarHashtbl.tA path is a map of state variables to assignments
val path_offset : Numeral.tOffset of the variables at each step of a path.
Pretty-print a value
Pretty-print a value in xml format
Pretty-print a value in json format
val pp_print_model : Stdlib.Format.formatter -> t -> unitPretty-print a model
val pp_print_path : Stdlib.Format.formatter -> path -> unitPretty-print a path
val create : int -> tCreate a model of the given size
val create_path : int -> pathCreate a path of the given size
val path_to_list : path -> (StateVar.t * value list) listReturn an association list with the assignments in the model
val path_of_list : (StateVar.t * value list) list -> pathCreate a model of an association list
val path_of_term_list : (StateVar.t * Term.t list) list -> pathCreate a model of an association list
val path_from_model : StateVar.t list -> t -> Numeral.t -> pathConvert a model to a path
path_from_model s m k extracts from the model m a path of values for each of the state variables in s from the offset zero up to k. The lists of values for each state variable are of equal length. Values that are not defined in the model are filled with TermLib.default_of_type.
val path_length : path -> intReturn the length of the value paths
All value paths are of equal lengths.
Extract values at instant k from the path and return a model
Return true if the predicate p applies at one step of the path
Return true if the predicate p applies at each step of the path
Combine assignments of two models into one. If a variable has an assignment in both models, it gets the assignment in the second model.
Combine assignments of two models into one as in merge, but bump the variables in the second model by the given offset before merging.
val dimension_of_map : Term.t MIL.t -> int listReturns the bounds / dimension of the array value represented by the map in the model