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.