26 std::map<std::pair<std::string, unsigned int>, Minisat::Var>
m_xVars;
27 std::map<std::tuple<unsigned int, char, unsigned int>, Minisat::Var>
m_dVars;
28 std::map<unsigned int, Minisat::Var>
m_fVars;
33 std::unique_ptr<DFA<char>>
toDFA(
const Minisat::vec<Minisat::lbool> &model)
const override;
35 HeuleVerwerCNFMethod(
const std::set<std::string> &SpSet,
const std::set<std::string> &SmSet,
const std::set<std::string> &SSet,
const std::set<std::string> &prefixesSet,
const std::set<char> &alphabetSet,
unsigned int n);
std::map< unsigned int, Minisat::Var > m_fVars
The namespace of the library.
void createVariables() override
Creates all needed variables for the method.
std::map< std::tuple< unsigned int, char, unsigned int >, Minisat::Var > m_dVars
static std::string getFactoryName()
std::unique_ptr< DFA< char > > toDFA(const Minisat::vec< Minisat::lbool > &model) const override
Effectively creates the DFA from the values of the variables in the given model.
The Heule and Verwer method.
std::map< std::pair< std::string, unsigned int >, Minisat::Var > m_xVars
Helps to register a method in the factory.
Base class for every method that relies on a SAT solver.
HeuleVerwerCNFMethod()=delete
void createClauses() override
Creates all needed clauses for the method.