Module type ConstrSys.GenericGlobSolver

A solver is something that can translate a system into a solution (hash-table)

Parameters

module S : GlobConstrSys
module LH : Batteries.Hashtbl.S with type key = S.LVar.t
module GH : Batteries.Hashtbl.S with type key = S.GVar.t

Signature

type marshal
val copy_marshal : marshal -> marshal
val relift_marshal : marshal -> marshal
val solve : (S.LVar.t * S.D.t) list -> (S.GVar.t * S.G.t) list -> S.LVar.t list -> marshal option -> (S.D.t LH.t * S.G.t GH.t) * marshal

The hash-map that is the first component of solve xs vs is a local solution for interesting variables vs, reached from starting values xs. As a second component the solver returns data structures for incremental serialization.