summaryrefslogtreecommitdiff
path: root/src/theory/strings/inference_manager.h
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2020-04-06 13:56:35 -0700
committerGitHub <noreply@github.com>2020-04-06 15:56:35 -0500
commit49c5a2aef84d1c17b4401eae9c60a92190b0b5a7 (patch)
tree80815221de855ede0c613c3a2517763bf37dc2b5 /src/theory/strings/inference_manager.h
parent9be8854786a6d27dfde21525e810a3b2f15e9d21 (diff)
Refactor disequality processing in string solver (#4209)
This commit refactors disequality processing in the core string solver. It also adds statistics for the inferences and splits in those methods. No semantic changes intended.
Diffstat (limited to 'src/theory/strings/inference_manager.h')
-rw-r--r--src/theory/strings/inference_manager.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/theory/strings/inference_manager.h b/src/theory/strings/inference_manager.h
index bd2f85d29..2a361aa44 100644
--- a/src/theory/strings/inference_manager.h
+++ b/src/theory/strings/inference_manager.h
@@ -184,6 +184,14 @@ class InferenceManager
* otherwise. A split is trivial if a=b rewrites to a constant.
*/
bool sendSplit(Node a, Node b, const char* c, bool preq = true);
+
+ /**
+ * The same as `sendSplit()` above but with an `Inference` instead of a
+ * string. This variant updates the statistics about the number of
+ * inferences made of each type.
+ */
+ bool sendSplit(Node a, Node b, Inference infer, bool preq = true);
+
/** Send phase requirement
*
* This method is called to indicate this class should send a phase
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback