SMT-RAT
24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
|
Decides only Constraints occuring in clauses that are univariate in the current theory variable while the theory ordering is static. More...
#include <VarSchedulerMcsat.h>
Data Structures | |
struct | TheoryLevel |
Public Member Functions | |
void | attachClause (Minisat::CRef cl) |
void | detachClause (Minisat::CRef cl) |
void | relocateClauses (std::function< void(Minisat::CRef &)> relocate) |
template<typename BaseModule > | |
VarSchedulerMcsatUnivariateClausesOnly (BaseModule &baseModule) | |
void | rebuild () |
void | insert (Minisat::Var var) |
Minisat::Lit | pop () |
bool | empty () |
void | print () const |
void | increaseActivity (Minisat::Var var) |
void | decreaseActivity (Minisat::Var var) |
void | rebuildActivities () |
template<typename Constraints > | |
void | rebuildTheoryVars (const Constraints &c) |
Private Member Functions | |
bool | univariate (Minisat::CRef cl) |
bool | decidedByTheory (Minisat::CRef cl) |
Minisat::Lit | undefLitIn (Minisat::CRef cl) |
Minisat::Lit | pickBooleanVarFromCurrentLevel () |
Minisat::Lit | pickBooleanVarFromUndecided () |
carl::Variable | theoryDecision () |
bool | pickNextTheoryVar () |
void | popTheoryLevel () |
Private Attributes | |
std::vector< Minisat::CRef > | mUndecidedClauses |
std::vector< TheoryLevel > | mTheoryLevels |
TheoryScheduler | theory_ordering |
Decides only Constraints occuring in clauses that are univariate in the current theory variable while the theory ordering is static.
This corresponds to the original NLSAT strategy.
Definition at line 443 of file VarSchedulerMcsat.h.
|
inlineexplicit |
Definition at line 637 of file VarSchedulerMcsat.h.
|
inline |
Definition at line 605 of file VarSchedulerMcsat.h.
|
inlineprivate |
|
inline |
|
inline |
|
inline |
Definition at line 677 of file VarSchedulerMcsat.h.
|
inline |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inline |
|
inlineprivate |
Definition at line 589 of file VarSchedulerMcsat.h.
|
inline |
Definition at line 681 of file VarSchedulerMcsat.h.
|
inline |
Definition at line 644 of file VarSchedulerMcsat.h.
|
inline |
Definition at line 699 of file VarSchedulerMcsat.h.
|
inline |
Definition at line 704 of file VarSchedulerMcsat.h.
|
inline |
Definition at line 623 of file VarSchedulerMcsat.h.
|
inlineprivate |
Definition at line 554 of file VarSchedulerMcsat.h.
|
inlineprivate |
|
inlineprivate |
|
protectedinherited |
Definition at line 31 of file VarScheduler.h.
|
protectedinherited |
Definition at line 30 of file VarScheduler.h.
|
protectedinherited |
Definition at line 16 of file VarSchedulerMcsat.h.
|
protectedinherited |
Definition at line 29 of file VarScheduler.h.
|
protectedinherited |
Definition at line 18 of file VarSchedulerMcsat.h.
|
protectedinherited |
Definition at line 18 of file VarScheduler.h.
|
protectedinherited |
Definition at line 28 of file VarScheduler.h.
|
protectedinherited |
Definition at line 27 of file VarScheduler.h.
|
protectedinherited |
Definition at line 26 of file VarScheduler.h.
|
protectedinherited |
Definition at line 19 of file VarScheduler.h.
|
protectedinherited |
Definition at line 32 of file VarScheduler.h.
|
protectedinherited |
Definition at line 22 of file VarScheduler.h.
|
protectedinherited |
Definition at line 21 of file VarScheduler.h.
|
protectedinherited |
Definition at line 23 of file VarScheduler.h.
|
protectedinherited |
Definition at line 15 of file VarSchedulerMcsat.h.
|
protectedinherited |
Definition at line 17 of file VarSchedulerMcsat.h.
|
private |
Definition at line 513 of file VarSchedulerMcsat.h.
|
private |
Definition at line 512 of file VarSchedulerMcsat.h.
|
protectedinherited |
Definition at line 25 of file VarScheduler.h.
|
protectedinherited |
Definition at line 24 of file VarScheduler.h.
|
protectedinherited |
Definition at line 20 of file VarScheduler.h.
|
private |
Definition at line 515 of file VarSchedulerMcsat.h.