summaryrefslogtreecommitdiff
path: root/src/options
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-10-31 16:25:37 -0500
committerGitHub <noreply@github.com>2018-10-31 16:25:37 -0500
commitf59097bfc7f89a30b2d857b0b43eb9130e85f45e (patch)
treed71d10bb69f23c99e607b897a9a691ab49ade9fa /src/options
parent6a89ff6d106a012442f0ab3b212dc3d26a758da3 (diff)
Add optimized sygus enumeration (#2677)
Diffstat (limited to 'src/options')
-rw-r--r--src/options/options_handler.cpp11
-rw-r--r--src/options/quantifiers_modes.h6
-rw-r--r--src/options/quantifiers_options.toml8
3 files changed, 21 insertions, 4 deletions
diff --git a/src/options/options_handler.cpp b/src/options/options_handler.cpp
index 46663ce7c..e4c0276ea 100644
--- a/src/options/options_handler.cpp
+++ b/src/options/options_handler.cpp
@@ -530,7 +530,10 @@ none \n\
+ Do not use actively-generated sygus enumerators.\n\
\n\
basic \n\
-+ Use basic type enumerator as sygus enumerator.\n\
++ Use basic type enumerator for actively-generated sygus enumerators.\n\
+\n\
+enum \n\
++ Use optimized enumerator for actively-generated sygus enumerators.\n\
\n\
var-agnostic \n\
+ Use sygus solver to enumerate terms that are agnostic to variables. \n\
@@ -974,7 +977,11 @@ OptionsHandler::stringToSygusActiveGenMode(std::string option,
}
else if (optarg == "basic")
{
- return theory::quantifiers::SYGUS_ACTIVE_GEN_BASIC;
+ return theory::quantifiers::SYGUS_ACTIVE_GEN_ENUM_BASIC;
+ }
+ else if (optarg == "enum")
+ {
+ return theory::quantifiers::SYGUS_ACTIVE_GEN_ENUM;
}
else if (optarg == "var-agnostic")
{
diff --git a/src/options/quantifiers_modes.h b/src/options/quantifiers_modes.h
index 42ab7bc06..392393a91 100644
--- a/src/options/quantifiers_modes.h
+++ b/src/options/quantifiers_modes.h
@@ -266,8 +266,10 @@ enum SygusActiveGenMode
{
/** do not use actively-generated enumerators */
SYGUS_ACTIVE_GEN_NONE,
- /** use basic actively-generated enumerators */
- SYGUS_ACTIVE_GEN_BASIC,
+ /** use basic enumeration for actively-generated enumerators */
+ SYGUS_ACTIVE_GEN_ENUM_BASIC,
+ /** use optimized enumeration actively-generated enumerators */
+ SYGUS_ACTIVE_GEN_ENUM,
/** use variable-agnostic enumerators */
SYGUS_ACTIVE_GEN_VAR_AGNOSTIC,
};
diff --git a/src/options/quantifiers_options.toml b/src/options/quantifiers_options.toml
index 0762622f0..0b28c6a27 100644
--- a/src/options/quantifiers_options.toml
+++ b/src/options/quantifiers_options.toml
@@ -1051,6 +1051,14 @@ header = "options/quantifiers_options.h"
help = "mode for actively-generated sygus enumerators"
[[option]]
+ name = "sygusActiveGenEnumConsts"
+ category = "regular"
+ long = "sygus-active-gen-cfactor=N"
+ type = "unsigned long"
+ default = "5"
+ help = "the branching factor for the number of interpreted constants to consider for each size when using --sygus-active-gen=enum"
+
+[[option]]
name = "sygusMinGrammar"
category = "regular"
long = "sygus-min-grammar"
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback