{
}
+ProofChecker::ProofChecker(uint32_t pclevel, theory::RewriteDb* rdb)
+ : d_pclevel(pclevel), d_rdb(rdb)
+{
+}
+
Node ProofChecker::check(ProofNode* pn, Node expected)
{
return check(pn->getRule(), pn->getChildren(), pn->getArguments(), expected);
return it->second;
}
+theory::RewriteDb* ProofChecker::getRewriteDatabase() { return d_rdb; }
+
uint32_t ProofChecker::getPedanticLevel(PfRule id) const
{
std::map<PfRule, uint32_t>::const_iterator itp = d_plevel.find(id);
class ProofChecker;
class ProofNode;
+namespace theory {
+class RewriteDb;
+}
+
/** A virtual base class for checking a proof rule */
class ProofRuleChecker
{
class ProofChecker
{
public:
- ProofChecker(uint32_t pclevel = 0) : d_pclevel(pclevel) {}
+ ProofChecker(uint32_t pclevel = 0, theory::RewriteDb* rdb = nullptr);
~ProofChecker() {}
/**
* Return the formula that is proven by proof node pn, or null if pn is not
uint32_t plevel = 10);
/** get checker for */
ProofRuleChecker* getCheckerFor(PfRule id);
-
+ /** get the rewrite database */
+ theory::RewriteDb* getRewriteDatabase();
/**
* Get the pedantic level for id if it has been assigned a pedantic
* level via registerTrustedChecker above, or zero otherwise.
std::map<PfRule, uint32_t> d_plevel;
/** The pedantic level of this checker */
uint32_t d_pclevel;
+ /** Pointer to the rewrite database */
+ theory::RewriteDb* d_rdb;
/**
* Check internal. This is used by check and checkDebug above. It writes
* checking errors on out when enableOutput is true. We treat trusted checkers