Module type ConstrSys.GenericEqIncrSolverBase

A solver is something that can translate a system into a solution (hash-table). Incremental solver has data to be marshaled.

Parameters

module S : EqConstrSys
module H : Batteries.Hashtbl.S with type key = S.v

Signature

type marshal
val copy_marshal : marshal -> marshal
val relift_marshal : marshal -> marshal
val solve : (S.v * S.d) list -> S.v list -> marshal option -> S.d H.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.