Libabsolute
Libabsolute is a constraint solving library based on abstract domains
module Csp : sig ... end
This module defines the main types used for the constraint language of AbSolute, along with the type of problems, and instance.
module Constraint : sig ... end
This module defines the constraint language, and some basic operations over it
module Expr : sig ... end
This module defines the numerical language and some basic operations over it
module Dom : sig ... end
This module defines the different kinds of definition domains of variables
module Instance : sig ... end
This module defines the type of points (also called instances), i.e mappings from variables to rational coordinates.
module Parser : sig ... end
This module defines several parsing utilities
module Signature : sig ... end
Module signature for Abstract Domains for Constraint Programming (ADCP) they must feature consistency, split and precision operators.
module Domains : sig ... end
This module handle the domain environment, already equipped with some basic domains. You can add your own using the register_*
functions, and combine them with the already defined ones.
module Solver : sig ... end
Functor parametrized by an abstract domain and defines the three main solving functions
module Iterator : sig ... end
This module converts the constraints into an internal state and handles the order of filtering
module Consistency : sig ... end
This module provides types and operations for handling consistencies. A consitency is a property obtained after a filtering operation f(s,p): given an abstract value s, and a predicate p, it computes a set s' \subseteq s
such that : \forall x \in s, p(x) \implies x \in s'
module Result : sig ... end
This module defines solution of the abstract solver as covers
module Constant : sig ... end
module Ring : sig ... end
module Q : sig ... end
Rational arithmetic module
module F : sig ... end
Float arithmetic module
module I : sig ... end
Integer arithmetic module
module Polynom : sig ... end
Module for polynomials over an abstract arithmetic rings
module Tools : sig ... end
This module defines diverse utilities
module Kleene : sig ... end
This module implements a 3-valued logic