Package org.tweetyproject.sat.minisat
Class MinisatSatSolver
java.lang.Object
org.tweetyproject.sat.minisat.MinisatSatSolver
- All Implemented Interfaces:
AutoCloseable
,SatSolver
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(int[] clause) Adds the given clause to the SAT solver state.void
close()
int
newVar()
Creates and returns the integer representation of a fresh propositional variable.boolean
boolean
satisfiable
(int[] assumptions) boolean[]
witness
(int[] atoms) Returns the truth assignment of the given variables.boolean[]
witness
(int[] atoms, int[] assumptions)
-
Constructor Details
-
MinisatSatSolver
public MinisatSatSolver()
-
-
Method Details
-
satisfiable
public boolean satisfiable()- Specified by:
satisfiable
in interfaceSatSolver
-
satisfiable
public boolean satisfiable(int[] assumptions) - Specified by:
satisfiable
in interfaceSatSolver
-
witness
public boolean[] witness(int[] atoms) Description copied from interface:SatSolver
Returns the truth assignment of the given variables. -
witness
public boolean[] witness(int[] atoms, int[] assumptions) -
add
public void add(int[] clause) Description copied from interface:SatSolver
Adds the given clause to the SAT solver state.Note that contrary to DIMACS format, a trailing '0' is not required!
-
newVar
public int newVar()Description copied from interface:SatSolver
Creates and returns the integer representation of a fresh propositional variable.It is necessary to only use variables returned by this method, since some solvers require to first allocate and maintain a data structure of the variables before they can be used in clauses. Hence, using integers not returned by this method may work for some solvers, but not for others.
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceSatSolver
-