Plugin
This class encapsulates a user-specified solver plugin.
It is configured via cvc5.Solver.addPlugin()
.
-
class Plugin
A cvc5 plugin.
Public Functions
-
Plugin(TermManager &tm)
-
virtual ~Plugin() = default
-
virtual std::vector<Term> check()
Call to check, return vector of lemmas to add to the SAT solver. This method is called periodically, roughly at every SAT decision.
- Returns:
The vector of lemmas to add to the SAT solver.
-
virtual void notifySatClause(const Term &clause)
Notify SAT clause, called when
clause
is learned by the SAT solver.- Parameters:
clause – The learned clause.
-
virtual void notifyTheoryLemma(const Term &lemma)
Notify theory lemma, called when
lemma
is sent by a theory solver.- Parameters:
lemma – The theory lemma.
-
virtual std::string getName() = 0
Get the name of the plugin (for debugging).
- Returns:
The name of the plugin.
-
Plugin(TermManager &tm)