Domains.Poly
Apron Polyhedra
val empty : t
returns an empty element
returns the variables annoted by their type and their definition domain
val volume : t -> float
computes the volume of an abstract element
Joins two abstract elements. The boolean flag indicates if the join was exact. It is always sound to return false
Joins a list of n
abstract elements. May be faster than joining pairwise. The boolean flag indicates if the join was exact. It is always sound to return false
substracts the second abstract element from the first (difference operator) if an exact operator can not be defined (None), the solver doesn't use the pruning features. precondition: the two abstract elements must be defined onto the same set of variables.
splits an abstract element along the specified variable
val internalize : ?elem:t -> Constraint.comparison -> internal_constr
may use a current abstract element to simplify the constaint
val externalize : internal_constr -> Constraint.comparison
val sat : Instance.t -> internal_constr -> bool
satisfaction test on the internal constraint representation
val filter : t -> internal_constr -> t Consistency.t
filters an abstract element with respect to an arithmetic constraint, may raise bot found.
val filter_diff : t -> internal_constr -> (t * Tools.VarSet.t) Consistency.t
same as filter but also return a set of variables that had their domains effectively reduced
val is_representable : internal_constr -> Kleene.t
checks if a constraint is suited for this abstract domain
computes the range of value of a given expression within an abstract element
val to_constraint : t -> Constraint.t
transforms an abstract element into constraints
val spawn : t -> Csp.instance
Random concretization function. useful to do tests, and to reuse the results. values are generated uniformly when possible
val is_abstraction : t -> Csp.instance -> bool
check if an abstract element is an abstraction of an instance
val print : Stdlib.Format.formatter -> t -> unit
printing
val render : t -> Picasso.Drawable.t
transforms an abstract element into a Picasso.Drawable.t for drawing