functor (Item : ItemEq) ->
functor (Domain : Domain) ->
sig
module I : ItemEq
module D : Domain
type item = Item.t
and domain = Domain.t
and assign = Solve.Solver.item -> Solve.Solver.domain
and system =
Solve.Solver.item -> Solve.Solver.assign -> Solve.Solver.domain
and equation =
Solve.Solver.item * (Solve.Solver.assign -> Solve.Solver.domain)
val solve :
Solve.Solver.system ->
Solve.Solver.item list ->
(Solve.Solver.item, Solve.Solver.domain) Hashtbl.t
end