diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2014-11-16 16:38:50 +0100 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2014-11-16 16:38:50 +0100 |
commit | d8da3b13bc9df7750723cf3da38edc8cb6f67d3d (patch) | |
tree | 5eaf5af8346b95c84d41c0feb1e14864c02bf035 /src/theory/quantifiers/options_handlers.h | |
parent | 83c0e6c14955e04b3dca56037508e4ceb6691f10 (diff) |
Add term db mode. Minor changes to quantifiers rewriter: split ITE's where equality resolution is possible on condition, pull nested quantifiers from ITE branches. Minor cleanup.
Diffstat (limited to 'src/theory/quantifiers/options_handlers.h')
-rw-r--r-- | src/theory/quantifiers/options_handlers.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/theory/quantifiers/options_handlers.h b/src/theory/quantifiers/options_handlers.h index e00879303..08fcf319d 100644 --- a/src/theory/quantifiers/options_handlers.h +++ b/src/theory/quantifiers/options_handlers.h @@ -188,6 +188,16 @@ none \n\ + Do not enforce fairness. \n\ \n\ "; +static const std::string termDbModeHelp = "\ +Modes for term database, supported by --term-db-mode:\n\ +\n\ +all \n\ ++ Consider all terms in the system.\n\ +\n\ +relevant \n\ ++ Consider only terms connected to current assertions. \n\ +\n\ +"; inline InstWhenMode stringToInstWhenMode(std::string option, std::string optarg, SmtEngine* smt) throw(OptionException) { if(optarg == "pre-full") { @@ -380,6 +390,20 @@ inline CegqiFairMode stringToCegqiFairMode(std::string option, std::string optar } } +inline TermDbMode stringToTermDbMode(std::string option, std::string optarg, SmtEngine* smt) throw(OptionException) { + if(optarg == "all" ) { + return TERM_DB_ALL; + } else if(optarg == "relevant") { + return TERM_DB_RELEVANT; + } else if(optarg == "help") { + puts(termDbModeHelp.c_str()); + exit(1); + } else { + throw OptionException(std::string("unknown option for --term-db-mode: `") + + optarg + "'. Try --term-db-mode help."); + } +} + }/* CVC4::theory::quantifiers namespace */ }/* CVC4::theory namespace */ }/* CVC4 namespace */ |