Crux.Implementation (crux v0.1.3)

Copy Markdown View Source

This module provides an interface to a SAT solver.

It tries to use the Picosat module if available, falling back to SimpleSat if not.

If neither is available, it raises an error when attempting to solve an expression.

You can also specify a custom SAT solver by setting the SAT_SOLVER environment variable to the name of a module that implements the solve/1 function.

Alternatively, you can enable SAT testing by setting the :sat_testing configuration for the :crux application. This will allow you to specify a custom SAT solver via the SAT_SOLVER environment variable.

Summary

Functions

Checks if a SAT solver implementation is available. Raises an error with instructions if not.

Functions

check!()

Checks if a SAT solver implementation is available. Raises an error with instructions if not.