summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-03-26 11:53:51 -0500
committerGitHub <noreply@github.com>2018-03-26 11:53:51 -0500
commit5a669e6ed1c51cc80cc1dd313906ca47345abccd (patch)
treeca251161db36799cc9183643098a2b2838dee923
parent11c698936c10321db68131eb95e8648a20051e3a (diff)
Abort when sygus-verify finds unsoundness. (#1717)
-rw-r--r--src/options/quantifiers_options.toml8
-rw-r--r--src/theory/datatypes/datatypes_sygus.cpp7
2 files changed, 15 insertions, 0 deletions
diff --git a/src/options/quantifiers_options.toml b/src/options/quantifiers_options.toml
index 1437e9992..c40491a40 100644
--- a/src/options/quantifiers_options.toml
+++ b/src/options/quantifiers_options.toml
@@ -1123,6 +1123,14 @@ header = "options/quantifiers_options.h"
help = "use sygus to verify the correctness of rewrite rules via sampling"
[[option]]
+ name = "sygusRewVerifyAbort"
+ category = "regular"
+ long = "sygus-rr-verify-abort"
+ type = "bool"
+ default = "true"
+ help = "abort when sygus-rr-verify finds an instance of unsoundness"
+
+[[option]]
name = "sygusSamples"
category = "regular"
long = "sygus-samples=N"
diff --git a/src/theory/datatypes/datatypes_sygus.cpp b/src/theory/datatypes/datatypes_sygus.cpp
index 7fe403526..4d3584596 100644
--- a/src/theory/datatypes/datatypes_sygus.cpp
+++ b/src/theory/datatypes/datatypes_sygus.cpp
@@ -827,9 +827,16 @@ bool SygusSymBreakNew::registerSearchValue( Node a, Node n, Node nv, unsigned d,
}
else
{
+ // no witness point found?
Assert(false);
}
}
+ if (options::sygusRewVerifyAbort())
+ {
+ AlwaysAssert(
+ false,
+ "--sygus-rr-verify detected unsoundness in the rewriter!");
+ }
}
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback