summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2020-04-28 13:10:16 -0700
committerGitHub <noreply@github.com>2020-04-28 15:10:16 -0500
commitad0b69e6a6242c2c7a2d060ff70ddd78861ca50a (patch)
tree6c3d9f9b68e245c40a66d0004364e9e61cd391ab
parentbeb4b2d81b47879004e09a4f626b9e4e189e8536 (diff)
Register lower bound for str.to_int (#4408)
This commit changes the term registration for str.to_int terms. Before, we were not sending out any lemmas when registering str.to_int terms. Now, we send a simple lemma that asserts that the value is greater or equal to negative one.
-rw-r--r--src/theory/strings/term_registry.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/theory/strings/term_registry.cpp b/src/theory/strings/term_registry.cpp
index 4f1e41ebb..3d898b40b 100644
--- a/src/theory/strings/term_registry.cpp
+++ b/src/theory/strings/term_registry.cpp
@@ -225,6 +225,10 @@ void TermRegistry::registerTerm(Node n, int effort)
nm->mkNode(GEQ, n, nm->mkConst(Rational(-1))),
nm->mkNode(LEQ, n, len));
}
+ else if (n.getKind() == STRING_STOI)
+ {
+ regTermLem = nm->mkNode(GEQ, n, nm->mkConst(Rational(-1)));
+ }
if (!regTermLem.isNull())
{
Trace("strings-lemma") << "Strings::Lemma REG-TERM : " << regTermLem
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback