summaryrefslogtreecommitdiff
path: root/src/theory/output_channel.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-06-25 15:22:08 -0500
committerGitHub <noreply@github.com>2020-06-25 15:22:08 -0500
commit23aa2a0868027527469f2293952f038c66db23e1 (patch)
tree41cf614eb5e921523e486c2afe84c5a9d888086d /src/theory/output_channel.h
parent8374a8dd4bf740bf26748c1dbe1616ad798cf624 (diff)
(proof-new) Add TrustNode interfaces to OutputChannel (#4643)
Diffstat (limited to 'src/theory/output_channel.h')
-rw-r--r--src/theory/output_channel.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/theory/output_channel.h b/src/theory/output_channel.h
index 215ec8e0a..ff13d1b6b 100644
--- a/src/theory/output_channel.h
+++ b/src/theory/output_channel.h
@@ -21,9 +21,11 @@
#include <memory>
+#include "expr/proof_node.h"
#include "proof/proof_manager.h"
#include "smt/logic_exception.h"
#include "theory/interrupted.h"
+#include "theory/trust_node.h"
#include "util/proof.h"
#include "util/resource_manager.h"
@@ -188,6 +190,33 @@ class OutputChannel {
*/
virtual void demandRestart() {}
+ //---------------------------- new proof
+ /**
+ * Let pconf be the pair (Node conf, ProofGenerator * pfg). This method
+ * sends conf on the output channel of this class whose proof can be generated
+ * by the generator pfg. Apart from pfg, the interface for this method is
+ * the same as OutputChannel.
+ */
+ virtual void trustedConflict(TrustNode pconf)
+ {
+ Unreachable() << "OutputChannel::trustedConflict: no implementation"
+ << std::endl;
+ }
+ /**
+ * Let plem be the pair (Node lem, ProofGenerator * pfg).
+ * Send lem on the output channel of this class whose proof can be generated
+ * by the generator pfg. Apart from pfg, the interface for this method is
+ * the same as OutputChannel.
+ */
+ virtual LemmaStatus trustedLemma(TrustNode lem,
+ bool removable = false,
+ bool preprocess = false,
+ bool sendAtoms = false)
+ {
+ Unreachable() << "OutputChannel::trustedLemma: no implementation"
+ << std::endl;
+ }
+ //---------------------------- end new proof
}; /* class OutputChannel */
} // namespace theory
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback