|
libgsjj
1
Deterministic finite automata learning library
|
The base class for every SMT-based method. More...
#include <SMTMethod.h>


Public Member Functions | |
| SMTMethod ()=delete | |
| virtual | ~SMTMethod () |
| bool | solve () override |
| Solves the SAT/SMT problem induced by the method. More... | |
| std::unique_ptr< DFA< char > > | constructDFA () override |
| Constructs the DFA induced by the variables according to the method. More... | |
| virtual void | setStopTrigger (const std::chrono::seconds &timeLimit, std::atomic_bool &stopTrigger, const bool *stopPointer) override |
| Sets the stop trigger for this method. More... | |
Public Member Functions inherited from gsjj::passive::Method | |
| Method ()=delete | |
| virtual | ~Method () |
| bool | hasSolution () const |
| If solve() has been called and if there exists a solution, return True. More... | |
| unsigned int | numberOfStates () const |
| Gives the number of states of the prospected DFA (the n) More... | |
| double | timeToSolve () const |
| Gives the CPU time taken to solve the problem. More... | |
Protected Member Functions | |
| virtual void | createVariables ()=0 |
| Creates all needed variables for the method. More... | |
| virtual CVC4::Expr | createConstraints ()=0 |
| Creates an unique expression describing the constraints of this method. More... | |
| virtual std::unique_ptr< DFA< char > > | toDFA ()=0 |
| Effectively creates the DFA from the values of the variables in the SMT solver (see SMTMethod::m_SMTEngine) More... | |
| SMTMethod (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) | |
Protected Member Functions inherited from gsjj::passive::Method | |
| Method (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) | |
| Creates the method. More... | |
Protected Attributes | |
| CVC4::ExprManager | m_exprManager |
| This must be used to create new variables, constants and expressions. More... | |
| CVC4::SmtEngine | m_SMTEngine |
| This computes acceptable values for the variables and allows to retrieve them. More... | |
Protected Attributes inherited from gsjj::passive::Method | |
| const std::set< std::string > | m_Sp |
The set of words to accept . More... | |
| const std::set< std::string > | m_Sm |
The set of words to reject . More... | |
| const unsigned int | m_numberStates |
| The number of states in the DFA to construct. More... | |
| const std::set< std::string > | m_S |
In the code, . More... | |
| const std::set< std::string > | m_prefixes |
More... | |
| const std::set< char > | m_alphabet |
More... | |
| bool | m_triedSolve |
| bool | m_hasSolution |
| double | m_cpuTimeStart |
| double | m_cpuTimeEnd |
The base class for every SMT-based method.
Definition at line 20 of file SMTMethod.h.
|
delete |
|
virtual |
Definition at line 17 of file SMTMethod.cpp.
|
protected |
Definition at line 8 of file SMTMethod.cpp.
|
overridevirtual |
Constructs the DFA induced by the variables according to the method.
If the SAT/SMT problem has not yet been solved, the function automatically solves it. If the SAT/SMT problem is unsolvable, returns a null pointer.
Implements gsjj::passive::Method.
Definition at line 33 of file SMTMethod.cpp.
|
protectedpure virtual |
Creates an unique expression describing the constraints of this method.
Implemented in gsjj::passive::SMT::BiermannMethod, and gsjj::passive::SMT::NeiderJansenMethod.
|
protectedpure virtual |
Creates all needed variables for the method.
Implemented in gsjj::passive::SMT::BiermannMethod, and gsjj::passive::SMT::NeiderJansenMethod.
|
overridevirtual |
Sets the stop trigger for this method.
Since we use three different solvers and each has its own way to stop (CVC4 uses a function to set a time limit, Maple is in C++ so we can use an atomic variable and Limboole is in C and we must use a pointer), we must provide each possibility
| timeLimit | The time in seconds the method can take. It's used by SMT methods. |
| stopTrigger | The atomic_bool variable. Once set to true, the method will stop. It's used by CNF methods. |
| stopPointer | The pointer variable. Once the value is set to true, the method will stop. It's used by NonCNF methods. |
Implements gsjj::passive::Method.
Definition at line 43 of file SMTMethod.cpp.
|
overridevirtual |
Solves the SAT/SMT problem induced by the method.
Il also creates every variable and clause needed
Implements gsjj::passive::Method.
Definition at line 21 of file SMTMethod.cpp.
|
protectedpure virtual |
Effectively creates the DFA from the values of the variables in the SMT solver (see SMTMethod::m_SMTEngine)
Implemented in gsjj::passive::SMT::BiermannMethod, and gsjj::passive::SMT::NeiderJansenMethod.
|
protected |
This must be used to create new variables, constants and expressions.
Definition at line 35 of file SMTMethod.h.
|
protected |
This computes acceptable values for the variables and allows to retrieve them.
Definition at line 39 of file SMTMethod.h.
1.8.13