summaryrefslogtreecommitdiff
path: root/src/options/quantifiers_options.toml
diff options
context:
space:
mode:
authorHaniel Barbosa <hanielbbarbosa@gmail.com>2018-09-10 20:51:03 -0500
committerAndres Noetzli <andres.noetzli@gmail.com>2018-09-10 18:51:03 -0700
commit1a695dcbe3036ab0f1922c5655c082ec1f14db97 (patch)
tree96444e8dedeb0b98ba01a7f7b1a7a0c5b2349410 /src/options/quantifiers_options.toml
parentf5746ca4a24c1b9f05f5528bc66016668d9a7863 (diff)
Using a single condition enumerator in sygus-unif (#2440)
This commit allows the use of unification techniques in which the search space for conditions in explored independently of the search space for return values (i.e. there is a single condition enumerator for which we always ask new values, similar to the PBE case). In comparison with asking the ground solver to come up with a minimal number of condition values to resolve all my separation conflicts: - _main advantage_: can quickly enumerate relevant condition values for solving the problem - _main disadvantage_: there are many "spurious" values (as in not useful for actual solutions) that get in the way of "good" values when we build solutions from the lazy trie. A follow-up PR will introduce an information-gain heuristic for building solutions, which ultimately greatly outperforms the other flavor of sygus-unif. There is also small improvements for trace messages.
Diffstat (limited to 'src/options/quantifiers_options.toml')
-rw-r--r--src/options/quantifiers_options.toml24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/options/quantifiers_options.toml b/src/options/quantifiers_options.toml
index c9d1aefa1..01cf41518 100644
--- a/src/options/quantifiers_options.toml
+++ b/src/options/quantifiers_options.toml
@@ -741,7 +741,7 @@ header = "options/quantifiers_options.h"
read_only = true
help = "optimization, skip instances based on possibly irrelevant portions of quantified formulas"
-### Rewrite rules options
+### Rewrite rules options
[[option]]
name = "quantRewriteRules"
@@ -761,7 +761,7 @@ header = "options/quantifiers_options.h"
read_only = true
help = "add one instance of rewrite rule per round"
-### Induction options
+### Induction options
[[option]]
name = "quantInduction"
@@ -976,6 +976,22 @@ header = "options/quantifiers_options.h"
help = "Unification-based function synthesis"
[[option]]
+ name = "sygusUnifCondIndependent"
+ category = "regular"
+ long = "sygus-unif-cond-independent"
+ type = "bool"
+ default = "false"
+ help = "Synthesize conditions indepedently from return values (may generate bigger solutions)"
+
+[[option]]
+ name = "sygusUnifCondIndNoRepeatSol"
+ category = "regular"
+ long = "sygus-unif-cond-indpendent-no-repeat-sol"
+ type = "bool"
+ default = "true"
+ help = "Do not try repeated solutions when using independent synthesis of conditions in unification-based function synthesis"
+
+[[option]]
name = "sygusBoolIteReturnConst"
category = "regular"
long = "sygus-bool-ite-return-const"
@@ -1164,7 +1180,7 @@ header = "options/quantifiers_options.h"
type = "bool"
default = "true"
help = "Minimize synthesis solutions"
-
+
[[option]]
name = "sygusEvalOpt"
category = "regular"
@@ -1180,7 +1196,7 @@ header = "options/quantifiers_options.h"
type = "bool"
default = "false"
help = "static inference techniques for computing whether arguments of functions-to-synthesize are relevant"
-
+
# Internal uses of sygus
[[option]]
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback