Libabsolute.CspThis module defines the main types used for the constraint language of AbSolute, along with the type of problems, and instance.
type instance = Q.t Tools.VarMap.tthe instance type
annotations to test the validity of the solver
type t = {variables : decl list;constraints : Constraint.t list;objective : Expr.t option;solutions : info option;}type of constraint satisfaction problems
val dimensions : t -> intreturns the number of variables of a csp
val var_names : t -> string listreturns list of all variable names
val empty : tempty problem, with no variables and no constraints
adds a real variable in the csp, with float bounds
adds an integer variable in the csp with integer bounds
val add_constr : t -> Constraint.t -> tadds a constraint to the csp
val sat : t -> Instance.t -> boolEvaluates the CSP at the given point, i.e true iff all constraints are satisfied
fix_var csp var cst builds a new csp identical to the csp where all the occurences of the variable var are replaced by the constant cst, and where the variables v is removed from the csp variables.
val pp_typ : Stdlib.Format.formatter -> typ -> unitval pp_constraints : Stdlib.Format.formatter -> Constraint.t list -> unitval print : Stdlib.Format.formatter -> t -> unitval to_graphviz : t -> string -> unit