1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
//! Interface to SAT solvers.

use {Instance, Assignment};

pub use self::dimacs::Dimacs;

pub mod dimacs;

/// Trait for SAT solvers.
pub trait Solver {
    /// Solve an instance and return the satisfying assignment, or
    /// `None` if no such assignment exists.
    fn solve(&self, instance: &Instance) -> Option<Assignment>;
}