Module type Solve.Solver


module type Solver = sig  end
Output signature of functor Solve.Make.

module I: ItemEq
Structure representing the items.
module D: Domain
Structure representing the domain.
type item 
Type of the items.
type domain 
Type of the domain.
type assign = item -> domain 
Type of an assignment.
type system = item -> assign -> domain 
Type of a system of equations.
type equation = item * (assign -> domain) 
Type of an equation.
val solve : system ->
item list -> (item, domain) Hashtbl.t
solve s l solves the given system s of equations at least for the variables given by l.