27 bool solve()
override;
33 virtual void setStopTrigger(
const std::chrono::seconds &timeLimit, std::atomic_bool &stopTrigger,
const bool *stopPointer)
override;
36 typedef std::map<std::pair<std::string, unsigned int>, Gate*>
m_mapType;
39 BinaryCNFMethod(
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);
44 Gate*
equal(
const std::string &u,
const std::string &v);
45 Gate*
phi_different(
const std::string &u,
const std::string &v);
46 Gate*
phi_not_q_i(
const std::string &u,
unsigned int i);
48 unsigned int toState(
const std::string &u)
const;
50 std::unique_ptr<DFA<char>>
toDFA()
const;
The namespace of the library.
unsigned int toState(const std::string &u) const
SimplifyOptions m_simplify_opts
std::unique_ptr< BC > m_solver
unsigned int m_binarySize
static std::string getFactoryName()
std::unique_ptr< DFA< char > > constructDFA() override
Constructs the DFA induced by the variables according to the method.
The binary method with a CNF SAT solver.
bool solve() override
Solves the SAT/SMT problem induced by the method.
virtual Gate * createFormula()
virtual void createVariables()
virtual ~BinaryCNFMethod()
std::unique_ptr< DFA< char > > toDFA() const
std::map< std::pair< std::string, unsigned int >, Gate * > m_mapType
Helps to register a method in the factory.
The base class of all passive methods.
Gate * equal(const std::string &u, const std::string &v)
virtual void setStopTrigger(const std::chrono::seconds &timeLimit, std::atomic_bool &stopTrigger, const bool *stopPointer) override
Sets the stop trigger for this method.
Gate * phi_not_q_i(const std::string &u, unsigned int i)
Gate * phi_different(const std::string &u, const std::string &v)