Module Model
module MIL : Stdlib.Map.S with type MIL.key = int listtype value=|Term of Term.t|Lambda of Term.lambda|Map of Term.t MIL.tTerm 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.
val pp_print_value : ?as_type:Type.t -> Stdlib.Format.formatter -> value -> unitPretty-print a value
val pp_print_value_xml : ?as_type:Type.t -> Stdlib.Format.formatter -> value -> unitPretty-print a value in xml format
val pp_print_value_json : ?as_type:Type.t -> Stdlib.Format.formatter -> value -> unitPretty-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 kextracts from the modelma path of values for each of the state variables insfrom the offset zero up tok. The lists of values for each state variable are of equal length. Values that are not defined in the model are filled withTermLib.default_of_type.
val path_length : path -> intReturn the length of the value paths
All value paths are of equal lengths.
val model_at_k_of_path : path -> Numeral.t -> tExtract values at instant
kfrom the path and return a model
val exists_on_path : (t -> bool) -> path -> boolReturn true if the predicate
papplies at one step of the path
val for_all_on_path : (t -> bool) -> path -> boolReturn true if the predicate
papplies at each step of the path
val merge : t -> t -> tCombine assignments of two models into one. If a variable has an assignment in both models, it gets the assignment in the second model.