Module Solver

module Solver: sig .. end

Create SAT/SMT Solvers

This module provides a functor to create an SMT solver. Additionally, it also gives a functor that produce an adequate empty theory that can be given to the Make functor in order to create a pure SAT solver.


module type S = Solver_intf.S

The interface of instantiated solvers.

module DummyTheory: 
functor (F : Formula_intf.S) -> Theory_intf.S with type formula = F.t and type proof = F.proof

Simple case where the theory is empty and the proof type is the one given in the formula interface

module Make: 
functor (F : Formula_intf.S) ->
functor (Th : Theory_intf.S with type formula = F.t and type proof = F.proof) ->
functor (Dummy : sig
end) -> S  with type St.formula = F.t
     and type St.proof = F.proof

Functor to create a SMT Solver parametrised by the atomic formulas and a theory.