summaryrefslogtreecommitdiff
path: root/src/theory/shared_solver.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2021-07-29 10:53:48 -0500
committerGitHub <noreply@github.com>2021-07-29 15:53:48 +0000
commitf2672e53fae29abe40fc69b004d1df5be0ce1e8b (patch)
treeb8b8563926b909a0c7d99508f44264dd1f0d2f6d /src/theory/shared_solver.h
parent54490c6053d51910f5f7c2160451ad4d36fe6946 (diff)
Minor updates to shared terms database for central equality engine (#6929)
Includes proper set up of the proof equality engine it uses (which may be shared over multiple theories). Also makes its assertEquality method robust to non-equality atoms.
Diffstat (limited to 'src/theory/shared_solver.h')
-rw-r--r--src/theory/shared_solver.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/theory/shared_solver.h b/src/theory/shared_solver.h
index 4786d6fc9..e2cda0fbc 100644
--- a/src/theory/shared_solver.h
+++ b/src/theory/shared_solver.h
@@ -95,17 +95,15 @@ class SharedSolver
*/
virtual TrustNode explain(TNode literal, TheoryId id) = 0;
/**
- * Assert equality to the shared terms database.
+ * Assert n to the shared terms database.
*
* This method is called by TheoryEngine when a fact has been marked to
* send to THEORY_BUILTIN, meaning that shared terms database should
- * maintain this fact. This is the case when either an equality is
- * asserted from the SAT solver or a theory propagates an equality between
- * shared terms.
+ * maintain this fact. In the distributed equality engine architecture,
+ * this is the case when either an equality is asserted from the SAT solver
+ * or a theory propagates an equality between shared terms.
*/
- virtual void assertSharedEquality(TNode equality,
- bool polarity,
- TNode reason) = 0;
+ virtual void assertShared(TNode n, bool polarity, TNode reason) = 0;
/** Is term t a shared term? */
virtual bool isShared(TNode t) const;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback