You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2. Generating new [literals](\ref literalt) and adding their
243
+
variables to the formula and returning the number of variables
244
+
or clauses the solver is operating with (with `no_variables`).
245
+
246
+
This interface is then extended by the various solver interfaces
247
+
which implement the interface by hooking into the solver
248
+
related functions that implement the operations that they
249
+
abstract. Solvers for which drivers exist include Minisat,
250
+
Minisat2, Chaff, Picosat, Glucose, Cadical, Booleforce and Lingeling.
251
+
252
+
For example, the Minisat 2 interface (in `satcheck_minisat2.h`)
253
+
implements a method `prop_solve()` that hooks into Minisat 2's
254
+
interface by initialising the variable list Minisat 2 will use,
255
+
and then invoking the actual solver on the formula and checking
256
+
whether the solver could manage find a satisfying assignment or
257
+
not.
258
+
259
+
For more details on how the particular drivers work, refer
260
+
to them in their interface and implementation files, which follow
261
+
the naming pattern `satcheck_x`, where `x` is the name of the
262
+
solver.
263
+
264
+
We also support any solver that can hook into [ipasir](http://www.cs.utexas.edu/users/moore/acl2/manuals/current/manual/index-seo.php/IPASIR____IPASIR). This is a
265
+
generic incremental SAT solver API. This is handled by the
266
+
`satcheck_ipasir.h` interface abstracts over `ipasir` with our own
267
+
generic interface. For a description of the `ipasir` interface
268
+
take a look at the following file: [ipasir.h](https://github.com/biotomas/ipasir/blob/master/ipasir.h)
0 commit comments