summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/options_handlers.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/quantifiers/options_handlers.h')
-rw-r--r--src/theory/quantifiers/options_handlers.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/theory/quantifiers/options_handlers.h b/src/theory/quantifiers/options_handlers.h
index 9fb5dd69d..c518813a0 100644
--- a/src/theory/quantifiers/options_handlers.h
+++ b/src/theory/quantifiers/options_handlers.h
@@ -204,6 +204,19 @@ relevant \n\
+ Quantifiers module considers only ground terms connected to current assertions. \n\
\n\
";
+static const std::string iteLiftQuantHelp = "\
+Modes for term database, supported by --ite-lift-quant:\n\
+\n\
+all \n\
++ Do not lift if-then-else in quantified formulas.\n\
+\n\
+simple \n\
++ Lift if-then-else in quantified formulas if results in smaller term size.\n\
+\n\
+none \n\
++ Lift if-then-else in quantified formulas. \n\
+\n\
+";
inline InstWhenMode stringToInstWhenMode(std::string option, std::string optarg, SmtEngine* smt) throw(OptionException) {
if(optarg == "pre-full") {
@@ -414,6 +427,22 @@ inline TermDbMode stringToTermDbMode(std::string option, std::string optarg, Smt
}
}
+inline IteLiftQuantMode stringToIteLiftQuantMode(std::string option, std::string optarg, SmtEngine* smt) throw(OptionException) {
+ if(optarg == "all" ) {
+ return ITE_LIFT_QUANT_MODE_ALL;
+ } else if(optarg == "simple") {
+ return ITE_LIFT_QUANT_MODE_SIMPLE;
+ } else if(optarg == "none") {
+ return ITE_LIFT_QUANT_MODE_NONE;
+ } else if(optarg == "help") {
+ puts(iteLiftQuantHelp.c_str());
+ exit(1);
+ } else {
+ throw OptionException(std::string("unknown option for --ite-lift-quant: `") +
+ optarg + "'. Try --ite-lift-quant help.");
+ }
+}
+
}/* CVC4::theory::quantifiers namespace */
}/* CVC4::theory namespace */
}/* CVC4 namespace */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback