(proof-new) Minor updates to trust node (#4900)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Tue, 18 Aug 2020 19:11:23 +0000 (14:11 -0500)
committerGitHub <noreply@github.com>
Tue, 18 Aug 2020 19:11:23 +0000 (14:11 -0500)
src/theory/trust_node.cpp
src/theory/trust_node.h

index 25aef5a7224a42dca9961a59429b6da0ea1712fd..041d04d75514e04643fd6670a4c4d3d1283d93e8 100644 (file)
@@ -121,6 +121,22 @@ Node TrustNode::getPropExpProven(TNode lit, Node exp)
 
 Node TrustNode::getRewriteProven(TNode n, Node nr) { return n.eqNode(nr); }
 
+void TrustNode::debugCheckClosed(const char* c,
+                                 const char* ctx,
+                                 bool reqNullGen)
+{
+  pfgEnsureClosed(d_proven, d_gen, c, ctx, reqNullGen);
+}
+
+std::string TrustNode::identifyGenerator() const
+{
+  if (d_gen == nullptr)
+  {
+    return "null";
+  }
+  return d_gen->identify();
+}
+
 std::ostream& operator<<(std::ostream& out, TrustNode n)
 {
   out << "(" << n.getKind() << " " << n.getProven() << ")";
index ff174b63eb1fbfce0f565ef9166b13dd8291c567..b7be0e4e54ae7a7f7b57c5be5870742837f2c7cf 100644 (file)
@@ -142,6 +142,15 @@ class TrustNode
   static Node getPropExpProven(TNode lit, Node exp);
   /** Get the proven formula corresponding to a rewrite */
   static Node getRewriteProven(TNode n, Node nr);
+  /** For debugging */
+  std::string identifyGenerator() const;
+
+  /**
+   * debug check closed on Trace c, context ctx is string for debugging
+   *
+   * @param reqNullGen Whether we consider a null generator to be a failure.
+   */
+  void debugCheckClosed(const char* c, const char* ctx, bool reqNullGen = true);
 
  private:
   TrustNode(TrustNodeKind tnk, Node p, ProofGenerator* g = nullptr);