summaryrefslogtreecommitdiff
path: root/src/smt/proof_post_processor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/smt/proof_post_processor.h')
-rw-r--r--src/smt/proof_post_processor.h42
1 files changed, 2 insertions, 40 deletions
diff --git a/src/smt/proof_post_processor.h b/src/smt/proof_post_processor.h
index 056f77695..1aa52dd50 100644
--- a/src/smt/proof_post_processor.h
+++ b/src/smt/proof_post_processor.h
@@ -23,6 +23,7 @@
#include <unordered_set>
#include "proof/proof_node_updater.h"
+#include "smt/proof_final_callback.h"
#include "smt/witness_form.h"
#include "theory/inference_id.h"
#include "util/statistics_stats.h"
@@ -237,45 +238,6 @@ class ProofPostprocessCallback : public ProofNodeUpdaterCallback
CDProof* cdp);
};
-/** Final callback class, for stats and pedantic checking */
-class ProofPostprocessFinalCallback : public ProofNodeUpdaterCallback
-{
- public:
- ProofPostprocessFinalCallback(ProofNodeManager* pnm);
- /**
- * Initialize, called once for each new ProofNode to process. This initializes
- * static information to be used by successive calls to update.
- */
- void initializeUpdate();
- /** Should proof pn be updated? Returns false, adds to stats. */
- bool shouldUpdate(std::shared_ptr<ProofNode> pn,
- const std::vector<Node>& fa,
- bool& continueUpdate) override;
- /** was pedantic failure */
- bool wasPedanticFailure(std::ostream& out) const;
-
- private:
- /** Counts number of postprocessed proof nodes for each kind of proof rule */
- HistogramStat<PfRule> d_ruleCount;
- /**
- * Counts number of postprocessed proof nodes of rule INSTANTIATE that were
- * marked with the given inference id.
- */
- HistogramStat<theory::InferenceId> d_instRuleIds;
- /** Total number of postprocessed rule applications */
- IntStat d_totalRuleCount;
- /** The minimum pedantic level of any rule encountered */
- IntStat d_minPedanticLevel;
- /** The total number of final proofs */
- IntStat d_numFinalProofs;
- /** Proof node manager (used for pedantic checking) */
- ProofNodeManager* d_pnm;
- /** Was there a pedantic failure? */
- bool d_pedanticFailure;
- /** The pedantic failure string for debugging */
- std::stringstream d_pedanticFailureOut;
-};
-
/**
* The proof postprocessor module. This postprocesses the final proof
* produced by an SmtEngine. Its main two tasks are to:
@@ -314,7 +276,7 @@ class ProofPostproccess
*/
ProofNodeUpdater d_updater;
/** The post process callback for finalization */
- ProofPostprocessFinalCallback d_finalCb;
+ ProofFinalCallback d_finalCb;
/**
* The finalizer, which is responsible for taking stats and checking for
* (lazy) pedantic failures.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback