1 |
|
/****************************************************************************** |
2 |
|
* Top contributors (to current version): |
3 |
|
* Morgan Deters, Tim King, Andrew Reynolds |
4 |
|
* |
5 |
|
* This file is part of the cvc5 project. |
6 |
|
* |
7 |
|
* Copyright (c) 2009-2021 by the authors listed in the file AUTHORS |
8 |
|
* in the top-level source directory and their institutional affiliations. |
9 |
|
* All rights reserved. See the file COPYING in the top-level source |
10 |
|
* directory for licensing information. |
11 |
|
* **************************************************************************** |
12 |
|
* |
13 |
|
* Contains code for handling command-line options. |
14 |
|
*/ |
15 |
|
|
16 |
|
#if !defined(_BSD_SOURCE) && defined(__MINGW32__) && !defined(__MINGW64__) |
17 |
|
// force use of optreset; mingw32 croaks on argv-switching otherwise |
18 |
|
#include "base/cvc5config.h" |
19 |
|
#define _BSD_SOURCE |
20 |
|
#undef HAVE_DECL_OPTRESET |
21 |
|
#define HAVE_DECL_OPTRESET 1 |
22 |
|
#define CVC5_IS_NOT_REALLY_BSD |
23 |
|
#endif /* !_BSD_SOURCE && __MINGW32__ && !__MINGW64__ */ |
24 |
|
|
25 |
|
#ifdef __MINGW64__ |
26 |
|
extern int optreset; |
27 |
|
#endif /* __MINGW64__ */ |
28 |
|
|
29 |
|
#include <getopt.h> |
30 |
|
|
31 |
|
// clean up |
32 |
|
#ifdef CVC5_IS_NOT_REALLY_BSD |
33 |
|
# undef _BSD_SOURCE |
34 |
|
#endif /* CVC5_IS_NOT_REALLY_BSD */ |
35 |
|
|
36 |
|
#include <unistd.h> |
37 |
|
#include <string.h> |
38 |
|
#include <time.h> |
39 |
|
|
40 |
|
#include <cstdio> |
41 |
|
#include <cstdlib> |
42 |
|
#include <cstring> |
43 |
|
#include <iomanip> |
44 |
|
#include <new> |
45 |
|
#include <string> |
46 |
|
#include <sstream> |
47 |
|
#include <limits> |
48 |
|
|
49 |
|
#include "base/check.h" |
50 |
|
#include "base/exception.h" |
51 |
|
#include "base/output.h" |
52 |
|
#include "options/didyoumean.h" |
53 |
|
#include "options/language.h" |
54 |
|
#include "options/options_handler.h" |
55 |
|
#include "options/options_listener.h" |
56 |
|
|
57 |
|
// clang-format off |
58 |
|
#include "options/arith_options.h" |
59 |
|
#include "options/arrays_options.h" |
60 |
|
#include "options/base_options.h" |
61 |
|
#include "options/booleans_options.h" |
62 |
|
#include "options/builtin_options.h" |
63 |
|
#include "options/bv_options.h" |
64 |
|
#include "options/datatypes_options.h" |
65 |
|
#include "options/decision_options.h" |
66 |
|
#include "options/expr_options.h" |
67 |
|
#include "options/fp_options.h" |
68 |
|
#include "options/main_options.h" |
69 |
|
#include "options/parser_options.h" |
70 |
|
#include "options/printer_options.h" |
71 |
|
#include "options/proof_options.h" |
72 |
|
#include "options/prop_options.h" |
73 |
|
#include "options/quantifiers_options.h" |
74 |
|
#include "options/resource_manager_options.h" |
75 |
|
#include "options/sep_options.h" |
76 |
|
#include "options/sets_options.h" |
77 |
|
#include "options/smt_options.h" |
78 |
|
#include "options/strings_options.h" |
79 |
|
#include "options/theory_options.h" |
80 |
|
#include "options/uf_options.h" |
81 |
|
|
82 |
|
#include "base/cvc5config.h" |
83 |
|
#include "options/base_handlers.h" |
84 |
|
|
85 |
|
|
86 |
|
|
87 |
|
using namespace cvc5; |
88 |
|
using namespace cvc5::options; |
89 |
|
// clang-format on |
90 |
|
|
91 |
|
namespace cvc5 { |
92 |
|
|
93 |
|
thread_local Options* Options::s_current = NULL; |
94 |
|
|
95 |
|
/** |
96 |
|
* This is a default handler for options of built-in C++ type. This |
97 |
|
* template is really just a helper for the handleOption() template, |
98 |
|
* below. Variants of this template handle numeric and non-numeric, |
99 |
|
* integral and non-integral, signed and unsigned C++ types. |
100 |
|
* handleOption() makes sure to instantiate the right one. |
101 |
|
* |
102 |
|
* This implements default behavior when e.g. an option is |
103 |
|
* unsigned but the user specifies a negative argument; etc. |
104 |
|
*/ |
105 |
|
template <class T, bool is_numeric, bool is_integer> |
106 |
|
struct OptionHandler { |
107 |
|
static T handle(std::string option, std::string optionarg); |
108 |
|
};/* struct OptionHandler<> */ |
109 |
|
|
110 |
|
/** Variant for integral C++ types */ |
111 |
|
template <class T> |
112 |
|
struct OptionHandler<T, true, true> { |
113 |
114 |
static bool stringToInt(T& t, const std::string& str) { |
114 |
228 |
std::istringstream ss(str); |
115 |
114 |
ss >> t; |
116 |
|
char tmp; |
117 |
228 |
return !(ss.fail() || ss.get(tmp)); |
118 |
|
} |
119 |
|
|
120 |
87 |
static bool containsMinus(const std::string& str) { |
121 |
87 |
return str.find('-') != std::string::npos; |
122 |
|
} |
123 |
|
|
124 |
114 |
static T handle(const std::string& option, const std::string& optionarg) { |
125 |
|
try { |
126 |
|
T i; |
127 |
114 |
bool success = stringToInt(i, optionarg); |
128 |
|
|
129 |
114 |
if(!success){ |
130 |
|
throw OptionException(option + ": failed to parse "+ optionarg + |
131 |
|
" as an integer of the appropriate type."); |
132 |
|
} |
133 |
|
|
134 |
|
// Depending in the platform unsigned numbers with '-' signs may parse. |
135 |
|
// Reject these by looking for any minus if it is not signed. |
136 |
87 |
if( (! std::numeric_limits<T>::is_signed) && containsMinus(optionarg) ) { |
137 |
|
// unsigned type but user gave negative argument |
138 |
|
throw OptionException(option + " requires a nonnegative argument"); |
139 |
114 |
} else if(i < std::numeric_limits<T>::min()) { |
140 |
|
// negative overflow for type |
141 |
|
std::stringstream ss; |
142 |
|
ss << option << " requires an argument >= " |
143 |
|
<< std::numeric_limits<T>::min(); |
144 |
|
throw OptionException(ss.str()); |
145 |
114 |
} else if(i > std::numeric_limits<T>::max()) { |
146 |
|
// positive overflow for type |
147 |
|
std::stringstream ss; |
148 |
|
ss << option << " requires an argument <= " |
149 |
|
<< std::numeric_limits<T>::max(); |
150 |
|
throw OptionException(ss.str()); |
151 |
|
} |
152 |
|
|
153 |
114 |
return i; |
154 |
|
|
155 |
|
// if(std::numeric_limits<T>::is_signed) { |
156 |
|
// return T(i.getLong()); |
157 |
|
// } else { |
158 |
|
// return T(i.getUnsignedLong()); |
159 |
|
// } |
160 |
|
} catch(std::invalid_argument&) { |
161 |
|
// user gave something other than an integer |
162 |
|
throw OptionException(option + " requires an integer argument"); |
163 |
|
} |
164 |
|
} |
165 |
|
};/* struct OptionHandler<T, true, true> */ |
166 |
|
|
167 |
|
/** Variant for numeric but non-integral C++ types */ |
168 |
|
template <class T> |
169 |
|
struct OptionHandler<T, true, false> { |
170 |
|
static T handle(std::string option, std::string optionarg) { |
171 |
|
std::stringstream in(optionarg); |
172 |
|
long double r; |
173 |
|
in >> r; |
174 |
|
if(! in.eof()) { |
175 |
|
// we didn't consume the whole string (junk at end) |
176 |
|
throw OptionException(option + " requires a numeric argument"); |
177 |
|
} |
178 |
|
|
179 |
|
if(! std::numeric_limits<T>::is_signed && r < 0.0) { |
180 |
|
// unsigned type but user gave negative value |
181 |
|
throw OptionException(option + " requires a nonnegative argument"); |
182 |
|
} else if(r < -std::numeric_limits<T>::max()) { |
183 |
|
// negative overflow for type |
184 |
|
std::stringstream ss; |
185 |
|
ss << option << " requires an argument >= " |
186 |
|
<< -std::numeric_limits<T>::max(); |
187 |
|
throw OptionException(ss.str()); |
188 |
|
} else if(r > std::numeric_limits<T>::max()) { |
189 |
|
// positive overflow for type |
190 |
|
std::stringstream ss; |
191 |
|
ss << option << " requires an argument <= " |
192 |
|
<< std::numeric_limits<T>::max(); |
193 |
|
throw OptionException(ss.str()); |
194 |
|
} |
195 |
|
|
196 |
|
return T(r); |
197 |
|
} |
198 |
|
};/* struct OptionHandler<T, true, false> */ |
199 |
|
|
200 |
|
/** Variant for non-numeric C++ types */ |
201 |
|
template <class T> |
202 |
|
struct OptionHandler<T, false, false> { |
203 |
|
static T handle(std::string option, std::string optionarg) { |
204 |
|
T::unsupported_handleOption_call___please_write_me; |
205 |
|
// The above line causes a compiler error if this version of the template |
206 |
|
// is ever instantiated (meaning that a specialization is missing). So |
207 |
|
// don't worry about the segfault in the next line, the "return" is only |
208 |
|
// there to keep the compiler from giving additional, distracting errors |
209 |
|
// and warnings. |
210 |
|
return *(T*)0; |
211 |
|
} |
212 |
|
};/* struct OptionHandler<T, false, false> */ |
213 |
|
|
214 |
|
/** Handle an option of type T in the default way. */ |
215 |
|
template <class T> |
216 |
114 |
T handleOption(std::string option, std::string optionarg) { |
217 |
114 |
return OptionHandler<T, std::numeric_limits<T>::is_specialized, std::numeric_limits<T>::is_integer>::handle(option, optionarg); |
218 |
|
} |
219 |
|
|
220 |
|
/** Handle an option of type std::string in the default way. */ |
221 |
|
template <> |
222 |
12 |
std::string handleOption<std::string>(std::string option, std::string optionarg) { |
223 |
12 |
return optionarg; |
224 |
|
} |
225 |
|
|
226 |
|
/** |
227 |
|
* Run handler, and any user-given predicates, for option T. |
228 |
|
* If a user specifies a :handler or :predicates, it overrides this. |
229 |
|
*/ |
230 |
|
template <class T> |
231 |
|
typename T::type runHandlerAndPredicates(T, std::string option, std::string optionarg, options::OptionsHandler* handler) { |
232 |
|
// By default, parse the option argument in a way appropriate for its type. |
233 |
|
// E.g., for "unsigned int" options, ensure that the provided argument is |
234 |
|
// a nonnegative integer that fits in the unsigned int type. |
235 |
|
|
236 |
|
return handleOption<typename T::type>(option, optionarg); |
237 |
|
} |
238 |
|
|
239 |
|
template <class T> |
240 |
|
void runBoolPredicates(T, std::string option, bool b, options::OptionsHandler* handler) { |
241 |
|
// By default, nothing to do for bool. Users add things with |
242 |
|
// :predicate in options files to provide custom checking routines |
243 |
|
// that can throw exceptions. |
244 |
|
} |
245 |
|
|
246 |
24449 |
Options::Options(OptionsListener* ol) |
247 |
24449 |
: d_handler(new options::OptionsHandler(this)), |
248 |
|
// clang-format off |
249 |
|
d_arith(std::make_unique<options::HolderARITH>()), |
250 |
|
d_arrays(std::make_unique<options::HolderARRAYS>()), |
251 |
|
d_base(std::make_unique<options::HolderBASE>()), |
252 |
|
d_booleans(std::make_unique<options::HolderBOOLEANS>()), |
253 |
|
d_builtin(std::make_unique<options::HolderBUILTIN>()), |
254 |
|
d_bv(std::make_unique<options::HolderBV>()), |
255 |
|
d_datatypes(std::make_unique<options::HolderDATATYPES>()), |
256 |
|
d_decision(std::make_unique<options::HolderDECISION>()), |
257 |
|
d_expr(std::make_unique<options::HolderEXPR>()), |
258 |
|
d_fp(std::make_unique<options::HolderFP>()), |
259 |
|
d_driver(std::make_unique<options::HolderDRIVER>()), |
260 |
|
d_parser(std::make_unique<options::HolderPARSER>()), |
261 |
|
d_printer(std::make_unique<options::HolderPRINTER>()), |
262 |
|
d_proof(std::make_unique<options::HolderPROOF>()), |
263 |
|
d_prop(std::make_unique<options::HolderPROP>()), |
264 |
|
d_quantifiers(std::make_unique<options::HolderQUANTIFIERS>()), |
265 |
|
d_resman(std::make_unique<options::HolderRESMAN>()), |
266 |
|
d_sep(std::make_unique<options::HolderSEP>()), |
267 |
|
d_sets(std::make_unique<options::HolderSETS>()), |
268 |
|
d_smt(std::make_unique<options::HolderSMT>()), |
269 |
|
d_strings(std::make_unique<options::HolderSTRINGS>()), |
270 |
|
d_theory(std::make_unique<options::HolderTHEORY>()), |
271 |
|
d_uf(std::make_unique<options::HolderUF>()), |
272 |
|
// clang-format on |
273 |
24449 |
d_olisten(ol) |
274 |
24449 |
{} |
275 |
|
|
276 |
43848 |
Options::~Options() { |
277 |
21924 |
delete d_handler; |
278 |
21924 |
} |
279 |
|
|
280 |
14595 |
void Options::copyValues(const Options& options){ |
281 |
14595 |
if(this != &options) { |
282 |
|
// clang-format off |
283 |
14595 |
*d_arith = *options.d_arith; |
284 |
14595 |
*d_arrays = *options.d_arrays; |
285 |
14595 |
*d_base = *options.d_base; |
286 |
14595 |
*d_booleans = *options.d_booleans; |
287 |
14595 |
*d_builtin = *options.d_builtin; |
288 |
14595 |
*d_bv = *options.d_bv; |
289 |
14595 |
*d_datatypes = *options.d_datatypes; |
290 |
14595 |
*d_decision = *options.d_decision; |
291 |
14595 |
*d_expr = *options.d_expr; |
292 |
14595 |
*d_fp = *options.d_fp; |
293 |
14595 |
*d_driver = *options.d_driver; |
294 |
14595 |
*d_parser = *options.d_parser; |
295 |
14595 |
*d_printer = *options.d_printer; |
296 |
14595 |
*d_proof = *options.d_proof; |
297 |
14595 |
*d_prop = *options.d_prop; |
298 |
14595 |
*d_quantifiers = *options.d_quantifiers; |
299 |
14595 |
*d_resman = *options.d_resman; |
300 |
14595 |
*d_sep = *options.d_sep; |
301 |
14595 |
*d_sets = *options.d_sets; |
302 |
14595 |
*d_smt = *options.d_smt; |
303 |
14595 |
*d_strings = *options.d_strings; |
304 |
14595 |
*d_theory = *options.d_theory; |
305 |
14595 |
*d_uf = *options.d_uf; |
306 |
|
// clang-format on |
307 |
|
} |
308 |
14595 |
} |
309 |
|
|
310 |
25198665 |
const options::HolderARITH& Options::arith() const { return *d_arith; } |
311 |
39274 |
options::HolderARITH& Options::arith() { return *d_arith; } |
312 |
410387 |
const options::HolderARRAYS& Options::arrays() const { return *d_arrays; } |
313 |
3621 |
options::HolderARRAYS& Options::arrays() { return *d_arrays; } |
314 |
2251242 |
const options::HolderBASE& Options::base() const { return *d_base; } |
315 |
21672 |
options::HolderBASE& Options::base() { return *d_base; } |
316 |
|
const options::HolderBOOLEANS& Options::booleans() const { return *d_booleans; } |
317 |
|
options::HolderBOOLEANS& Options::booleans() { return *d_booleans; } |
318 |
|
const options::HolderBUILTIN& Options::builtin() const { return *d_builtin; } |
319 |
|
options::HolderBUILTIN& Options::builtin() { return *d_builtin; } |
320 |
6615916 |
const options::HolderBV& Options::bv() const { return *d_bv; } |
321 |
6086 |
options::HolderBV& Options::bv() { return *d_bv; } |
322 |
1839242 |
const options::HolderDATATYPES& Options::datatypes() const { return *d_datatypes; } |
323 |
899 |
options::HolderDATATYPES& Options::datatypes() { return *d_datatypes; } |
324 |
14955012 |
const options::HolderDECISION& Options::decision() const { return *d_decision; } |
325 |
17897 |
options::HolderDECISION& Options::decision() { return *d_decision; } |
326 |
179886 |
const options::HolderEXPR& Options::expr() const { return *d_expr; } |
327 |
4 |
options::HolderEXPR& Options::expr() { return *d_expr; } |
328 |
2488 |
const options::HolderFP& Options::fp() const { return *d_fp; } |
329 |
44 |
options::HolderFP& Options::fp() { return *d_fp; } |
330 |
61198 |
const options::HolderDRIVER& Options::driver() const { return *d_driver; } |
331 |
5725 |
options::HolderDRIVER& Options::driver() { return *d_driver; } |
332 |
29565 |
const options::HolderPARSER& Options::parser() const { return *d_parser; } |
333 |
68 |
options::HolderPARSER& Options::parser() { return *d_parser; } |
334 |
201 |
const options::HolderPRINTER& Options::printer() const { return *d_printer; } |
335 |
26 |
options::HolderPRINTER& Options::printer() { return *d_printer; } |
336 |
13858617 |
const options::HolderPROOF& Options::proof() const { return *d_proof; } |
337 |
2865 |
options::HolderPROOF& Options::proof() { return *d_proof; } |
338 |
177393 |
const options::HolderPROP& Options::prop() const { return *d_prop; } |
339 |
7284 |
options::HolderPROP& Options::prop() { return *d_prop; } |
340 |
27842185 |
const options::HolderQUANTIFIERS& Options::quantifiers() const { return *d_quantifiers; } |
341 |
37583 |
options::HolderQUANTIFIERS& Options::quantifiers() { return *d_quantifiers; } |
342 |
305893818 |
const options::HolderRESMAN& Options::resman() const { return *d_resman; } |
343 |
12 |
options::HolderRESMAN& Options::resman() { return *d_resman; } |
344 |
12293 |
const options::HolderSEP& Options::sep() const { return *d_sep; } |
345 |
2 |
options::HolderSEP& Options::sep() { return *d_sep; } |
346 |
142572 |
const options::HolderSETS& Options::sets() const { return *d_sets; } |
347 |
236 |
options::HolderSETS& Options::sets() { return *d_sets; } |
348 |
48847426 |
const options::HolderSMT& Options::smt() const { return *d_smt; } |
349 |
76292 |
options::HolderSMT& Options::smt() { return *d_smt; } |
350 |
570900 |
const options::HolderSTRINGS& Options::strings() const { return *d_strings; } |
351 |
1909 |
options::HolderSTRINGS& Options::strings() { return *d_strings; } |
352 |
154924796 |
const options::HolderTHEORY& Options::theory() const { return *d_theory; } |
353 |
1735 |
options::HolderTHEORY& Options::theory() { return *d_theory; } |
354 |
16350007 |
const options::HolderUF& Options::uf() const { return *d_uf; } |
355 |
10893 |
options::HolderUF& Options::uf() { return *d_uf; } |
356 |
|
|
357 |
|
std::string Options::formatThreadOptionException(const std::string& option) { |
358 |
|
std::stringstream ss; |
359 |
|
ss << "can't understand option `" << option |
360 |
|
<< "': expected something like --threadN=\"--option1 --option2\"," |
361 |
|
<< " where N is a nonnegative integer"; |
362 |
|
return ss.str(); |
363 |
|
} |
364 |
|
|
365 |
9586 |
void Options::setListener(OptionsListener* ol) { d_olisten = ol; } |
366 |
|
|
367 |
|
// clang-format off |
368 |
|
template <> void Options::assign( |
369 |
|
options::maxApproxDepth__option_t, |
370 |
|
std::string option, |
371 |
|
std::string optionarg) |
372 |
|
{ |
373 |
|
auto parsedval = handleOption<int16_t>(option, optionarg); |
374 |
|
|
375 |
|
arith().maxApproxDepth = parsedval; |
376 |
|
arith().maxApproxDepth__setByUser__ = true; |
377 |
|
Trace("options") << "user assigned option maxApproxDepth" << std::endl; |
378 |
|
} |
379 |
4 |
template <> void Options::assignBool( |
380 |
|
options::brabTest__option_t, |
381 |
|
std::string option, |
382 |
|
bool value) |
383 |
|
{ |
384 |
|
|
385 |
4 |
arith().brabTest = value; |
386 |
4 |
arith().brabTest__setByUser__ = true; |
387 |
4 |
Trace("options") << "user assigned option brabTest" << std::endl; |
388 |
4 |
} |
389 |
3 |
template <> void Options::assignBool( |
390 |
|
options::arithNoPartialFun__option_t, |
391 |
|
std::string option, |
392 |
|
bool value) |
393 |
|
{ |
394 |
|
|
395 |
3 |
arith().arithNoPartialFun = value; |
396 |
3 |
arith().arithNoPartialFun__setByUser__ = true; |
397 |
3 |
Trace("options") << "user assigned option arithNoPartialFun" << std::endl; |
398 |
3 |
} |
399 |
|
template <> void Options::assign( |
400 |
|
options::arithPropAsLemmaLength__option_t, |
401 |
|
std::string option, |
402 |
|
std::string optionarg) |
403 |
|
{ |
404 |
|
auto parsedval = handleOption<uint16_t>(option, optionarg); |
405 |
|
|
406 |
|
arith().arithPropAsLemmaLength = parsedval; |
407 |
|
arith().arithPropAsLemmaLength__setByUser__ = true; |
408 |
|
Trace("options") << "user assigned option arithPropAsLemmaLength" << std::endl; |
409 |
|
} |
410 |
|
template <> void Options::assign( |
411 |
|
options::arithPropagationMode__option_t, |
412 |
|
std::string option, |
413 |
|
std::string optionarg) |
414 |
|
{ |
415 |
|
auto parsedval = stringToArithPropagationMode(optionarg); |
416 |
|
|
417 |
|
arith().arithPropagationMode = parsedval; |
418 |
|
arith().arithPropagationMode__setByUser__ = true; |
419 |
|
Trace("options") << "user assigned option arithPropagationMode" << std::endl; |
420 |
|
} |
421 |
8 |
template <> void Options::assignBool( |
422 |
|
options::arithRewriteEq__option_t, |
423 |
|
std::string option, |
424 |
|
bool value) |
425 |
|
{ |
426 |
|
|
427 |
8 |
arith().arithRewriteEq = value; |
428 |
8 |
arith().arithRewriteEq__setByUser__ = true; |
429 |
8 |
Trace("options") << "user assigned option arithRewriteEq" << std::endl; |
430 |
8 |
} |
431 |
|
template <> void Options::assignBool( |
432 |
|
options::collectPivots__option_t, |
433 |
|
std::string option, |
434 |
|
bool value) |
435 |
|
{ |
436 |
|
|
437 |
|
arith().collectPivots = value; |
438 |
|
arith().collectPivots__setByUser__ = true; |
439 |
|
Trace("options") << "user assigned option collectPivots" << std::endl; |
440 |
|
} |
441 |
|
template <> void Options::assignBool( |
442 |
|
options::doCutAllBounded__option_t, |
443 |
|
std::string option, |
444 |
|
bool value) |
445 |
|
{ |
446 |
|
|
447 |
|
arith().doCutAllBounded = value; |
448 |
|
arith().doCutAllBounded__setByUser__ = true; |
449 |
|
Trace("options") << "user assigned option doCutAllBounded" << std::endl; |
450 |
|
} |
451 |
|
template <> void Options::assignBool( |
452 |
|
options::exportDioDecompositions__option_t, |
453 |
|
std::string option, |
454 |
|
bool value) |
455 |
|
{ |
456 |
|
|
457 |
|
arith().exportDioDecompositions = value; |
458 |
|
arith().exportDioDecompositions__setByUser__ = true; |
459 |
|
Trace("options") << "user assigned option exportDioDecompositions" << std::endl; |
460 |
|
} |
461 |
|
template <> void Options::assignBool( |
462 |
|
options::dioRepeat__option_t, |
463 |
|
std::string option, |
464 |
|
bool value) |
465 |
|
{ |
466 |
|
|
467 |
|
arith().dioRepeat = value; |
468 |
|
arith().dioRepeat__setByUser__ = true; |
469 |
|
Trace("options") << "user assigned option dioRepeat" << std::endl; |
470 |
|
} |
471 |
|
template <> void Options::assignBool( |
472 |
|
options::arithDioSolver__option_t, |
473 |
|
std::string option, |
474 |
|
bool value) |
475 |
|
{ |
476 |
|
|
477 |
|
arith().arithDioSolver = value; |
478 |
|
arith().arithDioSolver__setByUser__ = true; |
479 |
|
Trace("options") << "user assigned option arithDioSolver" << std::endl; |
480 |
|
} |
481 |
|
template <> void Options::assign( |
482 |
|
options::dioSolverTurns__option_t, |
483 |
|
std::string option, |
484 |
|
std::string optionarg) |
485 |
|
{ |
486 |
|
auto parsedval = handleOption<int>(option, optionarg); |
487 |
|
|
488 |
|
arith().dioSolverTurns = parsedval; |
489 |
|
arith().dioSolverTurns__setByUser__ = true; |
490 |
|
Trace("options") << "user assigned option dioSolverTurns" << std::endl; |
491 |
|
} |
492 |
|
template <> void Options::assign( |
493 |
|
options::arithErrorSelectionRule__option_t, |
494 |
|
std::string option, |
495 |
|
std::string optionarg) |
496 |
|
{ |
497 |
|
auto parsedval = stringToErrorSelectionRule(optionarg); |
498 |
|
|
499 |
|
arith().arithErrorSelectionRule = parsedval; |
500 |
|
arith().arithErrorSelectionRule__setByUser__ = true; |
501 |
|
Trace("options") << "user assigned option arithErrorSelectionRule" << std::endl; |
502 |
|
} |
503 |
|
template <> void Options::assignBool( |
504 |
|
options::havePenalties__option_t, |
505 |
|
std::string option, |
506 |
|
bool value) |
507 |
|
{ |
508 |
|
|
509 |
|
arith().havePenalties = value; |
510 |
|
arith().havePenalties__setByUser__ = true; |
511 |
|
Trace("options") << "user assigned option havePenalties" << std::endl; |
512 |
|
} |
513 |
|
template <> void Options::assign( |
514 |
|
options::arithHeuristicPivots__option_t, |
515 |
|
std::string option, |
516 |
|
std::string optionarg) |
517 |
|
{ |
518 |
|
auto parsedval = handleOption<int16_t>(option, optionarg); |
519 |
|
|
520 |
|
arith().arithHeuristicPivots = parsedval; |
521 |
|
arith().arithHeuristicPivots__setByUser__ = true; |
522 |
|
Trace("options") << "user assigned option arithHeuristicPivots" << std::endl; |
523 |
|
} |
524 |
|
template <> void Options::assignBool( |
525 |
|
options::replayFailureLemma__option_t, |
526 |
|
std::string option, |
527 |
|
bool value) |
528 |
|
{ |
529 |
|
|
530 |
|
arith().replayFailureLemma = value; |
531 |
|
arith().replayFailureLemma__setByUser__ = true; |
532 |
|
Trace("options") << "user assigned option replayFailureLemma" << std::endl; |
533 |
|
} |
534 |
|
template <> void Options::assign( |
535 |
|
options::maxCutsInContext__option_t, |
536 |
|
std::string option, |
537 |
|
std::string optionarg) |
538 |
|
{ |
539 |
|
auto parsedval = handleOption<unsigned>(option, optionarg); |
540 |
|
|
541 |
|
arith().maxCutsInContext = parsedval; |
542 |
|
arith().maxCutsInContext__setByUser__ = true; |
543 |
|
Trace("options") << "user assigned option maxCutsInContext" << std::endl; |
544 |
|
} |
545 |
8 |
template <> void Options::assignBool( |
546 |
|
options::arithMLTrick__option_t, |
547 |
|
std::string option, |
548 |
|
bool value) |
549 |
|
{ |
550 |
|
|
551 |
8 |
arith().arithMLTrick = value; |
552 |
8 |
arith().arithMLTrick__setByUser__ = true; |
553 |
8 |
Trace("options") << "user assigned option arithMLTrick" << std::endl; |
554 |
8 |
} |
555 |
|
template <> void Options::assign( |
556 |
|
options::arithMLTrickSubstitutions__option_t, |
557 |
|
std::string option, |
558 |
|
std::string optionarg) |
559 |
|
{ |
560 |
|
auto parsedval = handleOption<unsigned>(option, optionarg); |
561 |
|
|
562 |
|
arith().arithMLTrickSubstitutions = parsedval; |
563 |
|
arith().arithMLTrickSubstitutions__setByUser__ = true; |
564 |
|
Trace("options") << "user assigned option arithMLTrickSubstitutions" << std::endl; |
565 |
|
} |
566 |
8 |
template <> void Options::assignBool( |
567 |
|
options::newProp__option_t, |
568 |
|
std::string option, |
569 |
|
bool value) |
570 |
|
{ |
571 |
|
|
572 |
8 |
arith().newProp = value; |
573 |
8 |
arith().newProp__setByUser__ = true; |
574 |
8 |
Trace("options") << "user assigned option newProp" << std::endl; |
575 |
8 |
} |
576 |
5 |
template <> void Options::assignBool( |
577 |
|
options::nlCad__option_t, |
578 |
|
std::string option, |
579 |
|
bool value) |
580 |
|
{ |
581 |
|
|
582 |
5 |
arith().nlCad = value; |
583 |
5 |
arith().nlCad__setByUser__ = true; |
584 |
5 |
Trace("options") << "user assigned option nlCad" << std::endl; |
585 |
5 |
} |
586 |
|
template <> void Options::assignBool( |
587 |
|
options::nlCadUseInitial__option_t, |
588 |
|
std::string option, |
589 |
|
bool value) |
590 |
|
{ |
591 |
|
|
592 |
|
arith().nlCadUseInitial = value; |
593 |
|
arith().nlCadUseInitial__setByUser__ = true; |
594 |
|
Trace("options") << "user assigned option nlCadUseInitial" << std::endl; |
595 |
|
} |
596 |
|
template <> void Options::assignBool( |
597 |
|
options::nlExtEntailConflicts__option_t, |
598 |
|
std::string option, |
599 |
|
bool value) |
600 |
|
{ |
601 |
|
|
602 |
|
arith().nlExtEntailConflicts = value; |
603 |
|
arith().nlExtEntailConflicts__setByUser__ = true; |
604 |
|
Trace("options") << "user assigned option nlExtEntailConflicts" << std::endl; |
605 |
|
} |
606 |
|
template <> void Options::assignBool( |
607 |
|
options::nlExtFactor__option_t, |
608 |
|
std::string option, |
609 |
|
bool value) |
610 |
|
{ |
611 |
|
|
612 |
|
arith().nlExtFactor = value; |
613 |
|
arith().nlExtFactor__setByUser__ = true; |
614 |
|
Trace("options") << "user assigned option nlExtFactor" << std::endl; |
615 |
|
} |
616 |
2 |
template <> void Options::assignBool( |
617 |
|
options::nlExtIncPrecision__option_t, |
618 |
|
std::string option, |
619 |
|
bool value) |
620 |
|
{ |
621 |
|
|
622 |
2 |
arith().nlExtIncPrecision = value; |
623 |
2 |
arith().nlExtIncPrecision__setByUser__ = true; |
624 |
2 |
Trace("options") << "user assigned option nlExtIncPrecision" << std::endl; |
625 |
2 |
} |
626 |
5 |
template <> void Options::assignBool( |
627 |
|
options::nlExtPurify__option_t, |
628 |
|
std::string option, |
629 |
|
bool value) |
630 |
|
{ |
631 |
|
|
632 |
5 |
arith().nlExtPurify = value; |
633 |
5 |
arith().nlExtPurify__setByUser__ = true; |
634 |
5 |
Trace("options") << "user assigned option nlExtPurify" << std::endl; |
635 |
5 |
} |
636 |
|
template <> void Options::assignBool( |
637 |
|
options::nlExtResBound__option_t, |
638 |
|
std::string option, |
639 |
|
bool value) |
640 |
|
{ |
641 |
|
|
642 |
|
arith().nlExtResBound = value; |
643 |
|
arith().nlExtResBound__setByUser__ = true; |
644 |
|
Trace("options") << "user assigned option nlExtResBound" << std::endl; |
645 |
|
} |
646 |
|
template <> void Options::assignBool( |
647 |
|
options::nlExtRewrites__option_t, |
648 |
|
std::string option, |
649 |
|
bool value) |
650 |
|
{ |
651 |
|
|
652 |
|
arith().nlExtRewrites = value; |
653 |
|
arith().nlExtRewrites__setByUser__ = true; |
654 |
|
Trace("options") << "user assigned option nlExtRewrites" << std::endl; |
655 |
|
} |
656 |
|
template <> void Options::assignBool( |
657 |
|
options::nlExtSplitZero__option_t, |
658 |
|
std::string option, |
659 |
|
bool value) |
660 |
|
{ |
661 |
|
|
662 |
|
arith().nlExtSplitZero = value; |
663 |
|
arith().nlExtSplitZero__setByUser__ = true; |
664 |
|
Trace("options") << "user assigned option nlExtSplitZero" << std::endl; |
665 |
|
} |
666 |
|
template <> void Options::assign( |
667 |
|
options::nlExtTfTaylorDegree__option_t, |
668 |
|
std::string option, |
669 |
|
std::string optionarg) |
670 |
|
{ |
671 |
|
auto parsedval = handleOption<int16_t>(option, optionarg); |
672 |
|
|
673 |
|
arith().nlExtTfTaylorDegree = parsedval; |
674 |
|
arith().nlExtTfTaylorDegree__setByUser__ = true; |
675 |
|
Trace("options") << "user assigned option nlExtTfTaylorDegree" << std::endl; |
676 |
|
} |
677 |
41 |
template <> void Options::assignBool( |
678 |
|
options::nlExtTfTangentPlanes__option_t, |
679 |
|
std::string option, |
680 |
|
bool value) |
681 |
|
{ |
682 |
|
|
683 |
41 |
arith().nlExtTfTangentPlanes = value; |
684 |
41 |
arith().nlExtTfTangentPlanes__setByUser__ = true; |
685 |
41 |
Trace("options") << "user assigned option nlExtTfTangentPlanes" << std::endl; |
686 |
41 |
} |
687 |
41 |
template <> void Options::assignBool( |
688 |
|
options::nlExtTangentPlanes__option_t, |
689 |
|
std::string option, |
690 |
|
bool value) |
691 |
|
{ |
692 |
|
|
693 |
41 |
arith().nlExtTangentPlanes = value; |
694 |
41 |
arith().nlExtTangentPlanes__setByUser__ = true; |
695 |
41 |
Trace("options") << "user assigned option nlExtTangentPlanes" << std::endl; |
696 |
41 |
} |
697 |
|
template <> void Options::assignBool( |
698 |
|
options::nlExtTangentPlanesInterleave__option_t, |
699 |
|
std::string option, |
700 |
|
bool value) |
701 |
|
{ |
702 |
|
|
703 |
|
arith().nlExtTangentPlanesInterleave = value; |
704 |
|
arith().nlExtTangentPlanesInterleave__setByUser__ = true; |
705 |
|
Trace("options") << "user assigned option nlExtTangentPlanesInterleave" << std::endl; |
706 |
|
} |
707 |
128 |
template <> void Options::assign( |
708 |
|
options::nlExt__option_t, |
709 |
|
std::string option, |
710 |
|
std::string optionarg) |
711 |
|
{ |
712 |
128 |
auto parsedval = stringToNlExtMode(optionarg); |
713 |
|
|
714 |
128 |
arith().nlExt = parsedval; |
715 |
128 |
arith().nlExt__setByUser__ = true; |
716 |
128 |
Trace("options") << "user assigned option nlExt" << std::endl; |
717 |
128 |
} |
718 |
2 |
template <> void Options::assignBool( |
719 |
|
options::nlICP__option_t, |
720 |
|
std::string option, |
721 |
|
bool value) |
722 |
|
{ |
723 |
|
|
724 |
2 |
arith().nlICP = value; |
725 |
2 |
arith().nlICP__setByUser__ = true; |
726 |
2 |
Trace("options") << "user assigned option nlICP" << std::endl; |
727 |
2 |
} |
728 |
10 |
template <> void Options::assign( |
729 |
|
options::nlRlvMode__option_t, |
730 |
|
std::string option, |
731 |
|
std::string optionarg) |
732 |
|
{ |
733 |
10 |
auto parsedval = stringToNlRlvMode(optionarg); |
734 |
|
|
735 |
10 |
arith().nlRlvMode = parsedval; |
736 |
10 |
arith().nlRlvMode__setByUser__ = true; |
737 |
10 |
Trace("options") << "user assigned option nlRlvMode" << std::endl; |
738 |
10 |
} |
739 |
2 |
template <> void Options::assignBool( |
740 |
|
options::pbRewrites__option_t, |
741 |
|
std::string option, |
742 |
|
bool value) |
743 |
|
{ |
744 |
|
|
745 |
2 |
arith().pbRewrites = value; |
746 |
2 |
arith().pbRewrites__setByUser__ = true; |
747 |
2 |
Trace("options") << "user assigned option pbRewrites" << std::endl; |
748 |
2 |
} |
749 |
|
template <> void Options::assign( |
750 |
|
options::arithPivotThreshold__option_t, |
751 |
|
std::string option, |
752 |
|
std::string optionarg) |
753 |
|
{ |
754 |
|
auto parsedval = handleOption<uint16_t>(option, optionarg); |
755 |
|
|
756 |
|
arith().arithPivotThreshold = parsedval; |
757 |
|
arith().arithPivotThreshold__setByUser__ = true; |
758 |
|
Trace("options") << "user assigned option arithPivotThreshold" << std::endl; |
759 |
|
} |
760 |
|
template <> void Options::assign( |
761 |
|
options::ppAssertMaxSubSize__option_t, |
762 |
|
std::string option, |
763 |
|
std::string optionarg) |
764 |
|
{ |
765 |
|
auto parsedval = handleOption<unsigned>(option, optionarg); |
766 |
|
|
767 |
|
arith().ppAssertMaxSubSize = parsedval; |
768 |
|
arith().ppAssertMaxSubSize__setByUser__ = true; |
769 |
|
Trace("options") << "user assigned option ppAssertMaxSubSize" << std::endl; |
770 |
|
} |
771 |
|
template <> void Options::assign( |
772 |
|
options::arithPropagateMaxLength__option_t, |
773 |
|
std::string option, |
774 |
|
std::string optionarg) |
775 |
|
{ |
776 |
|
auto parsedval = handleOption<uint16_t>(option, optionarg); |
777 |
|
|
778 |
|
arith().arithPropagateMaxLength = parsedval; |
779 |
|
arith().arithPropagateMaxLength__setByUser__ = true; |
780 |
|
Trace("options") << "user assigned option arithPropagateMaxLength" << std::endl; |
781 |
|
} |
782 |
|
template <> void Options::assign( |
783 |
|
options::replayEarlyCloseDepths__option_t, |
784 |
|
std::string option, |
785 |
|
std::string optionarg) |
786 |
|
{ |
787 |
|
auto parsedval = handleOption<int>(option, optionarg); |
788 |
|
|
789 |
|
arith().replayEarlyCloseDepths = parsedval; |
790 |
|
arith().replayEarlyCloseDepths__setByUser__ = true; |
791 |
|
Trace("options") << "user assigned option replayEarlyCloseDepths" << std::endl; |
792 |
|
} |
793 |
|
template <> void Options::assign( |
794 |
|
options::replayFailurePenalty__option_t, |
795 |
|
std::string option, |
796 |
|
std::string optionarg) |
797 |
|
{ |
798 |
|
auto parsedval = handleOption<int>(option, optionarg); |
799 |
|
|
800 |
|
arith().replayFailurePenalty = parsedval; |
801 |
|
arith().replayFailurePenalty__setByUser__ = true; |
802 |
|
Trace("options") << "user assigned option replayFailurePenalty" << std::endl; |
803 |
|
} |
804 |
|
template <> void Options::assign( |
805 |
|
options::lemmaRejectCutSize__option_t, |
806 |
|
std::string option, |
807 |
|
std::string optionarg) |
808 |
|
{ |
809 |
|
auto parsedval = handleOption<unsigned>(option, optionarg); |
810 |
|
|
811 |
|
arith().lemmaRejectCutSize = parsedval; |
812 |
|
arith().lemmaRejectCutSize__setByUser__ = true; |
813 |
|
Trace("options") << "user assigned option lemmaRejectCutSize" << std::endl; |
814 |
|
} |
815 |
|
template <> void Options::assign( |
816 |
|
options::replayNumericFailurePenalty__option_t, |
817 |
|
std::string option, |
818 |
|
std::string optionarg) |
819 |
|
{ |
820 |
|
auto parsedval = handleOption<int>(option, optionarg); |
821 |
|
|
822 |
|
arith().replayNumericFailurePenalty = parsedval; |
823 |
|
arith().replayNumericFailurePenalty__setByUser__ = true; |
824 |
|
Trace("options") << "user assigned option replayNumericFailurePenalty" << std::endl; |
825 |
|
} |
826 |
|
template <> void Options::assign( |
827 |
|
options::replayRejectCutSize__option_t, |
828 |
|
std::string option, |
829 |
|
std::string optionarg) |
830 |
|
{ |
831 |
|
auto parsedval = handleOption<unsigned>(option, optionarg); |
832 |
|
|
833 |
|
arith().replayRejectCutSize = parsedval; |
834 |
|
arith().replayRejectCutSize__setByUser__ = true; |
835 |
|
Trace("options") << "user assigned option replayRejectCutSize" << std::endl; |
836 |
|
} |
837 |
|
template <> void Options::assign( |
838 |
|
options::soiApproxMajorFailurePen__option_t, |
839 |
|
std::string option, |
840 |
|
std::string optionarg) |
841 |
|
{ |
842 |
|
auto parsedval = handleOption<int>(option, optionarg); |
843 |
|
|
844 |
|
arith().soiApproxMajorFailurePen = parsedval; |
845 |
|
arith().soiApproxMajorFailurePen__setByUser__ = true; |
846 |
|
Trace("options") << "user assigned option soiApproxMajorFailurePen" << std::endl; |
847 |
|
} |
848 |
|
template <> void Options::assign( |
849 |
|
options::soiApproxMajorFailure__option_t, |
850 |
|
std::string option, |
851 |
|
std::string optionarg) |
852 |
|
{ |
853 |
|
auto parsedval = handleOption<double>(option, optionarg); |
854 |
|
|
855 |
|
arith().soiApproxMajorFailure = parsedval; |
856 |
|
arith().soiApproxMajorFailure__setByUser__ = true; |
857 |
|
Trace("options") << "user assigned option soiApproxMajorFailure" << std::endl; |
858 |
|
} |
859 |
|
template <> void Options::assign( |
860 |
|
options::soiApproxMinorFailurePen__option_t, |
861 |
|
std::string option, |
862 |
|
std::string optionarg) |
863 |
|
{ |
864 |
|
auto parsedval = handleOption<int>(option, optionarg); |
865 |
|
|
866 |
|
arith().soiApproxMinorFailurePen = parsedval; |
867 |
|
arith().soiApproxMinorFailurePen__setByUser__ = true; |
868 |
|
Trace("options") << "user assigned option soiApproxMinorFailurePen" << std::endl; |
869 |
|
} |
870 |
|
template <> void Options::assign( |
871 |
|
options::soiApproxMinorFailure__option_t, |
872 |
|
std::string option, |
873 |
|
std::string optionarg) |
874 |
|
{ |
875 |
|
auto parsedval = handleOption<double>(option, optionarg); |
876 |
|
|
877 |
|
arith().soiApproxMinorFailure = parsedval; |
878 |
|
arith().soiApproxMinorFailure__setByUser__ = true; |
879 |
|
Trace("options") << "user assigned option soiApproxMinorFailure" << std::endl; |
880 |
|
} |
881 |
|
template <> void Options::assignBool( |
882 |
|
options::restrictedPivots__option_t, |
883 |
|
std::string option, |
884 |
|
bool value) |
885 |
|
{ |
886 |
|
|
887 |
|
arith().restrictedPivots = value; |
888 |
|
arith().restrictedPivots__setByUser__ = true; |
889 |
|
Trace("options") << "user assigned option restrictedPivots" << std::endl; |
890 |
|
} |
891 |
|
template <> void Options::assignBool( |
892 |
|
options::revertArithModels__option_t, |
893 |
|
std::string option, |
894 |
|
bool value) |
895 |
|
{ |
896 |
|
|
897 |
|
arith().revertArithModels = value; |
898 |
|
arith().revertArithModels__setByUser__ = true; |
899 |
|
Trace("options") << "user assigned option revertArithModels" << std::endl; |
900 |
|
} |
901 |
|
template <> void Options::assign( |
902 |
|
options::rrTurns__option_t, |
903 |
|
std::string option, |
904 |
|
std::string optionarg) |
905 |
|
{ |
906 |
|
auto parsedval = handleOption<int>(option, optionarg); |
907 |
|
|
908 |
|
arith().rrTurns = parsedval; |
909 |
|
arith().rrTurns__setByUser__ = true; |
910 |
|
Trace("options") << "user assigned option rrTurns" << std::endl; |
911 |
|
} |
912 |
|
template <> void Options::assignBool( |
913 |
|
options::trySolveIntStandardEffort__option_t, |
914 |
|
std::string option, |
915 |
|
bool value) |
916 |
|
{ |
917 |
|
|
918 |
|
arith().trySolveIntStandardEffort = value; |
919 |
|
arith().trySolveIntStandardEffort__setByUser__ = true; |
920 |
|
Trace("options") << "user assigned option trySolveIntStandardEffort" << std::endl; |
921 |
|
} |
922 |
|
template <> void Options::assign( |
923 |
|
options::arithSimplexCheckPeriod__option_t, |
924 |
|
std::string option, |
925 |
|
std::string optionarg) |
926 |
|
{ |
927 |
|
auto parsedval = handleOption<uint16_t>(option, optionarg); |
928 |
|
|
929 |
|
arith().arithSimplexCheckPeriod = parsedval; |
930 |
|
arith().arithSimplexCheckPeriod__setByUser__ = true; |
931 |
|
Trace("options") << "user assigned option arithSimplexCheckPeriod" << std::endl; |
932 |
|
} |
933 |
|
template <> void Options::assignBool( |
934 |
|
options::soiQuickExplain__option_t, |
935 |
|
std::string option, |
936 |
|
bool value) |
937 |
|
{ |
938 |
|
|
939 |
|
arith().soiQuickExplain = value; |
940 |
|
arith().soiQuickExplain__setByUser__ = true; |
941 |
|
Trace("options") << "user assigned option soiQuickExplain" << std::endl; |
942 |
|
} |
943 |
|
template <> void Options::assign( |
944 |
|
options::arithStandardCheckVarOrderPivots__option_t, |
945 |
|
std::string option, |
946 |
|
std::string optionarg) |
947 |
|
{ |
948 |
|
auto parsedval = handleOption<int16_t>(option, optionarg); |
949 |
|
|
950 |
|
arith().arithStandardCheckVarOrderPivots = parsedval; |
951 |
|
arith().arithStandardCheckVarOrderPivots__setByUser__ = true; |
952 |
|
Trace("options") << "user assigned option arithStandardCheckVarOrderPivots" << std::endl; |
953 |
|
} |
954 |
|
template <> void Options::assign( |
955 |
|
options::arithUnateLemmaMode__option_t, |
956 |
|
std::string option, |
957 |
|
std::string optionarg) |
958 |
|
{ |
959 |
|
auto parsedval = stringToArithUnateLemmaMode(optionarg); |
960 |
|
|
961 |
|
arith().arithUnateLemmaMode = parsedval; |
962 |
|
arith().arithUnateLemmaMode__setByUser__ = true; |
963 |
|
Trace("options") << "user assigned option arithUnateLemmaMode" << std::endl; |
964 |
|
} |
965 |
|
template <> void Options::assignBool( |
966 |
|
options::useApprox__option_t, |
967 |
|
std::string option, |
968 |
|
bool value) |
969 |
|
{ |
970 |
|
|
971 |
|
arith().useApprox = value; |
972 |
|
arith().useApprox__setByUser__ = true; |
973 |
|
Trace("options") << "user assigned option useApprox" << std::endl; |
974 |
|
} |
975 |
|
template <> void Options::assignBool( |
976 |
|
options::useFC__option_t, |
977 |
|
std::string option, |
978 |
|
bool value) |
979 |
|
{ |
980 |
|
|
981 |
|
arith().useFC = value; |
982 |
|
arith().useFC__setByUser__ = true; |
983 |
|
Trace("options") << "user assigned option useFC" << std::endl; |
984 |
|
} |
985 |
|
template <> void Options::assignBool( |
986 |
|
options::useSOI__option_t, |
987 |
|
std::string option, |
988 |
|
bool value) |
989 |
|
{ |
990 |
|
|
991 |
|
arith().useSOI = value; |
992 |
|
arith().useSOI__setByUser__ = true; |
993 |
|
Trace("options") << "user assigned option useSOI" << std::endl; |
994 |
|
} |
995 |
|
template <> void Options::assign( |
996 |
|
options::arraysConfig__option_t, |
997 |
|
std::string option, |
998 |
|
std::string optionarg) |
999 |
|
{ |
1000 |
|
auto parsedval = handleOption<int>(option, optionarg); |
1001 |
|
|
1002 |
|
arrays().arraysConfig = parsedval; |
1003 |
|
arrays().arraysConfig__setByUser__ = true; |
1004 |
|
Trace("options") << "user assigned option arraysConfig" << std::endl; |
1005 |
|
} |
1006 |
|
template <> void Options::assignBool( |
1007 |
|
options::arraysEagerIndexSplitting__option_t, |
1008 |
|
std::string option, |
1009 |
|
bool value) |
1010 |
|
{ |
1011 |
|
|
1012 |
|
arrays().arraysEagerIndexSplitting = value; |
1013 |
|
arrays().arraysEagerIndexSplitting__setByUser__ = true; |
1014 |
|
Trace("options") << "user assigned option arraysEagerIndexSplitting" << std::endl; |
1015 |
|
} |
1016 |
|
template <> void Options::assignBool( |
1017 |
|
options::arraysEagerLemmas__option_t, |
1018 |
|
std::string option, |
1019 |
|
bool value) |
1020 |
|
{ |
1021 |
|
|
1022 |
|
arrays().arraysEagerLemmas = value; |
1023 |
|
arrays().arraysEagerLemmas__setByUser__ = true; |
1024 |
|
Trace("options") << "user assigned option arraysEagerLemmas" << std::endl; |
1025 |
|
} |
1026 |
10 |
template <> void Options::assignBool( |
1027 |
|
options::arraysExp__option_t, |
1028 |
|
std::string option, |
1029 |
|
bool value) |
1030 |
|
{ |
1031 |
|
|
1032 |
10 |
arrays().arraysExp = value; |
1033 |
10 |
arrays().arraysExp__setByUser__ = true; |
1034 |
10 |
Trace("options") << "user assigned option arraysExp" << std::endl; |
1035 |
10 |
} |
1036 |
|
template <> void Options::assignBool( |
1037 |
|
options::arraysModelBased__option_t, |
1038 |
|
std::string option, |
1039 |
|
bool value) |
1040 |
|
{ |
1041 |
|
|
1042 |
|
arrays().arraysModelBased = value; |
1043 |
|
arrays().arraysModelBased__setByUser__ = true; |
1044 |
|
Trace("options") << "user assigned option arraysModelBased" << std::endl; |
1045 |
|
} |
1046 |
|
template <> void Options::assignBool( |
1047 |
|
options::arraysOptimizeLinear__option_t, |
1048 |
|
std::string option, |
1049 |
|
bool value) |
1050 |
|
{ |
1051 |
|
|
1052 |
|
arrays().arraysOptimizeLinear = value; |
1053 |
|
arrays().arraysOptimizeLinear__setByUser__ = true; |
1054 |
|
Trace("options") << "user assigned option arraysOptimizeLinear" << std::endl; |
1055 |
|
} |
1056 |
|
template <> void Options::assign( |
1057 |
|
options::arraysPropagate__option_t, |
1058 |
|
std::string option, |
1059 |
|
std::string optionarg) |
1060 |
|
{ |
1061 |
|
auto parsedval = handleOption<int>(option, optionarg); |
1062 |
|
|
1063 |
|
arrays().arraysPropagate = parsedval; |
1064 |
|
arrays().arraysPropagate__setByUser__ = true; |
1065 |
|
Trace("options") << "user assigned option arraysPropagate" << std::endl; |
1066 |
|
} |
1067 |
|
template <> void Options::assignBool( |
1068 |
|
options::arraysReduceSharing__option_t, |
1069 |
|
std::string option, |
1070 |
|
bool value) |
1071 |
|
{ |
1072 |
|
|
1073 |
|
arrays().arraysReduceSharing = value; |
1074 |
|
arrays().arraysReduceSharing__setByUser__ = true; |
1075 |
|
Trace("options") << "user assigned option arraysReduceSharing" << std::endl; |
1076 |
|
} |
1077 |
|
template <> void Options::assignBool( |
1078 |
|
options::arraysWeakEquivalence__option_t, |
1079 |
|
std::string option, |
1080 |
|
bool value) |
1081 |
|
{ |
1082 |
|
|
1083 |
|
arrays().arraysWeakEquivalence = value; |
1084 |
|
arrays().arraysWeakEquivalence__setByUser__ = true; |
1085 |
|
Trace("options") << "user assigned option arraysWeakEquivalence" << std::endl; |
1086 |
|
} |
1087 |
495 |
template <> void Options::assign( |
1088 |
|
options::inputLanguage__option_t, |
1089 |
|
std::string option, |
1090 |
|
std::string optionarg) |
1091 |
|
{ |
1092 |
495 |
auto parsedval = d_handler->stringToInputLanguage(option, optionarg); |
1093 |
|
|
1094 |
495 |
base().inputLanguage = parsedval; |
1095 |
495 |
base().inputLanguage__setByUser__ = true; |
1096 |
495 |
Trace("options") << "user assigned option inputLanguage" << std::endl; |
1097 |
495 |
} |
1098 |
|
template <> void Options::assignBool( |
1099 |
|
options::languageHelp__option_t, |
1100 |
|
std::string option, |
1101 |
|
bool value) |
1102 |
|
{ |
1103 |
|
|
1104 |
|
base().languageHelp = value; |
1105 |
|
base().languageHelp__setByUser__ = true; |
1106 |
|
Trace("options") << "user assigned option languageHelp" << std::endl; |
1107 |
|
} |
1108 |
87 |
template <> void Options::assign( |
1109 |
|
options::outputLanguage__option_t, |
1110 |
|
std::string option, |
1111 |
|
std::string optionarg) |
1112 |
|
{ |
1113 |
87 |
auto parsedval = d_handler->stringToOutputLanguage(option, optionarg); |
1114 |
|
|
1115 |
87 |
base().outputLanguage = parsedval; |
1116 |
87 |
base().outputLanguage__setByUser__ = true; |
1117 |
87 |
Trace("options") << "user assigned option outputLanguage" << std::endl; |
1118 |
87 |
} |
1119 |
|
template <> void Options::assignBool( |
1120 |
|
options::parseOnly__option_t, |
1121 |
|
std::string option, |
1122 |
|
bool value) |
1123 |
|
{ |
1124 |
|
|
1125 |
|
base().parseOnly = value; |
1126 |
|
base().parseOnly__setByUser__ = true; |
1127 |
|
Trace("options") << "user assigned option parseOnly" << std::endl; |
1128 |
|
} |
1129 |
3 |
template <> void Options::assignBool( |
1130 |
|
options::preprocessOnly__option_t, |
1131 |
|
std::string option, |
1132 |
|
bool value) |
1133 |
|
{ |
1134 |
|
|
1135 |
3 |
base().preprocessOnly = value; |
1136 |
3 |
base().preprocessOnly__setByUser__ = true; |
1137 |
3 |
Trace("options") << "user assigned option preprocessOnly" << std::endl; |
1138 |
3 |
} |
1139 |
28 |
template <> void Options::assignBool( |
1140 |
|
options::printSuccess__option_t, |
1141 |
|
std::string option, |
1142 |
|
bool value) |
1143 |
|
{ |
1144 |
|
|
1145 |
28 |
base().printSuccess = value; |
1146 |
28 |
base().printSuccess__setByUser__ = true; |
1147 |
28 |
Trace("options") << "user assigned option printSuccess" << std::endl; |
1148 |
28 |
} |
1149 |
|
template <> void Options::assignBool( |
1150 |
|
options::statistics__option_t, |
1151 |
|
std::string option, |
1152 |
|
bool value) |
1153 |
|
{ |
1154 |
|
d_handler->setStats(option, value); |
1155 |
|
base().statistics = value; |
1156 |
|
base().statistics__setByUser__ = true; |
1157 |
|
Trace("options") << "user assigned option statistics" << std::endl; |
1158 |
|
} |
1159 |
|
template <> void Options::assignBool( |
1160 |
|
options::statisticsAll__option_t, |
1161 |
|
std::string option, |
1162 |
|
bool value) |
1163 |
|
{ |
1164 |
|
d_handler->setStats(option, value); |
1165 |
|
base().statisticsAll = value; |
1166 |
|
base().statisticsAll__setByUser__ = true; |
1167 |
|
Trace("options") << "user assigned option statisticsAll" << std::endl; |
1168 |
|
} |
1169 |
|
template <> void Options::assignBool( |
1170 |
|
options::statisticsEveryQuery__option_t, |
1171 |
|
std::string option, |
1172 |
|
bool value) |
1173 |
|
{ |
1174 |
|
d_handler->setStats(option, value); |
1175 |
|
base().statisticsEveryQuery = value; |
1176 |
|
base().statisticsEveryQuery__setByUser__ = true; |
1177 |
|
Trace("options") << "user assigned option statisticsEveryQuery" << std::endl; |
1178 |
|
} |
1179 |
|
template <> void Options::assignBool( |
1180 |
|
options::statisticsExpert__option_t, |
1181 |
|
std::string option, |
1182 |
|
bool value) |
1183 |
|
{ |
1184 |
|
d_handler->setStats(option, value); |
1185 |
|
base().statisticsExpert = value; |
1186 |
|
base().statisticsExpert__setByUser__ = true; |
1187 |
|
Trace("options") << "user assigned option statisticsExpert" << std::endl; |
1188 |
|
} |
1189 |
|
template <> void Options::assign( |
1190 |
|
options::verbosity__option_t, |
1191 |
|
std::string option, |
1192 |
|
std::string optionarg) |
1193 |
|
{ |
1194 |
|
auto parsedval = handleOption<int>(option, optionarg); |
1195 |
|
d_handler->setVerbosity(option, parsedval); |
1196 |
|
base().verbosity = parsedval; |
1197 |
|
base().verbosity__setByUser__ = true; |
1198 |
|
Trace("options") << "user assigned option verbosity" << std::endl; |
1199 |
|
} |
1200 |
|
template <> void Options::assignBool( |
1201 |
|
options::bitvectorAig__option_t, |
1202 |
|
std::string option, |
1203 |
|
bool value) |
1204 |
|
{ |
1205 |
|
d_handler->abcEnabledBuild(option, value); |
1206 |
|
d_handler->setBitblastAig(option, value); |
1207 |
|
bv().bitvectorAig = value; |
1208 |
|
bv().bitvectorAig__setByUser__ = true; |
1209 |
|
Trace("options") << "user assigned option bitvectorAig" << std::endl; |
1210 |
|
} |
1211 |
33 |
template <> void Options::assign( |
1212 |
|
options::bitblastMode__option_t, |
1213 |
|
std::string option, |
1214 |
|
std::string optionarg) |
1215 |
|
{ |
1216 |
33 |
auto parsedval = stringToBitblastMode(optionarg); |
1217 |
|
|
1218 |
33 |
bv().bitblastMode = parsedval; |
1219 |
33 |
bv().bitblastMode__setByUser__ = true; |
1220 |
33 |
Trace("options") << "user assigned option bitblastMode" << std::endl; |
1221 |
33 |
} |
1222 |
|
template <> void Options::assignBool( |
1223 |
|
options::bitwiseEq__option_t, |
1224 |
|
std::string option, |
1225 |
|
bool value) |
1226 |
|
{ |
1227 |
|
|
1228 |
|
bv().bitwiseEq = value; |
1229 |
|
bv().bitwiseEq__setByUser__ = true; |
1230 |
|
Trace("options") << "user assigned option bitwiseEq" << std::endl; |
1231 |
|
} |
1232 |
12 |
template <> void Options::assign( |
1233 |
|
options::boolToBitvector__option_t, |
1234 |
|
std::string option, |
1235 |
|
std::string optionarg) |
1236 |
|
{ |
1237 |
12 |
auto parsedval = stringToBoolToBVMode(optionarg); |
1238 |
|
|
1239 |
12 |
bv().boolToBitvector = parsedval; |
1240 |
12 |
bv().boolToBitvector__setByUser__ = true; |
1241 |
12 |
Trace("options") << "user assigned option boolToBitvector" << std::endl; |
1242 |
12 |
} |
1243 |
4 |
template <> void Options::assignBool( |
1244 |
|
options::bvAbstraction__option_t, |
1245 |
|
std::string option, |
1246 |
|
bool value) |
1247 |
|
{ |
1248 |
|
|
1249 |
4 |
bv().bvAbstraction = value; |
1250 |
4 |
bv().bvAbstraction__setByUser__ = true; |
1251 |
4 |
Trace("options") << "user assigned option bvAbstraction" << std::endl; |
1252 |
4 |
} |
1253 |
|
template <> void Options::assign( |
1254 |
|
options::bitvectorAigSimplifications__option_t, |
1255 |
|
std::string option, |
1256 |
|
std::string optionarg) |
1257 |
|
{ |
1258 |
|
auto parsedval = handleOption<std::string>(option, optionarg); |
1259 |
|
d_handler->abcEnabledBuild(option, parsedval); |
1260 |
|
bv().bitvectorAigSimplifications = parsedval; |
1261 |
|
bv().bitvectorAigSimplifications__setByUser__ = true; |
1262 |
|
Trace("options") << "user assigned option bitvectorAigSimplifications" << std::endl; |
1263 |
|
} |
1264 |
|
template <> void Options::assignBool( |
1265 |
|
options::bvAlgExtf__option_t, |
1266 |
|
std::string option, |
1267 |
|
bool value) |
1268 |
|
{ |
1269 |
|
|
1270 |
|
bv().bvAlgExtf = value; |
1271 |
|
bv().bvAlgExtf__setByUser__ = true; |
1272 |
|
Trace("options") << "user assigned option bvAlgExtf" << std::endl; |
1273 |
|
} |
1274 |
|
template <> void Options::assign( |
1275 |
|
options::bitvectorAlgebraicBudget__option_t, |
1276 |
|
std::string option, |
1277 |
|
std::string optionarg) |
1278 |
|
{ |
1279 |
|
auto parsedval = handleOption<unsigned>(option, optionarg); |
1280 |
|
|
1281 |
|
bv().bitvectorAlgebraicBudget = parsedval; |
1282 |
|
bv().bitvectorAlgebraicBudget__setByUser__ = true; |
1283 |
|
Trace("options") << "user assigned option bitvectorAlgebraicBudget" << std::endl; |
1284 |
|
} |
1285 |
|
template <> void Options::assignBool( |
1286 |
|
options::bitvectorAlgebraicSolver__option_t, |
1287 |
|
std::string option, |
1288 |
|
bool value) |
1289 |
|
{ |
1290 |
|
|
1291 |
|
bv().bitvectorAlgebraicSolver = value; |
1292 |
|
bv().bitvectorAlgebraicSolver__setByUser__ = true; |
1293 |
|
Trace("options") << "user assigned option bitvectorAlgebraicSolver" << std::endl; |
1294 |
|
} |
1295 |
|
template <> void Options::assignBool( |
1296 |
|
options::bvAssertInput__option_t, |
1297 |
|
std::string option, |
1298 |
|
bool value) |
1299 |
|
{ |
1300 |
|
|
1301 |
|
bv().bvAssertInput = value; |
1302 |
|
bv().bvAssertInput__setByUser__ = true; |
1303 |
|
Trace("options") << "user assigned option bvAssertInput" << std::endl; |
1304 |
|
} |
1305 |
|
template <> void Options::assignBool( |
1306 |
|
options::bvEagerExplanations__option_t, |
1307 |
|
std::string option, |
1308 |
|
bool value) |
1309 |
|
{ |
1310 |
|
|
1311 |
|
bv().bvEagerExplanations = value; |
1312 |
|
bv().bvEagerExplanations__setByUser__ = true; |
1313 |
|
Trace("options") << "user assigned option bvEagerExplanations" << std::endl; |
1314 |
|
} |
1315 |
2 |
template <> void Options::assignBool( |
1316 |
|
options::bitvectorEqualitySolver__option_t, |
1317 |
|
std::string option, |
1318 |
|
bool value) |
1319 |
|
{ |
1320 |
|
|
1321 |
2 |
bv().bitvectorEqualitySolver = value; |
1322 |
2 |
bv().bitvectorEqualitySolver__setByUser__ = true; |
1323 |
2 |
Trace("options") << "user assigned option bitvectorEqualitySolver" << std::endl; |
1324 |
2 |
} |
1325 |
|
template <> void Options::assignBool( |
1326 |
|
options::bvExtractArithRewrite__option_t, |
1327 |
|
std::string option, |
1328 |
|
bool value) |
1329 |
|
{ |
1330 |
|
|
1331 |
|
bv().bvExtractArithRewrite = value; |
1332 |
|
bv().bvExtractArithRewrite__setByUser__ = true; |
1333 |
|
Trace("options") << "user assigned option bvExtractArithRewrite" << std::endl; |
1334 |
|
} |
1335 |
|
template <> void Options::assignBool( |
1336 |
|
options::bvGaussElim__option_t, |
1337 |
|
std::string option, |
1338 |
|
bool value) |
1339 |
|
{ |
1340 |
|
|
1341 |
|
bv().bvGaussElim = value; |
1342 |
|
bv().bvGaussElim__setByUser__ = true; |
1343 |
|
Trace("options") << "user assigned option bvGaussElim" << std::endl; |
1344 |
|
} |
1345 |
|
template <> void Options::assignBool( |
1346 |
|
options::bitvectorInequalitySolver__option_t, |
1347 |
|
std::string option, |
1348 |
|
bool value) |
1349 |
|
{ |
1350 |
|
|
1351 |
|
bv().bitvectorInequalitySolver = value; |
1352 |
|
bv().bitvectorInequalitySolver__setByUser__ = true; |
1353 |
|
Trace("options") << "user assigned option bitvectorInequalitySolver" << std::endl; |
1354 |
|
} |
1355 |
2 |
template <> void Options::assignBool( |
1356 |
|
options::bvIntroducePow2__option_t, |
1357 |
|
std::string option, |
1358 |
|
bool value) |
1359 |
|
{ |
1360 |
|
|
1361 |
2 |
bv().bvIntroducePow2 = value; |
1362 |
2 |
bv().bvIntroducePow2__setByUser__ = true; |
1363 |
2 |
Trace("options") << "user assigned option bvIntroducePow2" << std::endl; |
1364 |
2 |
} |
1365 |
|
template <> void Options::assignBool( |
1366 |
|
options::bvLazyReduceExtf__option_t, |
1367 |
|
std::string option, |
1368 |
|
bool value) |
1369 |
|
{ |
1370 |
|
|
1371 |
|
bv().bvLazyReduceExtf = value; |
1372 |
|
bv().bvLazyReduceExtf__setByUser__ = true; |
1373 |
|
Trace("options") << "user assigned option bvLazyReduceExtf" << std::endl; |
1374 |
|
} |
1375 |
|
template <> void Options::assignBool( |
1376 |
|
options::bvLazyRewriteExtf__option_t, |
1377 |
|
std::string option, |
1378 |
|
bool value) |
1379 |
|
{ |
1380 |
|
|
1381 |
|
bv().bvLazyRewriteExtf = value; |
1382 |
|
bv().bvLazyRewriteExtf__setByUser__ = true; |
1383 |
|
Trace("options") << "user assigned option bvLazyRewriteExtf" << std::endl; |
1384 |
|
} |
1385 |
|
template <> void Options::assign( |
1386 |
|
options::bvNumFunc__option_t, |
1387 |
|
std::string option, |
1388 |
|
std::string optionarg) |
1389 |
|
{ |
1390 |
|
auto parsedval = handleOption<unsigned>(option, optionarg); |
1391 |
|
|
1392 |
|
bv().bvNumFunc = parsedval; |
1393 |
|
bv().bvNumFunc__setByUser__ = true; |
1394 |
|
Trace("options") << "user assigned option bvNumFunc" << std::endl; |
1395 |
|
} |
1396 |
2 |
template <> void Options::assignBool( |
1397 |
|
options::bvPrintConstsAsIndexedSymbols__option_t, |
1398 |
|
std::string option, |
1399 |
|
bool value) |
1400 |
|
{ |
1401 |
|
|
1402 |
2 |
bv().bvPrintConstsAsIndexedSymbols = value; |
1403 |
2 |
bv().bvPrintConstsAsIndexedSymbols__setByUser__ = true; |
1404 |
2 |
Trace("options") << "user assigned option bvPrintConstsAsIndexedSymbols" << std::endl; |
1405 |
2 |
} |
1406 |
|
template <> void Options::assignBool( |
1407 |
|
options::bitvectorPropagate__option_t, |
1408 |
|
std::string option, |
1409 |
|
bool value) |
1410 |
|
{ |
1411 |
|
|
1412 |
|
bv().bitvectorPropagate = value; |
1413 |
|
bv().bitvectorPropagate__setByUser__ = true; |
1414 |
|
Trace("options") << "user assigned option bitvectorPropagate" << std::endl; |
1415 |
|
} |
1416 |
|
template <> void Options::assignBool( |
1417 |
|
options::bitvectorQuickXplain__option_t, |
1418 |
|
std::string option, |
1419 |
|
bool value) |
1420 |
|
{ |
1421 |
|
|
1422 |
|
bv().bitvectorQuickXplain = value; |
1423 |
|
bv().bitvectorQuickXplain__setByUser__ = true; |
1424 |
|
Trace("options") << "user assigned option bitvectorQuickXplain" << std::endl; |
1425 |
|
} |
1426 |
14 |
template <> void Options::assign( |
1427 |
|
options::bvSatSolver__option_t, |
1428 |
|
std::string option, |
1429 |
|
std::string optionarg) |
1430 |
|
{ |
1431 |
14 |
auto parsedval = stringToSatSolverMode(optionarg); |
1432 |
12 |
d_handler->checkBvSatSolver(option, parsedval); |
1433 |
12 |
bv().bvSatSolver = parsedval; |
1434 |
12 |
bv().bvSatSolver__setByUser__ = true; |
1435 |
12 |
Trace("options") << "user assigned option bvSatSolver" << std::endl; |
1436 |
12 |
} |
1437 |
|
template <> void Options::assignBool( |
1438 |
|
options::skolemizeArguments__option_t, |
1439 |
|
std::string option, |
1440 |
|
bool value) |
1441 |
|
{ |
1442 |
|
|
1443 |
|
bv().skolemizeArguments = value; |
1444 |
|
bv().skolemizeArguments__setByUser__ = true; |
1445 |
|
Trace("options") << "user assigned option skolemizeArguments" << std::endl; |
1446 |
|
} |
1447 |
13 |
template <> void Options::assign( |
1448 |
|
options::bvSolver__option_t, |
1449 |
|
std::string option, |
1450 |
|
std::string optionarg) |
1451 |
|
{ |
1452 |
13 |
auto parsedval = stringToBVSolver(optionarg); |
1453 |
|
|
1454 |
13 |
bv().bvSolver = parsedval; |
1455 |
13 |
bv().bvSolver__setByUser__ = true; |
1456 |
13 |
Trace("options") << "user assigned option bvSolver" << std::endl; |
1457 |
13 |
} |
1458 |
10 |
template <> void Options::assignBool( |
1459 |
|
options::bitvectorToBool__option_t, |
1460 |
|
std::string option, |
1461 |
|
bool value) |
1462 |
|
{ |
1463 |
|
|
1464 |
10 |
bv().bitvectorToBool = value; |
1465 |
10 |
bv().bitvectorToBool__setByUser__ = true; |
1466 |
10 |
Trace("options") << "user assigned option bitvectorToBool" << std::endl; |
1467 |
10 |
} |
1468 |
|
template <> void Options::assignBool( |
1469 |
|
options::cdtBisimilar__option_t, |
1470 |
|
std::string option, |
1471 |
|
bool value) |
1472 |
|
{ |
1473 |
|
|
1474 |
|
datatypes().cdtBisimilar = value; |
1475 |
|
datatypes().cdtBisimilar__setByUser__ = true; |
1476 |
|
Trace("options") << "user assigned option cdtBisimilar" << std::endl; |
1477 |
|
} |
1478 |
|
template <> void Options::assignBool( |
1479 |
|
options::dtBinarySplit__option_t, |
1480 |
|
std::string option, |
1481 |
|
bool value) |
1482 |
|
{ |
1483 |
|
|
1484 |
|
datatypes().dtBinarySplit = value; |
1485 |
|
datatypes().dtBinarySplit__setByUser__ = true; |
1486 |
|
Trace("options") << "user assigned option dtBinarySplit" << std::endl; |
1487 |
|
} |
1488 |
|
template <> void Options::assignBool( |
1489 |
|
options::dtBlastSplits__option_t, |
1490 |
|
std::string option, |
1491 |
|
bool value) |
1492 |
|
{ |
1493 |
|
|
1494 |
|
datatypes().dtBlastSplits = value; |
1495 |
|
datatypes().dtBlastSplits__setByUser__ = true; |
1496 |
|
Trace("options") << "user assigned option dtBlastSplits" << std::endl; |
1497 |
|
} |
1498 |
|
template <> void Options::assignBool( |
1499 |
|
options::dtCyclic__option_t, |
1500 |
|
std::string option, |
1501 |
|
bool value) |
1502 |
|
{ |
1503 |
|
|
1504 |
|
datatypes().dtCyclic = value; |
1505 |
|
datatypes().dtCyclic__setByUser__ = true; |
1506 |
|
Trace("options") << "user assigned option dtCyclic" << std::endl; |
1507 |
|
} |
1508 |
|
template <> void Options::assignBool( |
1509 |
|
options::dtForceAssignment__option_t, |
1510 |
|
std::string option, |
1511 |
|
bool value) |
1512 |
|
{ |
1513 |
|
|
1514 |
|
datatypes().dtForceAssignment = value; |
1515 |
|
datatypes().dtForceAssignment__setByUser__ = true; |
1516 |
|
Trace("options") << "user assigned option dtForceAssignment" << std::endl; |
1517 |
|
} |
1518 |
|
template <> void Options::assignBool( |
1519 |
|
options::dtInferAsLemmas__option_t, |
1520 |
|
std::string option, |
1521 |
|
bool value) |
1522 |
|
{ |
1523 |
|
|
1524 |
|
datatypes().dtInferAsLemmas = value; |
1525 |
|
datatypes().dtInferAsLemmas__setByUser__ = true; |
1526 |
|
Trace("options") << "user assigned option dtInferAsLemmas" << std::endl; |
1527 |
|
} |
1528 |
10 |
template <> void Options::assignBool( |
1529 |
|
options::dtNestedRec__option_t, |
1530 |
|
std::string option, |
1531 |
|
bool value) |
1532 |
|
{ |
1533 |
|
|
1534 |
10 |
datatypes().dtNestedRec = value; |
1535 |
10 |
datatypes().dtNestedRec__setByUser__ = true; |
1536 |
10 |
Trace("options") << "user assigned option dtNestedRec" << std::endl; |
1537 |
10 |
} |
1538 |
|
template <> void Options::assignBool( |
1539 |
|
options::dtPoliteOptimize__option_t, |
1540 |
|
std::string option, |
1541 |
|
bool value) |
1542 |
|
{ |
1543 |
|
|
1544 |
|
datatypes().dtPoliteOptimize = value; |
1545 |
|
datatypes().dtPoliteOptimize__setByUser__ = true; |
1546 |
|
Trace("options") << "user assigned option dtPoliteOptimize" << std::endl; |
1547 |
|
} |
1548 |
5 |
template <> void Options::assignBool( |
1549 |
|
options::dtRewriteErrorSel__option_t, |
1550 |
|
std::string option, |
1551 |
|
bool value) |
1552 |
|
{ |
1553 |
|
|
1554 |
5 |
datatypes().dtRewriteErrorSel = value; |
1555 |
5 |
datatypes().dtRewriteErrorSel__setByUser__ = true; |
1556 |
5 |
Trace("options") << "user assigned option dtRewriteErrorSel" << std::endl; |
1557 |
5 |
} |
1558 |
|
template <> void Options::assignBool( |
1559 |
|
options::dtSharedSelectors__option_t, |
1560 |
|
std::string option, |
1561 |
|
bool value) |
1562 |
|
{ |
1563 |
|
|
1564 |
|
datatypes().dtSharedSelectors = value; |
1565 |
|
datatypes().dtSharedSelectors__setByUser__ = true; |
1566 |
|
Trace("options") << "user assigned option dtSharedSelectors" << std::endl; |
1567 |
|
} |
1568 |
11 |
template <> void Options::assign( |
1569 |
|
options::sygusAbortSize__option_t, |
1570 |
|
std::string option, |
1571 |
|
std::string optionarg) |
1572 |
|
{ |
1573 |
11 |
auto parsedval = handleOption<int>(option, optionarg); |
1574 |
|
|
1575 |
11 |
datatypes().sygusAbortSize = parsedval; |
1576 |
11 |
datatypes().sygusAbortSize__setByUser__ = true; |
1577 |
11 |
Trace("options") << "user assigned option sygusAbortSize" << std::endl; |
1578 |
11 |
} |
1579 |
|
template <> void Options::assignBool( |
1580 |
|
options::sygusFairMax__option_t, |
1581 |
|
std::string option, |
1582 |
|
bool value) |
1583 |
|
{ |
1584 |
|
|
1585 |
|
datatypes().sygusFairMax = value; |
1586 |
|
datatypes().sygusFairMax__setByUser__ = true; |
1587 |
|
Trace("options") << "user assigned option sygusFairMax" << std::endl; |
1588 |
|
} |
1589 |
2 |
template <> void Options::assign( |
1590 |
|
options::sygusFair__option_t, |
1591 |
|
std::string option, |
1592 |
|
std::string optionarg) |
1593 |
|
{ |
1594 |
2 |
auto parsedval = stringToSygusFairMode(optionarg); |
1595 |
|
|
1596 |
2 |
datatypes().sygusFair = parsedval; |
1597 |
2 |
datatypes().sygusFair__setByUser__ = true; |
1598 |
2 |
Trace("options") << "user assigned option sygusFair" << std::endl; |
1599 |
2 |
} |
1600 |
8 |
template <> void Options::assignBool( |
1601 |
|
options::sygusSymBreak__option_t, |
1602 |
|
std::string option, |
1603 |
|
bool value) |
1604 |
|
{ |
1605 |
|
|
1606 |
8 |
datatypes().sygusSymBreak = value; |
1607 |
8 |
datatypes().sygusSymBreak__setByUser__ = true; |
1608 |
8 |
Trace("options") << "user assigned option sygusSymBreak" << std::endl; |
1609 |
8 |
} |
1610 |
|
template <> void Options::assignBool( |
1611 |
|
options::sygusSymBreakAgg__option_t, |
1612 |
|
std::string option, |
1613 |
|
bool value) |
1614 |
|
{ |
1615 |
|
|
1616 |
|
datatypes().sygusSymBreakAgg = value; |
1617 |
|
datatypes().sygusSymBreakAgg__setByUser__ = true; |
1618 |
|
Trace("options") << "user assigned option sygusSymBreakAgg" << std::endl; |
1619 |
|
} |
1620 |
|
template <> void Options::assignBool( |
1621 |
|
options::sygusSymBreakDynamic__option_t, |
1622 |
|
std::string option, |
1623 |
|
bool value) |
1624 |
|
{ |
1625 |
|
|
1626 |
|
datatypes().sygusSymBreakDynamic = value; |
1627 |
|
datatypes().sygusSymBreakDynamic__setByUser__ = true; |
1628 |
|
Trace("options") << "user assigned option sygusSymBreakDynamic" << std::endl; |
1629 |
|
} |
1630 |
2 |
template <> void Options::assignBool( |
1631 |
|
options::sygusSymBreakLazy__option_t, |
1632 |
|
std::string option, |
1633 |
|
bool value) |
1634 |
|
{ |
1635 |
|
|
1636 |
2 |
datatypes().sygusSymBreakLazy = value; |
1637 |
2 |
datatypes().sygusSymBreakLazy__setByUser__ = true; |
1638 |
2 |
Trace("options") << "user assigned option sygusSymBreakLazy" << std::endl; |
1639 |
2 |
} |
1640 |
|
template <> void Options::assignBool( |
1641 |
|
options::sygusSymBreakPbe__option_t, |
1642 |
|
std::string option, |
1643 |
|
bool value) |
1644 |
|
{ |
1645 |
|
|
1646 |
|
datatypes().sygusSymBreakPbe = value; |
1647 |
|
datatypes().sygusSymBreakPbe__setByUser__ = true; |
1648 |
|
Trace("options") << "user assigned option sygusSymBreakPbe" << std::endl; |
1649 |
|
} |
1650 |
2 |
template <> void Options::assignBool( |
1651 |
|
options::sygusSymBreakRlv__option_t, |
1652 |
|
std::string option, |
1653 |
|
bool value) |
1654 |
|
{ |
1655 |
|
|
1656 |
2 |
datatypes().sygusSymBreakRlv = value; |
1657 |
2 |
datatypes().sygusSymBreakRlv__setByUser__ = true; |
1658 |
2 |
Trace("options") << "user assigned option sygusSymBreakRlv" << std::endl; |
1659 |
2 |
} |
1660 |
|
template <> void Options::assign( |
1661 |
|
options::decisionRandomWeight__option_t, |
1662 |
|
std::string option, |
1663 |
|
std::string optionarg) |
1664 |
|
{ |
1665 |
|
auto parsedval = handleOption<int>(option, optionarg); |
1666 |
|
|
1667 |
|
decision().decisionRandomWeight = parsedval; |
1668 |
|
decision().decisionRandomWeight__setByUser__ = true; |
1669 |
|
Trace("options") << "user assigned option decisionRandomWeight" << std::endl; |
1670 |
|
} |
1671 |
|
template <> void Options::assign( |
1672 |
|
options::decisionThreshold__option_t, |
1673 |
|
std::string option, |
1674 |
|
std::string optionarg) |
1675 |
|
{ |
1676 |
|
auto parsedval = handleOption<decision::DecisionWeight>(option, optionarg); |
1677 |
|
|
1678 |
|
decision().decisionThreshold = parsedval; |
1679 |
|
decision().decisionThreshold__setByUser__ = true; |
1680 |
|
Trace("options") << "user assigned option decisionThreshold" << std::endl; |
1681 |
|
} |
1682 |
|
template <> void Options::assignBool( |
1683 |
|
options::decisionUseWeight__option_t, |
1684 |
|
std::string option, |
1685 |
|
bool value) |
1686 |
|
{ |
1687 |
|
|
1688 |
|
decision().decisionUseWeight = value; |
1689 |
|
decision().decisionUseWeight__setByUser__ = true; |
1690 |
|
Trace("options") << "user assigned option decisionUseWeight" << std::endl; |
1691 |
|
} |
1692 |
|
template <> void Options::assign( |
1693 |
|
options::decisionWeightInternal__option_t, |
1694 |
|
std::string option, |
1695 |
|
std::string optionarg) |
1696 |
|
{ |
1697 |
|
auto parsedval = stringToDecisionWeightInternal(optionarg); |
1698 |
|
|
1699 |
|
decision().decisionWeightInternal = parsedval; |
1700 |
|
decision().decisionWeightInternal__setByUser__ = true; |
1701 |
|
Trace("options") << "user assigned option decisionWeightInternal" << std::endl; |
1702 |
|
} |
1703 |
67 |
template <> void Options::assign( |
1704 |
|
options::decisionMode__option_t, |
1705 |
|
std::string option, |
1706 |
|
std::string optionarg) |
1707 |
|
{ |
1708 |
67 |
auto parsedval = stringToDecisionMode(optionarg); |
1709 |
67 |
d_handler->setDecisionModeStopOnly(option, parsedval); |
1710 |
67 |
decision().decisionMode = parsedval; |
1711 |
67 |
decision().decisionMode__setByUser__ = true; |
1712 |
67 |
Trace("options") << "user assigned option decisionMode" << std::endl; |
1713 |
67 |
} |
1714 |
|
template <> void Options::assignBool( |
1715 |
|
options::decisionStopOnly__option_t, |
1716 |
|
std::string option, |
1717 |
|
bool value) |
1718 |
|
{ |
1719 |
|
|
1720 |
|
decision().decisionStopOnly = value; |
1721 |
|
decision().decisionStopOnly__setByUser__ = true; |
1722 |
|
Trace("options") << "user assigned option decisionStopOnly" << std::endl; |
1723 |
|
} |
1724 |
2 |
template <> void Options::assign( |
1725 |
|
options::defaultDagThresh__option_t, |
1726 |
|
std::string option, |
1727 |
|
std::string optionarg) |
1728 |
|
{ |
1729 |
2 |
auto parsedval = handleOption<int>(option, optionarg); |
1730 |
2 |
d_handler->setDefaultDagThreshPredicate(option, parsedval); |
1731 |
2 |
expr().defaultDagThresh = parsedval; |
1732 |
2 |
expr().defaultDagThresh__setByUser__ = true; |
1733 |
2 |
Trace("options") << "user assigned option defaultDagThresh" << std::endl; |
1734 |
2 |
} |
1735 |
|
template <> void Options::assign( |
1736 |
|
options::defaultExprDepth__option_t, |
1737 |
|
std::string option, |
1738 |
|
std::string optionarg) |
1739 |
|
{ |
1740 |
|
auto parsedval = handleOption<int>(option, optionarg); |
1741 |
|
d_handler->setDefaultExprDepthPredicate(option, parsedval); |
1742 |
|
expr().defaultExprDepth = parsedval; |
1743 |
|
expr().defaultExprDepth__setByUser__ = true; |
1744 |
|
Trace("options") << "user assigned option defaultExprDepth" << std::endl; |
1745 |
|
} |
1746 |
|
template <> void Options::assignBool( |
1747 |
|
options::typeChecking__option_t, |
1748 |
|
std::string option, |
1749 |
|
bool value) |
1750 |
|
{ |
1751 |
|
|
1752 |
|
expr().typeChecking = value; |
1753 |
|
expr().typeChecking__setByUser__ = true; |
1754 |
|
Trace("options") << "user assigned option typeChecking" << std::endl; |
1755 |
|
} |
1756 |
22 |
template <> void Options::assignBool( |
1757 |
|
options::fpExp__option_t, |
1758 |
|
std::string option, |
1759 |
|
bool value) |
1760 |
|
{ |
1761 |
|
|
1762 |
22 |
fp().fpExp = value; |
1763 |
22 |
fp().fpExp__setByUser__ = true; |
1764 |
22 |
Trace("options") << "user assigned option fpExp" << std::endl; |
1765 |
22 |
} |
1766 |
|
template <> void Options::assignBool( |
1767 |
|
options::earlyExit__option_t, |
1768 |
|
std::string option, |
1769 |
|
bool value) |
1770 |
|
{ |
1771 |
|
|
1772 |
|
driver().earlyExit = value; |
1773 |
|
driver().earlyExit__setByUser__ = true; |
1774 |
|
Trace("options") << "user assigned option earlyExit" << std::endl; |
1775 |
|
} |
1776 |
|
template <> void Options::assignBool( |
1777 |
|
options::help__option_t, |
1778 |
|
std::string option, |
1779 |
|
bool value) |
1780 |
|
{ |
1781 |
|
|
1782 |
|
driver().help = value; |
1783 |
|
driver().help__setByUser__ = true; |
1784 |
|
Trace("options") << "user assigned option help" << std::endl; |
1785 |
|
} |
1786 |
|
template <> void Options::assignBool( |
1787 |
|
options::interactive__option_t, |
1788 |
|
std::string option, |
1789 |
|
bool value) |
1790 |
|
{ |
1791 |
|
|
1792 |
|
driver().interactive = value; |
1793 |
|
driver().interactive__setByUser__ = true; |
1794 |
|
Trace("options") << "user assigned option interactive" << std::endl; |
1795 |
|
} |
1796 |
|
template <> void Options::assignBool( |
1797 |
|
options::interactivePrompt__option_t, |
1798 |
|
std::string option, |
1799 |
|
bool value) |
1800 |
|
{ |
1801 |
|
|
1802 |
|
driver().interactivePrompt = value; |
1803 |
|
driver().interactivePrompt__setByUser__ = true; |
1804 |
|
Trace("options") << "user assigned option interactivePrompt" << std::endl; |
1805 |
|
} |
1806 |
|
template <> void Options::assign( |
1807 |
|
options::seed__option_t, |
1808 |
|
std::string option, |
1809 |
|
std::string optionarg) |
1810 |
|
{ |
1811 |
|
auto parsedval = handleOption<uint64_t>(option, optionarg); |
1812 |
|
|
1813 |
|
driver().seed = parsedval; |
1814 |
|
driver().seed__setByUser__ = true; |
1815 |
|
Trace("options") << "user assigned option seed" << std::endl; |
1816 |
|
} |
1817 |
|
template <> void Options::assignBool( |
1818 |
|
options::segvSpin__option_t, |
1819 |
|
std::string option, |
1820 |
|
bool value) |
1821 |
|
{ |
1822 |
|
|
1823 |
|
driver().segvSpin = value; |
1824 |
|
driver().segvSpin__setByUser__ = true; |
1825 |
|
Trace("options") << "user assigned option segvSpin" << std::endl; |
1826 |
|
} |
1827 |
|
template <> void Options::assign( |
1828 |
|
options::tearDownIncremental__option_t, |
1829 |
|
std::string option, |
1830 |
|
std::string optionarg) |
1831 |
|
{ |
1832 |
|
auto parsedval = handleOption<int>(option, optionarg); |
1833 |
|
|
1834 |
|
driver().tearDownIncremental = parsedval; |
1835 |
|
driver().tearDownIncremental__setByUser__ = true; |
1836 |
|
Trace("options") << "user assigned option tearDownIncremental" << std::endl; |
1837 |
|
} |
1838 |
|
template <> void Options::assignBool( |
1839 |
|
options::version__option_t, |
1840 |
|
std::string option, |
1841 |
|
bool value) |
1842 |
|
{ |
1843 |
|
|
1844 |
|
driver().version = value; |
1845 |
|
driver().version__setByUser__ = true; |
1846 |
|
Trace("options") << "user assigned option version" << std::endl; |
1847 |
|
} |
1848 |
|
template <> void Options::assignBool( |
1849 |
|
options::filesystemAccess__option_t, |
1850 |
|
std::string option, |
1851 |
|
bool value) |
1852 |
|
{ |
1853 |
|
|
1854 |
|
parser().filesystemAccess = value; |
1855 |
|
parser().filesystemAccess__setByUser__ = true; |
1856 |
|
Trace("options") << "user assigned option filesystemAccess" << std::endl; |
1857 |
|
} |
1858 |
9 |
template <> void Options::assign( |
1859 |
|
options::forceLogicString__option_t, |
1860 |
|
std::string option, |
1861 |
|
std::string optionarg) |
1862 |
|
{ |
1863 |
18 |
auto parsedval = handleOption<std::string>(option, optionarg); |
1864 |
|
|
1865 |
9 |
parser().forceLogicString = parsedval; |
1866 |
9 |
parser().forceLogicString__setByUser__ = true; |
1867 |
9 |
Trace("options") << "user assigned option forceLogicString" << std::endl; |
1868 |
9 |
} |
1869 |
16 |
template <> void Options::assignBool( |
1870 |
|
options::globalDeclarations__option_t, |
1871 |
|
std::string option, |
1872 |
|
bool value) |
1873 |
|
{ |
1874 |
|
|
1875 |
16 |
parser().globalDeclarations = value; |
1876 |
16 |
parser().globalDeclarations__setByUser__ = true; |
1877 |
16 |
Trace("options") << "user assigned option globalDeclarations" << std::endl; |
1878 |
16 |
} |
1879 |
|
template <> void Options::assignBool( |
1880 |
|
options::memoryMap__option_t, |
1881 |
|
std::string option, |
1882 |
|
bool value) |
1883 |
|
{ |
1884 |
|
|
1885 |
|
parser().memoryMap = value; |
1886 |
|
parser().memoryMap__setByUser__ = true; |
1887 |
|
Trace("options") << "user assigned option memoryMap" << std::endl; |
1888 |
|
} |
1889 |
|
template <> void Options::assignBool( |
1890 |
|
options::semanticChecks__option_t, |
1891 |
|
std::string option, |
1892 |
|
bool value) |
1893 |
|
{ |
1894 |
|
|
1895 |
|
parser().semanticChecks = value; |
1896 |
|
parser().semanticChecks__setByUser__ = true; |
1897 |
|
Trace("options") << "user assigned option semanticChecks" << std::endl; |
1898 |
|
} |
1899 |
9 |
template <> void Options::assignBool( |
1900 |
|
options::strictParsing__option_t, |
1901 |
|
std::string option, |
1902 |
|
bool value) |
1903 |
|
{ |
1904 |
|
|
1905 |
9 |
parser().strictParsing = value; |
1906 |
9 |
parser().strictParsing__setByUser__ = true; |
1907 |
9 |
Trace("options") << "user assigned option strictParsing" << std::endl; |
1908 |
9 |
} |
1909 |
|
template <> void Options::assignBool( |
1910 |
|
options::flattenHOChains__option_t, |
1911 |
|
std::string option, |
1912 |
|
bool value) |
1913 |
|
{ |
1914 |
|
|
1915 |
|
printer().flattenHOChains = value; |
1916 |
|
printer().flattenHOChains__setByUser__ = true; |
1917 |
|
Trace("options") << "user assigned option flattenHOChains" << std::endl; |
1918 |
|
} |
1919 |
|
template <> void Options::assign( |
1920 |
|
options::instFormatMode__option_t, |
1921 |
|
std::string option, |
1922 |
|
std::string optionarg) |
1923 |
|
{ |
1924 |
|
auto parsedval = d_handler->stringToInstFormatMode(option, optionarg); |
1925 |
|
|
1926 |
|
printer().instFormatMode = parsedval; |
1927 |
|
printer().instFormatMode__setByUser__ = true; |
1928 |
|
Trace("options") << "user assigned option instFormatMode" << std::endl; |
1929 |
|
} |
1930 |
|
template <> void Options::assign( |
1931 |
|
options::modelFormatMode__option_t, |
1932 |
|
std::string option, |
1933 |
|
std::string optionarg) |
1934 |
|
{ |
1935 |
|
auto parsedval = stringToModelFormatMode(optionarg); |
1936 |
|
|
1937 |
|
printer().modelFormatMode = parsedval; |
1938 |
|
printer().modelFormatMode__setByUser__ = true; |
1939 |
|
Trace("options") << "user assigned option modelFormatMode" << std::endl; |
1940 |
|
} |
1941 |
10 |
template <> void Options::assignBool( |
1942 |
|
options::printInstFull__option_t, |
1943 |
|
std::string option, |
1944 |
|
bool value) |
1945 |
|
{ |
1946 |
|
|
1947 |
10 |
printer().printInstFull = value; |
1948 |
10 |
printer().printInstFull__setByUser__ = true; |
1949 |
10 |
Trace("options") << "user assigned option printInstFull" << std::endl; |
1950 |
10 |
} |
1951 |
3 |
template <> void Options::assign( |
1952 |
|
options::printInstMode__option_t, |
1953 |
|
std::string option, |
1954 |
|
std::string optionarg) |
1955 |
|
{ |
1956 |
3 |
auto parsedval = stringToPrintInstMode(optionarg); |
1957 |
|
|
1958 |
3 |
printer().printInstMode = parsedval; |
1959 |
3 |
printer().printInstMode__setByUser__ = true; |
1960 |
3 |
Trace("options") << "user assigned option printInstMode" << std::endl; |
1961 |
3 |
} |
1962 |
2 |
template <> void Options::assignBool( |
1963 |
|
options::proofEagerChecking__option_t, |
1964 |
|
std::string option, |
1965 |
|
bool value) |
1966 |
|
{ |
1967 |
|
|
1968 |
2 |
proof().proofEagerChecking = value; |
1969 |
2 |
proof().proofEagerChecking__setByUser__ = true; |
1970 |
2 |
Trace("options") << "user assigned option proofEagerChecking" << std::endl; |
1971 |
2 |
} |
1972 |
|
template <> void Options::assign( |
1973 |
|
options::proofFormatMode__option_t, |
1974 |
|
std::string option, |
1975 |
|
std::string optionarg) |
1976 |
|
{ |
1977 |
|
auto parsedval = stringToProofFormatMode(optionarg); |
1978 |
|
|
1979 |
|
proof().proofFormatMode = parsedval; |
1980 |
|
proof().proofFormatMode__setByUser__ = true; |
1981 |
|
Trace("options") << "user assigned option proofFormatMode" << std::endl; |
1982 |
|
} |
1983 |
|
template <> void Options::assign( |
1984 |
|
options::proofGranularityMode__option_t, |
1985 |
|
std::string option, |
1986 |
|
std::string optionarg) |
1987 |
|
{ |
1988 |
|
auto parsedval = stringToProofGranularityMode(optionarg); |
1989 |
|
|
1990 |
|
proof().proofGranularityMode = parsedval; |
1991 |
|
proof().proofGranularityMode__setByUser__ = true; |
1992 |
|
Trace("options") << "user assigned option proofGranularityMode" << std::endl; |
1993 |
|
} |
1994 |
|
template <> void Options::assign( |
1995 |
|
options::proofPedantic__option_t, |
1996 |
|
std::string option, |
1997 |
|
std::string optionarg) |
1998 |
|
{ |
1999 |
|
auto parsedval = handleOption<uint32_t>(option, optionarg); |
2000 |
|
|
2001 |
|
proof().proofPedantic = parsedval; |
2002 |
|
proof().proofPedantic__setByUser__ = true; |
2003 |
|
Trace("options") << "user assigned option proofPedantic" << std::endl; |
2004 |
|
} |
2005 |
|
template <> void Options::assignBool( |
2006 |
|
options::proofPrintConclusion__option_t, |
2007 |
|
std::string option, |
2008 |
|
bool value) |
2009 |
|
{ |
2010 |
|
|
2011 |
|
proof().proofPrintConclusion = value; |
2012 |
|
proof().proofPrintConclusion__setByUser__ = true; |
2013 |
|
Trace("options") << "user assigned option proofPrintConclusion" << std::endl; |
2014 |
|
} |
2015 |
|
template <> void Options::assignBool( |
2016 |
|
options::minisatDumpDimacs__option_t, |
2017 |
|
std::string option, |
2018 |
|
bool value) |
2019 |
|
{ |
2020 |
|
|
2021 |
|
prop().minisatDumpDimacs = value; |
2022 |
|
prop().minisatDumpDimacs__setByUser__ = true; |
2023 |
|
Trace("options") << "user assigned option minisatDumpDimacs" << std::endl; |
2024 |
|
} |
2025 |
|
template <> void Options::assignBool( |
2026 |
|
options::minisatUseElim__option_t, |
2027 |
|
std::string option, |
2028 |
|
bool value) |
2029 |
|
{ |
2030 |
|
|
2031 |
|
prop().minisatUseElim = value; |
2032 |
|
prop().minisatUseElim__setByUser__ = true; |
2033 |
|
Trace("options") << "user assigned option minisatUseElim" << std::endl; |
2034 |
|
} |
2035 |
|
template <> void Options::assign( |
2036 |
|
options::satRandomFreq__option_t, |
2037 |
|
std::string option, |
2038 |
|
std::string optionarg) |
2039 |
|
{ |
2040 |
|
auto parsedval = handleOption<double>(option, optionarg); |
2041 |
|
d_handler->doubleGreaterOrEqual0(option, parsedval); |
2042 |
|
d_handler->doubleLessOrEqual1(option, parsedval); |
2043 |
|
prop().satRandomFreq = parsedval; |
2044 |
|
prop().satRandomFreq__setByUser__ = true; |
2045 |
|
Trace("options") << "user assigned option satRandomFreq" << std::endl; |
2046 |
|
} |
2047 |
|
template <> void Options::assign( |
2048 |
|
options::satRandomSeed__option_t, |
2049 |
|
std::string option, |
2050 |
|
std::string optionarg) |
2051 |
|
{ |
2052 |
|
auto parsedval = handleOption<uint32_t>(option, optionarg); |
2053 |
|
|
2054 |
|
prop().satRandomSeed = parsedval; |
2055 |
|
prop().satRandomSeed__setByUser__ = true; |
2056 |
|
Trace("options") << "user assigned option satRandomSeed" << std::endl; |
2057 |
|
} |
2058 |
|
template <> void Options::assignBool( |
2059 |
|
options::sat_refine_conflicts__option_t, |
2060 |
|
std::string option, |
2061 |
|
bool value) |
2062 |
|
{ |
2063 |
|
|
2064 |
|
prop().sat_refine_conflicts = value; |
2065 |
|
prop().sat_refine_conflicts__setByUser__ = true; |
2066 |
|
Trace("options") << "user assigned option sat_refine_conflicts" << std::endl; |
2067 |
|
} |
2068 |
|
template <> void Options::assign( |
2069 |
|
options::satRestartFirst__option_t, |
2070 |
|
std::string option, |
2071 |
|
std::string optionarg) |
2072 |
|
{ |
2073 |
|
auto parsedval = handleOption<unsigned>(option, optionarg); |
2074 |
|
|
2075 |
|
prop().satRestartFirst = parsedval; |
2076 |
|
prop().satRestartFirst__setByUser__ = true; |
2077 |
|
Trace("options") << "user assigned option satRestartFirst" << std::endl; |
2078 |
|
} |
2079 |
|
template <> void Options::assign( |
2080 |
|
options::satRestartInc__option_t, |
2081 |
|
std::string option, |
2082 |
|
std::string optionarg) |
2083 |
|
{ |
2084 |
|
auto parsedval = handleOption<double>(option, optionarg); |
2085 |
|
d_handler->doubleGreaterOrEqual0(option, parsedval); |
2086 |
|
prop().satRestartInc = parsedval; |
2087 |
|
prop().satRestartInc__setByUser__ = true; |
2088 |
|
Trace("options") << "user assigned option satRestartInc" << std::endl; |
2089 |
|
} |
2090 |
5 |
template <> void Options::assignBool( |
2091 |
|
options::aggressiveMiniscopeQuant__option_t, |
2092 |
|
std::string option, |
2093 |
|
bool value) |
2094 |
|
{ |
2095 |
|
|
2096 |
5 |
quantifiers().aggressiveMiniscopeQuant = value; |
2097 |
5 |
quantifiers().aggressiveMiniscopeQuant__setByUser__ = true; |
2098 |
5 |
Trace("options") << "user assigned option aggressiveMiniscopeQuant" << std::endl; |
2099 |
5 |
} |
2100 |
2 |
template <> void Options::assign( |
2101 |
|
options::cegisSample__option_t, |
2102 |
|
std::string option, |
2103 |
|
std::string optionarg) |
2104 |
|
{ |
2105 |
2 |
auto parsedval = stringToCegisSampleMode(optionarg); |
2106 |
|
|
2107 |
2 |
quantifiers().cegisSample = parsedval; |
2108 |
2 |
quantifiers().cegisSample__setByUser__ = true; |
2109 |
2 |
Trace("options") << "user assigned option cegisSample" << std::endl; |
2110 |
2 |
} |
2111 |
19 |
template <> void Options::assignBool( |
2112 |
|
options::cegqi__option_t, |
2113 |
|
std::string option, |
2114 |
|
bool value) |
2115 |
|
{ |
2116 |
|
|
2117 |
19 |
quantifiers().cegqi = value; |
2118 |
19 |
quantifiers().cegqi__setByUser__ = true; |
2119 |
19 |
Trace("options") << "user assigned option cegqi" << std::endl; |
2120 |
19 |
} |
2121 |
16 |
template <> void Options::assignBool( |
2122 |
|
options::cegqiAll__option_t, |
2123 |
|
std::string option, |
2124 |
|
bool value) |
2125 |
|
{ |
2126 |
|
|
2127 |
16 |
quantifiers().cegqiAll = value; |
2128 |
16 |
quantifiers().cegqiAll__setByUser__ = true; |
2129 |
16 |
Trace("options") << "user assigned option cegqiAll" << std::endl; |
2130 |
16 |
} |
2131 |
106 |
template <> void Options::assignBool( |
2132 |
|
options::cegqiBv__option_t, |
2133 |
|
std::string option, |
2134 |
|
bool value) |
2135 |
|
{ |
2136 |
|
|
2137 |
106 |
quantifiers().cegqiBv = value; |
2138 |
106 |
quantifiers().cegqiBv__setByUser__ = true; |
2139 |
106 |
Trace("options") << "user assigned option cegqiBv" << std::endl; |
2140 |
106 |
} |
2141 |
|
template <> void Options::assignBool( |
2142 |
|
options::cegqiBvConcInv__option_t, |
2143 |
|
std::string option, |
2144 |
|
bool value) |
2145 |
|
{ |
2146 |
|
|
2147 |
|
quantifiers().cegqiBvConcInv = value; |
2148 |
|
quantifiers().cegqiBvConcInv__setByUser__ = true; |
2149 |
|
Trace("options") << "user assigned option cegqiBvConcInv" << std::endl; |
2150 |
|
} |
2151 |
82 |
template <> void Options::assign( |
2152 |
|
options::cegqiBvIneqMode__option_t, |
2153 |
|
std::string option, |
2154 |
|
std::string optionarg) |
2155 |
|
{ |
2156 |
82 |
auto parsedval = stringToCegqiBvIneqMode(optionarg); |
2157 |
|
|
2158 |
82 |
quantifiers().cegqiBvIneqMode = parsedval; |
2159 |
82 |
quantifiers().cegqiBvIneqMode__setByUser__ = true; |
2160 |
82 |
Trace("options") << "user assigned option cegqiBvIneqMode" << std::endl; |
2161 |
82 |
} |
2162 |
|
template <> void Options::assignBool( |
2163 |
|
options::cegqiBvInterleaveValue__option_t, |
2164 |
|
std::string option, |
2165 |
|
bool value) |
2166 |
|
{ |
2167 |
|
|
2168 |
|
quantifiers().cegqiBvInterleaveValue = value; |
2169 |
|
quantifiers().cegqiBvInterleaveValue__setByUser__ = true; |
2170 |
|
Trace("options") << "user assigned option cegqiBvInterleaveValue" << std::endl; |
2171 |
|
} |
2172 |
|
template <> void Options::assignBool( |
2173 |
|
options::cegqiBvLinearize__option_t, |
2174 |
|
std::string option, |
2175 |
|
bool value) |
2176 |
|
{ |
2177 |
|
|
2178 |
|
quantifiers().cegqiBvLinearize = value; |
2179 |
|
quantifiers().cegqiBvLinearize__setByUser__ = true; |
2180 |
|
Trace("options") << "user assigned option cegqiBvLinearize" << std::endl; |
2181 |
|
} |
2182 |
2 |
template <> void Options::assignBool( |
2183 |
|
options::cegqiBvRmExtract__option_t, |
2184 |
|
std::string option, |
2185 |
|
bool value) |
2186 |
|
{ |
2187 |
|
|
2188 |
2 |
quantifiers().cegqiBvRmExtract = value; |
2189 |
2 |
quantifiers().cegqiBvRmExtract__setByUser__ = true; |
2190 |
2 |
Trace("options") << "user assigned option cegqiBvRmExtract" << std::endl; |
2191 |
2 |
} |
2192 |
|
template <> void Options::assignBool( |
2193 |
|
options::cegqiBvSolveNl__option_t, |
2194 |
|
std::string option, |
2195 |
|
bool value) |
2196 |
|
{ |
2197 |
|
|
2198 |
|
quantifiers().cegqiBvSolveNl = value; |
2199 |
|
quantifiers().cegqiBvSolveNl__setByUser__ = true; |
2200 |
|
Trace("options") << "user assigned option cegqiBvSolveNl" << std::endl; |
2201 |
|
} |
2202 |
597 |
template <> void Options::assignBool( |
2203 |
|
options::cegqiFullEffort__option_t, |
2204 |
|
std::string option, |
2205 |
|
bool value) |
2206 |
|
{ |
2207 |
|
|
2208 |
597 |
quantifiers().cegqiFullEffort = value; |
2209 |
597 |
quantifiers().cegqiFullEffort__setByUser__ = true; |
2210 |
597 |
Trace("options") << "user assigned option cegqiFullEffort" << std::endl; |
2211 |
597 |
} |
2212 |
|
template <> void Options::assignBool( |
2213 |
|
options::cegqiInnermost__option_t, |
2214 |
|
std::string option, |
2215 |
|
bool value) |
2216 |
|
{ |
2217 |
|
|
2218 |
|
quantifiers().cegqiInnermost = value; |
2219 |
|
quantifiers().cegqiInnermost__setByUser__ = true; |
2220 |
|
Trace("options") << "user assigned option cegqiInnermost" << std::endl; |
2221 |
|
} |
2222 |
|
template <> void Options::assignBool( |
2223 |
|
options::cegqiMidpoint__option_t, |
2224 |
|
std::string option, |
2225 |
|
bool value) |
2226 |
|
{ |
2227 |
|
|
2228 |
|
quantifiers().cegqiMidpoint = value; |
2229 |
|
quantifiers().cegqiMidpoint__setByUser__ = true; |
2230 |
|
Trace("options") << "user assigned option cegqiMidpoint" << std::endl; |
2231 |
|
} |
2232 |
|
template <> void Options::assignBool( |
2233 |
|
options::cegqiMinBounds__option_t, |
2234 |
|
std::string option, |
2235 |
|
bool value) |
2236 |
|
{ |
2237 |
|
|
2238 |
|
quantifiers().cegqiMinBounds = value; |
2239 |
|
quantifiers().cegqiMinBounds__setByUser__ = true; |
2240 |
|
Trace("options") << "user assigned option cegqiMinBounds" << std::endl; |
2241 |
|
} |
2242 |
|
template <> void Options::assignBool( |
2243 |
|
options::cegqiModel__option_t, |
2244 |
|
std::string option, |
2245 |
|
bool value) |
2246 |
|
{ |
2247 |
|
|
2248 |
|
quantifiers().cegqiModel = value; |
2249 |
|
quantifiers().cegqiModel__setByUser__ = true; |
2250 |
|
Trace("options") << "user assigned option cegqiModel" << std::endl; |
2251 |
|
} |
2252 |
3 |
template <> void Options::assignBool( |
2253 |
|
options::cegqiMultiInst__option_t, |
2254 |
|
std::string option, |
2255 |
|
bool value) |
2256 |
|
{ |
2257 |
|
|
2258 |
3 |
quantifiers().cegqiMultiInst = value; |
2259 |
3 |
quantifiers().cegqiMultiInst__setByUser__ = true; |
2260 |
3 |
Trace("options") << "user assigned option cegqiMultiInst" << std::endl; |
2261 |
3 |
} |
2262 |
19 |
template <> void Options::assignBool( |
2263 |
|
options::cegqiNestedQE__option_t, |
2264 |
|
std::string option, |
2265 |
|
bool value) |
2266 |
|
{ |
2267 |
|
|
2268 |
19 |
quantifiers().cegqiNestedQE = value; |
2269 |
19 |
quantifiers().cegqiNestedQE__setByUser__ = true; |
2270 |
19 |
Trace("options") << "user assigned option cegqiNestedQE" << std::endl; |
2271 |
19 |
} |
2272 |
|
template <> void Options::assignBool( |
2273 |
|
options::cegqiNopt__option_t, |
2274 |
|
std::string option, |
2275 |
|
bool value) |
2276 |
|
{ |
2277 |
|
|
2278 |
|
quantifiers().cegqiNopt = value; |
2279 |
|
quantifiers().cegqiNopt__setByUser__ = true; |
2280 |
|
Trace("options") << "user assigned option cegqiNopt" << std::endl; |
2281 |
|
} |
2282 |
|
template <> void Options::assignBool( |
2283 |
|
options::cegqiRepeatLit__option_t, |
2284 |
|
std::string option, |
2285 |
|
bool value) |
2286 |
|
{ |
2287 |
|
|
2288 |
|
quantifiers().cegqiRepeatLit = value; |
2289 |
|
quantifiers().cegqiRepeatLit__setByUser__ = true; |
2290 |
|
Trace("options") << "user assigned option cegqiRepeatLit" << std::endl; |
2291 |
|
} |
2292 |
|
template <> void Options::assignBool( |
2293 |
|
options::cegqiRoundUpLowerLia__option_t, |
2294 |
|
std::string option, |
2295 |
|
bool value) |
2296 |
|
{ |
2297 |
|
|
2298 |
|
quantifiers().cegqiRoundUpLowerLia = value; |
2299 |
|
quantifiers().cegqiRoundUpLowerLia__setByUser__ = true; |
2300 |
|
Trace("options") << "user assigned option cegqiRoundUpLowerLia" << std::endl; |
2301 |
|
} |
2302 |
|
template <> void Options::assignBool( |
2303 |
|
options::cegqiSat__option_t, |
2304 |
|
std::string option, |
2305 |
|
bool value) |
2306 |
|
{ |
2307 |
|
|
2308 |
|
quantifiers().cegqiSat = value; |
2309 |
|
quantifiers().cegqiSat__setByUser__ = true; |
2310 |
|
Trace("options") << "user assigned option cegqiSat" << std::endl; |
2311 |
|
} |
2312 |
6 |
template <> void Options::assignBool( |
2313 |
|
options::cegqiUseInfInt__option_t, |
2314 |
|
std::string option, |
2315 |
|
bool value) |
2316 |
|
{ |
2317 |
|
|
2318 |
6 |
quantifiers().cegqiUseInfInt = value; |
2319 |
6 |
quantifiers().cegqiUseInfInt__setByUser__ = true; |
2320 |
6 |
Trace("options") << "user assigned option cegqiUseInfInt" << std::endl; |
2321 |
6 |
} |
2322 |
6 |
template <> void Options::assignBool( |
2323 |
|
options::cegqiUseInfReal__option_t, |
2324 |
|
std::string option, |
2325 |
|
bool value) |
2326 |
|
{ |
2327 |
|
|
2328 |
6 |
quantifiers().cegqiUseInfReal = value; |
2329 |
6 |
quantifiers().cegqiUseInfReal__setByUser__ = true; |
2330 |
6 |
Trace("options") << "user assigned option cegqiUseInfReal" << std::endl; |
2331 |
6 |
} |
2332 |
|
template <> void Options::assignBool( |
2333 |
|
options::condVarSplitQuantAgg__option_t, |
2334 |
|
std::string option, |
2335 |
|
bool value) |
2336 |
|
{ |
2337 |
|
|
2338 |
|
quantifiers().condVarSplitQuantAgg = value; |
2339 |
|
quantifiers().condVarSplitQuantAgg__setByUser__ = true; |
2340 |
|
Trace("options") << "user assigned option condVarSplitQuantAgg" << std::endl; |
2341 |
|
} |
2342 |
|
template <> void Options::assignBool( |
2343 |
|
options::condVarSplitQuant__option_t, |
2344 |
|
std::string option, |
2345 |
|
bool value) |
2346 |
|
{ |
2347 |
|
|
2348 |
|
quantifiers().condVarSplitQuant = value; |
2349 |
|
quantifiers().condVarSplitQuant__setByUser__ = true; |
2350 |
|
Trace("options") << "user assigned option condVarSplitQuant" << std::endl; |
2351 |
|
} |
2352 |
|
template <> void Options::assignBool( |
2353 |
|
options::conjectureFilterActiveTerms__option_t, |
2354 |
|
std::string option, |
2355 |
|
bool value) |
2356 |
|
{ |
2357 |
|
|
2358 |
|
quantifiers().conjectureFilterActiveTerms = value; |
2359 |
|
quantifiers().conjectureFilterActiveTerms__setByUser__ = true; |
2360 |
|
Trace("options") << "user assigned option conjectureFilterActiveTerms" << std::endl; |
2361 |
|
} |
2362 |
|
template <> void Options::assignBool( |
2363 |
|
options::conjectureFilterCanonical__option_t, |
2364 |
|
std::string option, |
2365 |
|
bool value) |
2366 |
|
{ |
2367 |
|
|
2368 |
|
quantifiers().conjectureFilterCanonical = value; |
2369 |
|
quantifiers().conjectureFilterCanonical__setByUser__ = true; |
2370 |
|
Trace("options") << "user assigned option conjectureFilterCanonical" << std::endl; |
2371 |
|
} |
2372 |
2 |
template <> void Options::assignBool( |
2373 |
|
options::conjectureFilterModel__option_t, |
2374 |
|
std::string option, |
2375 |
|
bool value) |
2376 |
|
{ |
2377 |
|
|
2378 |
2 |
quantifiers().conjectureFilterModel = value; |
2379 |
2 |
quantifiers().conjectureFilterModel__setByUser__ = true; |
2380 |
2 |
Trace("options") << "user assigned option conjectureFilterModel" << std::endl; |
2381 |
2 |
} |
2382 |
8 |
template <> void Options::assignBool( |
2383 |
|
options::conjectureGen__option_t, |
2384 |
|
std::string option, |
2385 |
|
bool value) |
2386 |
|
{ |
2387 |
|
|
2388 |
8 |
quantifiers().conjectureGen = value; |
2389 |
8 |
quantifiers().conjectureGen__setByUser__ = true; |
2390 |
8 |
Trace("options") << "user assigned option conjectureGen" << std::endl; |
2391 |
8 |
} |
2392 |
|
template <> void Options::assign( |
2393 |
|
options::conjectureGenGtEnum__option_t, |
2394 |
|
std::string option, |
2395 |
|
std::string optionarg) |
2396 |
|
{ |
2397 |
|
auto parsedval = handleOption<int>(option, optionarg); |
2398 |
|
|
2399 |
|
quantifiers().conjectureGenGtEnum = parsedval; |
2400 |
|
quantifiers().conjectureGenGtEnum__setByUser__ = true; |
2401 |
|
Trace("options") << "user assigned option conjectureGenGtEnum" << std::endl; |
2402 |
|
} |
2403 |
|
template <> void Options::assign( |
2404 |
|
options::conjectureGenMaxDepth__option_t, |
2405 |
|
std::string option, |
2406 |
|
std::string optionarg) |
2407 |
|
{ |
2408 |
|
auto parsedval = handleOption<int>(option, optionarg); |
2409 |
|
|
2410 |
|
quantifiers().conjectureGenMaxDepth = parsedval; |
2411 |
|
quantifiers().conjectureGenMaxDepth__setByUser__ = true; |
2412 |
|
Trace("options") << "user assigned option conjectureGenMaxDepth" << std::endl; |
2413 |
|
} |
2414 |
|
template <> void Options::assign( |
2415 |
|
options::conjectureGenPerRound__option_t, |
2416 |
|
std::string option, |
2417 |
|
std::string optionarg) |
2418 |
|
{ |
2419 |
|
auto parsedval = handleOption<int>(option, optionarg); |
2420 |
|
|
2421 |
|
quantifiers().conjectureGenPerRound = parsedval; |
2422 |
|
quantifiers().conjectureGenPerRound__setByUser__ = true; |
2423 |
|
Trace("options") << "user assigned option conjectureGenPerRound" << std::endl; |
2424 |
|
} |
2425 |
|
template <> void Options::assignBool( |
2426 |
|
options::conjectureUeeIntro__option_t, |
2427 |
|
std::string option, |
2428 |
|
bool value) |
2429 |
|
{ |
2430 |
|
|
2431 |
|
quantifiers().conjectureUeeIntro = value; |
2432 |
|
quantifiers().conjectureUeeIntro__setByUser__ = true; |
2433 |
|
Trace("options") << "user assigned option conjectureUeeIntro" << std::endl; |
2434 |
|
} |
2435 |
2 |
template <> void Options::assignBool( |
2436 |
|
options::conjectureNoFilter__option_t, |
2437 |
|
std::string option, |
2438 |
|
bool value) |
2439 |
|
{ |
2440 |
|
|
2441 |
2 |
quantifiers().conjectureNoFilter = value; |
2442 |
2 |
quantifiers().conjectureNoFilter__setByUser__ = true; |
2443 |
2 |
Trace("options") << "user assigned option conjectureNoFilter" << std::endl; |
2444 |
2 |
} |
2445 |
2 |
template <> void Options::assignBool( |
2446 |
|
options::debugInst__option_t, |
2447 |
|
std::string option, |
2448 |
|
bool value) |
2449 |
|
{ |
2450 |
|
|
2451 |
2 |
quantifiers().debugInst = value; |
2452 |
2 |
quantifiers().debugInst__setByUser__ = true; |
2453 |
2 |
Trace("options") << "user assigned option debugInst" << std::endl; |
2454 |
2 |
} |
2455 |
1 |
template <> void Options::assignBool( |
2456 |
|
options::debugSygus__option_t, |
2457 |
|
std::string option, |
2458 |
|
bool value) |
2459 |
|
{ |
2460 |
|
|
2461 |
1 |
quantifiers().debugSygus = value; |
2462 |
1 |
quantifiers().debugSygus__setByUser__ = true; |
2463 |
1 |
Trace("options") << "user assigned option debugSygus" << std::endl; |
2464 |
1 |
} |
2465 |
|
template <> void Options::assignBool( |
2466 |
|
options::dtStcInduction__option_t, |
2467 |
|
std::string option, |
2468 |
|
bool value) |
2469 |
|
{ |
2470 |
|
|
2471 |
|
quantifiers().dtStcInduction = value; |
2472 |
|
quantifiers().dtStcInduction__setByUser__ = true; |
2473 |
|
Trace("options") << "user assigned option dtStcInduction" << std::endl; |
2474 |
|
} |
2475 |
|
template <> void Options::assignBool( |
2476 |
|
options::dtVarExpandQuant__option_t, |
2477 |
|
std::string option, |
2478 |
|
bool value) |
2479 |
|
{ |
2480 |
|
|
2481 |
|
quantifiers().dtVarExpandQuant = value; |
2482 |
|
quantifiers().dtVarExpandQuant__setByUser__ = true; |
2483 |
|
Trace("options") << "user assigned option dtVarExpandQuant" << std::endl; |
2484 |
|
} |
2485 |
1 |
template <> void Options::assignBool( |
2486 |
|
options::eMatching__option_t, |
2487 |
|
std::string option, |
2488 |
|
bool value) |
2489 |
|
{ |
2490 |
|
|
2491 |
1 |
quantifiers().eMatching = value; |
2492 |
1 |
quantifiers().eMatching__setByUser__ = true; |
2493 |
1 |
Trace("options") << "user assigned option eMatching" << std::endl; |
2494 |
1 |
} |
2495 |
|
template <> void Options::assignBool( |
2496 |
|
options::elimTautQuant__option_t, |
2497 |
|
std::string option, |
2498 |
|
bool value) |
2499 |
|
{ |
2500 |
|
|
2501 |
|
quantifiers().elimTautQuant = value; |
2502 |
|
quantifiers().elimTautQuant__setByUser__ = true; |
2503 |
|
Trace("options") << "user assigned option elimTautQuant" << std::endl; |
2504 |
|
} |
2505 |
11 |
template <> void Options::assignBool( |
2506 |
|
options::extRewriteQuant__option_t, |
2507 |
|
std::string option, |
2508 |
|
bool value) |
2509 |
|
{ |
2510 |
|
|
2511 |
11 |
quantifiers().extRewriteQuant = value; |
2512 |
11 |
quantifiers().extRewriteQuant__setByUser__ = true; |
2513 |
11 |
Trace("options") << "user assigned option extRewriteQuant" << std::endl; |
2514 |
11 |
} |
2515 |
174 |
template <> void Options::assignBool( |
2516 |
|
options::finiteModelFind__option_t, |
2517 |
|
std::string option, |
2518 |
|
bool value) |
2519 |
|
{ |
2520 |
|
|
2521 |
174 |
quantifiers().finiteModelFind = value; |
2522 |
174 |
quantifiers().finiteModelFind__setByUser__ = true; |
2523 |
174 |
Trace("options") << "user assigned option finiteModelFind" << std::endl; |
2524 |
174 |
} |
2525 |
36 |
template <> void Options::assignBool( |
2526 |
|
options::fmfBound__option_t, |
2527 |
|
std::string option, |
2528 |
|
bool value) |
2529 |
|
{ |
2530 |
|
|
2531 |
36 |
quantifiers().fmfBound = value; |
2532 |
36 |
quantifiers().fmfBound__setByUser__ = true; |
2533 |
36 |
Trace("options") << "user assigned option fmfBound" << std::endl; |
2534 |
36 |
} |
2535 |
12 |
template <> void Options::assignBool( |
2536 |
|
options::fmfBoundInt__option_t, |
2537 |
|
std::string option, |
2538 |
|
bool value) |
2539 |
|
{ |
2540 |
|
|
2541 |
12 |
quantifiers().fmfBoundInt = value; |
2542 |
12 |
quantifiers().fmfBoundInt__setByUser__ = true; |
2543 |
12 |
Trace("options") << "user assigned option fmfBoundInt" << std::endl; |
2544 |
12 |
} |
2545 |
3 |
template <> void Options::assignBool( |
2546 |
|
options::fmfBoundLazy__option_t, |
2547 |
|
std::string option, |
2548 |
|
bool value) |
2549 |
|
{ |
2550 |
|
|
2551 |
3 |
quantifiers().fmfBoundLazy = value; |
2552 |
3 |
quantifiers().fmfBoundLazy__setByUser__ = true; |
2553 |
3 |
Trace("options") << "user assigned option fmfBoundLazy" << std::endl; |
2554 |
3 |
} |
2555 |
|
template <> void Options::assignBool( |
2556 |
|
options::fmfFmcSimple__option_t, |
2557 |
|
std::string option, |
2558 |
|
bool value) |
2559 |
|
{ |
2560 |
|
|
2561 |
|
quantifiers().fmfFmcSimple = value; |
2562 |
|
quantifiers().fmfFmcSimple__setByUser__ = true; |
2563 |
|
Trace("options") << "user assigned option fmfFmcSimple" << std::endl; |
2564 |
|
} |
2565 |
|
template <> void Options::assignBool( |
2566 |
|
options::fmfFreshDistConst__option_t, |
2567 |
|
std::string option, |
2568 |
|
bool value) |
2569 |
|
{ |
2570 |
|
|
2571 |
|
quantifiers().fmfFreshDistConst = value; |
2572 |
|
quantifiers().fmfFreshDistConst__setByUser__ = true; |
2573 |
|
Trace("options") << "user assigned option fmfFreshDistConst" << std::endl; |
2574 |
|
} |
2575 |
44 |
template <> void Options::assignBool( |
2576 |
|
options::fmfFunWellDefined__option_t, |
2577 |
|
std::string option, |
2578 |
|
bool value) |
2579 |
|
{ |
2580 |
|
|
2581 |
44 |
quantifiers().fmfFunWellDefined = value; |
2582 |
44 |
quantifiers().fmfFunWellDefined__setByUser__ = true; |
2583 |
44 |
Trace("options") << "user assigned option fmfFunWellDefined" << std::endl; |
2584 |
44 |
} |
2585 |
10 |
template <> void Options::assignBool( |
2586 |
|
options::fmfFunWellDefinedRelevant__option_t, |
2587 |
|
std::string option, |
2588 |
|
bool value) |
2589 |
|
{ |
2590 |
|
|
2591 |
10 |
quantifiers().fmfFunWellDefinedRelevant = value; |
2592 |
10 |
quantifiers().fmfFunWellDefinedRelevant__setByUser__ = true; |
2593 |
10 |
Trace("options") << "user assigned option fmfFunWellDefinedRelevant" << std::endl; |
2594 |
10 |
} |
2595 |
7 |
template <> void Options::assignBool( |
2596 |
|
options::fmfInstEngine__option_t, |
2597 |
|
std::string option, |
2598 |
|
bool value) |
2599 |
|
{ |
2600 |
|
|
2601 |
7 |
quantifiers().fmfInstEngine = value; |
2602 |
7 |
quantifiers().fmfInstEngine__setByUser__ = true; |
2603 |
7 |
Trace("options") << "user assigned option fmfInstEngine" << std::endl; |
2604 |
7 |
} |
2605 |
|
template <> void Options::assign( |
2606 |
|
options::fmfTypeCompletionThresh__option_t, |
2607 |
|
std::string option, |
2608 |
|
std::string optionarg) |
2609 |
|
{ |
2610 |
|
auto parsedval = handleOption<int>(option, optionarg); |
2611 |
|
|
2612 |
|
quantifiers().fmfTypeCompletionThresh = parsedval; |
2613 |
|
quantifiers().fmfTypeCompletionThresh__setByUser__ = true; |
2614 |
|
Trace("options") << "user assigned option fmfTypeCompletionThresh" << std::endl; |
2615 |
|
} |
2616 |
|
template <> void Options::assignBool( |
2617 |
|
options::fullSaturateInterleave__option_t, |
2618 |
|
std::string option, |
2619 |
|
bool value) |
2620 |
|
{ |
2621 |
|
|
2622 |
|
quantifiers().fullSaturateInterleave = value; |
2623 |
|
quantifiers().fullSaturateInterleave__setByUser__ = true; |
2624 |
|
Trace("options") << "user assigned option fullSaturateInterleave" << std::endl; |
2625 |
|
} |
2626 |
3 |
template <> void Options::assignBool( |
2627 |
|
options::fullSaturateStratify__option_t, |
2628 |
|
std::string option, |
2629 |
|
bool value) |
2630 |
|
{ |
2631 |
|
|
2632 |
3 |
quantifiers().fullSaturateStratify = value; |
2633 |
3 |
quantifiers().fullSaturateStratify__setByUser__ = true; |
2634 |
3 |
Trace("options") << "user assigned option fullSaturateStratify" << std::endl; |
2635 |
3 |
} |
2636 |
|
template <> void Options::assignBool( |
2637 |
|
options::fullSaturateSum__option_t, |
2638 |
|
std::string option, |
2639 |
|
bool value) |
2640 |
|
{ |
2641 |
|
|
2642 |
|
quantifiers().fullSaturateSum = value; |
2643 |
|
quantifiers().fullSaturateSum__setByUser__ = true; |
2644 |
|
Trace("options") << "user assigned option fullSaturateSum" << std::endl; |
2645 |
|
} |
2646 |
63 |
template <> void Options::assignBool( |
2647 |
|
options::fullSaturateQuant__option_t, |
2648 |
|
std::string option, |
2649 |
|
bool value) |
2650 |
|
{ |
2651 |
|
|
2652 |
63 |
quantifiers().fullSaturateQuant = value; |
2653 |
63 |
quantifiers().fullSaturateQuant__setByUser__ = true; |
2654 |
63 |
Trace("options") << "user assigned option fullSaturateQuant" << std::endl; |
2655 |
63 |
} |
2656 |
3 |
template <> void Options::assign( |
2657 |
|
options::fullSaturateLimit__option_t, |
2658 |
|
std::string option, |
2659 |
|
std::string optionarg) |
2660 |
|
{ |
2661 |
3 |
auto parsedval = handleOption<int>(option, optionarg); |
2662 |
|
|
2663 |
3 |
quantifiers().fullSaturateLimit = parsedval; |
2664 |
3 |
quantifiers().fullSaturateLimit__setByUser__ = true; |
2665 |
3 |
Trace("options") << "user assigned option fullSaturateLimit" << std::endl; |
2666 |
3 |
} |
2667 |
|
template <> void Options::assignBool( |
2668 |
|
options::fullSaturateQuantRd__option_t, |
2669 |
|
std::string option, |
2670 |
|
bool value) |
2671 |
|
{ |
2672 |
|
|
2673 |
|
quantifiers().fullSaturateQuantRd = value; |
2674 |
|
quantifiers().fullSaturateQuantRd__setByUser__ = true; |
2675 |
|
Trace("options") << "user assigned option fullSaturateQuantRd" << std::endl; |
2676 |
|
} |
2677 |
8 |
template <> void Options::assignBool( |
2678 |
|
options::globalNegate__option_t, |
2679 |
|
std::string option, |
2680 |
|
bool value) |
2681 |
|
{ |
2682 |
|
|
2683 |
8 |
quantifiers().globalNegate = value; |
2684 |
8 |
quantifiers().globalNegate__setByUser__ = true; |
2685 |
8 |
Trace("options") << "user assigned option globalNegate" << std::endl; |
2686 |
8 |
} |
2687 |
11 |
template <> void Options::assignBool( |
2688 |
|
options::hoElim__option_t, |
2689 |
|
std::string option, |
2690 |
|
bool value) |
2691 |
|
{ |
2692 |
|
|
2693 |
11 |
quantifiers().hoElim = value; |
2694 |
11 |
quantifiers().hoElim__setByUser__ = true; |
2695 |
11 |
Trace("options") << "user assigned option hoElim" << std::endl; |
2696 |
11 |
} |
2697 |
1 |
template <> void Options::assignBool( |
2698 |
|
options::hoElimStoreAx__option_t, |
2699 |
|
std::string option, |
2700 |
|
bool value) |
2701 |
|
{ |
2702 |
|
|
2703 |
1 |
quantifiers().hoElimStoreAx = value; |
2704 |
1 |
quantifiers().hoElimStoreAx__setByUser__ = true; |
2705 |
1 |
Trace("options") << "user assigned option hoElimStoreAx" << std::endl; |
2706 |
1 |
} |
2707 |
|
template <> void Options::assignBool( |
2708 |
|
options::hoMatching__option_t, |
2709 |
|
std::string option, |
2710 |
|
bool value) |
2711 |
|
{ |
2712 |
|
|
2713 |
|
quantifiers().hoMatching = value; |
2714 |
|
quantifiers().hoMatching__setByUser__ = true; |
2715 |
|
Trace("options") << "user assigned option hoMatching" << std::endl; |
2716 |
|
} |
2717 |
|
template <> void Options::assignBool( |
2718 |
|
options::hoMatchingVarArgPriority__option_t, |
2719 |
|
std::string option, |
2720 |
|
bool value) |
2721 |
|
{ |
2722 |
|
|
2723 |
|
quantifiers().hoMatchingVarArgPriority = value; |
2724 |
|
quantifiers().hoMatchingVarArgPriority__setByUser__ = true; |
2725 |
|
Trace("options") << "user assigned option hoMatchingVarArgPriority" << std::endl; |
2726 |
|
} |
2727 |
|
template <> void Options::assignBool( |
2728 |
|
options::hoMergeTermDb__option_t, |
2729 |
|
std::string option, |
2730 |
|
bool value) |
2731 |
|
{ |
2732 |
|
|
2733 |
|
quantifiers().hoMergeTermDb = value; |
2734 |
|
quantifiers().hoMergeTermDb__setByUser__ = true; |
2735 |
|
Trace("options") << "user assigned option hoMergeTermDb" << std::endl; |
2736 |
|
} |
2737 |
|
template <> void Options::assignBool( |
2738 |
|
options::incrementTriggers__option_t, |
2739 |
|
std::string option, |
2740 |
|
bool value) |
2741 |
|
{ |
2742 |
|
|
2743 |
|
quantifiers().incrementTriggers = value; |
2744 |
|
quantifiers().incrementTriggers__setByUser__ = true; |
2745 |
|
Trace("options") << "user assigned option incrementTriggers" << std::endl; |
2746 |
|
} |
2747 |
|
template <> void Options::assignBool( |
2748 |
|
options::instLevelInputOnly__option_t, |
2749 |
|
std::string option, |
2750 |
|
bool value) |
2751 |
|
{ |
2752 |
|
|
2753 |
|
quantifiers().instLevelInputOnly = value; |
2754 |
|
quantifiers().instLevelInputOnly__setByUser__ = true; |
2755 |
|
Trace("options") << "user assigned option instLevelInputOnly" << std::endl; |
2756 |
|
} |
2757 |
3 |
template <> void Options::assign( |
2758 |
|
options::instMaxLevel__option_t, |
2759 |
|
std::string option, |
2760 |
|
std::string optionarg) |
2761 |
|
{ |
2762 |
3 |
auto parsedval = handleOption<int>(option, optionarg); |
2763 |
|
|
2764 |
3 |
quantifiers().instMaxLevel = parsedval; |
2765 |
3 |
quantifiers().instMaxLevel__setByUser__ = true; |
2766 |
3 |
Trace("options") << "user assigned option instMaxLevel" << std::endl; |
2767 |
3 |
} |
2768 |
|
template <> void Options::assignBool( |
2769 |
|
options::instNoEntail__option_t, |
2770 |
|
std::string option, |
2771 |
|
bool value) |
2772 |
|
{ |
2773 |
|
|
2774 |
|
quantifiers().instNoEntail = value; |
2775 |
|
quantifiers().instNoEntail__setByUser__ = true; |
2776 |
|
Trace("options") << "user assigned option instNoEntail" << std::endl; |
2777 |
|
} |
2778 |
|
template <> void Options::assign( |
2779 |
|
options::instWhenPhase__option_t, |
2780 |
|
std::string option, |
2781 |
|
std::string optionarg) |
2782 |
|
{ |
2783 |
|
auto parsedval = handleOption<int>(option, optionarg); |
2784 |
|
|
2785 |
|
quantifiers().instWhenPhase = parsedval; |
2786 |
|
quantifiers().instWhenPhase__setByUser__ = true; |
2787 |
|
Trace("options") << "user assigned option instWhenPhase" << std::endl; |
2788 |
|
} |
2789 |
|
template <> void Options::assignBool( |
2790 |
|
options::instWhenStrictInterleave__option_t, |
2791 |
|
std::string option, |
2792 |
|
bool value) |
2793 |
|
{ |
2794 |
|
|
2795 |
|
quantifiers().instWhenStrictInterleave = value; |
2796 |
|
quantifiers().instWhenStrictInterleave__setByUser__ = true; |
2797 |
|
Trace("options") << "user assigned option instWhenStrictInterleave" << std::endl; |
2798 |
|
} |
2799 |
|
template <> void Options::assignBool( |
2800 |
|
options::instWhenTcFirst__option_t, |
2801 |
|
std::string option, |
2802 |
|
bool value) |
2803 |
|
{ |
2804 |
|
|
2805 |
|
quantifiers().instWhenTcFirst = value; |
2806 |
|
quantifiers().instWhenTcFirst__setByUser__ = true; |
2807 |
|
Trace("options") << "user assigned option instWhenTcFirst" << std::endl; |
2808 |
|
} |
2809 |
3 |
template <> void Options::assign( |
2810 |
|
options::instWhenMode__option_t, |
2811 |
|
std::string option, |
2812 |
|
std::string optionarg) |
2813 |
|
{ |
2814 |
3 |
auto parsedval = stringToInstWhenMode(optionarg); |
2815 |
3 |
d_handler->checkInstWhenMode(option, parsedval); |
2816 |
3 |
quantifiers().instWhenMode = parsedval; |
2817 |
3 |
quantifiers().instWhenMode__setByUser__ = true; |
2818 |
3 |
Trace("options") << "user assigned option instWhenMode" << std::endl; |
2819 |
3 |
} |
2820 |
6 |
template <> void Options::assignBool( |
2821 |
|
options::intWfInduction__option_t, |
2822 |
|
std::string option, |
2823 |
|
bool value) |
2824 |
|
{ |
2825 |
|
|
2826 |
6 |
quantifiers().intWfInduction = value; |
2827 |
6 |
quantifiers().intWfInduction__setByUser__ = true; |
2828 |
6 |
Trace("options") << "user assigned option intWfInduction" << std::endl; |
2829 |
6 |
} |
2830 |
|
template <> void Options::assignBool( |
2831 |
|
options::iteDtTesterSplitQuant__option_t, |
2832 |
|
std::string option, |
2833 |
|
bool value) |
2834 |
|
{ |
2835 |
|
|
2836 |
|
quantifiers().iteDtTesterSplitQuant = value; |
2837 |
|
quantifiers().iteDtTesterSplitQuant__setByUser__ = true; |
2838 |
|
Trace("options") << "user assigned option iteDtTesterSplitQuant" << std::endl; |
2839 |
|
} |
2840 |
|
template <> void Options::assign( |
2841 |
|
options::iteLiftQuant__option_t, |
2842 |
|
std::string option, |
2843 |
|
std::string optionarg) |
2844 |
|
{ |
2845 |
|
auto parsedval = stringToIteLiftQuantMode(optionarg); |
2846 |
|
|
2847 |
|
quantifiers().iteLiftQuant = parsedval; |
2848 |
|
quantifiers().iteLiftQuant__setByUser__ = true; |
2849 |
|
Trace("options") << "user assigned option iteLiftQuant" << std::endl; |
2850 |
|
} |
2851 |
|
template <> void Options::assign( |
2852 |
|
options::literalMatchMode__option_t, |
2853 |
|
std::string option, |
2854 |
|
std::string optionarg) |
2855 |
|
{ |
2856 |
|
auto parsedval = stringToLiteralMatchMode(optionarg); |
2857 |
|
|
2858 |
|
quantifiers().literalMatchMode = parsedval; |
2859 |
|
quantifiers().literalMatchMode__setByUser__ = true; |
2860 |
|
Trace("options") << "user assigned option literalMatchMode" << std::endl; |
2861 |
|
} |
2862 |
15 |
template <> void Options::assignBool( |
2863 |
|
options::macrosQuant__option_t, |
2864 |
|
std::string option, |
2865 |
|
bool value) |
2866 |
|
{ |
2867 |
|
|
2868 |
15 |
quantifiers().macrosQuant = value; |
2869 |
15 |
quantifiers().macrosQuant__setByUser__ = true; |
2870 |
15 |
Trace("options") << "user assigned option macrosQuant" << std::endl; |
2871 |
15 |
} |
2872 |
2 |
template <> void Options::assign( |
2873 |
|
options::macrosQuantMode__option_t, |
2874 |
|
std::string option, |
2875 |
|
std::string optionarg) |
2876 |
|
{ |
2877 |
2 |
auto parsedval = stringToMacrosQuantMode(optionarg); |
2878 |
|
|
2879 |
2 |
quantifiers().macrosQuantMode = parsedval; |
2880 |
2 |
quantifiers().macrosQuantMode__setByUser__ = true; |
2881 |
2 |
Trace("options") << "user assigned option macrosQuantMode" << std::endl; |
2882 |
2 |
} |
2883 |
|
template <> void Options::assignBool( |
2884 |
|
options::mbqiInterleave__option_t, |
2885 |
|
std::string option, |
2886 |
|
bool value) |
2887 |
|
{ |
2888 |
|
|
2889 |
|
quantifiers().mbqiInterleave = value; |
2890 |
|
quantifiers().mbqiInterleave__setByUser__ = true; |
2891 |
|
Trace("options") << "user assigned option mbqiInterleave" << std::endl; |
2892 |
|
} |
2893 |
|
template <> void Options::assignBool( |
2894 |
|
options::fmfOneInstPerRound__option_t, |
2895 |
|
std::string option, |
2896 |
|
bool value) |
2897 |
|
{ |
2898 |
|
|
2899 |
|
quantifiers().fmfOneInstPerRound = value; |
2900 |
|
quantifiers().fmfOneInstPerRound__setByUser__ = true; |
2901 |
|
Trace("options") << "user assigned option fmfOneInstPerRound" << std::endl; |
2902 |
|
} |
2903 |
|
template <> void Options::assign( |
2904 |
|
options::mbqiMode__option_t, |
2905 |
|
std::string option, |
2906 |
|
std::string optionarg) |
2907 |
|
{ |
2908 |
|
auto parsedval = stringToMbqiMode(optionarg); |
2909 |
|
|
2910 |
|
quantifiers().mbqiMode = parsedval; |
2911 |
|
quantifiers().mbqiMode__setByUser__ = true; |
2912 |
|
Trace("options") << "user assigned option mbqiMode" << std::endl; |
2913 |
|
} |
2914 |
129 |
template <> void Options::assignBool( |
2915 |
|
options::miniscopeQuant__option_t, |
2916 |
|
std::string option, |
2917 |
|
bool value) |
2918 |
|
{ |
2919 |
|
|
2920 |
129 |
quantifiers().miniscopeQuant = value; |
2921 |
129 |
quantifiers().miniscopeQuant__setByUser__ = true; |
2922 |
129 |
Trace("options") << "user assigned option miniscopeQuant" << std::endl; |
2923 |
129 |
} |
2924 |
126 |
template <> void Options::assignBool( |
2925 |
|
options::miniscopeQuantFreeVar__option_t, |
2926 |
|
std::string option, |
2927 |
|
bool value) |
2928 |
|
{ |
2929 |
|
|
2930 |
126 |
quantifiers().miniscopeQuantFreeVar = value; |
2931 |
126 |
quantifiers().miniscopeQuantFreeVar__setByUser__ = true; |
2932 |
126 |
Trace("options") << "user assigned option miniscopeQuantFreeVar" << std::endl; |
2933 |
126 |
} |
2934 |
3 |
template <> void Options::assignBool( |
2935 |
|
options::multiTriggerCache__option_t, |
2936 |
|
std::string option, |
2937 |
|
bool value) |
2938 |
|
{ |
2939 |
|
|
2940 |
3 |
quantifiers().multiTriggerCache = value; |
2941 |
3 |
quantifiers().multiTriggerCache__setByUser__ = true; |
2942 |
3 |
Trace("options") << "user assigned option multiTriggerCache" << std::endl; |
2943 |
3 |
} |
2944 |
|
template <> void Options::assignBool( |
2945 |
|
options::multiTriggerLinear__option_t, |
2946 |
|
std::string option, |
2947 |
|
bool value) |
2948 |
|
{ |
2949 |
|
|
2950 |
|
quantifiers().multiTriggerLinear = value; |
2951 |
|
quantifiers().multiTriggerLinear__setByUser__ = true; |
2952 |
|
Trace("options") << "user assigned option multiTriggerLinear" << std::endl; |
2953 |
|
} |
2954 |
|
template <> void Options::assignBool( |
2955 |
|
options::multiTriggerPriority__option_t, |
2956 |
|
std::string option, |
2957 |
|
bool value) |
2958 |
|
{ |
2959 |
|
|
2960 |
|
quantifiers().multiTriggerPriority = value; |
2961 |
|
quantifiers().multiTriggerPriority__setByUser__ = true; |
2962 |
|
Trace("options") << "user assigned option multiTriggerPriority" << std::endl; |
2963 |
|
} |
2964 |
|
template <> void Options::assignBool( |
2965 |
|
options::multiTriggerWhenSingle__option_t, |
2966 |
|
std::string option, |
2967 |
|
bool value) |
2968 |
|
{ |
2969 |
|
|
2970 |
|
quantifiers().multiTriggerWhenSingle = value; |
2971 |
|
quantifiers().multiTriggerWhenSingle__setByUser__ = true; |
2972 |
|
Trace("options") << "user assigned option multiTriggerWhenSingle" << std::endl; |
2973 |
|
} |
2974 |
3 |
template <> void Options::assignBool( |
2975 |
|
options::partialTriggers__option_t, |
2976 |
|
std::string option, |
2977 |
|
bool value) |
2978 |
|
{ |
2979 |
|
|
2980 |
3 |
quantifiers().partialTriggers = value; |
2981 |
3 |
quantifiers().partialTriggers__setByUser__ = true; |
2982 |
3 |
Trace("options") << "user assigned option partialTriggers" << std::endl; |
2983 |
3 |
} |
2984 |
3 |
template <> void Options::assignBool( |
2985 |
|
options::poolInst__option_t, |
2986 |
|
std::string option, |
2987 |
|
bool value) |
2988 |
|
{ |
2989 |
|
|
2990 |
3 |
quantifiers().poolInst = value; |
2991 |
3 |
quantifiers().poolInst__setByUser__ = true; |
2992 |
3 |
Trace("options") << "user assigned option poolInst" << std::endl; |
2993 |
3 |
} |
2994 |
2 |
template <> void Options::assignBool( |
2995 |
|
options::preSkolemQuant__option_t, |
2996 |
|
std::string option, |
2997 |
|
bool value) |
2998 |
|
{ |
2999 |
|
|
3000 |
2 |
quantifiers().preSkolemQuant = value; |
3001 |
2 |
quantifiers().preSkolemQuant__setByUser__ = true; |
3002 |
2 |
Trace("options") << "user assigned option preSkolemQuant" << std::endl; |
3003 |
2 |
} |
3004 |
|
template <> void Options::assignBool( |
3005 |
|
options::preSkolemQuantAgg__option_t, |
3006 |
|
std::string option, |
3007 |
|
bool value) |
3008 |
|
{ |
3009 |
|
|
3010 |
|
quantifiers().preSkolemQuantAgg = value; |
3011 |
|
quantifiers().preSkolemQuantAgg__setByUser__ = true; |
3012 |
|
Trace("options") << "user assigned option preSkolemQuantAgg" << std::endl; |
3013 |
|
} |
3014 |
2 |
template <> void Options::assignBool( |
3015 |
|
options::preSkolemQuantNested__option_t, |
3016 |
|
std::string option, |
3017 |
|
bool value) |
3018 |
|
{ |
3019 |
|
|
3020 |
2 |
quantifiers().preSkolemQuantNested = value; |
3021 |
2 |
quantifiers().preSkolemQuantNested__setByUser__ = true; |
3022 |
2 |
Trace("options") << "user assigned option preSkolemQuantNested" << std::endl; |
3023 |
2 |
} |
3024 |
|
template <> void Options::assignBool( |
3025 |
|
options::prenexQuantUser__option_t, |
3026 |
|
std::string option, |
3027 |
|
bool value) |
3028 |
|
{ |
3029 |
|
|
3030 |
|
quantifiers().prenexQuantUser = value; |
3031 |
|
quantifiers().prenexQuantUser__setByUser__ = true; |
3032 |
|
Trace("options") << "user assigned option prenexQuantUser" << std::endl; |
3033 |
|
} |
3034 |
|
template <> void Options::assign( |
3035 |
|
options::prenexQuant__option_t, |
3036 |
|
std::string option, |
3037 |
|
std::string optionarg) |
3038 |
|
{ |
3039 |
|
auto parsedval = stringToPrenexQuantMode(optionarg); |
3040 |
|
|
3041 |
|
quantifiers().prenexQuant = parsedval; |
3042 |
|
quantifiers().prenexQuant__setByUser__ = true; |
3043 |
|
Trace("options") << "user assigned option prenexQuant" << std::endl; |
3044 |
|
} |
3045 |
3 |
template <> void Options::assignBool( |
3046 |
|
options::purifyTriggers__option_t, |
3047 |
|
std::string option, |
3048 |
|
bool value) |
3049 |
|
{ |
3050 |
|
|
3051 |
3 |
quantifiers().purifyTriggers = value; |
3052 |
3 |
quantifiers().purifyTriggers__setByUser__ = true; |
3053 |
3 |
Trace("options") << "user assigned option purifyTriggers" << std::endl; |
3054 |
3 |
} |
3055 |
|
template <> void Options::assignBool( |
3056 |
|
options::qcfAllConflict__option_t, |
3057 |
|
std::string option, |
3058 |
|
bool value) |
3059 |
|
{ |
3060 |
|
|
3061 |
|
quantifiers().qcfAllConflict = value; |
3062 |
|
quantifiers().qcfAllConflict__setByUser__ = true; |
3063 |
|
Trace("options") << "user assigned option qcfAllConflict" << std::endl; |
3064 |
|
} |
3065 |
|
template <> void Options::assignBool( |
3066 |
|
options::qcfEagerCheckRd__option_t, |
3067 |
|
std::string option, |
3068 |
|
bool value) |
3069 |
|
{ |
3070 |
|
|
3071 |
|
quantifiers().qcfEagerCheckRd = value; |
3072 |
|
quantifiers().qcfEagerCheckRd__setByUser__ = true; |
3073 |
|
Trace("options") << "user assigned option qcfEagerCheckRd" << std::endl; |
3074 |
|
} |
3075 |
|
template <> void Options::assignBool( |
3076 |
|
options::qcfEagerTest__option_t, |
3077 |
|
std::string option, |
3078 |
|
bool value) |
3079 |
|
{ |
3080 |
|
|
3081 |
|
quantifiers().qcfEagerTest = value; |
3082 |
|
quantifiers().qcfEagerTest__setByUser__ = true; |
3083 |
|
Trace("options") << "user assigned option qcfEagerTest" << std::endl; |
3084 |
|
} |
3085 |
|
template <> void Options::assignBool( |
3086 |
|
options::qcfNestedConflict__option_t, |
3087 |
|
std::string option, |
3088 |
|
bool value) |
3089 |
|
{ |
3090 |
|
|
3091 |
|
quantifiers().qcfNestedConflict = value; |
3092 |
|
quantifiers().qcfNestedConflict__setByUser__ = true; |
3093 |
|
Trace("options") << "user assigned option qcfNestedConflict" << std::endl; |
3094 |
|
} |
3095 |
|
template <> void Options::assignBool( |
3096 |
|
options::qcfSkipRd__option_t, |
3097 |
|
std::string option, |
3098 |
|
bool value) |
3099 |
|
{ |
3100 |
|
|
3101 |
|
quantifiers().qcfSkipRd = value; |
3102 |
|
quantifiers().qcfSkipRd__setByUser__ = true; |
3103 |
|
Trace("options") << "user assigned option qcfSkipRd" << std::endl; |
3104 |
|
} |
3105 |
6 |
template <> void Options::assignBool( |
3106 |
|
options::qcfTConstraint__option_t, |
3107 |
|
std::string option, |
3108 |
|
bool value) |
3109 |
|
{ |
3110 |
|
|
3111 |
6 |
quantifiers().qcfTConstraint = value; |
3112 |
6 |
quantifiers().qcfTConstraint__setByUser__ = true; |
3113 |
6 |
Trace("options") << "user assigned option qcfTConstraint" << std::endl; |
3114 |
6 |
} |
3115 |
|
template <> void Options::assignBool( |
3116 |
|
options::qcfVoExp__option_t, |
3117 |
|
std::string option, |
3118 |
|
bool value) |
3119 |
|
{ |
3120 |
|
|
3121 |
|
quantifiers().qcfVoExp = value; |
3122 |
|
quantifiers().qcfVoExp__setByUser__ = true; |
3123 |
|
Trace("options") << "user assigned option qcfVoExp" << std::endl; |
3124 |
|
} |
3125 |
|
template <> void Options::assignBool( |
3126 |
|
options::quantAlphaEquiv__option_t, |
3127 |
|
std::string option, |
3128 |
|
bool value) |
3129 |
|
{ |
3130 |
|
|
3131 |
|
quantifiers().quantAlphaEquiv = value; |
3132 |
|
quantifiers().quantAlphaEquiv__setByUser__ = true; |
3133 |
|
Trace("options") << "user assigned option quantAlphaEquiv" << std::endl; |
3134 |
|
} |
3135 |
|
template <> void Options::assignBool( |
3136 |
|
options::quantConflictFind__option_t, |
3137 |
|
std::string option, |
3138 |
|
bool value) |
3139 |
|
{ |
3140 |
|
|
3141 |
|
quantifiers().quantConflictFind = value; |
3142 |
|
quantifiers().quantConflictFind__setByUser__ = true; |
3143 |
|
Trace("options") << "user assigned option quantConflictFind" << std::endl; |
3144 |
|
} |
3145 |
|
template <> void Options::assign( |
3146 |
|
options::qcfMode__option_t, |
3147 |
|
std::string option, |
3148 |
|
std::string optionarg) |
3149 |
|
{ |
3150 |
|
auto parsedval = stringToQcfMode(optionarg); |
3151 |
|
|
3152 |
|
quantifiers().qcfMode = parsedval; |
3153 |
|
quantifiers().qcfMode__setByUser__ = true; |
3154 |
|
Trace("options") << "user assigned option qcfMode" << std::endl; |
3155 |
|
} |
3156 |
|
template <> void Options::assign( |
3157 |
|
options::qcfWhenMode__option_t, |
3158 |
|
std::string option, |
3159 |
|
std::string optionarg) |
3160 |
|
{ |
3161 |
|
auto parsedval = stringToQcfWhenMode(optionarg); |
3162 |
|
|
3163 |
|
quantifiers().qcfWhenMode = parsedval; |
3164 |
|
quantifiers().qcfWhenMode__setByUser__ = true; |
3165 |
|
Trace("options") << "user assigned option qcfWhenMode" << std::endl; |
3166 |
|
} |
3167 |
|
template <> void Options::assign( |
3168 |
|
options::quantDynamicSplit__option_t, |
3169 |
|
std::string option, |
3170 |
|
std::string optionarg) |
3171 |
|
{ |
3172 |
|
auto parsedval = stringToQuantDSplitMode(optionarg); |
3173 |
|
|
3174 |
|
quantifiers().quantDynamicSplit = parsedval; |
3175 |
|
quantifiers().quantDynamicSplit__setByUser__ = true; |
3176 |
|
Trace("options") << "user assigned option quantDynamicSplit" << std::endl; |
3177 |
|
} |
3178 |
|
template <> void Options::assignBool( |
3179 |
|
options::quantFunWellDefined__option_t, |
3180 |
|
std::string option, |
3181 |
|
bool value) |
3182 |
|
{ |
3183 |
|
|
3184 |
|
quantifiers().quantFunWellDefined = value; |
3185 |
|
quantifiers().quantFunWellDefined__setByUser__ = true; |
3186 |
|
Trace("options") << "user assigned option quantFunWellDefined" << std::endl; |
3187 |
|
} |
3188 |
7 |
template <> void Options::assignBool( |
3189 |
|
options::quantInduction__option_t, |
3190 |
|
std::string option, |
3191 |
|
bool value) |
3192 |
|
{ |
3193 |
|
|
3194 |
7 |
quantifiers().quantInduction = value; |
3195 |
7 |
quantifiers().quantInduction__setByUser__ = true; |
3196 |
7 |
Trace("options") << "user assigned option quantInduction" << std::endl; |
3197 |
7 |
} |
3198 |
|
template <> void Options::assign( |
3199 |
|
options::quantRepMode__option_t, |
3200 |
|
std::string option, |
3201 |
|
std::string optionarg) |
3202 |
|
{ |
3203 |
|
auto parsedval = stringToQuantRepMode(optionarg); |
3204 |
|
|
3205 |
|
quantifiers().quantRepMode = parsedval; |
3206 |
|
quantifiers().quantRepMode__setByUser__ = true; |
3207 |
|
Trace("options") << "user assigned option quantRepMode" << std::endl; |
3208 |
|
} |
3209 |
126 |
template <> void Options::assignBool( |
3210 |
|
options::quantSplit__option_t, |
3211 |
|
std::string option, |
3212 |
|
bool value) |
3213 |
|
{ |
3214 |
|
|
3215 |
126 |
quantifiers().quantSplit = value; |
3216 |
126 |
quantifiers().quantSplit__setByUser__ = true; |
3217 |
126 |
Trace("options") << "user assigned option quantSplit" << std::endl; |
3218 |
126 |
} |
3219 |
|
template <> void Options::assignBool( |
3220 |
|
options::registerQuantBodyTerms__option_t, |
3221 |
|
std::string option, |
3222 |
|
bool value) |
3223 |
|
{ |
3224 |
|
|
3225 |
|
quantifiers().registerQuantBodyTerms = value; |
3226 |
|
quantifiers().registerQuantBodyTerms__setByUser__ = true; |
3227 |
|
Trace("options") << "user assigned option registerQuantBodyTerms" << std::endl; |
3228 |
|
} |
3229 |
15 |
template <> void Options::assignBool( |
3230 |
|
options::relationalTriggers__option_t, |
3231 |
|
std::string option, |
3232 |
|
bool value) |
3233 |
|
{ |
3234 |
|
|
3235 |
15 |
quantifiers().relationalTriggers = value; |
3236 |
15 |
quantifiers().relationalTriggers__setByUser__ = true; |
3237 |
15 |
Trace("options") << "user assigned option relationalTriggers" << std::endl; |
3238 |
15 |
} |
3239 |
3 |
template <> void Options::assignBool( |
3240 |
|
options::relevantTriggers__option_t, |
3241 |
|
std::string option, |
3242 |
|
bool value) |
3243 |
|
{ |
3244 |
|
|
3245 |
3 |
quantifiers().relevantTriggers = value; |
3246 |
3 |
quantifiers().relevantTriggers__setByUser__ = true; |
3247 |
3 |
Trace("options") << "user assigned option relevantTriggers" << std::endl; |
3248 |
3 |
} |
3249 |
|
template <> void Options::assignBool( |
3250 |
|
options::strictTriggers__option_t, |
3251 |
|
std::string option, |
3252 |
|
bool value) |
3253 |
|
{ |
3254 |
|
|
3255 |
|
quantifiers().strictTriggers = value; |
3256 |
|
quantifiers().strictTriggers__setByUser__ = true; |
3257 |
|
Trace("options") << "user assigned option strictTriggers" << std::endl; |
3258 |
|
} |
3259 |
|
template <> void Options::assignBool( |
3260 |
|
options::sygus__option_t, |
3261 |
|
std::string option, |
3262 |
|
bool value) |
3263 |
|
{ |
3264 |
|
|
3265 |
|
quantifiers().sygus = value; |
3266 |
|
quantifiers().sygus__setByUser__ = true; |
3267 |
|
Trace("options") << "user assigned option sygus" << std::endl; |
3268 |
|
} |
3269 |
|
template <> void Options::assign( |
3270 |
|
options::sygusActiveGenEnumConsts__option_t, |
3271 |
|
std::string option, |
3272 |
|
std::string optionarg) |
3273 |
|
{ |
3274 |
|
auto parsedval = handleOption<unsigned long>(option, optionarg); |
3275 |
|
|
3276 |
|
quantifiers().sygusActiveGenEnumConsts = parsedval; |
3277 |
|
quantifiers().sygusActiveGenEnumConsts__setByUser__ = true; |
3278 |
|
Trace("options") << "user assigned option sygusActiveGenEnumConsts" << std::endl; |
3279 |
|
} |
3280 |
14 |
template <> void Options::assign( |
3281 |
|
options::sygusActiveGenMode__option_t, |
3282 |
|
std::string option, |
3283 |
|
std::string optionarg) |
3284 |
|
{ |
3285 |
14 |
auto parsedval = stringToSygusActiveGenMode(optionarg); |
3286 |
|
|
3287 |
14 |
quantifiers().sygusActiveGenMode = parsedval; |
3288 |
14 |
quantifiers().sygusActiveGenMode__setByUser__ = true; |
3289 |
14 |
Trace("options") << "user assigned option sygusActiveGenMode" << std::endl; |
3290 |
14 |
} |
3291 |
2 |
template <> void Options::assignBool( |
3292 |
|
options::sygusAddConstGrammar__option_t, |
3293 |
|
std::string option, |
3294 |
|
bool value) |
3295 |
|
{ |
3296 |
|
|
3297 |
2 |
quantifiers().sygusAddConstGrammar = value; |
3298 |
2 |
quantifiers().sygusAddConstGrammar__setByUser__ = true; |
3299 |
2 |
Trace("options") << "user assigned option sygusAddConstGrammar" << std::endl; |
3300 |
2 |
} |
3301 |
3 |
template <> void Options::assignBool( |
3302 |
|
options::sygusArgRelevant__option_t, |
3303 |
|
std::string option, |
3304 |
|
bool value) |
3305 |
|
{ |
3306 |
|
|
3307 |
3 |
quantifiers().sygusArgRelevant = value; |
3308 |
3 |
quantifiers().sygusArgRelevant__setByUser__ = true; |
3309 |
3 |
Trace("options") << "user assigned option sygusArgRelevant" << std::endl; |
3310 |
3 |
} |
3311 |
|
template <> void Options::assignBool( |
3312 |
|
options::sygusInvAutoUnfold__option_t, |
3313 |
|
std::string option, |
3314 |
|
bool value) |
3315 |
|
{ |
3316 |
|
|
3317 |
|
quantifiers().sygusInvAutoUnfold = value; |
3318 |
|
quantifiers().sygusInvAutoUnfold__setByUser__ = true; |
3319 |
|
Trace("options") << "user assigned option sygusInvAutoUnfold" << std::endl; |
3320 |
|
} |
3321 |
1 |
template <> void Options::assignBool( |
3322 |
|
options::sygusBoolIteReturnConst__option_t, |
3323 |
|
std::string option, |
3324 |
|
bool value) |
3325 |
|
{ |
3326 |
|
|
3327 |
1 |
quantifiers().sygusBoolIteReturnConst = value; |
3328 |
1 |
quantifiers().sygusBoolIteReturnConst__setByUser__ = true; |
3329 |
1 |
Trace("options") << "user assigned option sygusBoolIteReturnConst" << std::endl; |
3330 |
1 |
} |
3331 |
5 |
template <> void Options::assignBool( |
3332 |
|
options::sygusCoreConnective__option_t, |
3333 |
|
std::string option, |
3334 |
|
bool value) |
3335 |
|
{ |
3336 |
|
|
3337 |
5 |
quantifiers().sygusCoreConnective = value; |
3338 |
5 |
quantifiers().sygusCoreConnective__setByUser__ = true; |
3339 |
5 |
Trace("options") << "user assigned option sygusCoreConnective" << std::endl; |
3340 |
5 |
} |
3341 |
|
template <> void Options::assignBool( |
3342 |
|
options::sygusConstRepairAbort__option_t, |
3343 |
|
std::string option, |
3344 |
|
bool value) |
3345 |
|
{ |
3346 |
|
|
3347 |
|
quantifiers().sygusConstRepairAbort = value; |
3348 |
|
quantifiers().sygusConstRepairAbort__setByUser__ = true; |
3349 |
|
Trace("options") << "user assigned option sygusConstRepairAbort" << std::endl; |
3350 |
|
} |
3351 |
|
template <> void Options::assignBool( |
3352 |
|
options::sygusEvalOpt__option_t, |
3353 |
|
std::string option, |
3354 |
|
bool value) |
3355 |
|
{ |
3356 |
|
|
3357 |
|
quantifiers().sygusEvalOpt = value; |
3358 |
|
quantifiers().sygusEvalOpt__setByUser__ = true; |
3359 |
|
Trace("options") << "user assigned option sygusEvalOpt" << std::endl; |
3360 |
|
} |
3361 |
|
template <> void Options::assignBool( |
3362 |
|
options::sygusEvalUnfold__option_t, |
3363 |
|
std::string option, |
3364 |
|
bool value) |
3365 |
|
{ |
3366 |
|
|
3367 |
|
quantifiers().sygusEvalUnfold = value; |
3368 |
|
quantifiers().sygusEvalUnfold__setByUser__ = true; |
3369 |
|
Trace("options") << "user assigned option sygusEvalUnfold" << std::endl; |
3370 |
|
} |
3371 |
|
template <> void Options::assignBool( |
3372 |
|
options::sygusEvalUnfoldBool__option_t, |
3373 |
|
std::string option, |
3374 |
|
bool value) |
3375 |
|
{ |
3376 |
|
|
3377 |
|
quantifiers().sygusEvalUnfoldBool = value; |
3378 |
|
quantifiers().sygusEvalUnfoldBool__setByUser__ = true; |
3379 |
|
Trace("options") << "user assigned option sygusEvalUnfoldBool" << std::endl; |
3380 |
|
} |
3381 |
|
template <> void Options::assign( |
3382 |
|
options::sygusExprMinerCheckTimeout__option_t, |
3383 |
|
std::string option, |
3384 |
|
std::string optionarg) |
3385 |
|
{ |
3386 |
|
auto parsedval = handleOption<unsigned long>(option, optionarg); |
3387 |
|
|
3388 |
|
quantifiers().sygusExprMinerCheckTimeout = parsedval; |
3389 |
|
quantifiers().sygusExprMinerCheckTimeout__setByUser__ = true; |
3390 |
|
Trace("options") << "user assigned option sygusExprMinerCheckTimeout" << std::endl; |
3391 |
|
} |
3392 |
2 |
template <> void Options::assignBool( |
3393 |
|
options::sygusExtRew__option_t, |
3394 |
|
std::string option, |
3395 |
|
bool value) |
3396 |
|
{ |
3397 |
|
|
3398 |
2 |
quantifiers().sygusExtRew = value; |
3399 |
2 |
quantifiers().sygusExtRew__setByUser__ = true; |
3400 |
2 |
Trace("options") << "user assigned option sygusExtRew" << std::endl; |
3401 |
2 |
} |
3402 |
|
template <> void Options::assignBool( |
3403 |
|
options::sygusFilterSolRevSubsume__option_t, |
3404 |
|
std::string option, |
3405 |
|
bool value) |
3406 |
|
{ |
3407 |
|
|
3408 |
|
quantifiers().sygusFilterSolRevSubsume = value; |
3409 |
|
quantifiers().sygusFilterSolRevSubsume__setByUser__ = true; |
3410 |
|
Trace("options") << "user assigned option sygusFilterSolRevSubsume" << std::endl; |
3411 |
|
} |
3412 |
|
template <> void Options::assign( |
3413 |
|
options::sygusFilterSolMode__option_t, |
3414 |
|
std::string option, |
3415 |
|
std::string optionarg) |
3416 |
|
{ |
3417 |
|
auto parsedval = stringToSygusFilterSolMode(optionarg); |
3418 |
|
|
3419 |
|
quantifiers().sygusFilterSolMode = parsedval; |
3420 |
|
quantifiers().sygusFilterSolMode__setByUser__ = true; |
3421 |
|
Trace("options") << "user assigned option sygusFilterSolMode" << std::endl; |
3422 |
|
} |
3423 |
6 |
template <> void Options::assign( |
3424 |
|
options::sygusGrammarConsMode__option_t, |
3425 |
|
std::string option, |
3426 |
|
std::string optionarg) |
3427 |
|
{ |
3428 |
6 |
auto parsedval = stringToSygusGrammarConsMode(optionarg); |
3429 |
|
|
3430 |
6 |
quantifiers().sygusGrammarConsMode = parsedval; |
3431 |
6 |
quantifiers().sygusGrammarConsMode__setByUser__ = true; |
3432 |
6 |
Trace("options") << "user assigned option sygusGrammarConsMode" << std::endl; |
3433 |
6 |
} |
3434 |
|
template <> void Options::assignBool( |
3435 |
|
options::sygusGrammarNorm__option_t, |
3436 |
|
std::string option, |
3437 |
|
bool value) |
3438 |
|
{ |
3439 |
|
|
3440 |
|
quantifiers().sygusGrammarNorm = value; |
3441 |
|
quantifiers().sygusGrammarNorm__setByUser__ = true; |
3442 |
|
Trace("options") << "user assigned option sygusGrammarNorm" << std::endl; |
3443 |
|
} |
3444 |
66 |
template <> void Options::assignBool( |
3445 |
|
options::sygusInference__option_t, |
3446 |
|
std::string option, |
3447 |
|
bool value) |
3448 |
|
{ |
3449 |
|
|
3450 |
66 |
quantifiers().sygusInference = value; |
3451 |
66 |
quantifiers().sygusInference__setByUser__ = true; |
3452 |
66 |
Trace("options") << "user assigned option sygusInference" << std::endl; |
3453 |
66 |
} |
3454 |
18 |
template <> void Options::assignBool( |
3455 |
|
options::sygusInst__option_t, |
3456 |
|
std::string option, |
3457 |
|
bool value) |
3458 |
|
{ |
3459 |
|
|
3460 |
18 |
quantifiers().sygusInst = value; |
3461 |
18 |
quantifiers().sygusInst__setByUser__ = true; |
3462 |
18 |
Trace("options") << "user assigned option sygusInst" << std::endl; |
3463 |
18 |
} |
3464 |
|
template <> void Options::assign( |
3465 |
|
options::sygusInstMode__option_t, |
3466 |
|
std::string option, |
3467 |
|
std::string optionarg) |
3468 |
|
{ |
3469 |
|
auto parsedval = stringToSygusInstMode(optionarg); |
3470 |
|
|
3471 |
|
quantifiers().sygusInstMode = parsedval; |
3472 |
|
quantifiers().sygusInstMode__setByUser__ = true; |
3473 |
|
Trace("options") << "user assigned option sygusInstMode" << std::endl; |
3474 |
|
} |
3475 |
|
template <> void Options::assign( |
3476 |
|
options::sygusInstScope__option_t, |
3477 |
|
std::string option, |
3478 |
|
std::string optionarg) |
3479 |
|
{ |
3480 |
|
auto parsedval = stringToSygusInstScope(optionarg); |
3481 |
|
|
3482 |
|
quantifiers().sygusInstScope = parsedval; |
3483 |
|
quantifiers().sygusInstScope__setByUser__ = true; |
3484 |
|
Trace("options") << "user assigned option sygusInstScope" << std::endl; |
3485 |
|
} |
3486 |
|
template <> void Options::assign( |
3487 |
|
options::sygusInstTermSel__option_t, |
3488 |
|
std::string option, |
3489 |
|
std::string optionarg) |
3490 |
|
{ |
3491 |
|
auto parsedval = stringToSygusInstTermSelMode(optionarg); |
3492 |
|
|
3493 |
|
quantifiers().sygusInstTermSel = parsedval; |
3494 |
|
quantifiers().sygusInstTermSel__setByUser__ = true; |
3495 |
|
Trace("options") << "user assigned option sygusInstTermSel" << std::endl; |
3496 |
|
} |
3497 |
|
template <> void Options::assignBool( |
3498 |
|
options::sygusInvTemplWhenSyntax__option_t, |
3499 |
|
std::string option, |
3500 |
|
bool value) |
3501 |
|
{ |
3502 |
|
|
3503 |
|
quantifiers().sygusInvTemplWhenSyntax = value; |
3504 |
|
quantifiers().sygusInvTemplWhenSyntax__setByUser__ = true; |
3505 |
|
Trace("options") << "user assigned option sygusInvTemplWhenSyntax" << std::endl; |
3506 |
|
} |
3507 |
3 |
template <> void Options::assign( |
3508 |
|
options::sygusInvTemplMode__option_t, |
3509 |
|
std::string option, |
3510 |
|
std::string optionarg) |
3511 |
|
{ |
3512 |
3 |
auto parsedval = stringToSygusInvTemplMode(optionarg); |
3513 |
|
|
3514 |
3 |
quantifiers().sygusInvTemplMode = parsedval; |
3515 |
3 |
quantifiers().sygusInvTemplMode__setByUser__ = true; |
3516 |
3 |
Trace("options") << "user assigned option sygusInvTemplMode" << std::endl; |
3517 |
3 |
} |
3518 |
|
template <> void Options::assignBool( |
3519 |
|
options::sygusMinGrammar__option_t, |
3520 |
|
std::string option, |
3521 |
|
bool value) |
3522 |
|
{ |
3523 |
|
|
3524 |
|
quantifiers().sygusMinGrammar = value; |
3525 |
|
quantifiers().sygusMinGrammar__setByUser__ = true; |
3526 |
|
Trace("options") << "user assigned option sygusMinGrammar" << std::endl; |
3527 |
|
} |
3528 |
6 |
template <> void Options::assignBool( |
3529 |
|
options::sygusUnifPbe__option_t, |
3530 |
|
std::string option, |
3531 |
|
bool value) |
3532 |
|
{ |
3533 |
|
|
3534 |
6 |
quantifiers().sygusUnifPbe = value; |
3535 |
6 |
quantifiers().sygusUnifPbe__setByUser__ = true; |
3536 |
6 |
Trace("options") << "user assigned option sygusUnifPbe" << std::endl; |
3537 |
6 |
} |
3538 |
|
template <> void Options::assignBool( |
3539 |
|
options::sygusPbeMultiFair__option_t, |
3540 |
|
std::string option, |
3541 |
|
bool value) |
3542 |
|
{ |
3543 |
|
|
3544 |
|
quantifiers().sygusPbeMultiFair = value; |
3545 |
|
quantifiers().sygusPbeMultiFair__setByUser__ = true; |
3546 |
|
Trace("options") << "user assigned option sygusPbeMultiFair" << std::endl; |
3547 |
|
} |
3548 |
|
template <> void Options::assign( |
3549 |
|
options::sygusPbeMultiFairDiff__option_t, |
3550 |
|
std::string option, |
3551 |
|
std::string optionarg) |
3552 |
|
{ |
3553 |
|
auto parsedval = handleOption<int>(option, optionarg); |
3554 |
|
|
3555 |
|
quantifiers().sygusPbeMultiFairDiff = parsedval; |
3556 |
|
quantifiers().sygusPbeMultiFairDiff__setByUser__ = true; |
3557 |
|
Trace("options") << "user assigned option sygusPbeMultiFairDiff" << std::endl; |
3558 |
|
} |
3559 |
4 |
template <> void Options::assignBool( |
3560 |
|
options::sygusQePreproc__option_t, |
3561 |
|
std::string option, |
3562 |
|
bool value) |
3563 |
|
{ |
3564 |
|
|
3565 |
4 |
quantifiers().sygusQePreproc = value; |
3566 |
4 |
quantifiers().sygusQePreproc__setByUser__ = true; |
3567 |
4 |
Trace("options") << "user assigned option sygusQePreproc" << std::endl; |
3568 |
4 |
} |
3569 |
|
template <> void Options::assignBool( |
3570 |
|
options::sygusQueryGen__option_t, |
3571 |
|
std::string option, |
3572 |
|
bool value) |
3573 |
|
{ |
3574 |
|
|
3575 |
|
quantifiers().sygusQueryGen = value; |
3576 |
|
quantifiers().sygusQueryGen__setByUser__ = true; |
3577 |
|
Trace("options") << "user assigned option sygusQueryGen" << std::endl; |
3578 |
|
} |
3579 |
|
template <> void Options::assignBool( |
3580 |
|
options::sygusQueryGenCheck__option_t, |
3581 |
|
std::string option, |
3582 |
|
bool value) |
3583 |
|
{ |
3584 |
|
|
3585 |
|
quantifiers().sygusQueryGenCheck = value; |
3586 |
|
quantifiers().sygusQueryGenCheck__setByUser__ = true; |
3587 |
|
Trace("options") << "user assigned option sygusQueryGenCheck" << std::endl; |
3588 |
|
} |
3589 |
|
template <> void Options::assign( |
3590 |
|
options::sygusQueryGenDumpFiles__option_t, |
3591 |
|
std::string option, |
3592 |
|
std::string optionarg) |
3593 |
|
{ |
3594 |
|
auto parsedval = stringToSygusQueryDumpFilesMode(optionarg); |
3595 |
|
|
3596 |
|
quantifiers().sygusQueryGenDumpFiles = parsedval; |
3597 |
|
quantifiers().sygusQueryGenDumpFiles__setByUser__ = true; |
3598 |
|
Trace("options") << "user assigned option sygusQueryGenDumpFiles" << std::endl; |
3599 |
|
} |
3600 |
|
template <> void Options::assign( |
3601 |
|
options::sygusQueryGenThresh__option_t, |
3602 |
|
std::string option, |
3603 |
|
std::string optionarg) |
3604 |
|
{ |
3605 |
|
auto parsedval = handleOption<unsigned>(option, optionarg); |
3606 |
|
|
3607 |
|
quantifiers().sygusQueryGenThresh = parsedval; |
3608 |
|
quantifiers().sygusQueryGenThresh__setByUser__ = true; |
3609 |
|
Trace("options") << "user assigned option sygusQueryGenThresh" << std::endl; |
3610 |
|
} |
3611 |
3 |
template <> void Options::assignBool( |
3612 |
|
options::sygusRecFun__option_t, |
3613 |
|
std::string option, |
3614 |
|
bool value) |
3615 |
|
{ |
3616 |
|
|
3617 |
3 |
quantifiers().sygusRecFun = value; |
3618 |
3 |
quantifiers().sygusRecFun__setByUser__ = true; |
3619 |
3 |
Trace("options") << "user assigned option sygusRecFun" << std::endl; |
3620 |
3 |
} |
3621 |
|
template <> void Options::assign( |
3622 |
|
options::sygusRecFunEvalLimit__option_t, |
3623 |
|
std::string option, |
3624 |
|
std::string optionarg) |
3625 |
|
{ |
3626 |
|
auto parsedval = handleOption<unsigned>(option, optionarg); |
3627 |
|
|
3628 |
|
quantifiers().sygusRecFunEvalLimit = parsedval; |
3629 |
|
quantifiers().sygusRecFunEvalLimit__setByUser__ = true; |
3630 |
|
Trace("options") << "user assigned option sygusRecFunEvalLimit" << std::endl; |
3631 |
|
} |
3632 |
8 |
template <> void Options::assignBool( |
3633 |
|
options::sygusRepairConst__option_t, |
3634 |
|
std::string option, |
3635 |
|
bool value) |
3636 |
|
{ |
3637 |
|
|
3638 |
8 |
quantifiers().sygusRepairConst = value; |
3639 |
8 |
quantifiers().sygusRepairConst__setByUser__ = true; |
3640 |
8 |
Trace("options") << "user assigned option sygusRepairConst" << std::endl; |
3641 |
8 |
} |
3642 |
|
template <> void Options::assign( |
3643 |
|
options::sygusRepairConstTimeout__option_t, |
3644 |
|
std::string option, |
3645 |
|
std::string optionarg) |
3646 |
|
{ |
3647 |
|
auto parsedval = handleOption<unsigned long>(option, optionarg); |
3648 |
|
|
3649 |
|
quantifiers().sygusRepairConstTimeout = parsedval; |
3650 |
|
quantifiers().sygusRepairConstTimeout__setByUser__ = true; |
3651 |
|
Trace("options") << "user assigned option sygusRepairConstTimeout" << std::endl; |
3652 |
|
} |
3653 |
6 |
template <> void Options::assignBool( |
3654 |
|
options::sygusRew__option_t, |
3655 |
|
std::string option, |
3656 |
|
bool value) |
3657 |
|
{ |
3658 |
|
|
3659 |
6 |
quantifiers().sygusRew = value; |
3660 |
6 |
quantifiers().sygusRew__setByUser__ = true; |
3661 |
6 |
Trace("options") << "user assigned option sygusRew" << std::endl; |
3662 |
6 |
} |
3663 |
1 |
template <> void Options::assignBool( |
3664 |
|
options::sygusRewSynth__option_t, |
3665 |
|
std::string option, |
3666 |
|
bool value) |
3667 |
|
{ |
3668 |
|
|
3669 |
1 |
quantifiers().sygusRewSynth = value; |
3670 |
1 |
quantifiers().sygusRewSynth__setByUser__ = true; |
3671 |
1 |
Trace("options") << "user assigned option sygusRewSynth" << std::endl; |
3672 |
1 |
} |
3673 |
|
template <> void Options::assignBool( |
3674 |
|
options::sygusRewSynthAccel__option_t, |
3675 |
|
std::string option, |
3676 |
|
bool value) |
3677 |
|
{ |
3678 |
|
|
3679 |
|
quantifiers().sygusRewSynthAccel = value; |
3680 |
|
quantifiers().sygusRewSynthAccel__setByUser__ = true; |
3681 |
|
Trace("options") << "user assigned option sygusRewSynthAccel" << std::endl; |
3682 |
|
} |
3683 |
3 |
template <> void Options::assignBool( |
3684 |
|
options::sygusRewSynthCheck__option_t, |
3685 |
|
std::string option, |
3686 |
|
bool value) |
3687 |
|
{ |
3688 |
|
|
3689 |
3 |
quantifiers().sygusRewSynthCheck = value; |
3690 |
3 |
quantifiers().sygusRewSynthCheck__setByUser__ = true; |
3691 |
3 |
Trace("options") << "user assigned option sygusRewSynthCheck" << std::endl; |
3692 |
3 |
} |
3693 |
|
template <> void Options::assignBool( |
3694 |
|
options::sygusRewSynthFilterCong__option_t, |
3695 |
|
std::string option, |
3696 |
|
bool value) |
3697 |
|
{ |
3698 |
|
|
3699 |
|
quantifiers().sygusRewSynthFilterCong = value; |
3700 |
|
quantifiers().sygusRewSynthFilterCong__setByUser__ = true; |
3701 |
|
Trace("options") << "user assigned option sygusRewSynthFilterCong" << std::endl; |
3702 |
|
} |
3703 |
|
template <> void Options::assignBool( |
3704 |
|
options::sygusRewSynthFilterMatch__option_t, |
3705 |
|
std::string option, |
3706 |
|
bool value) |
3707 |
|
{ |
3708 |
|
|
3709 |
|
quantifiers().sygusRewSynthFilterMatch = value; |
3710 |
|
quantifiers().sygusRewSynthFilterMatch__setByUser__ = true; |
3711 |
|
Trace("options") << "user assigned option sygusRewSynthFilterMatch" << std::endl; |
3712 |
|
} |
3713 |
|
template <> void Options::assignBool( |
3714 |
|
options::sygusRewSynthFilterNonLinear__option_t, |
3715 |
|
std::string option, |
3716 |
|
bool value) |
3717 |
|
{ |
3718 |
|
|
3719 |
|
quantifiers().sygusRewSynthFilterNonLinear = value; |
3720 |
|
quantifiers().sygusRewSynthFilterNonLinear__setByUser__ = true; |
3721 |
|
Trace("options") << "user assigned option sygusRewSynthFilterNonLinear" << std::endl; |
3722 |
|
} |
3723 |
|
template <> void Options::assignBool( |
3724 |
|
options::sygusRewSynthFilterOrder__option_t, |
3725 |
|
std::string option, |
3726 |
|
bool value) |
3727 |
|
{ |
3728 |
|
|
3729 |
|
quantifiers().sygusRewSynthFilterOrder = value; |
3730 |
|
quantifiers().sygusRewSynthFilterOrder__setByUser__ = true; |
3731 |
|
Trace("options") << "user assigned option sygusRewSynthFilterOrder" << std::endl; |
3732 |
|
} |
3733 |
242 |
template <> void Options::assignBool( |
3734 |
|
options::sygusRewSynthInput__option_t, |
3735 |
|
std::string option, |
3736 |
|
bool value) |
3737 |
|
{ |
3738 |
|
|
3739 |
242 |
quantifiers().sygusRewSynthInput = value; |
3740 |
242 |
quantifiers().sygusRewSynthInput__setByUser__ = true; |
3741 |
242 |
Trace("options") << "user assigned option sygusRewSynthInput" << std::endl; |
3742 |
242 |
} |
3743 |
|
template <> void Options::assign( |
3744 |
|
options::sygusRewSynthInputNVars__option_t, |
3745 |
|
std::string option, |
3746 |
|
std::string optionarg) |
3747 |
|
{ |
3748 |
|
auto parsedval = handleOption<int>(option, optionarg); |
3749 |
|
|
3750 |
|
quantifiers().sygusRewSynthInputNVars = parsedval; |
3751 |
|
quantifiers().sygusRewSynthInputNVars__setByUser__ = true; |
3752 |
|
Trace("options") << "user assigned option sygusRewSynthInputNVars" << std::endl; |
3753 |
|
} |
3754 |
|
template <> void Options::assignBool( |
3755 |
|
options::sygusRewSynthInputUseBool__option_t, |
3756 |
|
std::string option, |
3757 |
|
bool value) |
3758 |
|
{ |
3759 |
|
|
3760 |
|
quantifiers().sygusRewSynthInputUseBool = value; |
3761 |
|
quantifiers().sygusRewSynthInputUseBool__setByUser__ = true; |
3762 |
|
Trace("options") << "user assigned option sygusRewSynthInputUseBool" << std::endl; |
3763 |
|
} |
3764 |
|
template <> void Options::assignBool( |
3765 |
|
options::sygusRewSynthRec__option_t, |
3766 |
|
std::string option, |
3767 |
|
bool value) |
3768 |
|
{ |
3769 |
|
|
3770 |
|
quantifiers().sygusRewSynthRec = value; |
3771 |
|
quantifiers().sygusRewSynthRec__setByUser__ = true; |
3772 |
|
Trace("options") << "user assigned option sygusRewSynthRec" << std::endl; |
3773 |
|
} |
3774 |
|
template <> void Options::assignBool( |
3775 |
|
options::sygusRewVerify__option_t, |
3776 |
|
std::string option, |
3777 |
|
bool value) |
3778 |
|
{ |
3779 |
|
|
3780 |
|
quantifiers().sygusRewVerify = value; |
3781 |
|
quantifiers().sygusRewVerify__setByUser__ = true; |
3782 |
|
Trace("options") << "user assigned option sygusRewVerify" << std::endl; |
3783 |
|
} |
3784 |
7 |
template <> void Options::assignBool( |
3785 |
|
options::sygusRewVerifyAbort__option_t, |
3786 |
|
std::string option, |
3787 |
|
bool value) |
3788 |
|
{ |
3789 |
|
|
3790 |
7 |
quantifiers().sygusRewVerifyAbort = value; |
3791 |
7 |
quantifiers().sygusRewVerifyAbort__setByUser__ = true; |
3792 |
7 |
Trace("options") << "user assigned option sygusRewVerifyAbort" << std::endl; |
3793 |
7 |
} |
3794 |
|
template <> void Options::assignBool( |
3795 |
|
options::sygusSampleFpUniform__option_t, |
3796 |
|
std::string option, |
3797 |
|
bool value) |
3798 |
|
{ |
3799 |
|
|
3800 |
|
quantifiers().sygusSampleFpUniform = value; |
3801 |
|
quantifiers().sygusSampleFpUniform__setByUser__ = true; |
3802 |
|
Trace("options") << "user assigned option sygusSampleFpUniform" << std::endl; |
3803 |
|
} |
3804 |
|
template <> void Options::assignBool( |
3805 |
|
options::sygusSampleGrammar__option_t, |
3806 |
|
std::string option, |
3807 |
|
bool value) |
3808 |
|
{ |
3809 |
|
|
3810 |
|
quantifiers().sygusSampleGrammar = value; |
3811 |
|
quantifiers().sygusSampleGrammar__setByUser__ = true; |
3812 |
|
Trace("options") << "user assigned option sygusSampleGrammar" << std::endl; |
3813 |
|
} |
3814 |
7 |
template <> void Options::assign( |
3815 |
|
options::sygusSamples__option_t, |
3816 |
|
std::string option, |
3817 |
|
std::string optionarg) |
3818 |
|
{ |
3819 |
7 |
auto parsedval = handleOption<int>(option, optionarg); |
3820 |
|
|
3821 |
7 |
quantifiers().sygusSamples = parsedval; |
3822 |
7 |
quantifiers().sygusSamples__setByUser__ = true; |
3823 |
7 |
Trace("options") << "user assigned option sygusSamples" << std::endl; |
3824 |
7 |
} |
3825 |
|
template <> void Options::assignBool( |
3826 |
|
options::cegqiSingleInvAbort__option_t, |
3827 |
|
std::string option, |
3828 |
|
bool value) |
3829 |
|
{ |
3830 |
|
|
3831 |
|
quantifiers().cegqiSingleInvAbort = value; |
3832 |
|
quantifiers().cegqiSingleInvAbort__setByUser__ = true; |
3833 |
|
Trace("options") << "user assigned option cegqiSingleInvAbort" << std::endl; |
3834 |
|
} |
3835 |
|
template <> void Options::assignBool( |
3836 |
|
options::cegqiSingleInvPartial__option_t, |
3837 |
|
std::string option, |
3838 |
|
bool value) |
3839 |
|
{ |
3840 |
|
|
3841 |
|
quantifiers().cegqiSingleInvPartial = value; |
3842 |
|
quantifiers().cegqiSingleInvPartial__setByUser__ = true; |
3843 |
|
Trace("options") << "user assigned option cegqiSingleInvPartial" << std::endl; |
3844 |
|
} |
3845 |
1 |
template <> void Options::assign( |
3846 |
|
options::cegqiSingleInvReconstructLimit__option_t, |
3847 |
|
std::string option, |
3848 |
|
std::string optionarg) |
3849 |
|
{ |
3850 |
1 |
auto parsedval = handleOption<int>(option, optionarg); |
3851 |
|
|
3852 |
1 |
quantifiers().cegqiSingleInvReconstructLimit = parsedval; |
3853 |
1 |
quantifiers().cegqiSingleInvReconstructLimit__setByUser__ = true; |
3854 |
1 |
Trace("options") << "user assigned option cegqiSingleInvReconstructLimit" << std::endl; |
3855 |
1 |
} |
3856 |
|
template <> void Options::assign( |
3857 |
|
options::cegqiSingleInvReconstruct__option_t, |
3858 |
|
std::string option, |
3859 |
|
std::string optionarg) |
3860 |
|
{ |
3861 |
|
auto parsedval = stringToCegqiSingleInvRconsMode(optionarg); |
3862 |
|
|
3863 |
|
quantifiers().cegqiSingleInvReconstruct = parsedval; |
3864 |
|
quantifiers().cegqiSingleInvReconstruct__setByUser__ = true; |
3865 |
|
Trace("options") << "user assigned option cegqiSingleInvReconstruct" << std::endl; |
3866 |
|
} |
3867 |
|
template <> void Options::assignBool( |
3868 |
|
options::cegqiSingleInvReconstructConst__option_t, |
3869 |
|
std::string option, |
3870 |
|
bool value) |
3871 |
|
{ |
3872 |
|
|
3873 |
|
quantifiers().cegqiSingleInvReconstructConst = value; |
3874 |
|
quantifiers().cegqiSingleInvReconstructConst__setByUser__ = true; |
3875 |
|
Trace("options") << "user assigned option cegqiSingleInvReconstructConst" << std::endl; |
3876 |
|
} |
3877 |
47 |
template <> void Options::assign( |
3878 |
|
options::cegqiSingleInvMode__option_t, |
3879 |
|
std::string option, |
3880 |
|
std::string optionarg) |
3881 |
|
{ |
3882 |
47 |
auto parsedval = stringToCegqiSingleInvMode(optionarg); |
3883 |
|
|
3884 |
47 |
quantifiers().cegqiSingleInvMode = parsedval; |
3885 |
47 |
quantifiers().cegqiSingleInvMode__setByUser__ = true; |
3886 |
47 |
Trace("options") << "user assigned option cegqiSingleInvMode" << std::endl; |
3887 |
47 |
} |
3888 |
4 |
template <> void Options::assignBool( |
3889 |
|
options::sygusStream__option_t, |
3890 |
|
std::string option, |
3891 |
|
bool value) |
3892 |
|
{ |
3893 |
|
|
3894 |
4 |
quantifiers().sygusStream = value; |
3895 |
4 |
quantifiers().sygusStream__setByUser__ = true; |
3896 |
4 |
Trace("options") << "user assigned option sygusStream" << std::endl; |
3897 |
4 |
} |
3898 |
|
template <> void Options::assignBool( |
3899 |
|
options::sygusTemplEmbedGrammar__option_t, |
3900 |
|
std::string option, |
3901 |
|
bool value) |
3902 |
|
{ |
3903 |
|
|
3904 |
|
quantifiers().sygusTemplEmbedGrammar = value; |
3905 |
|
quantifiers().sygusTemplEmbedGrammar__setByUser__ = true; |
3906 |
|
Trace("options") << "user assigned option sygusTemplEmbedGrammar" << std::endl; |
3907 |
|
} |
3908 |
|
template <> void Options::assignBool( |
3909 |
|
options::sygusUnifCondIndNoRepeatSol__option_t, |
3910 |
|
std::string option, |
3911 |
|
bool value) |
3912 |
|
{ |
3913 |
|
|
3914 |
|
quantifiers().sygusUnifCondIndNoRepeatSol = value; |
3915 |
|
quantifiers().sygusUnifCondIndNoRepeatSol__setByUser__ = true; |
3916 |
|
Trace("options") << "user assigned option sygusUnifCondIndNoRepeatSol" << std::endl; |
3917 |
|
} |
3918 |
8 |
template <> void Options::assign( |
3919 |
|
options::sygusUnifPi__option_t, |
3920 |
|
std::string option, |
3921 |
|
std::string optionarg) |
3922 |
|
{ |
3923 |
8 |
auto parsedval = stringToSygusUnifPiMode(optionarg); |
3924 |
|
|
3925 |
8 |
quantifiers().sygusUnifPi = parsedval; |
3926 |
8 |
quantifiers().sygusUnifPi__setByUser__ = true; |
3927 |
8 |
Trace("options") << "user assigned option sygusUnifPi" << std::endl; |
3928 |
8 |
} |
3929 |
|
template <> void Options::assignBool( |
3930 |
|
options::sygusUnifShuffleCond__option_t, |
3931 |
|
std::string option, |
3932 |
|
bool value) |
3933 |
|
{ |
3934 |
|
|
3935 |
|
quantifiers().sygusUnifShuffleCond = value; |
3936 |
|
quantifiers().sygusUnifShuffleCond__setByUser__ = true; |
3937 |
|
Trace("options") << "user assigned option sygusUnifShuffleCond" << std::endl; |
3938 |
|
} |
3939 |
|
template <> void Options::assignBool( |
3940 |
|
options::termDbCd__option_t, |
3941 |
|
std::string option, |
3942 |
|
bool value) |
3943 |
|
{ |
3944 |
|
|
3945 |
|
quantifiers().termDbCd = value; |
3946 |
|
quantifiers().termDbCd__setByUser__ = true; |
3947 |
|
Trace("options") << "user assigned option termDbCd" << std::endl; |
3948 |
|
} |
3949 |
|
template <> void Options::assign( |
3950 |
|
options::termDbMode__option_t, |
3951 |
|
std::string option, |
3952 |
|
std::string optionarg) |
3953 |
|
{ |
3954 |
|
auto parsedval = stringToTermDbMode(optionarg); |
3955 |
|
|
3956 |
|
quantifiers().termDbMode = parsedval; |
3957 |
|
quantifiers().termDbMode__setByUser__ = true; |
3958 |
|
Trace("options") << "user assigned option termDbMode" << std::endl; |
3959 |
|
} |
3960 |
|
template <> void Options::assign( |
3961 |
|
options::triggerActiveSelMode__option_t, |
3962 |
|
std::string option, |
3963 |
|
std::string optionarg) |
3964 |
|
{ |
3965 |
|
auto parsedval = stringToTriggerActiveSelMode(optionarg); |
3966 |
|
|
3967 |
|
quantifiers().triggerActiveSelMode = parsedval; |
3968 |
|
quantifiers().triggerActiveSelMode__setByUser__ = true; |
3969 |
|
Trace("options") << "user assigned option triggerActiveSelMode" << std::endl; |
3970 |
|
} |
3971 |
|
template <> void Options::assign( |
3972 |
|
options::triggerSelMode__option_t, |
3973 |
|
std::string option, |
3974 |
|
std::string optionarg) |
3975 |
|
{ |
3976 |
|
auto parsedval = stringToTriggerSelMode(optionarg); |
3977 |
|
|
3978 |
|
quantifiers().triggerSelMode = parsedval; |
3979 |
|
quantifiers().triggerSelMode__setByUser__ = true; |
3980 |
|
Trace("options") << "user assigned option triggerSelMode" << std::endl; |
3981 |
|
} |
3982 |
|
template <> void Options::assign( |
3983 |
|
options::userPatternsQuant__option_t, |
3984 |
|
std::string option, |
3985 |
|
std::string optionarg) |
3986 |
|
{ |
3987 |
|
auto parsedval = stringToUserPatMode(optionarg); |
3988 |
|
|
3989 |
|
quantifiers().userPatternsQuant = parsedval; |
3990 |
|
quantifiers().userPatternsQuant__setByUser__ = true; |
3991 |
|
Trace("options") << "user assigned option userPatternsQuant" << std::endl; |
3992 |
|
} |
3993 |
|
template <> void Options::assignBool( |
3994 |
|
options::varElimQuant__option_t, |
3995 |
|
std::string option, |
3996 |
|
bool value) |
3997 |
|
{ |
3998 |
|
|
3999 |
|
quantifiers().varElimQuant = value; |
4000 |
|
quantifiers().varElimQuant__setByUser__ = true; |
4001 |
|
Trace("options") << "user assigned option varElimQuant" << std::endl; |
4002 |
|
} |
4003 |
8 |
template <> void Options::assignBool( |
4004 |
|
options::varIneqElimQuant__option_t, |
4005 |
|
std::string option, |
4006 |
|
bool value) |
4007 |
|
{ |
4008 |
|
|
4009 |
8 |
quantifiers().varIneqElimQuant = value; |
4010 |
8 |
quantifiers().varIneqElimQuant__setByUser__ = true; |
4011 |
8 |
Trace("options") << "user assigned option varIneqElimQuant" << std::endl; |
4012 |
8 |
} |
4013 |
|
template <> void Options::assign( |
4014 |
|
options::perCallResourceLimit__option_t, |
4015 |
|
std::string option, |
4016 |
|
std::string optionarg) |
4017 |
|
{ |
4018 |
|
auto parsedval = handleOption<uint64_t>(option, optionarg); |
4019 |
|
|
4020 |
|
resman().perCallResourceLimit = parsedval; |
4021 |
|
resman().perCallResourceLimit__setByUser__ = true; |
4022 |
|
Trace("options") << "user assigned option perCallResourceLimit" << std::endl; |
4023 |
|
} |
4024 |
|
template <> void Options::assign( |
4025 |
|
options::cumulativeResourceLimit__option_t, |
4026 |
|
std::string option, |
4027 |
|
std::string optionarg) |
4028 |
|
{ |
4029 |
|
auto parsedval = handleOption<uint64_t>(option, optionarg); |
4030 |
|
|
4031 |
|
resman().cumulativeResourceLimit = parsedval; |
4032 |
|
resman().cumulativeResourceLimit__setByUser__ = true; |
4033 |
|
Trace("options") << "user assigned option cumulativeResourceLimit" << std::endl; |
4034 |
|
} |
4035 |
6 |
template <> void Options::assign( |
4036 |
|
options::perCallMillisecondLimit__option_t, |
4037 |
|
std::string option, |
4038 |
|
std::string optionarg) |
4039 |
|
{ |
4040 |
6 |
auto parsedval = handleOption<uint64_t>(option, optionarg); |
4041 |
|
|
4042 |
6 |
resman().perCallMillisecondLimit = parsedval; |
4043 |
6 |
resman().perCallMillisecondLimit__setByUser__ = true; |
4044 |
6 |
Trace("options") << "user assigned option perCallMillisecondLimit" << std::endl; |
4045 |
6 |
} |
4046 |
|
template <> void Options::assign( |
4047 |
|
options::cumulativeMillisecondLimit__option_t, |
4048 |
|
std::string option, |
4049 |
|
std::string optionarg) |
4050 |
|
{ |
4051 |
|
auto parsedval = handleOption<uint64_t>(option, optionarg); |
4052 |
|
|
4053 |
|
resman().cumulativeMillisecondLimit = parsedval; |
4054 |
|
resman().cumulativeMillisecondLimit__setByUser__ = true; |
4055 |
|
Trace("options") << "user assigned option cumulativeMillisecondLimit" << std::endl; |
4056 |
|
} |
4057 |
|
template <> void Options::assignBool( |
4058 |
|
options::sepCheckNeg__option_t, |
4059 |
|
std::string option, |
4060 |
|
bool value) |
4061 |
|
{ |
4062 |
|
|
4063 |
|
sep().sepCheckNeg = value; |
4064 |
|
sep().sepCheckNeg__setByUser__ = true; |
4065 |
|
Trace("options") << "user assigned option sepCheckNeg" << std::endl; |
4066 |
|
} |
4067 |
|
template <> void Options::assignBool( |
4068 |
|
options::sepChildRefine__option_t, |
4069 |
|
std::string option, |
4070 |
|
bool value) |
4071 |
|
{ |
4072 |
|
|
4073 |
|
sep().sepChildRefine = value; |
4074 |
|
sep().sepChildRefine__setByUser__ = true; |
4075 |
|
Trace("options") << "user assigned option sepChildRefine" << std::endl; |
4076 |
|
} |
4077 |
|
template <> void Options::assignBool( |
4078 |
|
options::sepDisequalC__option_t, |
4079 |
|
std::string option, |
4080 |
|
bool value) |
4081 |
|
{ |
4082 |
|
|
4083 |
|
sep().sepDisequalC = value; |
4084 |
|
sep().sepDisequalC__setByUser__ = true; |
4085 |
|
Trace("options") << "user assigned option sepDisequalC" << std::endl; |
4086 |
|
} |
4087 |
|
template <> void Options::assignBool( |
4088 |
|
options::sepExp__option_t, |
4089 |
|
std::string option, |
4090 |
|
bool value) |
4091 |
|
{ |
4092 |
|
|
4093 |
|
sep().sepExp = value; |
4094 |
|
sep().sepExp__setByUser__ = true; |
4095 |
|
Trace("options") << "user assigned option sepExp" << std::endl; |
4096 |
|
} |
4097 |
|
template <> void Options::assignBool( |
4098 |
|
options::sepMinimalRefine__option_t, |
4099 |
|
std::string option, |
4100 |
|
bool value) |
4101 |
|
{ |
4102 |
|
|
4103 |
|
sep().sepMinimalRefine = value; |
4104 |
|
sep().sepMinimalRefine__setByUser__ = true; |
4105 |
|
Trace("options") << "user assigned option sepMinimalRefine" << std::endl; |
4106 |
|
} |
4107 |
1 |
template <> void Options::assignBool( |
4108 |
|
options::sepPreSkolemEmp__option_t, |
4109 |
|
std::string option, |
4110 |
|
bool value) |
4111 |
|
{ |
4112 |
|
|
4113 |
1 |
sep().sepPreSkolemEmp = value; |
4114 |
1 |
sep().sepPreSkolemEmp__setByUser__ = true; |
4115 |
1 |
Trace("options") << "user assigned option sepPreSkolemEmp" << std::endl; |
4116 |
1 |
} |
4117 |
116 |
template <> void Options::assignBool( |
4118 |
|
options::setsExt__option_t, |
4119 |
|
std::string option, |
4120 |
|
bool value) |
4121 |
|
{ |
4122 |
|
|
4123 |
116 |
sets().setsExt = value; |
4124 |
116 |
sets().setsExt__setByUser__ = true; |
4125 |
116 |
Trace("options") << "user assigned option setsExt" << std::endl; |
4126 |
116 |
} |
4127 |
2 |
template <> void Options::assignBool( |
4128 |
|
options::setsInferAsLemmas__option_t, |
4129 |
|
std::string option, |
4130 |
|
bool value) |
4131 |
|
{ |
4132 |
|
|
4133 |
2 |
sets().setsInferAsLemmas = value; |
4134 |
2 |
sets().setsInferAsLemmas__setByUser__ = true; |
4135 |
2 |
Trace("options") << "user assigned option setsInferAsLemmas" << std::endl; |
4136 |
2 |
} |
4137 |
|
template <> void Options::assignBool( |
4138 |
|
options::setsProxyLemmas__option_t, |
4139 |
|
std::string option, |
4140 |
|
bool value) |
4141 |
|
{ |
4142 |
|
|
4143 |
|
sets().setsProxyLemmas = value; |
4144 |
|
sets().setsProxyLemmas__setByUser__ = true; |
4145 |
|
Trace("options") << "user assigned option setsProxyLemmas" << std::endl; |
4146 |
|
} |
4147 |
4 |
template <> void Options::assignBool( |
4148 |
|
options::abstractValues__option_t, |
4149 |
|
std::string option, |
4150 |
|
bool value) |
4151 |
|
{ |
4152 |
|
|
4153 |
4 |
smt().abstractValues = value; |
4154 |
4 |
smt().abstractValues__setByUser__ = true; |
4155 |
4 |
Trace("options") << "user assigned option abstractValues" << std::endl; |
4156 |
4 |
} |
4157 |
24 |
template <> void Options::assignBool( |
4158 |
|
options::ackermann__option_t, |
4159 |
|
std::string option, |
4160 |
|
bool value) |
4161 |
|
{ |
4162 |
|
|
4163 |
24 |
smt().ackermann = value; |
4164 |
24 |
smt().ackermann__setByUser__ = true; |
4165 |
24 |
Trace("options") << "user assigned option ackermann" << std::endl; |
4166 |
24 |
} |
4167 |
20 |
template <> void Options::assign( |
4168 |
|
options::blockModelsMode__option_t, |
4169 |
|
std::string option, |
4170 |
|
std::string optionarg) |
4171 |
|
{ |
4172 |
20 |
auto parsedval = stringToBlockModelsMode(optionarg); |
4173 |
|
|
4174 |
20 |
smt().blockModelsMode = parsedval; |
4175 |
20 |
smt().blockModelsMode__setByUser__ = true; |
4176 |
20 |
Trace("options") << "user assigned option blockModelsMode" << std::endl; |
4177 |
20 |
} |
4178 |
73 |
template <> void Options::assign( |
4179 |
|
options::BVAndIntegerGranularity__option_t, |
4180 |
|
std::string option, |
4181 |
|
std::string optionarg) |
4182 |
|
{ |
4183 |
73 |
auto parsedval = handleOption<uint32_t>(option, optionarg); |
4184 |
|
|
4185 |
73 |
smt().BVAndIntegerGranularity = parsedval; |
4186 |
73 |
smt().BVAndIntegerGranularity__setByUser__ = true; |
4187 |
73 |
Trace("options") << "user assigned option BVAndIntegerGranularity" << std::endl; |
4188 |
73 |
} |
4189 |
12 |
template <> void Options::assignBool( |
4190 |
|
options::checkAbducts__option_t, |
4191 |
|
std::string option, |
4192 |
|
bool value) |
4193 |
|
{ |
4194 |
|
|
4195 |
12 |
smt().checkAbducts = value; |
4196 |
12 |
smt().checkAbducts__setByUser__ = true; |
4197 |
12 |
Trace("options") << "user assigned option checkAbducts" << std::endl; |
4198 |
12 |
} |
4199 |
8 |
template <> void Options::assignBool( |
4200 |
|
options::checkInterpols__option_t, |
4201 |
|
std::string option, |
4202 |
|
bool value) |
4203 |
|
{ |
4204 |
|
|
4205 |
8 |
smt().checkInterpols = value; |
4206 |
8 |
smt().checkInterpols__setByUser__ = true; |
4207 |
8 |
Trace("options") << "user assigned option checkInterpols" << std::endl; |
4208 |
8 |
} |
4209 |
102 |
template <> void Options::assignBool( |
4210 |
|
options::checkModels__option_t, |
4211 |
|
std::string option, |
4212 |
|
bool value) |
4213 |
|
{ |
4214 |
|
|
4215 |
102 |
smt().checkModels = value; |
4216 |
102 |
smt().checkModels__setByUser__ = true; |
4217 |
102 |
Trace("options") << "user assigned option checkModels" << std::endl; |
4218 |
102 |
} |
4219 |
1109 |
template <> void Options::assignBool( |
4220 |
|
options::checkProofs__option_t, |
4221 |
|
std::string option, |
4222 |
|
bool value) |
4223 |
|
{ |
4224 |
|
|
4225 |
1109 |
smt().checkProofs = value; |
4226 |
1109 |
smt().checkProofs__setByUser__ = true; |
4227 |
1109 |
Trace("options") << "user assigned option checkProofs" << std::endl; |
4228 |
1109 |
} |
4229 |
185 |
template <> void Options::assignBool( |
4230 |
|
options::checkSynthSol__option_t, |
4231 |
|
std::string option, |
4232 |
|
bool value) |
4233 |
|
{ |
4234 |
|
|
4235 |
185 |
smt().checkSynthSol = value; |
4236 |
185 |
smt().checkSynthSol__setByUser__ = true; |
4237 |
185 |
Trace("options") << "user assigned option checkSynthSol" << std::endl; |
4238 |
185 |
} |
4239 |
1059 |
template <> void Options::assignBool( |
4240 |
|
options::checkUnsatCores__option_t, |
4241 |
|
std::string option, |
4242 |
|
bool value) |
4243 |
|
{ |
4244 |
|
|
4245 |
1059 |
smt().checkUnsatCores = value; |
4246 |
1059 |
smt().checkUnsatCores__setByUser__ = true; |
4247 |
1059 |
Trace("options") << "user assigned option checkUnsatCores" << std::endl; |
4248 |
1059 |
} |
4249 |
1169 |
template <> void Options::assignBool( |
4250 |
|
options::debugCheckModels__option_t, |
4251 |
|
std::string option, |
4252 |
|
bool value) |
4253 |
|
{ |
4254 |
|
|
4255 |
1169 |
smt().debugCheckModels = value; |
4256 |
1169 |
smt().debugCheckModels__setByUser__ = true; |
4257 |
1169 |
Trace("options") << "user assigned option debugCheckModels" << std::endl; |
4258 |
1169 |
} |
4259 |
|
template <> void Options::assign( |
4260 |
|
options::diagnosticChannelName__option_t, |
4261 |
|
std::string option, |
4262 |
|
std::string optionarg) |
4263 |
|
{ |
4264 |
|
auto parsedval = handleOption<std::string>(option, optionarg); |
4265 |
|
|
4266 |
|
smt().diagnosticChannelName = parsedval; |
4267 |
|
smt().diagnosticChannelName__setByUser__ = true; |
4268 |
|
Trace("options") << "user assigned option diagnosticChannelName" << std::endl; |
4269 |
|
} |
4270 |
10 |
template <> void Options::assignBool( |
4271 |
|
options::dumpInstantiations__option_t, |
4272 |
|
std::string option, |
4273 |
|
bool value) |
4274 |
|
{ |
4275 |
|
|
4276 |
10 |
smt().dumpInstantiations = value; |
4277 |
10 |
smt().dumpInstantiations__setByUser__ = true; |
4278 |
10 |
Trace("options") << "user assigned option dumpInstantiations" << std::endl; |
4279 |
10 |
} |
4280 |
6 |
template <> void Options::assignBool( |
4281 |
|
options::dumpModels__option_t, |
4282 |
|
std::string option, |
4283 |
|
bool value) |
4284 |
|
{ |
4285 |
|
|
4286 |
6 |
smt().dumpModels = value; |
4287 |
6 |
smt().dumpModels__setByUser__ = true; |
4288 |
6 |
Trace("options") << "user assigned option dumpModels" << std::endl; |
4289 |
6 |
} |
4290 |
|
template <> void Options::assignBool( |
4291 |
|
options::dumpProofs__option_t, |
4292 |
|
std::string option, |
4293 |
|
bool value) |
4294 |
|
{ |
4295 |
|
|
4296 |
|
smt().dumpProofs = value; |
4297 |
|
smt().dumpProofs__setByUser__ = true; |
4298 |
|
Trace("options") << "user assigned option dumpProofs" << std::endl; |
4299 |
|
} |
4300 |
|
template <> void Options::assign( |
4301 |
|
options::dumpToFileName__option_t, |
4302 |
|
std::string option, |
4303 |
|
std::string optionarg) |
4304 |
|
{ |
4305 |
|
auto parsedval = handleOption<std::string>(option, optionarg); |
4306 |
|
|
4307 |
|
smt().dumpToFileName = parsedval; |
4308 |
|
smt().dumpToFileName__setByUser__ = true; |
4309 |
|
Trace("options") << "user assigned option dumpToFileName" << std::endl; |
4310 |
|
} |
4311 |
|
template <> void Options::assignBool( |
4312 |
|
options::dumpUnsatCores__option_t, |
4313 |
|
std::string option, |
4314 |
|
bool value) |
4315 |
|
{ |
4316 |
|
|
4317 |
|
smt().dumpUnsatCores = value; |
4318 |
|
smt().dumpUnsatCores__setByUser__ = true; |
4319 |
|
Trace("options") << "user assigned option dumpUnsatCores" << std::endl; |
4320 |
|
} |
4321 |
3 |
template <> void Options::assignBool( |
4322 |
|
options::dumpUnsatCoresFull__option_t, |
4323 |
|
std::string option, |
4324 |
|
bool value) |
4325 |
|
{ |
4326 |
|
|
4327 |
3 |
smt().dumpUnsatCoresFull = value; |
4328 |
3 |
smt().dumpUnsatCoresFull__setByUser__ = true; |
4329 |
3 |
Trace("options") << "user assigned option dumpUnsatCoresFull" << std::endl; |
4330 |
3 |
} |
4331 |
3 |
template <> void Options::assign( |
4332 |
|
options::dumpModeString__option_t, |
4333 |
|
std::string option, |
4334 |
|
std::string optionarg) |
4335 |
|
{ |
4336 |
6 |
auto parsedval = handleOption<std::string>(option, optionarg); |
4337 |
|
|
4338 |
3 |
smt().dumpModeString = parsedval; |
4339 |
3 |
smt().dumpModeString__setByUser__ = true; |
4340 |
3 |
Trace("options") << "user assigned option dumpModeString" << std::endl; |
4341 |
3 |
} |
4342 |
|
template <> void Options::assignBool( |
4343 |
|
options::earlyIteRemoval__option_t, |
4344 |
|
std::string option, |
4345 |
|
bool value) |
4346 |
|
{ |
4347 |
|
|
4348 |
|
smt().earlyIteRemoval = value; |
4349 |
|
smt().earlyIteRemoval__setByUser__ = true; |
4350 |
|
Trace("options") << "user assigned option earlyIteRemoval" << std::endl; |
4351 |
|
} |
4352 |
|
template <> void Options::assignBool( |
4353 |
|
options::expandDefinitions__option_t, |
4354 |
|
std::string option, |
4355 |
|
bool value) |
4356 |
|
{ |
4357 |
|
|
4358 |
|
smt().expandDefinitions = value; |
4359 |
|
smt().expandDefinitions__setByUser__ = true; |
4360 |
|
Trace("options") << "user assigned option expandDefinitions" << std::endl; |
4361 |
|
} |
4362 |
19 |
template <> void Options::assignBool( |
4363 |
|
options::extRewPrep__option_t, |
4364 |
|
std::string option, |
4365 |
|
bool value) |
4366 |
|
{ |
4367 |
|
|
4368 |
19 |
smt().extRewPrep = value; |
4369 |
19 |
smt().extRewPrep__setByUser__ = true; |
4370 |
19 |
Trace("options") << "user assigned option extRewPrep" << std::endl; |
4371 |
19 |
} |
4372 |
7 |
template <> void Options::assignBool( |
4373 |
|
options::extRewPrepAgg__option_t, |
4374 |
|
std::string option, |
4375 |
|
bool value) |
4376 |
|
{ |
4377 |
|
|
4378 |
7 |
smt().extRewPrepAgg = value; |
4379 |
7 |
smt().extRewPrepAgg__setByUser__ = true; |
4380 |
7 |
Trace("options") << "user assigned option extRewPrepAgg" << std::endl; |
4381 |
7 |
} |
4382 |
|
template <> void Options::assignBool( |
4383 |
|
options::forceNoLimitCpuWhileDump__option_t, |
4384 |
|
std::string option, |
4385 |
|
bool value) |
4386 |
|
{ |
4387 |
|
|
4388 |
|
smt().forceNoLimitCpuWhileDump = value; |
4389 |
|
smt().forceNoLimitCpuWhileDump__setByUser__ = true; |
4390 |
|
Trace("options") << "user assigned option forceNoLimitCpuWhileDump" << std::endl; |
4391 |
|
} |
4392 |
2 |
template <> void Options::assignBool( |
4393 |
|
options::foreignTheoryRewrite__option_t, |
4394 |
|
std::string option, |
4395 |
|
bool value) |
4396 |
|
{ |
4397 |
|
|
4398 |
2 |
smt().foreignTheoryRewrite = value; |
4399 |
2 |
smt().foreignTheoryRewrite__setByUser__ = true; |
4400 |
2 |
Trace("options") << "user assigned option foreignTheoryRewrite" << std::endl; |
4401 |
2 |
} |
4402 |
64 |
template <> void Options::assign( |
4403 |
|
options::iandMode__option_t, |
4404 |
|
std::string option, |
4405 |
|
std::string optionarg) |
4406 |
|
{ |
4407 |
64 |
auto parsedval = stringToIandMode(optionarg); |
4408 |
|
|
4409 |
64 |
smt().iandMode = parsedval; |
4410 |
64 |
smt().iandMode__setByUser__ = true; |
4411 |
64 |
Trace("options") << "user assigned option iandMode" << std::endl; |
4412 |
64 |
} |
4413 |
6858 |
template <> void Options::assignBool( |
4414 |
|
options::incrementalSolving__option_t, |
4415 |
|
std::string option, |
4416 |
|
bool value) |
4417 |
|
{ |
4418 |
|
|
4419 |
6858 |
smt().incrementalSolving = value; |
4420 |
6858 |
smt().incrementalSolving__setByUser__ = true; |
4421 |
6858 |
Trace("options") << "user assigned option incrementalSolving" << std::endl; |
4422 |
6858 |
} |
4423 |
2 |
template <> void Options::assignBool( |
4424 |
|
options::interactiveMode__option_t, |
4425 |
|
std::string option, |
4426 |
|
bool value) |
4427 |
|
{ |
4428 |
2 |
d_handler->setProduceAssertions(option, value); |
4429 |
2 |
smt().interactiveMode = value; |
4430 |
2 |
smt().interactiveMode__setByUser__ = true; |
4431 |
2 |
Trace("options") << "user assigned option interactiveMode" << std::endl; |
4432 |
2 |
} |
4433 |
2 |
template <> void Options::assignBool( |
4434 |
|
options::doITESimp__option_t, |
4435 |
|
std::string option, |
4436 |
|
bool value) |
4437 |
|
{ |
4438 |
|
|
4439 |
2 |
smt().doITESimp = value; |
4440 |
2 |
smt().doITESimp__setByUser__ = true; |
4441 |
2 |
Trace("options") << "user assigned option doITESimp" << std::endl; |
4442 |
2 |
} |
4443 |
6 |
template <> void Options::assign( |
4444 |
|
options::modelCoresMode__option_t, |
4445 |
|
std::string option, |
4446 |
|
std::string optionarg) |
4447 |
|
{ |
4448 |
6 |
auto parsedval = stringToModelCoresMode(optionarg); |
4449 |
|
|
4450 |
6 |
smt().modelCoresMode = parsedval; |
4451 |
6 |
smt().modelCoresMode__setByUser__ = true; |
4452 |
6 |
Trace("options") << "user assigned option modelCoresMode" << std::endl; |
4453 |
6 |
} |
4454 |
1 |
template <> void Options::assign( |
4455 |
|
options::modelUninterpPrint__option_t, |
4456 |
|
std::string option, |
4457 |
|
std::string optionarg) |
4458 |
|
{ |
4459 |
1 |
auto parsedval = stringToModelUninterpPrintMode(optionarg); |
4460 |
|
|
4461 |
1 |
smt().modelUninterpPrint = parsedval; |
4462 |
1 |
smt().modelUninterpPrint__setByUser__ = true; |
4463 |
1 |
Trace("options") << "user assigned option modelUninterpPrint" << std::endl; |
4464 |
1 |
} |
4465 |
1 |
template <> void Options::assignBool( |
4466 |
|
options::modelWitnessValue__option_t, |
4467 |
|
std::string option, |
4468 |
|
bool value) |
4469 |
|
{ |
4470 |
|
|
4471 |
1 |
smt().modelWitnessValue = value; |
4472 |
1 |
smt().modelWitnessValue__setByUser__ = true; |
4473 |
1 |
Trace("options") << "user assigned option modelWitnessValue" << std::endl; |
4474 |
1 |
} |
4475 |
|
template <> void Options::assignBool( |
4476 |
|
options::doITESimpOnRepeat__option_t, |
4477 |
|
std::string option, |
4478 |
|
bool value) |
4479 |
|
{ |
4480 |
|
|
4481 |
|
smt().doITESimpOnRepeat = value; |
4482 |
|
smt().doITESimpOnRepeat__setByUser__ = true; |
4483 |
|
Trace("options") << "user assigned option doITESimpOnRepeat" << std::endl; |
4484 |
|
} |
4485 |
20 |
template <> void Options::assignBool( |
4486 |
|
options::produceAbducts__option_t, |
4487 |
|
std::string option, |
4488 |
|
bool value) |
4489 |
|
{ |
4490 |
|
|
4491 |
20 |
smt().produceAbducts = value; |
4492 |
20 |
smt().produceAbducts__setByUser__ = true; |
4493 |
20 |
Trace("options") << "user assigned option produceAbducts" << std::endl; |
4494 |
20 |
} |
4495 |
18 |
template <> void Options::assignBool( |
4496 |
|
options::produceAssertions__option_t, |
4497 |
|
std::string option, |
4498 |
|
bool value) |
4499 |
|
{ |
4500 |
18 |
d_handler->setProduceAssertions(option, value); |
4501 |
18 |
smt().produceAssertions = value; |
4502 |
18 |
smt().produceAssertions__setByUser__ = true; |
4503 |
18 |
Trace("options") << "user assigned option produceAssertions" << std::endl; |
4504 |
18 |
} |
4505 |
4 |
template <> void Options::assignBool( |
4506 |
|
options::produceAssignments__option_t, |
4507 |
|
std::string option, |
4508 |
|
bool value) |
4509 |
|
{ |
4510 |
|
|
4511 |
4 |
smt().produceAssignments = value; |
4512 |
4 |
smt().produceAssignments__setByUser__ = true; |
4513 |
4 |
Trace("options") << "user assigned option produceAssignments" << std::endl; |
4514 |
4 |
} |
4515 |
11 |
template <> void Options::assign( |
4516 |
|
options::produceInterpols__option_t, |
4517 |
|
std::string option, |
4518 |
|
std::string optionarg) |
4519 |
|
{ |
4520 |
11 |
auto parsedval = stringToProduceInterpols(optionarg); |
4521 |
|
|
4522 |
11 |
smt().produceInterpols = parsedval; |
4523 |
11 |
smt().produceInterpols__setByUser__ = true; |
4524 |
11 |
Trace("options") << "user assigned option produceInterpols" << std::endl; |
4525 |
11 |
} |
4526 |
782 |
template <> void Options::assignBool( |
4527 |
|
options::produceModels__option_t, |
4528 |
|
std::string option, |
4529 |
|
bool value) |
4530 |
|
{ |
4531 |
|
|
4532 |
782 |
smt().produceModels = value; |
4533 |
782 |
smt().produceModels__setByUser__ = true; |
4534 |
782 |
Trace("options") << "user assigned option produceModels" << std::endl; |
4535 |
782 |
} |
4536 |
20 |
template <> void Options::assignBool( |
4537 |
|
options::produceProofs__option_t, |
4538 |
|
std::string option, |
4539 |
|
bool value) |
4540 |
|
{ |
4541 |
|
|
4542 |
20 |
smt().produceProofs = value; |
4543 |
20 |
smt().produceProofs__setByUser__ = true; |
4544 |
20 |
Trace("options") << "user assigned option produceProofs" << std::endl; |
4545 |
20 |
} |
4546 |
13 |
template <> void Options::assignBool( |
4547 |
|
options::unsatAssumptions__option_t, |
4548 |
|
std::string option, |
4549 |
|
bool value) |
4550 |
|
{ |
4551 |
|
|
4552 |
13 |
smt().unsatAssumptions = value; |
4553 |
13 |
smt().unsatAssumptions__setByUser__ = true; |
4554 |
13 |
Trace("options") << "user assigned option unsatAssumptions" << std::endl; |
4555 |
13 |
} |
4556 |
21 |
template <> void Options::assignBool( |
4557 |
|
options::unsatCores__option_t, |
4558 |
|
std::string option, |
4559 |
|
bool value) |
4560 |
|
{ |
4561 |
|
|
4562 |
21 |
smt().unsatCores = value; |
4563 |
21 |
smt().unsatCores__setByUser__ = true; |
4564 |
21 |
Trace("options") << "user assigned option unsatCores" << std::endl; |
4565 |
21 |
} |
4566 |
|
template <> void Options::assign( |
4567 |
|
options::regularChannelName__option_t, |
4568 |
|
std::string option, |
4569 |
|
std::string optionarg) |
4570 |
|
{ |
4571 |
|
auto parsedval = handleOption<std::string>(option, optionarg); |
4572 |
|
|
4573 |
|
smt().regularChannelName = parsedval; |
4574 |
|
smt().regularChannelName__setByUser__ = true; |
4575 |
|
Trace("options") << "user assigned option regularChannelName" << std::endl; |
4576 |
|
} |
4577 |
2 |
template <> void Options::assignBool( |
4578 |
|
options::repeatSimp__option_t, |
4579 |
|
std::string option, |
4580 |
|
bool value) |
4581 |
|
{ |
4582 |
|
|
4583 |
2 |
smt().repeatSimp = value; |
4584 |
2 |
smt().repeatSimp__setByUser__ = true; |
4585 |
2 |
Trace("options") << "user assigned option repeatSimp" << std::endl; |
4586 |
2 |
} |
4587 |
2 |
template <> void Options::assignBool( |
4588 |
|
options::compressItes__option_t, |
4589 |
|
std::string option, |
4590 |
|
bool value) |
4591 |
|
{ |
4592 |
|
|
4593 |
2 |
smt().compressItes = value; |
4594 |
2 |
smt().compressItes__setByUser__ = true; |
4595 |
2 |
Trace("options") << "user assigned option compressItes" << std::endl; |
4596 |
2 |
} |
4597 |
|
template <> void Options::assign( |
4598 |
|
options::zombieHuntThreshold__option_t, |
4599 |
|
std::string option, |
4600 |
|
std::string optionarg) |
4601 |
|
{ |
4602 |
|
auto parsedval = handleOption<uint32_t>(option, optionarg); |
4603 |
|
|
4604 |
|
smt().zombieHuntThreshold = parsedval; |
4605 |
|
smt().zombieHuntThreshold__setByUser__ = true; |
4606 |
|
Trace("options") << "user assigned option zombieHuntThreshold" << std::endl; |
4607 |
|
} |
4608 |
|
template <> void Options::assignBool( |
4609 |
|
options::simplifyWithCareEnabled__option_t, |
4610 |
|
std::string option, |
4611 |
|
bool value) |
4612 |
|
{ |
4613 |
|
|
4614 |
|
smt().simplifyWithCareEnabled = value; |
4615 |
|
smt().simplifyWithCareEnabled__setByUser__ = true; |
4616 |
|
Trace("options") << "user assigned option simplifyWithCareEnabled" << std::endl; |
4617 |
|
} |
4618 |
30 |
template <> void Options::assign( |
4619 |
|
options::simplificationMode__option_t, |
4620 |
|
std::string option, |
4621 |
|
std::string optionarg) |
4622 |
|
{ |
4623 |
30 |
auto parsedval = stringToSimplificationMode(optionarg); |
4624 |
|
|
4625 |
30 |
smt().simplificationMode = parsedval; |
4626 |
30 |
smt().simplificationMode__setByUser__ = true; |
4627 |
30 |
Trace("options") << "user assigned option simplificationMode" << std::endl; |
4628 |
30 |
} |
4629 |
116 |
template <> void Options::assign( |
4630 |
|
options::solveBVAsInt__option_t, |
4631 |
|
std::string option, |
4632 |
|
std::string optionarg) |
4633 |
|
{ |
4634 |
116 |
auto parsedval = stringToSolveBVAsIntMode(optionarg); |
4635 |
|
|
4636 |
116 |
smt().solveBVAsInt = parsedval; |
4637 |
116 |
smt().solveBVAsInt__setByUser__ = true; |
4638 |
116 |
Trace("options") << "user assigned option solveBVAsInt" << std::endl; |
4639 |
116 |
} |
4640 |
8 |
template <> void Options::assign( |
4641 |
|
options::solveIntAsBV__option_t, |
4642 |
|
std::string option, |
4643 |
|
std::string optionarg) |
4644 |
|
{ |
4645 |
8 |
auto parsedval = handleOption<uint32_t>(option, optionarg); |
4646 |
|
|
4647 |
8 |
smt().solveIntAsBV = parsedval; |
4648 |
8 |
smt().solveIntAsBV__setByUser__ = true; |
4649 |
8 |
Trace("options") << "user assigned option solveIntAsBV" << std::endl; |
4650 |
8 |
} |
4651 |
9 |
template <> void Options::assignBool( |
4652 |
|
options::solveRealAsInt__option_t, |
4653 |
|
std::string option, |
4654 |
|
bool value) |
4655 |
|
{ |
4656 |
|
|
4657 |
9 |
smt().solveRealAsInt = value; |
4658 |
9 |
smt().solveRealAsInt__setByUser__ = true; |
4659 |
9 |
Trace("options") << "user assigned option solveRealAsInt" << std::endl; |
4660 |
9 |
} |
4661 |
26 |
template <> void Options::assignBool( |
4662 |
|
options::sortInference__option_t, |
4663 |
|
std::string option, |
4664 |
|
bool value) |
4665 |
|
{ |
4666 |
|
|
4667 |
26 |
smt().sortInference = value; |
4668 |
26 |
smt().sortInference__setByUser__ = true; |
4669 |
26 |
Trace("options") << "user assigned option sortInference" << std::endl; |
4670 |
26 |
} |
4671 |
|
template <> void Options::assignBool( |
4672 |
|
options::doStaticLearning__option_t, |
4673 |
|
std::string option, |
4674 |
|
bool value) |
4675 |
|
{ |
4676 |
|
|
4677 |
|
smt().doStaticLearning = value; |
4678 |
|
smt().doStaticLearning__setByUser__ = true; |
4679 |
|
Trace("options") << "user assigned option doStaticLearning" << std::endl; |
4680 |
|
} |
4681 |
179 |
template <> void Options::assign( |
4682 |
|
options::sygusOut__option_t, |
4683 |
|
std::string option, |
4684 |
|
std::string optionarg) |
4685 |
|
{ |
4686 |
179 |
auto parsedval = stringToSygusSolutionOutMode(optionarg); |
4687 |
|
|
4688 |
179 |
smt().sygusOut = parsedval; |
4689 |
179 |
smt().sygusOut__setByUser__ = true; |
4690 |
179 |
Trace("options") << "user assigned option sygusOut" << std::endl; |
4691 |
179 |
} |
4692 |
|
template <> void Options::assignBool( |
4693 |
|
options::sygusPrintCallbacks__option_t, |
4694 |
|
std::string option, |
4695 |
|
bool value) |
4696 |
|
{ |
4697 |
|
|
4698 |
|
smt().sygusPrintCallbacks = value; |
4699 |
|
smt().sygusPrintCallbacks__setByUser__ = true; |
4700 |
|
Trace("options") << "user assigned option sygusPrintCallbacks" << std::endl; |
4701 |
|
} |
4702 |
107 |
template <> void Options::assignBool( |
4703 |
|
options::unconstrainedSimp__option_t, |
4704 |
|
std::string option, |
4705 |
|
bool value) |
4706 |
|
{ |
4707 |
|
|
4708 |
107 |
smt().unconstrainedSimp = value; |
4709 |
107 |
smt().unconstrainedSimp__setByUser__ = true; |
4710 |
107 |
Trace("options") << "user assigned option unconstrainedSimp" << std::endl; |
4711 |
107 |
} |
4712 |
|
template <> void Options::assign( |
4713 |
|
options::unsatCoresMode__option_t, |
4714 |
|
std::string option, |
4715 |
|
std::string optionarg) |
4716 |
|
{ |
4717 |
|
auto parsedval = stringToUnsatCoresMode(optionarg); |
4718 |
|
|
4719 |
|
smt().unsatCoresMode = parsedval; |
4720 |
|
smt().unsatCoresMode__setByUser__ = true; |
4721 |
|
Trace("options") << "user assigned option unsatCoresMode" << std::endl; |
4722 |
|
} |
4723 |
31 |
template <> void Options::assignBool( |
4724 |
|
options::regExpElim__option_t, |
4725 |
|
std::string option, |
4726 |
|
bool value) |
4727 |
|
{ |
4728 |
|
|
4729 |
31 |
strings().regExpElim = value; |
4730 |
31 |
strings().regExpElim__setByUser__ = true; |
4731 |
31 |
Trace("options") << "user assigned option regExpElim" << std::endl; |
4732 |
31 |
} |
4733 |
9 |
template <> void Options::assignBool( |
4734 |
|
options::regExpElimAgg__option_t, |
4735 |
|
std::string option, |
4736 |
|
bool value) |
4737 |
|
{ |
4738 |
|
|
4739 |
9 |
strings().regExpElimAgg = value; |
4740 |
9 |
strings().regExpElimAgg__setByUser__ = true; |
4741 |
9 |
Trace("options") << "user assigned option regExpElimAgg" << std::endl; |
4742 |
9 |
} |
4743 |
|
template <> void Options::assign( |
4744 |
|
options::stringRegExpInterMode__option_t, |
4745 |
|
std::string option, |
4746 |
|
std::string optionarg) |
4747 |
|
{ |
4748 |
|
auto parsedval = stringToRegExpInterMode(optionarg); |
4749 |
|
|
4750 |
|
strings().stringRegExpInterMode = parsedval; |
4751 |
|
strings().stringRegExpInterMode__setByUser__ = true; |
4752 |
|
Trace("options") << "user assigned option stringRegExpInterMode" << std::endl; |
4753 |
|
} |
4754 |
|
template <> void Options::assignBool( |
4755 |
|
options::stringCheckEntailLen__option_t, |
4756 |
|
std::string option, |
4757 |
|
bool value) |
4758 |
|
{ |
4759 |
|
|
4760 |
|
strings().stringCheckEntailLen = value; |
4761 |
|
strings().stringCheckEntailLen__setByUser__ = true; |
4762 |
|
Trace("options") << "user assigned option stringCheckEntailLen" << std::endl; |
4763 |
|
} |
4764 |
2 |
template <> void Options::assignBool( |
4765 |
|
options::stringEager__option_t, |
4766 |
|
std::string option, |
4767 |
|
bool value) |
4768 |
|
{ |
4769 |
|
|
4770 |
2 |
strings().stringEager = value; |
4771 |
2 |
strings().stringEager__setByUser__ = true; |
4772 |
2 |
Trace("options") << "user assigned option stringEager" << std::endl; |
4773 |
2 |
} |
4774 |
|
template <> void Options::assignBool( |
4775 |
|
options::stringEagerEval__option_t, |
4776 |
|
std::string option, |
4777 |
|
bool value) |
4778 |
|
{ |
4779 |
|
|
4780 |
|
strings().stringEagerEval = value; |
4781 |
|
strings().stringEagerEval__setByUser__ = true; |
4782 |
|
Trace("options") << "user assigned option stringEagerEval" << std::endl; |
4783 |
|
} |
4784 |
|
template <> void Options::assignBool( |
4785 |
|
options::stringEagerLen__option_t, |
4786 |
|
std::string option, |
4787 |
|
bool value) |
4788 |
|
{ |
4789 |
|
|
4790 |
|
strings().stringEagerLen = value; |
4791 |
|
strings().stringEagerLen__setByUser__ = true; |
4792 |
|
Trace("options") << "user assigned option stringEagerLen" << std::endl; |
4793 |
|
} |
4794 |
484 |
template <> void Options::assignBool( |
4795 |
|
options::stringExp__option_t, |
4796 |
|
std::string option, |
4797 |
|
bool value) |
4798 |
|
{ |
4799 |
|
|
4800 |
484 |
strings().stringExp = value; |
4801 |
484 |
strings().stringExp__setByUser__ = true; |
4802 |
484 |
Trace("options") << "user assigned option stringExp" << std::endl; |
4803 |
484 |
} |
4804 |
|
template <> void Options::assignBool( |
4805 |
|
options::stringFlatForms__option_t, |
4806 |
|
std::string option, |
4807 |
|
bool value) |
4808 |
|
{ |
4809 |
|
|
4810 |
|
strings().stringFlatForms = value; |
4811 |
|
strings().stringFlatForms__setByUser__ = true; |
4812 |
|
Trace("options") << "user assigned option stringFlatForms" << std::endl; |
4813 |
|
} |
4814 |
45 |
template <> void Options::assignBool( |
4815 |
|
options::stringFMF__option_t, |
4816 |
|
std::string option, |
4817 |
|
bool value) |
4818 |
|
{ |
4819 |
|
|
4820 |
45 |
strings().stringFMF = value; |
4821 |
45 |
strings().stringFMF__setByUser__ = true; |
4822 |
45 |
Trace("options") << "user assigned option stringFMF" << std::endl; |
4823 |
45 |
} |
4824 |
|
template <> void Options::assignBool( |
4825 |
|
options::stringGuessModel__option_t, |
4826 |
|
std::string option, |
4827 |
|
bool value) |
4828 |
|
{ |
4829 |
|
|
4830 |
|
strings().stringGuessModel = value; |
4831 |
|
strings().stringGuessModel__setByUser__ = true; |
4832 |
|
Trace("options") << "user assigned option stringGuessModel" << std::endl; |
4833 |
|
} |
4834 |
|
template <> void Options::assignBool( |
4835 |
|
options::stringInferAsLemmas__option_t, |
4836 |
|
std::string option, |
4837 |
|
bool value) |
4838 |
|
{ |
4839 |
|
|
4840 |
|
strings().stringInferAsLemmas = value; |
4841 |
|
strings().stringInferAsLemmas__setByUser__ = true; |
4842 |
|
Trace("options") << "user assigned option stringInferAsLemmas" << std::endl; |
4843 |
|
} |
4844 |
|
template <> void Options::assignBool( |
4845 |
|
options::stringInferSym__option_t, |
4846 |
|
std::string option, |
4847 |
|
bool value) |
4848 |
|
{ |
4849 |
|
|
4850 |
|
strings().stringInferSym = value; |
4851 |
|
strings().stringInferSym__setByUser__ = true; |
4852 |
|
Trace("options") << "user assigned option stringInferSym" << std::endl; |
4853 |
|
} |
4854 |
2 |
template <> void Options::assignBool( |
4855 |
|
options::stringIgnNegMembership__option_t, |
4856 |
|
std::string option, |
4857 |
|
bool value) |
4858 |
|
{ |
4859 |
|
|
4860 |
2 |
strings().stringIgnNegMembership = value; |
4861 |
2 |
strings().stringIgnNegMembership__setByUser__ = true; |
4862 |
2 |
Trace("options") << "user assigned option stringIgnNegMembership" << std::endl; |
4863 |
2 |
} |
4864 |
28 |
template <> void Options::assignBool( |
4865 |
|
options::stringLazyPreproc__option_t, |
4866 |
|
std::string option, |
4867 |
|
bool value) |
4868 |
|
{ |
4869 |
|
|
4870 |
28 |
strings().stringLazyPreproc = value; |
4871 |
28 |
strings().stringLazyPreproc__setByUser__ = true; |
4872 |
28 |
Trace("options") << "user assigned option stringLazyPreproc" << std::endl; |
4873 |
28 |
} |
4874 |
|
template <> void Options::assignBool( |
4875 |
|
options::stringLenNorm__option_t, |
4876 |
|
std::string option, |
4877 |
|
bool value) |
4878 |
|
{ |
4879 |
|
|
4880 |
|
strings().stringLenNorm = value; |
4881 |
|
strings().stringLenNorm__setByUser__ = true; |
4882 |
|
Trace("options") << "user assigned option stringLenNorm" << std::endl; |
4883 |
|
} |
4884 |
|
template <> void Options::assignBool( |
4885 |
|
options::stringLenPropCsp__option_t, |
4886 |
|
std::string option, |
4887 |
|
bool value) |
4888 |
|
{ |
4889 |
|
|
4890 |
|
strings().stringLenPropCsp = value; |
4891 |
|
strings().stringLenPropCsp__setByUser__ = true; |
4892 |
|
Trace("options") << "user assigned option stringLenPropCsp" << std::endl; |
4893 |
|
} |
4894 |
|
template <> void Options::assignBool( |
4895 |
|
options::stringMinPrefixExplain__option_t, |
4896 |
|
std::string option, |
4897 |
|
bool value) |
4898 |
|
{ |
4899 |
|
|
4900 |
|
strings().stringMinPrefixExplain = value; |
4901 |
|
strings().stringMinPrefixExplain__setByUser__ = true; |
4902 |
|
Trace("options") << "user assigned option stringMinPrefixExplain" << std::endl; |
4903 |
|
} |
4904 |
|
template <> void Options::assign( |
4905 |
|
options::stringProcessLoopMode__option_t, |
4906 |
|
std::string option, |
4907 |
|
std::string optionarg) |
4908 |
|
{ |
4909 |
|
auto parsedval = stringToProcessLoopMode(optionarg); |
4910 |
|
|
4911 |
|
strings().stringProcessLoopMode = parsedval; |
4912 |
|
strings().stringProcessLoopMode__setByUser__ = true; |
4913 |
|
Trace("options") << "user assigned option stringProcessLoopMode" << std::endl; |
4914 |
|
} |
4915 |
|
template <> void Options::assignBool( |
4916 |
|
options::stringRExplainLemmas__option_t, |
4917 |
|
std::string option, |
4918 |
|
bool value) |
4919 |
|
{ |
4920 |
|
|
4921 |
|
strings().stringRExplainLemmas = value; |
4922 |
|
strings().stringRExplainLemmas__setByUser__ = true; |
4923 |
|
Trace("options") << "user assigned option stringRExplainLemmas" << std::endl; |
4924 |
|
} |
4925 |
|
template <> void Options::assignBool( |
4926 |
|
options::stringUnifiedVSpt__option_t, |
4927 |
|
std::string option, |
4928 |
|
bool value) |
4929 |
|
{ |
4930 |
|
|
4931 |
|
strings().stringUnifiedVSpt = value; |
4932 |
|
strings().stringUnifiedVSpt__setByUser__ = true; |
4933 |
|
Trace("options") << "user assigned option stringUnifiedVSpt" << std::endl; |
4934 |
|
} |
4935 |
2 |
template <> void Options::assignBool( |
4936 |
|
options::assignFunctionValues__option_t, |
4937 |
|
std::string option, |
4938 |
|
bool value) |
4939 |
|
{ |
4940 |
|
|
4941 |
2 |
theory().assignFunctionValues = value; |
4942 |
2 |
theory().assignFunctionValues__setByUser__ = true; |
4943 |
2 |
Trace("options") << "user assigned option assignFunctionValues" << std::endl; |
4944 |
2 |
} |
4945 |
|
template <> void Options::assignBool( |
4946 |
|
options::condenseFunctionValues__option_t, |
4947 |
|
std::string option, |
4948 |
|
bool value) |
4949 |
|
{ |
4950 |
|
|
4951 |
|
theory().condenseFunctionValues = value; |
4952 |
|
theory().condenseFunctionValues__setByUser__ = true; |
4953 |
|
Trace("options") << "user assigned option condenseFunctionValues" << std::endl; |
4954 |
|
} |
4955 |
|
template <> void Options::assign( |
4956 |
|
options::eeMode__option_t, |
4957 |
|
std::string option, |
4958 |
|
std::string optionarg) |
4959 |
|
{ |
4960 |
|
auto parsedval = stringToEqEngineMode(optionarg); |
4961 |
|
|
4962 |
|
theory().eeMode = parsedval; |
4963 |
|
theory().eeMode__setByUser__ = true; |
4964 |
|
Trace("options") << "user assigned option eeMode" << std::endl; |
4965 |
|
} |
4966 |
|
template <> void Options::assignBool( |
4967 |
|
options::relevanceFilter__option_t, |
4968 |
|
std::string option, |
4969 |
|
bool value) |
4970 |
|
{ |
4971 |
|
|
4972 |
|
theory().relevanceFilter = value; |
4973 |
|
theory().relevanceFilter__setByUser__ = true; |
4974 |
|
Trace("options") << "user assigned option relevanceFilter" << std::endl; |
4975 |
|
} |
4976 |
|
template <> void Options::assign( |
4977 |
|
options::tcMode__option_t, |
4978 |
|
std::string option, |
4979 |
|
std::string optionarg) |
4980 |
|
{ |
4981 |
|
auto parsedval = stringToTcMode(optionarg); |
4982 |
|
|
4983 |
|
theory().tcMode = parsedval; |
4984 |
|
theory().tcMode__setByUser__ = true; |
4985 |
|
Trace("options") << "user assigned option tcMode" << std::endl; |
4986 |
|
} |
4987 |
5 |
template <> void Options::assign( |
4988 |
|
options::theoryOfMode__option_t, |
4989 |
|
std::string option, |
4990 |
|
std::string optionarg) |
4991 |
|
{ |
4992 |
5 |
auto parsedval = stringToTheoryOfMode(optionarg); |
4993 |
|
|
4994 |
5 |
theory().theoryOfMode = parsedval; |
4995 |
5 |
theory().theoryOfMode__setByUser__ = true; |
4996 |
5 |
Trace("options") << "user assigned option theoryOfMode" << std::endl; |
4997 |
5 |
} |
4998 |
|
template <> void Options::assignBool( |
4999 |
|
options::ufSymmetryBreaker__option_t, |
5000 |
|
std::string option, |
5001 |
|
bool value) |
5002 |
|
{ |
5003 |
|
|
5004 |
|
uf().ufSymmetryBreaker = value; |
5005 |
|
uf().ufSymmetryBreaker__setByUser__ = true; |
5006 |
|
Trace("options") << "user assigned option ufSymmetryBreaker" << std::endl; |
5007 |
|
} |
5008 |
153 |
template <> void Options::assignBool( |
5009 |
|
options::ufHo__option_t, |
5010 |
|
std::string option, |
5011 |
|
bool value) |
5012 |
|
{ |
5013 |
|
|
5014 |
153 |
uf().ufHo = value; |
5015 |
153 |
uf().ufHo__setByUser__ = true; |
5016 |
153 |
Trace("options") << "user assigned option ufHo" << std::endl; |
5017 |
153 |
} |
5018 |
|
template <> void Options::assignBool( |
5019 |
|
options::ufHoExt__option_t, |
5020 |
|
std::string option, |
5021 |
|
bool value) |
5022 |
|
{ |
5023 |
|
|
5024 |
|
uf().ufHoExt = value; |
5025 |
|
uf().ufHoExt__setByUser__ = true; |
5026 |
|
Trace("options") << "user assigned option ufHoExt" << std::endl; |
5027 |
|
} |
5028 |
|
template <> void Options::assign( |
5029 |
|
options::ufssAbortCardinality__option_t, |
5030 |
|
std::string option, |
5031 |
|
std::string optionarg) |
5032 |
|
{ |
5033 |
|
auto parsedval = handleOption<int>(option, optionarg); |
5034 |
|
|
5035 |
|
uf().ufssAbortCardinality = parsedval; |
5036 |
|
uf().ufssAbortCardinality__setByUser__ = true; |
5037 |
|
Trace("options") << "user assigned option ufssAbortCardinality" << std::endl; |
5038 |
|
} |
5039 |
|
template <> void Options::assignBool( |
5040 |
|
options::ufssFairness__option_t, |
5041 |
|
std::string option, |
5042 |
|
bool value) |
5043 |
|
{ |
5044 |
|
|
5045 |
|
uf().ufssFairness = value; |
5046 |
|
uf().ufssFairness__setByUser__ = true; |
5047 |
|
Trace("options") << "user assigned option ufssFairness" << std::endl; |
5048 |
|
} |
5049 |
4 |
template <> void Options::assignBool( |
5050 |
|
options::ufssFairnessMonotone__option_t, |
5051 |
|
std::string option, |
5052 |
|
bool value) |
5053 |
|
{ |
5054 |
|
|
5055 |
4 |
uf().ufssFairnessMonotone = value; |
5056 |
4 |
uf().ufssFairnessMonotone__setByUser__ = true; |
5057 |
4 |
Trace("options") << "user assigned option ufssFairnessMonotone" << std::endl; |
5058 |
4 |
} |
5059 |
|
template <> void Options::assign( |
5060 |
|
options::ufssTotalityLimited__option_t, |
5061 |
|
std::string option, |
5062 |
|
std::string optionarg) |
5063 |
|
{ |
5064 |
|
auto parsedval = handleOption<int>(option, optionarg); |
5065 |
|
|
5066 |
|
uf().ufssTotalityLimited = parsedval; |
5067 |
|
uf().ufssTotalityLimited__setByUser__ = true; |
5068 |
|
Trace("options") << "user assigned option ufssTotalityLimited" << std::endl; |
5069 |
|
} |
5070 |
|
template <> void Options::assignBool( |
5071 |
|
options::ufssTotalitySymBreak__option_t, |
5072 |
|
std::string option, |
5073 |
|
bool value) |
5074 |
|
{ |
5075 |
|
|
5076 |
|
uf().ufssTotalitySymBreak = value; |
5077 |
|
uf().ufssTotalitySymBreak__setByUser__ = true; |
5078 |
|
Trace("options") << "user assigned option ufssTotalitySymBreak" << std::endl; |
5079 |
|
} |
5080 |
7 |
template <> void Options::assign( |
5081 |
|
options::ufssMode__option_t, |
5082 |
|
std::string option, |
5083 |
|
std::string optionarg) |
5084 |
|
{ |
5085 |
7 |
auto parsedval = stringToUfssMode(optionarg); |
5086 |
|
|
5087 |
7 |
uf().ufssMode = parsedval; |
5088 |
7 |
uf().ufssMode__setByUser__ = true; |
5089 |
7 |
Trace("options") << "user assigned option ufssMode" << std::endl; |
5090 |
7 |
} |
5091 |
|
// clang-format on |
5092 |
|
|
5093 |
9245 |
static const std::string mostCommonOptionsDescription = |
5094 |
|
"\ |
5095 |
|
Most commonly-used cvc5 options:\n" |
5096 |
|
// clang-format off |
5097 |
|
" --lang=LANG | --input-language=LANG | -L LANG\n" |
5098 |
|
" force input language (default is \"auto\"; see --lang\n" |
5099 |
|
" help)\n" |
5100 |
|
" --output-lang=LANG | --output-language=LANG\n" |
5101 |
|
" force output language (default is \"auto\"; see\n" |
5102 |
|
" --output-lang help)\n" |
5103 |
|
" --quiet | -q decrease verbosity (may be repeated)\n" |
5104 |
|
" --stats give statistics on exit [*]\n" |
5105 |
|
" --verbose | -v increase verbosity (may be repeated)\n" |
5106 |
|
" --copyright show cvc5 copyright information\n" |
5107 |
|
" --help | -h full command line reference\n" |
5108 |
|
" --seed=N | -s N seed for random number generator\n" |
5109 |
|
" --show-config show cvc5 static configuration\n" |
5110 |
|
" --version | -V identify this cvc5 binary\n" |
5111 |
|
" --strict-parsing be less tolerant of non-conforming inputs [*]\n" |
5112 |
|
" --rlimit-per=N | --reproducible-resource-limit=N\n" |
5113 |
|
" set resource limit per query\n" |
5114 |
|
" --rlimit=N set resource limit\n" |
5115 |
|
" --tlimit-per=MS set time limit per query in milliseconds\n" |
5116 |
|
" --tlimit=MS set time limit in milliseconds of wall clock time\n" |
5117 |
|
" --dump-to=FILE all dumping goes to FILE (instead of stdout)\n" |
5118 |
|
" --dump=MODE dump preprocessed assertions, etc., see --dump=help\n" |
5119 |
|
" --incremental | -i enable incremental solving [*]\n" |
5120 |
|
" --produce-assertions keep an assertions list (enables get-assertions\n" |
5121 |
|
" command) [*]\n" |
5122 |
|
" --produce-models | -m support the get-value and get-model commands [*]\n" |
5123 |
|
// clang-format on |
5124 |
|
; |
5125 |
|
|
5126 |
|
// clang-format off |
5127 |
9245 |
static const std::string optionsDescription = |
5128 |
|
mostCommonOptionsDescription + "\n\nAdditional cvc5 options:\n" |
5129 |
|
"\nFrom the Arithmetic Theory module:\n" |
5130 |
|
" --approx-branch-depth=N\n" |
5131 |
|
" maximum branch depth the approximate solver is allowed\n" |
5132 |
|
" to take\n" |
5133 |
|
" --arith-brab whether to use simple rounding, similar to a unit-cube\n" |
5134 |
|
" test, for integers [*]\n" |
5135 |
|
" --arith-no-partial-fun do not use partial function semantics for arithmetic\n" |
5136 |
|
" (not SMT LIB compliant) [*]\n" |
5137 |
|
" --arith-prop-clauses=N rows shorter than this are propagated as clauses\n" |
5138 |
|
" --arith-prop=MODE turns on arithmetic propagation (default is 'old', see\n" |
5139 |
|
" --arith-prop=help)\n" |
5140 |
|
" --arith-rewrite-equalities\n" |
5141 |
|
" turns on the preprocessing rewrite turning equalities\n" |
5142 |
|
" into a conjunction of inequalities [*]\n" |
5143 |
|
" --collect-pivot-stats collect the pivot history [*]\n" |
5144 |
|
" --cut-all-bounded turns on the integer solving step of periodically\n" |
5145 |
|
" cutting all integer variables that have both upper and\n" |
5146 |
|
" lower bounds [*]\n" |
5147 |
|
" --dio-decomps let skolem variables for integer divisibility\n" |
5148 |
|
" constraints leak from the dio solver [*]\n" |
5149 |
|
" --dio-repeat handle dio solver constraints in mass or one at a time\n" |
5150 |
|
" [*]\n" |
5151 |
|
" --dio-solver turns on Linear Diophantine Equation solver (Griggio,\n" |
5152 |
|
" JSAT 2012) [*]\n" |
5153 |
|
" --dio-turns=N turns in a row dio solver cutting gets\n" |
5154 |
|
" --error-selection-rule=RULE\n" |
5155 |
|
" change the pivot rule for the basic variable (default\n" |
5156 |
|
" is 'min', see --pivot-rule help)\n" |
5157 |
|
" --fc-penalties turns on degenerate pivot penalties [*]\n" |
5158 |
|
" --heuristic-pivots=N the number of times to apply the heuristic pivot rule;\n" |
5159 |
|
" if N < 0, this defaults to the number of variables; if\n" |
5160 |
|
" this is unset, this is tuned by the logic selection\n" |
5161 |
|
" --lemmas-on-replay-failure\n" |
5162 |
|
" attempt to use external lemmas if approximate solve\n" |
5163 |
|
" integer failed [*]\n" |
5164 |
|
" --maxCutsInContext=N maximum cuts in a given context before signalling a\n" |
5165 |
|
" restart\n" |
5166 |
|
" --miplib-trick turns on the preprocessing step of attempting to infer\n" |
5167 |
|
" bounds on miplib problems [*]\n" |
5168 |
|
" --miplib-trick-subs=N do substitution for miplib 'tmp' vars if defined in <=\n" |
5169 |
|
" N eliminated vars\n" |
5170 |
|
" --new-prop use the new row propagation system [*]\n" |
5171 |
|
" --nl-cad whether to use the cylindrical algebraic decomposition\n" |
5172 |
|
" solver for non-linear arithmetic [*]\n" |
5173 |
|
" --nl-cad-initial whether to use the linear model as initial guess for\n" |
5174 |
|
" the cylindrical algebraic decomposition solver [*]\n" |
5175 |
|
" --nl-ext-ent-conf check for entailed conflicts in non-linear solver [*]\n" |
5176 |
|
" --nl-ext-factor use factoring inference in non-linear incremental\n" |
5177 |
|
" linearization solver [*]\n" |
5178 |
|
" --nl-ext-inc-prec whether to increment the precision for irrational\n" |
5179 |
|
" function constraints [*]\n" |
5180 |
|
" --nl-ext-purify purify non-linear terms at preprocess [*]\n" |
5181 |
|
" --nl-ext-rbound use resolution-style inference for inferring new bounds\n" |
5182 |
|
" in non-linear incremental linearization solver [*]\n" |
5183 |
|
" --nl-ext-rewrite do context-dependent simplification based on rewrites\n" |
5184 |
|
" in non-linear solver [*]\n" |
5185 |
|
" --nl-ext-split-zero initial splits on zero for all variables [*]\n" |
5186 |
|
" --nl-ext-tf-taylor-deg=N\n" |
5187 |
|
" initial degree of polynomials for Taylor approximation\n" |
5188 |
|
" --nl-ext-tf-tplanes use non-terminating tangent plane strategy for\n" |
5189 |
|
" transcendental functions for non-linear incremental\n" |
5190 |
|
" linearization solver [*]\n" |
5191 |
|
" --nl-ext-tplanes use non-terminating tangent plane strategy for\n" |
5192 |
|
" non-linear incremental linearization solver [*]\n" |
5193 |
|
" --nl-ext-tplanes-interleave\n" |
5194 |
|
" interleave tangent plane strategy for non-linear\n" |
5195 |
|
" incremental linearization solver [*]\n" |
5196 |
|
" --nl-ext=MODE incremental linearization approach to non-linear\n" |
5197 |
|
" --nl-icp whether to use ICP-style propagations for non-linear\n" |
5198 |
|
" arithmetic [*]\n" |
5199 |
|
" --nl-rlv=MODE choose mode for using relevance of assertoins in\n" |
5200 |
|
" non-linear arithmetic\n" |
5201 |
|
" --pb-rewrites apply pseudo boolean rewrites [*]\n" |
5202 |
|
" --pivot-threshold=N sets the number of pivots using --pivot-rule per basic\n" |
5203 |
|
" variable per simplex instance before using variable\n" |
5204 |
|
" order\n" |
5205 |
|
" --pp-assert-max-sub-size=N\n" |
5206 |
|
" threshold for substituting an equality in ppAssert\n" |
5207 |
|
" --prop-row-length=N sets the maximum row length to be used in propagation\n" |
5208 |
|
" --replay-early-close-depth=N\n" |
5209 |
|
" multiples of the depths to try to close the approx log\n" |
5210 |
|
" eagerly\n" |
5211 |
|
" --replay-failure-penalty=N\n" |
5212 |
|
" number of solve integer attempts to skips after a\n" |
5213 |
|
" numeric failure\n" |
5214 |
|
" --replay-lemma-reject-cut=N\n" |
5215 |
|
" maximum complexity of any coefficient while outputting\n" |
5216 |
|
" replaying cut lemmas\n" |
5217 |
|
" --replay-num-err-penalty=N\n" |
5218 |
|
" number of solve integer attempts to skips after a\n" |
5219 |
|
" numeric failure\n" |
5220 |
|
" --replay-reject-cut=N maximum complexity of any coefficient while replaying\n" |
5221 |
|
" cuts\n" |
5222 |
|
" --replay-soi-major-threshold-pen=N\n" |
5223 |
|
" threshold for a major tolerance failure by the\n" |
5224 |
|
" approximate solver\n" |
5225 |
|
" --replay-soi-major-threshold=T\n" |
5226 |
|
" threshold for a major tolerance failure by the\n" |
5227 |
|
" approximate solver\n" |
5228 |
|
" --replay-soi-minor-threshold-pen=N\n" |
5229 |
|
" threshold for a minor tolerance failure by the\n" |
5230 |
|
" approximate solver\n" |
5231 |
|
" --replay-soi-minor-threshold=T\n" |
5232 |
|
" threshold for a minor tolerance failure by the\n" |
5233 |
|
" approximate solver\n" |
5234 |
|
" --restrict-pivots have a pivot cap for simplex at effort levels below\n" |
5235 |
|
" fullEffort [*]\n" |
5236 |
|
" --revert-arith-models-on-unsat\n" |
5237 |
|
" revert the arithmetic model to a known safe model on\n" |
5238 |
|
" unsat if one is cached [*]\n" |
5239 |
|
" --rr-turns=N round robin turn\n" |
5240 |
|
" --se-solve-int attempt to use the approximate solve integer method on\n" |
5241 |
|
" standard effort [*]\n" |
5242 |
|
" --simplex-check-period=N\n" |
5243 |
|
" the number of pivots to do in simplex before rechecking\n" |
5244 |
|
" for a conflict on all variables\n" |
5245 |
|
" --soi-qe use quick explain to minimize the sum of infeasibility\n" |
5246 |
|
" conflicts [*]\n" |
5247 |
|
" --standard-effort-variable-order-pivots=N\n" |
5248 |
|
" limits the number of pivots in a single invocation of\n" |
5249 |
|
" check() at a non-full effort level using Bland's pivot\n" |
5250 |
|
" rule (EXPERTS only)\n" |
5251 |
|
" --unate-lemmas=MODE determines which lemmas to add before solving (default\n" |
5252 |
|
" is 'all', see --unate-lemmas=help)\n" |
5253 |
|
" --use-approx attempt to use an approximate solver [*]\n" |
5254 |
|
" --use-fcsimplex use focusing and converging simplex (FMCAD 2013\n" |
5255 |
|
" submission) [*]\n" |
5256 |
|
" --use-soi use sum of infeasibility simplex (FMCAD 2013\n" |
5257 |
|
" submission) [*]\n" |
5258 |
|
"\nFrom the Arrays Theory module:\n" |
5259 |
|
" --arrays-config=N set different array option configurations - for\n" |
5260 |
|
" developers only\n" |
5261 |
|
" --arrays-eager-index turn on eager index splitting for generated array\n" |
5262 |
|
" lemmas [*]\n" |
5263 |
|
" --arrays-eager-lemmas turn on eager lemma generation for arrays [*]\n" |
5264 |
|
" --arrays-exp enable experimental features in the theory of arrays\n" |
5265 |
|
" [*]\n" |
5266 |
|
" --arrays-model-based turn on model-based array solver [*]\n" |
5267 |
|
" --arrays-optimize-linear\n" |
5268 |
|
" turn on optimization for linear array terms (see de\n" |
5269 |
|
" Moura FMCAD 09 arrays paper) [*]\n" |
5270 |
|
" --arrays-prop=N propagation effort for arrays: 0 is none, 1 is some, 2\n" |
5271 |
|
" is full\n" |
5272 |
|
" --arrays-reduce-sharing\n" |
5273 |
|
" use model information to reduce size of care graph for\n" |
5274 |
|
" arrays [*]\n" |
5275 |
|
" --arrays-weak-equiv use algorithm from Christ/Hoenicke (SMT 2014) [*]\n" |
5276 |
|
"\nFrom the Base module:\n" |
5277 |
|
" --debug=TAG | -d TAG debug something (e.g. -d arith), can repeat\n" |
5278 |
|
" --parse-only exit after parsing input [*]\n" |
5279 |
|
" --preprocess-only exit after preprocessing input [*]\n" |
5280 |
|
" --print-success print the \"success\" output required of SMT-LIBv2 [*]\n" |
5281 |
|
" --stats-all print unchanged (defaulted) statistics as well (EXPERTS\n" |
5282 |
|
" only) [*]\n" |
5283 |
|
" --stats-every-query in incremental mode, print stats after every\n" |
5284 |
|
" satisfiability or validity query [*]\n" |
5285 |
|
" --stats-expert print expert (non-public) statistics as well (EXPERTS\n" |
5286 |
|
" only) [*]\n" |
5287 |
|
" --trace=TAG | -t TAG trace something (e.g. -t pushpop), can repeat\n" |
5288 |
|
" --verbosity=N the verbosity level of cvc5\n" |
5289 |
|
"\nFrom the Bitvector Theory module:\n" |
5290 |
|
" --bitblast-aig bitblast by first converting to AIG (implies\n" |
5291 |
|
" --bitblast=eager) [*]\n" |
5292 |
|
" --bitblast=MODE choose bitblasting mode, see --bitblast=help\n" |
5293 |
|
" --bitwise-eq lift equivalence with one-bit bit-vectors to be boolean\n" |
5294 |
|
" operations [*]\n" |
5295 |
|
" --bool-to-bv=MODE convert booleans to bit-vectors of size 1 at various\n" |
5296 |
|
" levels of aggressiveness, see --bool-to-bv=help\n" |
5297 |
|
" --bv-aig-simp=COMMAND abc command to run AIG simplifications (implies\n" |
5298 |
|
" --bitblast-aig, default is \"balance;drw\") (EXPERTS\n" |
5299 |
|
" only)\n" |
5300 |
|
" --bv-alg-extf algebraic inferences for extended functions [*]\n" |
5301 |
|
" --bv-algebraic-budget=N\n" |
5302 |
|
" the budget allowed for the algebraic solver in number\n" |
5303 |
|
" of SAT conflicts (EXPERTS only)\n" |
5304 |
|
" --bv-algebraic-solver turn on experimental algebraic solver for the\n" |
5305 |
|
" bit-vector theory (only if --bitblast=lazy) [*]\n" |
5306 |
|
" --bv-assert-input assert input assertions on user-level 0 instead of\n" |
5307 |
|
" assuming them in the bit-vector SAT solver [*]\n" |
5308 |
|
" --bv-eager-explanations\n" |
5309 |
|
" compute bit-blasting propagation explanations eagerly\n" |
5310 |
|
" (EXPERTS only) [*]\n" |
5311 |
|
" --bv-eq-solver use the equality engine for the bit-vector theory (only\n" |
5312 |
|
" if --bitblast=lazy) [*]\n" |
5313 |
|
" --bv-extract-arith enable rewrite pushing extract [i:0] over arithmetic\n" |
5314 |
|
" operations (can blow up) (EXPERTS only) [*]\n" |
5315 |
|
" --bv-gauss-elim simplify formula via Gaussian Elimination if applicable\n" |
5316 |
|
" (EXPERTS only) [*]\n" |
5317 |
|
" --bv-inequality-solver turn on the inequality solver for the bit-vector theory\n" |
5318 |
|
" (only if --bitblast=lazy) [*]\n" |
5319 |
|
" --bv-intro-pow2 introduce bitvector powers of two as a preprocessing\n" |
5320 |
|
" pass (EXPERTS only) [*]\n" |
5321 |
|
" --bv-lazy-reduce-extf reduce extended functions like bv2nat and int2bv at\n" |
5322 |
|
" last call instead of full effort [*]\n" |
5323 |
|
" --bv-lazy-rewrite-extf lazily rewrite extended functions like bv2nat and\n" |
5324 |
|
" int2bv [*]\n" |
5325 |
|
" --bv-num-func=N number of function symbols in conflicts that are\n" |
5326 |
|
" generalized (EXPERTS only)\n" |
5327 |
|
" --bv-print-consts-as-indexed-symbols\n" |
5328 |
|
" print bit-vector constants in decimal (e.g. (_ bv1 4))\n" |
5329 |
|
" instead of binary (e.g. #b0001), applies to SMT-LIB 2.x\n" |
5330 |
|
" [*]\n" |
5331 |
|
" --bv-propagate use bit-vector propagation in the bit-blaster [*]\n" |
5332 |
|
" --bv-quick-xplain minimize bv conflicts using the QuickXplain algorithm\n" |
5333 |
|
" (EXPERTS only) [*]\n" |
5334 |
|
" --bv-sat-solver=MODE choose which sat solver to use, see\n" |
5335 |
|
" --bv-sat-solver=help (EXPERTS only)\n" |
5336 |
|
" --bv-solver=MODE choose bit-vector solver, see --bv-solver=help\n" |
5337 |
|
" --bv-to-bool lift bit-vectors of size 1 to booleans when possible\n" |
5338 |
|
" [*]\n" |
5339 |
|
"\nFrom the Datatypes Theory module:\n" |
5340 |
|
" --cdt-bisimilar do bisimilarity check for co-datatypes [*]\n" |
5341 |
|
" --dt-binary-split do binary splits for datatype constructor types [*]\n" |
5342 |
|
" --dt-blast-splits when applicable, blast splitting lemmas for all\n" |
5343 |
|
" variables at once [*]\n" |
5344 |
|
" --dt-cyclic do cyclicity check for datatypes [*]\n" |
5345 |
|
" --dt-force-assignment force the datatypes solver to give specific values to\n" |
5346 |
|
" all datatypes terms before answering sat [*]\n" |
5347 |
|
" --dt-infer-as-lemmas always send lemmas out instead of making internal\n" |
5348 |
|
" inferences [*]\n" |
5349 |
|
" --dt-nested-rec allow nested recursion in datatype definitions [*]\n" |
5350 |
|
" --dt-polite-optimize turn on optimization for polite combination [*]\n" |
5351 |
|
" --dt-rewrite-error-sel rewrite incorrectly applied selectors to arbitrary\n" |
5352 |
|
" ground term (EXPERTS only) [*]\n" |
5353 |
|
" --dt-share-sel internally use shared selectors across multiple\n" |
5354 |
|
" constructors [*]\n" |
5355 |
|
" --sygus-abort-size=N tells enumerative sygus to only consider solutions up\n" |
5356 |
|
" to term size N (-1 == no limit, default)\n" |
5357 |
|
" --sygus-fair-max use max instead of sum for multi-function sygus\n" |
5358 |
|
" conjectures [*]\n" |
5359 |
|
" --sygus-fair=MODE if and how to apply fairness for sygus\n" |
5360 |
|
" --sygus-sym-break simple sygus symmetry breaking lemmas [*]\n" |
5361 |
|
" --sygus-sym-break-agg use aggressive checks for simple sygus symmetry\n" |
5362 |
|
" breaking lemmas [*]\n" |
5363 |
|
" --sygus-sym-break-dynamic\n" |
5364 |
|
" dynamic sygus symmetry breaking lemmas [*]\n" |
5365 |
|
" --sygus-sym-break-lazy lazily add symmetry breaking lemmas for terms [*]\n" |
5366 |
|
" --sygus-sym-break-pbe sygus symmetry breaking lemmas based on pbe conjectures\n" |
5367 |
|
" [*]\n" |
5368 |
|
" --sygus-sym-break-rlv add relevancy conditions to symmetry breaking lemmas\n" |
5369 |
|
" [*]\n" |
5370 |
|
"\nFrom the Decision Heuristics module:\n" |
5371 |
|
" --decision-random-weight=N\n" |
5372 |
|
" assign random weights to nodes between 0 and N-1 (0:\n" |
5373 |
|
" disable) (EXPERTS only)\n" |
5374 |
|
" --decision-threshold=N ignore all nodes greater than threshold in first\n" |
5375 |
|
" attempt to pick decision (EXPERTS only)\n" |
5376 |
|
" --decision-use-weight use the weight nodes (locally, by looking at children)\n" |
5377 |
|
" to direct recursive search (EXPERTS only) [*]\n" |
5378 |
|
" --decision-weight-internal=HOW\n" |
5379 |
|
" compute weights of internal nodes using children: off,\n" |
5380 |
|
" max, sum, usr1 (EXPERTS only)\n" |
5381 |
|
" --decision=MODE | --decision-mode=MODE\n" |
5382 |
|
" choose decision mode, see --decision=help\n" |
5383 |
|
"\nFrom the Expression module:\n" |
5384 |
|
" --dag-thresh=N dagify common subexprs appearing > N times (1 ==\n" |
5385 |
|
" default, 0 == don't dagify)\n" |
5386 |
|
" --expr-depth=N print exprs to depth N (0 == default, -1 == no limit)\n" |
5387 |
|
" --type-checking type check expressions [*]\n" |
5388 |
|
"\nFrom the Floating-Point module:\n" |
5389 |
|
" --fp-exp Allow floating-point sorts of all sizes, rather than\n" |
5390 |
|
" only Float32 (8/24) or Float64 (11/53) (experimental)\n" |
5391 |
|
" [*]\n" |
5392 |
|
"\nFrom the Driver module:\n" |
5393 |
|
" --early-exit do not run destructors at exit; default on except in\n" |
5394 |
|
" debug builds (EXPERTS only) [*]\n" |
5395 |
|
" --interactive force interactive/non-interactive mode [*]\n" |
5396 |
|
" --segv-spin spin on segfault/other crash waiting for gdb [*]\n" |
5397 |
|
" --show-debug-tags show all available tags for debugging\n" |
5398 |
|
" --show-trace-tags show all available tags for tracing\n" |
5399 |
|
" --tear-down-incremental=N\n" |
5400 |
|
" implement PUSH/POP/multi-query by destroying and\n" |
5401 |
|
" recreating SmtEngine every N queries (EXPERTS only)\n" |
5402 |
|
"\nFrom the Parser module:\n" |
5403 |
|
" --force-logic=LOGIC set the logic, and override all further user attempts\n" |
5404 |
|
" to change it (EXPERTS only)\n" |
5405 |
|
" --global-declarations force all declarations and definitions to be global [*]\n" |
5406 |
|
" --mmap memory map file input [*]\n" |
5407 |
|
" --semantic-checks enable semantic checks, including type checks [*]\n" |
5408 |
|
"\nFrom the Printing module:\n" |
5409 |
|
" --flatten-ho-chains print (binary) application chains in a flattened way,\n" |
5410 |
|
" e.g. (a b c) rather than ((a b) c) [*]\n" |
5411 |
|
" --inst-format=MODE print format mode for instantiations, see\n" |
5412 |
|
" --inst-format=help\n" |
5413 |
|
" --model-format=MODE print format mode for models, see --model-format=help\n" |
5414 |
|
" --print-inst-full print instantiations for formulas that do not have\n" |
5415 |
|
" given identifiers [*]\n" |
5416 |
|
" --print-inst=MODE print format for printing instantiations\n" |
5417 |
|
"\nFrom the Proof module:\n" |
5418 |
|
" --proof-eager-checking check proofs eagerly with proof for local debugging [*]\n" |
5419 |
|
" --proof-format-mode=MODE\n" |
5420 |
|
" select language of proof output\n" |
5421 |
|
" --proof-granularity=MODE\n" |
5422 |
|
" modes for proof granularity\n" |
5423 |
|
" --proof-pedantic=N assertion failure for any incorrect rule application or\n" |
5424 |
|
" untrusted lemma having pedantic level <=N with proof\n" |
5425 |
|
" --proof-print-conclusion\n" |
5426 |
|
" Print conclusion of proof steps when printing AST [*]\n" |
5427 |
|
"\nFrom the SAT Layer module:\n" |
5428 |
|
" --minisat-dump-dimacs instead of solving minisat dumps the asserted clauses\n" |
5429 |
|
" in Dimacs format [*]\n" |
5430 |
|
" --minisat-elimination use Minisat elimination [*]\n" |
5431 |
|
" --random-freq=P | --random-frequency=P\n" |
5432 |
|
" sets the frequency of random decisions in the sat\n" |
5433 |
|
" solver (P=0.0 by default)\n" |
5434 |
|
" --random-seed=S sets the random seed for the sat solver\n" |
5435 |
|
" --refine-conflicts refine theory conflict clauses (default false) [*]\n" |
5436 |
|
" --restart-int-base=N sets the base restart interval for the sat solver (N=25\n" |
5437 |
|
" by default)\n" |
5438 |
|
" --restart-int-inc=F sets the restart interval increase factor for the sat\n" |
5439 |
|
" solver (F=3.0 by default)\n" |
5440 |
|
"\nFrom the Quantifiers module:\n" |
5441 |
|
" --ag-miniscope-quant perform aggressive miniscoping for quantifiers [*]\n" |
5442 |
|
" --cegis-sample=MODE mode for using samples in the counterexample-guided\n" |
5443 |
|
" inductive synthesis loop\n" |
5444 |
|
" --cegqi turns on counterexample-based quantifier instantiation\n" |
5445 |
|
" [*]\n" |
5446 |
|
" --cegqi-all apply counterexample-based instantiation to all\n" |
5447 |
|
" quantified formulas [*]\n" |
5448 |
|
" --cegqi-bv use word-level inversion approach for\n" |
5449 |
|
" counterexample-guided quantifier instantiation for\n" |
5450 |
|
" bit-vectors [*]\n" |
5451 |
|
" --cegqi-bv-concat-inv compute inverse for concat over equalities rather than\n" |
5452 |
|
" producing an invertibility condition [*]\n" |
5453 |
|
" --cegqi-bv-ineq=MODE choose mode for handling bit-vector inequalities with\n" |
5454 |
|
" counterexample-guided instantiation\n" |
5455 |
|
" --cegqi-bv-interleave-value\n" |
5456 |
|
" interleave model value instantiation with word-level\n" |
5457 |
|
" inversion approach [*]\n" |
5458 |
|
" --cegqi-bv-linear linearize adder chains for variables [*]\n" |
5459 |
|
" --cegqi-bv-rm-extract replaces extract terms with variables for\n" |
5460 |
|
" counterexample-guided instantiation for bit-vectors [*]\n" |
5461 |
|
" --cegqi-bv-solve-nl try to solve non-linear bv literals using model value\n" |
5462 |
|
" projections [*]\n" |
5463 |
|
" --cegqi-full turns on full effort counterexample-based quantifier\n" |
5464 |
|
" instantiation, which may resort to model-value\n" |
5465 |
|
" instantiation [*]\n" |
5466 |
|
" --cegqi-innermost only process innermost quantified formulas in\n" |
5467 |
|
" counterexample-based quantifier instantiation [*]\n" |
5468 |
|
" --cegqi-midpoint choose substitutions based on midpoints of lower and\n" |
5469 |
|
" upper bounds for counterexample-based quantifier\n" |
5470 |
|
" instantiation [*]\n" |
5471 |
|
" --cegqi-min-bounds use minimally constrained lower/upper bound for\n" |
5472 |
|
" counterexample-based quantifier instantiation [*]\n" |
5473 |
|
" --cegqi-model guide instantiations by model values for\n" |
5474 |
|
" counterexample-based quantifier instantiation [*]\n" |
5475 |
|
" --cegqi-multi-inst when applicable, do multi instantiations per quantifier\n" |
5476 |
|
" per round in counterexample-based quantifier\n" |
5477 |
|
" instantiation [*]\n" |
5478 |
|
" --cegqi-nested-qe process nested quantified formulas with quantifier\n" |
5479 |
|
" elimination in counterexample-based quantifier\n" |
5480 |
|
" instantiation [*]\n" |
5481 |
|
" --cegqi-nopt non-optimal bounds for counterexample-based quantifier\n" |
5482 |
|
" instantiation [*]\n" |
5483 |
|
" --cegqi-repeat-lit solve literals more than once in counterexample-based\n" |
5484 |
|
" quantifier instantiation [*]\n" |
5485 |
|
" --cegqi-round-up-lia round up integer lower bounds in substitutions for\n" |
5486 |
|
" counterexample-based quantifier instantiation [*]\n" |
5487 |
|
" --cegqi-sat answer sat when quantifiers are asserted with\n" |
5488 |
|
" counterexample-based quantifier instantiation [*]\n" |
5489 |
|
" --cegqi-use-inf-int use integer infinity for vts in counterexample-based\n" |
5490 |
|
" quantifier instantiation [*]\n" |
5491 |
|
" --cegqi-use-inf-real use real infinity for vts in counterexample-based\n" |
5492 |
|
" quantifier instantiation [*]\n" |
5493 |
|
" --cond-var-split-agg-quant\n" |
5494 |
|
" aggressive split quantified formulas that lead to\n" |
5495 |
|
" variable eliminations [*]\n" |
5496 |
|
" --cond-var-split-quant split quantified formulas that lead to variable\n" |
5497 |
|
" eliminations [*]\n" |
5498 |
|
" --conjecture-filter-active-terms\n" |
5499 |
|
" filter based on active terms [*]\n" |
5500 |
|
" --conjecture-filter-canonical\n" |
5501 |
|
" filter based on canonicity [*]\n" |
5502 |
|
" --conjecture-filter-model\n" |
5503 |
|
" filter based on model [*]\n" |
5504 |
|
" --conjecture-gen generate candidate conjectures for inductive proofs [*]\n" |
5505 |
|
" --conjecture-gen-gt-enum=N\n" |
5506 |
|
" number of ground terms to generate for model filtering\n" |
5507 |
|
" --conjecture-gen-max-depth=N\n" |
5508 |
|
" maximum depth of terms to consider for conjectures\n" |
5509 |
|
" --conjecture-gen-per-round=N\n" |
5510 |
|
" number of conjectures to generate per instantiation\n" |
5511 |
|
" round\n" |
5512 |
|
" --conjecture-gen-uee-intro\n" |
5513 |
|
" more aggressive merging for universal equality engine,\n" |
5514 |
|
" introduces terms [*]\n" |
5515 |
|
" --conjecture-no-filter do not filter conjectures [*]\n" |
5516 |
|
" --debug-inst print instantiations during solving (for debugging) [*]\n" |
5517 |
|
" --debug-sygus print enumerated terms and candidates generated by the\n" |
5518 |
|
" sygus solver (for debugging) [*]\n" |
5519 |
|
" --dt-stc-ind apply strengthening for existential quantification over\n" |
5520 |
|
" datatypes based on structural induction [*]\n" |
5521 |
|
" --dt-var-exp-quant expand datatype variables bound to one constructor in\n" |
5522 |
|
" quantifiers [*]\n" |
5523 |
|
" --e-matching whether to do heuristic E-matching [*]\n" |
5524 |
|
" --elim-taut-quant eliminate tautological disjuncts of quantified formulas\n" |
5525 |
|
" [*]\n" |
5526 |
|
" --ext-rewrite-quant apply extended rewriting to bodies of quantified\n" |
5527 |
|
" formulas [*]\n" |
5528 |
|
" --finite-model-find use finite model finding heuristic for quantifier\n" |
5529 |
|
" instantiation [*]\n" |
5530 |
|
" --fmf-bound finite model finding on bounded quantification [*]\n" |
5531 |
|
" --fmf-bound-int finite model finding on bounded integer quantification\n" |
5532 |
|
" [*]\n" |
5533 |
|
" --fmf-bound-lazy enforce bounds for bounded quantification lazily via\n" |
5534 |
|
" use of proxy variables [*]\n" |
5535 |
|
" --fmf-fmc-simple simple models in full model check for finite model\n" |
5536 |
|
" finding [*]\n" |
5537 |
|
" --fmf-fresh-dc use fresh distinguished representative when applying\n" |
5538 |
|
" Inst-Gen techniques [*]\n" |
5539 |
|
" --fmf-fun find models for recursively defined functions, assumes\n" |
5540 |
|
" functions are admissible [*]\n" |
5541 |
|
" --fmf-fun-rlv find models for recursively defined functions, assumes\n" |
5542 |
|
" functions are admissible, allows empty type when\n" |
5543 |
|
" function is irrelevant [*]\n" |
5544 |
|
" --fmf-inst-engine use instantiation engine in conjunction with finite\n" |
5545 |
|
" model finding [*]\n" |
5546 |
|
" --fmf-type-completion-thresh=N\n" |
5547 |
|
" the maximum cardinality of an interpreted type for\n" |
5548 |
|
" which exhaustive enumeration in finite model finding is\n" |
5549 |
|
" attempted\n" |
5550 |
|
" --fs-interleave interleave enumerative instantiation with other\n" |
5551 |
|
" techniques [*]\n" |
5552 |
|
" --fs-stratify stratify effort levels in enumerative instantiation,\n" |
5553 |
|
" which favors speed over fairness [*]\n" |
5554 |
|
" --fs-sum enumerating tuples of quantifiers by increasing the sum\n" |
5555 |
|
" of indices, rather than the maximum [*]\n" |
5556 |
|
" --full-saturate-quant enumerative instantiation: instantiate with ground\n" |
5557 |
|
" terms from relevant domain, then arbitrary ground terms\n" |
5558 |
|
" before answering unknown [*]\n" |
5559 |
|
" --full-saturate-quant-limit=N\n" |
5560 |
|
" maximum number of rounds of enumerative instantiation\n" |
5561 |
|
" to apply (-1 means no limit)\n" |
5562 |
|
" --full-saturate-quant-rd\n" |
5563 |
|
" whether to use relevant domain first for enumerative\n" |
5564 |
|
" instantiation strategy [*]\n" |
5565 |
|
" --global-negate do global negation of input formula [*]\n" |
5566 |
|
" --ho-elim eagerly eliminate higher-order constraints [*]\n" |
5567 |
|
" --ho-elim-store-ax use store axiom during ho-elim [*]\n" |
5568 |
|
" --ho-matching do higher-order matching algorithm for triggers with\n" |
5569 |
|
" variable operators [*]\n" |
5570 |
|
" --ho-matching-var-priority\n" |
5571 |
|
" give priority to variable arguments over constant\n" |
5572 |
|
" arguments [*]\n" |
5573 |
|
" --ho-merge-term-db merge term indices modulo equality [*]\n" |
5574 |
|
" --increment-triggers generate additional triggers as needed during search\n" |
5575 |
|
" [*]\n" |
5576 |
|
" --inst-level-input-only\n" |
5577 |
|
" only input terms are assigned instantiation level zero\n" |
5578 |
|
" [*]\n" |
5579 |
|
" --inst-max-level=N maximum inst level of terms used to instantiate\n" |
5580 |
|
" quantified formulas with (-1 == no limit, default)\n" |
5581 |
|
" --inst-no-entail do not consider instances of quantified formulas that\n" |
5582 |
|
" are currently entailed [*]\n" |
5583 |
|
" --inst-when-phase=N instantiation rounds quantifiers takes (>=1) before\n" |
5584 |
|
" allowing theory combination to happen\n" |
5585 |
|
" --inst-when-strict-interleave\n" |
5586 |
|
" ensure theory combination and standard quantifier\n" |
5587 |
|
" effort strategies take turns [*]\n" |
5588 |
|
" --inst-when-tc-first allow theory combination to happen once initially,\n" |
5589 |
|
" before quantifier strategies are run [*]\n" |
5590 |
|
" --inst-when=MODE when to apply instantiation\n" |
5591 |
|
" --int-wf-ind apply strengthening for integers based on well-founded\n" |
5592 |
|
" induction [*]\n" |
5593 |
|
" --ite-dtt-split-quant split ites with dt testers as conditions [*]\n" |
5594 |
|
" --ite-lift-quant=MODE ite lifting mode for quantified formulas\n" |
5595 |
|
" --literal-matching=MODE\n" |
5596 |
|
" choose literal matching mode\n" |
5597 |
|
" --macros-quant perform quantifiers macro expansion [*]\n" |
5598 |
|
" --macros-quant-mode=MODE\n" |
5599 |
|
" mode for quantifiers macro expansion\n" |
5600 |
|
" --mbqi-interleave interleave model-based quantifier instantiation with\n" |
5601 |
|
" other techniques [*]\n" |
5602 |
|
" --mbqi-one-inst-per-round\n" |
5603 |
|
" only add one instantiation per quantifier per round for\n" |
5604 |
|
" mbqi [*]\n" |
5605 |
|
" --mbqi=MODE choose mode for model-based quantifier instantiation\n" |
5606 |
|
" --miniscope-quant miniscope quantifiers [*]\n" |
5607 |
|
" --miniscope-quant-fv miniscope quantifiers for ground subformulas [*]\n" |
5608 |
|
" --multi-trigger-cache caching version of multi triggers [*]\n" |
5609 |
|
" --multi-trigger-linear implementation of multi triggers where maximum number\n" |
5610 |
|
" of instantiations is linear wrt number of ground terms\n" |
5611 |
|
" [*]\n" |
5612 |
|
" --multi-trigger-priority\n" |
5613 |
|
" only try multi triggers if single triggers give no\n" |
5614 |
|
" instantiations [*]\n" |
5615 |
|
" --multi-trigger-when-single\n" |
5616 |
|
" select multi triggers when single triggers exist [*]\n" |
5617 |
|
" --partial-triggers use triggers that do not contain all free variables [*]\n" |
5618 |
|
" --pool-inst pool-based instantiation: instantiate with ground terms\n" |
5619 |
|
" occurring in user-specified pools [*]\n" |
5620 |
|
" --pre-skolem-quant apply skolemization eagerly to bodies of quantified\n" |
5621 |
|
" formulas [*]\n" |
5622 |
|
" --pre-skolem-quant-agg apply skolemization to quantified formulas aggressively\n" |
5623 |
|
" [*]\n" |
5624 |
|
" --pre-skolem-quant-nested\n" |
5625 |
|
" apply skolemization to nested quantified formulas [*]\n" |
5626 |
|
" --prenex-quant-user prenex quantified formulas with user patterns [*]\n" |
5627 |
|
" --prenex-quant=MODE prenex mode for quantified formulas\n" |
5628 |
|
" --purify-triggers purify triggers, e.g. f( x+1 ) becomes f( y ), x mapsto\n" |
5629 |
|
" y-1 [*]\n" |
5630 |
|
" --qcf-all-conflict add all available conflicting instances during\n" |
5631 |
|
" conflict-based instantiation [*]\n" |
5632 |
|
" --qcf-eager-check-rd optimization, eagerly check relevant domain of matched\n" |
5633 |
|
" position [*]\n" |
5634 |
|
" --qcf-eager-test optimization, test qcf instances eagerly [*]\n" |
5635 |
|
" --qcf-nested-conflict consider conflicts for nested quantifiers [*]\n" |
5636 |
|
" --qcf-skip-rd optimization, skip instances based on possibly\n" |
5637 |
|
" irrelevant portions of quantified formulas [*]\n" |
5638 |
|
" --qcf-tconstraint enable entailment checks for t-constraints in qcf\n" |
5639 |
|
" algorithm [*]\n" |
5640 |
|
" --qcf-vo-exp qcf experimental variable ordering [*]\n" |
5641 |
|
" --quant-alpha-equiv infer alpha equivalence between quantified formulas [*]\n" |
5642 |
|
" --quant-cf enable conflict find mechanism for quantifiers [*]\n" |
5643 |
|
" --quant-cf-mode=MODE what effort to apply conflict find mechanism\n" |
5644 |
|
" --quant-cf-when=MODE when to invoke conflict find mechanism for quantifiers\n" |
5645 |
|
" --quant-dsplit-mode=MODE\n" |
5646 |
|
" mode for dynamic quantifiers splitting\n" |
5647 |
|
" --quant-fun-wd assume that function defined by quantifiers are well\n" |
5648 |
|
" defined [*]\n" |
5649 |
|
" --quant-ind use all available techniques for inductive reasoning\n" |
5650 |
|
" [*]\n" |
5651 |
|
" --quant-rep-mode=MODE selection mode for representatives in quantifiers\n" |
5652 |
|
" engine\n" |
5653 |
|
" --quant-split apply splitting to quantified formulas based on\n" |
5654 |
|
" variable disjoint disjuncts [*]\n" |
5655 |
|
" --register-quant-body-terms\n" |
5656 |
|
" consider ground terms within bodies of quantified\n" |
5657 |
|
" formulas for matching [*]\n" |
5658 |
|
" --relational-triggers choose relational triggers such as x = f(y), x >= f(y)\n" |
5659 |
|
" [*]\n" |
5660 |
|
" --relevant-triggers prefer triggers that are more relevant based on SInE\n" |
5661 |
|
" style analysis [*]\n" |
5662 |
|
" --strict-triggers only instantiate quantifiers with user patterns based\n" |
5663 |
|
" on triggers [*]\n" |
5664 |
|
" --sygus use sygus solver (default is true for sygus inputs) [*]\n" |
5665 |
|
" --sygus-active-gen-cfactor=N\n" |
5666 |
|
" the branching factor for the number of interpreted\n" |
5667 |
|
" constants to consider for each size when using\n" |
5668 |
|
" --sygus-active-gen=enum\n" |
5669 |
|
" --sygus-active-gen=MODE\n" |
5670 |
|
" mode for actively-generated sygus enumerators\n" |
5671 |
|
" --sygus-add-const-grammar\n" |
5672 |
|
" statically add constants appearing in conjecture to\n" |
5673 |
|
" grammars [*]\n" |
5674 |
|
" --sygus-arg-relevant static inference techniques for computing whether\n" |
5675 |
|
" arguments of functions-to-synthesize are relevant [*]\n" |
5676 |
|
" --sygus-auto-unfold enable approach which automatically unfolds transition\n" |
5677 |
|
" systems for directly solving invariant synthesis\n" |
5678 |
|
" problems [*]\n" |
5679 |
|
" --sygus-bool-ite-return-const\n" |
5680 |
|
" Only use Boolean constants for return values in\n" |
5681 |
|
" unification-based function synthesis [*]\n" |
5682 |
|
" --sygus-core-connective\n" |
5683 |
|
" use unsat core analysis to construct Boolean connective\n" |
5684 |
|
" to sygus conjectures [*]\n" |
5685 |
|
" --sygus-crepair-abort abort if constant repair techniques are not applicable\n" |
5686 |
|
" [*]\n" |
5687 |
|
" --sygus-eval-opt use optimized approach for evaluation in sygus [*]\n" |
5688 |
|
" --sygus-eval-unfold do unfolding of sygus evaluation functions [*]\n" |
5689 |
|
" --sygus-eval-unfold-bool\n" |
5690 |
|
" do unfolding of Boolean evaluation functions that\n" |
5691 |
|
" appear in refinement lemmas [*]\n" |
5692 |
|
" --sygus-expr-miner-check-timeout=N\n" |
5693 |
|
" timeout (in milliseconds) for satisfiability checks in\n" |
5694 |
|
" expression miners\n" |
5695 |
|
" --sygus-ext-rew use extended rewriter for sygus [*]\n" |
5696 |
|
" --sygus-filter-sol-rev compute backwards filtering to compute whether previous\n" |
5697 |
|
" solutions are filtered based on later ones (EXPERTS\n" |
5698 |
|
" only) [*]\n" |
5699 |
|
" --sygus-filter-sol=MODE\n" |
5700 |
|
" mode for filtering sygus solutions\n" |
5701 |
|
" --sygus-grammar-cons=MODE\n" |
5702 |
|
" mode for SyGuS grammar construction\n" |
5703 |
|
" --sygus-grammar-norm statically normalize sygus grammars based on flattening\n" |
5704 |
|
" (linearization) [*]\n" |
5705 |
|
" --sygus-inference attempt to preprocess arbitrary inputs to sygus\n" |
5706 |
|
" conjectures [*]\n" |
5707 |
|
" --sygus-inst Enable SyGuS instantiation quantifiers module [*]\n" |
5708 |
|
" --sygus-inst-mode=MODE select instantiation lemma mode\n" |
5709 |
|
" --sygus-inst-scope=MODE\n" |
5710 |
|
" select scope of ground terms\n" |
5711 |
|
" --sygus-inst-term-sel=MODE\n" |
5712 |
|
" granularity for ground terms\n" |
5713 |
|
" --sygus-inv-templ-when-sg\n" |
5714 |
|
" use invariant templates (with solution reconstruction)\n" |
5715 |
|
" for syntax guided problems [*]\n" |
5716 |
|
" --sygus-inv-templ=MODE template mode for sygus invariant synthesis (weaken\n" |
5717 |
|
" pre-condition, strengthen post-condition, or none)\n" |
5718 |
|
" --sygus-min-grammar statically minimize sygus grammars [*]\n" |
5719 |
|
" --sygus-pbe enable approach which unifies conditional solutions,\n" |
5720 |
|
" specialized for programming-by-examples (pbe)\n" |
5721 |
|
" conjectures [*]\n" |
5722 |
|
" --sygus-pbe-multi-fair when using multiple enumerators, ensure that we only\n" |
5723 |
|
" register value of minimial term size [*]\n" |
5724 |
|
" --sygus-pbe-multi-fair-diff=N\n" |
5725 |
|
" when using multiple enumerators, ensure that we only\n" |
5726 |
|
" register values of minimial term size plus this value\n" |
5727 |
|
" (default 0)\n" |
5728 |
|
" --sygus-qe-preproc use quantifier elimination as a preprocessing step for\n" |
5729 |
|
" sygus [*]\n" |
5730 |
|
" --sygus-query-gen use sygus to enumerate interesting satisfiability\n" |
5731 |
|
" queries [*]\n" |
5732 |
|
" --sygus-query-gen-check\n" |
5733 |
|
" use interesting satisfiability queries to check\n" |
5734 |
|
" soundness of cvc5 [*]\n" |
5735 |
|
" --sygus-query-gen-dump-files=MODE\n" |
5736 |
|
" mode for dumping external files corresponding to\n" |
5737 |
|
" interesting satisfiability queries with sygus-query-gen\n" |
5738 |
|
" --sygus-query-gen-thresh=N\n" |
5739 |
|
" number of points that we allow to be equal for\n" |
5740 |
|
" enumerating satisfiable queries with sygus-query-gen\n" |
5741 |
|
" --sygus-rec-fun enable efficient support for recursive functions in\n" |
5742 |
|
" sygus grammars [*]\n" |
5743 |
|
" --sygus-rec-fun-eval-limit=N\n" |
5744 |
|
" use a hard limit for how many times in a given\n" |
5745 |
|
" evaluator call a recursive function can be evaluated\n" |
5746 |
|
" (so infinite loops can be avoided)\n" |
5747 |
|
" --sygus-repair-const use approach to repair constants in sygus candidate\n" |
5748 |
|
" solutions [*]\n" |
5749 |
|
" --sygus-repair-const-timeout=N\n" |
5750 |
|
" timeout (in milliseconds) for the satisfiability check\n" |
5751 |
|
" to repair constants in sygus candidate solutions\n" |
5752 |
|
" --sygus-rr use sygus to enumerate and verify correctness of\n" |
5753 |
|
" rewrite rules [*]\n" |
5754 |
|
" --sygus-rr-synth use sygus to enumerate candidate rewrite rules [*]\n" |
5755 |
|
" --sygus-rr-synth-accel add dynamic symmetry breaking clauses based on\n" |
5756 |
|
" candidate rewrites [*]\n" |
5757 |
|
" --sygus-rr-synth-check use satisfiability check to verify correctness of\n" |
5758 |
|
" candidate rewrites [*]\n" |
5759 |
|
" --sygus-rr-synth-filter-cong\n" |
5760 |
|
" filter candidate rewrites based on congruence [*]\n" |
5761 |
|
" --sygus-rr-synth-filter-match\n" |
5762 |
|
" filter candidate rewrites based on matching [*]\n" |
5763 |
|
" --sygus-rr-synth-filter-nl\n" |
5764 |
|
" filter non-linear candidate rewrites [*]\n" |
5765 |
|
" --sygus-rr-synth-filter-order\n" |
5766 |
|
" filter candidate rewrites based on variable ordering\n" |
5767 |
|
" [*]\n" |
5768 |
|
" --sygus-rr-synth-input synthesize rewrite rules based on the input formula [*]\n" |
5769 |
|
" --sygus-rr-synth-input-nvars=N\n" |
5770 |
|
" the maximum number of variables per type that appear in\n" |
5771 |
|
" rewrites from sygus-rr-synth-input\n" |
5772 |
|
" --sygus-rr-synth-input-use-bool\n" |
5773 |
|
" synthesize Boolean rewrite rules based on the input\n" |
5774 |
|
" formula [*]\n" |
5775 |
|
" --sygus-rr-synth-rec synthesize rewrite rules over all sygus grammar types\n" |
5776 |
|
" recursively [*]\n" |
5777 |
|
" --sygus-rr-verify use sygus to verify the correctness of rewrite rules\n" |
5778 |
|
" via sampling [*]\n" |
5779 |
|
" --sygus-rr-verify-abort\n" |
5780 |
|
" abort when sygus-rr-verify finds an instance of\n" |
5781 |
|
" unsoundness [*]\n" |
5782 |
|
" --sygus-sample-fp-uniform\n" |
5783 |
|
" sample floating-point values uniformly instead of in a\n" |
5784 |
|
" biased fashion [*]\n" |
5785 |
|
" --sygus-sample-grammar when applicable, use grammar for choosing sample points\n" |
5786 |
|
" [*]\n" |
5787 |
|
" --sygus-samples=N number of points to consider when doing sygus rewriter\n" |
5788 |
|
" sample testing\n" |
5789 |
|
" --sygus-si-abort abort if synthesis conjecture is not single invocation\n" |
5790 |
|
" [*]\n" |
5791 |
|
" --sygus-si-partial combined techniques for synthesis conjectures that are\n" |
5792 |
|
" partially single invocation [*]\n" |
5793 |
|
" --sygus-si-rcons-limit=N\n" |
5794 |
|
" number of rounds of enumeration to use during solution\n" |
5795 |
|
" reconstruction (negative means unlimited)\n" |
5796 |
|
" --sygus-si-rcons=MODE policy for reconstructing solutions for single\n" |
5797 |
|
" invocation conjectures\n" |
5798 |
|
" --sygus-si-reconstruct-const\n" |
5799 |
|
" include constants when reconstruct solutions for single\n" |
5800 |
|
" invocation conjectures in original grammar [*]\n" |
5801 |
|
" --sygus-si=MODE mode for processing single invocation synthesis\n" |
5802 |
|
" conjectures\n" |
5803 |
|
" --sygus-stream enumerate a stream of solutions instead of terminating\n" |
5804 |
|
" after the first one [*]\n" |
5805 |
|
" --sygus-templ-embed-grammar\n" |
5806 |
|
" embed sygus templates into grammars [*]\n" |
5807 |
|
" --sygus-unif-cond-independent-no-repeat-sol\n" |
5808 |
|
" Do not try repeated solutions when using independent\n" |
5809 |
|
" synthesis of conditions in unification-based function\n" |
5810 |
|
" synthesis [*]\n" |
5811 |
|
" --sygus-unif-pi=MODE mode for synthesis via piecewise-indepedent unification\n" |
5812 |
|
" --sygus-unif-shuffle-cond\n" |
5813 |
|
" Shuffle condition pool when building solutions (may\n" |
5814 |
|
" change solutions sizes) [*]\n" |
5815 |
|
" --term-db-cd register terms in term database based on the SAT\n" |
5816 |
|
" context [*]\n" |
5817 |
|
" --term-db-mode=MODE which ground terms to consider for instantiation\n" |
5818 |
|
" --trigger-active-sel=MODE\n" |
5819 |
|
" selection mode to activate triggers\n" |
5820 |
|
" --trigger-sel=MODE selection mode for triggers\n" |
5821 |
|
" --user-pat=MODE policy for handling user-provided patterns for\n" |
5822 |
|
" quantifier instantiation\n" |
5823 |
|
" --var-elim-quant enable simple variable elimination for quantified\n" |
5824 |
|
" formulas [*]\n" |
5825 |
|
" --var-ineq-elim-quant enable variable elimination based on infinite\n" |
5826 |
|
" projection of unbound arithmetic variables [*]\n" |
5827 |
|
"\nFrom the Resource Manager module:\n" |
5828 |
|
" --rweight=VAL=N set a single resource weight (EXPERTS only)\n" |
5829 |
|
"\nFrom the Separation Logic Theory module:\n" |
5830 |
|
" --sep-check-neg check negated spatial assertions [*]\n" |
5831 |
|
" --sep-child-refine child-specific refinements of negated star, positive\n" |
5832 |
|
" wand [*]\n" |
5833 |
|
" --sep-deq-c assume cardinality elements are distinct [*]\n" |
5834 |
|
" --sep-exp experimental flag for sep [*]\n" |
5835 |
|
" --sep-min-refine only add refinement lemmas for minimal (innermost)\n" |
5836 |
|
" assertions [*]\n" |
5837 |
|
" --sep-pre-skolem-emp eliminate emp constraint at preprocess time [*]\n" |
5838 |
|
"\nFrom the Sets Theory module:\n" |
5839 |
|
" --sets-ext enable extended symbols such as complement and universe\n" |
5840 |
|
" in theory of sets [*]\n" |
5841 |
|
" --sets-infer-as-lemmas send inferences as lemmas [*]\n" |
5842 |
|
" --sets-proxy-lemmas introduce proxy variables eagerly to shorten lemmas [*]\n" |
5843 |
|
"\nFrom the SMT Layer module:\n" |
5844 |
|
" --abstract-values in models, output arrays (and in future, maybe others)\n" |
5845 |
|
" using abstract values, as required by the SMT-LIB\n" |
5846 |
|
" standard [*]\n" |
5847 |
|
" --ackermann eliminate functions by ackermannization [*]\n" |
5848 |
|
" --block-models=MODE mode for producing several models\n" |
5849 |
|
" --check-abducts checks whether produced solutions to get-abduct are\n" |
5850 |
|
" correct [*]\n" |
5851 |
|
" --check-interpols checks whether produced solutions to get-interpol are\n" |
5852 |
|
" correct [*]\n" |
5853 |
|
" --check-models after SAT/INVALID/UNKNOWN, check that the generated\n" |
5854 |
|
" model satisfies user assertions [*]\n" |
5855 |
|
" --check-proofs after UNSAT/VALID, check the generated proof (with\n" |
5856 |
|
" proof) [*]\n" |
5857 |
|
" --check-synth-sol checks whether produced solutions to\n" |
5858 |
|
" functions-to-synthesize satisfy the conjecture [*]\n" |
5859 |
|
" --check-unsat-cores after UNSAT/VALID, produce and check an unsat core\n" |
5860 |
|
" (expensive) [*]\n" |
5861 |
|
" --debug-check-models after SAT/INVALID/UNKNOWN, check that the generated\n" |
5862 |
|
" model satisfies user and internal assertions [*]\n" |
5863 |
|
" --diagnostic-output-channel=CHANNEL\n" |
5864 |
|
" set the diagnostic output channel of the solver\n" |
5865 |
|
" --dump-instantiations output instantiations of quantified formulas after\n" |
5866 |
|
" every UNSAT/VALID response [*]\n" |
5867 |
|
" --dump-models output models after every SAT/INVALID/UNKNOWN response\n" |
5868 |
|
" [*]\n" |
5869 |
|
" --dump-proofs output proofs after every UNSAT/VALID response [*]\n" |
5870 |
|
" --dump-unsat-cores output unsat cores after every UNSAT/VALID response [*]\n" |
5871 |
|
" --dump-unsat-cores-full\n" |
5872 |
|
" dump the full unsat core, including unlabeled\n" |
5873 |
|
" assertions [*]\n" |
5874 |
|
" --early-ite-removal remove ITEs early in preprocessing [*]\n" |
5875 |
|
" --expand-definitions always expand symbol definitions in output [*]\n" |
5876 |
|
" --ext-rew-prep use extended rewriter as a preprocessing pass [*]\n" |
5877 |
|
" --ext-rew-prep-agg use aggressive extended rewriter as a preprocessing\n" |
5878 |
|
" pass [*]\n" |
5879 |
|
" --force-no-limit-cpu-while-dump\n" |
5880 |
|
" Force no CPU limit when dumping models and proofs [*]\n" |
5881 |
|
" --foreign-theory-rewrite\n" |
5882 |
|
" Cross-theory rewrites [*]\n" |
5883 |
|
" --ite-simp turn on ite simplification (Kim (and Somenzi) et al.,\n" |
5884 |
|
" SAT 2009) [*]\n" |
5885 |
|
" --model-cores=MODE mode for producing model cores\n" |
5886 |
|
" --model-u-print=MODE | --model-uninterp-print=MODE\n" |
5887 |
|
" determines how to print uninterpreted elements in\n" |
5888 |
|
" models\n" |
5889 |
|
" --model-witness-value in models, use a witness constant for choice functions\n" |
5890 |
|
" [*]\n" |
5891 |
|
" --on-repeat-ite-simp do the ite simplification pass again if repeating\n" |
5892 |
|
" simplification [*]\n" |
5893 |
|
" --produce-assignments support the get-assignment command [*]\n" |
5894 |
|
" --produce-proofs produce proofs, support check-proofs and get-proof [*]\n" |
5895 |
|
" --produce-unsat-assumptions\n" |
5896 |
|
" turn on unsat assumptions generation [*]\n" |
5897 |
|
" --produce-unsat-cores turn on unsat core generation. Unless otherwise\n" |
5898 |
|
" specified, cores will be produced using SAT soving\n" |
5899 |
|
" under assumptions and preprocessing proofs. [*]\n" |
5900 |
|
" --regular-output-channel=CHANNEL\n" |
5901 |
|
" set the regular output channel of the solver\n" |
5902 |
|
" --repeat-simp make multiple passes with nonclausal simplifier [*]\n" |
5903 |
|
" --simp-ite-compress enables compressing ites after ite simplification [*]\n" |
5904 |
|
" --simp-ite-hunt-zombies=N\n" |
5905 |
|
" post ite compression enables zombie removal while the\n" |
5906 |
|
" number of nodes is above this threshold\n" |
5907 |
|
" --simp-with-care enables simplifyWithCare in ite simplificiation [*]\n" |
5908 |
|
" --simplification=MODE | --simplification-mode=MODE\n" |
5909 |
|
" choose simplification mode, see --simplification=help\n" |
5910 |
|
" --sort-inference calculate sort inference of input problem, convert the\n" |
5911 |
|
" input based on monotonic sorts [*]\n" |
5912 |
|
" --static-learning use static learning (on by default) [*]\n" |
5913 |
|
" --sygus-out=MODE output mode for sygus\n" |
5914 |
|
" --sygus-print-callbacks\n" |
5915 |
|
" use sygus print callbacks to print sygus terms in the\n" |
5916 |
|
" user-provided form (disable for debugging) [*]\n" |
5917 |
|
" --unconstrained-simp turn on unconstrained simplification (see\n" |
5918 |
|
" Bruttomesso/Brummayer PhD thesis). Fully supported only\n" |
5919 |
|
" in (subsets of) the logic QF_ABV. [*]\n" |
5920 |
|
" --unsat-cores-mode=MODE\n" |
5921 |
|
" choose unsat core mode, see --unsat-cores-mode=help\n" |
5922 |
|
"\nFrom the Strings Theory module:\n" |
5923 |
|
" --re-elim elimination techniques for regular expressions [*]\n" |
5924 |
|
" --re-elim-agg aggressive elimination techniques for regular\n" |
5925 |
|
" expressions [*]\n" |
5926 |
|
" --re-inter-mode=MODE determines which regular expressions intersections to\n" |
5927 |
|
" compute (EXPERTS only)\n" |
5928 |
|
" --strings-check-entail-len\n" |
5929 |
|
" check entailment between length terms to reduce\n" |
5930 |
|
" splitting [*]\n" |
5931 |
|
" --strings-eager strings eager check [*]\n" |
5932 |
|
" --strings-eager-eval perform eager context-dependent evaluation for\n" |
5933 |
|
" applications of string kinds [*]\n" |
5934 |
|
" --strings-eager-len strings eager length lemmas [*]\n" |
5935 |
|
" --strings-exp experimental features in the theory of strings [*]\n" |
5936 |
|
" --strings-ff do flat form inferences [*]\n" |
5937 |
|
" --strings-fmf the finite model finding used by the theory of strings\n" |
5938 |
|
" [*]\n" |
5939 |
|
" --strings-guess-model use model guessing to avoid string extended function\n" |
5940 |
|
" reductions [*]\n" |
5941 |
|
" --strings-infer-as-lemmas\n" |
5942 |
|
" always send lemmas out instead of making internal\n" |
5943 |
|
" inferences [*]\n" |
5944 |
|
" --strings-infer-sym strings split on empty string [*]\n" |
5945 |
|
" --strings-inm internal for strings: ignore negative membership\n" |
5946 |
|
" constraints (fragment checking is needed, left to users\n" |
5947 |
|
" for now) [*]\n" |
5948 |
|
" --strings-lazy-pp perform string preprocessing lazily [*]\n" |
5949 |
|
" --strings-len-norm strings length normalization lemma [*]\n" |
5950 |
|
" --strings-lprop-csp do length propagation based on constant splits [*]\n" |
5951 |
|
" --strings-min-prefix-explain\n" |
5952 |
|
" minimize explanations for prefix of normal forms in\n" |
5953 |
|
" strings [*]\n" |
5954 |
|
" --strings-process-loop-mode=MODE\n" |
5955 |
|
" determines how to process looping string equations\n" |
5956 |
|
" (EXPERTS only)\n" |
5957 |
|
" --strings-rexplain-lemmas\n" |
5958 |
|
" regression explanations for string lemmas [*]\n" |
5959 |
|
" --strings-unified-vspt use a single skolem for the variable splitting rule [*]\n" |
5960 |
|
"\nFrom the Theory Layer module:\n" |
5961 |
|
" --assign-function-values\n" |
5962 |
|
" assign values for uninterpreted functions in models [*]\n" |
5963 |
|
" --condense-function-values\n" |
5964 |
|
" condense values for functions in models rather than\n" |
5965 |
|
" explicitly representing them [*]\n" |
5966 |
|
" --ee-mode=MODE mode for managing equalities across theory solvers\n" |
5967 |
|
" (EXPERTS only)\n" |
5968 |
|
" --relevance-filter enable analysis of relevance of asserted literals with\n" |
5969 |
|
" respect to the input formula [*]\n" |
5970 |
|
" --tc-mode=MODE mode for theory combination (EXPERTS only)\n" |
5971 |
|
" --theoryof-mode=MODE mode for Theory::theoryof() (EXPERTS only)\n" |
5972 |
|
"\nFrom the Uninterpreted Functions Theory module:\n" |
5973 |
|
" --symmetry-breaker | --uf-symmetry-breaker\n" |
5974 |
|
" use UF symmetry breaker (Deharbe et al., CADE 2011) [*]\n" |
5975 |
|
" --uf-ho enable support for higher-order reasoning [*]\n" |
5976 |
|
" --uf-ho-ext apply extensionality on function symbols [*]\n" |
5977 |
|
" --uf-ss-abort-card=N tells the uf with cardinality to only consider models\n" |
5978 |
|
" that interpret uninterpreted sorts of cardinality at\n" |
5979 |
|
" most N (-1 == no limit, default)\n" |
5980 |
|
" --uf-ss-fair use fair strategy for finite model finding multiple\n" |
5981 |
|
" sorts [*]\n" |
5982 |
|
" --uf-ss-fair-monotone group monotone sorts when enforcing fairness for finite\n" |
5983 |
|
" model finding [*]\n" |
5984 |
|
" --uf-ss-totality-limited=N\n" |
5985 |
|
" apply totality axioms, but only up to cardinality N (-1\n" |
5986 |
|
" == do not apply totality axioms, default)\n" |
5987 |
|
" --uf-ss-totality-sym-break\n" |
5988 |
|
" apply symmetry breaking for totality axioms [*]\n" |
5989 |
|
" --uf-ss=MODE mode of operation for uf with cardinality solver.\n"; |
5990 |
|
// clang-format on |
5991 |
|
|
5992 |
9245 |
static const std::string optionsFootnote = "\n\ |
5993 |
|
[*] Each of these options has a --no-OPTIONNAME variant, which reverses the\n\ |
5994 |
|
sense of the option.\n\ |
5995 |
|
"; |
5996 |
|
|
5997 |
9245 |
static const std::string languageDescription = |
5998 |
|
"\ |
5999 |
|
Languages currently supported as arguments to the -L / --lang option:\n\ |
6000 |
|
auto attempt to automatically determine language\n\ |
6001 |
|
cvc | presentation | pl CVC presentation language\n\ |
6002 |
|
smt | smtlib | smt2 |\n\ |
6003 |
|
smt2.6 | smtlib2.6 SMT-LIB format 2.6 with support for the strings standard\n\ |
6004 |
|
tptp TPTP format (cnf, fof and tff)\n\ |
6005 |
|
sygus | sygus2 SyGuS version 2.0\n\ |
6006 |
|
\n\ |
6007 |
|
Languages currently supported as arguments to the --output-lang option:\n\ |
6008 |
|
auto match output language to input language\n\ |
6009 |
|
cvc | presentation | pl CVC presentation language\n\ |
6010 |
|
smt | smtlib | smt2 |\n\ |
6011 |
|
smt2.6 | smtlib2.6 SMT-LIB format 2.6 with support for the strings standard\n\ |
6012 |
|
tptp TPTP format\n\ |
6013 |
|
ast internal format (simple syntax trees)\n\ |
6014 |
|
"; |
6015 |
|
|
6016 |
|
std::string Options::getDescription() const { |
6017 |
|
return optionsDescription; |
6018 |
|
} |
6019 |
|
|
6020 |
|
void Options::printUsage(const std::string msg, std::ostream& out) { |
6021 |
|
out << msg << optionsDescription << std::endl |
6022 |
|
<< optionsFootnote << std::endl << std::flush; |
6023 |
|
} |
6024 |
|
|
6025 |
|
void Options::printShortUsage(const std::string msg, std::ostream& out) { |
6026 |
|
out << msg << mostCommonOptionsDescription << std::endl |
6027 |
|
<< optionsFootnote << std::endl |
6028 |
|
<< "For full usage, please use --help." |
6029 |
|
<< std::endl << std::endl << std::flush; |
6030 |
|
} |
6031 |
|
|
6032 |
|
void Options::printLanguageHelp(std::ostream& out) { |
6033 |
|
out << languageDescription << std::flush; |
6034 |
|
} |
6035 |
|
|
6036 |
|
/** |
6037 |
|
* This is a table of long options. By policy, each short option |
6038 |
|
* should have an equivalent long option (but the reverse isn't the |
6039 |
|
* case), so this table should thus contain all command-line options. |
6040 |
|
* |
6041 |
|
* Each option in this array has four elements: |
6042 |
|
* |
6043 |
|
* 1. the long option string |
6044 |
|
* 2. argument behavior for the option: |
6045 |
|
* no_argument - no argument permitted |
6046 |
|
* required_argument - an argument is expected |
6047 |
|
* optional_argument - an argument is permitted but not required |
6048 |
|
* 3. this is a pointer to an int which is set to the 4th entry of the |
6049 |
|
* array if the option is present; or NULL, in which case |
6050 |
|
* getopt_long() returns the 4th entry |
6051 |
|
* 4. the return value for getopt_long() when this long option (or the |
6052 |
|
* value to set the 3rd entry to; see #3) |
6053 |
|
* |
6054 |
|
* If you add something here, you should add it in src/main/usage.h |
6055 |
|
* also, to document it. |
6056 |
|
* |
6057 |
|
* If you add something that has a short option equivalent, you should |
6058 |
|
* add it to the getopt_long() call in parseOptions(). |
6059 |
|
*/ |
6060 |
|
// clang-format off |
6061 |
|
static struct option cmdlineOptions[] = { |
6062 |
|
{ "approx-branch-depth", required_argument, nullptr, 256 }, |
6063 |
|
{ "arith-brab", no_argument, nullptr, 257 }, |
6064 |
|
{ "no-arith-brab", no_argument, nullptr, 258 }, |
6065 |
|
{ "arith-no-partial-fun", no_argument, nullptr, 259 }, |
6066 |
|
{ "no-arith-no-partial-fun", no_argument, nullptr, 260 }, |
6067 |
|
{ "arith-prop-clauses", required_argument, nullptr, 261 }, |
6068 |
|
{ "arith-prop", required_argument, nullptr, 262 }, |
6069 |
|
{ "arith-rewrite-equalities", no_argument, nullptr, 263 }, |
6070 |
|
{ "no-arith-rewrite-equalities", no_argument, nullptr, 264 }, |
6071 |
|
{ "collect-pivot-stats", no_argument, nullptr, 265 }, |
6072 |
|
{ "no-collect-pivot-stats", no_argument, nullptr, 266 }, |
6073 |
|
{ "cut-all-bounded", no_argument, nullptr, 267 }, |
6074 |
|
{ "no-cut-all-bounded", no_argument, nullptr, 268 }, |
6075 |
|
{ "dio-decomps", no_argument, nullptr, 269 }, |
6076 |
|
{ "no-dio-decomps", no_argument, nullptr, 270 }, |
6077 |
|
{ "dio-repeat", no_argument, nullptr, 271 }, |
6078 |
|
{ "no-dio-repeat", no_argument, nullptr, 272 }, |
6079 |
|
{ "dio-solver", no_argument, nullptr, 273 }, |
6080 |
|
{ "no-dio-solver", no_argument, nullptr, 274 }, |
6081 |
|
{ "dio-turns", required_argument, nullptr, 275 }, |
6082 |
|
{ "error-selection-rule", required_argument, nullptr, 276 }, |
6083 |
|
{ "fc-penalties", no_argument, nullptr, 277 }, |
6084 |
|
{ "no-fc-penalties", no_argument, nullptr, 278 }, |
6085 |
|
{ "heuristic-pivots", required_argument, nullptr, 279 }, |
6086 |
|
{ "lemmas-on-replay-failure", no_argument, nullptr, 280 }, |
6087 |
|
{ "no-lemmas-on-replay-failure", no_argument, nullptr, 281 }, |
6088 |
|
{ "maxCutsInContext", required_argument, nullptr, 282 }, |
6089 |
|
{ "miplib-trick", no_argument, nullptr, 283 }, |
6090 |
|
{ "no-miplib-trick", no_argument, nullptr, 284 }, |
6091 |
|
{ "miplib-trick-subs", required_argument, nullptr, 285 }, |
6092 |
|
{ "new-prop", no_argument, nullptr, 286 }, |
6093 |
|
{ "no-new-prop", no_argument, nullptr, 287 }, |
6094 |
|
{ "nl-cad", no_argument, nullptr, 288 }, |
6095 |
|
{ "no-nl-cad", no_argument, nullptr, 289 }, |
6096 |
|
{ "nl-cad-initial", no_argument, nullptr, 290 }, |
6097 |
|
{ "no-nl-cad-initial", no_argument, nullptr, 291 }, |
6098 |
|
{ "nl-ext-ent-conf", no_argument, nullptr, 292 }, |
6099 |
|
{ "no-nl-ext-ent-conf", no_argument, nullptr, 293 }, |
6100 |
|
{ "nl-ext-factor", no_argument, nullptr, 294 }, |
6101 |
|
{ "no-nl-ext-factor", no_argument, nullptr, 295 }, |
6102 |
|
{ "nl-ext-inc-prec", no_argument, nullptr, 296 }, |
6103 |
|
{ "no-nl-ext-inc-prec", no_argument, nullptr, 297 }, |
6104 |
|
{ "nl-ext-purify", no_argument, nullptr, 298 }, |
6105 |
|
{ "no-nl-ext-purify", no_argument, nullptr, 299 }, |
6106 |
|
{ "nl-ext-rbound", no_argument, nullptr, 300 }, |
6107 |
|
{ "no-nl-ext-rbound", no_argument, nullptr, 301 }, |
6108 |
|
{ "nl-ext-rewrite", no_argument, nullptr, 302 }, |
6109 |
|
{ "no-nl-ext-rewrite", no_argument, nullptr, 303 }, |
6110 |
|
{ "nl-ext-split-zero", no_argument, nullptr, 304 }, |
6111 |
|
{ "no-nl-ext-split-zero", no_argument, nullptr, 305 }, |
6112 |
|
{ "nl-ext-tf-taylor-deg", required_argument, nullptr, 306 }, |
6113 |
|
{ "nl-ext-tf-tplanes", no_argument, nullptr, 307 }, |
6114 |
|
{ "no-nl-ext-tf-tplanes", no_argument, nullptr, 308 }, |
6115 |
|
{ "nl-ext-tplanes", no_argument, nullptr, 309 }, |
6116 |
|
{ "no-nl-ext-tplanes", no_argument, nullptr, 310 }, |
6117 |
|
{ "nl-ext-tplanes-interleave", no_argument, nullptr, 311 }, |
6118 |
|
{ "no-nl-ext-tplanes-interleave", no_argument, nullptr, 312 }, |
6119 |
|
{ "nl-ext", required_argument, nullptr, 313 }, |
6120 |
|
{ "nl-icp", no_argument, nullptr, 314 }, |
6121 |
|
{ "no-nl-icp", no_argument, nullptr, 315 }, |
6122 |
|
{ "nl-rlv", required_argument, nullptr, 316 }, |
6123 |
|
{ "pb-rewrites", no_argument, nullptr, 317 }, |
6124 |
|
{ "no-pb-rewrites", no_argument, nullptr, 318 }, |
6125 |
|
{ "pivot-threshold", required_argument, nullptr, 319 }, |
6126 |
|
{ "pp-assert-max-sub-size", required_argument, nullptr, 320 }, |
6127 |
|
{ "prop-row-length", required_argument, nullptr, 321 }, |
6128 |
|
{ "replay-early-close-depth", required_argument, nullptr, 322 }, |
6129 |
|
{ "replay-failure-penalty", required_argument, nullptr, 323 }, |
6130 |
|
{ "replay-lemma-reject-cut", required_argument, nullptr, 324 }, |
6131 |
|
{ "replay-num-err-penalty", required_argument, nullptr, 325 }, |
6132 |
|
{ "replay-reject-cut", required_argument, nullptr, 326 }, |
6133 |
|
{ "replay-soi-major-threshold-pen", required_argument, nullptr, 327 }, |
6134 |
|
{ "replay-soi-major-threshold", required_argument, nullptr, 328 }, |
6135 |
|
{ "replay-soi-minor-threshold-pen", required_argument, nullptr, 329 }, |
6136 |
|
{ "replay-soi-minor-threshold", required_argument, nullptr, 330 }, |
6137 |
|
{ "restrict-pivots", no_argument, nullptr, 331 }, |
6138 |
|
{ "no-restrict-pivots", no_argument, nullptr, 332 }, |
6139 |
|
{ "revert-arith-models-on-unsat", no_argument, nullptr, 333 }, |
6140 |
|
{ "no-revert-arith-models-on-unsat", no_argument, nullptr, 334 }, |
6141 |
|
{ "rr-turns", required_argument, nullptr, 335 }, |
6142 |
|
{ "se-solve-int", no_argument, nullptr, 336 }, |
6143 |
|
{ "no-se-solve-int", no_argument, nullptr, 337 }, |
6144 |
|
{ "simplex-check-period", required_argument, nullptr, 338 }, |
6145 |
|
{ "soi-qe", no_argument, nullptr, 339 }, |
6146 |
|
{ "no-soi-qe", no_argument, nullptr, 340 }, |
6147 |
|
{ "standard-effort-variable-order-pivots", required_argument, nullptr, 341 }, |
6148 |
|
{ "unate-lemmas", required_argument, nullptr, 342 }, |
6149 |
|
{ "use-approx", no_argument, nullptr, 343 }, |
6150 |
|
{ "no-use-approx", no_argument, nullptr, 344 }, |
6151 |
|
{ "use-fcsimplex", no_argument, nullptr, 345 }, |
6152 |
|
{ "no-use-fcsimplex", no_argument, nullptr, 346 }, |
6153 |
|
{ "use-soi", no_argument, nullptr, 347 }, |
6154 |
|
{ "no-use-soi", no_argument, nullptr, 348 }, |
6155 |
|
{ "arrays-config", required_argument, nullptr, 349 }, |
6156 |
|
{ "arrays-eager-index", no_argument, nullptr, 350 }, |
6157 |
|
{ "no-arrays-eager-index", no_argument, nullptr, 351 }, |
6158 |
|
{ "arrays-eager-lemmas", no_argument, nullptr, 352 }, |
6159 |
|
{ "no-arrays-eager-lemmas", no_argument, nullptr, 353 }, |
6160 |
|
{ "arrays-exp", no_argument, nullptr, 354 }, |
6161 |
|
{ "no-arrays-exp", no_argument, nullptr, 355 }, |
6162 |
|
{ "arrays-model-based", no_argument, nullptr, 356 }, |
6163 |
|
{ "no-arrays-model-based", no_argument, nullptr, 357 }, |
6164 |
|
{ "arrays-optimize-linear", no_argument, nullptr, 358 }, |
6165 |
|
{ "no-arrays-optimize-linear", no_argument, nullptr, 359 }, |
6166 |
|
{ "arrays-prop", required_argument, nullptr, 360 }, |
6167 |
|
{ "arrays-reduce-sharing", no_argument, nullptr, 361 }, |
6168 |
|
{ "no-arrays-reduce-sharing", no_argument, nullptr, 362 }, |
6169 |
|
{ "arrays-weak-equiv", no_argument, nullptr, 363 }, |
6170 |
|
{ "no-arrays-weak-equiv", no_argument, nullptr, 364 }, |
6171 |
|
{ "debug", required_argument, nullptr, 365 }, |
6172 |
|
{ "lang", required_argument, nullptr, 366 }, |
6173 |
|
{ "input-language", required_argument, nullptr, 367 }, |
6174 |
|
{ "output-lang", required_argument, nullptr, 368 }, |
6175 |
|
{ "output-language", required_argument, nullptr, 369 }, |
6176 |
|
{ "parse-only", no_argument, nullptr, 370 }, |
6177 |
|
{ "no-parse-only", no_argument, nullptr, 371 }, |
6178 |
|
{ "preprocess-only", no_argument, nullptr, 372 }, |
6179 |
|
{ "no-preprocess-only", no_argument, nullptr, 373 }, |
6180 |
|
{ "print-success", no_argument, nullptr, 374 }, |
6181 |
|
{ "no-print-success", no_argument, nullptr, 375 }, |
6182 |
|
{ "quiet", no_argument, nullptr, 376 }, |
6183 |
|
{ "stats", no_argument, nullptr, 377 }, |
6184 |
|
{ "no-stats", no_argument, nullptr, 378 }, |
6185 |
|
{ "stats-all", no_argument, nullptr, 379 }, |
6186 |
|
{ "no-stats-all", no_argument, nullptr, 380 }, |
6187 |
|
{ "stats-every-query", no_argument, nullptr, 381 }, |
6188 |
|
{ "no-stats-every-query", no_argument, nullptr, 382 }, |
6189 |
|
{ "stats-expert", no_argument, nullptr, 383 }, |
6190 |
|
{ "no-stats-expert", no_argument, nullptr, 384 }, |
6191 |
|
{ "trace", required_argument, nullptr, 385 }, |
6192 |
|
{ "verbose", no_argument, nullptr, 386 }, |
6193 |
|
{ "verbosity", required_argument, nullptr, 387 }, |
6194 |
|
{ "bitblast-aig", no_argument, nullptr, 388 }, |
6195 |
|
{ "no-bitblast-aig", no_argument, nullptr, 389 }, |
6196 |
|
{ "bitblast", required_argument, nullptr, 390 }, |
6197 |
|
{ "bitwise-eq", no_argument, nullptr, 391 }, |
6198 |
|
{ "no-bitwise-eq", no_argument, nullptr, 392 }, |
6199 |
|
{ "bool-to-bv", required_argument, nullptr, 393 }, |
6200 |
|
{ "bv-abstraction", no_argument, nullptr, 394 }, |
6201 |
|
{ "no-bv-abstraction", no_argument, nullptr, 395 }, |
6202 |
|
{ "bv-aig-simp", required_argument, nullptr, 396 }, |
6203 |
|
{ "bv-alg-extf", no_argument, nullptr, 397 }, |
6204 |
|
{ "no-bv-alg-extf", no_argument, nullptr, 398 }, |
6205 |
|
{ "bv-algebraic-budget", required_argument, nullptr, 399 }, |
6206 |
|
{ "bv-algebraic-solver", no_argument, nullptr, 400 }, |
6207 |
|
{ "no-bv-algebraic-solver", no_argument, nullptr, 401 }, |
6208 |
|
{ "bv-assert-input", no_argument, nullptr, 402 }, |
6209 |
|
{ "no-bv-assert-input", no_argument, nullptr, 403 }, |
6210 |
|
{ "bv-eager-explanations", no_argument, nullptr, 404 }, |
6211 |
|
{ "no-bv-eager-explanations", no_argument, nullptr, 405 }, |
6212 |
|
{ "bv-eq-solver", no_argument, nullptr, 406 }, |
6213 |
|
{ "no-bv-eq-solver", no_argument, nullptr, 407 }, |
6214 |
|
{ "bv-extract-arith", no_argument, nullptr, 408 }, |
6215 |
|
{ "no-bv-extract-arith", no_argument, nullptr, 409 }, |
6216 |
|
{ "bv-gauss-elim", no_argument, nullptr, 410 }, |
6217 |
|
{ "no-bv-gauss-elim", no_argument, nullptr, 411 }, |
6218 |
|
{ "bv-inequality-solver", no_argument, nullptr, 412 }, |
6219 |
|
{ "no-bv-inequality-solver", no_argument, nullptr, 413 }, |
6220 |
|
{ "bv-intro-pow2", no_argument, nullptr, 414 }, |
6221 |
|
{ "no-bv-intro-pow2", no_argument, nullptr, 415 }, |
6222 |
|
{ "bv-lazy-reduce-extf", no_argument, nullptr, 416 }, |
6223 |
|
{ "no-bv-lazy-reduce-extf", no_argument, nullptr, 417 }, |
6224 |
|
{ "bv-lazy-rewrite-extf", no_argument, nullptr, 418 }, |
6225 |
|
{ "no-bv-lazy-rewrite-extf", no_argument, nullptr, 419 }, |
6226 |
|
{ "bv-num-func", required_argument, nullptr, 420 }, |
6227 |
|
{ "bv-print-consts-as-indexed-symbols", no_argument, nullptr, 421 }, |
6228 |
|
{ "no-bv-print-consts-as-indexed-symbols", no_argument, nullptr, 422 }, |
6229 |
|
{ "bv-propagate", no_argument, nullptr, 423 }, |
6230 |
|
{ "no-bv-propagate", no_argument, nullptr, 424 }, |
6231 |
|
{ "bv-quick-xplain", no_argument, nullptr, 425 }, |
6232 |
|
{ "no-bv-quick-xplain", no_argument, nullptr, 426 }, |
6233 |
|
{ "bv-sat-solver", required_argument, nullptr, 427 }, |
6234 |
|
{ "bv-skolemize", no_argument, nullptr, 428 }, |
6235 |
|
{ "no-bv-skolemize", no_argument, nullptr, 429 }, |
6236 |
|
{ "bv-solver", required_argument, nullptr, 430 }, |
6237 |
|
{ "bv-to-bool", no_argument, nullptr, 431 }, |
6238 |
|
{ "no-bv-to-bool", no_argument, nullptr, 432 }, |
6239 |
|
{ "cdt-bisimilar", no_argument, nullptr, 433 }, |
6240 |
|
{ "no-cdt-bisimilar", no_argument, nullptr, 434 }, |
6241 |
|
{ "dt-binary-split", no_argument, nullptr, 435 }, |
6242 |
|
{ "no-dt-binary-split", no_argument, nullptr, 436 }, |
6243 |
|
{ "dt-blast-splits", no_argument, nullptr, 437 }, |
6244 |
|
{ "no-dt-blast-splits", no_argument, nullptr, 438 }, |
6245 |
|
{ "dt-cyclic", no_argument, nullptr, 439 }, |
6246 |
|
{ "no-dt-cyclic", no_argument, nullptr, 440 }, |
6247 |
|
{ "dt-force-assignment", no_argument, nullptr, 441 }, |
6248 |
|
{ "no-dt-force-assignment", no_argument, nullptr, 442 }, |
6249 |
|
{ "dt-infer-as-lemmas", no_argument, nullptr, 443 }, |
6250 |
|
{ "no-dt-infer-as-lemmas", no_argument, nullptr, 444 }, |
6251 |
|
{ "dt-nested-rec", no_argument, nullptr, 445 }, |
6252 |
|
{ "no-dt-nested-rec", no_argument, nullptr, 446 }, |
6253 |
|
{ "dt-polite-optimize", no_argument, nullptr, 447 }, |
6254 |
|
{ "no-dt-polite-optimize", no_argument, nullptr, 448 }, |
6255 |
|
{ "dt-rewrite-error-sel", no_argument, nullptr, 449 }, |
6256 |
|
{ "no-dt-rewrite-error-sel", no_argument, nullptr, 450 }, |
6257 |
|
{ "dt-share-sel", no_argument, nullptr, 451 }, |
6258 |
|
{ "no-dt-share-sel", no_argument, nullptr, 452 }, |
6259 |
|
{ "sygus-abort-size", required_argument, nullptr, 453 }, |
6260 |
|
{ "sygus-fair-max", no_argument, nullptr, 454 }, |
6261 |
|
{ "no-sygus-fair-max", no_argument, nullptr, 455 }, |
6262 |
|
{ "sygus-fair", required_argument, nullptr, 456 }, |
6263 |
|
{ "sygus-sym-break", no_argument, nullptr, 457 }, |
6264 |
|
{ "no-sygus-sym-break", no_argument, nullptr, 458 }, |
6265 |
|
{ "sygus-sym-break-agg", no_argument, nullptr, 459 }, |
6266 |
|
{ "no-sygus-sym-break-agg", no_argument, nullptr, 460 }, |
6267 |
|
{ "sygus-sym-break-dynamic", no_argument, nullptr, 461 }, |
6268 |
|
{ "no-sygus-sym-break-dynamic", no_argument, nullptr, 462 }, |
6269 |
|
{ "sygus-sym-break-lazy", no_argument, nullptr, 463 }, |
6270 |
|
{ "no-sygus-sym-break-lazy", no_argument, nullptr, 464 }, |
6271 |
|
{ "sygus-sym-break-pbe", no_argument, nullptr, 465 }, |
6272 |
|
{ "no-sygus-sym-break-pbe", no_argument, nullptr, 466 }, |
6273 |
|
{ "sygus-sym-break-rlv", no_argument, nullptr, 467 }, |
6274 |
|
{ "no-sygus-sym-break-rlv", no_argument, nullptr, 468 }, |
6275 |
|
{ "decision-random-weight", required_argument, nullptr, 469 }, |
6276 |
|
{ "decision-threshold", required_argument, nullptr, 470 }, |
6277 |
|
{ "decision-use-weight", no_argument, nullptr, 471 }, |
6278 |
|
{ "no-decision-use-weight", no_argument, nullptr, 472 }, |
6279 |
|
{ "decision-weight-internal", required_argument, nullptr, 473 }, |
6280 |
|
{ "decision", required_argument, nullptr, 474 }, |
6281 |
|
{ "decision-mode", required_argument, nullptr, 475 }, |
6282 |
|
{ "dag-thresh", required_argument, nullptr, 476 }, |
6283 |
|
{ "expr-depth", required_argument, nullptr, 477 }, |
6284 |
|
{ "type-checking", no_argument, nullptr, 478 }, |
6285 |
|
{ "no-type-checking", no_argument, nullptr, 479 }, |
6286 |
|
{ "fp-exp", no_argument, nullptr, 480 }, |
6287 |
|
{ "no-fp-exp", no_argument, nullptr, 481 }, |
6288 |
|
{ "copyright", no_argument, nullptr, 482 }, |
6289 |
|
{ "early-exit", no_argument, nullptr, 483 }, |
6290 |
|
{ "no-early-exit", no_argument, nullptr, 484 }, |
6291 |
|
{ "help", no_argument, nullptr, 485 }, |
6292 |
|
{ "interactive", no_argument, nullptr, 486 }, |
6293 |
|
{ "no-interactive", no_argument, nullptr, 487 }, |
6294 |
|
{ "interactive-prompt", no_argument, nullptr, 488 }, |
6295 |
|
{ "no-interactive-prompt", no_argument, nullptr, 489 }, |
6296 |
|
{ "seed", required_argument, nullptr, 490 }, |
6297 |
|
{ "segv-spin", no_argument, nullptr, 491 }, |
6298 |
|
{ "no-segv-spin", no_argument, nullptr, 492 }, |
6299 |
|
{ "show-config", no_argument, nullptr, 493 }, |
6300 |
|
{ "show-debug-tags", no_argument, nullptr, 494 }, |
6301 |
|
{ "show-trace-tags", no_argument, nullptr, 495 }, |
6302 |
|
{ "tear-down-incremental", required_argument, nullptr, 496 }, |
6303 |
|
{ "version", no_argument, nullptr, 497 }, |
6304 |
|
{ "filesystem-access", no_argument, nullptr, 498 }, |
6305 |
|
{ "no-filesystem-access", no_argument, nullptr, 499 }, |
6306 |
|
{ "force-logic", required_argument, nullptr, 500 }, |
6307 |
|
{ "global-declarations", no_argument, nullptr, 501 }, |
6308 |
|
{ "no-global-declarations", no_argument, nullptr, 502 }, |
6309 |
|
{ "mmap", no_argument, nullptr, 503 }, |
6310 |
|
{ "no-mmap", no_argument, nullptr, 504 }, |
6311 |
|
{ "semantic-checks", no_argument, nullptr, 505 }, |
6312 |
|
{ "no-semantic-checks", no_argument, nullptr, 506 }, |
6313 |
|
{ "strict-parsing", no_argument, nullptr, 507 }, |
6314 |
|
{ "no-strict-parsing", no_argument, nullptr, 508 }, |
6315 |
|
{ "flatten-ho-chains", no_argument, nullptr, 509 }, |
6316 |
|
{ "no-flatten-ho-chains", no_argument, nullptr, 510 }, |
6317 |
|
{ "inst-format", required_argument, nullptr, 511 }, |
6318 |
|
{ "model-format", required_argument, nullptr, 512 }, |
6319 |
|
{ "print-inst-full", no_argument, nullptr, 513 }, |
6320 |
|
{ "no-print-inst-full", no_argument, nullptr, 514 }, |
6321 |
|
{ "print-inst", required_argument, nullptr, 515 }, |
6322 |
|
{ "proof-eager-checking", no_argument, nullptr, 516 }, |
6323 |
|
{ "no-proof-eager-checking", no_argument, nullptr, 517 }, |
6324 |
|
{ "proof-format-mode", required_argument, nullptr, 518 }, |
6325 |
|
{ "proof-granularity", required_argument, nullptr, 519 }, |
6326 |
|
{ "proof-pedantic", required_argument, nullptr, 520 }, |
6327 |
|
{ "proof-print-conclusion", no_argument, nullptr, 521 }, |
6328 |
|
{ "no-proof-print-conclusion", no_argument, nullptr, 522 }, |
6329 |
|
{ "minisat-dump-dimacs", no_argument, nullptr, 523 }, |
6330 |
|
{ "no-minisat-dump-dimacs", no_argument, nullptr, 524 }, |
6331 |
|
{ "minisat-elimination", no_argument, nullptr, 525 }, |
6332 |
|
{ "no-minisat-elimination", no_argument, nullptr, 526 }, |
6333 |
|
{ "random-freq", required_argument, nullptr, 527 }, |
6334 |
|
{ "random-frequency", required_argument, nullptr, 528 }, |
6335 |
|
{ "random-seed", required_argument, nullptr, 529 }, |
6336 |
|
{ "refine-conflicts", no_argument, nullptr, 530 }, |
6337 |
|
{ "no-refine-conflicts", no_argument, nullptr, 531 }, |
6338 |
|
{ "restart-int-base", required_argument, nullptr, 532 }, |
6339 |
|
{ "restart-int-inc", required_argument, nullptr, 533 }, |
6340 |
|
{ "ag-miniscope-quant", no_argument, nullptr, 534 }, |
6341 |
|
{ "no-ag-miniscope-quant", no_argument, nullptr, 535 }, |
6342 |
|
{ "cegis-sample", required_argument, nullptr, 536 }, |
6343 |
|
{ "cegqi", no_argument, nullptr, 537 }, |
6344 |
|
{ "no-cegqi", no_argument, nullptr, 538 }, |
6345 |
|
{ "cegqi-all", no_argument, nullptr, 539 }, |
6346 |
|
{ "no-cegqi-all", no_argument, nullptr, 540 }, |
6347 |
|
{ "cegqi-bv", no_argument, nullptr, 541 }, |
6348 |
|
{ "no-cegqi-bv", no_argument, nullptr, 542 }, |
6349 |
|
{ "cegqi-bv-concat-inv", no_argument, nullptr, 543 }, |
6350 |
|
{ "no-cegqi-bv-concat-inv", no_argument, nullptr, 544 }, |
6351 |
|
{ "cegqi-bv-ineq", required_argument, nullptr, 545 }, |
6352 |
|
{ "cegqi-bv-interleave-value", no_argument, nullptr, 546 }, |
6353 |
|
{ "no-cegqi-bv-interleave-value", no_argument, nullptr, 547 }, |
6354 |
|
{ "cegqi-bv-linear", no_argument, nullptr, 548 }, |
6355 |
|
{ "no-cegqi-bv-linear", no_argument, nullptr, 549 }, |
6356 |
|
{ "cegqi-bv-rm-extract", no_argument, nullptr, 550 }, |
6357 |
|
{ "no-cegqi-bv-rm-extract", no_argument, nullptr, 551 }, |
6358 |
|
{ "cegqi-bv-solve-nl", no_argument, nullptr, 552 }, |
6359 |
|
{ "no-cegqi-bv-solve-nl", no_argument, nullptr, 553 }, |
6360 |
|
{ "cegqi-full", no_argument, nullptr, 554 }, |
6361 |
|
{ "no-cegqi-full", no_argument, nullptr, 555 }, |
6362 |
|
{ "cegqi-innermost", no_argument, nullptr, 556 }, |
6363 |
|
{ "no-cegqi-innermost", no_argument, nullptr, 557 }, |
6364 |
|
{ "cegqi-midpoint", no_argument, nullptr, 558 }, |
6365 |
|
{ "no-cegqi-midpoint", no_argument, nullptr, 559 }, |
6366 |
|
{ "cegqi-min-bounds", no_argument, nullptr, 560 }, |
6367 |
|
{ "no-cegqi-min-bounds", no_argument, nullptr, 561 }, |
6368 |
|
{ "cegqi-model", no_argument, nullptr, 562 }, |
6369 |
|
{ "no-cegqi-model", no_argument, nullptr, 563 }, |
6370 |
|
{ "cegqi-multi-inst", no_argument, nullptr, 564 }, |
6371 |
|
{ "no-cegqi-multi-inst", no_argument, nullptr, 565 }, |
6372 |
|
{ "cegqi-nested-qe", no_argument, nullptr, 566 }, |
6373 |
|
{ "no-cegqi-nested-qe", no_argument, nullptr, 567 }, |
6374 |
|
{ "cegqi-nopt", no_argument, nullptr, 568 }, |
6375 |
|
{ "no-cegqi-nopt", no_argument, nullptr, 569 }, |
6376 |
|
{ "cegqi-repeat-lit", no_argument, nullptr, 570 }, |
6377 |
|
{ "no-cegqi-repeat-lit", no_argument, nullptr, 571 }, |
6378 |
|
{ "cegqi-round-up-lia", no_argument, nullptr, 572 }, |
6379 |
|
{ "no-cegqi-round-up-lia", no_argument, nullptr, 573 }, |
6380 |
|
{ "cegqi-sat", no_argument, nullptr, 574 }, |
6381 |
|
{ "no-cegqi-sat", no_argument, nullptr, 575 }, |
6382 |
|
{ "cegqi-use-inf-int", no_argument, nullptr, 576 }, |
6383 |
|
{ "no-cegqi-use-inf-int", no_argument, nullptr, 577 }, |
6384 |
|
{ "cegqi-use-inf-real", no_argument, nullptr, 578 }, |
6385 |
|
{ "no-cegqi-use-inf-real", no_argument, nullptr, 579 }, |
6386 |
|
{ "cond-var-split-agg-quant", no_argument, nullptr, 580 }, |
6387 |
|
{ "no-cond-var-split-agg-quant", no_argument, nullptr, 581 }, |
6388 |
|
{ "cond-var-split-quant", no_argument, nullptr, 582 }, |
6389 |
|
{ "no-cond-var-split-quant", no_argument, nullptr, 583 }, |
6390 |
|
{ "conjecture-filter-active-terms", no_argument, nullptr, 584 }, |
6391 |
|
{ "no-conjecture-filter-active-terms", no_argument, nullptr, 585 }, |
6392 |
|
{ "conjecture-filter-canonical", no_argument, nullptr, 586 }, |
6393 |
|
{ "no-conjecture-filter-canonical", no_argument, nullptr, 587 }, |
6394 |
|
{ "conjecture-filter-model", no_argument, nullptr, 588 }, |
6395 |
|
{ "no-conjecture-filter-model", no_argument, nullptr, 589 }, |
6396 |
|
{ "conjecture-gen", no_argument, nullptr, 590 }, |
6397 |
|
{ "no-conjecture-gen", no_argument, nullptr, 591 }, |
6398 |
|
{ "conjecture-gen-gt-enum", required_argument, nullptr, 592 }, |
6399 |
|
{ "conjecture-gen-max-depth", required_argument, nullptr, 593 }, |
6400 |
|
{ "conjecture-gen-per-round", required_argument, nullptr, 594 }, |
6401 |
|
{ "conjecture-gen-uee-intro", no_argument, nullptr, 595 }, |
6402 |
|
{ "no-conjecture-gen-uee-intro", no_argument, nullptr, 596 }, |
6403 |
|
{ "conjecture-no-filter", no_argument, nullptr, 597 }, |
6404 |
|
{ "no-conjecture-no-filter", no_argument, nullptr, 598 }, |
6405 |
|
{ "debug-inst", no_argument, nullptr, 599 }, |
6406 |
|
{ "no-debug-inst", no_argument, nullptr, 600 }, |
6407 |
|
{ "debug-sygus", no_argument, nullptr, 601 }, |
6408 |
|
{ "no-debug-sygus", no_argument, nullptr, 602 }, |
6409 |
|
{ "dt-stc-ind", no_argument, nullptr, 603 }, |
6410 |
|
{ "no-dt-stc-ind", no_argument, nullptr, 604 }, |
6411 |
|
{ "dt-var-exp-quant", no_argument, nullptr, 605 }, |
6412 |
|
{ "no-dt-var-exp-quant", no_argument, nullptr, 606 }, |
6413 |
|
{ "e-matching", no_argument, nullptr, 607 }, |
6414 |
|
{ "no-e-matching", no_argument, nullptr, 608 }, |
6415 |
|
{ "elim-taut-quant", no_argument, nullptr, 609 }, |
6416 |
|
{ "no-elim-taut-quant", no_argument, nullptr, 610 }, |
6417 |
|
{ "ext-rewrite-quant", no_argument, nullptr, 611 }, |
6418 |
|
{ "no-ext-rewrite-quant", no_argument, nullptr, 612 }, |
6419 |
|
{ "finite-model-find", no_argument, nullptr, 613 }, |
6420 |
|
{ "no-finite-model-find", no_argument, nullptr, 614 }, |
6421 |
|
{ "fmf-bound", no_argument, nullptr, 615 }, |
6422 |
|
{ "no-fmf-bound", no_argument, nullptr, 616 }, |
6423 |
|
{ "fmf-bound-int", no_argument, nullptr, 617 }, |
6424 |
|
{ "no-fmf-bound-int", no_argument, nullptr, 618 }, |
6425 |
|
{ "fmf-bound-lazy", no_argument, nullptr, 619 }, |
6426 |
|
{ "no-fmf-bound-lazy", no_argument, nullptr, 620 }, |
6427 |
|
{ "fmf-fmc-simple", no_argument, nullptr, 621 }, |
6428 |
|
{ "no-fmf-fmc-simple", no_argument, nullptr, 622 }, |
6429 |
|
{ "fmf-fresh-dc", no_argument, nullptr, 623 }, |
6430 |
|
{ "no-fmf-fresh-dc", no_argument, nullptr, 624 }, |
6431 |
|
{ "fmf-fun", no_argument, nullptr, 625 }, |
6432 |
|
{ "no-fmf-fun", no_argument, nullptr, 626 }, |
6433 |
|
{ "fmf-fun-rlv", no_argument, nullptr, 627 }, |
6434 |
|
{ "no-fmf-fun-rlv", no_argument, nullptr, 628 }, |
6435 |
|
{ "fmf-inst-engine", no_argument, nullptr, 629 }, |
6436 |
|
{ "no-fmf-inst-engine", no_argument, nullptr, 630 }, |
6437 |
|
{ "fmf-type-completion-thresh", required_argument, nullptr, 631 }, |
6438 |
|
{ "fs-interleave", no_argument, nullptr, 632 }, |
6439 |
|
{ "no-fs-interleave", no_argument, nullptr, 633 }, |
6440 |
|
{ "fs-stratify", no_argument, nullptr, 634 }, |
6441 |
|
{ "no-fs-stratify", no_argument, nullptr, 635 }, |
6442 |
|
{ "fs-sum", no_argument, nullptr, 636 }, |
6443 |
|
{ "no-fs-sum", no_argument, nullptr, 637 }, |
6444 |
|
{ "full-saturate-quant", no_argument, nullptr, 638 }, |
6445 |
|
{ "no-full-saturate-quant", no_argument, nullptr, 639 }, |
6446 |
|
{ "full-saturate-quant-limit", required_argument, nullptr, 640 }, |
6447 |
|
{ "full-saturate-quant-rd", no_argument, nullptr, 641 }, |
6448 |
|
{ "no-full-saturate-quant-rd", no_argument, nullptr, 642 }, |
6449 |
|
{ "global-negate", no_argument, nullptr, 643 }, |
6450 |
|
{ "no-global-negate", no_argument, nullptr, 644 }, |
6451 |
|
{ "ho-elim", no_argument, nullptr, 645 }, |
6452 |
|
{ "no-ho-elim", no_argument, nullptr, 646 }, |
6453 |
|
{ "ho-elim-store-ax", no_argument, nullptr, 647 }, |
6454 |
|
{ "no-ho-elim-store-ax", no_argument, nullptr, 648 }, |
6455 |
|
{ "ho-matching", no_argument, nullptr, 649 }, |
6456 |
|
{ "no-ho-matching", no_argument, nullptr, 650 }, |
6457 |
|
{ "ho-matching-var-priority", no_argument, nullptr, 651 }, |
6458 |
|
{ "no-ho-matching-var-priority", no_argument, nullptr, 652 }, |
6459 |
|
{ "ho-merge-term-db", no_argument, nullptr, 653 }, |
6460 |
|
{ "no-ho-merge-term-db", no_argument, nullptr, 654 }, |
6461 |
|
{ "increment-triggers", no_argument, nullptr, 655 }, |
6462 |
|
{ "no-increment-triggers", no_argument, nullptr, 656 }, |
6463 |
|
{ "inst-level-input-only", no_argument, nullptr, 657 }, |
6464 |
|
{ "no-inst-level-input-only", no_argument, nullptr, 658 }, |
6465 |
|
{ "inst-max-level", required_argument, nullptr, 659 }, |
6466 |
|
{ "inst-no-entail", no_argument, nullptr, 660 }, |
6467 |
|
{ "no-inst-no-entail", no_argument, nullptr, 661 }, |
6468 |
|
{ "inst-when-phase", required_argument, nullptr, 662 }, |
6469 |
|
{ "inst-when-strict-interleave", no_argument, nullptr, 663 }, |
6470 |
|
{ "no-inst-when-strict-interleave", no_argument, nullptr, 664 }, |
6471 |
|
{ "inst-when-tc-first", no_argument, nullptr, 665 }, |
6472 |
|
{ "no-inst-when-tc-first", no_argument, nullptr, 666 }, |
6473 |
|
{ "inst-when", required_argument, nullptr, 667 }, |
6474 |
|
{ "int-wf-ind", no_argument, nullptr, 668 }, |
6475 |
|
{ "no-int-wf-ind", no_argument, nullptr, 669 }, |
6476 |
|
{ "ite-dtt-split-quant", no_argument, nullptr, 670 }, |
6477 |
|
{ "no-ite-dtt-split-quant", no_argument, nullptr, 671 }, |
6478 |
|
{ "ite-lift-quant", required_argument, nullptr, 672 }, |
6479 |
|
{ "literal-matching", required_argument, nullptr, 673 }, |
6480 |
|
{ "macros-quant", no_argument, nullptr, 674 }, |
6481 |
|
{ "no-macros-quant", no_argument, nullptr, 675 }, |
6482 |
|
{ "macros-quant-mode", required_argument, nullptr, 676 }, |
6483 |
|
{ "mbqi-interleave", no_argument, nullptr, 677 }, |
6484 |
|
{ "no-mbqi-interleave", no_argument, nullptr, 678 }, |
6485 |
|
{ "mbqi-one-inst-per-round", no_argument, nullptr, 679 }, |
6486 |
|
{ "no-mbqi-one-inst-per-round", no_argument, nullptr, 680 }, |
6487 |
|
{ "mbqi", required_argument, nullptr, 681 }, |
6488 |
|
{ "miniscope-quant", no_argument, nullptr, 682 }, |
6489 |
|
{ "no-miniscope-quant", no_argument, nullptr, 683 }, |
6490 |
|
{ "miniscope-quant-fv", no_argument, nullptr, 684 }, |
6491 |
|
{ "no-miniscope-quant-fv", no_argument, nullptr, 685 }, |
6492 |
|
{ "multi-trigger-cache", no_argument, nullptr, 686 }, |
6493 |
|
{ "no-multi-trigger-cache", no_argument, nullptr, 687 }, |
6494 |
|
{ "multi-trigger-linear", no_argument, nullptr, 688 }, |
6495 |
|
{ "no-multi-trigger-linear", no_argument, nullptr, 689 }, |
6496 |
|
{ "multi-trigger-priority", no_argument, nullptr, 690 }, |
6497 |
|
{ "no-multi-trigger-priority", no_argument, nullptr, 691 }, |
6498 |
|
{ "multi-trigger-when-single", no_argument, nullptr, 692 }, |
6499 |
|
{ "no-multi-trigger-when-single", no_argument, nullptr, 693 }, |
6500 |
|
{ "partial-triggers", no_argument, nullptr, 694 }, |
6501 |
|
{ "no-partial-triggers", no_argument, nullptr, 695 }, |
6502 |
|
{ "pool-inst", no_argument, nullptr, 696 }, |
6503 |
|
{ "no-pool-inst", no_argument, nullptr, 697 }, |
6504 |
|
{ "pre-skolem-quant", no_argument, nullptr, 698 }, |
6505 |
|
{ "no-pre-skolem-quant", no_argument, nullptr, 699 }, |
6506 |
|
{ "pre-skolem-quant-agg", no_argument, nullptr, 700 }, |
6507 |
|
{ "no-pre-skolem-quant-agg", no_argument, nullptr, 701 }, |
6508 |
|
{ "pre-skolem-quant-nested", no_argument, nullptr, 702 }, |
6509 |
|
{ "no-pre-skolem-quant-nested", no_argument, nullptr, 703 }, |
6510 |
|
{ "prenex-quant-user", no_argument, nullptr, 704 }, |
6511 |
|
{ "no-prenex-quant-user", no_argument, nullptr, 705 }, |
6512 |
|
{ "prenex-quant", required_argument, nullptr, 706 }, |
6513 |
|
{ "purify-triggers", no_argument, nullptr, 707 }, |
6514 |
|
{ "no-purify-triggers", no_argument, nullptr, 708 }, |
6515 |
|
{ "qcf-all-conflict", no_argument, nullptr, 709 }, |
6516 |
|
{ "no-qcf-all-conflict", no_argument, nullptr, 710 }, |
6517 |
|
{ "qcf-eager-check-rd", no_argument, nullptr, 711 }, |
6518 |
|
{ "no-qcf-eager-check-rd", no_argument, nullptr, 712 }, |
6519 |
|
{ "qcf-eager-test", no_argument, nullptr, 713 }, |
6520 |
|
{ "no-qcf-eager-test", no_argument, nullptr, 714 }, |
6521 |
|
{ "qcf-nested-conflict", no_argument, nullptr, 715 }, |
6522 |
|
{ "no-qcf-nested-conflict", no_argument, nullptr, 716 }, |
6523 |
|
{ "qcf-skip-rd", no_argument, nullptr, 717 }, |
6524 |
|
{ "no-qcf-skip-rd", no_argument, nullptr, 718 }, |
6525 |
|
{ "qcf-tconstraint", no_argument, nullptr, 719 }, |
6526 |
|
{ "no-qcf-tconstraint", no_argument, nullptr, 720 }, |
6527 |
|
{ "qcf-vo-exp", no_argument, nullptr, 721 }, |
6528 |
|
{ "no-qcf-vo-exp", no_argument, nullptr, 722 }, |
6529 |
|
{ "quant-alpha-equiv", no_argument, nullptr, 723 }, |
6530 |
|
{ "no-quant-alpha-equiv", no_argument, nullptr, 724 }, |
6531 |
|
{ "quant-cf", no_argument, nullptr, 725 }, |
6532 |
|
{ "no-quant-cf", no_argument, nullptr, 726 }, |
6533 |
|
{ "quant-cf-mode", required_argument, nullptr, 727 }, |
6534 |
|
{ "quant-cf-when", required_argument, nullptr, 728 }, |
6535 |
|
{ "quant-dsplit-mode", required_argument, nullptr, 729 }, |
6536 |
|
{ "quant-fun-wd", no_argument, nullptr, 730 }, |
6537 |
|
{ "no-quant-fun-wd", no_argument, nullptr, 731 }, |
6538 |
|
{ "quant-ind", no_argument, nullptr, 732 }, |
6539 |
|
{ "no-quant-ind", no_argument, nullptr, 733 }, |
6540 |
|
{ "quant-rep-mode", required_argument, nullptr, 734 }, |
6541 |
|
{ "quant-split", no_argument, nullptr, 735 }, |
6542 |
|
{ "no-quant-split", no_argument, nullptr, 736 }, |
6543 |
|
{ "register-quant-body-terms", no_argument, nullptr, 737 }, |
6544 |
|
{ "no-register-quant-body-terms", no_argument, nullptr, 738 }, |
6545 |
|
{ "relational-triggers", no_argument, nullptr, 739 }, |
6546 |
|
{ "no-relational-triggers", no_argument, nullptr, 740 }, |
6547 |
|
{ "relevant-triggers", no_argument, nullptr, 741 }, |
6548 |
|
{ "no-relevant-triggers", no_argument, nullptr, 742 }, |
6549 |
|
{ "strict-triggers", no_argument, nullptr, 743 }, |
6550 |
|
{ "no-strict-triggers", no_argument, nullptr, 744 }, |
6551 |
|
{ "sygus", no_argument, nullptr, 745 }, |
6552 |
|
{ "no-sygus", no_argument, nullptr, 746 }, |
6553 |
|
{ "sygus-active-gen-cfactor", required_argument, nullptr, 747 }, |
6554 |
|
{ "sygus-active-gen", required_argument, nullptr, 748 }, |
6555 |
|
{ "sygus-add-const-grammar", no_argument, nullptr, 749 }, |
6556 |
|
{ "no-sygus-add-const-grammar", no_argument, nullptr, 750 }, |
6557 |
|
{ "sygus-arg-relevant", no_argument, nullptr, 751 }, |
6558 |
|
{ "no-sygus-arg-relevant", no_argument, nullptr, 752 }, |
6559 |
|
{ "sygus-auto-unfold", no_argument, nullptr, 753 }, |
6560 |
|
{ "no-sygus-auto-unfold", no_argument, nullptr, 754 }, |
6561 |
|
{ "sygus-bool-ite-return-const", no_argument, nullptr, 755 }, |
6562 |
|
{ "no-sygus-bool-ite-return-const", no_argument, nullptr, 756 }, |
6563 |
|
{ "sygus-core-connective", no_argument, nullptr, 757 }, |
6564 |
|
{ "no-sygus-core-connective", no_argument, nullptr, 758 }, |
6565 |
|
{ "sygus-crepair-abort", no_argument, nullptr, 759 }, |
6566 |
|
{ "no-sygus-crepair-abort", no_argument, nullptr, 760 }, |
6567 |
|
{ "sygus-eval-opt", no_argument, nullptr, 761 }, |
6568 |
|
{ "no-sygus-eval-opt", no_argument, nullptr, 762 }, |
6569 |
|
{ "sygus-eval-unfold", no_argument, nullptr, 763 }, |
6570 |
|
{ "no-sygus-eval-unfold", no_argument, nullptr, 764 }, |
6571 |
|
{ "sygus-eval-unfold-bool", no_argument, nullptr, 765 }, |
6572 |
|
{ "no-sygus-eval-unfold-bool", no_argument, nullptr, 766 }, |
6573 |
|
{ "sygus-expr-miner-check-timeout", required_argument, nullptr, 767 }, |
6574 |
|
{ "sygus-ext-rew", no_argument, nullptr, 768 }, |
6575 |
|
{ "no-sygus-ext-rew", no_argument, nullptr, 769 }, |
6576 |
|
{ "sygus-filter-sol-rev", no_argument, nullptr, 770 }, |
6577 |
|
{ "no-sygus-filter-sol-rev", no_argument, nullptr, 771 }, |
6578 |
|
{ "sygus-filter-sol", required_argument, nullptr, 772 }, |
6579 |
|
{ "sygus-grammar-cons", required_argument, nullptr, 773 }, |
6580 |
|
{ "sygus-grammar-norm", no_argument, nullptr, 774 }, |
6581 |
|
{ "no-sygus-grammar-norm", no_argument, nullptr, 775 }, |
6582 |
|
{ "sygus-inference", no_argument, nullptr, 776 }, |
6583 |
|
{ "no-sygus-inference", no_argument, nullptr, 777 }, |
6584 |
|
{ "sygus-inst", no_argument, nullptr, 778 }, |
6585 |
|
{ "no-sygus-inst", no_argument, nullptr, 779 }, |
6586 |
|
{ "sygus-inst-mode", required_argument, nullptr, 780 }, |
6587 |
|
{ "sygus-inst-scope", required_argument, nullptr, 781 }, |
6588 |
|
{ "sygus-inst-term-sel", required_argument, nullptr, 782 }, |
6589 |
|
{ "sygus-inv-templ-when-sg", no_argument, nullptr, 783 }, |
6590 |
|
{ "no-sygus-inv-templ-when-sg", no_argument, nullptr, 784 }, |
6591 |
|
{ "sygus-inv-templ", required_argument, nullptr, 785 }, |
6592 |
|
{ "sygus-min-grammar", no_argument, nullptr, 786 }, |
6593 |
|
{ "no-sygus-min-grammar", no_argument, nullptr, 787 }, |
6594 |
|
{ "sygus-pbe", no_argument, nullptr, 788 }, |
6595 |
|
{ "no-sygus-pbe", no_argument, nullptr, 789 }, |
6596 |
|
{ "sygus-pbe-multi-fair", no_argument, nullptr, 790 }, |
6597 |
|
{ "no-sygus-pbe-multi-fair", no_argument, nullptr, 791 }, |
6598 |
|
{ "sygus-pbe-multi-fair-diff", required_argument, nullptr, 792 }, |
6599 |
|
{ "sygus-qe-preproc", no_argument, nullptr, 793 }, |
6600 |
|
{ "no-sygus-qe-preproc", no_argument, nullptr, 794 }, |
6601 |
|
{ "sygus-query-gen", no_argument, nullptr, 795 }, |
6602 |
|
{ "no-sygus-query-gen", no_argument, nullptr, 796 }, |
6603 |
|
{ "sygus-query-gen-check", no_argument, nullptr, 797 }, |
6604 |
|
{ "no-sygus-query-gen-check", no_argument, nullptr, 798 }, |
6605 |
|
{ "sygus-query-gen-dump-files", required_argument, nullptr, 799 }, |
6606 |
|
{ "sygus-query-gen-thresh", required_argument, nullptr, 800 }, |
6607 |
|
{ "sygus-rec-fun", no_argument, nullptr, 801 }, |
6608 |
|
{ "no-sygus-rec-fun", no_argument, nullptr, 802 }, |
6609 |
|
{ "sygus-rec-fun-eval-limit", required_argument, nullptr, 803 }, |
6610 |
|
{ "sygus-repair-const", no_argument, nullptr, 804 }, |
6611 |
|
{ "no-sygus-repair-const", no_argument, nullptr, 805 }, |
6612 |
|
{ "sygus-repair-const-timeout", required_argument, nullptr, 806 }, |
6613 |
|
{ "sygus-rr", no_argument, nullptr, 807 }, |
6614 |
|
{ "no-sygus-rr", no_argument, nullptr, 808 }, |
6615 |
|
{ "sygus-rr-synth", no_argument, nullptr, 809 }, |
6616 |
|
{ "no-sygus-rr-synth", no_argument, nullptr, 810 }, |
6617 |
|
{ "sygus-rr-synth-accel", no_argument, nullptr, 811 }, |
6618 |
|
{ "no-sygus-rr-synth-accel", no_argument, nullptr, 812 }, |
6619 |
|
{ "sygus-rr-synth-check", no_argument, nullptr, 813 }, |
6620 |
|
{ "no-sygus-rr-synth-check", no_argument, nullptr, 814 }, |
6621 |
|
{ "sygus-rr-synth-filter-cong", no_argument, nullptr, 815 }, |
6622 |
|
{ "no-sygus-rr-synth-filter-cong", no_argument, nullptr, 816 }, |
6623 |
|
{ "sygus-rr-synth-filter-match", no_argument, nullptr, 817 }, |
6624 |
|
{ "no-sygus-rr-synth-filter-match", no_argument, nullptr, 818 }, |
6625 |
|
{ "sygus-rr-synth-filter-nl", no_argument, nullptr, 819 }, |
6626 |
|
{ "no-sygus-rr-synth-filter-nl", no_argument, nullptr, 820 }, |
6627 |
|
{ "sygus-rr-synth-filter-order", no_argument, nullptr, 821 }, |
6628 |
|
{ "no-sygus-rr-synth-filter-order", no_argument, nullptr, 822 }, |
6629 |
|
{ "sygus-rr-synth-input", no_argument, nullptr, 823 }, |
6630 |
|
{ "no-sygus-rr-synth-input", no_argument, nullptr, 824 }, |
6631 |
|
{ "sygus-rr-synth-input-nvars", required_argument, nullptr, 825 }, |
6632 |
|
{ "sygus-rr-synth-input-use-bool", no_argument, nullptr, 826 }, |
6633 |
|
{ "no-sygus-rr-synth-input-use-bool", no_argument, nullptr, 827 }, |
6634 |
|
{ "sygus-rr-synth-rec", no_argument, nullptr, 828 }, |
6635 |
|
{ "no-sygus-rr-synth-rec", no_argument, nullptr, 829 }, |
6636 |
|
{ "sygus-rr-verify", no_argument, nullptr, 830 }, |
6637 |
|
{ "no-sygus-rr-verify", no_argument, nullptr, 831 }, |
6638 |
|
{ "sygus-rr-verify-abort", no_argument, nullptr, 832 }, |
6639 |
|
{ "no-sygus-rr-verify-abort", no_argument, nullptr, 833 }, |
6640 |
|
{ "sygus-sample-fp-uniform", no_argument, nullptr, 834 }, |
6641 |
|
{ "no-sygus-sample-fp-uniform", no_argument, nullptr, 835 }, |
6642 |
|
{ "sygus-sample-grammar", no_argument, nullptr, 836 }, |
6643 |
|
{ "no-sygus-sample-grammar", no_argument, nullptr, 837 }, |
6644 |
|
{ "sygus-samples", required_argument, nullptr, 838 }, |
6645 |
|
{ "sygus-si-abort", no_argument, nullptr, 839 }, |
6646 |
|
{ "no-sygus-si-abort", no_argument, nullptr, 840 }, |
6647 |
|
{ "sygus-si-partial", no_argument, nullptr, 841 }, |
6648 |
|
{ "no-sygus-si-partial", no_argument, nullptr, 842 }, |
6649 |
|
{ "sygus-si-rcons-limit", required_argument, nullptr, 843 }, |
6650 |
|
{ "sygus-si-rcons", required_argument, nullptr, 844 }, |
6651 |
|
{ "sygus-si-reconstruct-const", no_argument, nullptr, 845 }, |
6652 |
|
{ "no-sygus-si-reconstruct-const", no_argument, nullptr, 846 }, |
6653 |
|
{ "sygus-si", required_argument, nullptr, 847 }, |
6654 |
|
{ "sygus-stream", no_argument, nullptr, 848 }, |
6655 |
|
{ "no-sygus-stream", no_argument, nullptr, 849 }, |
6656 |
|
{ "sygus-templ-embed-grammar", no_argument, nullptr, 850 }, |
6657 |
|
{ "no-sygus-templ-embed-grammar", no_argument, nullptr, 851 }, |
6658 |
|
{ "sygus-unif-cond-independent-no-repeat-sol", no_argument, nullptr, 852 }, |
6659 |
|
{ "no-sygus-unif-cond-independent-no-repeat-sol", no_argument, nullptr, 853 }, |
6660 |
|
{ "sygus-unif-pi", required_argument, nullptr, 854 }, |
6661 |
|
{ "sygus-unif-shuffle-cond", no_argument, nullptr, 855 }, |
6662 |
|
{ "no-sygus-unif-shuffle-cond", no_argument, nullptr, 856 }, |
6663 |
|
{ "term-db-cd", no_argument, nullptr, 857 }, |
6664 |
|
{ "no-term-db-cd", no_argument, nullptr, 858 }, |
6665 |
|
{ "term-db-mode", required_argument, nullptr, 859 }, |
6666 |
|
{ "trigger-active-sel", required_argument, nullptr, 860 }, |
6667 |
|
{ "trigger-sel", required_argument, nullptr, 861 }, |
6668 |
|
{ "user-pat", required_argument, nullptr, 862 }, |
6669 |
|
{ "var-elim-quant", no_argument, nullptr, 863 }, |
6670 |
|
{ "no-var-elim-quant", no_argument, nullptr, 864 }, |
6671 |
|
{ "var-ineq-elim-quant", no_argument, nullptr, 865 }, |
6672 |
|
{ "no-var-ineq-elim-quant", no_argument, nullptr, 866 }, |
6673 |
|
{ "rlimit-per", required_argument, nullptr, 867 }, |
6674 |
|
{ "reproducible-resource-limit", required_argument, nullptr, 868 }, |
6675 |
|
{ "rlimit", required_argument, nullptr, 869 }, |
6676 |
|
{ "rweight", required_argument, nullptr, 870 }, |
6677 |
|
{ "tlimit-per", required_argument, nullptr, 871 }, |
6678 |
|
{ "tlimit", required_argument, nullptr, 872 }, |
6679 |
|
{ "sep-check-neg", no_argument, nullptr, 873 }, |
6680 |
|
{ "no-sep-check-neg", no_argument, nullptr, 874 }, |
6681 |
|
{ "sep-child-refine", no_argument, nullptr, 875 }, |
6682 |
|
{ "no-sep-child-refine", no_argument, nullptr, 876 }, |
6683 |
|
{ "sep-deq-c", no_argument, nullptr, 877 }, |
6684 |
|
{ "no-sep-deq-c", no_argument, nullptr, 878 }, |
6685 |
|
{ "sep-exp", no_argument, nullptr, 879 }, |
6686 |
|
{ "no-sep-exp", no_argument, nullptr, 880 }, |
6687 |
|
{ "sep-min-refine", no_argument, nullptr, 881 }, |
6688 |
|
{ "no-sep-min-refine", no_argument, nullptr, 882 }, |
6689 |
|
{ "sep-pre-skolem-emp", no_argument, nullptr, 883 }, |
6690 |
|
{ "no-sep-pre-skolem-emp", no_argument, nullptr, 884 }, |
6691 |
|
{ "sets-ext", no_argument, nullptr, 885 }, |
6692 |
|
{ "no-sets-ext", no_argument, nullptr, 886 }, |
6693 |
|
{ "sets-infer-as-lemmas", no_argument, nullptr, 887 }, |
6694 |
|
{ "no-sets-infer-as-lemmas", no_argument, nullptr, 888 }, |
6695 |
|
{ "sets-proxy-lemmas", no_argument, nullptr, 889 }, |
6696 |
|
{ "no-sets-proxy-lemmas", no_argument, nullptr, 890 }, |
6697 |
|
{ "abstract-values", no_argument, nullptr, 891 }, |
6698 |
|
{ "no-abstract-values", no_argument, nullptr, 892 }, |
6699 |
|
{ "ackermann", no_argument, nullptr, 893 }, |
6700 |
|
{ "no-ackermann", no_argument, nullptr, 894 }, |
6701 |
|
{ "block-models", required_argument, nullptr, 895 }, |
6702 |
|
{ "bvand-integer-granularity", required_argument, nullptr, 896 }, |
6703 |
|
{ "check-abducts", no_argument, nullptr, 897 }, |
6704 |
|
{ "no-check-abducts", no_argument, nullptr, 898 }, |
6705 |
|
{ "check-interpols", no_argument, nullptr, 899 }, |
6706 |
|
{ "no-check-interpols", no_argument, nullptr, 900 }, |
6707 |
|
{ "check-models", no_argument, nullptr, 901 }, |
6708 |
|
{ "no-check-models", no_argument, nullptr, 902 }, |
6709 |
|
{ "check-proofs", no_argument, nullptr, 903 }, |
6710 |
|
{ "no-check-proofs", no_argument, nullptr, 904 }, |
6711 |
|
{ "check-synth-sol", no_argument, nullptr, 905 }, |
6712 |
|
{ "no-check-synth-sol", no_argument, nullptr, 906 }, |
6713 |
|
{ "check-unsat-cores", no_argument, nullptr, 907 }, |
6714 |
|
{ "no-check-unsat-cores", no_argument, nullptr, 908 }, |
6715 |
|
{ "debug-check-models", no_argument, nullptr, 909 }, |
6716 |
|
{ "no-debug-check-models", no_argument, nullptr, 910 }, |
6717 |
|
{ "diagnostic-output-channel", required_argument, nullptr, 911 }, |
6718 |
|
{ "dump-instantiations", no_argument, nullptr, 912 }, |
6719 |
|
{ "no-dump-instantiations", no_argument, nullptr, 913 }, |
6720 |
|
{ "dump-models", no_argument, nullptr, 914 }, |
6721 |
|
{ "no-dump-models", no_argument, nullptr, 915 }, |
6722 |
|
{ "dump-proofs", no_argument, nullptr, 916 }, |
6723 |
|
{ "no-dump-proofs", no_argument, nullptr, 917 }, |
6724 |
|
{ "dump-to", required_argument, nullptr, 918 }, |
6725 |
|
{ "dump-unsat-cores", no_argument, nullptr, 919 }, |
6726 |
|
{ "no-dump-unsat-cores", no_argument, nullptr, 920 }, |
6727 |
|
{ "dump-unsat-cores-full", no_argument, nullptr, 921 }, |
6728 |
|
{ "no-dump-unsat-cores-full", no_argument, nullptr, 922 }, |
6729 |
|
{ "dump", required_argument, nullptr, 923 }, |
6730 |
|
{ "early-ite-removal", no_argument, nullptr, 924 }, |
6731 |
|
{ "no-early-ite-removal", no_argument, nullptr, 925 }, |
6732 |
|
{ "expand-definitions", no_argument, nullptr, 926 }, |
6733 |
|
{ "no-expand-definitions", no_argument, nullptr, 927 }, |
6734 |
|
{ "ext-rew-prep", no_argument, nullptr, 928 }, |
6735 |
|
{ "no-ext-rew-prep", no_argument, nullptr, 929 }, |
6736 |
|
{ "ext-rew-prep-agg", no_argument, nullptr, 930 }, |
6737 |
|
{ "no-ext-rew-prep-agg", no_argument, nullptr, 931 }, |
6738 |
|
{ "force-no-limit-cpu-while-dump", no_argument, nullptr, 932 }, |
6739 |
|
{ "no-force-no-limit-cpu-while-dump", no_argument, nullptr, 933 }, |
6740 |
|
{ "foreign-theory-rewrite", no_argument, nullptr, 934 }, |
6741 |
|
{ "no-foreign-theory-rewrite", no_argument, nullptr, 935 }, |
6742 |
|
{ "iand-mode", required_argument, nullptr, 936 }, |
6743 |
|
{ "incremental", no_argument, nullptr, 937 }, |
6744 |
|
{ "no-incremental", no_argument, nullptr, 938 }, |
6745 |
|
{ "interactive-mode", no_argument, nullptr, 939 }, |
6746 |
|
{ "no-interactive-mode", no_argument, nullptr, 940 }, |
6747 |
|
{ "ite-simp", no_argument, nullptr, 941 }, |
6748 |
|
{ "no-ite-simp", no_argument, nullptr, 942 }, |
6749 |
|
{ "model-cores", required_argument, nullptr, 943 }, |
6750 |
|
{ "model-u-print", required_argument, nullptr, 944 }, |
6751 |
|
{ "model-uninterp-print", required_argument, nullptr, 945 }, |
6752 |
|
{ "model-witness-value", no_argument, nullptr, 946 }, |
6753 |
|
{ "no-model-witness-value", no_argument, nullptr, 947 }, |
6754 |
|
{ "on-repeat-ite-simp", no_argument, nullptr, 948 }, |
6755 |
|
{ "no-on-repeat-ite-simp", no_argument, nullptr, 949 }, |
6756 |
|
{ "produce-abducts", no_argument, nullptr, 950 }, |
6757 |
|
{ "no-produce-abducts", no_argument, nullptr, 951 }, |
6758 |
|
{ "produce-assertions", no_argument, nullptr, 952 }, |
6759 |
|
{ "no-produce-assertions", no_argument, nullptr, 953 }, |
6760 |
|
{ "produce-assignments", no_argument, nullptr, 954 }, |
6761 |
|
{ "no-produce-assignments", no_argument, nullptr, 955 }, |
6762 |
|
{ "produce-interpols", required_argument, nullptr, 956 }, |
6763 |
|
{ "produce-models", no_argument, nullptr, 957 }, |
6764 |
|
{ "no-produce-models", no_argument, nullptr, 958 }, |
6765 |
|
{ "produce-proofs", no_argument, nullptr, 959 }, |
6766 |
|
{ "no-produce-proofs", no_argument, nullptr, 960 }, |
6767 |
|
{ "produce-unsat-assumptions", no_argument, nullptr, 961 }, |
6768 |
|
{ "no-produce-unsat-assumptions", no_argument, nullptr, 962 }, |
6769 |
|
{ "produce-unsat-cores", no_argument, nullptr, 963 }, |
6770 |
|
{ "no-produce-unsat-cores", no_argument, nullptr, 964 }, |
6771 |
|
{ "regular-output-channel", required_argument, nullptr, 965 }, |
6772 |
|
{ "repeat-simp", no_argument, nullptr, 966 }, |
6773 |
|
{ "no-repeat-simp", no_argument, nullptr, 967 }, |
6774 |
|
{ "simp-ite-compress", no_argument, nullptr, 968 }, |
6775 |
|
{ "no-simp-ite-compress", no_argument, nullptr, 969 }, |
6776 |
|
{ "simp-ite-hunt-zombies", required_argument, nullptr, 970 }, |
6777 |
|
{ "simp-with-care", no_argument, nullptr, 971 }, |
6778 |
|
{ "no-simp-with-care", no_argument, nullptr, 972 }, |
6779 |
|
{ "simplification", required_argument, nullptr, 973 }, |
6780 |
|
{ "simplification-mode", required_argument, nullptr, 974 }, |
6781 |
|
{ "solve-bv-as-int", required_argument, nullptr, 975 }, |
6782 |
|
{ "solve-int-as-bv", required_argument, nullptr, 976 }, |
6783 |
|
{ "solve-real-as-int", no_argument, nullptr, 977 }, |
6784 |
|
{ "no-solve-real-as-int", no_argument, nullptr, 978 }, |
6785 |
|
{ "sort-inference", no_argument, nullptr, 979 }, |
6786 |
|
{ "no-sort-inference", no_argument, nullptr, 980 }, |
6787 |
|
{ "static-learning", no_argument, nullptr, 981 }, |
6788 |
|
{ "no-static-learning", no_argument, nullptr, 982 }, |
6789 |
|
{ "sygus-out", required_argument, nullptr, 983 }, |
6790 |
|
{ "sygus-print-callbacks", no_argument, nullptr, 984 }, |
6791 |
|
{ "no-sygus-print-callbacks", no_argument, nullptr, 985 }, |
6792 |
|
{ "unconstrained-simp", no_argument, nullptr, 986 }, |
6793 |
|
{ "no-unconstrained-simp", no_argument, nullptr, 987 }, |
6794 |
|
{ "unsat-cores-mode", required_argument, nullptr, 988 }, |
6795 |
|
{ "re-elim", no_argument, nullptr, 989 }, |
6796 |
|
{ "no-re-elim", no_argument, nullptr, 990 }, |
6797 |
|
{ "re-elim-agg", no_argument, nullptr, 991 }, |
6798 |
|
{ "no-re-elim-agg", no_argument, nullptr, 992 }, |
6799 |
|
{ "re-inter-mode", required_argument, nullptr, 993 }, |
6800 |
|
{ "strings-check-entail-len", no_argument, nullptr, 994 }, |
6801 |
|
{ "no-strings-check-entail-len", no_argument, nullptr, 995 }, |
6802 |
|
{ "strings-eager", no_argument, nullptr, 996 }, |
6803 |
|
{ "no-strings-eager", no_argument, nullptr, 997 }, |
6804 |
|
{ "strings-eager-eval", no_argument, nullptr, 998 }, |
6805 |
|
{ "no-strings-eager-eval", no_argument, nullptr, 999 }, |
6806 |
|
{ "strings-eager-len", no_argument, nullptr, 1000 }, |
6807 |
|
{ "no-strings-eager-len", no_argument, nullptr, 1001 }, |
6808 |
|
{ "strings-exp", no_argument, nullptr, 1002 }, |
6809 |
|
{ "no-strings-exp", no_argument, nullptr, 1003 }, |
6810 |
|
{ "strings-ff", no_argument, nullptr, 1004 }, |
6811 |
|
{ "no-strings-ff", no_argument, nullptr, 1005 }, |
6812 |
|
{ "strings-fmf", no_argument, nullptr, 1006 }, |
6813 |
|
{ "no-strings-fmf", no_argument, nullptr, 1007 }, |
6814 |
|
{ "strings-guess-model", no_argument, nullptr, 1008 }, |
6815 |
|
{ "no-strings-guess-model", no_argument, nullptr, 1009 }, |
6816 |
|
{ "strings-infer-as-lemmas", no_argument, nullptr, 1010 }, |
6817 |
|
{ "no-strings-infer-as-lemmas", no_argument, nullptr, 1011 }, |
6818 |
|
{ "strings-infer-sym", no_argument, nullptr, 1012 }, |
6819 |
|
{ "no-strings-infer-sym", no_argument, nullptr, 1013 }, |
6820 |
|
{ "strings-inm", no_argument, nullptr, 1014 }, |
6821 |
|
{ "no-strings-inm", no_argument, nullptr, 1015 }, |
6822 |
|
{ "strings-lazy-pp", no_argument, nullptr, 1016 }, |
6823 |
|
{ "no-strings-lazy-pp", no_argument, nullptr, 1017 }, |
6824 |
|
{ "strings-len-norm", no_argument, nullptr, 1018 }, |
6825 |
|
{ "no-strings-len-norm", no_argument, nullptr, 1019 }, |
6826 |
|
{ "strings-lprop-csp", no_argument, nullptr, 1020 }, |
6827 |
|
{ "no-strings-lprop-csp", no_argument, nullptr, 1021 }, |
6828 |
|
{ "strings-min-prefix-explain", no_argument, nullptr, 1022 }, |
6829 |
|
{ "no-strings-min-prefix-explain", no_argument, nullptr, 1023 }, |
6830 |
|
{ "strings-process-loop-mode", required_argument, nullptr, 1024 }, |
6831 |
|
{ "strings-rexplain-lemmas", no_argument, nullptr, 1025 }, |
6832 |
|
{ "no-strings-rexplain-lemmas", no_argument, nullptr, 1026 }, |
6833 |
|
{ "strings-unified-vspt", no_argument, nullptr, 1027 }, |
6834 |
|
{ "no-strings-unified-vspt", no_argument, nullptr, 1028 }, |
6835 |
|
{ "assign-function-values", no_argument, nullptr, 1029 }, |
6836 |
|
{ "no-assign-function-values", no_argument, nullptr, 1030 }, |
6837 |
|
{ "condense-function-values", no_argument, nullptr, 1031 }, |
6838 |
|
{ "no-condense-function-values", no_argument, nullptr, 1032 }, |
6839 |
|
{ "ee-mode", required_argument, nullptr, 1033 }, |
6840 |
|
{ "relevance-filter", no_argument, nullptr, 1034 }, |
6841 |
|
{ "no-relevance-filter", no_argument, nullptr, 1035 }, |
6842 |
|
{ "tc-mode", required_argument, nullptr, 1036 }, |
6843 |
|
{ "theoryof-mode", required_argument, nullptr, 1037 }, |
6844 |
|
{ "symmetry-breaker", no_argument, nullptr, 1038 }, |
6845 |
|
{ "uf-symmetry-breaker", no_argument, nullptr, 1039 }, |
6846 |
|
{ "no-symmetry-breaker", no_argument, nullptr, 1040 }, |
6847 |
|
{ "no-uf-symmetry-breaker", no_argument, nullptr, 1041 }, |
6848 |
|
{ "uf-ho", no_argument, nullptr, 1042 }, |
6849 |
|
{ "no-uf-ho", no_argument, nullptr, 1043 }, |
6850 |
|
{ "uf-ho-ext", no_argument, nullptr, 1044 }, |
6851 |
|
{ "no-uf-ho-ext", no_argument, nullptr, 1045 }, |
6852 |
|
{ "uf-ss-abort-card", required_argument, nullptr, 1046 }, |
6853 |
|
{ "uf-ss-fair", no_argument, nullptr, 1047 }, |
6854 |
|
{ "no-uf-ss-fair", no_argument, nullptr, 1048 }, |
6855 |
|
{ "uf-ss-fair-monotone", no_argument, nullptr, 1049 }, |
6856 |
|
{ "no-uf-ss-fair-monotone", no_argument, nullptr, 1050 }, |
6857 |
|
{ "uf-ss-totality-limited", required_argument, nullptr, 1051 }, |
6858 |
|
{ "uf-ss-totality-sym-break", no_argument, nullptr, 1052 }, |
6859 |
|
{ "no-uf-ss-totality-sym-break", no_argument, nullptr, 1053 }, |
6860 |
|
{ "uf-ss", required_argument, nullptr, 1054 }, |
6861 |
|
{nullptr, no_argument, nullptr, '\0'}}; |
6862 |
|
// clang-format on |
6863 |
|
|
6864 |
|
namespace options { |
6865 |
|
|
6866 |
|
/** Set a given Options* as "current" just for a particular scope. */ |
6867 |
|
class OptionsGuard { |
6868 |
|
Options** d_field; |
6869 |
|
Options* d_old; |
6870 |
|
public: |
6871 |
8291 |
OptionsGuard(Options** field, Options* opts) : |
6872 |
|
d_field(field), |
6873 |
8291 |
d_old(*field) { |
6874 |
8291 |
*field = opts; |
6875 |
8291 |
} |
6876 |
11574 |
~OptionsGuard() { |
6877 |
5787 |
*d_field = d_old; |
6878 |
5787 |
} |
6879 |
|
};/* class OptionsGuard */ |
6880 |
|
|
6881 |
|
} // namespace options |
6882 |
|
|
6883 |
|
/** |
6884 |
|
* Parse argc/argv and put the result into a cvc5::Options. |
6885 |
|
* The return value is what's left of the command line (that is, the |
6886 |
|
* non-option arguments). |
6887 |
|
* |
6888 |
|
* Throws OptionException on failures. |
6889 |
|
*/ |
6890 |
8291 |
std::vector<std::string> Options::parseOptions(Options* options, |
6891 |
|
int argc, |
6892 |
|
char* argv[]) |
6893 |
|
{ |
6894 |
8291 |
Assert(options != NULL); |
6895 |
8291 |
Assert(argv != NULL); |
6896 |
|
|
6897 |
14078 |
options::OptionsGuard guard(&s_current, options); |
6898 |
|
|
6899 |
8291 |
const char *progName = argv[0]; |
6900 |
|
|
6901 |
|
// To debug options parsing, you may prefer to simply uncomment this |
6902 |
|
// and recompile. Debug flags have not been parsed yet so these have |
6903 |
|
// not been set. |
6904 |
|
//DebugChannel.on("options"); |
6905 |
|
|
6906 |
8291 |
Debug("options") << "Options::parseOptions == " << options << std::endl; |
6907 |
8291 |
Debug("options") << "argv == " << argv << std::endl; |
6908 |
|
|
6909 |
|
// Find the base name of the program. |
6910 |
8291 |
const char *x = strrchr(progName, '/'); |
6911 |
8291 |
if(x != NULL) { |
6912 |
8229 |
progName = x + 1; |
6913 |
|
} |
6914 |
8291 |
options->base().binary_name = std::string(progName); |
6915 |
|
|
6916 |
8291 |
std::vector<std::string> nonoptions; |
6917 |
8291 |
options->parseOptionsRecursive(argc, argv, &nonoptions); |
6918 |
5787 |
if(Debug.isOn("options")){ |
6919 |
|
for(std::vector<std::string>::const_iterator i = nonoptions.begin(), |
6920 |
|
iend = nonoptions.end(); i != iend; ++i){ |
6921 |
|
Debug("options") << "nonoptions " << *i << std::endl; |
6922 |
|
} |
6923 |
|
} |
6924 |
|
|
6925 |
11574 |
return nonoptions; |
6926 |
|
} |
6927 |
|
|
6928 |
|
std::string suggestCommandLineOptions(const std::string& optionName) |
6929 |
|
{ |
6930 |
|
DidYouMean didYouMean; |
6931 |
|
|
6932 |
|
const char* opt; |
6933 |
|
for(size_t i = 0; (opt = cmdlineOptions[i].name) != nullptr; ++i) { |
6934 |
|
didYouMean.addWord(std::string("--") + cmdlineOptions[i].name); |
6935 |
|
} |
6936 |
|
|
6937 |
|
return didYouMean.getMatchAsString(optionName.substr(0, optionName.find('='))); |
6938 |
|
} |
6939 |
|
|
6940 |
8291 |
void Options::parseOptionsRecursive(int argc, |
6941 |
|
char* argv[], |
6942 |
|
std::vector<std::string>* nonoptions) |
6943 |
|
{ |
6944 |
|
|
6945 |
8291 |
if(Debug.isOn("options")) { |
6946 |
|
Debug("options") << "starting a new parseOptionsRecursive with " |
6947 |
|
<< argc << " arguments" << std::endl; |
6948 |
|
for( int i = 0; i < argc ; i++ ){ |
6949 |
|
Assert(argv[i] != NULL); |
6950 |
|
Debug("options") << " argv[" << i << "] = " << argv[i] << std::endl; |
6951 |
|
} |
6952 |
|
} |
6953 |
|
|
6954 |
|
// Reset getopt(), in the case of multiple calls to parseOptions(). |
6955 |
|
// This can be = 1 in newer GNU getopt, but older (< 2007) require = 0. |
6956 |
8291 |
optind = 0; |
6957 |
|
#if HAVE_DECL_OPTRESET |
6958 |
|
optreset = 1; // on BSD getopt() (e.g. Mac OS), might need this |
6959 |
|
#endif /* HAVE_DECL_OPTRESET */ |
6960 |
|
|
6961 |
|
// We must parse the binary name, which is manually ignored below. Setting |
6962 |
|
// this to 1 leads to incorrect behavior on some platforms. |
6963 |
8291 |
int main_optind = 0; |
6964 |
|
int old_optind; |
6965 |
|
|
6966 |
|
|
6967 |
|
while(true) { // Repeat Forever |
6968 |
|
|
6969 |
22647 |
optopt = 0; |
6970 |
29968 |
std::string option, optionarg; |
6971 |
|
|
6972 |
22647 |
optind = main_optind; |
6973 |
22647 |
old_optind = main_optind; |
6974 |
|
|
6975 |
|
// If we encounter an element that is not at zero and does not start |
6976 |
|
// with a "-", this is a non-option. We consume this element as a |
6977 |
|
// non-option. |
6978 |
36941 |
if (main_optind > 0 && main_optind < argc && |
6979 |
8569 |
argv[main_optind][0] != '-') { |
6980 |
11450 |
Debug("options") << "enqueueing " << argv[main_optind] |
6981 |
5725 |
<< " as a non-option." << std::endl; |
6982 |
5725 |
nonoptions->push_back(argv[main_optind]); |
6983 |
5725 |
++main_optind; |
6984 |
5725 |
continue; |
6985 |
|
} |
6986 |
|
|
6987 |
|
|
6988 |
33844 |
Debug("options") << "[ before, main_optind == " << main_optind << " ]" |
6989 |
16922 |
<< std::endl; |
6990 |
16922 |
Debug("options") << "[ before, optind == " << optind << " ]" << std::endl; |
6991 |
33844 |
Debug("options") << "[ argc == " << argc << ", argv == " << argv << " ]" |
6992 |
16922 |
<< std::endl; |
6993 |
|
// clang-format off |
6994 |
16922 |
int c = getopt_long(argc, argv, |
6995 |
|
"+:d:L:qt:vhs:Vim", |
6996 |
16922 |
cmdlineOptions, NULL); |
6997 |
|
// clang-format on |
6998 |
|
|
6999 |
16922 |
main_optind = optind; |
7000 |
|
|
7001 |
33844 |
Debug("options") << "[ got " << int(c) << " (" << char(c) << ") ]" |
7002 |
16922 |
<< "[ next option will be at pos: " << optind << " ]" |
7003 |
16922 |
<< std::endl; |
7004 |
|
|
7005 |
|
// The initial getopt_long call should always determine that argv[0] |
7006 |
|
// is not an option and returns -1. We always manually advance beyond |
7007 |
|
// this element. |
7008 |
18232 |
if ( old_optind == 0 && c == -1 ) { |
7009 |
1310 |
Assert(main_optind > 0); |
7010 |
1310 |
continue; |
7011 |
|
} |
7012 |
|
|
7013 |
15612 |
if ( c == -1 ) { |
7014 |
5787 |
if(Debug.isOn("options")) { |
7015 |
|
Debug("options") << "done with option parsing" << std::endl; |
7016 |
|
for(int index = optind; index < argc; ++index) { |
7017 |
|
Debug("options") << "remaining " << argv[index] << std::endl; |
7018 |
|
} |
7019 |
|
} |
7020 |
5787 |
break; |
7021 |
|
} |
7022 |
|
|
7023 |
9825 |
option = argv[old_optind == 0 ? 1 : old_optind]; |
7024 |
9825 |
optionarg = (optarg == NULL) ? "" : optarg; |
7025 |
|
|
7026 |
19650 |
Debug("preemptGetopt") << "processing option " << c |
7027 |
9825 |
<< " (`" << char(c) << "'), " << option << std::endl; |
7028 |
|
|
7029 |
|
// clang-format off |
7030 |
9825 |
switch(c) |
7031 |
|
{ |
7032 |
|
case 256: // --approx-branch-depth=N |
7033 |
|
assign(options::maxApproxDepth, option, optionarg); |
7034 |
|
break; |
7035 |
2 |
case 257: // --arith-brab |
7036 |
2 |
assignBool(options::brabTest, option, true); |
7037 |
2 |
break; |
7038 |
2 |
case 258:// --no-arith-brab |
7039 |
2 |
assignBool(options::brabTest, option, false); |
7040 |
2 |
break; |
7041 |
|
case 259: // --arith-no-partial-fun |
7042 |
|
assignBool(options::arithNoPartialFun, option, true); |
7043 |
|
break; |
7044 |
|
case 260:// --no-arith-no-partial-fun |
7045 |
|
assignBool(options::arithNoPartialFun, option, false); |
7046 |
|
break; |
7047 |
|
case 261: // --arith-prop-clauses=N |
7048 |
|
assign(options::arithPropAsLemmaLength, option, optionarg); |
7049 |
|
break; |
7050 |
|
case 262: // --arith-prop=MODE |
7051 |
|
assign(options::arithPropagationMode, option, optionarg); |
7052 |
|
break; |
7053 |
4 |
case 263: // --arith-rewrite-equalities |
7054 |
4 |
assignBool(options::arithRewriteEq, option, true); |
7055 |
4 |
break; |
7056 |
|
case 264:// --no-arith-rewrite-equalities |
7057 |
|
assignBool(options::arithRewriteEq, option, false); |
7058 |
|
break; |
7059 |
|
case 265: // --collect-pivot-stats |
7060 |
|
assignBool(options::collectPivots, option, true); |
7061 |
|
break; |
7062 |
|
case 266:// --no-collect-pivot-stats |
7063 |
|
assignBool(options::collectPivots, option, false); |
7064 |
|
break; |
7065 |
|
case 267: // --cut-all-bounded |
7066 |
|
assignBool(options::doCutAllBounded, option, true); |
7067 |
|
break; |
7068 |
|
case 268:// --no-cut-all-bounded |
7069 |
|
assignBool(options::doCutAllBounded, option, false); |
7070 |
|
break; |
7071 |
|
case 269: // --dio-decomps |
7072 |
|
assignBool(options::exportDioDecompositions, option, true); |
7073 |
|
break; |
7074 |
|
case 270:// --no-dio-decomps |
7075 |
|
assignBool(options::exportDioDecompositions, option, false); |
7076 |
|
break; |
7077 |
|
case 271: // --dio-repeat |
7078 |
|
assignBool(options::dioRepeat, option, true); |
7079 |
|
break; |
7080 |
|
case 272:// --no-dio-repeat |
7081 |
|
assignBool(options::dioRepeat, option, false); |
7082 |
|
break; |
7083 |
|
case 273: // --dio-solver |
7084 |
|
assignBool(options::arithDioSolver, option, true); |
7085 |
|
break; |
7086 |
|
case 274:// --no-dio-solver |
7087 |
|
assignBool(options::arithDioSolver, option, false); |
7088 |
|
break; |
7089 |
|
case 275: // --dio-turns=N |
7090 |
|
assign(options::dioSolverTurns, option, optionarg); |
7091 |
|
break; |
7092 |
|
case 276: // --error-selection-rule=RULE |
7093 |
|
assign(options::arithErrorSelectionRule, option, optionarg); |
7094 |
|
break; |
7095 |
|
case 277: // --fc-penalties |
7096 |
|
assignBool(options::havePenalties, option, true); |
7097 |
|
break; |
7098 |
|
case 278:// --no-fc-penalties |
7099 |
|
assignBool(options::havePenalties, option, false); |
7100 |
|
break; |
7101 |
|
case 279: // --heuristic-pivots=N |
7102 |
|
assign(options::arithHeuristicPivots, option, optionarg); |
7103 |
|
break; |
7104 |
|
case 280: // --lemmas-on-replay-failure |
7105 |
|
assignBool(options::replayFailureLemma, option, true); |
7106 |
|
break; |
7107 |
|
case 281:// --no-lemmas-on-replay-failure |
7108 |
|
assignBool(options::replayFailureLemma, option, false); |
7109 |
|
break; |
7110 |
|
case 282: // --maxCutsInContext=N |
7111 |
|
assign(options::maxCutsInContext, option, optionarg); |
7112 |
|
break; |
7113 |
8 |
case 283: // --miplib-trick |
7114 |
8 |
assignBool(options::arithMLTrick, option, true); |
7115 |
8 |
break; |
7116 |
|
case 284:// --no-miplib-trick |
7117 |
|
assignBool(options::arithMLTrick, option, false); |
7118 |
|
break; |
7119 |
|
case 285: // --miplib-trick-subs=N |
7120 |
|
assign(options::arithMLTrickSubstitutions, option, optionarg); |
7121 |
|
break; |
7122 |
|
case 286: // --new-prop |
7123 |
|
assignBool(options::newProp, option, true); |
7124 |
|
break; |
7125 |
8 |
case 287:// --no-new-prop |
7126 |
8 |
assignBool(options::newProp, option, false); |
7127 |
8 |
break; |
7128 |
5 |
case 288: // --nl-cad |
7129 |
5 |
assignBool(options::nlCad, option, true); |
7130 |
5 |
break; |
7131 |
|
case 289:// --no-nl-cad |
7132 |
|
assignBool(options::nlCad, option, false); |
7133 |
|
break; |
7134 |
|
case 290: // --nl-cad-initial |
7135 |
|
assignBool(options::nlCadUseInitial, option, true); |
7136 |
|
break; |
7137 |
|
case 291:// --no-nl-cad-initial |
7138 |
|
assignBool(options::nlCadUseInitial, option, false); |
7139 |
|
break; |
7140 |
|
case 292: // --nl-ext-ent-conf |
7141 |
|
assignBool(options::nlExtEntailConflicts, option, true); |
7142 |
|
break; |
7143 |
|
case 293:// --no-nl-ext-ent-conf |
7144 |
|
assignBool(options::nlExtEntailConflicts, option, false); |
7145 |
|
break; |
7146 |
|
case 294: // --nl-ext-factor |
7147 |
|
assignBool(options::nlExtFactor, option, true); |
7148 |
|
break; |
7149 |
|
case 295:// --no-nl-ext-factor |
7150 |
|
assignBool(options::nlExtFactor, option, false); |
7151 |
|
break; |
7152 |
|
case 296: // --nl-ext-inc-prec |
7153 |
|
assignBool(options::nlExtIncPrecision, option, true); |
7154 |
|
break; |
7155 |
2 |
case 297:// --no-nl-ext-inc-prec |
7156 |
2 |
assignBool(options::nlExtIncPrecision, option, false); |
7157 |
2 |
break; |
7158 |
2 |
case 298: // --nl-ext-purify |
7159 |
2 |
assignBool(options::nlExtPurify, option, true); |
7160 |
2 |
break; |
7161 |
|
case 299:// --no-nl-ext-purify |
7162 |
|
assignBool(options::nlExtPurify, option, false); |
7163 |
|
break; |
7164 |
|
case 300: // --nl-ext-rbound |
7165 |
|
assignBool(options::nlExtResBound, option, true); |
7166 |
|
break; |
7167 |
|
case 301:// --no-nl-ext-rbound |
7168 |
|
assignBool(options::nlExtResBound, option, false); |
7169 |
|
break; |
7170 |
|
case 302: // --nl-ext-rewrite |
7171 |
|
assignBool(options::nlExtRewrites, option, true); |
7172 |
|
break; |
7173 |
|
case 303:// --no-nl-ext-rewrite |
7174 |
|
assignBool(options::nlExtRewrites, option, false); |
7175 |
|
break; |
7176 |
|
case 304: // --nl-ext-split-zero |
7177 |
|
assignBool(options::nlExtSplitZero, option, true); |
7178 |
|
break; |
7179 |
|
case 305:// --no-nl-ext-split-zero |
7180 |
|
assignBool(options::nlExtSplitZero, option, false); |
7181 |
|
break; |
7182 |
|
case 306: // --nl-ext-tf-taylor-deg=N |
7183 |
|
assign(options::nlExtTfTaylorDegree, option, optionarg); |
7184 |
|
break; |
7185 |
39 |
case 307: // --nl-ext-tf-tplanes |
7186 |
39 |
assignBool(options::nlExtTfTangentPlanes, option, true); |
7187 |
39 |
break; |
7188 |
2 |
case 308:// --no-nl-ext-tf-tplanes |
7189 |
2 |
assignBool(options::nlExtTfTangentPlanes, option, false); |
7190 |
2 |
break; |
7191 |
41 |
case 309: // --nl-ext-tplanes |
7192 |
41 |
assignBool(options::nlExtTangentPlanes, option, true); |
7193 |
41 |
break; |
7194 |
|
case 310:// --no-nl-ext-tplanes |
7195 |
|
assignBool(options::nlExtTangentPlanes, option, false); |
7196 |
|
break; |
7197 |
|
case 311: // --nl-ext-tplanes-interleave |
7198 |
|
assignBool(options::nlExtTangentPlanesInterleave, option, true); |
7199 |
|
break; |
7200 |
|
case 312:// --no-nl-ext-tplanes-interleave |
7201 |
|
assignBool(options::nlExtTangentPlanesInterleave, option, false); |
7202 |
|
break; |
7203 |
128 |
case 313: // --nl-ext=MODE |
7204 |
128 |
assign(options::nlExt, option, optionarg); |
7205 |
128 |
break; |
7206 |
2 |
case 314: // --nl-icp |
7207 |
2 |
assignBool(options::nlICP, option, true); |
7208 |
2 |
break; |
7209 |
|
case 315:// --no-nl-icp |
7210 |
|
assignBool(options::nlICP, option, false); |
7211 |
|
break; |
7212 |
10 |
case 316: // --nl-rlv=MODE |
7213 |
10 |
assign(options::nlRlvMode, option, optionarg); |
7214 |
10 |
break; |
7215 |
2 |
case 317: // --pb-rewrites |
7216 |
2 |
assignBool(options::pbRewrites, option, true); |
7217 |
2 |
break; |
7218 |
|
case 318:// --no-pb-rewrites |
7219 |
|
assignBool(options::pbRewrites, option, false); |
7220 |
|
break; |
7221 |
|
case 319: // --pivot-threshold=N |
7222 |
|
assign(options::arithPivotThreshold, option, optionarg); |
7223 |
|
break; |
7224 |
|
case 320: // --pp-assert-max-sub-size=N |
7225 |
|
assign(options::ppAssertMaxSubSize, option, optionarg); |
7226 |
|
break; |
7227 |
|
case 321: // --prop-row-length=N |
7228 |
|
assign(options::arithPropagateMaxLength, option, optionarg); |
7229 |
|
break; |
7230 |
|
case 322: // --replay-early-close-depth=N |
7231 |
|
assign(options::replayEarlyCloseDepths, option, optionarg); |
7232 |
|
break; |
7233 |
|
case 323: // --replay-failure-penalty=N |
7234 |
|
assign(options::replayFailurePenalty, option, optionarg); |
7235 |
|
break; |
7236 |
|
case 324: // --replay-lemma-reject-cut=N |
7237 |
|
assign(options::lemmaRejectCutSize, option, optionarg); |
7238 |
|
break; |
7239 |
|
case 325: // --replay-num-err-penalty=N |
7240 |
|
assign(options::replayNumericFailurePenalty, option, optionarg); |
7241 |
|
break; |
7242 |
|
case 326: // --replay-reject-cut=N |
7243 |
|
assign(options::replayRejectCutSize, option, optionarg); |
7244 |
|
break; |
7245 |
|
case 327: // --replay-soi-major-threshold-pen=N |
7246 |
|
assign(options::soiApproxMajorFailurePen, option, optionarg); |
7247 |
|
break; |
7248 |
|
case 328: // --replay-soi-major-threshold=T |
7249 |
|
assign(options::soiApproxMajorFailure, option, optionarg); |
7250 |
|
break; |
7251 |
|
case 329: // --replay-soi-minor-threshold-pen=N |
7252 |
|
assign(options::soiApproxMinorFailurePen, option, optionarg); |
7253 |
|
break; |
7254 |
|
case 330: // --replay-soi-minor-threshold=T |
7255 |
|
assign(options::soiApproxMinorFailure, option, optionarg); |
7256 |
|
break; |
7257 |
|
case 331: // --restrict-pivots |
7258 |
|
assignBool(options::restrictedPivots, option, true); |
7259 |
|
break; |
7260 |
|
case 332:// --no-restrict-pivots |
7261 |
|
assignBool(options::restrictedPivots, option, false); |
7262 |
|
break; |
7263 |
|
case 333: // --revert-arith-models-on-unsat |
7264 |
|
assignBool(options::revertArithModels, option, true); |
7265 |
|
break; |
7266 |
|
case 334:// --no-revert-arith-models-on-unsat |
7267 |
|
assignBool(options::revertArithModels, option, false); |
7268 |
|
break; |
7269 |
|
case 335: // --rr-turns=N |
7270 |
|
assign(options::rrTurns, option, optionarg); |
7271 |
|
break; |
7272 |
|
case 336: // --se-solve-int |
7273 |
|
assignBool(options::trySolveIntStandardEffort, option, true); |
7274 |
|
break; |
7275 |
|
case 337:// --no-se-solve-int |
7276 |
|
assignBool(options::trySolveIntStandardEffort, option, false); |
7277 |
|
break; |
7278 |
|
case 338: // --simplex-check-period=N |
7279 |
|
assign(options::arithSimplexCheckPeriod, option, optionarg); |
7280 |
|
break; |
7281 |
|
case 339: // --soi-qe |
7282 |
|
assignBool(options::soiQuickExplain, option, true); |
7283 |
|
break; |
7284 |
|
case 340:// --no-soi-qe |
7285 |
|
assignBool(options::soiQuickExplain, option, false); |
7286 |
|
break; |
7287 |
|
case 341: // --standard-effort-variable-order-pivots=N |
7288 |
|
assign(options::arithStandardCheckVarOrderPivots, option, optionarg); |
7289 |
|
break; |
7290 |
|
case 342: // --unate-lemmas=MODE |
7291 |
|
assign(options::arithUnateLemmaMode, option, optionarg); |
7292 |
|
break; |
7293 |
|
case 343: // --use-approx |
7294 |
|
assignBool(options::useApprox, option, true); |
7295 |
|
break; |
7296 |
|
case 344:// --no-use-approx |
7297 |
|
assignBool(options::useApprox, option, false); |
7298 |
|
break; |
7299 |
|
case 345: // --use-fcsimplex |
7300 |
|
assignBool(options::useFC, option, true); |
7301 |
|
break; |
7302 |
|
case 346:// --no-use-fcsimplex |
7303 |
|
assignBool(options::useFC, option, false); |
7304 |
|
break; |
7305 |
|
case 347: // --use-soi |
7306 |
|
assignBool(options::useSOI, option, true); |
7307 |
|
break; |
7308 |
|
case 348:// --no-use-soi |
7309 |
|
assignBool(options::useSOI, option, false); |
7310 |
|
break; |
7311 |
|
case 349: // --arrays-config=N |
7312 |
|
assign(options::arraysConfig, option, optionarg); |
7313 |
|
break; |
7314 |
|
case 350: // --arrays-eager-index |
7315 |
|
assignBool(options::arraysEagerIndexSplitting, option, true); |
7316 |
|
break; |
7317 |
|
case 351:// --no-arrays-eager-index |
7318 |
|
assignBool(options::arraysEagerIndexSplitting, option, false); |
7319 |
|
break; |
7320 |
|
case 352: // --arrays-eager-lemmas |
7321 |
|
assignBool(options::arraysEagerLemmas, option, true); |
7322 |
|
break; |
7323 |
|
case 353:// --no-arrays-eager-lemmas |
7324 |
|
assignBool(options::arraysEagerLemmas, option, false); |
7325 |
|
break; |
7326 |
3 |
case 354: // --arrays-exp |
7327 |
3 |
assignBool(options::arraysExp, option, true); |
7328 |
3 |
break; |
7329 |
|
case 355:// --no-arrays-exp |
7330 |
|
assignBool(options::arraysExp, option, false); |
7331 |
|
break; |
7332 |
|
case 356: // --arrays-model-based |
7333 |
|
assignBool(options::arraysModelBased, option, true); |
7334 |
|
break; |
7335 |
|
case 357:// --no-arrays-model-based |
7336 |
|
assignBool(options::arraysModelBased, option, false); |
7337 |
|
break; |
7338 |
|
case 358: // --arrays-optimize-linear |
7339 |
|
assignBool(options::arraysOptimizeLinear, option, true); |
7340 |
|
break; |
7341 |
|
case 359:// --no-arrays-optimize-linear |
7342 |
|
assignBool(options::arraysOptimizeLinear, option, false); |
7343 |
|
break; |
7344 |
|
case 360: // --arrays-prop=N |
7345 |
|
assign(options::arraysPropagate, option, optionarg); |
7346 |
|
break; |
7347 |
|
case 361: // --arrays-reduce-sharing |
7348 |
|
assignBool(options::arraysReduceSharing, option, true); |
7349 |
|
break; |
7350 |
|
case 362:// --no-arrays-reduce-sharing |
7351 |
|
assignBool(options::arraysReduceSharing, option, false); |
7352 |
|
break; |
7353 |
|
case 363: // --arrays-weak-equiv |
7354 |
|
assignBool(options::arraysWeakEquivalence, option, true); |
7355 |
|
break; |
7356 |
|
case 364:// --no-arrays-weak-equiv |
7357 |
|
assignBool(options::arraysWeakEquivalence, option, false); |
7358 |
|
break; |
7359 |
|
case 'd': |
7360 |
|
case 365: // --debug=TAG |
7361 |
|
d_handler->enableDebugTag(option, optionarg); |
7362 |
|
break; |
7363 |
224 |
case 'L': |
7364 |
|
case 366: // --lang=LANG |
7365 |
|
case 367: // --input-language |
7366 |
224 |
assign(options::inputLanguage, option, optionarg); |
7367 |
224 |
break; |
7368 |
62 |
case 368: // --output-lang=LANG |
7369 |
|
case 369: // --output-language |
7370 |
62 |
assign(options::outputLanguage, option, optionarg); |
7371 |
62 |
break; |
7372 |
|
case 370: // --parse-only |
7373 |
|
assignBool(options::parseOnly, option, true); |
7374 |
|
break; |
7375 |
|
case 371:// --no-parse-only |
7376 |
|
assignBool(options::parseOnly, option, false); |
7377 |
|
break; |
7378 |
3 |
case 372: // --preprocess-only |
7379 |
3 |
assignBool(options::preprocessOnly, option, true); |
7380 |
3 |
break; |
7381 |
|
case 373:// --no-preprocess-only |
7382 |
|
assignBool(options::preprocessOnly, option, false); |
7383 |
|
break; |
7384 |
2 |
case 374: // --print-success |
7385 |
2 |
assignBool(options::printSuccess, option, true); |
7386 |
2 |
break; |
7387 |
|
case 375:// --no-print-success |
7388 |
|
assignBool(options::printSuccess, option, false); |
7389 |
|
break; |
7390 |
164 |
case 'q': |
7391 |
|
case 376: // --quiet |
7392 |
164 |
d_handler->decreaseVerbosity(option); |
7393 |
164 |
break; |
7394 |
|
case 377: // --stats |
7395 |
|
assignBool(options::statistics, option, true); |
7396 |
|
break; |
7397 |
|
case 378:// --no-stats |
7398 |
|
assignBool(options::statistics, option, false); |
7399 |
|
break; |
7400 |
|
case 379: // --stats-all |
7401 |
|
assignBool(options::statisticsAll, option, true); |
7402 |
|
break; |
7403 |
|
case 380:// --no-stats-all |
7404 |
|
assignBool(options::statisticsAll, option, false); |
7405 |
|
break; |
7406 |
|
case 381: // --stats-every-query |
7407 |
|
assignBool(options::statisticsEveryQuery, option, true); |
7408 |
|
break; |
7409 |
|
case 382:// --no-stats-every-query |
7410 |
|
assignBool(options::statisticsEveryQuery, option, false); |
7411 |
|
break; |
7412 |
|
case 383: // --stats-expert |
7413 |
|
assignBool(options::statisticsExpert, option, true); |
7414 |
|
break; |
7415 |
|
case 384:// --no-stats-expert |
7416 |
|
assignBool(options::statisticsExpert, option, false); |
7417 |
|
break; |
7418 |
|
case 't': |
7419 |
|
case 385: // --trace=TAG |
7420 |
|
d_handler->enableTraceTag(option, optionarg); |
7421 |
|
break; |
7422 |
3 |
case 'v': |
7423 |
|
case 386: // --verbose |
7424 |
3 |
d_handler->increaseVerbosity(option); |
7425 |
3 |
break; |
7426 |
|
case 387: // --verbosity=N |
7427 |
|
assign(options::verbosity, option, optionarg); |
7428 |
|
break; |
7429 |
|
case 388: // --bitblast-aig |
7430 |
|
assignBool(options::bitvectorAig, option, true); |
7431 |
|
break; |
7432 |
|
case 389:// --no-bitblast-aig |
7433 |
|
assignBool(options::bitvectorAig, option, false); |
7434 |
|
break; |
7435 |
31 |
case 390: // --bitblast=MODE |
7436 |
31 |
assign(options::bitblastMode, option, optionarg); |
7437 |
31 |
break; |
7438 |
|
case 391: // --bitwise-eq |
7439 |
|
assignBool(options::bitwiseEq, option, true); |
7440 |
|
break; |
7441 |
|
case 392:// --no-bitwise-eq |
7442 |
|
assignBool(options::bitwiseEq, option, false); |
7443 |
|
break; |
7444 |
12 |
case 393: // --bool-to-bv=MODE |
7445 |
12 |
assign(options::boolToBitvector, option, optionarg); |
7446 |
12 |
break; |
7447 |
4 |
case 394: // --bv-abstraction |
7448 |
4 |
assignBool(options::bvAbstraction, option, true); |
7449 |
4 |
break; |
7450 |
|
case 395:// --no-bv-abstraction |
7451 |
|
assignBool(options::bvAbstraction, option, false); |
7452 |
|
break; |
7453 |
|
case 396: // --bv-aig-simp=COMMAND |
7454 |
|
assign(options::bitvectorAigSimplifications, option, optionarg); |
7455 |
|
break; |
7456 |
|
case 397: // --bv-alg-extf |
7457 |
|
assignBool(options::bvAlgExtf, option, true); |
7458 |
|
break; |
7459 |
|
case 398:// --no-bv-alg-extf |
7460 |
|
assignBool(options::bvAlgExtf, option, false); |
7461 |
|
break; |
7462 |
|
case 399: // --bv-algebraic-budget=N |
7463 |
|
assign(options::bitvectorAlgebraicBudget, option, optionarg); |
7464 |
|
break; |
7465 |
|
case 400: // --bv-algebraic-solver |
7466 |
|
assignBool(options::bitvectorAlgebraicSolver, option, true); |
7467 |
|
break; |
7468 |
|
case 401:// --no-bv-algebraic-solver |
7469 |
|
assignBool(options::bitvectorAlgebraicSolver, option, false); |
7470 |
|
break; |
7471 |
|
case 402: // --bv-assert-input |
7472 |
|
assignBool(options::bvAssertInput, option, true); |
7473 |
|
break; |
7474 |
|
case 403:// --no-bv-assert-input |
7475 |
|
assignBool(options::bvAssertInput, option, false); |
7476 |
|
break; |
7477 |
|
case 404: // --bv-eager-explanations |
7478 |
|
assignBool(options::bvEagerExplanations, option, true); |
7479 |
|
break; |
7480 |
|
case 405:// --no-bv-eager-explanations |
7481 |
|
assignBool(options::bvEagerExplanations, option, false); |
7482 |
|
break; |
7483 |
|
case 406: // --bv-eq-solver |
7484 |
|
assignBool(options::bitvectorEqualitySolver, option, true); |
7485 |
|
break; |
7486 |
2 |
case 407:// --no-bv-eq-solver |
7487 |
2 |
assignBool(options::bitvectorEqualitySolver, option, false); |
7488 |
2 |
break; |
7489 |
|
case 408: // --bv-extract-arith |
7490 |
|
assignBool(options::bvExtractArithRewrite, option, true); |
7491 |
|
break; |
7492 |
|
case 409:// --no-bv-extract-arith |
7493 |
|
assignBool(options::bvExtractArithRewrite, option, false); |
7494 |
|
break; |
7495 |
|
case 410: // --bv-gauss-elim |
7496 |
|
assignBool(options::bvGaussElim, option, true); |
7497 |
|
break; |
7498 |
|
case 411:// --no-bv-gauss-elim |
7499 |
|
assignBool(options::bvGaussElim, option, false); |
7500 |
|
break; |
7501 |
|
case 412: // --bv-inequality-solver |
7502 |
|
assignBool(options::bitvectorInequalitySolver, option, true); |
7503 |
|
break; |
7504 |
|
case 413:// --no-bv-inequality-solver |
7505 |
|
assignBool(options::bitvectorInequalitySolver, option, false); |
7506 |
|
break; |
7507 |
2 |
case 414: // --bv-intro-pow2 |
7508 |
2 |
assignBool(options::bvIntroducePow2, option, true); |
7509 |
2 |
break; |
7510 |
|
case 415:// --no-bv-intro-pow2 |
7511 |
|
assignBool(options::bvIntroducePow2, option, false); |
7512 |
|
break; |
7513 |
|
case 416: // --bv-lazy-reduce-extf |
7514 |
|
assignBool(options::bvLazyReduceExtf, option, true); |
7515 |
|
break; |
7516 |
|
case 417:// --no-bv-lazy-reduce-extf |
7517 |
|
assignBool(options::bvLazyReduceExtf, option, false); |
7518 |
|
break; |
7519 |
|
case 418: // --bv-lazy-rewrite-extf |
7520 |
|
assignBool(options::bvLazyRewriteExtf, option, true); |
7521 |
|
break; |
7522 |
|
case 419:// --no-bv-lazy-rewrite-extf |
7523 |
|
assignBool(options::bvLazyRewriteExtf, option, false); |
7524 |
|
break; |
7525 |
|
case 420: // --bv-num-func=N |
7526 |
|
assign(options::bvNumFunc, option, optionarg); |
7527 |
|
break; |
7528 |
2 |
case 421: // --bv-print-consts-as-indexed-symbols |
7529 |
2 |
assignBool(options::bvPrintConstsAsIndexedSymbols, option, true); |
7530 |
2 |
break; |
7531 |
|
case 422:// --no-bv-print-consts-as-indexed-symbols |
7532 |
|
assignBool(options::bvPrintConstsAsIndexedSymbols, option, false); |
7533 |
|
break; |
7534 |
|
case 423: // --bv-propagate |
7535 |
|
assignBool(options::bitvectorPropagate, option, true); |
7536 |
|
break; |
7537 |
|
case 424:// --no-bv-propagate |
7538 |
|
assignBool(options::bitvectorPropagate, option, false); |
7539 |
|
break; |
7540 |
|
case 425: // --bv-quick-xplain |
7541 |
|
assignBool(options::bitvectorQuickXplain, option, true); |
7542 |
|
break; |
7543 |
|
case 426:// --no-bv-quick-xplain |
7544 |
|
assignBool(options::bitvectorQuickXplain, option, false); |
7545 |
|
break; |
7546 |
10 |
case 427: // --bv-sat-solver=MODE |
7547 |
10 |
assign(options::bvSatSolver, option, optionarg); |
7548 |
10 |
break; |
7549 |
|
case 428: // --bv-skolemize |
7550 |
|
assignBool(options::skolemizeArguments, option, true); |
7551 |
|
break; |
7552 |
|
case 429:// --no-bv-skolemize |
7553 |
|
assignBool(options::skolemizeArguments, option, false); |
7554 |
|
break; |
7555 |
13 |
case 430: // --bv-solver=MODE |
7556 |
13 |
assign(options::bvSolver, option, optionarg); |
7557 |
13 |
break; |
7558 |
10 |
case 431: // --bv-to-bool |
7559 |
10 |
assignBool(options::bitvectorToBool, option, true); |
7560 |
10 |
break; |
7561 |
|
case 432:// --no-bv-to-bool |
7562 |
|
assignBool(options::bitvectorToBool, option, false); |
7563 |
|
break; |
7564 |
|
case 433: // --cdt-bisimilar |
7565 |
|
assignBool(options::cdtBisimilar, option, true); |
7566 |
|
break; |
7567 |
|
case 434:// --no-cdt-bisimilar |
7568 |
|
assignBool(options::cdtBisimilar, option, false); |
7569 |
|
break; |
7570 |
|
case 435: // --dt-binary-split |
7571 |
|
assignBool(options::dtBinarySplit, option, true); |
7572 |
|
break; |
7573 |
|
case 436:// --no-dt-binary-split |
7574 |
|
assignBool(options::dtBinarySplit, option, false); |
7575 |
|
break; |
7576 |
|
case 437: // --dt-blast-splits |
7577 |
|
assignBool(options::dtBlastSplits, option, true); |
7578 |
|
break; |
7579 |
|
case 438:// --no-dt-blast-splits |
7580 |
|
assignBool(options::dtBlastSplits, option, false); |
7581 |
|
break; |
7582 |
|
case 439: // --dt-cyclic |
7583 |
|
assignBool(options::dtCyclic, option, true); |
7584 |
|
break; |
7585 |
|
case 440:// --no-dt-cyclic |
7586 |
|
assignBool(options::dtCyclic, option, false); |
7587 |
|
break; |
7588 |
|
case 441: // --dt-force-assignment |
7589 |
|
assignBool(options::dtForceAssignment, option, true); |
7590 |
|
break; |
7591 |
|
case 442:// --no-dt-force-assignment |
7592 |
|
assignBool(options::dtForceAssignment, option, false); |
7593 |
|
break; |
7594 |
|
case 443: // --dt-infer-as-lemmas |
7595 |
|
assignBool(options::dtInferAsLemmas, option, true); |
7596 |
|
break; |
7597 |
|
case 444:// --no-dt-infer-as-lemmas |
7598 |
|
assignBool(options::dtInferAsLemmas, option, false); |
7599 |
|
break; |
7600 |
10 |
case 445: // --dt-nested-rec |
7601 |
10 |
assignBool(options::dtNestedRec, option, true); |
7602 |
10 |
break; |
7603 |
|
case 446:// --no-dt-nested-rec |
7604 |
|
assignBool(options::dtNestedRec, option, false); |
7605 |
|
break; |
7606 |
|
case 447: // --dt-polite-optimize |
7607 |
|
assignBool(options::dtPoliteOptimize, option, true); |
7608 |
|
break; |
7609 |
|
case 448:// --no-dt-polite-optimize |
7610 |
|
assignBool(options::dtPoliteOptimize, option, false); |
7611 |
|
break; |
7612 |
5 |
case 449: // --dt-rewrite-error-sel |
7613 |
5 |
assignBool(options::dtRewriteErrorSel, option, true); |
7614 |
5 |
break; |
7615 |
|
case 450:// --no-dt-rewrite-error-sel |
7616 |
|
assignBool(options::dtRewriteErrorSel, option, false); |
7617 |
|
break; |
7618 |
|
case 451: // --dt-share-sel |
7619 |
|
assignBool(options::dtSharedSelectors, option, true); |
7620 |
|
break; |
7621 |
|
case 452:// --no-dt-share-sel |
7622 |
|
assignBool(options::dtSharedSelectors, option, false); |
7623 |
|
break; |
7624 |
11 |
case 453: // --sygus-abort-size=N |
7625 |
11 |
assign(options::sygusAbortSize, option, optionarg); |
7626 |
11 |
break; |
7627 |
|
case 454: // --sygus-fair-max |
7628 |
|
assignBool(options::sygusFairMax, option, true); |
7629 |
|
break; |
7630 |
|
case 455:// --no-sygus-fair-max |
7631 |
|
assignBool(options::sygusFairMax, option, false); |
7632 |
|
break; |
7633 |
2 |
case 456: // --sygus-fair=MODE |
7634 |
2 |
assign(options::sygusFair, option, optionarg); |
7635 |
2 |
break; |
7636 |
|
case 457: // --sygus-sym-break |
7637 |
|
assignBool(options::sygusSymBreak, option, true); |
7638 |
|
break; |
7639 |
6 |
case 458:// --no-sygus-sym-break |
7640 |
6 |
assignBool(options::sygusSymBreak, option, false); |
7641 |
6 |
break; |
7642 |
|
case 459: // --sygus-sym-break-agg |
7643 |
|
assignBool(options::sygusSymBreakAgg, option, true); |
7644 |
|
break; |
7645 |
|
case 460:// --no-sygus-sym-break-agg |
7646 |
|
assignBool(options::sygusSymBreakAgg, option, false); |
7647 |
|
break; |
7648 |
|
case 461: // --sygus-sym-break-dynamic |
7649 |
|
assignBool(options::sygusSymBreakDynamic, option, true); |
7650 |
|
break; |
7651 |
|
case 462:// --no-sygus-sym-break-dynamic |
7652 |
|
assignBool(options::sygusSymBreakDynamic, option, false); |
7653 |
|
break; |
7654 |
|
case 463: // --sygus-sym-break-lazy |
7655 |
|
assignBool(options::sygusSymBreakLazy, option, true); |
7656 |
|
break; |
7657 |
|
case 464:// --no-sygus-sym-break-lazy |
7658 |
|
assignBool(options::sygusSymBreakLazy, option, false); |
7659 |
|
break; |
7660 |
|
case 465: // --sygus-sym-break-pbe |
7661 |
|
assignBool(options::sygusSymBreakPbe, option, true); |
7662 |
|
break; |
7663 |
|
case 466:// --no-sygus-sym-break-pbe |
7664 |
|
assignBool(options::sygusSymBreakPbe, option, false); |
7665 |
|
break; |
7666 |
|
case 467: // --sygus-sym-break-rlv |
7667 |
|
assignBool(options::sygusSymBreakRlv, option, true); |
7668 |
|
break; |
7669 |
|
case 468:// --no-sygus-sym-break-rlv |
7670 |
|
assignBool(options::sygusSymBreakRlv, option, false); |
7671 |
|
break; |
7672 |
|
case 469: // --decision-random-weight=N |
7673 |
|
assign(options::decisionRandomWeight, option, optionarg); |
7674 |
|
break; |
7675 |
|
case 470: // --decision-threshold=N |
7676 |
|
assign(options::decisionThreshold, option, optionarg); |
7677 |
|
break; |
7678 |
|
case 471: // --decision-use-weight |
7679 |
|
assignBool(options::decisionUseWeight, option, true); |
7680 |
|
break; |
7681 |
|
case 472:// --no-decision-use-weight |
7682 |
|
assignBool(options::decisionUseWeight, option, false); |
7683 |
|
break; |
7684 |
|
case 473: // --decision-weight-internal=HOW |
7685 |
|
assign(options::decisionWeightInternal, option, optionarg); |
7686 |
|
break; |
7687 |
67 |
case 474: // --decision=MODE |
7688 |
|
case 475: // --decision-mode |
7689 |
67 |
assign(options::decisionMode, option, optionarg); |
7690 |
67 |
break; |
7691 |
1 |
case 476: // --dag-thresh=N |
7692 |
1 |
assign(options::defaultDagThresh, option, optionarg); |
7693 |
1 |
break; |
7694 |
|
case 477: // --expr-depth=N |
7695 |
|
assign(options::defaultExprDepth, option, optionarg); |
7696 |
|
break; |
7697 |
|
case 478: // --type-checking |
7698 |
|
assignBool(options::typeChecking, option, true); |
7699 |
|
break; |
7700 |
|
case 479:// --no-type-checking |
7701 |
|
assignBool(options::typeChecking, option, false); |
7702 |
|
break; |
7703 |
22 |
case 480: // --fp-exp |
7704 |
22 |
assignBool(options::fpExp, option, true); |
7705 |
22 |
break; |
7706 |
|
case 481:// --no-fp-exp |
7707 |
|
assignBool(options::fpExp, option, false); |
7708 |
|
break; |
7709 |
|
case 482: // --copyright |
7710 |
|
d_handler->copyright(option); |
7711 |
|
break; |
7712 |
|
case 483: // --early-exit |
7713 |
|
assignBool(options::earlyExit, option, true); |
7714 |
|
break; |
7715 |
|
case 484:// --no-early-exit |
7716 |
|
assignBool(options::earlyExit, option, false); |
7717 |
|
break; |
7718 |
|
case 'h': |
7719 |
|
case 485: // --help |
7720 |
|
assignBool(options::help, option, true); |
7721 |
|
break; |
7722 |
|
case 486: // --interactive |
7723 |
|
assignBool(options::interactive, option, true); |
7724 |
|
break; |
7725 |
|
case 487:// --no-interactive |
7726 |
|
assignBool(options::interactive, option, false); |
7727 |
|
break; |
7728 |
|
case 488: // --interactive-prompt |
7729 |
|
assignBool(options::interactivePrompt, option, true); |
7730 |
|
break; |
7731 |
|
case 489:// --no-interactive-prompt |
7732 |
|
assignBool(options::interactivePrompt, option, false); |
7733 |
|
break; |
7734 |
|
case 's': |
7735 |
|
case 490: // --seed=N |
7736 |
|
assign(options::seed, option, optionarg); |
7737 |
|
break; |
7738 |
|
case 491: // --segv-spin |
7739 |
|
assignBool(options::segvSpin, option, true); |
7740 |
|
break; |
7741 |
|
case 492:// --no-segv-spin |
7742 |
|
assignBool(options::segvSpin, option, false); |
7743 |
|
break; |
7744 |
2504 |
case 493: // --show-config |
7745 |
2504 |
d_handler->showConfiguration(option); |
7746 |
|
break; |
7747 |
|
case 494: // --show-debug-tags |
7748 |
|
d_handler->showDebugTags(option); |
7749 |
|
break; |
7750 |
|
case 495: // --show-trace-tags |
7751 |
|
d_handler->showTraceTags(option); |
7752 |
|
break; |
7753 |
|
case 496: // --tear-down-incremental=N |
7754 |
|
assign(options::tearDownIncremental, option, optionarg); |
7755 |
|
break; |
7756 |
|
case 'V': |
7757 |
|
case 497: // --version |
7758 |
|
assignBool(options::version, option, true); |
7759 |
|
break; |
7760 |
|
case 498: // --filesystem-access |
7761 |
|
assignBool(options::filesystemAccess, option, true); |
7762 |
|
break; |
7763 |
|
case 499:// --no-filesystem-access |
7764 |
|
assignBool(options::filesystemAccess, option, false); |
7765 |
|
break; |
7766 |
9 |
case 500: // --force-logic=LOGIC |
7767 |
9 |
assign(options::forceLogicString, option, optionarg); |
7768 |
9 |
break; |
7769 |
|
case 501: // --global-declarations |
7770 |
16 |
assignBool(options::globalDeclarations, option, true); |
7771 |
|
break; |
7772 |
|
case 502:// --no-global-declarations |
7773 |
|
assignBool(options::globalDeclarations, option, false); |
7774 |
|
break; |
7775 |
|
case 503: // --mmap |
7776 |
|
assignBool(options::memoryMap, option, true); |
7777 |
|
break; |
7778 |
|
case 504:// --no-mmap |
7779 |
|
assignBool(options::memoryMap, option, false); |
7780 |
|
break; |
7781 |
|
case 505: // --semantic-checks |
7782 |
|
assignBool(options::semanticChecks, option, true); |
7783 |
|
break; |
7784 |
|
case 506:// --no-semantic-checks |
7785 |
|
assignBool(options::semanticChecks, option, false); |
7786 |
|
break; |
7787 |
9 |
case 507: // --strict-parsing |
7788 |
9 |
assignBool(options::strictParsing, option, true); |
7789 |
9 |
break; |
7790 |
|
case 508:// --no-strict-parsing |
7791 |
|
assignBool(options::strictParsing, option, false); |
7792 |
|
break; |
7793 |
|
case 509: // --flatten-ho-chains |
7794 |
|
assignBool(options::flattenHOChains, option, true); |
7795 |
|
break; |
7796 |
|
case 510:// --no-flatten-ho-chains |
7797 |
|
assignBool(options::flattenHOChains, option, false); |
7798 |
|
break; |
7799 |
|
case 511: // --inst-format=MODE |
7800 |
|
assign(options::instFormatMode, option, optionarg); |
7801 |
|
break; |
7802 |
|
case 512: // --model-format=MODE |
7803 |
|
assign(options::modelFormatMode, option, optionarg); |
7804 |
|
break; |
7805 |
7 |
case 513: // --print-inst-full |
7806 |
7 |
assignBool(options::printInstFull, option, true); |
7807 |
7 |
break; |
7808 |
3 |
case 514:// --no-print-inst-full |
7809 |
3 |
assignBool(options::printInstFull, option, false); |
7810 |
3 |
break; |
7811 |
3 |
case 515: // --print-inst=MODE |
7812 |
3 |
assign(options::printInstMode, option, optionarg); |
7813 |
3 |
break; |
7814 |
2 |
case 516: // --proof-eager-checking |
7815 |
2 |
assignBool(options::proofEagerChecking, option, true); |
7816 |
2 |
break; |
7817 |
|
case 517:// --no-proof-eager-checking |
7818 |
|
assignBool(options::proofEagerChecking, option, false); |
7819 |
|
break; |
7820 |
|
case 518: // --proof-format-mode=MODE |
7821 |
|
assign(options::proofFormatMode, option, optionarg); |
7822 |
|
break; |
7823 |
|
case 519: // --proof-granularity=MODE |
7824 |
|
assign(options::proofGranularityMode, option, optionarg); |
7825 |
|
break; |
7826 |
|
case 520: // --proof-pedantic=N |
7827 |
|
assign(options::proofPedantic, option, optionarg); |
7828 |
|
break; |
7829 |
|
case 521: // --proof-print-conclusion |
7830 |
|
assignBool(options::proofPrintConclusion, option, true); |
7831 |
|
break; |
7832 |
|
case 522:// --no-proof-print-conclusion |
7833 |
|
assignBool(options::proofPrintConclusion, option, false); |
7834 |
|
break; |
7835 |
|
case 523: // --minisat-dump-dimacs |
7836 |
|
assignBool(options::minisatDumpDimacs, option, true); |
7837 |
|
break; |
7838 |
|
case 524:// --no-minisat-dump-dimacs |
7839 |
|
assignBool(options::minisatDumpDimacs, option, false); |
7840 |
|
break; |
7841 |
|
case 525: // --minisat-elimination |
7842 |
|
assignBool(options::minisatUseElim, option, true); |
7843 |
|
break; |
7844 |
|
case 526:// --no-minisat-elimination |
7845 |
|
assignBool(options::minisatUseElim, option, false); |
7846 |
|
break; |
7847 |
|
case 527: // --random-freq=P |
7848 |
|
case 528: // --random-frequency |
7849 |
|
assign(options::satRandomFreq, option, optionarg); |
7850 |
|
break; |
7851 |
|
case 529: // --random-seed=S |
7852 |
|
assign(options::satRandomSeed, option, optionarg); |
7853 |
|
break; |
7854 |
|
case 530: // --refine-conflicts |
7855 |
|
assignBool(options::sat_refine_conflicts, option, true); |
7856 |
|
break; |
7857 |
|
case 531:// --no-refine-conflicts |
7858 |
|
assignBool(options::sat_refine_conflicts, option, false); |
7859 |
|
break; |
7860 |
|
case 532: // --restart-int-base=N |
7861 |
|
assign(options::satRestartFirst, option, optionarg); |
7862 |
|
break; |
7863 |
|
case 533: // --restart-int-inc=F |
7864 |
|
assign(options::satRestartInc, option, optionarg); |
7865 |
|
break; |
7866 |
|
case 534: // --ag-miniscope-quant |
7867 |
|
assignBool(options::aggressiveMiniscopeQuant, option, true); |
7868 |
|
break; |
7869 |
|
case 535:// --no-ag-miniscope-quant |
7870 |
|
assignBool(options::aggressiveMiniscopeQuant, option, false); |
7871 |
|
break; |
7872 |
2 |
case 536: // --cegis-sample=MODE |
7873 |
2 |
assign(options::cegisSample, option, optionarg); |
7874 |
2 |
break; |
7875 |
17 |
case 537: // --cegqi |
7876 |
17 |
assignBool(options::cegqi, option, true); |
7877 |
17 |
break; |
7878 |
2 |
case 538:// --no-cegqi |
7879 |
2 |
assignBool(options::cegqi, option, false); |
7880 |
2 |
break; |
7881 |
13 |
case 539: // --cegqi-all |
7882 |
13 |
assignBool(options::cegqiAll, option, true); |
7883 |
13 |
break; |
7884 |
|
case 540:// --no-cegqi-all |
7885 |
|
assignBool(options::cegqiAll, option, false); |
7886 |
|
break; |
7887 |
106 |
case 541: // --cegqi-bv |
7888 |
106 |
assignBool(options::cegqiBv, option, true); |
7889 |
106 |
break; |
7890 |
|
case 542:// --no-cegqi-bv |
7891 |
|
assignBool(options::cegqiBv, option, false); |
7892 |
|
break; |
7893 |
|
case 543: // --cegqi-bv-concat-inv |
7894 |
|
assignBool(options::cegqiBvConcInv, option, true); |
7895 |
|
break; |
7896 |
|
case 544:// --no-cegqi-bv-concat-inv |
7897 |
|
assignBool(options::cegqiBvConcInv, option, false); |
7898 |
|
break; |
7899 |
82 |
case 545: // --cegqi-bv-ineq=MODE |
7900 |
82 |
assign(options::cegqiBvIneqMode, option, optionarg); |
7901 |
82 |
break; |
7902 |
|
case 546: // --cegqi-bv-interleave-value |
7903 |
|
assignBool(options::cegqiBvInterleaveValue, option, true); |
7904 |
|
break; |
7905 |
|
case 547:// --no-cegqi-bv-interleave-value |
7906 |
|
assignBool(options::cegqiBvInterleaveValue, option, false); |
7907 |
|
break; |
7908 |
|
case 548: // --cegqi-bv-linear |
7909 |
|
assignBool(options::cegqiBvLinearize, option, true); |
7910 |
|
break; |
7911 |
|
case 549:// --no-cegqi-bv-linear |
7912 |
|
assignBool(options::cegqiBvLinearize, option, false); |
7913 |
|
break; |
7914 |
2 |
case 550: // --cegqi-bv-rm-extract |
7915 |
2 |
assignBool(options::cegqiBvRmExtract, option, true); |
7916 |
2 |
break; |
7917 |
|
case 551:// --no-cegqi-bv-rm-extract |
7918 |
|
assignBool(options::cegqiBvRmExtract, option, false); |
7919 |
|
break; |
7920 |
|
case 552: // --cegqi-bv-solve-nl |
7921 |
|
assignBool(options::cegqiBvSolveNl, option, true); |
7922 |
|
break; |
7923 |
|
case 553:// --no-cegqi-bv-solve-nl |
7924 |
|
assignBool(options::cegqiBvSolveNl, option, false); |
7925 |
|
break; |
7926 |
3 |
case 554: // --cegqi-full |
7927 |
3 |
assignBool(options::cegqiFullEffort, option, true); |
7928 |
3 |
break; |
7929 |
82 |
case 555:// --no-cegqi-full |
7930 |
82 |
assignBool(options::cegqiFullEffort, option, false); |
7931 |
82 |
break; |
7932 |
|
case 556: // --cegqi-innermost |
7933 |
|
assignBool(options::cegqiInnermost, option, true); |
7934 |
|
break; |
7935 |
|
case 557:// --no-cegqi-innermost |
7936 |
|
assignBool(options::cegqiInnermost, option, false); |
7937 |
|
break; |
7938 |
|
case 558: // --cegqi-midpoint |
7939 |
|
assignBool(options::cegqiMidpoint, option, true); |
7940 |
|
break; |
7941 |
|
case 559:// --no-cegqi-midpoint |
7942 |
|
assignBool(options::cegqiMidpoint, option, false); |
7943 |
|
break; |
7944 |
|
case 560: // --cegqi-min-bounds |
7945 |
|
assignBool(options::cegqiMinBounds, option, true); |
7946 |
|
break; |
7947 |
|
case 561:// --no-cegqi-min-bounds |
7948 |
|
assignBool(options::cegqiMinBounds, option, false); |
7949 |
|
break; |
7950 |
|
case 562: // --cegqi-model |
7951 |
|
assignBool(options::cegqiModel, option, true); |
7952 |
|
break; |
7953 |
|
case 563:// --no-cegqi-model |
7954 |
|
assignBool(options::cegqiModel, option, false); |
7955 |
|
break; |
7956 |
3 |
case 564: // --cegqi-multi-inst |
7957 |
3 |
assignBool(options::cegqiMultiInst, option, true); |
7958 |
3 |
break; |
7959 |
|
case 565:// --no-cegqi-multi-inst |
7960 |
|
assignBool(options::cegqiMultiInst, option, false); |
7961 |
|
break; |
7962 |
7 |
case 566: // --cegqi-nested-qe |
7963 |
7 |
assignBool(options::cegqiNestedQE, option, true); |
7964 |
7 |
break; |
7965 |
|
case 567:// --no-cegqi-nested-qe |
7966 |
|
assignBool(options::cegqiNestedQE, option, false); |
7967 |
|
break; |
7968 |
|
case 568: // --cegqi-nopt |
7969 |
|
assignBool(options::cegqiNopt, option, true); |
7970 |
|
break; |
7971 |
|
case 569:// --no-cegqi-nopt |
7972 |
|
assignBool(options::cegqiNopt, option, false); |
7973 |
|
break; |
7974 |
|
case 570: // --cegqi-repeat-lit |
7975 |
|
assignBool(options::cegqiRepeatLit, option, true); |
7976 |
|
break; |
7977 |
|
case 571:// --no-cegqi-repeat-lit |
7978 |
|
assignBool(options::cegqiRepeatLit, option, false); |
7979 |
|
break; |
7980 |
|
case 572: // --cegqi-round-up-lia |
7981 |
|
assignBool(options::cegqiRoundUpLowerLia, option, true); |
7982 |
|
break; |
7983 |
|
case 573:// --no-cegqi-round-up-lia |
7984 |
|
assignBool(options::cegqiRoundUpLowerLia, option, false); |
7985 |
|
break; |
7986 |
|
case 574: // --cegqi-sat |
7987 |
|
assignBool(options::cegqiSat, option, true); |
7988 |
|
break; |
7989 |
|
case 575:// --no-cegqi-sat |
7990 |
|
assignBool(options::cegqiSat, option, false); |
7991 |
|
break; |
7992 |
3 |
case 576: // --cegqi-use-inf-int |
7993 |
3 |
assignBool(options::cegqiUseInfInt, option, true); |
7994 |
3 |
break; |
7995 |
|
case 577:// --no-cegqi-use-inf-int |
7996 |
|
assignBool(options::cegqiUseInfInt, option, false); |
7997 |
|
break; |
7998 |
3 |
case 578: // --cegqi-use-inf-real |
7999 |
3 |
assignBool(options::cegqiUseInfReal, option, true); |
8000 |
3 |
break; |
8001 |
|
case 579:// --no-cegqi-use-inf-real |
8002 |
|
assignBool(options::cegqiUseInfReal, option, false); |
8003 |
|
break; |
8004 |
|
case 580: // --cond-var-split-agg-quant |
8005 |
|
assignBool(options::condVarSplitQuantAgg, option, true); |
8006 |
|
break; |
8007 |
|
case 581:// --no-cond-var-split-agg-quant |
8008 |
|
assignBool(options::condVarSplitQuantAgg, option, false); |
8009 |
|
break; |
8010 |
|
case 582: // --cond-var-split-quant |
8011 |
|
assignBool(options::condVarSplitQuant, option, true); |
8012 |
|
break; |
8013 |
|
case 583:// --no-cond-var-split-quant |
8014 |
|
assignBool(options::condVarSplitQuant, option, false); |
8015 |
|
break; |
8016 |
|
case 584: // --conjecture-filter-active-terms |
8017 |
|
assignBool(options::conjectureFilterActiveTerms, option, true); |
8018 |
|
break; |
8019 |
|
case 585:// --no-conjecture-filter-active-terms |
8020 |
|
assignBool(options::conjectureFilterActiveTerms, option, false); |
8021 |
|
break; |
8022 |
|
case 586: // --conjecture-filter-canonical |
8023 |
|
assignBool(options::conjectureFilterCanonical, option, true); |
8024 |
|
break; |
8025 |
|
case 587:// --no-conjecture-filter-canonical |
8026 |
|
assignBool(options::conjectureFilterCanonical, option, false); |
8027 |
|
break; |
8028 |
|
case 588: // --conjecture-filter-model |
8029 |
|
assignBool(options::conjectureFilterModel, option, true); |
8030 |
|
break; |
8031 |
|
case 589:// --no-conjecture-filter-model |
8032 |
|
assignBool(options::conjectureFilterModel, option, false); |
8033 |
|
break; |
8034 |
3 |
case 590: // --conjecture-gen |
8035 |
3 |
assignBool(options::conjectureGen, option, true); |
8036 |
3 |
break; |
8037 |
|
case 591:// --no-conjecture-gen |
8038 |
|
assignBool(options::conjectureGen, option, false); |
8039 |
|
break; |
8040 |
|
case 592: // --conjecture-gen-gt-enum=N |
8041 |
|
assign(options::conjectureGenGtEnum, option, optionarg); |
8042 |
|
break; |
8043 |
|
case 593: // --conjecture-gen-max-depth=N |
8044 |
|
assign(options::conjectureGenMaxDepth, option, optionarg); |
8045 |
|
break; |
8046 |
|
case 594: // --conjecture-gen-per-round=N |
8047 |
|
assign(options::conjectureGenPerRound, option, optionarg); |
8048 |
|
break; |
8049 |
|
case 595: // --conjecture-gen-uee-intro |
8050 |
|
assignBool(options::conjectureUeeIntro, option, true); |
8051 |
|
break; |
8052 |
|
case 596:// --no-conjecture-gen-uee-intro |
8053 |
|
assignBool(options::conjectureUeeIntro, option, false); |
8054 |
|
break; |
8055 |
|
case 597: // --conjecture-no-filter |
8056 |
|
assignBool(options::conjectureNoFilter, option, true); |
8057 |
|
break; |
8058 |
|
case 598:// --no-conjecture-no-filter |
8059 |
|
assignBool(options::conjectureNoFilter, option, false); |
8060 |
|
break; |
8061 |
2 |
case 599: // --debug-inst |
8062 |
2 |
assignBool(options::debugInst, option, true); |
8063 |
2 |
break; |
8064 |
|
case 600:// --no-debug-inst |
8065 |
|
assignBool(options::debugInst, option, false); |
8066 |
|
break; |
8067 |
1 |
case 601: // --debug-sygus |
8068 |
1 |
assignBool(options::debugSygus, option, true); |
8069 |
1 |
break; |
8070 |
|
case 602:// --no-debug-sygus |
8071 |
|
assignBool(options::debugSygus, option, false); |
8072 |
|
break; |
8073 |
|
case 603: // --dt-stc-ind |
8074 |
|
assignBool(options::dtStcInduction, option, true); |
8075 |
|
break; |
8076 |
|
case 604:// --no-dt-stc-ind |
8077 |
|
assignBool(options::dtStcInduction, option, false); |
8078 |
|
break; |
8079 |
|
case 605: // --dt-var-exp-quant |
8080 |
|
assignBool(options::dtVarExpandQuant, option, true); |
8081 |
|
break; |
8082 |
|
case 606:// --no-dt-var-exp-quant |
8083 |
|
assignBool(options::dtVarExpandQuant, option, false); |
8084 |
|
break; |
8085 |
|
case 607: // --e-matching |
8086 |
|
assignBool(options::eMatching, option, true); |
8087 |
|
break; |
8088 |
|
case 608:// --no-e-matching |
8089 |
|
assignBool(options::eMatching, option, false); |
8090 |
|
break; |
8091 |
|
case 609: // --elim-taut-quant |
8092 |
|
assignBool(options::elimTautQuant, option, true); |
8093 |
|
break; |
8094 |
|
case 610:// --no-elim-taut-quant |
8095 |
|
assignBool(options::elimTautQuant, option, false); |
8096 |
|
break; |
8097 |
9 |
case 611: // --ext-rewrite-quant |
8098 |
9 |
assignBool(options::extRewriteQuant, option, true); |
8099 |
9 |
break; |
8100 |
|
case 612:// --no-ext-rewrite-quant |
8101 |
|
assignBool(options::extRewriteQuant, option, false); |
8102 |
|
break; |
8103 |
160 |
case 613: // --finite-model-find |
8104 |
160 |
assignBool(options::finiteModelFind, option, true); |
8105 |
160 |
break; |
8106 |
1 |
case 614:// --no-finite-model-find |
8107 |
1 |
assignBool(options::finiteModelFind, option, false); |
8108 |
1 |
break; |
8109 |
28 |
case 615: // --fmf-bound |
8110 |
28 |
assignBool(options::fmfBound, option, true); |
8111 |
28 |
break; |
8112 |
|
case 616:// --no-fmf-bound |
8113 |
|
assignBool(options::fmfBound, option, false); |
8114 |
|
break; |
8115 |
6 |
case 617: // --fmf-bound-int |
8116 |
6 |
assignBool(options::fmfBoundInt, option, true); |
8117 |
6 |
break; |
8118 |
|
case 618:// --no-fmf-bound-int |
8119 |
|
assignBool(options::fmfBoundInt, option, false); |
8120 |
|
break; |
8121 |
3 |
case 619: // --fmf-bound-lazy |
8122 |
3 |
assignBool(options::fmfBoundLazy, option, true); |
8123 |
3 |
break; |
8124 |
|
case 620:// --no-fmf-bound-lazy |
8125 |
|
assignBool(options::fmfBoundLazy, option, false); |
8126 |
|
break; |
8127 |
|
case 621: // --fmf-fmc-simple |
8128 |
|
assignBool(options::fmfFmcSimple, option, true); |
8129 |
|
break; |
8130 |
|
case 622:// --no-fmf-fmc-simple |
8131 |
|
assignBool(options::fmfFmcSimple, option, false); |
8132 |
|
break; |
8133 |
|
case 623: // --fmf-fresh-dc |
8134 |
|
assignBool(options::fmfFreshDistConst, option, true); |
8135 |
|
break; |
8136 |
|
case 624:// --no-fmf-fresh-dc |
8137 |
|
assignBool(options::fmfFreshDistConst, option, false); |
8138 |
|
break; |
8139 |
32 |
case 625: // --fmf-fun |
8140 |
32 |
assignBool(options::fmfFunWellDefined, option, true); |
8141 |
32 |
break; |
8142 |
|
case 626:// --no-fmf-fun |
8143 |
|
assignBool(options::fmfFunWellDefined, option, false); |
8144 |
|
break; |
8145 |
10 |
case 627: // --fmf-fun-rlv |
8146 |
10 |
assignBool(options::fmfFunWellDefinedRelevant, option, true); |
8147 |
10 |
break; |
8148 |
|
case 628:// --no-fmf-fun-rlv |
8149 |
|
assignBool(options::fmfFunWellDefinedRelevant, option, false); |
8150 |
|
break; |
8151 |
7 |
case 629: // --fmf-inst-engine |
8152 |
7 |
assignBool(options::fmfInstEngine, option, true); |
8153 |
7 |
break; |
8154 |
|
case 630:// --no-fmf-inst-engine |
8155 |
|
assignBool(options::fmfInstEngine, option, false); |
8156 |
|
break; |
8157 |
|
case 631: // --fmf-type-completion-thresh=N |
8158 |
|
assign(options::fmfTypeCompletionThresh, option, optionarg); |
8159 |
|
break; |
8160 |
|
case 632: // --fs-interleave |
8161 |
|
assignBool(options::fullSaturateInterleave, option, true); |
8162 |
|
break; |
8163 |
|
case 633:// --no-fs-interleave |
8164 |
|
assignBool(options::fullSaturateInterleave, option, false); |
8165 |
|
break; |
8166 |
3 |
case 634: // --fs-stratify |
8167 |
3 |
assignBool(options::fullSaturateStratify, option, true); |
8168 |
3 |
break; |
8169 |
|
case 635:// --no-fs-stratify |
8170 |
|
assignBool(options::fullSaturateStratify, option, false); |
8171 |
|
break; |
8172 |
|
case 636: // --fs-sum |
8173 |
|
assignBool(options::fullSaturateSum, option, true); |
8174 |
|
break; |
8175 |
|
case 637:// --no-fs-sum |
8176 |
|
assignBool(options::fullSaturateSum, option, false); |
8177 |
|
break; |
8178 |
63 |
case 638: // --full-saturate-quant |
8179 |
63 |
assignBool(options::fullSaturateQuant, option, true); |
8180 |
63 |
break; |
8181 |
|
case 639:// --no-full-saturate-quant |
8182 |
|
assignBool(options::fullSaturateQuant, option, false); |
8183 |
|
break; |
8184 |
3 |
case 640: // --full-saturate-quant-limit=N |
8185 |
3 |
assign(options::fullSaturateLimit, option, optionarg); |
8186 |
3 |
break; |
8187 |
|
case 641: // --full-saturate-quant-rd |
8188 |
|
assignBool(options::fullSaturateQuantRd, option, true); |
8189 |
|
break; |
8190 |
|
case 642:// --no-full-saturate-quant-rd |
8191 |
|
assignBool(options::fullSaturateQuantRd, option, false); |
8192 |
|
break; |
8193 |
6 |
case 643: // --global-negate |
8194 |
6 |
assignBool(options::globalNegate, option, true); |
8195 |
6 |
break; |
8196 |
|
case 644:// --no-global-negate |
8197 |
|
assignBool(options::globalNegate, option, false); |
8198 |
|
break; |
8199 |
11 |
case 645: // --ho-elim |
8200 |
11 |
assignBool(options::hoElim, option, true); |
8201 |
11 |
break; |
8202 |
|
case 646:// --no-ho-elim |
8203 |
|
assignBool(options::hoElim, option, false); |
8204 |
|
break; |
8205 |
1 |
case 647: // --ho-elim-store-ax |
8206 |
1 |
assignBool(options::hoElimStoreAx, option, true); |
8207 |
1 |
break; |
8208 |
|
case 648:// --no-ho-elim-store-ax |
8209 |
|
assignBool(options::hoElimStoreAx, option, false); |
8210 |
|
break; |
8211 |
|
case 649: // --ho-matching |
8212 |
|
assignBool(options::hoMatching, option, true); |
8213 |
|
break; |
8214 |
|
case 650:// --no-ho-matching |
8215 |
|
assignBool(options::hoMatching, option, false); |
8216 |
|
break; |
8217 |
|
case 651: // --ho-matching-var-priority |
8218 |
|
assignBool(options::hoMatchingVarArgPriority, option, true); |
8219 |
|
break; |
8220 |
|
case 652:// --no-ho-matching-var-priority |
8221 |
|
assignBool(options::hoMatchingVarArgPriority, option, false); |
8222 |
|
break; |
8223 |
|
case 653: // --ho-merge-term-db |
8224 |
|
assignBool(options::hoMergeTermDb, option, true); |
8225 |
|
break; |
8226 |
|
case 654:// --no-ho-merge-term-db |
8227 |
|
assignBool(options::hoMergeTermDb, option, false); |
8228 |
|
break; |
8229 |
|
case 655: // --increment-triggers |
8230 |
|
assignBool(options::incrementTriggers, option, true); |
8231 |
|
break; |
8232 |
|
case 656:// --no-increment-triggers |
8233 |
|
assignBool(options::incrementTriggers, option, false); |
8234 |
|
break; |
8235 |
|
case 657: // --inst-level-input-only |
8236 |
|
assignBool(options::instLevelInputOnly, option, true); |
8237 |
|
break; |
8238 |
|
case 658:// --no-inst-level-input-only |
8239 |
|
assignBool(options::instLevelInputOnly, option, false); |
8240 |
|
break; |
8241 |
3 |
case 659: // --inst-max-level=N |
8242 |
3 |
assign(options::instMaxLevel, option, optionarg); |
8243 |
3 |
break; |
8244 |
|
case 660: // --inst-no-entail |
8245 |
|
assignBool(options::instNoEntail, option, true); |
8246 |
|
break; |
8247 |
|
case 661:// --no-inst-no-entail |
8248 |
|
assignBool(options::instNoEntail, option, false); |
8249 |
|
break; |
8250 |
|
case 662: // --inst-when-phase=N |
8251 |
|
assign(options::instWhenPhase, option, optionarg); |
8252 |
|
break; |
8253 |
|
case 663: // --inst-when-strict-interleave |
8254 |
|
assignBool(options::instWhenStrictInterleave, option, true); |
8255 |
|
break; |
8256 |
|
case 664:// --no-inst-when-strict-interleave |
8257 |
|
assignBool(options::instWhenStrictInterleave, option, false); |
8258 |
|
break; |
8259 |
|
case 665: // --inst-when-tc-first |
8260 |
|
assignBool(options::instWhenTcFirst, option, true); |
8261 |
|
break; |
8262 |
|
case 666:// --no-inst-when-tc-first |
8263 |
|
assignBool(options::instWhenTcFirst, option, false); |
8264 |
|
break; |
8265 |
3 |
case 667: // --inst-when=MODE |
8266 |
3 |
assign(options::instWhenMode, option, optionarg); |
8267 |
3 |
break; |
8268 |
3 |
case 668: // --int-wf-ind |
8269 |
3 |
assignBool(options::intWfInduction, option, true); |
8270 |
3 |
break; |
8271 |
|
case 669:// --no-int-wf-ind |
8272 |
|
assignBool(options::intWfInduction, option, false); |
8273 |
|
break; |
8274 |
|
case 670: // --ite-dtt-split-quant |
8275 |
|
assignBool(options::iteDtTesterSplitQuant, option, true); |
8276 |
|
break; |
8277 |
|
case 671:// --no-ite-dtt-split-quant |
8278 |
|
assignBool(options::iteDtTesterSplitQuant, option, false); |
8279 |
|
break; |
8280 |
|
case 672: // --ite-lift-quant=MODE |
8281 |
|
assign(options::iteLiftQuant, option, optionarg); |
8282 |
|
break; |
8283 |
|
case 673: // --literal-matching=MODE |
8284 |
|
assign(options::literalMatchMode, option, optionarg); |
8285 |
|
break; |
8286 |
15 |
case 674: // --macros-quant |
8287 |
15 |
assignBool(options::macrosQuant, option, true); |
8288 |
15 |
break; |
8289 |
|
case 675:// --no-macros-quant |
8290 |
|
assignBool(options::macrosQuant, option, false); |
8291 |
|
break; |
8292 |
2 |
case 676: // --macros-quant-mode=MODE |
8293 |
2 |
assign(options::macrosQuantMode, option, optionarg); |
8294 |
2 |
break; |
8295 |
|
case 677: // --mbqi-interleave |
8296 |
|
assignBool(options::mbqiInterleave, option, true); |
8297 |
|
break; |
8298 |
|
case 678:// --no-mbqi-interleave |
8299 |
|
assignBool(options::mbqiInterleave, option, false); |
8300 |
|
break; |
8301 |
|
case 679: // --mbqi-one-inst-per-round |
8302 |
|
assignBool(options::fmfOneInstPerRound, option, true); |
8303 |
|
break; |
8304 |
|
case 680:// --no-mbqi-one-inst-per-round |
8305 |
|
assignBool(options::fmfOneInstPerRound, option, false); |
8306 |
|
break; |
8307 |
|
case 681: // --mbqi=MODE |
8308 |
|
assign(options::mbqiMode, option, optionarg); |
8309 |
|
break; |
8310 |
|
case 682: // --miniscope-quant |
8311 |
|
assignBool(options::miniscopeQuant, option, true); |
8312 |
|
break; |
8313 |
|
case 683:// --no-miniscope-quant |
8314 |
|
assignBool(options::miniscopeQuant, option, false); |
8315 |
|
break; |
8316 |
|
case 684: // --miniscope-quant-fv |
8317 |
|
assignBool(options::miniscopeQuantFreeVar, option, true); |
8318 |
|
break; |
8319 |
|
case 685:// --no-miniscope-quant-fv |
8320 |
|
assignBool(options::miniscopeQuantFreeVar, option, false); |
8321 |
|
break; |
8322 |
3 |
case 686: // --multi-trigger-cache |
8323 |
3 |
assignBool(options::multiTriggerCache, option, true); |
8324 |
3 |
break; |
8325 |
|
case 687:// --no-multi-trigger-cache |
8326 |
|
assignBool(options::multiTriggerCache, option, false); |
8327 |
|
break; |
8328 |
|
case 688: // --multi-trigger-linear |
8329 |
|
assignBool(options::multiTriggerLinear, option, true); |
8330 |
|
break; |
8331 |
|
case 689:// --no-multi-trigger-linear |
8332 |
|
assignBool(options::multiTriggerLinear, option, false); |
8333 |
|
break; |
8334 |
|
case 690: // --multi-trigger-priority |
8335 |
|
assignBool(options::multiTriggerPriority, option, true); |
8336 |
|
break; |
8337 |
|
case 691:// --no-multi-trigger-priority |
8338 |
|
assignBool(options::multiTriggerPriority, option, false); |
8339 |
|
break; |
8340 |
|
case 692: // --multi-trigger-when-single |
8341 |
|
assignBool(options::multiTriggerWhenSingle, option, true); |
8342 |
|
break; |
8343 |
|
case 693:// --no-multi-trigger-when-single |
8344 |
|
assignBool(options::multiTriggerWhenSingle, option, false); |
8345 |
|
break; |
8346 |
3 |
case 694: // --partial-triggers |
8347 |
3 |
assignBool(options::partialTriggers, option, true); |
8348 |
3 |
break; |
8349 |
|
case 695:// --no-partial-triggers |
8350 |
|
assignBool(options::partialTriggers, option, false); |
8351 |
|
break; |
8352 |
3 |
case 696: // --pool-inst |
8353 |
3 |
assignBool(options::poolInst, option, true); |
8354 |
3 |
break; |
8355 |
|
case 697:// --no-pool-inst |
8356 |
|
assignBool(options::poolInst, option, false); |
8357 |
|
break; |
8358 |
|
case 698: // --pre-skolem-quant |
8359 |
|
assignBool(options::preSkolemQuant, option, true); |
8360 |
|
break; |
8361 |
|
case 699:// --no-pre-skolem-quant |
8362 |
|
assignBool(options::preSkolemQuant, option, false); |
8363 |
|
break; |
8364 |
|
case 700: // --pre-skolem-quant-agg |
8365 |
|
assignBool(options::preSkolemQuantAgg, option, true); |
8366 |
|
break; |
8367 |
|
case 701:// --no-pre-skolem-quant-agg |
8368 |
|
assignBool(options::preSkolemQuantAgg, option, false); |
8369 |
|
break; |
8370 |
|
case 702: // --pre-skolem-quant-nested |
8371 |
|
assignBool(options::preSkolemQuantNested, option, true); |
8372 |
|
break; |
8373 |
|
case 703:// --no-pre-skolem-quant-nested |
8374 |
|
assignBool(options::preSkolemQuantNested, option, false); |
8375 |
|
break; |
8376 |
|
case 704: // --prenex-quant-user |
8377 |
|
assignBool(options::prenexQuantUser, option, true); |
8378 |
|
break; |
8379 |
|
case 705:// --no-prenex-quant-user |
8380 |
|
assignBool(options::prenexQuantUser, option, false); |
8381 |
|
break; |
8382 |
|
case 706: // --prenex-quant=MODE |
8383 |
|
assign(options::prenexQuant, option, optionarg); |
8384 |
|
break; |
8385 |
3 |
case 707: // --purify-triggers |
8386 |
3 |
assignBool(options::purifyTriggers, option, true); |
8387 |
3 |
break; |
8388 |
|
case 708:// --no-purify-triggers |
8389 |
|
assignBool(options::purifyTriggers, option, false); |
8390 |
|
break; |
8391 |
|
case 709: // --qcf-all-conflict |
8392 |
|
assignBool(options::qcfAllConflict, option, true); |
8393 |
|
break; |
8394 |
|
case 710:// --no-qcf-all-conflict |
8395 |
|
assignBool(options::qcfAllConflict, option, false); |
8396 |
|
break; |
8397 |
|
case 711: // --qcf-eager-check-rd |
8398 |
|
assignBool(options::qcfEagerCheckRd, option, true); |
8399 |
|
break; |
8400 |
|
case 712:// --no-qcf-eager-check-rd |
8401 |
|
assignBool(options::qcfEagerCheckRd, option, false); |
8402 |
|
break; |
8403 |
|
case 713: // --qcf-eager-test |
8404 |
|
assignBool(options::qcfEagerTest, option, true); |
8405 |
|
break; |
8406 |
|
case 714:// --no-qcf-eager-test |
8407 |
|
assignBool(options::qcfEagerTest, option, false); |
8408 |
|
break; |
8409 |
|
case 715: // --qcf-nested-conflict |
8410 |
|
assignBool(options::qcfNestedConflict, option, true); |
8411 |
|
break; |
8412 |
|
case 716:// --no-qcf-nested-conflict |
8413 |
|
assignBool(options::qcfNestedConflict, option, false); |
8414 |
|
break; |
8415 |
|
case 717: // --qcf-skip-rd |
8416 |
|
assignBool(options::qcfSkipRd, option, true); |
8417 |
|
break; |
8418 |
|
case 718:// --no-qcf-skip-rd |
8419 |
|
assignBool(options::qcfSkipRd, option, false); |
8420 |
|
break; |
8421 |
6 |
case 719: // --qcf-tconstraint |
8422 |
6 |
assignBool(options::qcfTConstraint, option, true); |
8423 |
6 |
break; |
8424 |
|
case 720:// --no-qcf-tconstraint |
8425 |
|
assignBool(options::qcfTConstraint, option, false); |
8426 |
|
break; |
8427 |
|
case 721: // --qcf-vo-exp |
8428 |
|
assignBool(options::qcfVoExp, option, true); |
8429 |
|
break; |
8430 |
|
case 722:// --no-qcf-vo-exp |
8431 |
|
assignBool(options::qcfVoExp, option, false); |
8432 |
|
break; |
8433 |
|
case 723: // --quant-alpha-equiv |
8434 |
|
assignBool(options::quantAlphaEquiv, option, true); |
8435 |
|
break; |
8436 |
|
case 724:// --no-quant-alpha-equiv |
8437 |
|
assignBool(options::quantAlphaEquiv, option, false); |
8438 |
|
break; |
8439 |
|
case 725: // --quant-cf |
8440 |
|
assignBool(options::quantConflictFind, option, true); |
8441 |
|
break; |
8442 |
|
case 726:// --no-quant-cf |
8443 |
|
assignBool(options::quantConflictFind, option, false); |
8444 |
|
break; |
8445 |
|
case 727: // --quant-cf-mode=MODE |
8446 |
|
assign(options::qcfMode, option, optionarg); |
8447 |
|
break; |
8448 |
|
case 728: // --quant-cf-when=MODE |
8449 |
|
assign(options::qcfWhenMode, option, optionarg); |
8450 |
|
break; |
8451 |
|
case 729: // --quant-dsplit-mode=MODE |
8452 |
|
assign(options::quantDynamicSplit, option, optionarg); |
8453 |
|
break; |
8454 |
|
case 730: // --quant-fun-wd |
8455 |
|
assignBool(options::quantFunWellDefined, option, true); |
8456 |
|
break; |
8457 |
|
case 731:// --no-quant-fun-wd |
8458 |
|
assignBool(options::quantFunWellDefined, option, false); |
8459 |
|
break; |
8460 |
5 |
case 732: // --quant-ind |
8461 |
5 |
assignBool(options::quantInduction, option, true); |
8462 |
5 |
break; |
8463 |
|
case 733:// --no-quant-ind |
8464 |
|
assignBool(options::quantInduction, option, false); |
8465 |
|
break; |
8466 |
|
case 734: // --quant-rep-mode=MODE |
8467 |
|
assign(options::quantRepMode, option, optionarg); |
8468 |
|
break; |
8469 |
|
case 735: // --quant-split |
8470 |
|
assignBool(options::quantSplit, option, true); |
8471 |
|
break; |
8472 |
|
case 736:// --no-quant-split |
8473 |
|
assignBool(options::quantSplit, option, false); |
8474 |
|
break; |
8475 |
|
case 737: // --register-quant-body-terms |
8476 |
|
assignBool(options::registerQuantBodyTerms, option, true); |
8477 |
|
break; |
8478 |
|
case 738:// --no-register-quant-body-terms |
8479 |
|
assignBool(options::registerQuantBodyTerms, option, false); |
8480 |
|
break; |
8481 |
12 |
case 739: // --relational-triggers |
8482 |
12 |
assignBool(options::relationalTriggers, option, true); |
8483 |
12 |
break; |
8484 |
3 |
case 740:// --no-relational-triggers |
8485 |
3 |
assignBool(options::relationalTriggers, option, false); |
8486 |
3 |
break; |
8487 |
3 |
case 741: // --relevant-triggers |
8488 |
3 |
assignBool(options::relevantTriggers, option, true); |
8489 |
3 |
break; |
8490 |
|
case 742:// --no-relevant-triggers |
8491 |
|
assignBool(options::relevantTriggers, option, false); |
8492 |
|
break; |
8493 |
|
case 743: // --strict-triggers |
8494 |
|
assignBool(options::strictTriggers, option, true); |
8495 |
|
break; |
8496 |
|
case 744:// --no-strict-triggers |
8497 |
|
assignBool(options::strictTriggers, option, false); |
8498 |
|
break; |
8499 |
|
case 745: // --sygus |
8500 |
|
assignBool(options::sygus, option, true); |
8501 |
|
break; |
8502 |
|
case 746:// --no-sygus |
8503 |
|
assignBool(options::sygus, option, false); |
8504 |
|
break; |
8505 |
|
case 747: // --sygus-active-gen-cfactor=N |
8506 |
|
assign(options::sygusActiveGenEnumConsts, option, optionarg); |
8507 |
|
break; |
8508 |
13 |
case 748: // --sygus-active-gen=MODE |
8509 |
13 |
assign(options::sygusActiveGenMode, option, optionarg); |
8510 |
13 |
break; |
8511 |
1 |
case 749: // --sygus-add-const-grammar |
8512 |
1 |
assignBool(options::sygusAddConstGrammar, option, true); |
8513 |
1 |
break; |
8514 |
1 |
case 750:// --no-sygus-add-const-grammar |
8515 |
1 |
assignBool(options::sygusAddConstGrammar, option, false); |
8516 |
1 |
break; |
8517 |
3 |
case 751: // --sygus-arg-relevant |
8518 |
3 |
assignBool(options::sygusArgRelevant, option, true); |
8519 |
3 |
break; |
8520 |
|
case 752:// --no-sygus-arg-relevant |
8521 |
|
assignBool(options::sygusArgRelevant, option, false); |
8522 |
|
break; |
8523 |
|
case 753: // --sygus-auto-unfold |
8524 |
|
assignBool(options::sygusInvAutoUnfold, option, true); |
8525 |
|
break; |
8526 |
|
case 754:// --no-sygus-auto-unfold |
8527 |
|
assignBool(options::sygusInvAutoUnfold, option, false); |
8528 |
|
break; |
8529 |
1 |
case 755: // --sygus-bool-ite-return-const |
8530 |
1 |
assignBool(options::sygusBoolIteReturnConst, option, true); |
8531 |
1 |
break; |
8532 |
|
case 756:// --no-sygus-bool-ite-return-const |
8533 |
|
assignBool(options::sygusBoolIteReturnConst, option, false); |
8534 |
|
break; |
8535 |
5 |
case 757: // --sygus-core-connective |
8536 |
5 |
assignBool(options::sygusCoreConnective, option, true); |
8537 |
5 |
break; |
8538 |
|
case 758:// --no-sygus-core-connective |
8539 |
|
assignBool(options::sygusCoreConnective, option, false); |
8540 |
|
break; |
8541 |
|
case 759: // --sygus-crepair-abort |
8542 |
|
assignBool(options::sygusConstRepairAbort, option, true); |
8543 |
|
break; |
8544 |
|
case 760:// --no-sygus-crepair-abort |
8545 |
|
assignBool(options::sygusConstRepairAbort, option, false); |
8546 |
|
break; |
8547 |
|
case 761: // --sygus-eval-opt |
8548 |
|
assignBool(options::sygusEvalOpt, option, true); |
8549 |
|
break; |
8550 |
|
case 762:// --no-sygus-eval-opt |
8551 |
|
assignBool(options::sygusEvalOpt, option, false); |
8552 |
|
break; |
8553 |
|
case 763: // --sygus-eval-unfold |
8554 |
|
assignBool(options::sygusEvalUnfold, option, true); |
8555 |
|
break; |
8556 |
|
case 764:// --no-sygus-eval-unfold |
8557 |
|
assignBool(options::sygusEvalUnfold, option, false); |
8558 |
|
break; |
8559 |
|
case 765: // --sygus-eval-unfold-bool |
8560 |
|
assignBool(options::sygusEvalUnfoldBool, option, true); |
8561 |
|
break; |
8562 |
|
case 766:// --no-sygus-eval-unfold-bool |
8563 |
|
assignBool(options::sygusEvalUnfoldBool, option, false); |
8564 |
|
break; |
8565 |
|
case 767: // --sygus-expr-miner-check-timeout=N |
8566 |
|
assign(options::sygusExprMinerCheckTimeout, option, optionarg); |
8567 |
|
break; |
8568 |
|
case 768: // --sygus-ext-rew |
8569 |
|
assignBool(options::sygusExtRew, option, true); |
8570 |
|
break; |
8571 |
|
case 769:// --no-sygus-ext-rew |
8572 |
|
assignBool(options::sygusExtRew, option, false); |
8573 |
|
break; |
8574 |
|
case 770: // --sygus-filter-sol-rev |
8575 |
|
assignBool(options::sygusFilterSolRevSubsume, option, true); |
8576 |
|
break; |
8577 |
|
case 771:// --no-sygus-filter-sol-rev |
8578 |
|
assignBool(options::sygusFilterSolRevSubsume, option, false); |
8579 |
|
break; |
8580 |
|
case 772: // --sygus-filter-sol=MODE |
8581 |
|
assign(options::sygusFilterSolMode, option, optionarg); |
8582 |
|
break; |
8583 |
6 |
case 773: // --sygus-grammar-cons=MODE |
8584 |
6 |
assign(options::sygusGrammarConsMode, option, optionarg); |
8585 |
6 |
break; |
8586 |
|
case 774: // --sygus-grammar-norm |
8587 |
|
assignBool(options::sygusGrammarNorm, option, true); |
8588 |
|
break; |
8589 |
|
case 775:// --no-sygus-grammar-norm |
8590 |
|
assignBool(options::sygusGrammarNorm, option, false); |
8591 |
|
break; |
8592 |
49 |
case 776: // --sygus-inference |
8593 |
49 |
assignBool(options::sygusInference, option, true); |
8594 |
49 |
break; |
8595 |
|
case 777:// --no-sygus-inference |
8596 |
|
assignBool(options::sygusInference, option, false); |
8597 |
|
break; |
8598 |
14 |
case 778: // --sygus-inst |
8599 |
14 |
assignBool(options::sygusInst, option, true); |
8600 |
14 |
break; |
8601 |
|
case 779:// --no-sygus-inst |
8602 |
|
assignBool(options::sygusInst, option, false); |
8603 |
|
break; |
8604 |
|
case 780: // --sygus-inst-mode=MODE |
8605 |
|
assign(options::sygusInstMode, option, optionarg); |
8606 |
|
break; |
8607 |
|
case 781: // --sygus-inst-scope=MODE |
8608 |
|
assign(options::sygusInstScope, option, optionarg); |
8609 |
|
break; |
8610 |
|
case 782: // --sygus-inst-term-sel=MODE |
8611 |
|
assign(options::sygusInstTermSel, option, optionarg); |
8612 |
|
break; |
8613 |
|
case 783: // --sygus-inv-templ-when-sg |
8614 |
|
assignBool(options::sygusInvTemplWhenSyntax, option, true); |
8615 |
|
break; |
8616 |
|
case 784:// --no-sygus-inv-templ-when-sg |
8617 |
|
assignBool(options::sygusInvTemplWhenSyntax, option, false); |
8618 |
|
break; |
8619 |
3 |
case 785: // --sygus-inv-templ=MODE |
8620 |
3 |
assign(options::sygusInvTemplMode, option, optionarg); |
8621 |
3 |
break; |
8622 |
|
case 786: // --sygus-min-grammar |
8623 |
|
assignBool(options::sygusMinGrammar, option, true); |
8624 |
|
break; |
8625 |
|
case 787:// --no-sygus-min-grammar |
8626 |
|
assignBool(options::sygusMinGrammar, option, false); |
8627 |
|
break; |
8628 |
|
case 788: // --sygus-pbe |
8629 |
|
assignBool(options::sygusUnifPbe, option, true); |
8630 |
|
break; |
8631 |
6 |
case 789:// --no-sygus-pbe |
8632 |
6 |
assignBool(options::sygusUnifPbe, option, false); |
8633 |
6 |
break; |
8634 |
|
case 790: // --sygus-pbe-multi-fair |
8635 |
|
assignBool(options::sygusPbeMultiFair, option, true); |
8636 |
|
break; |
8637 |
|
case 791:// --no-sygus-pbe-multi-fair |
8638 |
|
assignBool(options::sygusPbeMultiFair, option, false); |
8639 |
|
break; |
8640 |
|
case 792: // --sygus-pbe-multi-fair-diff=N |
8641 |
|
assign(options::sygusPbeMultiFairDiff, option, optionarg); |
8642 |
|
break; |
8643 |
4 |
case 793: // --sygus-qe-preproc |
8644 |
4 |
assignBool(options::sygusQePreproc, option, true); |
8645 |
4 |
break; |
8646 |
|
case 794:// --no-sygus-qe-preproc |
8647 |
|
assignBool(options::sygusQePreproc, option, false); |
8648 |
|
break; |
8649 |
|
case 795: // --sygus-query-gen |
8650 |
|
assignBool(options::sygusQueryGen, option, true); |
8651 |
|
break; |
8652 |
|
case 796:// --no-sygus-query-gen |
8653 |
|
assignBool(options::sygusQueryGen, option, false); |
8654 |
|
break; |
8655 |
|
case 797: // --sygus-query-gen-check |
8656 |
|
assignBool(options::sygusQueryGenCheck, option, true); |
8657 |
|
break; |
8658 |
|
case 798:// --no-sygus-query-gen-check |
8659 |
|
assignBool(options::sygusQueryGenCheck, option, false); |
8660 |
|
break; |
8661 |
|
case 799: // --sygus-query-gen-dump-files=MODE |
8662 |
|
assign(options::sygusQueryGenDumpFiles, option, optionarg); |
8663 |
|
break; |
8664 |
|
case 800: // --sygus-query-gen-thresh=N |
8665 |
|
assign(options::sygusQueryGenThresh, option, optionarg); |
8666 |
|
break; |
8667 |
1 |
case 801: // --sygus-rec-fun |
8668 |
1 |
assignBool(options::sygusRecFun, option, true); |
8669 |
1 |
break; |
8670 |
|
case 802:// --no-sygus-rec-fun |
8671 |
|
assignBool(options::sygusRecFun, option, false); |
8672 |
|
break; |
8673 |
|
case 803: // --sygus-rec-fun-eval-limit=N |
8674 |
|
assign(options::sygusRecFunEvalLimit, option, optionarg); |
8675 |
|
break; |
8676 |
5 |
case 804: // --sygus-repair-const |
8677 |
5 |
assignBool(options::sygusRepairConst, option, true); |
8678 |
5 |
break; |
8679 |
3 |
case 805:// --no-sygus-repair-const |
8680 |
3 |
assignBool(options::sygusRepairConst, option, false); |
8681 |
3 |
break; |
8682 |
|
case 806: // --sygus-repair-const-timeout=N |
8683 |
|
assign(options::sygusRepairConstTimeout, option, optionarg); |
8684 |
|
break; |
8685 |
6 |
case 807: // --sygus-rr |
8686 |
6 |
assignBool(options::sygusRew, option, true); |
8687 |
6 |
break; |
8688 |
|
case 808:// --no-sygus-rr |
8689 |
|
assignBool(options::sygusRew, option, false); |
8690 |
|
break; |
8691 |
1 |
case 809: // --sygus-rr-synth |
8692 |
1 |
assignBool(options::sygusRewSynth, option, true); |
8693 |
1 |
break; |
8694 |
|
case 810:// --no-sygus-rr-synth |
8695 |
|
assignBool(options::sygusRewSynth, option, false); |
8696 |
|
break; |
8697 |
|
case 811: // --sygus-rr-synth-accel |
8698 |
|
assignBool(options::sygusRewSynthAccel, option, true); |
8699 |
|
break; |
8700 |
|
case 812:// --no-sygus-rr-synth-accel |
8701 |
|
assignBool(options::sygusRewSynthAccel, option, false); |
8702 |
|
break; |
8703 |
3 |
case 813: // --sygus-rr-synth-check |
8704 |
3 |
assignBool(options::sygusRewSynthCheck, option, true); |
8705 |
3 |
break; |
8706 |
|
case 814:// --no-sygus-rr-synth-check |
8707 |
|
assignBool(options::sygusRewSynthCheck, option, false); |
8708 |
|
break; |
8709 |
|
case 815: // --sygus-rr-synth-filter-cong |
8710 |
|
assignBool(options::sygusRewSynthFilterCong, option, true); |
8711 |
|
break; |
8712 |
|
case 816:// --no-sygus-rr-synth-filter-cong |
8713 |
|
assignBool(options::sygusRewSynthFilterCong, option, false); |
8714 |
|
break; |
8715 |
|
case 817: // --sygus-rr-synth-filter-match |
8716 |
|
assignBool(options::sygusRewSynthFilterMatch, option, true); |
8717 |
|
break; |
8718 |
|
case 818:// --no-sygus-rr-synth-filter-match |
8719 |
|
assignBool(options::sygusRewSynthFilterMatch, option, false); |
8720 |
|
break; |
8721 |
|
case 819: // --sygus-rr-synth-filter-nl |
8722 |
|
assignBool(options::sygusRewSynthFilterNonLinear, option, true); |
8723 |
|
break; |
8724 |
|
case 820:// --no-sygus-rr-synth-filter-nl |
8725 |
|
assignBool(options::sygusRewSynthFilterNonLinear, option, false); |
8726 |
|
break; |
8727 |
|
case 821: // --sygus-rr-synth-filter-order |
8728 |
|
assignBool(options::sygusRewSynthFilterOrder, option, true); |
8729 |
|
break; |
8730 |
|
case 822:// --no-sygus-rr-synth-filter-order |
8731 |
|
assignBool(options::sygusRewSynthFilterOrder, option, false); |
8732 |
|
break; |
8733 |
|
case 823: // --sygus-rr-synth-input |
8734 |
|
assignBool(options::sygusRewSynthInput, option, true); |
8735 |
|
break; |
8736 |
|
case 824:// --no-sygus-rr-synth-input |
8737 |
|
assignBool(options::sygusRewSynthInput, option, false); |
8738 |
|
break; |
8739 |
|
case 825: // --sygus-rr-synth-input-nvars=N |
8740 |
|
assign(options::sygusRewSynthInputNVars, option, optionarg); |
8741 |
|
break; |
8742 |
|
case 826: // --sygus-rr-synth-input-use-bool |
8743 |
|
assignBool(options::sygusRewSynthInputUseBool, option, true); |
8744 |
|
break; |
8745 |
|
case 827:// --no-sygus-rr-synth-input-use-bool |
8746 |
|
assignBool(options::sygusRewSynthInputUseBool, option, false); |
8747 |
|
break; |
8748 |
|
case 828: // --sygus-rr-synth-rec |
8749 |
|
assignBool(options::sygusRewSynthRec, option, true); |
8750 |
|
break; |
8751 |
|
case 829:// --no-sygus-rr-synth-rec |
8752 |
|
assignBool(options::sygusRewSynthRec, option, false); |
8753 |
|
break; |
8754 |
|
case 830: // --sygus-rr-verify |
8755 |
|
assignBool(options::sygusRewVerify, option, true); |
8756 |
|
break; |
8757 |
|
case 831:// --no-sygus-rr-verify |
8758 |
|
assignBool(options::sygusRewVerify, option, false); |
8759 |
|
break; |
8760 |
7 |
case 832: // --sygus-rr-verify-abort |
8761 |
7 |
assignBool(options::sygusRewVerifyAbort, option, true); |
8762 |
7 |
break; |
8763 |
|
case 833:// --no-sygus-rr-verify-abort |
8764 |
|
assignBool(options::sygusRewVerifyAbort, option, false); |
8765 |
|
break; |
8766 |
|
case 834: // --sygus-sample-fp-uniform |
8767 |
|
assignBool(options::sygusSampleFpUniform, option, true); |
8768 |
|
break; |
8769 |
|
case 835:// --no-sygus-sample-fp-uniform |
8770 |
|
assignBool(options::sygusSampleFpUniform, option, false); |
8771 |
|
break; |
8772 |
|
case 836: // --sygus-sample-grammar |
8773 |
|
assignBool(options::sygusSampleGrammar, option, true); |
8774 |
|
break; |
8775 |
|
case 837:// --no-sygus-sample-grammar |
8776 |
|
assignBool(options::sygusSampleGrammar, option, false); |
8777 |
|
break; |
8778 |
7 |
case 838: // --sygus-samples=N |
8779 |
7 |
assign(options::sygusSamples, option, optionarg); |
8780 |
7 |
break; |
8781 |
|
case 839: // --sygus-si-abort |
8782 |
|
assignBool(options::cegqiSingleInvAbort, option, true); |
8783 |
|
break; |
8784 |
|
case 840:// --no-sygus-si-abort |
8785 |
|
assignBool(options::cegqiSingleInvAbort, option, false); |
8786 |
|
break; |
8787 |
|
case 841: // --sygus-si-partial |
8788 |
|
assignBool(options::cegqiSingleInvPartial, option, true); |
8789 |
|
break; |
8790 |
|
case 842:// --no-sygus-si-partial |
8791 |
|
assignBool(options::cegqiSingleInvPartial, option, false); |
8792 |
|
break; |
8793 |
1 |
case 843: // --sygus-si-rcons-limit=N |
8794 |
1 |
assign(options::cegqiSingleInvReconstructLimit, option, optionarg); |
8795 |
1 |
break; |
8796 |
|
case 844: // --sygus-si-rcons=MODE |
8797 |
|
assign(options::cegqiSingleInvReconstruct, option, optionarg); |
8798 |
|
break; |
8799 |
|
case 845: // --sygus-si-reconstruct-const |
8800 |
|
assignBool(options::cegqiSingleInvReconstructConst, option, true); |
8801 |
|
break; |
8802 |
|
case 846:// --no-sygus-si-reconstruct-const |
8803 |
|
assignBool(options::cegqiSingleInvReconstructConst, option, false); |
8804 |
|
break; |
8805 |
47 |
case 847: // --sygus-si=MODE |
8806 |
47 |
assign(options::cegqiSingleInvMode, option, optionarg); |
8807 |
47 |
break; |
8808 |
4 |
case 848: // --sygus-stream |
8809 |
4 |
assignBool(options::sygusStream, option, true); |
8810 |
4 |
break; |
8811 |
|
case 849:// --no-sygus-stream |
8812 |
|
assignBool(options::sygusStream, option, false); |
8813 |
|
break; |
8814 |
|
case 850: // --sygus-templ-embed-grammar |
8815 |
|
assignBool(options::sygusTemplEmbedGrammar, option, true); |
8816 |
|
break; |
8817 |
|
case 851:// --no-sygus-templ-embed-grammar |
8818 |
|
assignBool(options::sygusTemplEmbedGrammar, option, false); |
8819 |
|
break; |
8820 |
|
case 852: // --sygus-unif-cond-independent-no-repeat-sol |
8821 |
|
assignBool(options::sygusUnifCondIndNoRepeatSol, option, true); |
8822 |
|
break; |
8823 |
|
case 853:// --no-sygus-unif-cond-independent-no-repeat-sol |
8824 |
|
assignBool(options::sygusUnifCondIndNoRepeatSol, option, false); |
8825 |
|
break; |
8826 |
8 |
case 854: // --sygus-unif-pi=MODE |
8827 |
8 |
assign(options::sygusUnifPi, option, optionarg); |
8828 |
8 |
break; |
8829 |
|
case 855: // --sygus-unif-shuffle-cond |
8830 |
|
assignBool(options::sygusUnifShuffleCond, option, true); |
8831 |
|
break; |
8832 |
|
case 856:// --no-sygus-unif-shuffle-cond |
8833 |
|
assignBool(options::sygusUnifShuffleCond, option, false); |
8834 |
|
break; |
8835 |
|
case 857: // --term-db-cd |
8836 |
|
assignBool(options::termDbCd, option, true); |
8837 |
|
break; |
8838 |
|
case 858:// --no-term-db-cd |
8839 |
|
assignBool(options::termDbCd, option, false); |
8840 |
|
break; |
8841 |
|
case 859: // --term-db-mode=MODE |
8842 |
|
assign(options::termDbMode, option, optionarg); |
8843 |
|
break; |
8844 |
|
case 860: // --trigger-active-sel=MODE |
8845 |
|
assign(options::triggerActiveSelMode, option, optionarg); |
8846 |
|
break; |
8847 |
|
case 861: // --trigger-sel=MODE |
8848 |
|
assign(options::triggerSelMode, option, optionarg); |
8849 |
|
break; |
8850 |
|
case 862: // --user-pat=MODE |
8851 |
|
assign(options::userPatternsQuant, option, optionarg); |
8852 |
|
break; |
8853 |
|
case 863: // --var-elim-quant |
8854 |
|
assignBool(options::varElimQuant, option, true); |
8855 |
|
break; |
8856 |
|
case 864:// --no-var-elim-quant |
8857 |
|
assignBool(options::varElimQuant, option, false); |
8858 |
|
break; |
8859 |
2 |
case 865: // --var-ineq-elim-quant |
8860 |
2 |
assignBool(options::varIneqElimQuant, option, true); |
8861 |
2 |
break; |
8862 |
|
case 866:// --no-var-ineq-elim-quant |
8863 |
|
assignBool(options::varIneqElimQuant, option, false); |
8864 |
|
break; |
8865 |
|
case 867: // --rlimit-per=N |
8866 |
|
case 868: // --reproducible-resource-limit |
8867 |
|
assign(options::perCallResourceLimit, option, optionarg); |
8868 |
|
break; |
8869 |
|
case 869: // --rlimit=N |
8870 |
|
assign(options::cumulativeResourceLimit, option, optionarg); |
8871 |
|
break; |
8872 |
|
case 870: // --rweight=VAL=N |
8873 |
|
d_handler->setResourceWeight(option, optionarg); |
8874 |
|
break; |
8875 |
6 |
case 871: // --tlimit-per=MS |
8876 |
6 |
assign(options::perCallMillisecondLimit, option, optionarg); |
8877 |
6 |
break; |
8878 |
|
case 872: // --tlimit=MS |
8879 |
|
assign(options::cumulativeMillisecondLimit, option, optionarg); |
8880 |
|
break; |
8881 |
|
case 873: // --sep-check-neg |
8882 |
|
assignBool(options::sepCheckNeg, option, true); |
8883 |
|
break; |
8884 |
|
case 874:// --no-sep-check-neg |
8885 |
|
assignBool(options::sepCheckNeg, option, false); |
8886 |
|
break; |
8887 |
|
case 875: // --sep-child-refine |
8888 |
|
assignBool(options::sepChildRefine, option, true); |
8889 |
|
break; |
8890 |
|
case 876:// --no-sep-child-refine |
8891 |
|
assignBool(options::sepChildRefine, option, false); |
8892 |
|
break; |
8893 |
|
case 877: // --sep-deq-c |
8894 |
|
assignBool(options::sepDisequalC, option, true); |
8895 |
|
break; |
8896 |
|
case 878:// --no-sep-deq-c |
8897 |
|
assignBool(options::sepDisequalC, option, false); |
8898 |
|
break; |
8899 |
|
case 879: // --sep-exp |
8900 |
|
assignBool(options::sepExp, option, true); |
8901 |
|
break; |
8902 |
|
case 880:// --no-sep-exp |
8903 |
|
assignBool(options::sepExp, option, false); |
8904 |
|
break; |
8905 |
|
case 881: // --sep-min-refine |
8906 |
|
assignBool(options::sepMinimalRefine, option, true); |
8907 |
|
break; |
8908 |
|
case 882:// --no-sep-min-refine |
8909 |
|
assignBool(options::sepMinimalRefine, option, false); |
8910 |
|
break; |
8911 |
1 |
case 883: // --sep-pre-skolem-emp |
8912 |
1 |
assignBool(options::sepPreSkolemEmp, option, true); |
8913 |
1 |
break; |
8914 |
|
case 884:// --no-sep-pre-skolem-emp |
8915 |
|
assignBool(options::sepPreSkolemEmp, option, false); |
8916 |
|
break; |
8917 |
32 |
case 885: // --sets-ext |
8918 |
32 |
assignBool(options::setsExt, option, true); |
8919 |
32 |
break; |
8920 |
|
case 886:// --no-sets-ext |
8921 |
|
assignBool(options::setsExt, option, false); |
8922 |
|
break; |
8923 |
2 |
case 887: // --sets-infer-as-lemmas |
8924 |
2 |
assignBool(options::setsInferAsLemmas, option, true); |
8925 |
2 |
break; |
8926 |
|
case 888:// --no-sets-infer-as-lemmas |
8927 |
|
assignBool(options::setsInferAsLemmas, option, false); |
8928 |
|
break; |
8929 |
|
case 889: // --sets-proxy-lemmas |
8930 |
|
assignBool(options::setsProxyLemmas, option, true); |
8931 |
|
break; |
8932 |
|
case 890:// --no-sets-proxy-lemmas |
8933 |
|
assignBool(options::setsProxyLemmas, option, false); |
8934 |
|
break; |
8935 |
4 |
case 891: // --abstract-values |
8936 |
4 |
assignBool(options::abstractValues, option, true); |
8937 |
4 |
break; |
8938 |
|
case 892:// --no-abstract-values |
8939 |
|
assignBool(options::abstractValues, option, false); |
8940 |
|
break; |
8941 |
24 |
case 893: // --ackermann |
8942 |
24 |
assignBool(options::ackermann, option, true); |
8943 |
24 |
break; |
8944 |
|
case 894:// --no-ackermann |
8945 |
|
assignBool(options::ackermann, option, false); |
8946 |
|
break; |
8947 |
6 |
case 895: // --block-models=MODE |
8948 |
6 |
assign(options::blockModelsMode, option, optionarg); |
8949 |
6 |
break; |
8950 |
73 |
case 896: // --bvand-integer-granularity=N |
8951 |
73 |
assign(options::BVAndIntegerGranularity, option, optionarg); |
8952 |
73 |
break; |
8953 |
12 |
case 897: // --check-abducts |
8954 |
12 |
assignBool(options::checkAbducts, option, true); |
8955 |
12 |
break; |
8956 |
|
case 898:// --no-check-abducts |
8957 |
|
assignBool(options::checkAbducts, option, false); |
8958 |
|
break; |
8959 |
8 |
case 899: // --check-interpols |
8960 |
8 |
assignBool(options::checkInterpols, option, true); |
8961 |
8 |
break; |
8962 |
|
case 900:// --no-check-interpols |
8963 |
|
assignBool(options::checkInterpols, option, false); |
8964 |
|
break; |
8965 |
14 |
case 901: // --check-models |
8966 |
14 |
assignBool(options::checkModels, option, true); |
8967 |
14 |
break; |
8968 |
80 |
case 902:// --no-check-models |
8969 |
80 |
assignBool(options::checkModels, option, false); |
8970 |
80 |
break; |
8971 |
1104 |
case 903: // --check-proofs |
8972 |
1104 |
assignBool(options::checkProofs, option, true); |
8973 |
1104 |
break; |
8974 |
5 |
case 904:// --no-check-proofs |
8975 |
5 |
assignBool(options::checkProofs, option, false); |
8976 |
5 |
break; |
8977 |
179 |
case 905: // --check-synth-sol |
8978 |
179 |
assignBool(options::checkSynthSol, option, true); |
8979 |
179 |
break; |
8980 |
6 |
case 906:// --no-check-synth-sol |
8981 |
6 |
assignBool(options::checkSynthSol, option, false); |
8982 |
6 |
break; |
8983 |
927 |
case 907: // --check-unsat-cores |
8984 |
927 |
assignBool(options::checkUnsatCores, option, true); |
8985 |
927 |
break; |
8986 |
128 |
case 908:// --no-check-unsat-cores |
8987 |
128 |
assignBool(options::checkUnsatCores, option, false); |
8988 |
128 |
break; |
8989 |
1169 |
case 909: // --debug-check-models |
8990 |
1169 |
assignBool(options::debugCheckModels, option, true); |
8991 |
1169 |
break; |
8992 |
|
case 910:// --no-debug-check-models |
8993 |
|
assignBool(options::debugCheckModels, option, false); |
8994 |
|
break; |
8995 |
|
case 911: // --diagnostic-output-channel=CHANNEL |
8996 |
|
assign(options::diagnosticChannelName, option, optionarg); |
8997 |
|
break; |
8998 |
10 |
case 912: // --dump-instantiations |
8999 |
10 |
assignBool(options::dumpInstantiations, option, true); |
9000 |
10 |
break; |
9001 |
|
case 913:// --no-dump-instantiations |
9002 |
|
assignBool(options::dumpInstantiations, option, false); |
9003 |
|
break; |
9004 |
6 |
case 914: // --dump-models |
9005 |
6 |
assignBool(options::dumpModels, option, true); |
9006 |
6 |
break; |
9007 |
|
case 915:// --no-dump-models |
9008 |
|
assignBool(options::dumpModels, option, false); |
9009 |
|
break; |
9010 |
|
case 916: // --dump-proofs |
9011 |
|
assignBool(options::dumpProofs, option, true); |
9012 |
|
break; |
9013 |
|
case 917:// --no-dump-proofs |
9014 |
|
assignBool(options::dumpProofs, option, false); |
9015 |
|
break; |
9016 |
|
case 918: // --dump-to=FILE |
9017 |
|
assign(options::dumpToFileName, option, optionarg); |
9018 |
|
break; |
9019 |
|
case 919: // --dump-unsat-cores |
9020 |
|
assignBool(options::dumpUnsatCores, option, true); |
9021 |
|
break; |
9022 |
|
case 920:// --no-dump-unsat-cores |
9023 |
|
assignBool(options::dumpUnsatCores, option, false); |
9024 |
|
break; |
9025 |
3 |
case 921: // --dump-unsat-cores-full |
9026 |
3 |
assignBool(options::dumpUnsatCoresFull, option, true); |
9027 |
3 |
break; |
9028 |
|
case 922:// --no-dump-unsat-cores-full |
9029 |
|
assignBool(options::dumpUnsatCoresFull, option, false); |
9030 |
|
break; |
9031 |
3 |
case 923: // --dump=MODE |
9032 |
3 |
assign(options::dumpModeString, option, optionarg); |
9033 |
3 |
break; |
9034 |
|
case 924: // --early-ite-removal |
9035 |
|
assignBool(options::earlyIteRemoval, option, true); |
9036 |
|
break; |
9037 |
|
case 925:// --no-early-ite-removal |
9038 |
|
assignBool(options::earlyIteRemoval, option, false); |
9039 |
|
break; |
9040 |
|
case 926: // --expand-definitions |
9041 |
|
assignBool(options::expandDefinitions, option, true); |
9042 |
|
break; |
9043 |
|
case 927:// --no-expand-definitions |
9044 |
|
assignBool(options::expandDefinitions, option, false); |
9045 |
|
break; |
9046 |
17 |
case 928: // --ext-rew-prep |
9047 |
17 |
assignBool(options::extRewPrep, option, true); |
9048 |
17 |
break; |
9049 |
|
case 929:// --no-ext-rew-prep |
9050 |
|
assignBool(options::extRewPrep, option, false); |
9051 |
|
break; |
9052 |
7 |
case 930: // --ext-rew-prep-agg |
9053 |
7 |
assignBool(options::extRewPrepAgg, option, true); |
9054 |
7 |
break; |
9055 |
|
case 931:// --no-ext-rew-prep-agg |
9056 |
|
assignBool(options::extRewPrepAgg, option, false); |
9057 |
|
break; |
9058 |
|
case 932: // --force-no-limit-cpu-while-dump |
9059 |
|
assignBool(options::forceNoLimitCpuWhileDump, option, true); |
9060 |
|
break; |
9061 |
|
case 933:// --no-force-no-limit-cpu-while-dump |
9062 |
|
assignBool(options::forceNoLimitCpuWhileDump, option, false); |
9063 |
|
break; |
9064 |
2 |
case 934: // --foreign-theory-rewrite |
9065 |
2 |
assignBool(options::foreignTheoryRewrite, option, true); |
9066 |
2 |
break; |
9067 |
|
case 935:// --no-foreign-theory-rewrite |
9068 |
|
assignBool(options::foreignTheoryRewrite, option, false); |
9069 |
|
break; |
9070 |
64 |
case 936: // --iand-mode=mode |
9071 |
64 |
assign(options::iandMode, option, optionarg); |
9072 |
64 |
break; |
9073 |
506 |
case 'i': |
9074 |
|
case 937: // --incremental |
9075 |
506 |
assignBool(options::incrementalSolving, option, true); |
9076 |
506 |
break; |
9077 |
|
case 938:// --no-incremental |
9078 |
|
assignBool(options::incrementalSolving, option, false); |
9079 |
|
break; |
9080 |
|
case 939: // --interactive-mode |
9081 |
|
assignBool(options::interactiveMode, option, true); |
9082 |
|
break; |
9083 |
|
case 940:// --no-interactive-mode |
9084 |
|
assignBool(options::interactiveMode, option, false); |
9085 |
|
break; |
9086 |
|
case 941: // --ite-simp |
9087 |
|
assignBool(options::doITESimp, option, true); |
9088 |
|
break; |
9089 |
|
case 942:// --no-ite-simp |
9090 |
|
assignBool(options::doITESimp, option, false); |
9091 |
|
break; |
9092 |
6 |
case 943: // --model-cores=MODE |
9093 |
6 |
assign(options::modelCoresMode, option, optionarg); |
9094 |
6 |
break; |
9095 |
1 |
case 944: // --model-u-print=MODE |
9096 |
|
case 945: // --model-uninterp-print |
9097 |
1 |
assign(options::modelUninterpPrint, option, optionarg); |
9098 |
1 |
break; |
9099 |
1 |
case 946: // --model-witness-value |
9100 |
1 |
assignBool(options::modelWitnessValue, option, true); |
9101 |
1 |
break; |
9102 |
|
case 947:// --no-model-witness-value |
9103 |
|
assignBool(options::modelWitnessValue, option, false); |
9104 |
|
break; |
9105 |
|
case 948: // --on-repeat-ite-simp |
9106 |
|
assignBool(options::doITESimpOnRepeat, option, true); |
9107 |
|
break; |
9108 |
|
case 949:// --no-on-repeat-ite-simp |
9109 |
|
assignBool(options::doITESimpOnRepeat, option, false); |
9110 |
|
break; |
9111 |
11 |
case 950: // --produce-abducts |
9112 |
11 |
assignBool(options::produceAbducts, option, true); |
9113 |
11 |
break; |
9114 |
|
case 951:// --no-produce-abducts |
9115 |
|
assignBool(options::produceAbducts, option, false); |
9116 |
|
break; |
9117 |
|
case 952: // --produce-assertions |
9118 |
|
assignBool(options::produceAssertions, option, true); |
9119 |
|
break; |
9120 |
|
case 953:// --no-produce-assertions |
9121 |
|
assignBool(options::produceAssertions, option, false); |
9122 |
|
break; |
9123 |
|
case 954: // --produce-assignments |
9124 |
|
assignBool(options::produceAssignments, option, true); |
9125 |
|
break; |
9126 |
|
case 955:// --no-produce-assignments |
9127 |
|
assignBool(options::produceAssignments, option, false); |
9128 |
|
break; |
9129 |
8 |
case 956: // --produce-interpols=MODE |
9130 |
8 |
assign(options::produceInterpols, option, optionarg); |
9131 |
8 |
break; |
9132 |
36 |
case 'm': |
9133 |
|
case 957: // --produce-models |
9134 |
36 |
assignBool(options::produceModels, option, true); |
9135 |
36 |
break; |
9136 |
2 |
case 958:// --no-produce-models |
9137 |
2 |
assignBool(options::produceModels, option, false); |
9138 |
2 |
break; |
9139 |
3 |
case 959: // --produce-proofs |
9140 |
3 |
assignBool(options::produceProofs, option, true); |
9141 |
3 |
break; |
9142 |
15 |
case 960:// --no-produce-proofs |
9143 |
15 |
assignBool(options::produceProofs, option, false); |
9144 |
15 |
break; |
9145 |
|
case 961: // --produce-unsat-assumptions |
9146 |
|
assignBool(options::unsatAssumptions, option, true); |
9147 |
|
break; |
9148 |
|
case 962:// --no-produce-unsat-assumptions |
9149 |
|
assignBool(options::unsatAssumptions, option, false); |
9150 |
|
break; |
9151 |
4 |
case 963: // --produce-unsat-cores |
9152 |
4 |
assignBool(options::unsatCores, option, true); |
9153 |
4 |
break; |
9154 |
2 |
case 964:// --no-produce-unsat-cores |
9155 |
2 |
assignBool(options::unsatCores, option, false); |
9156 |
2 |
break; |
9157 |
|
case 965: // --regular-output-channel=CHANNEL |
9158 |
|
assign(options::regularChannelName, option, optionarg); |
9159 |
|
break; |
9160 |
2 |
case 966: // --repeat-simp |
9161 |
2 |
assignBool(options::repeatSimp, option, true); |
9162 |
2 |
break; |
9163 |
|
case 967:// --no-repeat-simp |
9164 |
|
assignBool(options::repeatSimp, option, false); |
9165 |
|
break; |
9166 |
|
case 968: // --simp-ite-compress |
9167 |
|
assignBool(options::compressItes, option, true); |
9168 |
|
break; |
9169 |
|
case 969:// --no-simp-ite-compress |
9170 |
|
assignBool(options::compressItes, option, false); |
9171 |
|
break; |
9172 |
|
case 970: // --simp-ite-hunt-zombies=N |
9173 |
|
assign(options::zombieHuntThreshold, option, optionarg); |
9174 |
|
break; |
9175 |
|
case 971: // --simp-with-care |
9176 |
|
assignBool(options::simplifyWithCareEnabled, option, true); |
9177 |
|
break; |
9178 |
|
case 972:// --no-simp-with-care |
9179 |
|
assignBool(options::simplifyWithCareEnabled, option, false); |
9180 |
|
break; |
9181 |
29 |
case 973: // --simplification=MODE |
9182 |
|
case 974: // --simplification-mode |
9183 |
29 |
assign(options::simplificationMode, option, optionarg); |
9184 |
29 |
break; |
9185 |
102 |
case 975: // --solve-bv-as-int=MODE |
9186 |
102 |
assign(options::solveBVAsInt, option, optionarg); |
9187 |
102 |
break; |
9188 |
4 |
case 976: // --solve-int-as-bv=N |
9189 |
4 |
assign(options::solveIntAsBV, option, optionarg); |
9190 |
4 |
break; |
9191 |
9 |
case 977: // --solve-real-as-int |
9192 |
9 |
assignBool(options::solveRealAsInt, option, true); |
9193 |
9 |
break; |
9194 |
|
case 978:// --no-solve-real-as-int |
9195 |
|
assignBool(options::solveRealAsInt, option, false); |
9196 |
|
break; |
9197 |
20 |
case 979: // --sort-inference |
9198 |
20 |
assignBool(options::sortInference, option, true); |
9199 |
20 |
break; |
9200 |
|
case 980:// --no-sort-inference |
9201 |
|
assignBool(options::sortInference, option, false); |
9202 |
|
break; |
9203 |
|
case 981: // --static-learning |
9204 |
|
assignBool(options::doStaticLearning, option, true); |
9205 |
|
break; |
9206 |
|
case 982:// --no-static-learning |
9207 |
|
assignBool(options::doStaticLearning, option, false); |
9208 |
|
break; |
9209 |
179 |
case 983: // --sygus-out=MODE |
9210 |
179 |
assign(options::sygusOut, option, optionarg); |
9211 |
179 |
break; |
9212 |
|
case 984: // --sygus-print-callbacks |
9213 |
|
assignBool(options::sygusPrintCallbacks, option, true); |
9214 |
|
break; |
9215 |
|
case 985:// --no-sygus-print-callbacks |
9216 |
|
assignBool(options::sygusPrintCallbacks, option, false); |
9217 |
|
break; |
9218 |
104 |
case 986: // --unconstrained-simp |
9219 |
104 |
assignBool(options::unconstrainedSimp, option, true); |
9220 |
104 |
break; |
9221 |
3 |
case 987:// --no-unconstrained-simp |
9222 |
3 |
assignBool(options::unconstrainedSimp, option, false); |
9223 |
3 |
break; |
9224 |
|
case 988: // --unsat-cores-mode=MODE |
9225 |
|
assign(options::unsatCoresMode, option, optionarg); |
9226 |
|
break; |
9227 |
10 |
case 989: // --re-elim |
9228 |
10 |
assignBool(options::regExpElim, option, true); |
9229 |
10 |
break; |
9230 |
7 |
case 990:// --no-re-elim |
9231 |
7 |
assignBool(options::regExpElim, option, false); |
9232 |
7 |
break; |
9233 |
3 |
case 991: // --re-elim-agg |
9234 |
3 |
assignBool(options::regExpElimAgg, option, true); |
9235 |
3 |
break; |
9236 |
|
case 992:// --no-re-elim-agg |
9237 |
|
assignBool(options::regExpElimAgg, option, false); |
9238 |
|
break; |
9239 |
|
case 993: // --re-inter-mode=MODE |
9240 |
|
assign(options::stringRegExpInterMode, option, optionarg); |
9241 |
|
break; |
9242 |
|
case 994: // --strings-check-entail-len |
9243 |
|
assignBool(options::stringCheckEntailLen, option, true); |
9244 |
|
break; |
9245 |
|
case 995:// --no-strings-check-entail-len |
9246 |
|
assignBool(options::stringCheckEntailLen, option, false); |
9247 |
|
break; |
9248 |
2 |
case 996: // --strings-eager |
9249 |
2 |
assignBool(options::stringEager, option, true); |
9250 |
2 |
break; |
9251 |
|
case 997:// --no-strings-eager |
9252 |
|
assignBool(options::stringEager, option, false); |
9253 |
|
break; |
9254 |
|
case 998: // --strings-eager-eval |
9255 |
|
assignBool(options::stringEagerEval, option, true); |
9256 |
|
break; |
9257 |
|
case 999:// --no-strings-eager-eval |
9258 |
|
assignBool(options::stringEagerEval, option, false); |
9259 |
|
break; |
9260 |
|
case 1000: // --strings-eager-len |
9261 |
|
assignBool(options::stringEagerLen, option, true); |
9262 |
|
break; |
9263 |
|
case 1001:// --no-strings-eager-len |
9264 |
|
assignBool(options::stringEagerLen, option, false); |
9265 |
|
break; |
9266 |
265 |
case 1002: // --strings-exp |
9267 |
265 |
assignBool(options::stringExp, option, true); |
9268 |
265 |
break; |
9269 |
|
case 1003:// --no-strings-exp |
9270 |
|
assignBool(options::stringExp, option, false); |
9271 |
|
break; |
9272 |
|
case 1004: // --strings-ff |
9273 |
|
assignBool(options::stringFlatForms, option, true); |
9274 |
|
break; |
9275 |
|
case 1005:// --no-strings-ff |
9276 |
|
assignBool(options::stringFlatForms, option, false); |
9277 |
|
break; |
9278 |
21 |
case 1006: // --strings-fmf |
9279 |
21 |
assignBool(options::stringFMF, option, true); |
9280 |
21 |
break; |
9281 |
|
case 1007:// --no-strings-fmf |
9282 |
|
assignBool(options::stringFMF, option, false); |
9283 |
|
break; |
9284 |
|
case 1008: // --strings-guess-model |
9285 |
|
assignBool(options::stringGuessModel, option, true); |
9286 |
|
break; |
9287 |
|
case 1009:// --no-strings-guess-model |
9288 |
|
assignBool(options::stringGuessModel, option, false); |
9289 |
|
break; |
9290 |
|
case 1010: // --strings-infer-as-lemmas |
9291 |
|
assignBool(options::stringInferAsLemmas, option, true); |
9292 |
|
break; |
9293 |
|
case 1011:// --no-strings-infer-as-lemmas |
9294 |
|
assignBool(options::stringInferAsLemmas, option, false); |
9295 |
|
break; |
9296 |
|
case 1012: // --strings-infer-sym |
9297 |
|
assignBool(options::stringInferSym, option, true); |
9298 |
|
break; |
9299 |
|
case 1013:// --no-strings-infer-sym |
9300 |
|
assignBool(options::stringInferSym, option, false); |
9301 |
|
break; |
9302 |
|
case 1014: // --strings-inm |
9303 |
|
assignBool(options::stringIgnNegMembership, option, true); |
9304 |
|
break; |
9305 |
|
case 1015:// --no-strings-inm |
9306 |
|
assignBool(options::stringIgnNegMembership, option, false); |
9307 |
|
break; |
9308 |
|
case 1016: // --strings-lazy-pp |
9309 |
|
assignBool(options::stringLazyPreproc, option, true); |
9310 |
|
break; |
9311 |
21 |
case 1017:// --no-strings-lazy-pp |
9312 |
21 |
assignBool(options::stringLazyPreproc, option, false); |
9313 |
21 |
break; |
9314 |
|
case 1018: // --strings-len-norm |
9315 |
|
assignBool(options::stringLenNorm, option, true); |
9316 |
|
break; |
9317 |
|
case 1019:// --no-strings-len-norm |
9318 |
|
assignBool(options::stringLenNorm, option, false); |
9319 |
|
break; |
9320 |
|
case 1020: // --strings-lprop-csp |
9321 |
|
assignBool(options::stringLenPropCsp, option, true); |
9322 |
|
break; |
9323 |
|
case 1021:// --no-strings-lprop-csp |
9324 |
|
assignBool(options::stringLenPropCsp, option, false); |
9325 |
|
break; |
9326 |
|
case 1022: // --strings-min-prefix-explain |
9327 |
|
assignBool(options::stringMinPrefixExplain, option, true); |
9328 |
|
break; |
9329 |
|
case 1023:// --no-strings-min-prefix-explain |
9330 |
|
assignBool(options::stringMinPrefixExplain, option, false); |
9331 |
|
break; |
9332 |
|
case 1024: // --strings-process-loop-mode=MODE |
9333 |
|
assign(options::stringProcessLoopMode, option, optionarg); |
9334 |
|
break; |
9335 |
|
case 1025: // --strings-rexplain-lemmas |
9336 |
|
assignBool(options::stringRExplainLemmas, option, true); |
9337 |
|
break; |
9338 |
|
case 1026:// --no-strings-rexplain-lemmas |
9339 |
|
assignBool(options::stringRExplainLemmas, option, false); |
9340 |
|
break; |
9341 |
|
case 1027: // --strings-unified-vspt |
9342 |
|
assignBool(options::stringUnifiedVSpt, option, true); |
9343 |
|
break; |
9344 |
|
case 1028:// --no-strings-unified-vspt |
9345 |
|
assignBool(options::stringUnifiedVSpt, option, false); |
9346 |
|
break; |
9347 |
|
case 1029: // --assign-function-values |
9348 |
|
assignBool(options::assignFunctionValues, option, true); |
9349 |
|
break; |
9350 |
|
case 1030:// --no-assign-function-values |
9351 |
|
assignBool(options::assignFunctionValues, option, false); |
9352 |
|
break; |
9353 |
|
case 1031: // --condense-function-values |
9354 |
|
assignBool(options::condenseFunctionValues, option, true); |
9355 |
|
break; |
9356 |
|
case 1032:// --no-condense-function-values |
9357 |
|
assignBool(options::condenseFunctionValues, option, false); |
9358 |
|
break; |
9359 |
|
case 1033: // --ee-mode=MODE |
9360 |
|
assign(options::eeMode, option, optionarg); |
9361 |
|
break; |
9362 |
|
case 1034: // --relevance-filter |
9363 |
|
assignBool(options::relevanceFilter, option, true); |
9364 |
|
break; |
9365 |
|
case 1035:// --no-relevance-filter |
9366 |
|
assignBool(options::relevanceFilter, option, false); |
9367 |
|
break; |
9368 |
|
case 1036: // --tc-mode=MODE |
9369 |
|
assign(options::tcMode, option, optionarg); |
9370 |
|
break; |
9371 |
5 |
case 1037: // --theoryof-mode=MODE |
9372 |
5 |
assign(options::theoryOfMode, option, optionarg); |
9373 |
5 |
break; |
9374 |
|
case 1038: // --symmetry-breaker |
9375 |
|
case 1039: // --uf-symmetry-breaker |
9376 |
|
assignBool(options::ufSymmetryBreaker, option, true); |
9377 |
|
break; |
9378 |
|
case 1040:// --no-symmetry-breaker |
9379 |
|
case 1041:// --no-uf-symmetry-breaker |
9380 |
|
assignBool(options::ufSymmetryBreaker, option, false); |
9381 |
|
break; |
9382 |
134 |
case 1042: // --uf-ho |
9383 |
134 |
assignBool(options::ufHo, option, true); |
9384 |
134 |
break; |
9385 |
|
case 1043:// --no-uf-ho |
9386 |
|
assignBool(options::ufHo, option, false); |
9387 |
|
break; |
9388 |
|
case 1044: // --uf-ho-ext |
9389 |
|
assignBool(options::ufHoExt, option, true); |
9390 |
|
break; |
9391 |
|
case 1045:// --no-uf-ho-ext |
9392 |
|
assignBool(options::ufHoExt, option, false); |
9393 |
|
break; |
9394 |
|
case 1046: // --uf-ss-abort-card=N |
9395 |
|
assign(options::ufssAbortCardinality, option, optionarg); |
9396 |
|
break; |
9397 |
|
case 1047: // --uf-ss-fair |
9398 |
|
assignBool(options::ufssFairness, option, true); |
9399 |
|
break; |
9400 |
|
case 1048:// --no-uf-ss-fair |
9401 |
|
assignBool(options::ufssFairness, option, false); |
9402 |
|
break; |
9403 |
4 |
case 1049: // --uf-ss-fair-monotone |
9404 |
4 |
assignBool(options::ufssFairnessMonotone, option, true); |
9405 |
4 |
break; |
9406 |
|
case 1050:// --no-uf-ss-fair-monotone |
9407 |
|
assignBool(options::ufssFairnessMonotone, option, false); |
9408 |
|
break; |
9409 |
|
case 1051: // --uf-ss-totality-limited=N |
9410 |
|
assign(options::ufssTotalityLimited, option, optionarg); |
9411 |
|
break; |
9412 |
|
case 1052: // --uf-ss-totality-sym-break |
9413 |
|
assignBool(options::ufssTotalitySymBreak, option, true); |
9414 |
|
break; |
9415 |
|
case 1053:// --no-uf-ss-totality-sym-break |
9416 |
|
assignBool(options::ufssTotalitySymBreak, option, false); |
9417 |
|
break; |
9418 |
7 |
case 1054: // --uf-ss=MODE |
9419 |
7 |
assign(options::ufssMode, option, optionarg); |
9420 |
7 |
break; |
9421 |
|
|
9422 |
|
case ':' : |
9423 |
|
// This can be a long or short option, and the way to get at the |
9424 |
|
// name of it is different. |
9425 |
|
throw OptionException(std::string("option `") + option |
9426 |
|
+ "' missing its required argument"); |
9427 |
|
|
9428 |
|
case '?': |
9429 |
|
default: |
9430 |
|
throw OptionException(std::string("can't understand option `") + option |
9431 |
|
+ "'" + suggestCommandLineOptions(option)); |
9432 |
|
} |
9433 |
14356 |
} |
9434 |
|
// clang-format on |
9435 |
|
|
9436 |
17361 |
Debug("options") << "got " << nonoptions->size() |
9437 |
5787 |
<< " non-option arguments." << std::endl; |
9438 |
5787 |
} |
9439 |
|
|
9440 |
|
// clang-format off |
9441 |
|
std::vector<std::vector<std::string> > Options::getOptions() const |
9442 |
|
{ |
9443 |
|
std::vector< std::vector<std::string> > opts; |
9444 |
|
|
9445 |
|
opts.push_back({"approx-branch-depth=N", std::to_string(arith().maxApproxDepth)}); |
9446 |
|
opts.push_back({"arith-brab", arith().brabTest ? "true" : "false"}); |
9447 |
|
opts.push_back({"arith-no-partial-fun", arith().arithNoPartialFun ? "true" : "false"}); |
9448 |
|
opts.push_back({"arith-prop-clauses=N", std::to_string(arith().arithPropAsLemmaLength)}); |
9449 |
|
{ std::stringstream ss; ss << arith().arithPropagationMode; opts.push_back({"arith-prop=MODE", ss.str()}); } |
9450 |
|
opts.push_back({"arith-rewrite-equalities", arith().arithRewriteEq ? "true" : "false"}); |
9451 |
|
opts.push_back({"collect-pivot-stats", arith().collectPivots ? "true" : "false"}); |
9452 |
|
opts.push_back({"cut-all-bounded", arith().doCutAllBounded ? "true" : "false"}); |
9453 |
|
opts.push_back({"dio-decomps", arith().exportDioDecompositions ? "true" : "false"}); |
9454 |
|
opts.push_back({"dio-repeat", arith().dioRepeat ? "true" : "false"}); |
9455 |
|
opts.push_back({"dio-solver", arith().arithDioSolver ? "true" : "false"}); |
9456 |
|
opts.push_back({"dio-turns=N", std::to_string(arith().dioSolverTurns)}); |
9457 |
|
{ std::stringstream ss; ss << arith().arithErrorSelectionRule; opts.push_back({"error-selection-rule=RULE", ss.str()}); } |
9458 |
|
opts.push_back({"fc-penalties", arith().havePenalties ? "true" : "false"}); |
9459 |
|
opts.push_back({"heuristic-pivots=N", std::to_string(arith().arithHeuristicPivots)}); |
9460 |
|
opts.push_back({"lemmas-on-replay-failure", arith().replayFailureLemma ? "true" : "false"}); |
9461 |
|
opts.push_back({"maxCutsInContext=N", std::to_string(arith().maxCutsInContext)}); |
9462 |
|
opts.push_back({"miplib-trick", arith().arithMLTrick ? "true" : "false"}); |
9463 |
|
opts.push_back({"miplib-trick-subs=N", std::to_string(arith().arithMLTrickSubstitutions)}); |
9464 |
|
opts.push_back({"new-prop", arith().newProp ? "true" : "false"}); |
9465 |
|
opts.push_back({"nl-cad", arith().nlCad ? "true" : "false"}); |
9466 |
|
opts.push_back({"nl-cad-initial", arith().nlCadUseInitial ? "true" : "false"}); |
9467 |
|
opts.push_back({"nl-ext-ent-conf", arith().nlExtEntailConflicts ? "true" : "false"}); |
9468 |
|
opts.push_back({"nl-ext-factor", arith().nlExtFactor ? "true" : "false"}); |
9469 |
|
opts.push_back({"nl-ext-inc-prec", arith().nlExtIncPrecision ? "true" : "false"}); |
9470 |
|
opts.push_back({"nl-ext-purify", arith().nlExtPurify ? "true" : "false"}); |
9471 |
|
opts.push_back({"nl-ext-rbound", arith().nlExtResBound ? "true" : "false"}); |
9472 |
|
opts.push_back({"nl-ext-rewrite", arith().nlExtRewrites ? "true" : "false"}); |
9473 |
|
opts.push_back({"nl-ext-split-zero", arith().nlExtSplitZero ? "true" : "false"}); |
9474 |
|
opts.push_back({"nl-ext-tf-taylor-deg=N", std::to_string(arith().nlExtTfTaylorDegree)}); |
9475 |
|
opts.push_back({"nl-ext-tf-tplanes", arith().nlExtTfTangentPlanes ? "true" : "false"}); |
9476 |
|
opts.push_back({"nl-ext-tplanes", arith().nlExtTangentPlanes ? "true" : "false"}); |
9477 |
|
opts.push_back({"nl-ext-tplanes-interleave", arith().nlExtTangentPlanesInterleave ? "true" : "false"}); |
9478 |
|
{ std::stringstream ss; ss << arith().nlExt; opts.push_back({"nl-ext=MODE", ss.str()}); } |
9479 |
|
opts.push_back({"nl-icp", arith().nlICP ? "true" : "false"}); |
9480 |
|
{ std::stringstream ss; ss << arith().nlRlvMode; opts.push_back({"nl-rlv=MODE", ss.str()}); } |
9481 |
|
opts.push_back({"pb-rewrites", arith().pbRewrites ? "true" : "false"}); |
9482 |
|
opts.push_back({"pivot-threshold=N", std::to_string(arith().arithPivotThreshold)}); |
9483 |
|
opts.push_back({"pp-assert-max-sub-size=N", std::to_string(arith().ppAssertMaxSubSize)}); |
9484 |
|
opts.push_back({"prop-row-length=N", std::to_string(arith().arithPropagateMaxLength)}); |
9485 |
|
opts.push_back({"replay-early-close-depth=N", std::to_string(arith().replayEarlyCloseDepths)}); |
9486 |
|
opts.push_back({"replay-failure-penalty=N", std::to_string(arith().replayFailurePenalty)}); |
9487 |
|
opts.push_back({"replay-lemma-reject-cut=N", std::to_string(arith().lemmaRejectCutSize)}); |
9488 |
|
opts.push_back({"replay-num-err-penalty=N", std::to_string(arith().replayNumericFailurePenalty)}); |
9489 |
|
opts.push_back({"replay-reject-cut=N", std::to_string(arith().replayRejectCutSize)}); |
9490 |
|
opts.push_back({"replay-soi-major-threshold-pen=N", std::to_string(arith().soiApproxMajorFailurePen)}); |
9491 |
|
opts.push_back({"replay-soi-major-threshold=T", std::to_string(arith().soiApproxMajorFailure)}); |
9492 |
|
opts.push_back({"replay-soi-minor-threshold-pen=N", std::to_string(arith().soiApproxMinorFailurePen)}); |
9493 |
|
opts.push_back({"replay-soi-minor-threshold=T", std::to_string(arith().soiApproxMinorFailure)}); |
9494 |
|
opts.push_back({"restrict-pivots", arith().restrictedPivots ? "true" : "false"}); |
9495 |
|
opts.push_back({"revert-arith-models-on-unsat", arith().revertArithModels ? "true" : "false"}); |
9496 |
|
opts.push_back({"rr-turns=N", std::to_string(arith().rrTurns)}); |
9497 |
|
opts.push_back({"se-solve-int", arith().trySolveIntStandardEffort ? "true" : "false"}); |
9498 |
|
opts.push_back({"simplex-check-period=N", std::to_string(arith().arithSimplexCheckPeriod)}); |
9499 |
|
opts.push_back({"soi-qe", arith().soiQuickExplain ? "true" : "false"}); |
9500 |
|
opts.push_back({"standard-effort-variable-order-pivots=N", std::to_string(arith().arithStandardCheckVarOrderPivots)}); |
9501 |
|
{ std::stringstream ss; ss << arith().arithUnateLemmaMode; opts.push_back({"unate-lemmas=MODE", ss.str()}); } |
9502 |
|
opts.push_back({"use-approx", arith().useApprox ? "true" : "false"}); |
9503 |
|
opts.push_back({"use-fcsimplex", arith().useFC ? "true" : "false"}); |
9504 |
|
opts.push_back({"use-soi", arith().useSOI ? "true" : "false"}); |
9505 |
|
opts.push_back({"arrays-config=N", std::to_string(arrays().arraysConfig)}); |
9506 |
|
opts.push_back({"arrays-eager-index", arrays().arraysEagerIndexSplitting ? "true" : "false"}); |
9507 |
|
opts.push_back({"arrays-eager-lemmas", arrays().arraysEagerLemmas ? "true" : "false"}); |
9508 |
|
opts.push_back({"arrays-exp", arrays().arraysExp ? "true" : "false"}); |
9509 |
|
opts.push_back({"arrays-model-based", arrays().arraysModelBased ? "true" : "false"}); |
9510 |
|
opts.push_back({"arrays-optimize-linear", arrays().arraysOptimizeLinear ? "true" : "false"}); |
9511 |
|
opts.push_back({"arrays-prop=N", std::to_string(arrays().arraysPropagate)}); |
9512 |
|
opts.push_back({"arrays-reduce-sharing", arrays().arraysReduceSharing ? "true" : "false"}); |
9513 |
|
opts.push_back({"arrays-weak-equiv", arrays().arraysWeakEquivalence ? "true" : "false"}); |
9514 |
|
{ std::stringstream ss; ss << base().inputLanguage; opts.push_back({"lang=LANG", ss.str()}); } |
9515 |
|
{ std::stringstream ss; ss << base().outputLanguage; opts.push_back({"output-lang=LANG", ss.str()}); } |
9516 |
|
opts.push_back({"parse-only", base().parseOnly ? "true" : "false"}); |
9517 |
|
opts.push_back({"preprocess-only", base().preprocessOnly ? "true" : "false"}); |
9518 |
|
opts.push_back({"print-success", base().printSuccess ? "true" : "false"}); |
9519 |
|
opts.push_back({"stats", base().statistics ? "true" : "false"}); |
9520 |
|
opts.push_back({"stats-all", base().statisticsAll ? "true" : "false"}); |
9521 |
|
opts.push_back({"stats-every-query", base().statisticsEveryQuery ? "true" : "false"}); |
9522 |
|
opts.push_back({"stats-expert", base().statisticsExpert ? "true" : "false"}); |
9523 |
|
opts.push_back({"verbosity=N", std::to_string(base().verbosity)}); |
9524 |
|
opts.push_back({"bitblast-aig", bv().bitvectorAig ? "true" : "false"}); |
9525 |
|
{ std::stringstream ss; ss << bv().bitblastMode; opts.push_back({"bitblast=MODE", ss.str()}); } |
9526 |
|
opts.push_back({"bitwise-eq", bv().bitwiseEq ? "true" : "false"}); |
9527 |
|
{ std::stringstream ss; ss << bv().boolToBitvector; opts.push_back({"bool-to-bv=MODE", ss.str()}); } |
9528 |
|
opts.push_back({"bv-abstraction", bv().bvAbstraction ? "true" : "false"}); |
9529 |
|
{ std::stringstream ss; ss << bv().bitvectorAigSimplifications; opts.push_back({"bv-aig-simp=COMMAND", ss.str()}); } |
9530 |
|
opts.push_back({"bv-alg-extf", bv().bvAlgExtf ? "true" : "false"}); |
9531 |
|
opts.push_back({"bv-algebraic-budget=N", std::to_string(bv().bitvectorAlgebraicBudget)}); |
9532 |
|
opts.push_back({"bv-algebraic-solver", bv().bitvectorAlgebraicSolver ? "true" : "false"}); |
9533 |
|
opts.push_back({"bv-assert-input", bv().bvAssertInput ? "true" : "false"}); |
9534 |
|
opts.push_back({"bv-eager-explanations", bv().bvEagerExplanations ? "true" : "false"}); |
9535 |
|
opts.push_back({"bv-eq-solver", bv().bitvectorEqualitySolver ? "true" : "false"}); |
9536 |
|
opts.push_back({"bv-extract-arith", bv().bvExtractArithRewrite ? "true" : "false"}); |
9537 |
|
opts.push_back({"bv-gauss-elim", bv().bvGaussElim ? "true" : "false"}); |
9538 |
|
opts.push_back({"bv-inequality-solver", bv().bitvectorInequalitySolver ? "true" : "false"}); |
9539 |
|
opts.push_back({"bv-intro-pow2", bv().bvIntroducePow2 ? "true" : "false"}); |
9540 |
|
opts.push_back({"bv-lazy-reduce-extf", bv().bvLazyReduceExtf ? "true" : "false"}); |
9541 |
|
opts.push_back({"bv-lazy-rewrite-extf", bv().bvLazyRewriteExtf ? "true" : "false"}); |
9542 |
|
opts.push_back({"bv-num-func=N", std::to_string(bv().bvNumFunc)}); |
9543 |
|
opts.push_back({"bv-print-consts-as-indexed-symbols", bv().bvPrintConstsAsIndexedSymbols ? "true" : "false"}); |
9544 |
|
opts.push_back({"bv-propagate", bv().bitvectorPropagate ? "true" : "false"}); |
9545 |
|
opts.push_back({"bv-quick-xplain", bv().bitvectorQuickXplain ? "true" : "false"}); |
9546 |
|
{ std::stringstream ss; ss << bv().bvSatSolver; opts.push_back({"bv-sat-solver=MODE", ss.str()}); } |
9547 |
|
opts.push_back({"bv-skolemize", bv().skolemizeArguments ? "true" : "false"}); |
9548 |
|
{ std::stringstream ss; ss << bv().bvSolver; opts.push_back({"bv-solver=MODE", ss.str()}); } |
9549 |
|
opts.push_back({"bv-to-bool", bv().bitvectorToBool ? "true" : "false"}); |
9550 |
|
opts.push_back({"cdt-bisimilar", datatypes().cdtBisimilar ? "true" : "false"}); |
9551 |
|
opts.push_back({"dt-binary-split", datatypes().dtBinarySplit ? "true" : "false"}); |
9552 |
|
opts.push_back({"dt-blast-splits", datatypes().dtBlastSplits ? "true" : "false"}); |
9553 |
|
opts.push_back({"dt-cyclic", datatypes().dtCyclic ? "true" : "false"}); |
9554 |
|
opts.push_back({"dt-force-assignment", datatypes().dtForceAssignment ? "true" : "false"}); |
9555 |
|
opts.push_back({"dt-infer-as-lemmas", datatypes().dtInferAsLemmas ? "true" : "false"}); |
9556 |
|
opts.push_back({"dt-nested-rec", datatypes().dtNestedRec ? "true" : "false"}); |
9557 |
|
opts.push_back({"dt-polite-optimize", datatypes().dtPoliteOptimize ? "true" : "false"}); |
9558 |
|
opts.push_back({"dt-rewrite-error-sel", datatypes().dtRewriteErrorSel ? "true" : "false"}); |
9559 |
|
opts.push_back({"dt-share-sel", datatypes().dtSharedSelectors ? "true" : "false"}); |
9560 |
|
opts.push_back({"sygus-abort-size=N", std::to_string(datatypes().sygusAbortSize)}); |
9561 |
|
opts.push_back({"sygus-fair-max", datatypes().sygusFairMax ? "true" : "false"}); |
9562 |
|
{ std::stringstream ss; ss << datatypes().sygusFair; opts.push_back({"sygus-fair=MODE", ss.str()}); } |
9563 |
|
opts.push_back({"sygus-sym-break", datatypes().sygusSymBreak ? "true" : "false"}); |
9564 |
|
opts.push_back({"sygus-sym-break-agg", datatypes().sygusSymBreakAgg ? "true" : "false"}); |
9565 |
|
opts.push_back({"sygus-sym-break-dynamic", datatypes().sygusSymBreakDynamic ? "true" : "false"}); |
9566 |
|
opts.push_back({"sygus-sym-break-lazy", datatypes().sygusSymBreakLazy ? "true" : "false"}); |
9567 |
|
opts.push_back({"sygus-sym-break-pbe", datatypes().sygusSymBreakPbe ? "true" : "false"}); |
9568 |
|
opts.push_back({"sygus-sym-break-rlv", datatypes().sygusSymBreakRlv ? "true" : "false"}); |
9569 |
|
opts.push_back({"decision-random-weight=N", std::to_string(decision().decisionRandomWeight)}); |
9570 |
|
{ std::stringstream ss; ss << decision().decisionThreshold; opts.push_back({"decision-threshold=N", ss.str()}); } |
9571 |
|
opts.push_back({"decision-use-weight", decision().decisionUseWeight ? "true" : "false"}); |
9572 |
|
{ std::stringstream ss; ss << decision().decisionWeightInternal; opts.push_back({"decision-weight-internal=HOW", ss.str()}); } |
9573 |
|
{ std::stringstream ss; ss << decision().decisionMode; opts.push_back({"decision=MODE", ss.str()}); } |
9574 |
|
opts.push_back({"dag-thresh=N", std::to_string(expr().defaultDagThresh)}); |
9575 |
|
opts.push_back({"expr-depth=N", std::to_string(expr().defaultExprDepth)}); |
9576 |
|
opts.push_back({"type-checking", expr().typeChecking ? "true" : "false"}); |
9577 |
|
opts.push_back({"fp-exp", fp().fpExp ? "true" : "false"}); |
9578 |
|
opts.push_back({"early-exit", driver().earlyExit ? "true" : "false"}); |
9579 |
|
opts.push_back({"help", driver().help ? "true" : "false"}); |
9580 |
|
opts.push_back({"interactive", driver().interactive ? "true" : "false"}); |
9581 |
|
opts.push_back({"interactive-prompt", driver().interactivePrompt ? "true" : "false"}); |
9582 |
|
opts.push_back({"seed=N", std::to_string(driver().seed)}); |
9583 |
|
opts.push_back({"segv-spin", driver().segvSpin ? "true" : "false"}); |
9584 |
|
opts.push_back({"tear-down-incremental=N", std::to_string(driver().tearDownIncremental)}); |
9585 |
|
opts.push_back({"version", driver().version ? "true" : "false"}); |
9586 |
|
opts.push_back({"filesystem-access", parser().filesystemAccess ? "true" : "false"}); |
9587 |
|
{ std::stringstream ss; ss << parser().forceLogicString; opts.push_back({"force-logic=LOGIC", ss.str()}); } |
9588 |
|
opts.push_back({"global-declarations", parser().globalDeclarations ? "true" : "false"}); |
9589 |
|
opts.push_back({"mmap", parser().memoryMap ? "true" : "false"}); |
9590 |
|
opts.push_back({"semantic-checks", parser().semanticChecks ? "true" : "false"}); |
9591 |
|
opts.push_back({"strict-parsing", parser().strictParsing ? "true" : "false"}); |
9592 |
|
opts.push_back({"flatten-ho-chains", printer().flattenHOChains ? "true" : "false"}); |
9593 |
|
{ std::stringstream ss; ss << printer().instFormatMode; opts.push_back({"inst-format=MODE", ss.str()}); } |
9594 |
|
{ std::stringstream ss; ss << printer().modelFormatMode; opts.push_back({"model-format=MODE", ss.str()}); } |
9595 |
|
opts.push_back({"print-inst-full", printer().printInstFull ? "true" : "false"}); |
9596 |
|
{ std::stringstream ss; ss << printer().printInstMode; opts.push_back({"print-inst=MODE", ss.str()}); } |
9597 |
|
opts.push_back({"proof-eager-checking", proof().proofEagerChecking ? "true" : "false"}); |
9598 |
|
{ std::stringstream ss; ss << proof().proofFormatMode; opts.push_back({"proof-format-mode=MODE", ss.str()}); } |
9599 |
|
{ std::stringstream ss; ss << proof().proofGranularityMode; opts.push_back({"proof-granularity=MODE", ss.str()}); } |
9600 |
|
opts.push_back({"proof-pedantic=N", std::to_string(proof().proofPedantic)}); |
9601 |
|
opts.push_back({"proof-print-conclusion", proof().proofPrintConclusion ? "true" : "false"}); |
9602 |
|
opts.push_back({"minisat-dump-dimacs", prop().minisatDumpDimacs ? "true" : "false"}); |
9603 |
|
opts.push_back({"minisat-elimination", prop().minisatUseElim ? "true" : "false"}); |
9604 |
|
opts.push_back({"random-freq=P", std::to_string(prop().satRandomFreq)}); |
9605 |
|
opts.push_back({"random-seed=S", std::to_string(prop().satRandomSeed)}); |
9606 |
|
opts.push_back({"refine-conflicts", prop().sat_refine_conflicts ? "true" : "false"}); |
9607 |
|
opts.push_back({"restart-int-base=N", std::to_string(prop().satRestartFirst)}); |
9608 |
|
opts.push_back({"restart-int-inc=F", std::to_string(prop().satRestartInc)}); |
9609 |
|
opts.push_back({"ag-miniscope-quant", quantifiers().aggressiveMiniscopeQuant ? "true" : "false"}); |
9610 |
|
{ std::stringstream ss; ss << quantifiers().cegisSample; opts.push_back({"cegis-sample=MODE", ss.str()}); } |
9611 |
|
opts.push_back({"cegqi", quantifiers().cegqi ? "true" : "false"}); |
9612 |
|
opts.push_back({"cegqi-all", quantifiers().cegqiAll ? "true" : "false"}); |
9613 |
|
opts.push_back({"cegqi-bv", quantifiers().cegqiBv ? "true" : "false"}); |
9614 |
|
opts.push_back({"cegqi-bv-concat-inv", quantifiers().cegqiBvConcInv ? "true" : "false"}); |
9615 |
|
{ std::stringstream ss; ss << quantifiers().cegqiBvIneqMode; opts.push_back({"cegqi-bv-ineq=MODE", ss.str()}); } |
9616 |
|
opts.push_back({"cegqi-bv-interleave-value", quantifiers().cegqiBvInterleaveValue ? "true" : "false"}); |
9617 |
|
opts.push_back({"cegqi-bv-linear", quantifiers().cegqiBvLinearize ? "true" : "false"}); |
9618 |
|
opts.push_back({"cegqi-bv-rm-extract", quantifiers().cegqiBvRmExtract ? "true" : "false"}); |
9619 |
|
opts.push_back({"cegqi-bv-solve-nl", quantifiers().cegqiBvSolveNl ? "true" : "false"}); |
9620 |
|
opts.push_back({"cegqi-full", quantifiers().cegqiFullEffort ? "true" : "false"}); |
9621 |
|
opts.push_back({"cegqi-innermost", quantifiers().cegqiInnermost ? "true" : "false"}); |
9622 |
|
opts.push_back({"cegqi-midpoint", quantifiers().cegqiMidpoint ? "true" : "false"}); |
9623 |
|
opts.push_back({"cegqi-min-bounds", quantifiers().cegqiMinBounds ? "true" : "false"}); |
9624 |
|
opts.push_back({"cegqi-model", quantifiers().cegqiModel ? "true" : "false"}); |
9625 |
|
opts.push_back({"cegqi-multi-inst", quantifiers().cegqiMultiInst ? "true" : "false"}); |
9626 |
|
opts.push_back({"cegqi-nested-qe", quantifiers().cegqiNestedQE ? "true" : "false"}); |
9627 |
|
opts.push_back({"cegqi-nopt", quantifiers().cegqiNopt ? "true" : "false"}); |
9628 |
|
opts.push_back({"cegqi-repeat-lit", quantifiers().cegqiRepeatLit ? "true" : "false"}); |
9629 |
|
opts.push_back({"cegqi-round-up-lia", quantifiers().cegqiRoundUpLowerLia ? "true" : "false"}); |
9630 |
|
opts.push_back({"cegqi-sat", quantifiers().cegqiSat ? "true" : "false"}); |
9631 |
|
opts.push_back({"cegqi-use-inf-int", quantifiers().cegqiUseInfInt ? "true" : "false"}); |
9632 |
|
opts.push_back({"cegqi-use-inf-real", quantifiers().cegqiUseInfReal ? "true" : "false"}); |
9633 |
|
opts.push_back({"cond-var-split-agg-quant", quantifiers().condVarSplitQuantAgg ? "true" : "false"}); |
9634 |
|
opts.push_back({"cond-var-split-quant", quantifiers().condVarSplitQuant ? "true" : "false"}); |
9635 |
|
opts.push_back({"conjecture-filter-active-terms", quantifiers().conjectureFilterActiveTerms ? "true" : "false"}); |
9636 |
|
opts.push_back({"conjecture-filter-canonical", quantifiers().conjectureFilterCanonical ? "true" : "false"}); |
9637 |
|
opts.push_back({"conjecture-filter-model", quantifiers().conjectureFilterModel ? "true" : "false"}); |
9638 |
|
opts.push_back({"conjecture-gen", quantifiers().conjectureGen ? "true" : "false"}); |
9639 |
|
opts.push_back({"conjecture-gen-gt-enum=N", std::to_string(quantifiers().conjectureGenGtEnum)}); |
9640 |
|
opts.push_back({"conjecture-gen-max-depth=N", std::to_string(quantifiers().conjectureGenMaxDepth)}); |
9641 |
|
opts.push_back({"conjecture-gen-per-round=N", std::to_string(quantifiers().conjectureGenPerRound)}); |
9642 |
|
opts.push_back({"conjecture-gen-uee-intro", quantifiers().conjectureUeeIntro ? "true" : "false"}); |
9643 |
|
opts.push_back({"conjecture-no-filter", quantifiers().conjectureNoFilter ? "true" : "false"}); |
9644 |
|
opts.push_back({"debug-inst", quantifiers().debugInst ? "true" : "false"}); |
9645 |
|
opts.push_back({"debug-sygus", quantifiers().debugSygus ? "true" : "false"}); |
9646 |
|
opts.push_back({"dt-stc-ind", quantifiers().dtStcInduction ? "true" : "false"}); |
9647 |
|
opts.push_back({"dt-var-exp-quant", quantifiers().dtVarExpandQuant ? "true" : "false"}); |
9648 |
|
opts.push_back({"e-matching", quantifiers().eMatching ? "true" : "false"}); |
9649 |
|
opts.push_back({"elim-taut-quant", quantifiers().elimTautQuant ? "true" : "false"}); |
9650 |
|
opts.push_back({"ext-rewrite-quant", quantifiers().extRewriteQuant ? "true" : "false"}); |
9651 |
|
opts.push_back({"finite-model-find", quantifiers().finiteModelFind ? "true" : "false"}); |
9652 |
|
opts.push_back({"fmf-bound", quantifiers().fmfBound ? "true" : "false"}); |
9653 |
|
opts.push_back({"fmf-bound-int", quantifiers().fmfBoundInt ? "true" : "false"}); |
9654 |
|
opts.push_back({"fmf-bound-lazy", quantifiers().fmfBoundLazy ? "true" : "false"}); |
9655 |
|
opts.push_back({"fmf-fmc-simple", quantifiers().fmfFmcSimple ? "true" : "false"}); |
9656 |
|
opts.push_back({"fmf-fresh-dc", quantifiers().fmfFreshDistConst ? "true" : "false"}); |
9657 |
|
opts.push_back({"fmf-fun", quantifiers().fmfFunWellDefined ? "true" : "false"}); |
9658 |
|
opts.push_back({"fmf-fun-rlv", quantifiers().fmfFunWellDefinedRelevant ? "true" : "false"}); |
9659 |
|
opts.push_back({"fmf-inst-engine", quantifiers().fmfInstEngine ? "true" : "false"}); |
9660 |
|
opts.push_back({"fmf-type-completion-thresh=N", std::to_string(quantifiers().fmfTypeCompletionThresh)}); |
9661 |
|
opts.push_back({"fs-interleave", quantifiers().fullSaturateInterleave ? "true" : "false"}); |
9662 |
|
opts.push_back({"fs-stratify", quantifiers().fullSaturateStratify ? "true" : "false"}); |
9663 |
|
opts.push_back({"fs-sum", quantifiers().fullSaturateSum ? "true" : "false"}); |
9664 |
|
opts.push_back({"full-saturate-quant", quantifiers().fullSaturateQuant ? "true" : "false"}); |
9665 |
|
opts.push_back({"full-saturate-quant-limit=N", std::to_string(quantifiers().fullSaturateLimit)}); |
9666 |
|
opts.push_back({"full-saturate-quant-rd", quantifiers().fullSaturateQuantRd ? "true" : "false"}); |
9667 |
|
opts.push_back({"global-negate", quantifiers().globalNegate ? "true" : "false"}); |
9668 |
|
opts.push_back({"ho-elim", quantifiers().hoElim ? "true" : "false"}); |
9669 |
|
opts.push_back({"ho-elim-store-ax", quantifiers().hoElimStoreAx ? "true" : "false"}); |
9670 |
|
opts.push_back({"ho-matching", quantifiers().hoMatching ? "true" : "false"}); |
9671 |
|
opts.push_back({"ho-matching-var-priority", quantifiers().hoMatchingVarArgPriority ? "true" : "false"}); |
9672 |
|
opts.push_back({"ho-merge-term-db", quantifiers().hoMergeTermDb ? "true" : "false"}); |
9673 |
|
opts.push_back({"increment-triggers", quantifiers().incrementTriggers ? "true" : "false"}); |
9674 |
|
opts.push_back({"inst-level-input-only", quantifiers().instLevelInputOnly ? "true" : "false"}); |
9675 |
|
opts.push_back({"inst-max-level=N", std::to_string(quantifiers().instMaxLevel)}); |
9676 |
|
opts.push_back({"inst-no-entail", quantifiers().instNoEntail ? "true" : "false"}); |
9677 |
|
opts.push_back({"inst-when-phase=N", std::to_string(quantifiers().instWhenPhase)}); |
9678 |
|
opts.push_back({"inst-when-strict-interleave", quantifiers().instWhenStrictInterleave ? "true" : "false"}); |
9679 |
|
opts.push_back({"inst-when-tc-first", quantifiers().instWhenTcFirst ? "true" : "false"}); |
9680 |
|
{ std::stringstream ss; ss << quantifiers().instWhenMode; opts.push_back({"inst-when=MODE", ss.str()}); } |
9681 |
|
opts.push_back({"int-wf-ind", quantifiers().intWfInduction ? "true" : "false"}); |
9682 |
|
opts.push_back({"ite-dtt-split-quant", quantifiers().iteDtTesterSplitQuant ? "true" : "false"}); |
9683 |
|
{ std::stringstream ss; ss << quantifiers().iteLiftQuant; opts.push_back({"ite-lift-quant=MODE", ss.str()}); } |
9684 |
|
{ std::stringstream ss; ss << quantifiers().literalMatchMode; opts.push_back({"literal-matching=MODE", ss.str()}); } |
9685 |
|
opts.push_back({"macros-quant", quantifiers().macrosQuant ? "true" : "false"}); |
9686 |
|
{ std::stringstream ss; ss << quantifiers().macrosQuantMode; opts.push_back({"macros-quant-mode=MODE", ss.str()}); } |
9687 |
|
opts.push_back({"mbqi-interleave", quantifiers().mbqiInterleave ? "true" : "false"}); |
9688 |
|
opts.push_back({"mbqi-one-inst-per-round", quantifiers().fmfOneInstPerRound ? "true" : "false"}); |
9689 |
|
{ std::stringstream ss; ss << quantifiers().mbqiMode; opts.push_back({"mbqi=MODE", ss.str()}); } |
9690 |
|
opts.push_back({"miniscope-quant", quantifiers().miniscopeQuant ? "true" : "false"}); |
9691 |
|
opts.push_back({"miniscope-quant-fv", quantifiers().miniscopeQuantFreeVar ? "true" : "false"}); |
9692 |
|
opts.push_back({"multi-trigger-cache", quantifiers().multiTriggerCache ? "true" : "false"}); |
9693 |
|
opts.push_back({"multi-trigger-linear", quantifiers().multiTriggerLinear ? "true" : "false"}); |
9694 |
|
opts.push_back({"multi-trigger-priority", quantifiers().multiTriggerPriority ? "true" : "false"}); |
9695 |
|
opts.push_back({"multi-trigger-when-single", quantifiers().multiTriggerWhenSingle ? "true" : "false"}); |
9696 |
|
opts.push_back({"partial-triggers", quantifiers().partialTriggers ? "true" : "false"}); |
9697 |
|
opts.push_back({"pool-inst", quantifiers().poolInst ? "true" : "false"}); |
9698 |
|
opts.push_back({"pre-skolem-quant", quantifiers().preSkolemQuant ? "true" : "false"}); |
9699 |
|
opts.push_back({"pre-skolem-quant-agg", quantifiers().preSkolemQuantAgg ? "true" : "false"}); |
9700 |
|
opts.push_back({"pre-skolem-quant-nested", quantifiers().preSkolemQuantNested ? "true" : "false"}); |
9701 |
|
opts.push_back({"prenex-quant-user", quantifiers().prenexQuantUser ? "true" : "false"}); |
9702 |
|
{ std::stringstream ss; ss << quantifiers().prenexQuant; opts.push_back({"prenex-quant=MODE", ss.str()}); } |
9703 |
|
opts.push_back({"purify-triggers", quantifiers().purifyTriggers ? "true" : "false"}); |
9704 |
|
opts.push_back({"qcf-all-conflict", quantifiers().qcfAllConflict ? "true" : "false"}); |
9705 |
|
opts.push_back({"qcf-eager-check-rd", quantifiers().qcfEagerCheckRd ? "true" : "false"}); |
9706 |
|
opts.push_back({"qcf-eager-test", quantifiers().qcfEagerTest ? "true" : "false"}); |
9707 |
|
opts.push_back({"qcf-nested-conflict", quantifiers().qcfNestedConflict ? "true" : "false"}); |
9708 |
|
opts.push_back({"qcf-skip-rd", quantifiers().qcfSkipRd ? "true" : "false"}); |
9709 |
|
opts.push_back({"qcf-tconstraint", quantifiers().qcfTConstraint ? "true" : "false"}); |
9710 |
|
opts.push_back({"qcf-vo-exp", quantifiers().qcfVoExp ? "true" : "false"}); |
9711 |
|
opts.push_back({"quant-alpha-equiv", quantifiers().quantAlphaEquiv ? "true" : "false"}); |
9712 |
|
opts.push_back({"quant-cf", quantifiers().quantConflictFind ? "true" : "false"}); |
9713 |
|
{ std::stringstream ss; ss << quantifiers().qcfMode; opts.push_back({"quant-cf-mode=MODE", ss.str()}); } |
9714 |
|
{ std::stringstream ss; ss << quantifiers().qcfWhenMode; opts.push_back({"quant-cf-when=MODE", ss.str()}); } |
9715 |
|
{ std::stringstream ss; ss << quantifiers().quantDynamicSplit; opts.push_back({"quant-dsplit-mode=MODE", ss.str()}); } |
9716 |
|
opts.push_back({"quant-fun-wd", quantifiers().quantFunWellDefined ? "true" : "false"}); |
9717 |
|
opts.push_back({"quant-ind", quantifiers().quantInduction ? "true" : "false"}); |
9718 |
|
{ std::stringstream ss; ss << quantifiers().quantRepMode; opts.push_back({"quant-rep-mode=MODE", ss.str()}); } |
9719 |
|
opts.push_back({"quant-split", quantifiers().quantSplit ? "true" : "false"}); |
9720 |
|
opts.push_back({"register-quant-body-terms", quantifiers().registerQuantBodyTerms ? "true" : "false"}); |
9721 |
|
opts.push_back({"relational-triggers", quantifiers().relationalTriggers ? "true" : "false"}); |
9722 |
|
opts.push_back({"relevant-triggers", quantifiers().relevantTriggers ? "true" : "false"}); |
9723 |
|
opts.push_back({"strict-triggers", quantifiers().strictTriggers ? "true" : "false"}); |
9724 |
|
opts.push_back({"sygus", quantifiers().sygus ? "true" : "false"}); |
9725 |
|
opts.push_back({"sygus-active-gen-cfactor=N", std::to_string(quantifiers().sygusActiveGenEnumConsts)}); |
9726 |
|
{ std::stringstream ss; ss << quantifiers().sygusActiveGenMode; opts.push_back({"sygus-active-gen=MODE", ss.str()}); } |
9727 |
|
opts.push_back({"sygus-add-const-grammar", quantifiers().sygusAddConstGrammar ? "true" : "false"}); |
9728 |
|
opts.push_back({"sygus-arg-relevant", quantifiers().sygusArgRelevant ? "true" : "false"}); |
9729 |
|
opts.push_back({"sygus-auto-unfold", quantifiers().sygusInvAutoUnfold ? "true" : "false"}); |
9730 |
|
opts.push_back({"sygus-bool-ite-return-const", quantifiers().sygusBoolIteReturnConst ? "true" : "false"}); |
9731 |
|
opts.push_back({"sygus-core-connective", quantifiers().sygusCoreConnective ? "true" : "false"}); |
9732 |
|
opts.push_back({"sygus-crepair-abort", quantifiers().sygusConstRepairAbort ? "true" : "false"}); |
9733 |
|
opts.push_back({"sygus-eval-opt", quantifiers().sygusEvalOpt ? "true" : "false"}); |
9734 |
|
opts.push_back({"sygus-eval-unfold", quantifiers().sygusEvalUnfold ? "true" : "false"}); |
9735 |
|
opts.push_back({"sygus-eval-unfold-bool", quantifiers().sygusEvalUnfoldBool ? "true" : "false"}); |
9736 |
|
opts.push_back({"sygus-expr-miner-check-timeout=N", std::to_string(quantifiers().sygusExprMinerCheckTimeout)}); |
9737 |
|
opts.push_back({"sygus-ext-rew", quantifiers().sygusExtRew ? "true" : "false"}); |
9738 |
|
opts.push_back({"sygus-filter-sol-rev", quantifiers().sygusFilterSolRevSubsume ? "true" : "false"}); |
9739 |
|
{ std::stringstream ss; ss << quantifiers().sygusFilterSolMode; opts.push_back({"sygus-filter-sol=MODE", ss.str()}); } |
9740 |
|
{ std::stringstream ss; ss << quantifiers().sygusGrammarConsMode; opts.push_back({"sygus-grammar-cons=MODE", ss.str()}); } |
9741 |
|
opts.push_back({"sygus-grammar-norm", quantifiers().sygusGrammarNorm ? "true" : "false"}); |
9742 |
|
opts.push_back({"sygus-inference", quantifiers().sygusInference ? "true" : "false"}); |
9743 |
|
opts.push_back({"sygus-inst", quantifiers().sygusInst ? "true" : "false"}); |
9744 |
|
{ std::stringstream ss; ss << quantifiers().sygusInstMode; opts.push_back({"sygus-inst-mode=MODE", ss.str()}); } |
9745 |
|
{ std::stringstream ss; ss << quantifiers().sygusInstScope; opts.push_back({"sygus-inst-scope=MODE", ss.str()}); } |
9746 |
|
{ std::stringstream ss; ss << quantifiers().sygusInstTermSel; opts.push_back({"sygus-inst-term-sel=MODE", ss.str()}); } |
9747 |
|
opts.push_back({"sygus-inv-templ-when-sg", quantifiers().sygusInvTemplWhenSyntax ? "true" : "false"}); |
9748 |
|
{ std::stringstream ss; ss << quantifiers().sygusInvTemplMode; opts.push_back({"sygus-inv-templ=MODE", ss.str()}); } |
9749 |
|
opts.push_back({"sygus-min-grammar", quantifiers().sygusMinGrammar ? "true" : "false"}); |
9750 |
|
opts.push_back({"sygus-pbe", quantifiers().sygusUnifPbe ? "true" : "false"}); |
9751 |
|
opts.push_back({"sygus-pbe-multi-fair", quantifiers().sygusPbeMultiFair ? "true" : "false"}); |
9752 |
|
opts.push_back({"sygus-pbe-multi-fair-diff=N", std::to_string(quantifiers().sygusPbeMultiFairDiff)}); |
9753 |
|
opts.push_back({"sygus-qe-preproc", quantifiers().sygusQePreproc ? "true" : "false"}); |
9754 |
|
opts.push_back({"sygus-query-gen", quantifiers().sygusQueryGen ? "true" : "false"}); |
9755 |
|
opts.push_back({"sygus-query-gen-check", quantifiers().sygusQueryGenCheck ? "true" : "false"}); |
9756 |
|
{ std::stringstream ss; ss << quantifiers().sygusQueryGenDumpFiles; opts.push_back({"sygus-query-gen-dump-files=MODE", ss.str()}); } |
9757 |
|
opts.push_back({"sygus-query-gen-thresh=N", std::to_string(quantifiers().sygusQueryGenThresh)}); |
9758 |
|
opts.push_back({"sygus-rec-fun", quantifiers().sygusRecFun ? "true" : "false"}); |
9759 |
|
opts.push_back({"sygus-rec-fun-eval-limit=N", std::to_string(quantifiers().sygusRecFunEvalLimit)}); |
9760 |
|
opts.push_back({"sygus-repair-const", quantifiers().sygusRepairConst ? "true" : "false"}); |
9761 |
|
opts.push_back({"sygus-repair-const-timeout=N", std::to_string(quantifiers().sygusRepairConstTimeout)}); |
9762 |
|
opts.push_back({"sygus-rr", quantifiers().sygusRew ? "true" : "false"}); |
9763 |
|
opts.push_back({"sygus-rr-synth", quantifiers().sygusRewSynth ? "true" : "false"}); |
9764 |
|
opts.push_back({"sygus-rr-synth-accel", quantifiers().sygusRewSynthAccel ? "true" : "false"}); |
9765 |
|
opts.push_back({"sygus-rr-synth-check", quantifiers().sygusRewSynthCheck ? "true" : "false"}); |
9766 |
|
opts.push_back({"sygus-rr-synth-filter-cong", quantifiers().sygusRewSynthFilterCong ? "true" : "false"}); |
9767 |
|
opts.push_back({"sygus-rr-synth-filter-match", quantifiers().sygusRewSynthFilterMatch ? "true" : "false"}); |
9768 |
|
opts.push_back({"sygus-rr-synth-filter-nl", quantifiers().sygusRewSynthFilterNonLinear ? "true" : "false"}); |
9769 |
|
opts.push_back({"sygus-rr-synth-filter-order", quantifiers().sygusRewSynthFilterOrder ? "true" : "false"}); |
9770 |
|
opts.push_back({"sygus-rr-synth-input", quantifiers().sygusRewSynthInput ? "true" : "false"}); |
9771 |
|
opts.push_back({"sygus-rr-synth-input-nvars=N", std::to_string(quantifiers().sygusRewSynthInputNVars)}); |
9772 |
|
opts.push_back({"sygus-rr-synth-input-use-bool", quantifiers().sygusRewSynthInputUseBool ? "true" : "false"}); |
9773 |
|
opts.push_back({"sygus-rr-synth-rec", quantifiers().sygusRewSynthRec ? "true" : "false"}); |
9774 |
|
opts.push_back({"sygus-rr-verify", quantifiers().sygusRewVerify ? "true" : "false"}); |
9775 |
|
opts.push_back({"sygus-rr-verify-abort", quantifiers().sygusRewVerifyAbort ? "true" : "false"}); |
9776 |
|
opts.push_back({"sygus-sample-fp-uniform", quantifiers().sygusSampleFpUniform ? "true" : "false"}); |
9777 |
|
opts.push_back({"sygus-sample-grammar", quantifiers().sygusSampleGrammar ? "true" : "false"}); |
9778 |
|
opts.push_back({"sygus-samples=N", std::to_string(quantifiers().sygusSamples)}); |
9779 |
|
opts.push_back({"sygus-si-abort", quantifiers().cegqiSingleInvAbort ? "true" : "false"}); |
9780 |
|
opts.push_back({"sygus-si-partial", quantifiers().cegqiSingleInvPartial ? "true" : "false"}); |
9781 |
|
opts.push_back({"sygus-si-rcons-limit=N", std::to_string(quantifiers().cegqiSingleInvReconstructLimit)}); |
9782 |
|
{ std::stringstream ss; ss << quantifiers().cegqiSingleInvReconstruct; opts.push_back({"sygus-si-rcons=MODE", ss.str()}); } |
9783 |
|
opts.push_back({"sygus-si-reconstruct-const", quantifiers().cegqiSingleInvReconstructConst ? "true" : "false"}); |
9784 |
|
{ std::stringstream ss; ss << quantifiers().cegqiSingleInvMode; opts.push_back({"sygus-si=MODE", ss.str()}); } |
9785 |
|
opts.push_back({"sygus-stream", quantifiers().sygusStream ? "true" : "false"}); |
9786 |
|
opts.push_back({"sygus-templ-embed-grammar", quantifiers().sygusTemplEmbedGrammar ? "true" : "false"}); |
9787 |
|
opts.push_back({"sygus-unif-cond-independent-no-repeat-sol", quantifiers().sygusUnifCondIndNoRepeatSol ? "true" : "false"}); |
9788 |
|
{ std::stringstream ss; ss << quantifiers().sygusUnifPi; opts.push_back({"sygus-unif-pi=MODE", ss.str()}); } |
9789 |
|
opts.push_back({"sygus-unif-shuffle-cond", quantifiers().sygusUnifShuffleCond ? "true" : "false"}); |
9790 |
|
opts.push_back({"term-db-cd", quantifiers().termDbCd ? "true" : "false"}); |
9791 |
|
{ std::stringstream ss; ss << quantifiers().termDbMode; opts.push_back({"term-db-mode=MODE", ss.str()}); } |
9792 |
|
{ std::stringstream ss; ss << quantifiers().triggerActiveSelMode; opts.push_back({"trigger-active-sel=MODE", ss.str()}); } |
9793 |
|
{ std::stringstream ss; ss << quantifiers().triggerSelMode; opts.push_back({"trigger-sel=MODE", ss.str()}); } |
9794 |
|
{ std::stringstream ss; ss << quantifiers().userPatternsQuant; opts.push_back({"user-pat=MODE", ss.str()}); } |
9795 |
|
opts.push_back({"var-elim-quant", quantifiers().varElimQuant ? "true" : "false"}); |
9796 |
|
opts.push_back({"var-ineq-elim-quant", quantifiers().varIneqElimQuant ? "true" : "false"}); |
9797 |
|
opts.push_back({"rlimit-per=N", std::to_string(resman().perCallResourceLimit)}); |
9798 |
|
opts.push_back({"rlimit=N", std::to_string(resman().cumulativeResourceLimit)}); |
9799 |
|
opts.push_back({"tlimit-per=MS", std::to_string(resman().perCallMillisecondLimit)}); |
9800 |
|
opts.push_back({"tlimit=MS", std::to_string(resman().cumulativeMillisecondLimit)}); |
9801 |
|
opts.push_back({"sep-check-neg", sep().sepCheckNeg ? "true" : "false"}); |
9802 |
|
opts.push_back({"sep-child-refine", sep().sepChildRefine ? "true" : "false"}); |
9803 |
|
opts.push_back({"sep-deq-c", sep().sepDisequalC ? "true" : "false"}); |
9804 |
|
opts.push_back({"sep-exp", sep().sepExp ? "true" : "false"}); |
9805 |
|
opts.push_back({"sep-min-refine", sep().sepMinimalRefine ? "true" : "false"}); |
9806 |
|
opts.push_back({"sep-pre-skolem-emp", sep().sepPreSkolemEmp ? "true" : "false"}); |
9807 |
|
opts.push_back({"sets-ext", sets().setsExt ? "true" : "false"}); |
9808 |
|
opts.push_back({"sets-infer-as-lemmas", sets().setsInferAsLemmas ? "true" : "false"}); |
9809 |
|
opts.push_back({"sets-proxy-lemmas", sets().setsProxyLemmas ? "true" : "false"}); |
9810 |
|
opts.push_back({"abstract-values", smt().abstractValues ? "true" : "false"}); |
9811 |
|
opts.push_back({"ackermann", smt().ackermann ? "true" : "false"}); |
9812 |
|
{ std::stringstream ss; ss << smt().blockModelsMode; opts.push_back({"block-models=MODE", ss.str()}); } |
9813 |
|
opts.push_back({"bvand-integer-granularity=N", std::to_string(smt().BVAndIntegerGranularity)}); |
9814 |
|
opts.push_back({"check-abducts", smt().checkAbducts ? "true" : "false"}); |
9815 |
|
opts.push_back({"check-interpols", smt().checkInterpols ? "true" : "false"}); |
9816 |
|
opts.push_back({"check-models", smt().checkModels ? "true" : "false"}); |
9817 |
|
opts.push_back({"check-proofs", smt().checkProofs ? "true" : "false"}); |
9818 |
|
opts.push_back({"check-synth-sol", smt().checkSynthSol ? "true" : "false"}); |
9819 |
|
opts.push_back({"check-unsat-cores", smt().checkUnsatCores ? "true" : "false"}); |
9820 |
|
opts.push_back({"debug-check-models", smt().debugCheckModels ? "true" : "false"}); |
9821 |
|
{ std::stringstream ss; ss << smt().diagnosticChannelName; opts.push_back({"diagnostic-output-channel=CHANNEL", ss.str()}); } |
9822 |
|
opts.push_back({"dump-instantiations", smt().dumpInstantiations ? "true" : "false"}); |
9823 |
|
opts.push_back({"dump-models", smt().dumpModels ? "true" : "false"}); |
9824 |
|
opts.push_back({"dump-proofs", smt().dumpProofs ? "true" : "false"}); |
9825 |
|
{ std::stringstream ss; ss << smt().dumpToFileName; opts.push_back({"dump-to=FILE", ss.str()}); } |
9826 |
|
opts.push_back({"dump-unsat-cores", smt().dumpUnsatCores ? "true" : "false"}); |
9827 |
|
opts.push_back({"dump-unsat-cores-full", smt().dumpUnsatCoresFull ? "true" : "false"}); |
9828 |
|
{ std::stringstream ss; ss << smt().dumpModeString; opts.push_back({"dump=MODE", ss.str()}); } |
9829 |
|
opts.push_back({"early-ite-removal", smt().earlyIteRemoval ? "true" : "false"}); |
9830 |
|
opts.push_back({"expand-definitions", smt().expandDefinitions ? "true" : "false"}); |
9831 |
|
opts.push_back({"ext-rew-prep", smt().extRewPrep ? "true" : "false"}); |
9832 |
|
opts.push_back({"ext-rew-prep-agg", smt().extRewPrepAgg ? "true" : "false"}); |
9833 |
|
opts.push_back({"force-no-limit-cpu-while-dump", smt().forceNoLimitCpuWhileDump ? "true" : "false"}); |
9834 |
|
opts.push_back({"foreign-theory-rewrite", smt().foreignTheoryRewrite ? "true" : "false"}); |
9835 |
|
{ std::stringstream ss; ss << smt().iandMode; opts.push_back({"iand-mode=mode", ss.str()}); } |
9836 |
|
opts.push_back({"incremental", smt().incrementalSolving ? "true" : "false"}); |
9837 |
|
opts.push_back({"interactive-mode", smt().interactiveMode ? "true" : "false"}); |
9838 |
|
opts.push_back({"ite-simp", smt().doITESimp ? "true" : "false"}); |
9839 |
|
{ std::stringstream ss; ss << smt().modelCoresMode; opts.push_back({"model-cores=MODE", ss.str()}); } |
9840 |
|
{ std::stringstream ss; ss << smt().modelUninterpPrint; opts.push_back({"model-u-print=MODE", ss.str()}); } |
9841 |
|
opts.push_back({"model-witness-value", smt().modelWitnessValue ? "true" : "false"}); |
9842 |
|
opts.push_back({"on-repeat-ite-simp", smt().doITESimpOnRepeat ? "true" : "false"}); |
9843 |
|
opts.push_back({"produce-abducts", smt().produceAbducts ? "true" : "false"}); |
9844 |
|
opts.push_back({"produce-assertions", smt().produceAssertions ? "true" : "false"}); |
9845 |
|
opts.push_back({"produce-assignments", smt().produceAssignments ? "true" : "false"}); |
9846 |
|
{ std::stringstream ss; ss << smt().produceInterpols; opts.push_back({"produce-interpols=MODE", ss.str()}); } |
9847 |
|
opts.push_back({"produce-models", smt().produceModels ? "true" : "false"}); |
9848 |
|
opts.push_back({"produce-proofs", smt().produceProofs ? "true" : "false"}); |
9849 |
|
opts.push_back({"produce-unsat-assumptions", smt().unsatAssumptions ? "true" : "false"}); |
9850 |
|
opts.push_back({"produce-unsat-cores", smt().unsatCores ? "true" : "false"}); |
9851 |
|
{ std::stringstream ss; ss << smt().regularChannelName; opts.push_back({"regular-output-channel=CHANNEL", ss.str()}); } |
9852 |
|
opts.push_back({"repeat-simp", smt().repeatSimp ? "true" : "false"}); |
9853 |
|
opts.push_back({"simp-ite-compress", smt().compressItes ? "true" : "false"}); |
9854 |
|
opts.push_back({"simp-ite-hunt-zombies=N", std::to_string(smt().zombieHuntThreshold)}); |
9855 |
|
opts.push_back({"simp-with-care", smt().simplifyWithCareEnabled ? "true" : "false"}); |
9856 |
|
{ std::stringstream ss; ss << smt().simplificationMode; opts.push_back({"simplification=MODE", ss.str()}); } |
9857 |
|
{ std::stringstream ss; ss << smt().solveBVAsInt; opts.push_back({"solve-bv-as-int=MODE", ss.str()}); } |
9858 |
|
opts.push_back({"solve-int-as-bv=N", std::to_string(smt().solveIntAsBV)}); |
9859 |
|
opts.push_back({"solve-real-as-int", smt().solveRealAsInt ? "true" : "false"}); |
9860 |
|
opts.push_back({"sort-inference", smt().sortInference ? "true" : "false"}); |
9861 |
|
opts.push_back({"static-learning", smt().doStaticLearning ? "true" : "false"}); |
9862 |
|
{ std::stringstream ss; ss << smt().sygusOut; opts.push_back({"sygus-out=MODE", ss.str()}); } |
9863 |
|
opts.push_back({"sygus-print-callbacks", smt().sygusPrintCallbacks ? "true" : "false"}); |
9864 |
|
opts.push_back({"unconstrained-simp", smt().unconstrainedSimp ? "true" : "false"}); |
9865 |
|
{ std::stringstream ss; ss << smt().unsatCoresMode; opts.push_back({"unsat-cores-mode=MODE", ss.str()}); } |
9866 |
|
opts.push_back({"re-elim", strings().regExpElim ? "true" : "false"}); |
9867 |
|
opts.push_back({"re-elim-agg", strings().regExpElimAgg ? "true" : "false"}); |
9868 |
|
{ std::stringstream ss; ss << strings().stringRegExpInterMode; opts.push_back({"re-inter-mode=MODE", ss.str()}); } |
9869 |
|
opts.push_back({"strings-check-entail-len", strings().stringCheckEntailLen ? "true" : "false"}); |
9870 |
|
opts.push_back({"strings-eager", strings().stringEager ? "true" : "false"}); |
9871 |
|
opts.push_back({"strings-eager-eval", strings().stringEagerEval ? "true" : "false"}); |
9872 |
|
opts.push_back({"strings-eager-len", strings().stringEagerLen ? "true" : "false"}); |
9873 |
|
opts.push_back({"strings-exp", strings().stringExp ? "true" : "false"}); |
9874 |
|
opts.push_back({"strings-ff", strings().stringFlatForms ? "true" : "false"}); |
9875 |
|
opts.push_back({"strings-fmf", strings().stringFMF ? "true" : "false"}); |
9876 |
|
opts.push_back({"strings-guess-model", strings().stringGuessModel ? "true" : "false"}); |
9877 |
|
opts.push_back({"strings-infer-as-lemmas", strings().stringInferAsLemmas ? "true" : "false"}); |
9878 |
|
opts.push_back({"strings-infer-sym", strings().stringInferSym ? "true" : "false"}); |
9879 |
|
opts.push_back({"strings-inm", strings().stringIgnNegMembership ? "true" : "false"}); |
9880 |
|
opts.push_back({"strings-lazy-pp", strings().stringLazyPreproc ? "true" : "false"}); |
9881 |
|
opts.push_back({"strings-len-norm", strings().stringLenNorm ? "true" : "false"}); |
9882 |
|
opts.push_back({"strings-lprop-csp", strings().stringLenPropCsp ? "true" : "false"}); |
9883 |
|
opts.push_back({"strings-min-prefix-explain", strings().stringMinPrefixExplain ? "true" : "false"}); |
9884 |
|
{ std::stringstream ss; ss << strings().stringProcessLoopMode; opts.push_back({"strings-process-loop-mode=MODE", ss.str()}); } |
9885 |
|
opts.push_back({"strings-rexplain-lemmas", strings().stringRExplainLemmas ? "true" : "false"}); |
9886 |
|
opts.push_back({"strings-unified-vspt", strings().stringUnifiedVSpt ? "true" : "false"}); |
9887 |
|
opts.push_back({"assign-function-values", theory().assignFunctionValues ? "true" : "false"}); |
9888 |
|
opts.push_back({"condense-function-values", theory().condenseFunctionValues ? "true" : "false"}); |
9889 |
|
{ std::stringstream ss; ss << theory().eeMode; opts.push_back({"ee-mode=MODE", ss.str()}); } |
9890 |
|
opts.push_back({"relevance-filter", theory().relevanceFilter ? "true" : "false"}); |
9891 |
|
{ std::stringstream ss; ss << theory().tcMode; opts.push_back({"tc-mode=MODE", ss.str()}); } |
9892 |
|
{ std::stringstream ss; ss << theory().theoryOfMode; opts.push_back({"theoryof-mode=MODE", ss.str()}); } |
9893 |
|
opts.push_back({"symmetry-breaker", uf().ufSymmetryBreaker ? "true" : "false"}); |
9894 |
|
opts.push_back({"uf-ho", uf().ufHo ? "true" : "false"}); |
9895 |
|
opts.push_back({"uf-ho-ext", uf().ufHoExt ? "true" : "false"}); |
9896 |
|
opts.push_back({"uf-ss-abort-card=N", std::to_string(uf().ufssAbortCardinality)}); |
9897 |
|
opts.push_back({"uf-ss-fair", uf().ufssFairness ? "true" : "false"}); |
9898 |
|
opts.push_back({"uf-ss-fair-monotone", uf().ufssFairnessMonotone ? "true" : "false"}); |
9899 |
|
opts.push_back({"uf-ss-totality-limited=N", std::to_string(uf().ufssTotalityLimited)}); |
9900 |
|
opts.push_back({"uf-ss-totality-sym-break", uf().ufssTotalitySymBreak ? "true" : "false"}); |
9901 |
|
{ std::stringstream ss; ss << uf().ufssMode; opts.push_back({"uf-ss=MODE", ss.str()}); } |
9902 |
|
|
9903 |
|
return opts; |
9904 |
|
} |
9905 |
|
// clang-format on |
9906 |
|
|
9907 |
9223 |
void Options::setOption(const std::string& key, const std::string& optionarg) |
9908 |
|
{ |
9909 |
18446 |
Trace("options") << "setOption(" << key << ", " << optionarg << ")" |
9910 |
9223 |
<< std::endl; |
9911 |
|
// first update this object |
9912 |
9223 |
setOptionInternal(key, optionarg); |
9913 |
|
// then, notify the provided listener |
9914 |
9221 |
if (d_olisten != nullptr) |
9915 |
|
{ |
9916 |
9221 |
d_olisten->notifySetOption(key); |
9917 |
|
} |
9918 |
9221 |
} |
9919 |
|
|
9920 |
|
// clang-format off |
9921 |
9223 |
void Options::setOptionInternal(const std::string& key, |
9922 |
|
const std::string& optionarg) |
9923 |
|
{ |
9924 |
9223 |
options::OptionsHandler* handler = d_handler; |
9925 |
9223 |
if(key == "approx-branch-depth") { |
9926 |
|
assign(options::maxApproxDepth, key, optionarg); |
9927 |
|
return; |
9928 |
|
} |
9929 |
9223 |
if(key == "arith-brab") { |
9930 |
|
assignBool(options::brabTest, key, optionarg == "true"); |
9931 |
|
return; |
9932 |
|
} |
9933 |
9223 |
if(key == "arith-no-partial-fun") { |
9934 |
3 |
assignBool(options::arithNoPartialFun, key, optionarg == "true"); |
9935 |
3 |
return; |
9936 |
|
} |
9937 |
9220 |
if(key == "arith-prop-clauses") { |
9938 |
|
assign(options::arithPropAsLemmaLength, key, optionarg); |
9939 |
|
return; |
9940 |
|
} |
9941 |
9220 |
if(key == "arith-prop") { |
9942 |
|
assign(options::arithPropagationMode, key, optionarg); |
9943 |
|
return; |
9944 |
|
} |
9945 |
9220 |
if(key == "arith-rewrite-equalities") { |
9946 |
4 |
assignBool(options::arithRewriteEq, key, optionarg == "true"); |
9947 |
4 |
return; |
9948 |
|
} |
9949 |
9216 |
if(key == "collect-pivot-stats") { |
9950 |
|
assignBool(options::collectPivots, key, optionarg == "true"); |
9951 |
|
return; |
9952 |
|
} |
9953 |
9216 |
if(key == "cut-all-bounded") { |
9954 |
|
assignBool(options::doCutAllBounded, key, optionarg == "true"); |
9955 |
|
return; |
9956 |
|
} |
9957 |
9216 |
if(key == "dio-decomps") { |
9958 |
|
assignBool(options::exportDioDecompositions, key, optionarg == "true"); |
9959 |
|
return; |
9960 |
|
} |
9961 |
9216 |
if(key == "dio-repeat") { |
9962 |
|
assignBool(options::dioRepeat, key, optionarg == "true"); |
9963 |
|
return; |
9964 |
|
} |
9965 |
9216 |
if(key == "dio-solver") { |
9966 |
|
assignBool(options::arithDioSolver, key, optionarg == "true"); |
9967 |
|
return; |
9968 |
|
} |
9969 |
9216 |
if(key == "dio-turns") { |
9970 |
|
assign(options::dioSolverTurns, key, optionarg); |
9971 |
|
return; |
9972 |
|
} |
9973 |
9216 |
if(key == "error-selection-rule") { |
9974 |
|
assign(options::arithErrorSelectionRule, key, optionarg); |
9975 |
|
return; |
9976 |
|
} |
9977 |
9216 |
if(key == "fc-penalties") { |
9978 |
|
assignBool(options::havePenalties, key, optionarg == "true"); |
9979 |
|
return; |
9980 |
|
} |
9981 |
9216 |
if(key == "heuristic-pivots") { |
9982 |
|
assign(options::arithHeuristicPivots, key, optionarg); |
9983 |
|
return; |
9984 |
|
} |
9985 |
9216 |
if(key == "lemmas-on-replay-failure") { |
9986 |
|
assignBool(options::replayFailureLemma, key, optionarg == "true"); |
9987 |
|
return; |
9988 |
|
} |
9989 |
9216 |
if(key == "maxCutsInContext") { |
9990 |
|
assign(options::maxCutsInContext, key, optionarg); |
9991 |
|
return; |
9992 |
|
} |
9993 |
9216 |
if(key == "miplib-trick") { |
9994 |
|
assignBool(options::arithMLTrick, key, optionarg == "true"); |
9995 |
|
return; |
9996 |
|
} |
9997 |
9216 |
if(key == "miplib-trick-subs") { |
9998 |
|
assign(options::arithMLTrickSubstitutions, key, optionarg); |
9999 |
|
return; |
10000 |
|
} |
10001 |
9216 |
if(key == "new-prop") { |
10002 |
|
assignBool(options::newProp, key, optionarg == "true"); |
10003 |
|
return; |
10004 |
|
} |
10005 |
9216 |
if(key == "nl-cad") { |
10006 |
|
assignBool(options::nlCad, key, optionarg == "true"); |
10007 |
|
return; |
10008 |
|
} |
10009 |
9216 |
if(key == "nl-cad-initial") { |
10010 |
|
assignBool(options::nlCadUseInitial, key, optionarg == "true"); |
10011 |
|
return; |
10012 |
|
} |
10013 |
9216 |
if(key == "nl-ext-ent-conf") { |
10014 |
|
assignBool(options::nlExtEntailConflicts, key, optionarg == "true"); |
10015 |
|
return; |
10016 |
|
} |
10017 |
9216 |
if(key == "nl-ext-factor") { |
10018 |
|
assignBool(options::nlExtFactor, key, optionarg == "true"); |
10019 |
|
return; |
10020 |
|
} |
10021 |
9216 |
if(key == "nl-ext-inc-prec") { |
10022 |
|
assignBool(options::nlExtIncPrecision, key, optionarg == "true"); |
10023 |
|
return; |
10024 |
|
} |
10025 |
9216 |
if(key == "nl-ext-purify") { |
10026 |
3 |
assignBool(options::nlExtPurify, key, optionarg == "true"); |
10027 |
3 |
return; |
10028 |
|
} |
10029 |
9213 |
if(key == "nl-ext-rbound") { |
10030 |
|
assignBool(options::nlExtResBound, key, optionarg == "true"); |
10031 |
|
return; |
10032 |
|
} |
10033 |
9213 |
if(key == "nl-ext-rewrite") { |
10034 |
|
assignBool(options::nlExtRewrites, key, optionarg == "true"); |
10035 |
|
return; |
10036 |
|
} |
10037 |
9213 |
if(key == "nl-ext-split-zero") { |
10038 |
|
assignBool(options::nlExtSplitZero, key, optionarg == "true"); |
10039 |
|
return; |
10040 |
|
} |
10041 |
9213 |
if(key == "nl-ext-tf-taylor-deg") { |
10042 |
|
assign(options::nlExtTfTaylorDegree, key, optionarg); |
10043 |
|
return; |
10044 |
|
} |
10045 |
9213 |
if(key == "nl-ext-tf-tplanes") { |
10046 |
|
assignBool(options::nlExtTfTangentPlanes, key, optionarg == "true"); |
10047 |
|
return; |
10048 |
|
} |
10049 |
9213 |
if(key == "nl-ext-tplanes") { |
10050 |
|
assignBool(options::nlExtTangentPlanes, key, optionarg == "true"); |
10051 |
|
return; |
10052 |
|
} |
10053 |
9213 |
if(key == "nl-ext-tplanes-interleave") { |
10054 |
|
assignBool(options::nlExtTangentPlanesInterleave, key, optionarg == "true"); |
10055 |
|
return; |
10056 |
|
} |
10057 |
9213 |
if(key == "nl-ext") { |
10058 |
|
assign(options::nlExt, key, optionarg); |
10059 |
|
return; |
10060 |
|
} |
10061 |
9213 |
if(key == "nl-icp") { |
10062 |
|
assignBool(options::nlICP, key, optionarg == "true"); |
10063 |
|
return; |
10064 |
|
} |
10065 |
9213 |
if(key == "nl-rlv") { |
10066 |
|
assign(options::nlRlvMode, key, optionarg); |
10067 |
|
return; |
10068 |
|
} |
10069 |
9213 |
if(key == "pb-rewrites") { |
10070 |
|
assignBool(options::pbRewrites, key, optionarg == "true"); |
10071 |
|
return; |
10072 |
|
} |
10073 |
9213 |
if(key == "pivot-threshold") { |
10074 |
|
assign(options::arithPivotThreshold, key, optionarg); |
10075 |
|
return; |
10076 |
|
} |
10077 |
9213 |
if(key == "pp-assert-max-sub-size") { |
10078 |
|
assign(options::ppAssertMaxSubSize, key, optionarg); |
10079 |
|
return; |
10080 |
|
} |
10081 |
9213 |
if(key == "prop-row-length") { |
10082 |
|
assign(options::arithPropagateMaxLength, key, optionarg); |
10083 |
|
return; |
10084 |
|
} |
10085 |
9213 |
if(key == "replay-early-close-depth") { |
10086 |
|
assign(options::replayEarlyCloseDepths, key, optionarg); |
10087 |
|
return; |
10088 |
|
} |
10089 |
9213 |
if(key == "replay-failure-penalty") { |
10090 |
|
assign(options::replayFailurePenalty, key, optionarg); |
10091 |
|
return; |
10092 |
|
} |
10093 |
9213 |
if(key == "replay-lemma-reject-cut") { |
10094 |
|
assign(options::lemmaRejectCutSize, key, optionarg); |
10095 |
|
return; |
10096 |
|
} |
10097 |
9213 |
if(key == "replay-num-err-penalty") { |
10098 |
|
assign(options::replayNumericFailurePenalty, key, optionarg); |
10099 |
|
return; |
10100 |
|
} |
10101 |
9213 |
if(key == "replay-reject-cut") { |
10102 |
|
assign(options::replayRejectCutSize, key, optionarg); |
10103 |
|
return; |
10104 |
|
} |
10105 |
9213 |
if(key == "replay-soi-major-threshold-pen") { |
10106 |
|
assign(options::soiApproxMajorFailurePen, key, optionarg); |
10107 |
|
return; |
10108 |
|
} |
10109 |
9213 |
if(key == "replay-soi-major-threshold") { |
10110 |
|
assign(options::soiApproxMajorFailure, key, optionarg); |
10111 |
|
return; |
10112 |
|
} |
10113 |
9213 |
if(key == "replay-soi-minor-threshold-pen") { |
10114 |
|
assign(options::soiApproxMinorFailurePen, key, optionarg); |
10115 |
|
return; |
10116 |
|
} |
10117 |
9213 |
if(key == "replay-soi-minor-threshold") { |
10118 |
|
assign(options::soiApproxMinorFailure, key, optionarg); |
10119 |
|
return; |
10120 |
|
} |
10121 |
9213 |
if(key == "restrict-pivots") { |
10122 |
|
assignBool(options::restrictedPivots, key, optionarg == "true"); |
10123 |
|
return; |
10124 |
|
} |
10125 |
9213 |
if(key == "revert-arith-models-on-unsat") { |
10126 |
|
assignBool(options::revertArithModels, key, optionarg == "true"); |
10127 |
|
return; |
10128 |
|
} |
10129 |
9213 |
if(key == "rr-turns") { |
10130 |
|
assign(options::rrTurns, key, optionarg); |
10131 |
|
return; |
10132 |
|
} |
10133 |
9213 |
if(key == "se-solve-int") { |
10134 |
|
assignBool(options::trySolveIntStandardEffort, key, optionarg == "true"); |
10135 |
|
return; |
10136 |
|
} |
10137 |
9213 |
if(key == "simplex-check-period") { |
10138 |
|
assign(options::arithSimplexCheckPeriod, key, optionarg); |
10139 |
|
return; |
10140 |
|
} |
10141 |
9213 |
if(key == "soi-qe") { |
10142 |
|
assignBool(options::soiQuickExplain, key, optionarg == "true"); |
10143 |
|
return; |
10144 |
|
} |
10145 |
9213 |
if(key == "standard-effort-variable-order-pivots") { |
10146 |
|
assign(options::arithStandardCheckVarOrderPivots, key, optionarg); |
10147 |
|
return; |
10148 |
|
} |
10149 |
9213 |
if(key == "unate-lemmas") { |
10150 |
|
assign(options::arithUnateLemmaMode, key, optionarg); |
10151 |
|
return; |
10152 |
|
} |
10153 |
9213 |
if(key == "use-approx") { |
10154 |
|
assignBool(options::useApprox, key, optionarg == "true"); |
10155 |
|
return; |
10156 |
|
} |
10157 |
9213 |
if(key == "use-fcsimplex") { |
10158 |
|
assignBool(options::useFC, key, optionarg == "true"); |
10159 |
|
return; |
10160 |
|
} |
10161 |
9213 |
if(key == "use-soi") { |
10162 |
|
assignBool(options::useSOI, key, optionarg == "true"); |
10163 |
|
return; |
10164 |
|
} |
10165 |
9213 |
if(key == "arrays-config") { |
10166 |
|
assign(options::arraysConfig, key, optionarg); |
10167 |
|
return; |
10168 |
|
} |
10169 |
9213 |
if(key == "arrays-eager-index") { |
10170 |
|
assignBool(options::arraysEagerIndexSplitting, key, optionarg == "true"); |
10171 |
|
return; |
10172 |
|
} |
10173 |
9213 |
if(key == "arrays-eager-lemmas") { |
10174 |
|
assignBool(options::arraysEagerLemmas, key, optionarg == "true"); |
10175 |
|
return; |
10176 |
|
} |
10177 |
9213 |
if(key == "arrays-exp") { |
10178 |
7 |
assignBool(options::arraysExp, key, optionarg == "true"); |
10179 |
7 |
return; |
10180 |
|
} |
10181 |
9206 |
if(key == "arrays-model-based") { |
10182 |
|
assignBool(options::arraysModelBased, key, optionarg == "true"); |
10183 |
|
return; |
10184 |
|
} |
10185 |
9206 |
if(key == "arrays-optimize-linear") { |
10186 |
|
assignBool(options::arraysOptimizeLinear, key, optionarg == "true"); |
10187 |
|
return; |
10188 |
|
} |
10189 |
9206 |
if(key == "arrays-prop") { |
10190 |
|
assign(options::arraysPropagate, key, optionarg); |
10191 |
|
return; |
10192 |
|
} |
10193 |
9206 |
if(key == "arrays-reduce-sharing") { |
10194 |
|
assignBool(options::arraysReduceSharing, key, optionarg == "true"); |
10195 |
|
return; |
10196 |
|
} |
10197 |
9206 |
if(key == "arrays-weak-equiv") { |
10198 |
|
assignBool(options::arraysWeakEquivalence, key, optionarg == "true"); |
10199 |
|
return; |
10200 |
|
} |
10201 |
9206 |
if(key == "debug") { |
10202 |
|
handler->enableDebugTag("debug", optionarg); |
10203 |
|
return; |
10204 |
|
} |
10205 |
9206 |
if(key == "input-language" || key == "lang") { |
10206 |
271 |
assign(options::inputLanguage, key, optionarg); |
10207 |
271 |
return; |
10208 |
|
} |
10209 |
8935 |
if(key == "output-lang" || key == "output-language") { |
10210 |
25 |
assign(options::outputLanguage, key, optionarg); |
10211 |
25 |
return; |
10212 |
|
} |
10213 |
8910 |
if(key == "parse-only") { |
10214 |
|
assignBool(options::parseOnly, key, optionarg == "true"); |
10215 |
|
return; |
10216 |
|
} |
10217 |
8910 |
if(key == "preprocess-only") { |
10218 |
|
assignBool(options::preprocessOnly, key, optionarg == "true"); |
10219 |
|
return; |
10220 |
|
} |
10221 |
8910 |
if(key == "print-success") { |
10222 |
26 |
assignBool(options::printSuccess, key, optionarg == "true"); |
10223 |
26 |
return; |
10224 |
|
} |
10225 |
8884 |
if(key == "quiet") { |
10226 |
4 |
handler->decreaseVerbosity("quiet"); |
10227 |
4 |
return; |
10228 |
|
} |
10229 |
8880 |
if(key == "stats") { |
10230 |
|
assignBool(options::statistics, key, optionarg == "true"); |
10231 |
|
return; |
10232 |
|
} |
10233 |
8880 |
if(key == "stats-all") { |
10234 |
|
assignBool(options::statisticsAll, key, optionarg == "true"); |
10235 |
|
return; |
10236 |
|
} |
10237 |
8880 |
if(key == "stats-every-query") { |
10238 |
|
assignBool(options::statisticsEveryQuery, key, optionarg == "true"); |
10239 |
|
return; |
10240 |
|
} |
10241 |
8880 |
if(key == "stats-expert") { |
10242 |
|
assignBool(options::statisticsExpert, key, optionarg == "true"); |
10243 |
|
return; |
10244 |
|
} |
10245 |
8880 |
if(key == "trace") { |
10246 |
|
handler->enableTraceTag("trace", optionarg); |
10247 |
|
return; |
10248 |
|
} |
10249 |
8880 |
if(key == "verbose") { |
10250 |
|
handler->increaseVerbosity("verbose"); |
10251 |
|
return; |
10252 |
|
} |
10253 |
8880 |
if(key == "verbosity") { |
10254 |
|
assign(options::verbosity, key, optionarg); |
10255 |
|
return; |
10256 |
|
} |
10257 |
8880 |
if(key == "bitblast-aig") { |
10258 |
|
assignBool(options::bitvectorAig, key, optionarg == "true"); |
10259 |
|
return; |
10260 |
|
} |
10261 |
8880 |
if(key == "bitblast") { |
10262 |
2 |
assign(options::bitblastMode, key, optionarg); |
10263 |
2 |
return; |
10264 |
|
} |
10265 |
8878 |
if(key == "bitwise-eq") { |
10266 |
|
assignBool(options::bitwiseEq, key, optionarg == "true"); |
10267 |
|
return; |
10268 |
|
} |
10269 |
8878 |
if(key == "bool-to-bv") { |
10270 |
|
assign(options::boolToBitvector, key, optionarg); |
10271 |
|
return; |
10272 |
|
} |
10273 |
8878 |
if(key == "bv-abstraction") { |
10274 |
|
assignBool(options::bvAbstraction, key, optionarg == "true"); |
10275 |
|
return; |
10276 |
|
} |
10277 |
8878 |
if(key == "bv-aig-simp") { |
10278 |
|
assign(options::bitvectorAigSimplifications, key, optionarg); |
10279 |
|
return; |
10280 |
|
} |
10281 |
8878 |
if(key == "bv-alg-extf") { |
10282 |
|
assignBool(options::bvAlgExtf, key, optionarg == "true"); |
10283 |
|
return; |
10284 |
|
} |
10285 |
8878 |
if(key == "bv-algebraic-budget") { |
10286 |
|
assign(options::bitvectorAlgebraicBudget, key, optionarg); |
10287 |
|
return; |
10288 |
|
} |
10289 |
8878 |
if(key == "bv-algebraic-solver") { |
10290 |
|
assignBool(options::bitvectorAlgebraicSolver, key, optionarg == "true"); |
10291 |
|
return; |
10292 |
|
} |
10293 |
8878 |
if(key == "bv-assert-input") { |
10294 |
|
assignBool(options::bvAssertInput, key, optionarg == "true"); |
10295 |
|
return; |
10296 |
|
} |
10297 |
8878 |
if(key == "bv-eager-explanations") { |
10298 |
|
assignBool(options::bvEagerExplanations, key, optionarg == "true"); |
10299 |
|
return; |
10300 |
|
} |
10301 |
8878 |
if(key == "bv-eq-solver") { |
10302 |
|
assignBool(options::bitvectorEqualitySolver, key, optionarg == "true"); |
10303 |
|
return; |
10304 |
|
} |
10305 |
8878 |
if(key == "bv-extract-arith") { |
10306 |
|
assignBool(options::bvExtractArithRewrite, key, optionarg == "true"); |
10307 |
|
return; |
10308 |
|
} |
10309 |
8878 |
if(key == "bv-gauss-elim") { |
10310 |
|
assignBool(options::bvGaussElim, key, optionarg == "true"); |
10311 |
|
return; |
10312 |
|
} |
10313 |
8878 |
if(key == "bv-inequality-solver") { |
10314 |
|
assignBool(options::bitvectorInequalitySolver, key, optionarg == "true"); |
10315 |
|
return; |
10316 |
|
} |
10317 |
8878 |
if(key == "bv-intro-pow2") { |
10318 |
|
assignBool(options::bvIntroducePow2, key, optionarg == "true"); |
10319 |
|
return; |
10320 |
|
} |
10321 |
8878 |
if(key == "bv-lazy-reduce-extf") { |
10322 |
|
assignBool(options::bvLazyReduceExtf, key, optionarg == "true"); |
10323 |
|
return; |
10324 |
|
} |
10325 |
8878 |
if(key == "bv-lazy-rewrite-extf") { |
10326 |
|
assignBool(options::bvLazyRewriteExtf, key, optionarg == "true"); |
10327 |
|
return; |
10328 |
|
} |
10329 |
8878 |
if(key == "bv-num-func") { |
10330 |
|
assign(options::bvNumFunc, key, optionarg); |
10331 |
|
return; |
10332 |
|
} |
10333 |
8878 |
if(key == "bv-print-consts-as-indexed-symbols") { |
10334 |
|
assignBool(options::bvPrintConstsAsIndexedSymbols, key, optionarg == "true"); |
10335 |
|
return; |
10336 |
|
} |
10337 |
8878 |
if(key == "bv-propagate") { |
10338 |
|
assignBool(options::bitvectorPropagate, key, optionarg == "true"); |
10339 |
|
return; |
10340 |
|
} |
10341 |
8878 |
if(key == "bv-quick-xplain") { |
10342 |
|
assignBool(options::bitvectorQuickXplain, key, optionarg == "true"); |
10343 |
|
return; |
10344 |
|
} |
10345 |
8878 |
if(key == "bv-sat-solver") { |
10346 |
6 |
assign(options::bvSatSolver, key, optionarg); |
10347 |
2 |
return; |
10348 |
|
} |
10349 |
8874 |
if(key == "bv-skolemize") { |
10350 |
|
assignBool(options::skolemizeArguments, key, optionarg == "true"); |
10351 |
|
return; |
10352 |
|
} |
10353 |
8874 |
if(key == "bv-solver") { |
10354 |
|
assign(options::bvSolver, key, optionarg); |
10355 |
|
return; |
10356 |
|
} |
10357 |
8874 |
if(key == "bv-to-bool") { |
10358 |
|
assignBool(options::bitvectorToBool, key, optionarg == "true"); |
10359 |
|
return; |
10360 |
|
} |
10361 |
8874 |
if(key == "cdt-bisimilar") { |
10362 |
|
assignBool(options::cdtBisimilar, key, optionarg == "true"); |
10363 |
|
return; |
10364 |
|
} |
10365 |
8874 |
if(key == "dt-binary-split") { |
10366 |
|
assignBool(options::dtBinarySplit, key, optionarg == "true"); |
10367 |
|
return; |
10368 |
|
} |
10369 |
8874 |
if(key == "dt-blast-splits") { |
10370 |
|
assignBool(options::dtBlastSplits, key, optionarg == "true"); |
10371 |
|
return; |
10372 |
|
} |
10373 |
8874 |
if(key == "dt-cyclic") { |
10374 |
|
assignBool(options::dtCyclic, key, optionarg == "true"); |
10375 |
|
return; |
10376 |
|
} |
10377 |
8874 |
if(key == "dt-force-assignment") { |
10378 |
|
assignBool(options::dtForceAssignment, key, optionarg == "true"); |
10379 |
|
return; |
10380 |
|
} |
10381 |
8874 |
if(key == "dt-infer-as-lemmas") { |
10382 |
|
assignBool(options::dtInferAsLemmas, key, optionarg == "true"); |
10383 |
|
return; |
10384 |
|
} |
10385 |
8874 |
if(key == "dt-nested-rec") { |
10386 |
|
assignBool(options::dtNestedRec, key, optionarg == "true"); |
10387 |
|
return; |
10388 |
|
} |
10389 |
8874 |
if(key == "dt-polite-optimize") { |
10390 |
|
assignBool(options::dtPoliteOptimize, key, optionarg == "true"); |
10391 |
|
return; |
10392 |
|
} |
10393 |
8874 |
if(key == "dt-rewrite-error-sel") { |
10394 |
|
assignBool(options::dtRewriteErrorSel, key, optionarg == "true"); |
10395 |
|
return; |
10396 |
|
} |
10397 |
8874 |
if(key == "dt-share-sel") { |
10398 |
|
assignBool(options::dtSharedSelectors, key, optionarg == "true"); |
10399 |
|
return; |
10400 |
|
} |
10401 |
8874 |
if(key == "sygus-abort-size") { |
10402 |
|
assign(options::sygusAbortSize, key, optionarg); |
10403 |
|
return; |
10404 |
|
} |
10405 |
8874 |
if(key == "sygus-fair-max") { |
10406 |
|
assignBool(options::sygusFairMax, key, optionarg == "true"); |
10407 |
|
return; |
10408 |
|
} |
10409 |
8874 |
if(key == "sygus-fair") { |
10410 |
|
assign(options::sygusFair, key, optionarg); |
10411 |
|
return; |
10412 |
|
} |
10413 |
8874 |
if(key == "sygus-sym-break") { |
10414 |
2 |
assignBool(options::sygusSymBreak, key, optionarg == "true"); |
10415 |
2 |
return; |
10416 |
|
} |
10417 |
8872 |
if(key == "sygus-sym-break-agg") { |
10418 |
|
assignBool(options::sygusSymBreakAgg, key, optionarg == "true"); |
10419 |
|
return; |
10420 |
|
} |
10421 |
8872 |
if(key == "sygus-sym-break-dynamic") { |
10422 |
|
assignBool(options::sygusSymBreakDynamic, key, optionarg == "true"); |
10423 |
|
return; |
10424 |
|
} |
10425 |
8872 |
if(key == "sygus-sym-break-lazy") { |
10426 |
2 |
assignBool(options::sygusSymBreakLazy, key, optionarg == "true"); |
10427 |
2 |
return; |
10428 |
|
} |
10429 |
8870 |
if(key == "sygus-sym-break-pbe") { |
10430 |
|
assignBool(options::sygusSymBreakPbe, key, optionarg == "true"); |
10431 |
|
return; |
10432 |
|
} |
10433 |
8870 |
if(key == "sygus-sym-break-rlv") { |
10434 |
2 |
assignBool(options::sygusSymBreakRlv, key, optionarg == "true"); |
10435 |
2 |
return; |
10436 |
|
} |
10437 |
8868 |
if(key == "decision-random-weight") { |
10438 |
|
assign(options::decisionRandomWeight, key, optionarg); |
10439 |
|
return; |
10440 |
|
} |
10441 |
8868 |
if(key == "decision-threshold") { |
10442 |
|
assign(options::decisionThreshold, key, optionarg); |
10443 |
|
return; |
10444 |
|
} |
10445 |
8868 |
if(key == "decision-use-weight") { |
10446 |
|
assignBool(options::decisionUseWeight, key, optionarg == "true"); |
10447 |
|
return; |
10448 |
|
} |
10449 |
8868 |
if(key == "decision-weight-internal") { |
10450 |
|
assign(options::decisionWeightInternal, key, optionarg); |
10451 |
|
return; |
10452 |
|
} |
10453 |
8868 |
if(key == "decision" || key == "decision-mode") { |
10454 |
|
assign(options::decisionMode, key, optionarg); |
10455 |
|
return; |
10456 |
|
} |
10457 |
8868 |
if(key == "dag-thresh") { |
10458 |
1 |
assign(options::defaultDagThresh, key, optionarg); |
10459 |
1 |
return; |
10460 |
|
} |
10461 |
8867 |
if(key == "expr-depth") { |
10462 |
|
assign(options::defaultExprDepth, key, optionarg); |
10463 |
|
return; |
10464 |
|
} |
10465 |
8867 |
if(key == "type-checking") { |
10466 |
|
assignBool(options::typeChecking, key, optionarg == "true"); |
10467 |
|
return; |
10468 |
|
} |
10469 |
8867 |
if(key == "fp-exp") { |
10470 |
|
assignBool(options::fpExp, key, optionarg == "true"); |
10471 |
|
return; |
10472 |
|
} |
10473 |
8867 |
if(key == "copyright") { |
10474 |
|
handler->copyright("copyright"); |
10475 |
|
return; |
10476 |
|
} |
10477 |
8867 |
if(key == "early-exit") { |
10478 |
|
assignBool(options::earlyExit, key, optionarg == "true"); |
10479 |
|
return; |
10480 |
|
} |
10481 |
8867 |
if(key == "help") { |
10482 |
|
assignBool(options::help, key, optionarg == "true"); |
10483 |
|
return; |
10484 |
|
} |
10485 |
8867 |
if(key == "interactive") { |
10486 |
|
assignBool(options::interactive, key, optionarg == "true"); |
10487 |
|
return; |
10488 |
|
} |
10489 |
8867 |
if(key == "interactive-prompt") { |
10490 |
|
assignBool(options::interactivePrompt, key, optionarg == "true"); |
10491 |
|
return; |
10492 |
|
} |
10493 |
8867 |
if(key == "seed") { |
10494 |
|
assign(options::seed, key, optionarg); |
10495 |
|
return; |
10496 |
|
} |
10497 |
8867 |
if(key == "segv-spin") { |
10498 |
|
assignBool(options::segvSpin, key, optionarg == "true"); |
10499 |
|
return; |
10500 |
|
} |
10501 |
8867 |
if(key == "show-config") { |
10502 |
|
handler->showConfiguration("show-config"); |
10503 |
|
return; |
10504 |
|
} |
10505 |
8867 |
if(key == "show-debug-tags") { |
10506 |
|
handler->showDebugTags("show-debug-tags"); |
10507 |
|
return; |
10508 |
|
} |
10509 |
8867 |
if(key == "show-trace-tags") { |
10510 |
|
handler->showTraceTags("show-trace-tags"); |
10511 |
|
return; |
10512 |
|
} |
10513 |
8867 |
if(key == "tear-down-incremental") { |
10514 |
|
assign(options::tearDownIncremental, key, optionarg); |
10515 |
|
return; |
10516 |
|
} |
10517 |
8867 |
if(key == "version") { |
10518 |
|
assignBool(options::version, key, optionarg == "true"); |
10519 |
|
return; |
10520 |
|
} |
10521 |
8867 |
if(key == "filesystem-access") { |
10522 |
|
assignBool(options::filesystemAccess, key, optionarg == "true"); |
10523 |
|
return; |
10524 |
|
} |
10525 |
8867 |
if(key == "force-logic") { |
10526 |
|
assign(options::forceLogicString, key, optionarg); |
10527 |
|
return; |
10528 |
|
} |
10529 |
8867 |
if(key == "global-declarations") { |
10530 |
16 |
assignBool(options::globalDeclarations, key, optionarg == "true"); |
10531 |
16 |
return; |
10532 |
|
} |
10533 |
8851 |
if(key == "mmap") { |
10534 |
|
assignBool(options::memoryMap, key, optionarg == "true"); |
10535 |
|
return; |
10536 |
|
} |
10537 |
8851 |
if(key == "semantic-checks") { |
10538 |
|
assignBool(options::semanticChecks, key, optionarg == "true"); |
10539 |
|
return; |
10540 |
|
} |
10541 |
8851 |
if(key == "strict-parsing") { |
10542 |
|
assignBool(options::strictParsing, key, optionarg == "true"); |
10543 |
|
return; |
10544 |
|
} |
10545 |
8851 |
if(key == "flatten-ho-chains") { |
10546 |
|
assignBool(options::flattenHOChains, key, optionarg == "true"); |
10547 |
|
return; |
10548 |
|
} |
10549 |
8851 |
if(key == "inst-format") { |
10550 |
|
assign(options::instFormatMode, key, optionarg); |
10551 |
|
return; |
10552 |
|
} |
10553 |
8851 |
if(key == "model-format") { |
10554 |
|
assign(options::modelFormatMode, key, optionarg); |
10555 |
|
return; |
10556 |
|
} |
10557 |
8851 |
if(key == "print-inst-full") { |
10558 |
|
assignBool(options::printInstFull, key, optionarg == "true"); |
10559 |
|
return; |
10560 |
|
} |
10561 |
8851 |
if(key == "print-inst") { |
10562 |
|
assign(options::printInstMode, key, optionarg); |
10563 |
|
return; |
10564 |
|
} |
10565 |
8851 |
if(key == "proof-eager-checking") { |
10566 |
|
assignBool(options::proofEagerChecking, key, optionarg == "true"); |
10567 |
|
return; |
10568 |
|
} |
10569 |
8851 |
if(key == "proof-format-mode") { |
10570 |
|
assign(options::proofFormatMode, key, optionarg); |
10571 |
|
return; |
10572 |
|
} |
10573 |
8851 |
if(key == "proof-granularity") { |
10574 |
|
assign(options::proofGranularityMode, key, optionarg); |
10575 |
|
return; |
10576 |
|
} |
10577 |
8851 |
if(key == "proof-pedantic") { |
10578 |
|
assign(options::proofPedantic, key, optionarg); |
10579 |
|
return; |
10580 |
|
} |
10581 |
8851 |
if(key == "proof-print-conclusion") { |
10582 |
|
assignBool(options::proofPrintConclusion, key, optionarg == "true"); |
10583 |
|
return; |
10584 |
|
} |
10585 |
8851 |
if(key == "minisat-dump-dimacs") { |
10586 |
|
assignBool(options::minisatDumpDimacs, key, optionarg == "true"); |
10587 |
|
return; |
10588 |
|
} |
10589 |
8851 |
if(key == "minisat-elimination") { |
10590 |
|
assignBool(options::minisatUseElim, key, optionarg == "true"); |
10591 |
|
return; |
10592 |
|
} |
10593 |
8851 |
if(key == "random-freq" || key == "random-frequency") { |
10594 |
|
assign(options::satRandomFreq, key, optionarg); |
10595 |
|
return; |
10596 |
|
} |
10597 |
8851 |
if(key == "random-seed") { |
10598 |
|
assign(options::satRandomSeed, key, optionarg); |
10599 |
|
return; |
10600 |
|
} |
10601 |
8851 |
if(key == "refine-conflicts") { |
10602 |
|
assignBool(options::sat_refine_conflicts, key, optionarg == "true"); |
10603 |
|
return; |
10604 |
|
} |
10605 |
8851 |
if(key == "restart-int-base") { |
10606 |
|
assign(options::satRestartFirst, key, optionarg); |
10607 |
|
return; |
10608 |
|
} |
10609 |
8851 |
if(key == "restart-int-inc") { |
10610 |
|
assign(options::satRestartInc, key, optionarg); |
10611 |
|
return; |
10612 |
|
} |
10613 |
8851 |
if(key == "ag-miniscope-quant") { |
10614 |
5 |
assignBool(options::aggressiveMiniscopeQuant, key, optionarg == "true"); |
10615 |
5 |
return; |
10616 |
|
} |
10617 |
8846 |
if(key == "cegis-sample") { |
10618 |
|
assign(options::cegisSample, key, optionarg); |
10619 |
|
return; |
10620 |
|
} |
10621 |
8846 |
if(key == "cegqi") { |
10622 |
|
assignBool(options::cegqi, key, optionarg == "true"); |
10623 |
|
return; |
10624 |
|
} |
10625 |
8846 |
if(key == "cegqi-all") { |
10626 |
3 |
assignBool(options::cegqiAll, key, optionarg == "true"); |
10627 |
3 |
return; |
10628 |
|
} |
10629 |
8843 |
if(key == "cegqi-bv") { |
10630 |
|
assignBool(options::cegqiBv, key, optionarg == "true"); |
10631 |
|
return; |
10632 |
|
} |
10633 |
8843 |
if(key == "cegqi-bv-concat-inv") { |
10634 |
|
assignBool(options::cegqiBvConcInv, key, optionarg == "true"); |
10635 |
|
return; |
10636 |
|
} |
10637 |
8843 |
if(key == "cegqi-bv-ineq") { |
10638 |
|
assign(options::cegqiBvIneqMode, key, optionarg); |
10639 |
|
return; |
10640 |
|
} |
10641 |
8843 |
if(key == "cegqi-bv-interleave-value") { |
10642 |
|
assignBool(options::cegqiBvInterleaveValue, key, optionarg == "true"); |
10643 |
|
return; |
10644 |
|
} |
10645 |
8843 |
if(key == "cegqi-bv-linear") { |
10646 |
|
assignBool(options::cegqiBvLinearize, key, optionarg == "true"); |
10647 |
|
return; |
10648 |
|
} |
10649 |
8843 |
if(key == "cegqi-bv-rm-extract") { |
10650 |
|
assignBool(options::cegqiBvRmExtract, key, optionarg == "true"); |
10651 |
|
return; |
10652 |
|
} |
10653 |
8843 |
if(key == "cegqi-bv-solve-nl") { |
10654 |
|
assignBool(options::cegqiBvSolveNl, key, optionarg == "true"); |
10655 |
|
return; |
10656 |
|
} |
10657 |
8843 |
if(key == "cegqi-full") { |
10658 |
512 |
assignBool(options::cegqiFullEffort, key, optionarg == "true"); |
10659 |
512 |
return; |
10660 |
|
} |
10661 |
8331 |
if(key == "cegqi-innermost") { |
10662 |
|
assignBool(options::cegqiInnermost, key, optionarg == "true"); |
10663 |
|
return; |
10664 |
|
} |
10665 |
8331 |
if(key == "cegqi-midpoint") { |
10666 |
|
assignBool(options::cegqiMidpoint, key, optionarg == "true"); |
10667 |
|
return; |
10668 |
|
} |
10669 |
8331 |
if(key == "cegqi-min-bounds") { |
10670 |
|
assignBool(options::cegqiMinBounds, key, optionarg == "true"); |
10671 |
|
return; |
10672 |
|
} |
10673 |
8331 |
if(key == "cegqi-model") { |
10674 |
|
assignBool(options::cegqiModel, key, optionarg == "true"); |
10675 |
|
return; |
10676 |
|
} |
10677 |
8331 |
if(key == "cegqi-multi-inst") { |
10678 |
|
assignBool(options::cegqiMultiInst, key, optionarg == "true"); |
10679 |
|
return; |
10680 |
|
} |
10681 |
8331 |
if(key == "cegqi-nested-qe") { |
10682 |
12 |
assignBool(options::cegqiNestedQE, key, optionarg == "true"); |
10683 |
12 |
return; |
10684 |
|
} |
10685 |
8319 |
if(key == "cegqi-nopt") { |
10686 |
|
assignBool(options::cegqiNopt, key, optionarg == "true"); |
10687 |
|
return; |
10688 |
|
} |
10689 |
8319 |
if(key == "cegqi-repeat-lit") { |
10690 |
|
assignBool(options::cegqiRepeatLit, key, optionarg == "true"); |
10691 |
|
return; |
10692 |
|
} |
10693 |
8319 |
if(key == "cegqi-round-up-lia") { |
10694 |
|
assignBool(options::cegqiRoundUpLowerLia, key, optionarg == "true"); |
10695 |
|
return; |
10696 |
|
} |
10697 |
8319 |
if(key == "cegqi-sat") { |
10698 |
|
assignBool(options::cegqiSat, key, optionarg == "true"); |
10699 |
|
return; |
10700 |
|
} |
10701 |
8319 |
if(key == "cegqi-use-inf-int") { |
10702 |
3 |
assignBool(options::cegqiUseInfInt, key, optionarg == "true"); |
10703 |
3 |
return; |
10704 |
|
} |
10705 |
8316 |
if(key == "cegqi-use-inf-real") { |
10706 |
3 |
assignBool(options::cegqiUseInfReal, key, optionarg == "true"); |
10707 |
3 |
return; |
10708 |
|
} |
10709 |
8313 |
if(key == "cond-var-split-agg-quant") { |
10710 |
|
assignBool(options::condVarSplitQuantAgg, key, optionarg == "true"); |
10711 |
|
return; |
10712 |
|
} |
10713 |
8313 |
if(key == "cond-var-split-quant") { |
10714 |
|
assignBool(options::condVarSplitQuant, key, optionarg == "true"); |
10715 |
|
return; |
10716 |
|
} |
10717 |
8313 |
if(key == "conjecture-filter-active-terms") { |
10718 |
|
assignBool(options::conjectureFilterActiveTerms, key, optionarg == "true"); |
10719 |
|
return; |
10720 |
|
} |
10721 |
8313 |
if(key == "conjecture-filter-canonical") { |
10722 |
|
assignBool(options::conjectureFilterCanonical, key, optionarg == "true"); |
10723 |
|
return; |
10724 |
|
} |
10725 |
8313 |
if(key == "conjecture-filter-model") { |
10726 |
2 |
assignBool(options::conjectureFilterModel, key, optionarg == "true"); |
10727 |
2 |
return; |
10728 |
|
} |
10729 |
8311 |
if(key == "conjecture-gen") { |
10730 |
5 |
assignBool(options::conjectureGen, key, optionarg == "true"); |
10731 |
5 |
return; |
10732 |
|
} |
10733 |
8306 |
if(key == "conjecture-gen-gt-enum") { |
10734 |
|
assign(options::conjectureGenGtEnum, key, optionarg); |
10735 |
|
return; |
10736 |
|
} |
10737 |
8306 |
if(key == "conjecture-gen-max-depth") { |
10738 |
|
assign(options::conjectureGenMaxDepth, key, optionarg); |
10739 |
|
return; |
10740 |
|
} |
10741 |
8306 |
if(key == "conjecture-gen-per-round") { |
10742 |
|
assign(options::conjectureGenPerRound, key, optionarg); |
10743 |
|
return; |
10744 |
|
} |
10745 |
8306 |
if(key == "conjecture-gen-uee-intro") { |
10746 |
|
assignBool(options::conjectureUeeIntro, key, optionarg == "true"); |
10747 |
|
return; |
10748 |
|
} |
10749 |
8306 |
if(key == "conjecture-no-filter") { |
10750 |
2 |
assignBool(options::conjectureNoFilter, key, optionarg == "true"); |
10751 |
2 |
return; |
10752 |
|
} |
10753 |
8304 |
if(key == "debug-inst") { |
10754 |
|
assignBool(options::debugInst, key, optionarg == "true"); |
10755 |
|
return; |
10756 |
|
} |
10757 |
8304 |
if(key == "debug-sygus") { |
10758 |
|
assignBool(options::debugSygus, key, optionarg == "true"); |
10759 |
|
return; |
10760 |
|
} |
10761 |
8304 |
if(key == "dt-stc-ind") { |
10762 |
|
assignBool(options::dtStcInduction, key, optionarg == "true"); |
10763 |
|
return; |
10764 |
|
} |
10765 |
8304 |
if(key == "dt-var-exp-quant") { |
10766 |
|
assignBool(options::dtVarExpandQuant, key, optionarg == "true"); |
10767 |
|
return; |
10768 |
|
} |
10769 |
8304 |
if(key == "e-matching") { |
10770 |
1 |
assignBool(options::eMatching, key, optionarg == "true"); |
10771 |
1 |
return; |
10772 |
|
} |
10773 |
8303 |
if(key == "elim-taut-quant") { |
10774 |
|
assignBool(options::elimTautQuant, key, optionarg == "true"); |
10775 |
|
return; |
10776 |
|
} |
10777 |
8303 |
if(key == "ext-rewrite-quant") { |
10778 |
2 |
assignBool(options::extRewriteQuant, key, optionarg == "true"); |
10779 |
2 |
return; |
10780 |
|
} |
10781 |
8301 |
if(key == "finite-model-find") { |
10782 |
13 |
assignBool(options::finiteModelFind, key, optionarg == "true"); |
10783 |
13 |
return; |
10784 |
|
} |
10785 |
8288 |
if(key == "fmf-bound") { |
10786 |
8 |
assignBool(options::fmfBound, key, optionarg == "true"); |
10787 |
8 |
return; |
10788 |
|
} |
10789 |
8280 |
if(key == "fmf-bound-int") { |
10790 |
6 |
assignBool(options::fmfBoundInt, key, optionarg == "true"); |
10791 |
6 |
return; |
10792 |
|
} |
10793 |
8274 |
if(key == "fmf-bound-lazy") { |
10794 |
|
assignBool(options::fmfBoundLazy, key, optionarg == "true"); |
10795 |
|
return; |
10796 |
|
} |
10797 |
8274 |
if(key == "fmf-fmc-simple") { |
10798 |
|
assignBool(options::fmfFmcSimple, key, optionarg == "true"); |
10799 |
|
return; |
10800 |
|
} |
10801 |
8274 |
if(key == "fmf-fresh-dc") { |
10802 |
|
assignBool(options::fmfFreshDistConst, key, optionarg == "true"); |
10803 |
|
return; |
10804 |
|
} |
10805 |
8274 |
if(key == "fmf-fun") { |
10806 |
12 |
assignBool(options::fmfFunWellDefined, key, optionarg == "true"); |
10807 |
12 |
return; |
10808 |
|
} |
10809 |
8262 |
if(key == "fmf-fun-rlv") { |
10810 |
|
assignBool(options::fmfFunWellDefinedRelevant, key, optionarg == "true"); |
10811 |
|
return; |
10812 |
|
} |
10813 |
8262 |
if(key == "fmf-inst-engine") { |
10814 |
|
assignBool(options::fmfInstEngine, key, optionarg == "true"); |
10815 |
|
return; |
10816 |
|
} |
10817 |
8262 |
if(key == "fmf-type-completion-thresh") { |
10818 |
|
assign(options::fmfTypeCompletionThresh, key, optionarg); |
10819 |
|
return; |
10820 |
|
} |
10821 |
8262 |
if(key == "fs-interleave") { |
10822 |
|
assignBool(options::fullSaturateInterleave, key, optionarg == "true"); |
10823 |
|
return; |
10824 |
|
} |
10825 |
8262 |
if(key == "fs-stratify") { |
10826 |
|
assignBool(options::fullSaturateStratify, key, optionarg == "true"); |
10827 |
|
return; |
10828 |
|
} |
10829 |
8262 |
if(key == "fs-sum") { |
10830 |
|
assignBool(options::fullSaturateSum, key, optionarg == "true"); |
10831 |
|
return; |
10832 |
|
} |
10833 |
8262 |
if(key == "full-saturate-quant") { |
10834 |
|
assignBool(options::fullSaturateQuant, key, optionarg == "true"); |
10835 |
|
return; |
10836 |
|
} |
10837 |
8262 |
if(key == "full-saturate-quant-limit") { |
10838 |
|
assign(options::fullSaturateLimit, key, optionarg); |
10839 |
|
return; |
10840 |
|
} |
10841 |
8262 |
if(key == "full-saturate-quant-rd") { |
10842 |
|
assignBool(options::fullSaturateQuantRd, key, optionarg == "true"); |
10843 |
|
return; |
10844 |
|
} |
10845 |
8262 |
if(key == "global-negate") { |
10846 |
2 |
assignBool(options::globalNegate, key, optionarg == "true"); |
10847 |
2 |
return; |
10848 |
|
} |
10849 |
8260 |
if(key == "ho-elim") { |
10850 |
|
assignBool(options::hoElim, key, optionarg == "true"); |
10851 |
|
return; |
10852 |
|
} |
10853 |
8260 |
if(key == "ho-elim-store-ax") { |
10854 |
|
assignBool(options::hoElimStoreAx, key, optionarg == "true"); |
10855 |
|
return; |
10856 |
|
} |
10857 |
8260 |
if(key == "ho-matching") { |
10858 |
|
assignBool(options::hoMatching, key, optionarg == "true"); |
10859 |
|
return; |
10860 |
|
} |
10861 |
8260 |
if(key == "ho-matching-var-priority") { |
10862 |
|
assignBool(options::hoMatchingVarArgPriority, key, optionarg == "true"); |
10863 |
|
return; |
10864 |
|
} |
10865 |
8260 |
if(key == "ho-merge-term-db") { |
10866 |
|
assignBool(options::hoMergeTermDb, key, optionarg == "true"); |
10867 |
|
return; |
10868 |
|
} |
10869 |
8260 |
if(key == "increment-triggers") { |
10870 |
|
assignBool(options::incrementTriggers, key, optionarg == "true"); |
10871 |
|
return; |
10872 |
|
} |
10873 |
8260 |
if(key == "inst-level-input-only") { |
10874 |
|
assignBool(options::instLevelInputOnly, key, optionarg == "true"); |
10875 |
|
return; |
10876 |
|
} |
10877 |
8260 |
if(key == "inst-max-level") { |
10878 |
|
assign(options::instMaxLevel, key, optionarg); |
10879 |
|
return; |
10880 |
|
} |
10881 |
8260 |
if(key == "inst-no-entail") { |
10882 |
|
assignBool(options::instNoEntail, key, optionarg == "true"); |
10883 |
|
return; |
10884 |
|
} |
10885 |
8260 |
if(key == "inst-when-phase") { |
10886 |
|
assign(options::instWhenPhase, key, optionarg); |
10887 |
|
return; |
10888 |
|
} |
10889 |
8260 |
if(key == "inst-when-strict-interleave") { |
10890 |
|
assignBool(options::instWhenStrictInterleave, key, optionarg == "true"); |
10891 |
|
return; |
10892 |
|
} |
10893 |
8260 |
if(key == "inst-when-tc-first") { |
10894 |
|
assignBool(options::instWhenTcFirst, key, optionarg == "true"); |
10895 |
|
return; |
10896 |
|
} |
10897 |
8260 |
if(key == "inst-when") { |
10898 |
|
assign(options::instWhenMode, key, optionarg); |
10899 |
|
return; |
10900 |
|
} |
10901 |
8260 |
if(key == "int-wf-ind") { |
10902 |
3 |
assignBool(options::intWfInduction, key, optionarg == "true"); |
10903 |
3 |
return; |
10904 |
|
} |
10905 |
8257 |
if(key == "ite-dtt-split-quant") { |
10906 |
|
assignBool(options::iteDtTesterSplitQuant, key, optionarg == "true"); |
10907 |
|
return; |
10908 |
|
} |
10909 |
8257 |
if(key == "ite-lift-quant") { |
10910 |
|
assign(options::iteLiftQuant, key, optionarg); |
10911 |
|
return; |
10912 |
|
} |
10913 |
8257 |
if(key == "literal-matching") { |
10914 |
|
assign(options::literalMatchMode, key, optionarg); |
10915 |
|
return; |
10916 |
|
} |
10917 |
8257 |
if(key == "macros-quant") { |
10918 |
|
assignBool(options::macrosQuant, key, optionarg == "true"); |
10919 |
|
return; |
10920 |
|
} |
10921 |
8257 |
if(key == "macros-quant-mode") { |
10922 |
|
assign(options::macrosQuantMode, key, optionarg); |
10923 |
|
return; |
10924 |
|
} |
10925 |
8257 |
if(key == "mbqi-interleave") { |
10926 |
|
assignBool(options::mbqiInterleave, key, optionarg == "true"); |
10927 |
|
return; |
10928 |
|
} |
10929 |
8257 |
if(key == "mbqi-one-inst-per-round") { |
10930 |
|
assignBool(options::fmfOneInstPerRound, key, optionarg == "true"); |
10931 |
|
return; |
10932 |
|
} |
10933 |
8257 |
if(key == "mbqi") { |
10934 |
|
assign(options::mbqiMode, key, optionarg); |
10935 |
|
return; |
10936 |
|
} |
10937 |
8257 |
if(key == "miniscope-quant") { |
10938 |
129 |
assignBool(options::miniscopeQuant, key, optionarg == "true"); |
10939 |
129 |
return; |
10940 |
|
} |
10941 |
8128 |
if(key == "miniscope-quant-fv") { |
10942 |
126 |
assignBool(options::miniscopeQuantFreeVar, key, optionarg == "true"); |
10943 |
126 |
return; |
10944 |
|
} |
10945 |
8002 |
if(key == "multi-trigger-cache") { |
10946 |
|
assignBool(options::multiTriggerCache, key, optionarg == "true"); |
10947 |
|
return; |
10948 |
|
} |
10949 |
8002 |
if(key == "multi-trigger-linear") { |
10950 |
|
assignBool(options::multiTriggerLinear, key, optionarg == "true"); |
10951 |
|
return; |
10952 |
|
} |
10953 |
8002 |
if(key == "multi-trigger-priority") { |
10954 |
|
assignBool(options::multiTriggerPriority, key, optionarg == "true"); |
10955 |
|
return; |
10956 |
|
} |
10957 |
8002 |
if(key == "multi-trigger-when-single") { |
10958 |
|
assignBool(options::multiTriggerWhenSingle, key, optionarg == "true"); |
10959 |
|
return; |
10960 |
|
} |
10961 |
8002 |
if(key == "partial-triggers") { |
10962 |
|
assignBool(options::partialTriggers, key, optionarg == "true"); |
10963 |
|
return; |
10964 |
|
} |
10965 |
8002 |
if(key == "pool-inst") { |
10966 |
|
assignBool(options::poolInst, key, optionarg == "true"); |
10967 |
|
return; |
10968 |
|
} |
10969 |
8002 |
if(key == "pre-skolem-quant") { |
10970 |
2 |
assignBool(options::preSkolemQuant, key, optionarg == "true"); |
10971 |
2 |
return; |
10972 |
|
} |
10973 |
8000 |
if(key == "pre-skolem-quant-agg") { |
10974 |
|
assignBool(options::preSkolemQuantAgg, key, optionarg == "true"); |
10975 |
|
return; |
10976 |
|
} |
10977 |
8000 |
if(key == "pre-skolem-quant-nested") { |
10978 |
2 |
assignBool(options::preSkolemQuantNested, key, optionarg == "true"); |
10979 |
2 |
return; |
10980 |
|
} |
10981 |
7998 |
if(key == "prenex-quant-user") { |
10982 |
|
assignBool(options::prenexQuantUser, key, optionarg == "true"); |
10983 |
|
return; |
10984 |
|
} |
10985 |
7998 |
if(key == "prenex-quant") { |
10986 |
|
assign(options::prenexQuant, key, optionarg); |
10987 |
|
return; |
10988 |
|
} |
10989 |
7998 |
if(key == "purify-triggers") { |
10990 |
|
assignBool(options::purifyTriggers, key, optionarg == "true"); |
10991 |
|
return; |
10992 |
|
} |
10993 |
7998 |
if(key == "qcf-all-conflict") { |
10994 |
|
assignBool(options::qcfAllConflict, key, optionarg == "true"); |
10995 |
|
return; |
10996 |
|
} |
10997 |
7998 |
if(key == "qcf-eager-check-rd") { |
10998 |
|
assignBool(options::qcfEagerCheckRd, key, optionarg == "true"); |
10999 |
|
return; |
11000 |
|
} |
11001 |
7998 |
if(key == "qcf-eager-test") { |
11002 |
|
assignBool(options::qcfEagerTest, key, optionarg == "true"); |
11003 |
|
return; |
11004 |
|
} |
11005 |
7998 |
if(key == "qcf-nested-conflict") { |
11006 |
|
assignBool(options::qcfNestedConflict, key, optionarg == "true"); |
11007 |
|
return; |
11008 |
|
} |
11009 |
7998 |
if(key == "qcf-skip-rd") { |
11010 |
|
assignBool(options::qcfSkipRd, key, optionarg == "true"); |
11011 |
|
return; |
11012 |
|
} |
11013 |
7998 |
if(key == "qcf-tconstraint") { |
11014 |
|
assignBool(options::qcfTConstraint, key, optionarg == "true"); |
11015 |
|
return; |
11016 |
|
} |
11017 |
7998 |
if(key == "qcf-vo-exp") { |
11018 |
|
assignBool(options::qcfVoExp, key, optionarg == "true"); |
11019 |
|
return; |
11020 |
|
} |
11021 |
7998 |
if(key == "quant-alpha-equiv") { |
11022 |
|
assignBool(options::quantAlphaEquiv, key, optionarg == "true"); |
11023 |
|
return; |
11024 |
|
} |
11025 |
7998 |
if(key == "quant-cf") { |
11026 |
|
assignBool(options::quantConflictFind, key, optionarg == "true"); |
11027 |
|
return; |
11028 |
|
} |
11029 |
7998 |
if(key == "quant-cf-mode") { |
11030 |
|
assign(options::qcfMode, key, optionarg); |
11031 |
|
return; |
11032 |
|
} |
11033 |
7998 |
if(key == "quant-cf-when") { |
11034 |
|
assign(options::qcfWhenMode, key, optionarg); |
11035 |
|
return; |
11036 |
|
} |
11037 |
7998 |
if(key == "quant-dsplit-mode") { |
11038 |
|
assign(options::quantDynamicSplit, key, optionarg); |
11039 |
|
return; |
11040 |
|
} |
11041 |
7998 |
if(key == "quant-fun-wd") { |
11042 |
|
assignBool(options::quantFunWellDefined, key, optionarg == "true"); |
11043 |
|
return; |
11044 |
|
} |
11045 |
7998 |
if(key == "quant-ind") { |
11046 |
2 |
assignBool(options::quantInduction, key, optionarg == "true"); |
11047 |
2 |
return; |
11048 |
|
} |
11049 |
7996 |
if(key == "quant-rep-mode") { |
11050 |
|
assign(options::quantRepMode, key, optionarg); |
11051 |
|
return; |
11052 |
|
} |
11053 |
7996 |
if(key == "quant-split") { |
11054 |
126 |
assignBool(options::quantSplit, key, optionarg == "true"); |
11055 |
126 |
return; |
11056 |
|
} |
11057 |
7870 |
if(key == "register-quant-body-terms") { |
11058 |
|
assignBool(options::registerQuantBodyTerms, key, optionarg == "true"); |
11059 |
|
return; |
11060 |
|
} |
11061 |
7870 |
if(key == "relational-triggers") { |
11062 |
|
assignBool(options::relationalTriggers, key, optionarg == "true"); |
11063 |
|
return; |
11064 |
|
} |
11065 |
7870 |
if(key == "relevant-triggers") { |
11066 |
|
assignBool(options::relevantTriggers, key, optionarg == "true"); |
11067 |
|
return; |
11068 |
|
} |
11069 |
7870 |
if(key == "strict-triggers") { |
11070 |
|
assignBool(options::strictTriggers, key, optionarg == "true"); |
11071 |
|
return; |
11072 |
|
} |
11073 |
7870 |
if(key == "sygus") { |
11074 |
|
assignBool(options::sygus, key, optionarg == "true"); |
11075 |
|
return; |
11076 |
|
} |
11077 |
7870 |
if(key == "sygus-active-gen-cfactor") { |
11078 |
|
assign(options::sygusActiveGenEnumConsts, key, optionarg); |
11079 |
|
return; |
11080 |
|
} |
11081 |
7870 |
if(key == "sygus-active-gen") { |
11082 |
1 |
assign(options::sygusActiveGenMode, key, optionarg); |
11083 |
1 |
return; |
11084 |
|
} |
11085 |
7869 |
if(key == "sygus-add-const-grammar") { |
11086 |
|
assignBool(options::sygusAddConstGrammar, key, optionarg == "true"); |
11087 |
|
return; |
11088 |
|
} |
11089 |
7869 |
if(key == "sygus-arg-relevant") { |
11090 |
|
assignBool(options::sygusArgRelevant, key, optionarg == "true"); |
11091 |
|
return; |
11092 |
|
} |
11093 |
7869 |
if(key == "sygus-auto-unfold") { |
11094 |
|
assignBool(options::sygusInvAutoUnfold, key, optionarg == "true"); |
11095 |
|
return; |
11096 |
|
} |
11097 |
7869 |
if(key == "sygus-bool-ite-return-const") { |
11098 |
|
assignBool(options::sygusBoolIteReturnConst, key, optionarg == "true"); |
11099 |
|
return; |
11100 |
|
} |
11101 |
7869 |
if(key == "sygus-core-connective") { |
11102 |
|
assignBool(options::sygusCoreConnective, key, optionarg == "true"); |
11103 |
|
return; |
11104 |
|
} |
11105 |
7869 |
if(key == "sygus-crepair-abort") { |
11106 |
|
assignBool(options::sygusConstRepairAbort, key, optionarg == "true"); |
11107 |
|
return; |
11108 |
|
} |
11109 |
7869 |
if(key == "sygus-eval-opt") { |
11110 |
|
assignBool(options::sygusEvalOpt, key, optionarg == "true"); |
11111 |
|
return; |
11112 |
|
} |
11113 |
7869 |
if(key == "sygus-eval-unfold") { |
11114 |
|
assignBool(options::sygusEvalUnfold, key, optionarg == "true"); |
11115 |
|
return; |
11116 |
|
} |
11117 |
7869 |
if(key == "sygus-eval-unfold-bool") { |
11118 |
|
assignBool(options::sygusEvalUnfoldBool, key, optionarg == "true"); |
11119 |
|
return; |
11120 |
|
} |
11121 |
7869 |
if(key == "sygus-expr-miner-check-timeout") { |
11122 |
|
assign(options::sygusExprMinerCheckTimeout, key, optionarg); |
11123 |
|
return; |
11124 |
|
} |
11125 |
7869 |
if(key == "sygus-ext-rew") { |
11126 |
2 |
assignBool(options::sygusExtRew, key, optionarg == "true"); |
11127 |
2 |
return; |
11128 |
|
} |
11129 |
7867 |
if(key == "sygus-filter-sol-rev") { |
11130 |
|
assignBool(options::sygusFilterSolRevSubsume, key, optionarg == "true"); |
11131 |
|
return; |
11132 |
|
} |
11133 |
7867 |
if(key == "sygus-filter-sol") { |
11134 |
|
assign(options::sygusFilterSolMode, key, optionarg); |
11135 |
|
return; |
11136 |
|
} |
11137 |
7867 |
if(key == "sygus-grammar-cons") { |
11138 |
|
assign(options::sygusGrammarConsMode, key, optionarg); |
11139 |
|
return; |
11140 |
|
} |
11141 |
7867 |
if(key == "sygus-grammar-norm") { |
11142 |
|
assignBool(options::sygusGrammarNorm, key, optionarg == "true"); |
11143 |
|
return; |
11144 |
|
} |
11145 |
7867 |
if(key == "sygus-inference") { |
11146 |
17 |
assignBool(options::sygusInference, key, optionarg == "true"); |
11147 |
17 |
return; |
11148 |
|
} |
11149 |
7850 |
if(key == "sygus-inst") { |
11150 |
4 |
assignBool(options::sygusInst, key, optionarg == "true"); |
11151 |
4 |
return; |
11152 |
|
} |
11153 |
7846 |
if(key == "sygus-inst-mode") { |
11154 |
|
assign(options::sygusInstMode, key, optionarg); |
11155 |
|
return; |
11156 |
|
} |
11157 |
7846 |
if(key == "sygus-inst-scope") { |
11158 |
|
assign(options::sygusInstScope, key, optionarg); |
11159 |
|
return; |
11160 |
|
} |
11161 |
7846 |
if(key == "sygus-inst-term-sel") { |
11162 |
|
assign(options::sygusInstTermSel, key, optionarg); |
11163 |
|
return; |
11164 |
|
} |
11165 |
7846 |
if(key == "sygus-inv-templ-when-sg") { |
11166 |
|
assignBool(options::sygusInvTemplWhenSyntax, key, optionarg == "true"); |
11167 |
|
return; |
11168 |
|
} |
11169 |
7846 |
if(key == "sygus-inv-templ") { |
11170 |
|
assign(options::sygusInvTemplMode, key, optionarg); |
11171 |
|
return; |
11172 |
|
} |
11173 |
7846 |
if(key == "sygus-min-grammar") { |
11174 |
|
assignBool(options::sygusMinGrammar, key, optionarg == "true"); |
11175 |
|
return; |
11176 |
|
} |
11177 |
7846 |
if(key == "sygus-pbe") { |
11178 |
|
assignBool(options::sygusUnifPbe, key, optionarg == "true"); |
11179 |
|
return; |
11180 |
|
} |
11181 |
7846 |
if(key == "sygus-pbe-multi-fair") { |
11182 |
|
assignBool(options::sygusPbeMultiFair, key, optionarg == "true"); |
11183 |
|
return; |
11184 |
|
} |
11185 |
7846 |
if(key == "sygus-pbe-multi-fair-diff") { |
11186 |
|
assign(options::sygusPbeMultiFairDiff, key, optionarg); |
11187 |
|
return; |
11188 |
|
} |
11189 |
7846 |
if(key == "sygus-qe-preproc") { |
11190 |
|
assignBool(options::sygusQePreproc, key, optionarg == "true"); |
11191 |
|
return; |
11192 |
|
} |
11193 |
7846 |
if(key == "sygus-query-gen") { |
11194 |
|
assignBool(options::sygusQueryGen, key, optionarg == "true"); |
11195 |
|
return; |
11196 |
|
} |
11197 |
7846 |
if(key == "sygus-query-gen-check") { |
11198 |
|
assignBool(options::sygusQueryGenCheck, key, optionarg == "true"); |
11199 |
|
return; |
11200 |
|
} |
11201 |
7846 |
if(key == "sygus-query-gen-dump-files") { |
11202 |
|
assign(options::sygusQueryGenDumpFiles, key, optionarg); |
11203 |
|
return; |
11204 |
|
} |
11205 |
7846 |
if(key == "sygus-query-gen-thresh") { |
11206 |
|
assign(options::sygusQueryGenThresh, key, optionarg); |
11207 |
|
return; |
11208 |
|
} |
11209 |
7846 |
if(key == "sygus-rec-fun") { |
11210 |
2 |
assignBool(options::sygusRecFun, key, optionarg == "true"); |
11211 |
2 |
return; |
11212 |
|
} |
11213 |
7844 |
if(key == "sygus-rec-fun-eval-limit") { |
11214 |
|
assign(options::sygusRecFunEvalLimit, key, optionarg); |
11215 |
|
return; |
11216 |
|
} |
11217 |
7844 |
if(key == "sygus-repair-const") { |
11218 |
|
assignBool(options::sygusRepairConst, key, optionarg == "true"); |
11219 |
|
return; |
11220 |
|
} |
11221 |
7844 |
if(key == "sygus-repair-const-timeout") { |
11222 |
|
assign(options::sygusRepairConstTimeout, key, optionarg); |
11223 |
|
return; |
11224 |
|
} |
11225 |
7844 |
if(key == "sygus-rr") { |
11226 |
|
assignBool(options::sygusRew, key, optionarg == "true"); |
11227 |
|
return; |
11228 |
|
} |
11229 |
7844 |
if(key == "sygus-rr-synth") { |
11230 |
|
assignBool(options::sygusRewSynth, key, optionarg == "true"); |
11231 |
|
return; |
11232 |
|
} |
11233 |
7844 |
if(key == "sygus-rr-synth-accel") { |
11234 |
|
assignBool(options::sygusRewSynthAccel, key, optionarg == "true"); |
11235 |
|
return; |
11236 |
|
} |
11237 |
7844 |
if(key == "sygus-rr-synth-check") { |
11238 |
|
assignBool(options::sygusRewSynthCheck, key, optionarg == "true"); |
11239 |
|
return; |
11240 |
|
} |
11241 |
7844 |
if(key == "sygus-rr-synth-filter-cong") { |
11242 |
|
assignBool(options::sygusRewSynthFilterCong, key, optionarg == "true"); |
11243 |
|
return; |
11244 |
|
} |
11245 |
7844 |
if(key == "sygus-rr-synth-filter-match") { |
11246 |
|
assignBool(options::sygusRewSynthFilterMatch, key, optionarg == "true"); |
11247 |
|
return; |
11248 |
|
} |
11249 |
7844 |
if(key == "sygus-rr-synth-filter-nl") { |
11250 |
|
assignBool(options::sygusRewSynthFilterNonLinear, key, optionarg == "true"); |
11251 |
|
return; |
11252 |
|
} |
11253 |
7844 |
if(key == "sygus-rr-synth-filter-order") { |
11254 |
|
assignBool(options::sygusRewSynthFilterOrder, key, optionarg == "true"); |
11255 |
|
return; |
11256 |
|
} |
11257 |
7844 |
if(key == "sygus-rr-synth-input") { |
11258 |
242 |
assignBool(options::sygusRewSynthInput, key, optionarg == "true"); |
11259 |
242 |
return; |
11260 |
|
} |
11261 |
7602 |
if(key == "sygus-rr-synth-input-nvars") { |
11262 |
|
assign(options::sygusRewSynthInputNVars, key, optionarg); |
11263 |
|
return; |
11264 |
|
} |
11265 |
7602 |
if(key == "sygus-rr-synth-input-use-bool") { |
11266 |
|
assignBool(options::sygusRewSynthInputUseBool, key, optionarg == "true"); |
11267 |
|
return; |
11268 |
|
} |
11269 |
7602 |
if(key == "sygus-rr-synth-rec") { |
11270 |
|
assignBool(options::sygusRewSynthRec, key, optionarg == "true"); |
11271 |
|
return; |
11272 |
|
} |
11273 |
7602 |
if(key == "sygus-rr-verify") { |
11274 |
|
assignBool(options::sygusRewVerify, key, optionarg == "true"); |
11275 |
|
return; |
11276 |
|
} |
11277 |
7602 |
if(key == "sygus-rr-verify-abort") { |
11278 |
|
assignBool(options::sygusRewVerifyAbort, key, optionarg == "true"); |
11279 |
|
return; |
11280 |
|
} |
11281 |
7602 |
if(key == "sygus-sample-fp-uniform") { |
11282 |
|
assignBool(options::sygusSampleFpUniform, key, optionarg == "true"); |
11283 |
|
return; |
11284 |
|
} |
11285 |
7602 |
if(key == "sygus-sample-grammar") { |
11286 |
|
assignBool(options::sygusSampleGrammar, key, optionarg == "true"); |
11287 |
|
return; |
11288 |
|
} |
11289 |
7602 |
if(key == "sygus-samples") { |
11290 |
|
assign(options::sygusSamples, key, optionarg); |
11291 |
|
return; |
11292 |
|
} |
11293 |
7602 |
if(key == "sygus-si-abort") { |
11294 |
|
assignBool(options::cegqiSingleInvAbort, key, optionarg == "true"); |
11295 |
|
return; |
11296 |
|
} |
11297 |
7602 |
if(key == "sygus-si-partial") { |
11298 |
|
assignBool(options::cegqiSingleInvPartial, key, optionarg == "true"); |
11299 |
|
return; |
11300 |
|
} |
11301 |
7602 |
if(key == "sygus-si-rcons-limit") { |
11302 |
|
assign(options::cegqiSingleInvReconstructLimit, key, optionarg); |
11303 |
|
return; |
11304 |
|
} |
11305 |
7602 |
if(key == "sygus-si-rcons") { |
11306 |
|
assign(options::cegqiSingleInvReconstruct, key, optionarg); |
11307 |
|
return; |
11308 |
|
} |
11309 |
7602 |
if(key == "sygus-si-reconstruct-const") { |
11310 |
|
assignBool(options::cegqiSingleInvReconstructConst, key, optionarg == "true"); |
11311 |
|
return; |
11312 |
|
} |
11313 |
7602 |
if(key == "sygus-si") { |
11314 |
|
assign(options::cegqiSingleInvMode, key, optionarg); |
11315 |
|
return; |
11316 |
|
} |
11317 |
7602 |
if(key == "sygus-stream") { |
11318 |
|
assignBool(options::sygusStream, key, optionarg == "true"); |
11319 |
|
return; |
11320 |
|
} |
11321 |
7602 |
if(key == "sygus-templ-embed-grammar") { |
11322 |
|
assignBool(options::sygusTemplEmbedGrammar, key, optionarg == "true"); |
11323 |
|
return; |
11324 |
|
} |
11325 |
7602 |
if(key == "sygus-unif-cond-independent-no-repeat-sol") { |
11326 |
|
assignBool(options::sygusUnifCondIndNoRepeatSol, key, optionarg == "true"); |
11327 |
|
return; |
11328 |
|
} |
11329 |
7602 |
if(key == "sygus-unif-pi") { |
11330 |
|
assign(options::sygusUnifPi, key, optionarg); |
11331 |
|
return; |
11332 |
|
} |
11333 |
7602 |
if(key == "sygus-unif-shuffle-cond") { |
11334 |
|
assignBool(options::sygusUnifShuffleCond, key, optionarg == "true"); |
11335 |
|
return; |
11336 |
|
} |
11337 |
7602 |
if(key == "term-db-cd") { |
11338 |
|
assignBool(options::termDbCd, key, optionarg == "true"); |
11339 |
|
return; |
11340 |
|
} |
11341 |
7602 |
if(key == "term-db-mode") { |
11342 |
|
assign(options::termDbMode, key, optionarg); |
11343 |
|
return; |
11344 |
|
} |
11345 |
7602 |
if(key == "trigger-active-sel") { |
11346 |
|
assign(options::triggerActiveSelMode, key, optionarg); |
11347 |
|
return; |
11348 |
|
} |
11349 |
7602 |
if(key == "trigger-sel") { |
11350 |
|
assign(options::triggerSelMode, key, optionarg); |
11351 |
|
return; |
11352 |
|
} |
11353 |
7602 |
if(key == "user-pat") { |
11354 |
|
assign(options::userPatternsQuant, key, optionarg); |
11355 |
|
return; |
11356 |
|
} |
11357 |
7602 |
if(key == "var-elim-quant") { |
11358 |
|
assignBool(options::varElimQuant, key, optionarg == "true"); |
11359 |
|
return; |
11360 |
|
} |
11361 |
7602 |
if(key == "var-ineq-elim-quant") { |
11362 |
6 |
assignBool(options::varIneqElimQuant, key, optionarg == "true"); |
11363 |
6 |
return; |
11364 |
|
} |
11365 |
7596 |
if(key == "reproducible-resource-limit" || key == "rlimit-per") { |
11366 |
|
assign(options::perCallResourceLimit, key, optionarg); |
11367 |
|
return; |
11368 |
|
} |
11369 |
7596 |
if(key == "rlimit") { |
11370 |
|
assign(options::cumulativeResourceLimit, key, optionarg); |
11371 |
|
return; |
11372 |
|
} |
11373 |
7596 |
if(key == "rweight") { |
11374 |
|
handler->setResourceWeight("rweight", optionarg); |
11375 |
|
return; |
11376 |
|
} |
11377 |
7596 |
if(key == "tlimit-per") { |
11378 |
|
assign(options::perCallMillisecondLimit, key, optionarg); |
11379 |
|
return; |
11380 |
|
} |
11381 |
7596 |
if(key == "tlimit") { |
11382 |
|
assign(options::cumulativeMillisecondLimit, key, optionarg); |
11383 |
|
return; |
11384 |
|
} |
11385 |
7596 |
if(key == "sep-check-neg") { |
11386 |
|
assignBool(options::sepCheckNeg, key, optionarg == "true"); |
11387 |
|
return; |
11388 |
|
} |
11389 |
7596 |
if(key == "sep-child-refine") { |
11390 |
|
assignBool(options::sepChildRefine, key, optionarg == "true"); |
11391 |
|
return; |
11392 |
|
} |
11393 |
7596 |
if(key == "sep-deq-c") { |
11394 |
|
assignBool(options::sepDisequalC, key, optionarg == "true"); |
11395 |
|
return; |
11396 |
|
} |
11397 |
7596 |
if(key == "sep-exp") { |
11398 |
|
assignBool(options::sepExp, key, optionarg == "true"); |
11399 |
|
return; |
11400 |
|
} |
11401 |
7596 |
if(key == "sep-min-refine") { |
11402 |
|
assignBool(options::sepMinimalRefine, key, optionarg == "true"); |
11403 |
|
return; |
11404 |
|
} |
11405 |
7596 |
if(key == "sep-pre-skolem-emp") { |
11406 |
|
assignBool(options::sepPreSkolemEmp, key, optionarg == "true"); |
11407 |
|
return; |
11408 |
|
} |
11409 |
7596 |
if(key == "sets-ext") { |
11410 |
84 |
assignBool(options::setsExt, key, optionarg == "true"); |
11411 |
84 |
return; |
11412 |
|
} |
11413 |
7512 |
if(key == "sets-infer-as-lemmas") { |
11414 |
|
assignBool(options::setsInferAsLemmas, key, optionarg == "true"); |
11415 |
|
return; |
11416 |
|
} |
11417 |
7512 |
if(key == "sets-proxy-lemmas") { |
11418 |
|
assignBool(options::setsProxyLemmas, key, optionarg == "true"); |
11419 |
|
return; |
11420 |
|
} |
11421 |
7512 |
if(key == "abstract-values") { |
11422 |
|
assignBool(options::abstractValues, key, optionarg == "true"); |
11423 |
|
return; |
11424 |
|
} |
11425 |
7512 |
if(key == "ackermann") { |
11426 |
|
assignBool(options::ackermann, key, optionarg == "true"); |
11427 |
|
return; |
11428 |
|
} |
11429 |
7512 |
if(key == "block-models") { |
11430 |
14 |
assign(options::blockModelsMode, key, optionarg); |
11431 |
14 |
return; |
11432 |
|
} |
11433 |
7498 |
if(key == "bvand-integer-granularity") { |
11434 |
|
assign(options::BVAndIntegerGranularity, key, optionarg); |
11435 |
|
return; |
11436 |
|
} |
11437 |
7498 |
if(key == "check-abducts") { |
11438 |
|
assignBool(options::checkAbducts, key, optionarg == "true"); |
11439 |
|
return; |
11440 |
|
} |
11441 |
7498 |
if(key == "check-interpols") { |
11442 |
|
assignBool(options::checkInterpols, key, optionarg == "true"); |
11443 |
|
return; |
11444 |
|
} |
11445 |
7498 |
if(key == "check-models") { |
11446 |
8 |
assignBool(options::checkModels, key, optionarg == "true"); |
11447 |
8 |
return; |
11448 |
|
} |
11449 |
7490 |
if(key == "check-proofs") { |
11450 |
|
assignBool(options::checkProofs, key, optionarg == "true"); |
11451 |
|
return; |
11452 |
|
} |
11453 |
7490 |
if(key == "check-synth-sol") { |
11454 |
|
assignBool(options::checkSynthSol, key, optionarg == "true"); |
11455 |
|
return; |
11456 |
|
} |
11457 |
7490 |
if(key == "check-unsat-cores") { |
11458 |
4 |
assignBool(options::checkUnsatCores, key, optionarg == "true"); |
11459 |
4 |
return; |
11460 |
|
} |
11461 |
7486 |
if(key == "debug-check-models") { |
11462 |
|
assignBool(options::debugCheckModels, key, optionarg == "true"); |
11463 |
|
return; |
11464 |
|
} |
11465 |
7486 |
if(key == "diagnostic-output-channel") { |
11466 |
|
assign(options::diagnosticChannelName, key, optionarg); |
11467 |
|
return; |
11468 |
|
} |
11469 |
7486 |
if(key == "dump-instantiations") { |
11470 |
|
assignBool(options::dumpInstantiations, key, optionarg == "true"); |
11471 |
|
return; |
11472 |
|
} |
11473 |
7486 |
if(key == "dump-models") { |
11474 |
|
assignBool(options::dumpModels, key, optionarg == "true"); |
11475 |
|
return; |
11476 |
|
} |
11477 |
7486 |
if(key == "dump-proofs") { |
11478 |
|
assignBool(options::dumpProofs, key, optionarg == "true"); |
11479 |
|
return; |
11480 |
|
} |
11481 |
7486 |
if(key == "dump-to") { |
11482 |
|
assign(options::dumpToFileName, key, optionarg); |
11483 |
|
return; |
11484 |
|
} |
11485 |
7486 |
if(key == "dump-unsat-cores") { |
11486 |
|
assignBool(options::dumpUnsatCores, key, optionarg == "true"); |
11487 |
|
return; |
11488 |
|
} |
11489 |
7486 |
if(key == "dump-unsat-cores-full") { |
11490 |
|
assignBool(options::dumpUnsatCoresFull, key, optionarg == "true"); |
11491 |
|
return; |
11492 |
|
} |
11493 |
7486 |
if(key == "dump") { |
11494 |
|
assign(options::dumpModeString, key, optionarg); |
11495 |
|
return; |
11496 |
|
} |
11497 |
7486 |
if(key == "early-ite-removal") { |
11498 |
|
assignBool(options::earlyIteRemoval, key, optionarg == "true"); |
11499 |
|
return; |
11500 |
|
} |
11501 |
7486 |
if(key == "expand-definitions") { |
11502 |
|
assignBool(options::expandDefinitions, key, optionarg == "true"); |
11503 |
|
return; |
11504 |
|
} |
11505 |
7486 |
if(key == "ext-rew-prep") { |
11506 |
2 |
assignBool(options::extRewPrep, key, optionarg == "true"); |
11507 |
2 |
return; |
11508 |
|
} |
11509 |
7484 |
if(key == "ext-rew-prep-agg") { |
11510 |
|
assignBool(options::extRewPrepAgg, key, optionarg == "true"); |
11511 |
|
return; |
11512 |
|
} |
11513 |
7484 |
if(key == "force-no-limit-cpu-while-dump") { |
11514 |
|
assignBool(options::forceNoLimitCpuWhileDump, key, optionarg == "true"); |
11515 |
|
return; |
11516 |
|
} |
11517 |
7484 |
if(key == "foreign-theory-rewrite") { |
11518 |
|
assignBool(options::foreignTheoryRewrite, key, optionarg == "true"); |
11519 |
|
return; |
11520 |
|
} |
11521 |
7484 |
if(key == "iand-mode") { |
11522 |
|
assign(options::iandMode, key, optionarg); |
11523 |
|
return; |
11524 |
|
} |
11525 |
7484 |
if(key == "incremental") { |
11526 |
6352 |
assignBool(options::incrementalSolving, key, optionarg == "true"); |
11527 |
6352 |
return; |
11528 |
|
} |
11529 |
1132 |
if(key == "interactive-mode") { |
11530 |
2 |
assignBool(options::interactiveMode, key, optionarg == "true"); |
11531 |
2 |
return; |
11532 |
|
} |
11533 |
1130 |
if(key == "ite-simp") { |
11534 |
2 |
assignBool(options::doITESimp, key, optionarg == "true"); |
11535 |
2 |
return; |
11536 |
|
} |
11537 |
1128 |
if(key == "model-cores") { |
11538 |
|
assign(options::modelCoresMode, key, optionarg); |
11539 |
|
return; |
11540 |
|
} |
11541 |
1128 |
if(key == "model-u-print" || key == "model-uninterp-print") { |
11542 |
|
assign(options::modelUninterpPrint, key, optionarg); |
11543 |
|
return; |
11544 |
|
} |
11545 |
1128 |
if(key == "model-witness-value") { |
11546 |
|
assignBool(options::modelWitnessValue, key, optionarg == "true"); |
11547 |
|
return; |
11548 |
|
} |
11549 |
1128 |
if(key == "on-repeat-ite-simp") { |
11550 |
|
assignBool(options::doITESimpOnRepeat, key, optionarg == "true"); |
11551 |
|
return; |
11552 |
|
} |
11553 |
1128 |
if(key == "produce-abducts") { |
11554 |
9 |
assignBool(options::produceAbducts, key, optionarg == "true"); |
11555 |
9 |
return; |
11556 |
|
} |
11557 |
1119 |
if(key == "produce-assertions") { |
11558 |
18 |
assignBool(options::produceAssertions, key, optionarg == "true"); |
11559 |
18 |
return; |
11560 |
|
} |
11561 |
1101 |
if(key == "produce-assignments") { |
11562 |
4 |
assignBool(options::produceAssignments, key, optionarg == "true"); |
11563 |
4 |
return; |
11564 |
|
} |
11565 |
1097 |
if(key == "produce-interpols") { |
11566 |
3 |
assign(options::produceInterpols, key, optionarg); |
11567 |
3 |
return; |
11568 |
|
} |
11569 |
1094 |
if(key == "produce-models") { |
11570 |
744 |
assignBool(options::produceModels, key, optionarg == "true"); |
11571 |
744 |
return; |
11572 |
|
} |
11573 |
350 |
if(key == "produce-proofs") { |
11574 |
2 |
assignBool(options::produceProofs, key, optionarg == "true"); |
11575 |
2 |
return; |
11576 |
|
} |
11577 |
348 |
if(key == "produce-unsat-assumptions") { |
11578 |
13 |
assignBool(options::unsatAssumptions, key, optionarg == "true"); |
11579 |
13 |
return; |
11580 |
|
} |
11581 |
335 |
if(key == "produce-unsat-cores") { |
11582 |
15 |
assignBool(options::unsatCores, key, optionarg == "true"); |
11583 |
15 |
return; |
11584 |
|
} |
11585 |
320 |
if(key == "regular-output-channel") { |
11586 |
|
assign(options::regularChannelName, key, optionarg); |
11587 |
|
return; |
11588 |
|
} |
11589 |
320 |
if(key == "repeat-simp") { |
11590 |
|
assignBool(options::repeatSimp, key, optionarg == "true"); |
11591 |
|
return; |
11592 |
|
} |
11593 |
320 |
if(key == "simp-ite-compress") { |
11594 |
2 |
assignBool(options::compressItes, key, optionarg == "true"); |
11595 |
2 |
return; |
11596 |
|
} |
11597 |
318 |
if(key == "simp-ite-hunt-zombies") { |
11598 |
|
assign(options::zombieHuntThreshold, key, optionarg); |
11599 |
|
return; |
11600 |
|
} |
11601 |
318 |
if(key == "simp-with-care") { |
11602 |
|
assignBool(options::simplifyWithCareEnabled, key, optionarg == "true"); |
11603 |
|
return; |
11604 |
|
} |
11605 |
318 |
if(key == "simplification" || key == "simplification-mode") { |
11606 |
1 |
assign(options::simplificationMode, key, optionarg); |
11607 |
1 |
return; |
11608 |
|
} |
11609 |
317 |
if(key == "solve-bv-as-int") { |
11610 |
14 |
assign(options::solveBVAsInt, key, optionarg); |
11611 |
14 |
return; |
11612 |
|
} |
11613 |
303 |
if(key == "solve-int-as-bv") { |
11614 |
4 |
assign(options::solveIntAsBV, key, optionarg); |
11615 |
4 |
return; |
11616 |
|
} |
11617 |
299 |
if(key == "solve-real-as-int") { |
11618 |
|
assignBool(options::solveRealAsInt, key, optionarg == "true"); |
11619 |
|
return; |
11620 |
|
} |
11621 |
299 |
if(key == "sort-inference") { |
11622 |
6 |
assignBool(options::sortInference, key, optionarg == "true"); |
11623 |
6 |
return; |
11624 |
|
} |
11625 |
293 |
if(key == "static-learning") { |
11626 |
|
assignBool(options::doStaticLearning, key, optionarg == "true"); |
11627 |
|
return; |
11628 |
|
} |
11629 |
293 |
if(key == "sygus-out") { |
11630 |
|
assign(options::sygusOut, key, optionarg); |
11631 |
|
return; |
11632 |
|
} |
11633 |
293 |
if(key == "sygus-print-callbacks") { |
11634 |
|
assignBool(options::sygusPrintCallbacks, key, optionarg == "true"); |
11635 |
|
return; |
11636 |
|
} |
11637 |
293 |
if(key == "unconstrained-simp") { |
11638 |
|
assignBool(options::unconstrainedSimp, key, optionarg == "true"); |
11639 |
|
return; |
11640 |
|
} |
11641 |
293 |
if(key == "unsat-cores-mode") { |
11642 |
|
assign(options::unsatCoresMode, key, optionarg); |
11643 |
|
return; |
11644 |
|
} |
11645 |
293 |
if(key == "re-elim") { |
11646 |
14 |
assignBool(options::regExpElim, key, optionarg == "true"); |
11647 |
14 |
return; |
11648 |
|
} |
11649 |
279 |
if(key == "re-elim-agg") { |
11650 |
6 |
assignBool(options::regExpElimAgg, key, optionarg == "true"); |
11651 |
6 |
return; |
11652 |
|
} |
11653 |
273 |
if(key == "re-inter-mode") { |
11654 |
|
assign(options::stringRegExpInterMode, key, optionarg); |
11655 |
|
return; |
11656 |
|
} |
11657 |
273 |
if(key == "strings-check-entail-len") { |
11658 |
|
assignBool(options::stringCheckEntailLen, key, optionarg == "true"); |
11659 |
|
return; |
11660 |
|
} |
11661 |
273 |
if(key == "strings-eager") { |
11662 |
|
assignBool(options::stringEager, key, optionarg == "true"); |
11663 |
|
return; |
11664 |
|
} |
11665 |
273 |
if(key == "strings-eager-eval") { |
11666 |
|
assignBool(options::stringEagerEval, key, optionarg == "true"); |
11667 |
|
return; |
11668 |
|
} |
11669 |
273 |
if(key == "strings-eager-len") { |
11670 |
|
assignBool(options::stringEagerLen, key, optionarg == "true"); |
11671 |
|
return; |
11672 |
|
} |
11673 |
273 |
if(key == "strings-exp") { |
11674 |
219 |
assignBool(options::stringExp, key, optionarg == "true"); |
11675 |
219 |
return; |
11676 |
|
} |
11677 |
54 |
if(key == "strings-ff") { |
11678 |
|
assignBool(options::stringFlatForms, key, optionarg == "true"); |
11679 |
|
return; |
11680 |
|
} |
11681 |
54 |
if(key == "strings-fmf") { |
11682 |
24 |
assignBool(options::stringFMF, key, optionarg == "true"); |
11683 |
24 |
return; |
11684 |
|
} |
11685 |
30 |
if(key == "strings-guess-model") { |
11686 |
|
assignBool(options::stringGuessModel, key, optionarg == "true"); |
11687 |
|
return; |
11688 |
|
} |
11689 |
30 |
if(key == "strings-infer-as-lemmas") { |
11690 |
|
assignBool(options::stringInferAsLemmas, key, optionarg == "true"); |
11691 |
|
return; |
11692 |
|
} |
11693 |
30 |
if(key == "strings-infer-sym") { |
11694 |
|
assignBool(options::stringInferSym, key, optionarg == "true"); |
11695 |
|
return; |
11696 |
|
} |
11697 |
30 |
if(key == "strings-inm") { |
11698 |
2 |
assignBool(options::stringIgnNegMembership, key, optionarg == "true"); |
11699 |
2 |
return; |
11700 |
|
} |
11701 |
28 |
if(key == "strings-lazy-pp") { |
11702 |
7 |
assignBool(options::stringLazyPreproc, key, optionarg == "true"); |
11703 |
7 |
return; |
11704 |
|
} |
11705 |
21 |
if(key == "strings-len-norm") { |
11706 |
|
assignBool(options::stringLenNorm, key, optionarg == "true"); |
11707 |
|
return; |
11708 |
|
} |
11709 |
21 |
if(key == "strings-lprop-csp") { |
11710 |
|
assignBool(options::stringLenPropCsp, key, optionarg == "true"); |
11711 |
|
return; |
11712 |
|
} |
11713 |
21 |
if(key == "strings-min-prefix-explain") { |
11714 |
|
assignBool(options::stringMinPrefixExplain, key, optionarg == "true"); |
11715 |
|
return; |
11716 |
|
} |
11717 |
21 |
if(key == "strings-process-loop-mode") { |
11718 |
|
assign(options::stringProcessLoopMode, key, optionarg); |
11719 |
|
return; |
11720 |
|
} |
11721 |
21 |
if(key == "strings-rexplain-lemmas") { |
11722 |
|
assignBool(options::stringRExplainLemmas, key, optionarg == "true"); |
11723 |
|
return; |
11724 |
|
} |
11725 |
21 |
if(key == "strings-unified-vspt") { |
11726 |
|
assignBool(options::stringUnifiedVSpt, key, optionarg == "true"); |
11727 |
|
return; |
11728 |
|
} |
11729 |
21 |
if(key == "assign-function-values") { |
11730 |
2 |
assignBool(options::assignFunctionValues, key, optionarg == "true"); |
11731 |
2 |
return; |
11732 |
|
} |
11733 |
19 |
if(key == "condense-function-values") { |
11734 |
|
assignBool(options::condenseFunctionValues, key, optionarg == "true"); |
11735 |
|
return; |
11736 |
|
} |
11737 |
19 |
if(key == "ee-mode") { |
11738 |
|
assign(options::eeMode, key, optionarg); |
11739 |
|
return; |
11740 |
|
} |
11741 |
19 |
if(key == "relevance-filter") { |
11742 |
|
assignBool(options::relevanceFilter, key, optionarg == "true"); |
11743 |
|
return; |
11744 |
|
} |
11745 |
19 |
if(key == "tc-mode") { |
11746 |
|
assign(options::tcMode, key, optionarg); |
11747 |
|
return; |
11748 |
|
} |
11749 |
19 |
if(key == "theoryof-mode") { |
11750 |
|
assign(options::theoryOfMode, key, optionarg); |
11751 |
|
return; |
11752 |
|
} |
11753 |
19 |
if(key == "symmetry-breaker" || key == "uf-symmetry-breaker") { |
11754 |
|
assignBool(options::ufSymmetryBreaker, key, optionarg == "true"); |
11755 |
|
return; |
11756 |
|
} |
11757 |
19 |
if(key == "uf-ho") { |
11758 |
19 |
assignBool(options::ufHo, key, optionarg == "true"); |
11759 |
19 |
return; |
11760 |
|
} |
11761 |
|
if(key == "uf-ho-ext") { |
11762 |
|
assignBool(options::ufHoExt, key, optionarg == "true"); |
11763 |
|
return; |
11764 |
|
} |
11765 |
|
if(key == "uf-ss-abort-card") { |
11766 |
|
assign(options::ufssAbortCardinality, key, optionarg); |
11767 |
|
return; |
11768 |
|
} |
11769 |
|
if(key == "uf-ss-fair") { |
11770 |
|
assignBool(options::ufssFairness, key, optionarg == "true"); |
11771 |
|
return; |
11772 |
|
} |
11773 |
|
if(key == "uf-ss-fair-monotone") { |
11774 |
|
assignBool(options::ufssFairnessMonotone, key, optionarg == "true"); |
11775 |
|
return; |
11776 |
|
} |
11777 |
|
if(key == "uf-ss-totality-limited") { |
11778 |
|
assign(options::ufssTotalityLimited, key, optionarg); |
11779 |
|
return; |
11780 |
|
} |
11781 |
|
if(key == "uf-ss-totality-sym-break") { |
11782 |
|
assignBool(options::ufssTotalitySymBreak, key, optionarg == "true"); |
11783 |
|
return; |
11784 |
|
} |
11785 |
|
if(key == "uf-ss") { |
11786 |
|
assign(options::ufssMode, key, optionarg); |
11787 |
|
return; |
11788 |
|
} |
11789 |
|
throw UnrecognizedOptionException(key); |
11790 |
|
} |
11791 |
|
// clang-format on |
11792 |
|
|
11793 |
|
// clang-format off |
11794 |
29 |
std::string Options::getOption(const std::string& key) const |
11795 |
|
{ |
11796 |
29 |
Trace("options") << "Options::getOption(" << key << ")" << std::endl; |
11797 |
29 |
if (key == "approx-branch-depth") { |
11798 |
|
return std::to_string((*this)[options::maxApproxDepth]); |
11799 |
|
} |
11800 |
29 |
if (key == "arith-brab") { |
11801 |
|
return (*this)[options::brabTest] ? "true" : "false"; |
11802 |
|
} |
11803 |
29 |
if (key == "arith-no-partial-fun") { |
11804 |
|
return (*this)[options::arithNoPartialFun] ? "true" : "false"; |
11805 |
|
} |
11806 |
29 |
if (key == "arith-prop-clauses") { |
11807 |
|
return std::to_string((*this)[options::arithPropAsLemmaLength]); |
11808 |
|
} |
11809 |
29 |
if (key == "arith-prop") { |
11810 |
|
std::stringstream ss; |
11811 |
|
ss << (*this)[options::arithPropagationMode]; |
11812 |
|
return ss.str(); |
11813 |
|
} |
11814 |
29 |
if (key == "arith-rewrite-equalities") { |
11815 |
|
return (*this)[options::arithRewriteEq] ? "true" : "false"; |
11816 |
|
} |
11817 |
29 |
if (key == "collect-pivot-stats") { |
11818 |
|
return (*this)[options::collectPivots] ? "true" : "false"; |
11819 |
|
} |
11820 |
29 |
if (key == "cut-all-bounded") { |
11821 |
|
return (*this)[options::doCutAllBounded] ? "true" : "false"; |
11822 |
|
} |
11823 |
29 |
if (key == "dio-decomps") { |
11824 |
|
return (*this)[options::exportDioDecompositions] ? "true" : "false"; |
11825 |
|
} |
11826 |
29 |
if (key == "dio-repeat") { |
11827 |
|
return (*this)[options::dioRepeat] ? "true" : "false"; |
11828 |
|
} |
11829 |
29 |
if (key == "dio-solver") { |
11830 |
|
return (*this)[options::arithDioSolver] ? "true" : "false"; |
11831 |
|
} |
11832 |
29 |
if (key == "dio-turns") { |
11833 |
|
return std::to_string((*this)[options::dioSolverTurns]); |
11834 |
|
} |
11835 |
29 |
if (key == "error-selection-rule") { |
11836 |
|
std::stringstream ss; |
11837 |
|
ss << (*this)[options::arithErrorSelectionRule]; |
11838 |
|
return ss.str(); |
11839 |
|
} |
11840 |
29 |
if (key == "fc-penalties") { |
11841 |
|
return (*this)[options::havePenalties] ? "true" : "false"; |
11842 |
|
} |
11843 |
29 |
if (key == "heuristic-pivots") { |
11844 |
|
return std::to_string((*this)[options::arithHeuristicPivots]); |
11845 |
|
} |
11846 |
29 |
if (key == "lemmas-on-replay-failure") { |
11847 |
|
return (*this)[options::replayFailureLemma] ? "true" : "false"; |
11848 |
|
} |
11849 |
29 |
if (key == "maxCutsInContext") { |
11850 |
|
return std::to_string((*this)[options::maxCutsInContext]); |
11851 |
|
} |
11852 |
29 |
if (key == "miplib-trick") { |
11853 |
|
return (*this)[options::arithMLTrick] ? "true" : "false"; |
11854 |
|
} |
11855 |
29 |
if (key == "miplib-trick-subs") { |
11856 |
|
return std::to_string((*this)[options::arithMLTrickSubstitutions]); |
11857 |
|
} |
11858 |
29 |
if (key == "new-prop") { |
11859 |
|
return (*this)[options::newProp] ? "true" : "false"; |
11860 |
|
} |
11861 |
29 |
if (key == "nl-cad") { |
11862 |
|
return (*this)[options::nlCad] ? "true" : "false"; |
11863 |
|
} |
11864 |
29 |
if (key == "nl-cad-initial") { |
11865 |
|
return (*this)[options::nlCadUseInitial] ? "true" : "false"; |
11866 |
|
} |
11867 |
29 |
if (key == "nl-ext-ent-conf") { |
11868 |
|
return (*this)[options::nlExtEntailConflicts] ? "true" : "false"; |
11869 |
|
} |
11870 |
29 |
if (key == "nl-ext-factor") { |
11871 |
|
return (*this)[options::nlExtFactor] ? "true" : "false"; |
11872 |
|
} |
11873 |
29 |
if (key == "nl-ext-inc-prec") { |
11874 |
|
return (*this)[options::nlExtIncPrecision] ? "true" : "false"; |
11875 |
|
} |
11876 |
29 |
if (key == "nl-ext-purify") { |
11877 |
|
return (*this)[options::nlExtPurify] ? "true" : "false"; |
11878 |
|
} |
11879 |
29 |
if (key == "nl-ext-rbound") { |
11880 |
|
return (*this)[options::nlExtResBound] ? "true" : "false"; |
11881 |
|
} |
11882 |
29 |
if (key == "nl-ext-rewrite") { |
11883 |
|
return (*this)[options::nlExtRewrites] ? "true" : "false"; |
11884 |
|
} |
11885 |
29 |
if (key == "nl-ext-split-zero") { |
11886 |
|
return (*this)[options::nlExtSplitZero] ? "true" : "false"; |
11887 |
|
} |
11888 |
29 |
if (key == "nl-ext-tf-taylor-deg") { |
11889 |
|
return std::to_string((*this)[options::nlExtTfTaylorDegree]); |
11890 |
|
} |
11891 |
29 |
if (key == "nl-ext-tf-tplanes") { |
11892 |
|
return (*this)[options::nlExtTfTangentPlanes] ? "true" : "false"; |
11893 |
|
} |
11894 |
29 |
if (key == "nl-ext-tplanes") { |
11895 |
|
return (*this)[options::nlExtTangentPlanes] ? "true" : "false"; |
11896 |
|
} |
11897 |
29 |
if (key == "nl-ext-tplanes-interleave") { |
11898 |
|
return (*this)[options::nlExtTangentPlanesInterleave] ? "true" : "false"; |
11899 |
|
} |
11900 |
29 |
if (key == "nl-ext") { |
11901 |
|
std::stringstream ss; |
11902 |
|
ss << (*this)[options::nlExt]; |
11903 |
|
return ss.str(); |
11904 |
|
} |
11905 |
29 |
if (key == "nl-icp") { |
11906 |
|
return (*this)[options::nlICP] ? "true" : "false"; |
11907 |
|
} |
11908 |
29 |
if (key == "nl-rlv") { |
11909 |
|
std::stringstream ss; |
11910 |
|
ss << (*this)[options::nlRlvMode]; |
11911 |
|
return ss.str(); |
11912 |
|
} |
11913 |
29 |
if (key == "pb-rewrites") { |
11914 |
|
return (*this)[options::pbRewrites] ? "true" : "false"; |
11915 |
|
} |
11916 |
29 |
if (key == "pivot-threshold") { |
11917 |
|
return std::to_string((*this)[options::arithPivotThreshold]); |
11918 |
|
} |
11919 |
29 |
if (key == "pp-assert-max-sub-size") { |
11920 |
|
return std::to_string((*this)[options::ppAssertMaxSubSize]); |
11921 |
|
} |
11922 |
29 |
if (key == "prop-row-length") { |
11923 |
|
return std::to_string((*this)[options::arithPropagateMaxLength]); |
11924 |
|
} |
11925 |
29 |
if (key == "replay-early-close-depth") { |
11926 |
|
return std::to_string((*this)[options::replayEarlyCloseDepths]); |
11927 |
|
} |
11928 |
29 |
if (key == "replay-failure-penalty") { |
11929 |
|
return std::to_string((*this)[options::replayFailurePenalty]); |
11930 |
|
} |
11931 |
29 |
if (key == "replay-lemma-reject-cut") { |
11932 |
|
return std::to_string((*this)[options::lemmaRejectCutSize]); |
11933 |
|
} |
11934 |
29 |
if (key == "replay-num-err-penalty") { |
11935 |
|
return std::to_string((*this)[options::replayNumericFailurePenalty]); |
11936 |
|
} |
11937 |
29 |
if (key == "replay-reject-cut") { |
11938 |
|
return std::to_string((*this)[options::replayRejectCutSize]); |
11939 |
|
} |
11940 |
29 |
if (key == "replay-soi-major-threshold-pen") { |
11941 |
|
return std::to_string((*this)[options::soiApproxMajorFailurePen]); |
11942 |
|
} |
11943 |
29 |
if (key == "replay-soi-major-threshold") { |
11944 |
|
return std::to_string((*this)[options::soiApproxMajorFailure]); |
11945 |
|
} |
11946 |
29 |
if (key == "replay-soi-minor-threshold-pen") { |
11947 |
|
return std::to_string((*this)[options::soiApproxMinorFailurePen]); |
11948 |
|
} |
11949 |
29 |
if (key == "replay-soi-minor-threshold") { |
11950 |
|
return std::to_string((*this)[options::soiApproxMinorFailure]); |
11951 |
|
} |
11952 |
29 |
if (key == "restrict-pivots") { |
11953 |
|
return (*this)[options::restrictedPivots] ? "true" : "false"; |
11954 |
|
} |
11955 |
29 |
if (key == "revert-arith-models-on-unsat") { |
11956 |
|
return (*this)[options::revertArithModels] ? "true" : "false"; |
11957 |
|
} |
11958 |
29 |
if (key == "rr-turns") { |
11959 |
|
return std::to_string((*this)[options::rrTurns]); |
11960 |
|
} |
11961 |
29 |
if (key == "se-solve-int") { |
11962 |
|
return (*this)[options::trySolveIntStandardEffort] ? "true" : "false"; |
11963 |
|
} |
11964 |
29 |
if (key == "simplex-check-period") { |
11965 |
|
return std::to_string((*this)[options::arithSimplexCheckPeriod]); |
11966 |
|
} |
11967 |
29 |
if (key == "soi-qe") { |
11968 |
|
return (*this)[options::soiQuickExplain] ? "true" : "false"; |
11969 |
|
} |
11970 |
29 |
if (key == "standard-effort-variable-order-pivots") { |
11971 |
|
return std::to_string((*this)[options::arithStandardCheckVarOrderPivots]); |
11972 |
|
} |
11973 |
29 |
if (key == "unate-lemmas") { |
11974 |
|
std::stringstream ss; |
11975 |
|
ss << (*this)[options::arithUnateLemmaMode]; |
11976 |
|
return ss.str(); |
11977 |
|
} |
11978 |
29 |
if (key == "use-approx") { |
11979 |
|
return (*this)[options::useApprox] ? "true" : "false"; |
11980 |
|
} |
11981 |
29 |
if (key == "use-fcsimplex") { |
11982 |
|
return (*this)[options::useFC] ? "true" : "false"; |
11983 |
|
} |
11984 |
29 |
if (key == "use-soi") { |
11985 |
|
return (*this)[options::useSOI] ? "true" : "false"; |
11986 |
|
} |
11987 |
29 |
if (key == "arrays-config") { |
11988 |
|
return std::to_string((*this)[options::arraysConfig]); |
11989 |
|
} |
11990 |
29 |
if (key == "arrays-eager-index") { |
11991 |
|
return (*this)[options::arraysEagerIndexSplitting] ? "true" : "false"; |
11992 |
|
} |
11993 |
29 |
if (key == "arrays-eager-lemmas") { |
11994 |
|
return (*this)[options::arraysEagerLemmas] ? "true" : "false"; |
11995 |
|
} |
11996 |
29 |
if (key == "arrays-exp") { |
11997 |
17 |
return (*this)[options::arraysExp] ? "true" : "false"; |
11998 |
|
} |
11999 |
12 |
if (key == "arrays-model-based") { |
12000 |
|
return (*this)[options::arraysModelBased] ? "true" : "false"; |
12001 |
|
} |
12002 |
12 |
if (key == "arrays-optimize-linear") { |
12003 |
|
return (*this)[options::arraysOptimizeLinear] ? "true" : "false"; |
12004 |
|
} |
12005 |
12 |
if (key == "arrays-prop") { |
12006 |
|
return std::to_string((*this)[options::arraysPropagate]); |
12007 |
|
} |
12008 |
12 |
if (key == "arrays-reduce-sharing") { |
12009 |
|
return (*this)[options::arraysReduceSharing] ? "true" : "false"; |
12010 |
|
} |
12011 |
12 |
if (key == "arrays-weak-equiv") { |
12012 |
|
return (*this)[options::arraysWeakEquivalence] ? "true" : "false"; |
12013 |
|
} |
12014 |
12 |
if (key == "input-language" || key == "lang") { |
12015 |
2 |
std::stringstream ss; |
12016 |
1 |
ss << (*this)[options::inputLanguage]; |
12017 |
1 |
return ss.str(); |
12018 |
|
} |
12019 |
11 |
if (key == "output-lang" || key == "output-language") { |
12020 |
|
std::stringstream ss; |
12021 |
|
ss << (*this)[options::outputLanguage]; |
12022 |
|
return ss.str(); |
12023 |
|
} |
12024 |
11 |
if (key == "parse-only") { |
12025 |
|
return (*this)[options::parseOnly] ? "true" : "false"; |
12026 |
|
} |
12027 |
11 |
if (key == "preprocess-only") { |
12028 |
|
return (*this)[options::preprocessOnly] ? "true" : "false"; |
12029 |
|
} |
12030 |
11 |
if (key == "print-success") { |
12031 |
|
return (*this)[options::printSuccess] ? "true" : "false"; |
12032 |
|
} |
12033 |
11 |
if (key == "stats") { |
12034 |
|
return (*this)[options::statistics] ? "true" : "false"; |
12035 |
|
} |
12036 |
11 |
if (key == "stats-all") { |
12037 |
|
return (*this)[options::statisticsAll] ? "true" : "false"; |
12038 |
|
} |
12039 |
11 |
if (key == "stats-every-query") { |
12040 |
|
return (*this)[options::statisticsEveryQuery] ? "true" : "false"; |
12041 |
|
} |
12042 |
11 |
if (key == "stats-expert") { |
12043 |
|
return (*this)[options::statisticsExpert] ? "true" : "false"; |
12044 |
|
} |
12045 |
11 |
if (key == "verbosity") { |
12046 |
|
return std::to_string((*this)[options::verbosity]); |
12047 |
|
} |
12048 |
11 |
if (key == "bitblast-aig") { |
12049 |
|
return (*this)[options::bitvectorAig] ? "true" : "false"; |
12050 |
|
} |
12051 |
11 |
if (key == "bitblast") { |
12052 |
|
std::stringstream ss; |
12053 |
|
ss << (*this)[options::bitblastMode]; |
12054 |
|
return ss.str(); |
12055 |
|
} |
12056 |
11 |
if (key == "bitwise-eq") { |
12057 |
|
return (*this)[options::bitwiseEq] ? "true" : "false"; |
12058 |
|
} |
12059 |
11 |
if (key == "bool-to-bv") { |
12060 |
|
std::stringstream ss; |
12061 |
|
ss << (*this)[options::boolToBitvector]; |
12062 |
|
return ss.str(); |
12063 |
|
} |
12064 |
11 |
if (key == "bv-abstraction") { |
12065 |
|
return (*this)[options::bvAbstraction] ? "true" : "false"; |
12066 |
|
} |
12067 |
11 |
if (key == "bv-aig-simp") { |
12068 |
|
return (*this)[options::bitvectorAigSimplifications]; |
12069 |
|
} |
12070 |
11 |
if (key == "bv-alg-extf") { |
12071 |
|
return (*this)[options::bvAlgExtf] ? "true" : "false"; |
12072 |
|
} |
12073 |
11 |
if (key == "bv-algebraic-budget") { |
12074 |
|
return std::to_string((*this)[options::bitvectorAlgebraicBudget]); |
12075 |
|
} |
12076 |
11 |
if (key == "bv-algebraic-solver") { |
12077 |
|
return (*this)[options::bitvectorAlgebraicSolver] ? "true" : "false"; |
12078 |
|
} |
12079 |
11 |
if (key == "bv-assert-input") { |
12080 |
|
return (*this)[options::bvAssertInput] ? "true" : "false"; |
12081 |
|
} |
12082 |
11 |
if (key == "bv-eager-explanations") { |
12083 |
|
return (*this)[options::bvEagerExplanations] ? "true" : "false"; |
12084 |
|
} |
12085 |
11 |
if (key == "bv-eq-solver") { |
12086 |
|
return (*this)[options::bitvectorEqualitySolver] ? "true" : "false"; |
12087 |
|
} |
12088 |
11 |
if (key == "bv-extract-arith") { |
12089 |
|
return (*this)[options::bvExtractArithRewrite] ? "true" : "false"; |
12090 |
|
} |
12091 |
11 |
if (key == "bv-gauss-elim") { |
12092 |
|
return (*this)[options::bvGaussElim] ? "true" : "false"; |
12093 |
|
} |
12094 |
11 |
if (key == "bv-inequality-solver") { |
12095 |
|
return (*this)[options::bitvectorInequalitySolver] ? "true" : "false"; |
12096 |
|
} |
12097 |
11 |
if (key == "bv-intro-pow2") { |
12098 |
|
return (*this)[options::bvIntroducePow2] ? "true" : "false"; |
12099 |
|
} |
12100 |
11 |
if (key == "bv-lazy-reduce-extf") { |
12101 |
|
return (*this)[options::bvLazyReduceExtf] ? "true" : "false"; |
12102 |
|
} |
12103 |
11 |
if (key == "bv-lazy-rewrite-extf") { |
12104 |
|
return (*this)[options::bvLazyRewriteExtf] ? "true" : "false"; |
12105 |
|
} |
12106 |
11 |
if (key == "bv-num-func") { |
12107 |
|
return std::to_string((*this)[options::bvNumFunc]); |
12108 |
|
} |
12109 |
11 |
if (key == "bv-print-consts-as-indexed-symbols") { |
12110 |
|
return (*this)[options::bvPrintConstsAsIndexedSymbols] ? "true" : "false"; |
12111 |
|
} |
12112 |
11 |
if (key == "bv-propagate") { |
12113 |
|
return (*this)[options::bitvectorPropagate] ? "true" : "false"; |
12114 |
|
} |
12115 |
11 |
if (key == "bv-quick-xplain") { |
12116 |
|
return (*this)[options::bitvectorQuickXplain] ? "true" : "false"; |
12117 |
|
} |
12118 |
11 |
if (key == "bv-sat-solver") { |
12119 |
|
std::stringstream ss; |
12120 |
|
ss << (*this)[options::bvSatSolver]; |
12121 |
|
return ss.str(); |
12122 |
|
} |
12123 |
11 |
if (key == "bv-skolemize") { |
12124 |
|
return (*this)[options::skolemizeArguments] ? "true" : "false"; |
12125 |
|
} |
12126 |
11 |
if (key == "bv-solver") { |
12127 |
|
std::stringstream ss; |
12128 |
|
ss << (*this)[options::bvSolver]; |
12129 |
|
return ss.str(); |
12130 |
|
} |
12131 |
11 |
if (key == "bv-to-bool") { |
12132 |
|
return (*this)[options::bitvectorToBool] ? "true" : "false"; |
12133 |
|
} |
12134 |
11 |
if (key == "cdt-bisimilar") { |
12135 |
|
return (*this)[options::cdtBisimilar] ? "true" : "false"; |
12136 |
|
} |
12137 |
11 |
if (key == "dt-binary-split") { |
12138 |
|
return (*this)[options::dtBinarySplit] ? "true" : "false"; |
12139 |
|
} |
12140 |
11 |
if (key == "dt-blast-splits") { |
12141 |
|
return (*this)[options::dtBlastSplits] ? "true" : "false"; |
12142 |
|
} |
12143 |
11 |
if (key == "dt-cyclic") { |
12144 |
|
return (*this)[options::dtCyclic] ? "true" : "false"; |
12145 |
|
} |
12146 |
11 |
if (key == "dt-force-assignment") { |
12147 |
|
return (*this)[options::dtForceAssignment] ? "true" : "false"; |
12148 |
|
} |
12149 |
11 |
if (key == "dt-infer-as-lemmas") { |
12150 |
|
return (*this)[options::dtInferAsLemmas] ? "true" : "false"; |
12151 |
|
} |
12152 |
11 |
if (key == "dt-nested-rec") { |
12153 |
|
return (*this)[options::dtNestedRec] ? "true" : "false"; |
12154 |
|
} |
12155 |
11 |
if (key == "dt-polite-optimize") { |
12156 |
|
return (*this)[options::dtPoliteOptimize] ? "true" : "false"; |
12157 |
|
} |
12158 |
11 |
if (key == "dt-rewrite-error-sel") { |
12159 |
|
return (*this)[options::dtRewriteErrorSel] ? "true" : "false"; |
12160 |
|
} |
12161 |
11 |
if (key == "dt-share-sel") { |
12162 |
|
return (*this)[options::dtSharedSelectors] ? "true" : "false"; |
12163 |
|
} |
12164 |
11 |
if (key == "sygus-abort-size") { |
12165 |
|
return std::to_string((*this)[options::sygusAbortSize]); |
12166 |
|
} |
12167 |
11 |
if (key == "sygus-fair-max") { |
12168 |
|
return (*this)[options::sygusFairMax] ? "true" : "false"; |
12169 |
|
} |
12170 |
11 |
if (key == "sygus-fair") { |
12171 |
|
std::stringstream ss; |
12172 |
|
ss << (*this)[options::sygusFair]; |
12173 |
|
return ss.str(); |
12174 |
|
} |
12175 |
11 |
if (key == "sygus-sym-break") { |
12176 |
|
return (*this)[options::sygusSymBreak] ? "true" : "false"; |
12177 |
|
} |
12178 |
11 |
if (key == "sygus-sym-break-agg") { |
12179 |
|
return (*this)[options::sygusSymBreakAgg] ? "true" : "false"; |
12180 |
|
} |
12181 |
11 |
if (key == "sygus-sym-break-dynamic") { |
12182 |
|
return (*this)[options::sygusSymBreakDynamic] ? "true" : "false"; |
12183 |
|
} |
12184 |
11 |
if (key == "sygus-sym-break-lazy") { |
12185 |
|
return (*this)[options::sygusSymBreakLazy] ? "true" : "false"; |
12186 |
|
} |
12187 |
11 |
if (key == "sygus-sym-break-pbe") { |
12188 |
|
return (*this)[options::sygusSymBreakPbe] ? "true" : "false"; |
12189 |
|
} |
12190 |
11 |
if (key == "sygus-sym-break-rlv") { |
12191 |
|
return (*this)[options::sygusSymBreakRlv] ? "true" : "false"; |
12192 |
|
} |
12193 |
11 |
if (key == "decision-random-weight") { |
12194 |
|
return std::to_string((*this)[options::decisionRandomWeight]); |
12195 |
|
} |
12196 |
11 |
if (key == "decision-threshold") { |
12197 |
|
std::stringstream ss; |
12198 |
|
ss << (*this)[options::decisionThreshold]; |
12199 |
|
return ss.str(); |
12200 |
|
} |
12201 |
11 |
if (key == "decision-use-weight") { |
12202 |
|
return (*this)[options::decisionUseWeight] ? "true" : "false"; |
12203 |
|
} |
12204 |
11 |
if (key == "decision-weight-internal") { |
12205 |
|
std::stringstream ss; |
12206 |
|
ss << (*this)[options::decisionWeightInternal]; |
12207 |
|
return ss.str(); |
12208 |
|
} |
12209 |
11 |
if (key == "decision" || key == "decision-mode") { |
12210 |
|
std::stringstream ss; |
12211 |
|
ss << (*this)[options::decisionMode]; |
12212 |
|
return ss.str(); |
12213 |
|
} |
12214 |
11 |
if (key == "dag-thresh") { |
12215 |
1 |
return std::to_string((*this)[options::defaultDagThresh]); |
12216 |
|
} |
12217 |
10 |
if (key == "expr-depth") { |
12218 |
|
return std::to_string((*this)[options::defaultExprDepth]); |
12219 |
|
} |
12220 |
10 |
if (key == "type-checking") { |
12221 |
|
return (*this)[options::typeChecking] ? "true" : "false"; |
12222 |
|
} |
12223 |
10 |
if (key == "fp-exp") { |
12224 |
|
return (*this)[options::fpExp] ? "true" : "false"; |
12225 |
|
} |
12226 |
10 |
if (key == "early-exit") { |
12227 |
|
return (*this)[options::earlyExit] ? "true" : "false"; |
12228 |
|
} |
12229 |
10 |
if (key == "help") { |
12230 |
|
return (*this)[options::help] ? "true" : "false"; |
12231 |
|
} |
12232 |
10 |
if (key == "interactive") { |
12233 |
|
return (*this)[options::interactive] ? "true" : "false"; |
12234 |
|
} |
12235 |
10 |
if (key == "interactive-prompt") { |
12236 |
|
return (*this)[options::interactivePrompt] ? "true" : "false"; |
12237 |
|
} |
12238 |
10 |
if (key == "seed") { |
12239 |
|
return std::to_string((*this)[options::seed]); |
12240 |
|
} |
12241 |
10 |
if (key == "segv-spin") { |
12242 |
|
return (*this)[options::segvSpin] ? "true" : "false"; |
12243 |
|
} |
12244 |
10 |
if (key == "tear-down-incremental") { |
12245 |
|
return std::to_string((*this)[options::tearDownIncremental]); |
12246 |
|
} |
12247 |
10 |
if (key == "version") { |
12248 |
|
return (*this)[options::version] ? "true" : "false"; |
12249 |
|
} |
12250 |
10 |
if (key == "filesystem-access") { |
12251 |
|
return (*this)[options::filesystemAccess] ? "true" : "false"; |
12252 |
|
} |
12253 |
10 |
if (key == "force-logic") { |
12254 |
|
return (*this)[options::forceLogicString]; |
12255 |
|
} |
12256 |
10 |
if (key == "global-declarations") { |
12257 |
|
return (*this)[options::globalDeclarations] ? "true" : "false"; |
12258 |
|
} |
12259 |
10 |
if (key == "mmap") { |
12260 |
|
return (*this)[options::memoryMap] ? "true" : "false"; |
12261 |
|
} |
12262 |
10 |
if (key == "semantic-checks") { |
12263 |
|
return (*this)[options::semanticChecks] ? "true" : "false"; |
12264 |
|
} |
12265 |
10 |
if (key == "strict-parsing") { |
12266 |
|
return (*this)[options::strictParsing] ? "true" : "false"; |
12267 |
|
} |
12268 |
10 |
if (key == "flatten-ho-chains") { |
12269 |
|
return (*this)[options::flattenHOChains] ? "true" : "false"; |
12270 |
|
} |
12271 |
10 |
if (key == "inst-format") { |
12272 |
|
std::stringstream ss; |
12273 |
|
ss << (*this)[options::instFormatMode]; |
12274 |
|
return ss.str(); |
12275 |
|
} |
12276 |
10 |
if (key == "model-format") { |
12277 |
|
std::stringstream ss; |
12278 |
|
ss << (*this)[options::modelFormatMode]; |
12279 |
|
return ss.str(); |
12280 |
|
} |
12281 |
10 |
if (key == "print-inst-full") { |
12282 |
|
return (*this)[options::printInstFull] ? "true" : "false"; |
12283 |
|
} |
12284 |
10 |
if (key == "print-inst") { |
12285 |
|
std::stringstream ss; |
12286 |
|
ss << (*this)[options::printInstMode]; |
12287 |
|
return ss.str(); |
12288 |
|
} |
12289 |
10 |
if (key == "proof-eager-checking") { |
12290 |
|
return (*this)[options::proofEagerChecking] ? "true" : "false"; |
12291 |
|
} |
12292 |
10 |
if (key == "proof-format-mode") { |
12293 |
|
std::stringstream ss; |
12294 |
|
ss << (*this)[options::proofFormatMode]; |
12295 |
|
return ss.str(); |
12296 |
|
} |
12297 |
10 |
if (key == "proof-granularity") { |
12298 |
|
std::stringstream ss; |
12299 |
|
ss << (*this)[options::proofGranularityMode]; |
12300 |
|
return ss.str(); |
12301 |
|
} |
12302 |
10 |
if (key == "proof-pedantic") { |
12303 |
|
return std::to_string((*this)[options::proofPedantic]); |
12304 |
|
} |
12305 |
10 |
if (key == "proof-print-conclusion") { |
12306 |
|
return (*this)[options::proofPrintConclusion] ? "true" : "false"; |
12307 |
|
} |
12308 |
10 |
if (key == "minisat-dump-dimacs") { |
12309 |
|
return (*this)[options::minisatDumpDimacs] ? "true" : "false"; |
12310 |
|
} |
12311 |
10 |
if (key == "minisat-elimination") { |
12312 |
|
return (*this)[options::minisatUseElim] ? "true" : "false"; |
12313 |
|
} |
12314 |
10 |
if (key == "random-freq" || key == "random-frequency") { |
12315 |
|
return std::to_string((*this)[options::satRandomFreq]); |
12316 |
|
} |
12317 |
10 |
if (key == "random-seed") { |
12318 |
|
return std::to_string((*this)[options::satRandomSeed]); |
12319 |
|
} |
12320 |
10 |
if (key == "refine-conflicts") { |
12321 |
|
return (*this)[options::sat_refine_conflicts] ? "true" : "false"; |
12322 |
|
} |
12323 |
10 |
if (key == "restart-int-base") { |
12324 |
|
return std::to_string((*this)[options::satRestartFirst]); |
12325 |
|
} |
12326 |
10 |
if (key == "restart-int-inc") { |
12327 |
|
return std::to_string((*this)[options::satRestartInc]); |
12328 |
|
} |
12329 |
10 |
if (key == "ag-miniscope-quant") { |
12330 |
|
return (*this)[options::aggressiveMiniscopeQuant] ? "true" : "false"; |
12331 |
|
} |
12332 |
10 |
if (key == "cegis-sample") { |
12333 |
|
std::stringstream ss; |
12334 |
|
ss << (*this)[options::cegisSample]; |
12335 |
|
return ss.str(); |
12336 |
|
} |
12337 |
10 |
if (key == "cegqi") { |
12338 |
|
return (*this)[options::cegqi] ? "true" : "false"; |
12339 |
|
} |
12340 |
10 |
if (key == "cegqi-all") { |
12341 |
|
return (*this)[options::cegqiAll] ? "true" : "false"; |
12342 |
|
} |
12343 |
10 |
if (key == "cegqi-bv") { |
12344 |
|
return (*this)[options::cegqiBv] ? "true" : "false"; |
12345 |
|
} |
12346 |
10 |
if (key == "cegqi-bv-concat-inv") { |
12347 |
|
return (*this)[options::cegqiBvConcInv] ? "true" : "false"; |
12348 |
|
} |
12349 |
10 |
if (key == "cegqi-bv-ineq") { |
12350 |
|
std::stringstream ss; |
12351 |
|
ss << (*this)[options::cegqiBvIneqMode]; |
12352 |
|
return ss.str(); |
12353 |
|
} |
12354 |
10 |
if (key == "cegqi-bv-interleave-value") { |
12355 |
|
return (*this)[options::cegqiBvInterleaveValue] ? "true" : "false"; |
12356 |
|
} |
12357 |
10 |
if (key == "cegqi-bv-linear") { |
12358 |
|
return (*this)[options::cegqiBvLinearize] ? "true" : "false"; |
12359 |
|
} |
12360 |
10 |
if (key == "cegqi-bv-rm-extract") { |
12361 |
|
return (*this)[options::cegqiBvRmExtract] ? "true" : "false"; |
12362 |
|
} |
12363 |
10 |
if (key == "cegqi-bv-solve-nl") { |
12364 |
|
return (*this)[options::cegqiBvSolveNl] ? "true" : "false"; |
12365 |
|
} |
12366 |
10 |
if (key == "cegqi-full") { |
12367 |
|
return (*this)[options::cegqiFullEffort] ? "true" : "false"; |
12368 |
|
} |
12369 |
10 |
if (key == "cegqi-innermost") { |
12370 |
|
return (*this)[options::cegqiInnermost] ? "true" : "false"; |
12371 |
|
} |
12372 |
10 |
if (key == "cegqi-midpoint") { |
12373 |
|
return (*this)[options::cegqiMidpoint] ? "true" : "false"; |
12374 |
|
} |
12375 |
10 |
if (key == "cegqi-min-bounds") { |
12376 |
|
return (*this)[options::cegqiMinBounds] ? "true" : "false"; |
12377 |
|
} |
12378 |
10 |
if (key == "cegqi-model") { |
12379 |
|
return (*this)[options::cegqiModel] ? "true" : "false"; |
12380 |
|
} |
12381 |
10 |
if (key == "cegqi-multi-inst") { |
12382 |
|
return (*this)[options::cegqiMultiInst] ? "true" : "false"; |
12383 |
|
} |
12384 |
10 |
if (key == "cegqi-nested-qe") { |
12385 |
|
return (*this)[options::cegqiNestedQE] ? "true" : "false"; |
12386 |
|
} |
12387 |
10 |
if (key == "cegqi-nopt") { |
12388 |
|
return (*this)[options::cegqiNopt] ? "true" : "false"; |
12389 |
|
} |
12390 |
10 |
if (key == "cegqi-repeat-lit") { |
12391 |
|
return (*this)[options::cegqiRepeatLit] ? "true" : "false"; |
12392 |
|
} |
12393 |
10 |
if (key == "cegqi-round-up-lia") { |
12394 |
|
return (*this)[options::cegqiRoundUpLowerLia] ? "true" : "false"; |
12395 |
|
} |
12396 |
10 |
if (key == "cegqi-sat") { |
12397 |
|
return (*this)[options::cegqiSat] ? "true" : "false"; |
12398 |
|
} |
12399 |
10 |
if (key == "cegqi-use-inf-int") { |
12400 |
|
return (*this)[options::cegqiUseInfInt] ? "true" : "false"; |
12401 |
|
} |
12402 |
10 |
if (key == "cegqi-use-inf-real") { |
12403 |
|
return (*this)[options::cegqiUseInfReal] ? "true" : "false"; |
12404 |
|
} |
12405 |
10 |
if (key == "cond-var-split-agg-quant") { |
12406 |
|
return (*this)[options::condVarSplitQuantAgg] ? "true" : "false"; |
12407 |
|
} |
12408 |
10 |
if (key == "cond-var-split-quant") { |
12409 |
|
return (*this)[options::condVarSplitQuant] ? "true" : "false"; |
12410 |
|
} |
12411 |
10 |
if (key == "conjecture-filter-active-terms") { |
12412 |
|
return (*this)[options::conjectureFilterActiveTerms] ? "true" : "false"; |
12413 |
|
} |
12414 |
10 |
if (key == "conjecture-filter-canonical") { |
12415 |
|
return (*this)[options::conjectureFilterCanonical] ? "true" : "false"; |
12416 |
|
} |
12417 |
10 |
if (key == "conjecture-filter-model") { |
12418 |
|
return (*this)[options::conjectureFilterModel] ? "true" : "false"; |
12419 |
|
} |
12420 |
10 |
if (key == "conjecture-gen") { |
12421 |
|
return (*this)[options::conjectureGen] ? "true" : "false"; |
12422 |
|
} |
12423 |
10 |
if (key == "conjecture-gen-gt-enum") { |
12424 |
|
return std::to_string((*this)[options::conjectureGenGtEnum]); |
12425 |
|
} |
12426 |
10 |
if (key == "conjecture-gen-max-depth") { |
12427 |
|
return std::to_string((*this)[options::conjectureGenMaxDepth]); |
12428 |
|
} |
12429 |
10 |
if (key == "conjecture-gen-per-round") { |
12430 |
|
return std::to_string((*this)[options::conjectureGenPerRound]); |
12431 |
|
} |
12432 |
10 |
if (key == "conjecture-gen-uee-intro") { |
12433 |
|
return (*this)[options::conjectureUeeIntro] ? "true" : "false"; |
12434 |
|
} |
12435 |
10 |
if (key == "conjecture-no-filter") { |
12436 |
|
return (*this)[options::conjectureNoFilter] ? "true" : "false"; |
12437 |
|
} |
12438 |
10 |
if (key == "debug-inst") { |
12439 |
|
return (*this)[options::debugInst] ? "true" : "false"; |
12440 |
|
} |
12441 |
10 |
if (key == "debug-sygus") { |
12442 |
|
return (*this)[options::debugSygus] ? "true" : "false"; |
12443 |
|
} |
12444 |
10 |
if (key == "dt-stc-ind") { |
12445 |
|
return (*this)[options::dtStcInduction] ? "true" : "false"; |
12446 |
|
} |
12447 |
10 |
if (key == "dt-var-exp-quant") { |
12448 |
|
return (*this)[options::dtVarExpandQuant] ? "true" : "false"; |
12449 |
|
} |
12450 |
10 |
if (key == "e-matching") { |
12451 |
|
return (*this)[options::eMatching] ? "true" : "false"; |
12452 |
|
} |
12453 |
10 |
if (key == "elim-taut-quant") { |
12454 |
|
return (*this)[options::elimTautQuant] ? "true" : "false"; |
12455 |
|
} |
12456 |
10 |
if (key == "ext-rewrite-quant") { |
12457 |
|
return (*this)[options::extRewriteQuant] ? "true" : "false"; |
12458 |
|
} |
12459 |
10 |
if (key == "finite-model-find") { |
12460 |
|
return (*this)[options::finiteModelFind] ? "true" : "false"; |
12461 |
|
} |
12462 |
10 |
if (key == "fmf-bound") { |
12463 |
|
return (*this)[options::fmfBound] ? "true" : "false"; |
12464 |
|
} |
12465 |
10 |
if (key == "fmf-bound-int") { |
12466 |
|
return (*this)[options::fmfBoundInt] ? "true" : "false"; |
12467 |
|
} |
12468 |
10 |
if (key == "fmf-bound-lazy") { |
12469 |
|
return (*this)[options::fmfBoundLazy] ? "true" : "false"; |
12470 |
|
} |
12471 |
10 |
if (key == "fmf-fmc-simple") { |
12472 |
|
return (*this)[options::fmfFmcSimple] ? "true" : "false"; |
12473 |
|
} |
12474 |
10 |
if (key == "fmf-fresh-dc") { |
12475 |
|
return (*this)[options::fmfFreshDistConst] ? "true" : "false"; |
12476 |
|
} |
12477 |
10 |
if (key == "fmf-fun") { |
12478 |
|
return (*this)[options::fmfFunWellDefined] ? "true" : "false"; |
12479 |
|
} |
12480 |
10 |
if (key == "fmf-fun-rlv") { |
12481 |
|
return (*this)[options::fmfFunWellDefinedRelevant] ? "true" : "false"; |
12482 |
|
} |
12483 |
10 |
if (key == "fmf-inst-engine") { |
12484 |
|
return (*this)[options::fmfInstEngine] ? "true" : "false"; |
12485 |
|
} |
12486 |
10 |
if (key == "fmf-type-completion-thresh") { |
12487 |
|
return std::to_string((*this)[options::fmfTypeCompletionThresh]); |
12488 |
|
} |
12489 |
10 |
if (key == "fs-interleave") { |
12490 |
|
return (*this)[options::fullSaturateInterleave] ? "true" : "false"; |
12491 |
|
} |
12492 |
10 |
if (key == "fs-stratify") { |
12493 |
|
return (*this)[options::fullSaturateStratify] ? "true" : "false"; |
12494 |
|
} |
12495 |
10 |
if (key == "fs-sum") { |
12496 |
|
return (*this)[options::fullSaturateSum] ? "true" : "false"; |
12497 |
|
} |
12498 |
10 |
if (key == "full-saturate-quant") { |
12499 |
|
return (*this)[options::fullSaturateQuant] ? "true" : "false"; |
12500 |
|
} |
12501 |
10 |
if (key == "full-saturate-quant-limit") { |
12502 |
|
return std::to_string((*this)[options::fullSaturateLimit]); |
12503 |
|
} |
12504 |
10 |
if (key == "full-saturate-quant-rd") { |
12505 |
|
return (*this)[options::fullSaturateQuantRd] ? "true" : "false"; |
12506 |
|
} |
12507 |
10 |
if (key == "global-negate") { |
12508 |
|
return (*this)[options::globalNegate] ? "true" : "false"; |
12509 |
|
} |
12510 |
10 |
if (key == "ho-elim") { |
12511 |
|
return (*this)[options::hoElim] ? "true" : "false"; |
12512 |
|
} |
12513 |
10 |
if (key == "ho-elim-store-ax") { |
12514 |
|
return (*this)[options::hoElimStoreAx] ? "true" : "false"; |
12515 |
|
} |
12516 |
10 |
if (key == "ho-matching") { |
12517 |
|
return (*this)[options::hoMatching] ? "true" : "false"; |
12518 |
|
} |
12519 |
10 |
if (key == "ho-matching-var-priority") { |
12520 |
|
return (*this)[options::hoMatchingVarArgPriority] ? "true" : "false"; |
12521 |
|
} |
12522 |
10 |
if (key == "ho-merge-term-db") { |
12523 |
|
return (*this)[options::hoMergeTermDb] ? "true" : "false"; |
12524 |
|
} |
12525 |
10 |
if (key == "increment-triggers") { |
12526 |
|
return (*this)[options::incrementTriggers] ? "true" : "false"; |
12527 |
|
} |
12528 |
10 |
if (key == "inst-level-input-only") { |
12529 |
|
return (*this)[options::instLevelInputOnly] ? "true" : "false"; |
12530 |
|
} |
12531 |
10 |
if (key == "inst-max-level") { |
12532 |
|
return std::to_string((*this)[options::instMaxLevel]); |
12533 |
|
} |
12534 |
10 |
if (key == "inst-no-entail") { |
12535 |
|
return (*this)[options::instNoEntail] ? "true" : "false"; |
12536 |
|
} |
12537 |
10 |
if (key == "inst-when-phase") { |
12538 |
|
return std::to_string((*this)[options::instWhenPhase]); |
12539 |
|
} |
12540 |
10 |
if (key == "inst-when-strict-interleave") { |
12541 |
|
return (*this)[options::instWhenStrictInterleave] ? "true" : "false"; |
12542 |
|
} |
12543 |
10 |
if (key == "inst-when-tc-first") { |
12544 |
|
return (*this)[options::instWhenTcFirst] ? "true" : "false"; |
12545 |
|
} |
12546 |
10 |
if (key == "inst-when") { |
12547 |
|
std::stringstream ss; |
12548 |
|
ss << (*this)[options::instWhenMode]; |
12549 |
|
return ss.str(); |
12550 |
|
} |
12551 |
10 |
if (key == "int-wf-ind") { |
12552 |
|
return (*this)[options::intWfInduction] ? "true" : "false"; |
12553 |
|
} |
12554 |
10 |
if (key == "ite-dtt-split-quant") { |
12555 |
|
return (*this)[options::iteDtTesterSplitQuant] ? "true" : "false"; |
12556 |
|
} |
12557 |
10 |
if (key == "ite-lift-quant") { |
12558 |
|
std::stringstream ss; |
12559 |
|
ss << (*this)[options::iteLiftQuant]; |
12560 |
|
return ss.str(); |
12561 |
|
} |
12562 |
10 |
if (key == "literal-matching") { |
12563 |
|
std::stringstream ss; |
12564 |
|
ss << (*this)[options::literalMatchMode]; |
12565 |
|
return ss.str(); |
12566 |
|
} |
12567 |
10 |
if (key == "macros-quant") { |
12568 |
|
return (*this)[options::macrosQuant] ? "true" : "false"; |
12569 |
|
} |
12570 |
10 |
if (key == "macros-quant-mode") { |
12571 |
|
std::stringstream ss; |
12572 |
|
ss << (*this)[options::macrosQuantMode]; |
12573 |
|
return ss.str(); |
12574 |
|
} |
12575 |
10 |
if (key == "mbqi-interleave") { |
12576 |
|
return (*this)[options::mbqiInterleave] ? "true" : "false"; |
12577 |
|
} |
12578 |
10 |
if (key == "mbqi-one-inst-per-round") { |
12579 |
|
return (*this)[options::fmfOneInstPerRound] ? "true" : "false"; |
12580 |
|
} |
12581 |
10 |
if (key == "mbqi") { |
12582 |
|
std::stringstream ss; |
12583 |
|
ss << (*this)[options::mbqiMode]; |
12584 |
|
return ss.str(); |
12585 |
|
} |
12586 |
10 |
if (key == "miniscope-quant") { |
12587 |
|
return (*this)[options::miniscopeQuant] ? "true" : "false"; |
12588 |
|
} |
12589 |
10 |
if (key == "miniscope-quant-fv") { |
12590 |
|
return (*this)[options::miniscopeQuantFreeVar] ? "true" : "false"; |
12591 |
|
} |
12592 |
10 |
if (key == "multi-trigger-cache") { |
12593 |
|
return (*this)[options::multiTriggerCache] ? "true" : "false"; |
12594 |
|
} |
12595 |
10 |
if (key == "multi-trigger-linear") { |
12596 |
|
return (*this)[options::multiTriggerLinear] ? "true" : "false"; |
12597 |
|
} |
12598 |
10 |
if (key == "multi-trigger-priority") { |
12599 |
|
return (*this)[options::multiTriggerPriority] ? "true" : "false"; |
12600 |
|
} |
12601 |
10 |
if (key == "multi-trigger-when-single") { |
12602 |
|
return (*this)[options::multiTriggerWhenSingle] ? "true" : "false"; |
12603 |
|
} |
12604 |
10 |
if (key == "partial-triggers") { |
12605 |
|
return (*this)[options::partialTriggers] ? "true" : "false"; |
12606 |
|
} |
12607 |
10 |
if (key == "pool-inst") { |
12608 |
|
return (*this)[options::poolInst] ? "true" : "false"; |
12609 |
|
} |
12610 |
10 |
if (key == "pre-skolem-quant") { |
12611 |
|
return (*this)[options::preSkolemQuant] ? "true" : "false"; |
12612 |
|
} |
12613 |
10 |
if (key == "pre-skolem-quant-agg") { |
12614 |
|
return (*this)[options::preSkolemQuantAgg] ? "true" : "false"; |
12615 |
|
} |
12616 |
10 |
if (key == "pre-skolem-quant-nested") { |
12617 |
|
return (*this)[options::preSkolemQuantNested] ? "true" : "false"; |
12618 |
|
} |
12619 |
10 |
if (key == "prenex-quant-user") { |
12620 |
|
return (*this)[options::prenexQuantUser] ? "true" : "false"; |
12621 |
|
} |
12622 |
10 |
if (key == "prenex-quant") { |
12623 |
|
std::stringstream ss; |
12624 |
|
ss << (*this)[options::prenexQuant]; |
12625 |
|
return ss.str(); |
12626 |
|
} |
12627 |
10 |
if (key == "purify-triggers") { |
12628 |
|
return (*this)[options::purifyTriggers] ? "true" : "false"; |
12629 |
|
} |
12630 |
10 |
if (key == "qcf-all-conflict") { |
12631 |
|
return (*this)[options::qcfAllConflict] ? "true" : "false"; |
12632 |
|
} |
12633 |
10 |
if (key == "qcf-eager-check-rd") { |
12634 |
|
return (*this)[options::qcfEagerCheckRd] ? "true" : "false"; |
12635 |
|
} |
12636 |
10 |
if (key == "qcf-eager-test") { |
12637 |
|
return (*this)[options::qcfEagerTest] ? "true" : "false"; |
12638 |
|
} |
12639 |
10 |
if (key == "qcf-nested-conflict") { |
12640 |
|
return (*this)[options::qcfNestedConflict] ? "true" : "false"; |
12641 |
|
} |
12642 |
10 |
if (key == "qcf-skip-rd") { |
12643 |
|
return (*this)[options::qcfSkipRd] ? "true" : "false"; |
12644 |
|
} |
12645 |
10 |
if (key == "qcf-tconstraint") { |
12646 |
|
return (*this)[options::qcfTConstraint] ? "true" : "false"; |
12647 |
|
} |
12648 |
10 |
if (key == "qcf-vo-exp") { |
12649 |
|
return (*this)[options::qcfVoExp] ? "true" : "false"; |
12650 |
|
} |
12651 |
10 |
if (key == "quant-alpha-equiv") { |
12652 |
|
return (*this)[options::quantAlphaEquiv] ? "true" : "false"; |
12653 |
|
} |
12654 |
10 |
if (key == "quant-cf") { |
12655 |
|
return (*this)[options::quantConflictFind] ? "true" : "false"; |
12656 |
|
} |
12657 |
10 |
if (key == "quant-cf-mode") { |
12658 |
|
std::stringstream ss; |
12659 |
|
ss << (*this)[options::qcfMode]; |
12660 |
|
return ss.str(); |
12661 |
|
} |
12662 |
10 |
if (key == "quant-cf-when") { |
12663 |
|
std::stringstream ss; |
12664 |
|
ss << (*this)[options::qcfWhenMode]; |
12665 |
|
return ss.str(); |
12666 |
|
} |
12667 |
10 |
if (key == "quant-dsplit-mode") { |
12668 |
|
std::stringstream ss; |
12669 |
|
ss << (*this)[options::quantDynamicSplit]; |
12670 |
|
return ss.str(); |
12671 |
|
} |
12672 |
10 |
if (key == "quant-fun-wd") { |
12673 |
|
return (*this)[options::quantFunWellDefined] ? "true" : "false"; |
12674 |
|
} |
12675 |
10 |
if (key == "quant-ind") { |
12676 |
|
return (*this)[options::quantInduction] ? "true" : "false"; |
12677 |
|
} |
12678 |
10 |
if (key == "quant-rep-mode") { |
12679 |
|
std::stringstream ss; |
12680 |
|
ss << (*this)[options::quantRepMode]; |
12681 |
|
return ss.str(); |
12682 |
|
} |
12683 |
10 |
if (key == "quant-split") { |
12684 |
|
return (*this)[options::quantSplit] ? "true" : "false"; |
12685 |
|
} |
12686 |
10 |
if (key == "register-quant-body-terms") { |
12687 |
|
return (*this)[options::registerQuantBodyTerms] ? "true" : "false"; |
12688 |
|
} |
12689 |
10 |
if (key == "relational-triggers") { |
12690 |
|
return (*this)[options::relationalTriggers] ? "true" : "false"; |
12691 |
|
} |
12692 |
10 |
if (key == "relevant-triggers") { |
12693 |
|
return (*this)[options::relevantTriggers] ? "true" : "false"; |
12694 |
|
} |
12695 |
10 |
if (key == "strict-triggers") { |
12696 |
|
return (*this)[options::strictTriggers] ? "true" : "false"; |
12697 |
|
} |
12698 |
10 |
if (key == "sygus") { |
12699 |
|
return (*this)[options::sygus] ? "true" : "false"; |
12700 |
|
} |
12701 |
10 |
if (key == "sygus-active-gen-cfactor") { |
12702 |
|
return std::to_string((*this)[options::sygusActiveGenEnumConsts]); |
12703 |
|
} |
12704 |
10 |
if (key == "sygus-active-gen") { |
12705 |
|
std::stringstream ss; |
12706 |
|
ss << (*this)[options::sygusActiveGenMode]; |
12707 |
|
return ss.str(); |
12708 |
|
} |
12709 |
10 |
if (key == "sygus-add-const-grammar") { |
12710 |
|
return (*this)[options::sygusAddConstGrammar] ? "true" : "false"; |
12711 |
|
} |
12712 |
10 |
if (key == "sygus-arg-relevant") { |
12713 |
|
return (*this)[options::sygusArgRelevant] ? "true" : "false"; |
12714 |
|
} |
12715 |
10 |
if (key == "sygus-auto-unfold") { |
12716 |
|
return (*this)[options::sygusInvAutoUnfold] ? "true" : "false"; |
12717 |
|
} |
12718 |
10 |
if (key == "sygus-bool-ite-return-const") { |
12719 |
|
return (*this)[options::sygusBoolIteReturnConst] ? "true" : "false"; |
12720 |
|
} |
12721 |
10 |
if (key == "sygus-core-connective") { |
12722 |
|
return (*this)[options::sygusCoreConnective] ? "true" : "false"; |
12723 |
|
} |
12724 |
10 |
if (key == "sygus-crepair-abort") { |
12725 |
|
return (*this)[options::sygusConstRepairAbort] ? "true" : "false"; |
12726 |
|
} |
12727 |
10 |
if (key == "sygus-eval-opt") { |
12728 |
|
return (*this)[options::sygusEvalOpt] ? "true" : "false"; |
12729 |
|
} |
12730 |
10 |
if (key == "sygus-eval-unfold") { |
12731 |
|
return (*this)[options::sygusEvalUnfold] ? "true" : "false"; |
12732 |
|
} |
12733 |
10 |
if (key == "sygus-eval-unfold-bool") { |
12734 |
|
return (*this)[options::sygusEvalUnfoldBool] ? "true" : "false"; |
12735 |
|
} |
12736 |
10 |
if (key == "sygus-expr-miner-check-timeout") { |
12737 |
|
return std::to_string((*this)[options::sygusExprMinerCheckTimeout]); |
12738 |
|
} |
12739 |
10 |
if (key == "sygus-ext-rew") { |
12740 |
|
return (*this)[options::sygusExtRew] ? "true" : "false"; |
12741 |
|
} |
12742 |
10 |
if (key == "sygus-filter-sol-rev") { |
12743 |
|
return (*this)[options::sygusFilterSolRevSubsume] ? "true" : "false"; |
12744 |
|
} |
12745 |
10 |
if (key == "sygus-filter-sol") { |
12746 |
|
std::stringstream ss; |
12747 |
|
ss << (*this)[options::sygusFilterSolMode]; |
12748 |
|
return ss.str(); |
12749 |
|
} |
12750 |
10 |
if (key == "sygus-grammar-cons") { |
12751 |
|
std::stringstream ss; |
12752 |
|
ss << (*this)[options::sygusGrammarConsMode]; |
12753 |
|
return ss.str(); |
12754 |
|
} |
12755 |
10 |
if (key == "sygus-grammar-norm") { |
12756 |
|
return (*this)[options::sygusGrammarNorm] ? "true" : "false"; |
12757 |
|
} |
12758 |
10 |
if (key == "sygus-inference") { |
12759 |
|
return (*this)[options::sygusInference] ? "true" : "false"; |
12760 |
|
} |
12761 |
10 |
if (key == "sygus-inst") { |
12762 |
|
return (*this)[options::sygusInst] ? "true" : "false"; |
12763 |
|
} |
12764 |
10 |
if (key == "sygus-inst-mode") { |
12765 |
|
std::stringstream ss; |
12766 |
|
ss << (*this)[options::sygusInstMode]; |
12767 |
|
return ss.str(); |
12768 |
|
} |
12769 |
10 |
if (key == "sygus-inst-scope") { |
12770 |
|
std::stringstream ss; |
12771 |
|
ss << (*this)[options::sygusInstScope]; |
12772 |
|
return ss.str(); |
12773 |
|
} |
12774 |
10 |
if (key == "sygus-inst-term-sel") { |
12775 |
|
std::stringstream ss; |
12776 |
|
ss << (*this)[options::sygusInstTermSel]; |
12777 |
|
return ss.str(); |
12778 |
|
} |
12779 |
10 |
if (key == "sygus-inv-templ-when-sg") { |
12780 |
|
return (*this)[options::sygusInvTemplWhenSyntax] ? "true" : "false"; |
12781 |
|
} |
12782 |
10 |
if (key == "sygus-inv-templ") { |
12783 |
|
std::stringstream ss; |
12784 |
|
ss << (*this)[options::sygusInvTemplMode]; |
12785 |
|
return ss.str(); |
12786 |
|
} |
12787 |
10 |
if (key == "sygus-min-grammar") { |
12788 |
|
return (*this)[options::sygusMinGrammar] ? "true" : "false"; |
12789 |
|
} |
12790 |
10 |
if (key == "sygus-pbe") { |
12791 |
|
return (*this)[options::sygusUnifPbe] ? "true" : "false"; |
12792 |
|
} |
12793 |
10 |
if (key == "sygus-pbe-multi-fair") { |
12794 |
|
return (*this)[options::sygusPbeMultiFair] ? "true" : "false"; |
12795 |
|
} |
12796 |
10 |
if (key == "sygus-pbe-multi-fair-diff") { |
12797 |
|
return std::to_string((*this)[options::sygusPbeMultiFairDiff]); |
12798 |
|
} |
12799 |
10 |
if (key == "sygus-qe-preproc") { |
12800 |
|
return (*this)[options::sygusQePreproc] ? "true" : "false"; |
12801 |
|
} |
12802 |
10 |
if (key == "sygus-query-gen") { |
12803 |
|
return (*this)[options::sygusQueryGen] ? "true" : "false"; |
12804 |
|
} |
12805 |
10 |
if (key == "sygus-query-gen-check") { |
12806 |
|
return (*this)[options::sygusQueryGenCheck] ? "true" : "false"; |
12807 |
|
} |
12808 |
10 |
if (key == "sygus-query-gen-dump-files") { |
12809 |
|
std::stringstream ss; |
12810 |
|
ss << (*this)[options::sygusQueryGenDumpFiles]; |
12811 |
|
return ss.str(); |
12812 |
|
} |
12813 |
10 |
if (key == "sygus-query-gen-thresh") { |
12814 |
|
return std::to_string((*this)[options::sygusQueryGenThresh]); |
12815 |
|
} |
12816 |
10 |
if (key == "sygus-rec-fun") { |
12817 |
|
return (*this)[options::sygusRecFun] ? "true" : "false"; |
12818 |
|
} |
12819 |
10 |
if (key == "sygus-rec-fun-eval-limit") { |
12820 |
|
return std::to_string((*this)[options::sygusRecFunEvalLimit]); |
12821 |
|
} |
12822 |
10 |
if (key == "sygus-repair-const") { |
12823 |
|
return (*this)[options::sygusRepairConst] ? "true" : "false"; |
12824 |
|
} |
12825 |
10 |
if (key == "sygus-repair-const-timeout") { |
12826 |
|
return std::to_string((*this)[options::sygusRepairConstTimeout]); |
12827 |
|
} |
12828 |
10 |
if (key == "sygus-rr") { |
12829 |
|
return (*this)[options::sygusRew] ? "true" : "false"; |
12830 |
|
} |
12831 |
10 |
if (key == "sygus-rr-synth") { |
12832 |
|
return (*this)[options::sygusRewSynth] ? "true" : "false"; |
12833 |
|
} |
12834 |
10 |
if (key == "sygus-rr-synth-accel") { |
12835 |
|
return (*this)[options::sygusRewSynthAccel] ? "true" : "false"; |
12836 |
|
} |
12837 |
10 |
if (key == "sygus-rr-synth-check") { |
12838 |
|
return (*this)[options::sygusRewSynthCheck] ? "true" : "false"; |
12839 |
|
} |
12840 |
10 |
if (key == "sygus-rr-synth-filter-cong") { |
12841 |
|
return (*this)[options::sygusRewSynthFilterCong] ? "true" : "false"; |
12842 |
|
} |
12843 |
10 |
if (key == "sygus-rr-synth-filter-match") { |
12844 |
|
return (*this)[options::sygusRewSynthFilterMatch] ? "true" : "false"; |
12845 |
|
} |
12846 |
10 |
if (key == "sygus-rr-synth-filter-nl") { |
12847 |
|
return (*this)[options::sygusRewSynthFilterNonLinear] ? "true" : "false"; |
12848 |
|
} |
12849 |
10 |
if (key == "sygus-rr-synth-filter-order") { |
12850 |
|
return (*this)[options::sygusRewSynthFilterOrder] ? "true" : "false"; |
12851 |
|
} |
12852 |
10 |
if (key == "sygus-rr-synth-input") { |
12853 |
|
return (*this)[options::sygusRewSynthInput] ? "true" : "false"; |
12854 |
|
} |
12855 |
10 |
if (key == "sygus-rr-synth-input-nvars") { |
12856 |
|
return std::to_string((*this)[options::sygusRewSynthInputNVars]); |
12857 |
|
} |
12858 |
10 |
if (key == "sygus-rr-synth-input-use-bool") { |
12859 |
|
return (*this)[options::sygusRewSynthInputUseBool] ? "true" : "false"; |
12860 |
|
} |
12861 |
10 |
if (key == "sygus-rr-synth-rec") { |
12862 |
|
return (*this)[options::sygusRewSynthRec] ? "true" : "false"; |
12863 |
|
} |
12864 |
10 |
if (key == "sygus-rr-verify") { |
12865 |
|
return (*this)[options::sygusRewVerify] ? "true" : "false"; |
12866 |
|
} |
12867 |
10 |
if (key == "sygus-rr-verify-abort") { |
12868 |
|
return (*this)[options::sygusRewVerifyAbort] ? "true" : "false"; |
12869 |
|
} |
12870 |
10 |
if (key == "sygus-sample-fp-uniform") { |
12871 |
|
return (*this)[options::sygusSampleFpUniform] ? "true" : "false"; |
12872 |
|
} |
12873 |
10 |
if (key == "sygus-sample-grammar") { |
12874 |
|
return (*this)[options::sygusSampleGrammar] ? "true" : "false"; |
12875 |
|
} |
12876 |
10 |
if (key == "sygus-samples") { |
12877 |
|
return std::to_string((*this)[options::sygusSamples]); |
12878 |
|
} |
12879 |
10 |
if (key == "sygus-si-abort") { |
12880 |
|
return (*this)[options::cegqiSingleInvAbort] ? "true" : "false"; |
12881 |
|
} |
12882 |
10 |
if (key == "sygus-si-partial") { |
12883 |
|
return (*this)[options::cegqiSingleInvPartial] ? "true" : "false"; |
12884 |
|
} |
12885 |
10 |
if (key == "sygus-si-rcons-limit") { |
12886 |
|
return std::to_string((*this)[options::cegqiSingleInvReconstructLimit]); |
12887 |
|
} |
12888 |
10 |
if (key == "sygus-si-rcons") { |
12889 |
|
std::stringstream ss; |
12890 |
|
ss << (*this)[options::cegqiSingleInvReconstruct]; |
12891 |
|
return ss.str(); |
12892 |
|
} |
12893 |
10 |
if (key == "sygus-si-reconstruct-const") { |
12894 |
|
return (*this)[options::cegqiSingleInvReconstructConst] ? "true" : "false"; |
12895 |
|
} |
12896 |
10 |
if (key == "sygus-si") { |
12897 |
|
std::stringstream ss; |
12898 |
|
ss << (*this)[options::cegqiSingleInvMode]; |
12899 |
|
return ss.str(); |
12900 |
|
} |
12901 |
10 |
if (key == "sygus-stream") { |
12902 |
|
return (*this)[options::sygusStream] ? "true" : "false"; |
12903 |
|
} |
12904 |
10 |
if (key == "sygus-templ-embed-grammar") { |
12905 |
|
return (*this)[options::sygusTemplEmbedGrammar] ? "true" : "false"; |
12906 |
|
} |
12907 |
10 |
if (key == "sygus-unif-cond-independent-no-repeat-sol") { |
12908 |
|
return (*this)[options::sygusUnifCondIndNoRepeatSol] ? "true" : "false"; |
12909 |
|
} |
12910 |
10 |
if (key == "sygus-unif-pi") { |
12911 |
|
std::stringstream ss; |
12912 |
|
ss << (*this)[options::sygusUnifPi]; |
12913 |
|
return ss.str(); |
12914 |
|
} |
12915 |
10 |
if (key == "sygus-unif-shuffle-cond") { |
12916 |
|
return (*this)[options::sygusUnifShuffleCond] ? "true" : "false"; |
12917 |
|
} |
12918 |
10 |
if (key == "term-db-cd") { |
12919 |
|
return (*this)[options::termDbCd] ? "true" : "false"; |
12920 |
|
} |
12921 |
10 |
if (key == "term-db-mode") { |
12922 |
|
std::stringstream ss; |
12923 |
|
ss << (*this)[options::termDbMode]; |
12924 |
|
return ss.str(); |
12925 |
|
} |
12926 |
10 |
if (key == "trigger-active-sel") { |
12927 |
|
std::stringstream ss; |
12928 |
|
ss << (*this)[options::triggerActiveSelMode]; |
12929 |
|
return ss.str(); |
12930 |
|
} |
12931 |
10 |
if (key == "trigger-sel") { |
12932 |
|
std::stringstream ss; |
12933 |
|
ss << (*this)[options::triggerSelMode]; |
12934 |
|
return ss.str(); |
12935 |
|
} |
12936 |
10 |
if (key == "user-pat") { |
12937 |
|
std::stringstream ss; |
12938 |
|
ss << (*this)[options::userPatternsQuant]; |
12939 |
|
return ss.str(); |
12940 |
|
} |
12941 |
10 |
if (key == "var-elim-quant") { |
12942 |
|
return (*this)[options::varElimQuant] ? "true" : "false"; |
12943 |
|
} |
12944 |
10 |
if (key == "var-ineq-elim-quant") { |
12945 |
|
return (*this)[options::varIneqElimQuant] ? "true" : "false"; |
12946 |
|
} |
12947 |
10 |
if (key == "reproducible-resource-limit" || key == "rlimit-per") { |
12948 |
|
return std::to_string((*this)[options::perCallResourceLimit]); |
12949 |
|
} |
12950 |
10 |
if (key == "rlimit") { |
12951 |
|
return std::to_string((*this)[options::cumulativeResourceLimit]); |
12952 |
|
} |
12953 |
10 |
if (key == "tlimit-per") { |
12954 |
|
return std::to_string((*this)[options::perCallMillisecondLimit]); |
12955 |
|
} |
12956 |
10 |
if (key == "tlimit") { |
12957 |
|
return std::to_string((*this)[options::cumulativeMillisecondLimit]); |
12958 |
|
} |
12959 |
10 |
if (key == "sep-check-neg") { |
12960 |
|
return (*this)[options::sepCheckNeg] ? "true" : "false"; |
12961 |
|
} |
12962 |
10 |
if (key == "sep-child-refine") { |
12963 |
|
return (*this)[options::sepChildRefine] ? "true" : "false"; |
12964 |
|
} |
12965 |
10 |
if (key == "sep-deq-c") { |
12966 |
|
return (*this)[options::sepDisequalC] ? "true" : "false"; |
12967 |
|
} |
12968 |
10 |
if (key == "sep-exp") { |
12969 |
|
return (*this)[options::sepExp] ? "true" : "false"; |
12970 |
|
} |
12971 |
10 |
if (key == "sep-min-refine") { |
12972 |
|
return (*this)[options::sepMinimalRefine] ? "true" : "false"; |
12973 |
|
} |
12974 |
10 |
if (key == "sep-pre-skolem-emp") { |
12975 |
|
return (*this)[options::sepPreSkolemEmp] ? "true" : "false"; |
12976 |
|
} |
12977 |
10 |
if (key == "sets-ext") { |
12978 |
|
return (*this)[options::setsExt] ? "true" : "false"; |
12979 |
|
} |
12980 |
10 |
if (key == "sets-infer-as-lemmas") { |
12981 |
|
return (*this)[options::setsInferAsLemmas] ? "true" : "false"; |
12982 |
|
} |
12983 |
10 |
if (key == "sets-proxy-lemmas") { |
12984 |
|
return (*this)[options::setsProxyLemmas] ? "true" : "false"; |
12985 |
|
} |
12986 |
10 |
if (key == "abstract-values") { |
12987 |
|
return (*this)[options::abstractValues] ? "true" : "false"; |
12988 |
|
} |
12989 |
10 |
if (key == "ackermann") { |
12990 |
|
return (*this)[options::ackermann] ? "true" : "false"; |
12991 |
|
} |
12992 |
10 |
if (key == "block-models") { |
12993 |
|
std::stringstream ss; |
12994 |
|
ss << (*this)[options::blockModelsMode]; |
12995 |
|
return ss.str(); |
12996 |
|
} |
12997 |
10 |
if (key == "bvand-integer-granularity") { |
12998 |
|
return std::to_string((*this)[options::BVAndIntegerGranularity]); |
12999 |
|
} |
13000 |
10 |
if (key == "check-abducts") { |
13001 |
|
return (*this)[options::checkAbducts] ? "true" : "false"; |
13002 |
|
} |
13003 |
10 |
if (key == "check-interpols") { |
13004 |
|
return (*this)[options::checkInterpols] ? "true" : "false"; |
13005 |
|
} |
13006 |
10 |
if (key == "check-models") { |
13007 |
2 |
return (*this)[options::checkModels] ? "true" : "false"; |
13008 |
|
} |
13009 |
8 |
if (key == "check-proofs") { |
13010 |
|
return (*this)[options::checkProofs] ? "true" : "false"; |
13011 |
|
} |
13012 |
8 |
if (key == "check-synth-sol") { |
13013 |
|
return (*this)[options::checkSynthSol] ? "true" : "false"; |
13014 |
|
} |
13015 |
8 |
if (key == "check-unsat-cores") { |
13016 |
|
return (*this)[options::checkUnsatCores] ? "true" : "false"; |
13017 |
|
} |
13018 |
8 |
if (key == "debug-check-models") { |
13019 |
|
return (*this)[options::debugCheckModels] ? "true" : "false"; |
13020 |
|
} |
13021 |
8 |
if (key == "diagnostic-output-channel") { |
13022 |
|
return (*this)[options::diagnosticChannelName]; |
13023 |
|
} |
13024 |
8 |
if (key == "dump-instantiations") { |
13025 |
|
return (*this)[options::dumpInstantiations] ? "true" : "false"; |
13026 |
|
} |
13027 |
8 |
if (key == "dump-models") { |
13028 |
|
return (*this)[options::dumpModels] ? "true" : "false"; |
13029 |
|
} |
13030 |
8 |
if (key == "dump-proofs") { |
13031 |
|
return (*this)[options::dumpProofs] ? "true" : "false"; |
13032 |
|
} |
13033 |
8 |
if (key == "dump-to") { |
13034 |
|
return (*this)[options::dumpToFileName]; |
13035 |
|
} |
13036 |
8 |
if (key == "dump-unsat-cores") { |
13037 |
|
return (*this)[options::dumpUnsatCores] ? "true" : "false"; |
13038 |
|
} |
13039 |
8 |
if (key == "dump-unsat-cores-full") { |
13040 |
|
return (*this)[options::dumpUnsatCoresFull] ? "true" : "false"; |
13041 |
|
} |
13042 |
8 |
if (key == "dump") { |
13043 |
|
return (*this)[options::dumpModeString]; |
13044 |
|
} |
13045 |
8 |
if (key == "early-ite-removal") { |
13046 |
|
return (*this)[options::earlyIteRemoval] ? "true" : "false"; |
13047 |
|
} |
13048 |
8 |
if (key == "expand-definitions") { |
13049 |
|
return (*this)[options::expandDefinitions] ? "true" : "false"; |
13050 |
|
} |
13051 |
8 |
if (key == "ext-rew-prep") { |
13052 |
|
return (*this)[options::extRewPrep] ? "true" : "false"; |
13053 |
|
} |
13054 |
8 |
if (key == "ext-rew-prep-agg") { |
13055 |
|
return (*this)[options::extRewPrepAgg] ? "true" : "false"; |
13056 |
|
} |
13057 |
8 |
if (key == "force-no-limit-cpu-while-dump") { |
13058 |
|
return (*this)[options::forceNoLimitCpuWhileDump] ? "true" : "false"; |
13059 |
|
} |
13060 |
8 |
if (key == "foreign-theory-rewrite") { |
13061 |
|
return (*this)[options::foreignTheoryRewrite] ? "true" : "false"; |
13062 |
|
} |
13063 |
8 |
if (key == "iand-mode") { |
13064 |
|
std::stringstream ss; |
13065 |
|
ss << (*this)[options::iandMode]; |
13066 |
|
return ss.str(); |
13067 |
|
} |
13068 |
8 |
if (key == "incremental") { |
13069 |
2 |
return (*this)[options::incrementalSolving] ? "true" : "false"; |
13070 |
|
} |
13071 |
6 |
if (key == "interactive-mode") { |
13072 |
|
return (*this)[options::interactiveMode] ? "true" : "false"; |
13073 |
|
} |
13074 |
6 |
if (key == "ite-simp") { |
13075 |
|
return (*this)[options::doITESimp] ? "true" : "false"; |
13076 |
|
} |
13077 |
6 |
if (key == "model-cores") { |
13078 |
|
std::stringstream ss; |
13079 |
|
ss << (*this)[options::modelCoresMode]; |
13080 |
|
return ss.str(); |
13081 |
|
} |
13082 |
6 |
if (key == "model-u-print" || key == "model-uninterp-print") { |
13083 |
|
std::stringstream ss; |
13084 |
|
ss << (*this)[options::modelUninterpPrint]; |
13085 |
|
return ss.str(); |
13086 |
|
} |
13087 |
6 |
if (key == "model-witness-value") { |
13088 |
|
return (*this)[options::modelWitnessValue] ? "true" : "false"; |
13089 |
|
} |
13090 |
6 |
if (key == "on-repeat-ite-simp") { |
13091 |
|
return (*this)[options::doITESimpOnRepeat] ? "true" : "false"; |
13092 |
|
} |
13093 |
6 |
if (key == "produce-abducts") { |
13094 |
|
return (*this)[options::produceAbducts] ? "true" : "false"; |
13095 |
|
} |
13096 |
6 |
if (key == "produce-assertions") { |
13097 |
|
return (*this)[options::produceAssertions] ? "true" : "false"; |
13098 |
|
} |
13099 |
6 |
if (key == "produce-assignments") { |
13100 |
|
return (*this)[options::produceAssignments] ? "true" : "false"; |
13101 |
|
} |
13102 |
6 |
if (key == "produce-interpols") { |
13103 |
|
std::stringstream ss; |
13104 |
|
ss << (*this)[options::produceInterpols]; |
13105 |
|
return ss.str(); |
13106 |
|
} |
13107 |
6 |
if (key == "produce-models") { |
13108 |
3 |
return (*this)[options::produceModels] ? "true" : "false"; |
13109 |
|
} |
13110 |
3 |
if (key == "produce-proofs") { |
13111 |
|
return (*this)[options::produceProofs] ? "true" : "false"; |
13112 |
|
} |
13113 |
3 |
if (key == "produce-unsat-assumptions") { |
13114 |
|
return (*this)[options::unsatAssumptions] ? "true" : "false"; |
13115 |
|
} |
13116 |
3 |
if (key == "produce-unsat-cores") { |
13117 |
|
return (*this)[options::unsatCores] ? "true" : "false"; |
13118 |
|
} |
13119 |
3 |
if (key == "regular-output-channel") { |
13120 |
|
return (*this)[options::regularChannelName]; |
13121 |
|
} |
13122 |
3 |
if (key == "repeat-simp") { |
13123 |
|
return (*this)[options::repeatSimp] ? "true" : "false"; |
13124 |
|
} |
13125 |
3 |
if (key == "simp-ite-compress") { |
13126 |
|
return (*this)[options::compressItes] ? "true" : "false"; |
13127 |
|
} |
13128 |
3 |
if (key == "simp-ite-hunt-zombies") { |
13129 |
|
return std::to_string((*this)[options::zombieHuntThreshold]); |
13130 |
|
} |
13131 |
3 |
if (key == "simp-with-care") { |
13132 |
|
return (*this)[options::simplifyWithCareEnabled] ? "true" : "false"; |
13133 |
|
} |
13134 |
3 |
if (key == "simplification" || key == "simplification-mode") { |
13135 |
2 |
std::stringstream ss; |
13136 |
1 |
ss << (*this)[options::simplificationMode]; |
13137 |
1 |
return ss.str(); |
13138 |
|
} |
13139 |
2 |
if (key == "solve-bv-as-int") { |
13140 |
|
std::stringstream ss; |
13141 |
|
ss << (*this)[options::solveBVAsInt]; |
13142 |
|
return ss.str(); |
13143 |
|
} |
13144 |
2 |
if (key == "solve-int-as-bv") { |
13145 |
|
return std::to_string((*this)[options::solveIntAsBV]); |
13146 |
|
} |
13147 |
2 |
if (key == "solve-real-as-int") { |
13148 |
|
return (*this)[options::solveRealAsInt] ? "true" : "false"; |
13149 |
|
} |
13150 |
2 |
if (key == "sort-inference") { |
13151 |
|
return (*this)[options::sortInference] ? "true" : "false"; |
13152 |
|
} |
13153 |
2 |
if (key == "static-learning") { |
13154 |
|
return (*this)[options::doStaticLearning] ? "true" : "false"; |
13155 |
|
} |
13156 |
2 |
if (key == "sygus-out") { |
13157 |
|
std::stringstream ss; |
13158 |
|
ss << (*this)[options::sygusOut]; |
13159 |
|
return ss.str(); |
13160 |
|
} |
13161 |
2 |
if (key == "sygus-print-callbacks") { |
13162 |
|
return (*this)[options::sygusPrintCallbacks] ? "true" : "false"; |
13163 |
|
} |
13164 |
2 |
if (key == "unconstrained-simp") { |
13165 |
|
return (*this)[options::unconstrainedSimp] ? "true" : "false"; |
13166 |
|
} |
13167 |
2 |
if (key == "unsat-cores-mode") { |
13168 |
|
std::stringstream ss; |
13169 |
|
ss << (*this)[options::unsatCoresMode]; |
13170 |
|
return ss.str(); |
13171 |
|
} |
13172 |
2 |
if (key == "re-elim") { |
13173 |
|
return (*this)[options::regExpElim] ? "true" : "false"; |
13174 |
|
} |
13175 |
2 |
if (key == "re-elim-agg") { |
13176 |
|
return (*this)[options::regExpElimAgg] ? "true" : "false"; |
13177 |
|
} |
13178 |
2 |
if (key == "re-inter-mode") { |
13179 |
|
std::stringstream ss; |
13180 |
|
ss << (*this)[options::stringRegExpInterMode]; |
13181 |
|
return ss.str(); |
13182 |
|
} |
13183 |
2 |
if (key == "strings-check-entail-len") { |
13184 |
|
return (*this)[options::stringCheckEntailLen] ? "true" : "false"; |
13185 |
|
} |
13186 |
2 |
if (key == "strings-eager") { |
13187 |
|
return (*this)[options::stringEager] ? "true" : "false"; |
13188 |
|
} |
13189 |
2 |
if (key == "strings-eager-eval") { |
13190 |
|
return (*this)[options::stringEagerEval] ? "true" : "false"; |
13191 |
|
} |
13192 |
2 |
if (key == "strings-eager-len") { |
13193 |
|
return (*this)[options::stringEagerLen] ? "true" : "false"; |
13194 |
|
} |
13195 |
2 |
if (key == "strings-exp") { |
13196 |
|
return (*this)[options::stringExp] ? "true" : "false"; |
13197 |
|
} |
13198 |
2 |
if (key == "strings-ff") { |
13199 |
|
return (*this)[options::stringFlatForms] ? "true" : "false"; |
13200 |
|
} |
13201 |
2 |
if (key == "strings-fmf") { |
13202 |
|
return (*this)[options::stringFMF] ? "true" : "false"; |
13203 |
|
} |
13204 |
2 |
if (key == "strings-guess-model") { |
13205 |
|
return (*this)[options::stringGuessModel] ? "true" : "false"; |
13206 |
|
} |
13207 |
2 |
if (key == "strings-infer-as-lemmas") { |
13208 |
|
return (*this)[options::stringInferAsLemmas] ? "true" : "false"; |
13209 |
|
} |
13210 |
2 |
if (key == "strings-infer-sym") { |
13211 |
|
return (*this)[options::stringInferSym] ? "true" : "false"; |
13212 |
|
} |
13213 |
2 |
if (key == "strings-inm") { |
13214 |
|
return (*this)[options::stringIgnNegMembership] ? "true" : "false"; |
13215 |
|
} |
13216 |
2 |
if (key == "strings-lazy-pp") { |
13217 |
|
return (*this)[options::stringLazyPreproc] ? "true" : "false"; |
13218 |
|
} |
13219 |
2 |
if (key == "strings-len-norm") { |
13220 |
|
return (*this)[options::stringLenNorm] ? "true" : "false"; |
13221 |
|
} |
13222 |
2 |
if (key == "strings-lprop-csp") { |
13223 |
|
return (*this)[options::stringLenPropCsp] ? "true" : "false"; |
13224 |
|
} |
13225 |
2 |
if (key == "strings-min-prefix-explain") { |
13226 |
|
return (*this)[options::stringMinPrefixExplain] ? "true" : "false"; |
13227 |
|
} |
13228 |
2 |
if (key == "strings-process-loop-mode") { |
13229 |
|
std::stringstream ss; |
13230 |
|
ss << (*this)[options::stringProcessLoopMode]; |
13231 |
|
return ss.str(); |
13232 |
|
} |
13233 |
2 |
if (key == "strings-rexplain-lemmas") { |
13234 |
|
return (*this)[options::stringRExplainLemmas] ? "true" : "false"; |
13235 |
|
} |
13236 |
2 |
if (key == "strings-unified-vspt") { |
13237 |
|
return (*this)[options::stringUnifiedVSpt] ? "true" : "false"; |
13238 |
|
} |
13239 |
2 |
if (key == "assign-function-values") { |
13240 |
|
return (*this)[options::assignFunctionValues] ? "true" : "false"; |
13241 |
|
} |
13242 |
2 |
if (key == "condense-function-values") { |
13243 |
|
return (*this)[options::condenseFunctionValues] ? "true" : "false"; |
13244 |
|
} |
13245 |
2 |
if (key == "ee-mode") { |
13246 |
|
std::stringstream ss; |
13247 |
|
ss << (*this)[options::eeMode]; |
13248 |
|
return ss.str(); |
13249 |
|
} |
13250 |
2 |
if (key == "relevance-filter") { |
13251 |
|
return (*this)[options::relevanceFilter] ? "true" : "false"; |
13252 |
|
} |
13253 |
2 |
if (key == "tc-mode") { |
13254 |
|
std::stringstream ss; |
13255 |
|
ss << (*this)[options::tcMode]; |
13256 |
|
return ss.str(); |
13257 |
|
} |
13258 |
2 |
if (key == "theoryof-mode") { |
13259 |
|
std::stringstream ss; |
13260 |
|
ss << (*this)[options::theoryOfMode]; |
13261 |
|
return ss.str(); |
13262 |
|
} |
13263 |
2 |
if (key == "symmetry-breaker" || key == "uf-symmetry-breaker") { |
13264 |
|
return (*this)[options::ufSymmetryBreaker] ? "true" : "false"; |
13265 |
|
} |
13266 |
2 |
if (key == "uf-ho") { |
13267 |
|
return (*this)[options::ufHo] ? "true" : "false"; |
13268 |
|
} |
13269 |
2 |
if (key == "uf-ho-ext") { |
13270 |
|
return (*this)[options::ufHoExt] ? "true" : "false"; |
13271 |
|
} |
13272 |
2 |
if (key == "uf-ss-abort-card") { |
13273 |
|
return std::to_string((*this)[options::ufssAbortCardinality]); |
13274 |
|
} |
13275 |
2 |
if (key == "uf-ss-fair") { |
13276 |
|
return (*this)[options::ufssFairness] ? "true" : "false"; |
13277 |
|
} |
13278 |
2 |
if (key == "uf-ss-fair-monotone") { |
13279 |
|
return (*this)[options::ufssFairnessMonotone] ? "true" : "false"; |
13280 |
|
} |
13281 |
2 |
if (key == "uf-ss-totality-limited") { |
13282 |
|
return std::to_string((*this)[options::ufssTotalityLimited]); |
13283 |
|
} |
13284 |
2 |
if (key == "uf-ss-totality-sym-break") { |
13285 |
|
return (*this)[options::ufssTotalitySymBreak] ? "true" : "false"; |
13286 |
|
} |
13287 |
2 |
if (key == "uf-ss") { |
13288 |
|
std::stringstream ss; |
13289 |
|
ss << (*this)[options::ufssMode]; |
13290 |
|
return ss.str(); |
13291 |
|
} |
13292 |
|
|
13293 |
2 |
throw UnrecognizedOptionException(key); |
13294 |
|
} |
13295 |
|
// clang-format on |
13296 |
|
|
13297 |
27751 |
} // namespace cvc5 |
13298 |
|
|