1 |
|
/****************************************************************************** |
2 |
|
* Top contributors (to current version): |
3 |
|
* Tim King, Gereon Kremer, 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 |
|
* Global (command-line, set-option, ...) parameters for SMT. |
14 |
|
*/ |
15 |
|
|
16 |
|
#include "base/check.h" |
17 |
|
#include "base/output.h" |
18 |
|
#include "options/options.h" |
19 |
|
#include "options/options_handler.h" |
20 |
|
#include "options/options_listener.h" |
21 |
|
#include "options/options_public.h" |
22 |
|
#include "options/uf_options.h" |
23 |
|
|
24 |
|
// clang-format off |
25 |
|
#include "options/arith_options.h" |
26 |
|
#include "options/arrays_options.h" |
27 |
|
#include "options/base_options.h" |
28 |
|
#include "options/booleans_options.h" |
29 |
|
#include "options/builtin_options.h" |
30 |
|
#include "options/bv_options.h" |
31 |
|
#include "options/datatypes_options.h" |
32 |
|
#include "options/decision_options.h" |
33 |
|
#include "options/expr_options.h" |
34 |
|
#include "options/fp_options.h" |
35 |
|
#include "options/main_options.h" |
36 |
|
#include "options/parser_options.h" |
37 |
|
#include "options/printer_options.h" |
38 |
|
#include "options/proof_options.h" |
39 |
|
#include "options/prop_options.h" |
40 |
|
#include "options/quantifiers_options.h" |
41 |
|
#include "options/sep_options.h" |
42 |
|
#include "options/sets_options.h" |
43 |
|
#include "options/smt_options.h" |
44 |
|
#include "options/strings_options.h" |
45 |
|
#include "options/theory_options.h" |
46 |
|
#include "options/uf_options.h" |
47 |
|
#include <bitset> |
48 |
|
#include "options/language.h" |
49 |
|
#include "options/managed_streams.h" |
50 |
|
#include <iostream> |
51 |
|
#include "options/decision_weight.h" |
52 |
|
// clang-format on |
53 |
|
|
54 |
|
#include <cstring> |
55 |
|
#include <iostream> |
56 |
|
#include <limits> |
57 |
|
|
58 |
|
namespace cvc5::options |
59 |
|
{ |
60 |
|
// Contains the default option handlers (i.e. parsers) |
61 |
|
namespace handlers { |
62 |
|
|
63 |
|
/** |
64 |
|
* Utility function for handling numeric options. Takes care of checking for |
65 |
|
* unsignedness, parsing and handling parsing exceptions. Expects `conv` to be |
66 |
|
* a conversion function like `std::stod`, accepting a `std::string` and a |
67 |
|
* `size_t*`. The argument `type` is only used to generate proper error |
68 |
|
* messages and should be the string representation of `T`. If `T` is |
69 |
|
* unsigned, checks that `optionarg` contains no minus. Then `conv` is called |
70 |
|
* and the error conditions are handled: `conv` may throw an exception or |
71 |
|
* `pos` may be smaller than the size of `optionarg`, indicating that not the |
72 |
|
* entirety of `optionarg` was parsed. |
73 |
|
*/ |
74 |
|
template <typename T, typename FF> |
75 |
136 |
T parseNumber(const std::string& flag, |
76 |
|
const std::string& optionarg, |
77 |
|
FF&& conv, |
78 |
|
const std::string& type) |
79 |
|
{ |
80 |
103 |
if (!std::numeric_limits<T>::is_signed |
81 |
103 |
&& (optionarg.find('-') != std::string::npos)) |
82 |
|
{ |
83 |
|
std::stringstream ss; |
84 |
|
ss << "Argument '" << optionarg << "' for " << type << " option " << flag |
85 |
|
<< " is negative"; |
86 |
|
throw OptionException(ss.str()); |
87 |
|
} |
88 |
136 |
size_t pos = 0; |
89 |
|
T res; |
90 |
|
try |
91 |
|
{ |
92 |
136 |
res = conv(optionarg, &pos); |
93 |
|
} |
94 |
|
catch (const std::exception& e) |
95 |
|
{ |
96 |
|
std::stringstream ss; |
97 |
|
ss << "Argument '" << optionarg << "' for " << type << " option " << flag |
98 |
|
<< " did not parse as " << type; |
99 |
|
throw OptionException(ss.str()); |
100 |
|
} |
101 |
136 |
if (pos < optionarg.size()) |
102 |
|
{ |
103 |
|
std::stringstream ss; |
104 |
|
ss << "Argument '" << optionarg << "' for " << type << " option " << flag |
105 |
|
<< " did parse only partially as " << type << ", leaving '" |
106 |
|
<< optionarg.substr(pos) << "'"; |
107 |
|
throw OptionException(ss.str()); |
108 |
|
} |
109 |
136 |
return res; |
110 |
|
} |
111 |
|
|
112 |
|
/** Default handler that triggers a compiler error */ |
113 |
|
template <typename T> |
114 |
|
T handleOption(const std::string& option, |
115 |
|
const std::string& flag, |
116 |
|
const std::string& optionarg) |
117 |
|
{ |
118 |
|
T::unsupported_handleOption_specialization; |
119 |
|
return *static_cast<T*>(nullptr); |
120 |
|
} |
121 |
|
|
122 |
|
/** Handle a string option by returning it as is. */ |
123 |
|
template <> |
124 |
12 |
std::string handleOption<std::string>(const std::string& option, |
125 |
|
const std::string& flag, |
126 |
|
const std::string& optionarg) |
127 |
|
{ |
128 |
12 |
return optionarg; |
129 |
|
} |
130 |
|
/** Handle a bool option, recognizing "true" or "false". */ |
131 |
|
template <> |
132 |
21915 |
bool handleOption<bool>(const std::string& option, |
133 |
|
const std::string& flag, |
134 |
|
const std::string& optionarg) |
135 |
|
{ |
136 |
21915 |
if (optionarg == "true") |
137 |
|
{ |
138 |
8533 |
return true; |
139 |
|
} |
140 |
13382 |
if (optionarg == "false") |
141 |
|
{ |
142 |
13382 |
return false; |
143 |
|
} |
144 |
|
throw OptionException("Argument '" + optionarg + "' for bool option " + flag |
145 |
|
+ " is not a bool constant"); |
146 |
|
} |
147 |
|
|
148 |
|
/** Handle a double option, using `parseNumber` with `std::stod`. */ |
149 |
|
template <> |
150 |
|
double handleOption<double>(const std::string& option, |
151 |
|
const std::string& flag, |
152 |
|
const std::string& optionarg) |
153 |
|
{ |
154 |
|
return parseNumber<double>( |
155 |
|
flag, |
156 |
|
optionarg, |
157 |
|
[](const auto& s, auto p) { return std::stod(s, p); }, |
158 |
|
"double"); |
159 |
|
} |
160 |
|
|
161 |
|
/** Handle a int64_t option, using `parseNumber` with `std::stoll`. */ |
162 |
|
template <> |
163 |
33 |
int64_t handleOption<int64_t>(const std::string& option, |
164 |
|
const std::string& flag, |
165 |
|
const std::string& optionarg) |
166 |
|
{ |
167 |
66 |
return parseNumber<int64_t>( |
168 |
|
flag, |
169 |
|
optionarg, |
170 |
33 |
[](const auto& s, auto p) { return std::stoll(s, p); }, |
171 |
66 |
"int64_t"); |
172 |
|
} |
173 |
|
|
174 |
|
/** Handle a uint64_t option, using `parseNumber` with `std::stoull`. */ |
175 |
|
template <> |
176 |
103 |
uint64_t handleOption<uint64_t>(const std::string& option, |
177 |
|
const std::string& flag, |
178 |
|
const std::string& optionarg) |
179 |
|
{ |
180 |
206 |
return parseNumber<uint64_t>( |
181 |
|
flag, |
182 |
|
optionarg, |
183 |
103 |
[](const auto& s, auto p) { return std::stoull(s, p); }, |
184 |
206 |
"uint64_t"); |
185 |
|
} |
186 |
|
|
187 |
|
/** Handle a ManagedIn option. */ |
188 |
|
template <> |
189 |
|
ManagedIn handleOption<ManagedIn>(const std::string& option, |
190 |
|
const std::string& flag, |
191 |
|
const std::string& optionarg) |
192 |
|
{ |
193 |
|
ManagedIn res; |
194 |
|
res.open(optionarg); |
195 |
|
return res; |
196 |
|
} |
197 |
|
|
198 |
|
/** Handle a ManagedErr option. */ |
199 |
|
template <> |
200 |
|
ManagedErr handleOption<ManagedErr>(const std::string& option, |
201 |
|
const std::string& flag, |
202 |
|
const std::string& optionarg) |
203 |
|
{ |
204 |
|
ManagedErr res; |
205 |
|
res.open(optionarg); |
206 |
|
return res; |
207 |
|
} |
208 |
|
|
209 |
|
/** Handle a ManagedOut option. */ |
210 |
|
template <> |
211 |
|
ManagedOut handleOption<ManagedOut>(const std::string& option, |
212 |
|
const std::string& flag, |
213 |
|
const std::string& optionarg) |
214 |
|
{ |
215 |
|
ManagedOut res; |
216 |
|
res.open(optionarg); |
217 |
|
return res; |
218 |
|
} |
219 |
|
} |
220 |
|
|
221 |
2 |
std::vector<std::string> getNames() |
222 |
|
{ |
223 |
|
return { |
224 |
|
// clang-format off |
225 |
|
"abstract-values", "ackermann", "ag-miniscope-quant", "approx-branch-depth", |
226 |
|
"arith-brab", "arith-cong-man", "arith-eq-solver", "arith-no-partial-fun", |
227 |
|
"arith-prop", "arith-prop-clauses", "arith-rewrite-equalities", |
228 |
|
"arrays-config", "arrays-eager-index", "arrays-eager-lemmas", "arrays-exp", |
229 |
|
"arrays-model-based", "arrays-optimize-linear", "arrays-prop", |
230 |
|
"arrays-reduce-sharing", "arrays-weak-equiv", "assign-function-values", |
231 |
|
"bitblast", "bitblast-aig", "bitwise-eq", "block-models", "bool-to-bv", |
232 |
|
"bv-abstraction", "bv-aig-simp", "bv-alg-extf", "bv-algebraic-budget", |
233 |
|
"bv-algebraic-solver", "bv-assert-input", "bv-eager-explanations", |
234 |
|
"bv-eq-solver", "bv-extract-arith", "bv-gauss-elim", "bv-inequality-solver", |
235 |
|
"bv-intro-pow2", "bv-num-func", "bv-print-consts-as-indexed-symbols", |
236 |
|
"bv-propagate", "bv-quick-xplain", "bv-sat-solver", "bv-skolemize", |
237 |
|
"bv-solver", "bv-to-bool", "bvand-integer-granularity", "cdt-bisimilar", |
238 |
|
"cegis-sample", "cegqi", "cegqi-all", "cegqi-bv", "cegqi-bv-concat-inv", |
239 |
|
"cegqi-bv-ineq", "cegqi-bv-interleave-value", "cegqi-bv-linear", |
240 |
|
"cegqi-bv-rm-extract", "cegqi-bv-solve-nl", "cegqi-full", "cegqi-innermost", |
241 |
|
"cegqi-midpoint", "cegqi-min-bounds", "cegqi-model", "cegqi-multi-inst", |
242 |
|
"cegqi-nested-qe", "cegqi-nopt", "cegqi-repeat-lit", "cegqi-round-up-lia", |
243 |
|
"cegqi-sat", "cegqi-use-inf-int", "cegqi-use-inf-real", "check-abducts", |
244 |
|
"check-interpols", "check-models", "check-proofs", "check-synth-sol", |
245 |
|
"check-unsat-cores", "collect-pivot-stats", "cond-var-split-agg-quant", |
246 |
|
"cond-var-split-quant", "condense-function-values", |
247 |
|
"conjecture-filter-active-terms", "conjecture-filter-canonical", |
248 |
|
"conjecture-filter-model", "conjecture-gen", "conjecture-gen-gt-enum", |
249 |
|
"conjecture-gen-max-depth", "conjecture-gen-per-round", |
250 |
|
"conjecture-gen-uee-intro", "conjecture-no-filter", "copyright", |
251 |
|
"cut-all-bounded", "dag-thresh", "debug", "debug-check-models", "decision", |
252 |
|
"decision-mode", "decision-random-weight", "decision-threshold", |
253 |
|
"decision-use-weight", "decision-weight-internal", |
254 |
|
"diagnostic-output-channel", "difficulty-mode", "dio-decomps", "dio-repeat", |
255 |
|
"dio-solver", "dio-turns", "dt-binary-split", "dt-blast-splits", |
256 |
|
"dt-cyclic", "dt-force-assignment", "dt-infer-as-lemmas", "dt-nested-rec", |
257 |
|
"dt-polite-optimize", "dt-rewrite-error-sel", "dt-share-sel", "dt-stc-ind", |
258 |
|
"dt-var-exp-quant", "dump", "dump-instantiations", |
259 |
|
"dump-instantiations-debug", "dump-models", "dump-proofs", "dump-to", |
260 |
|
"dump-unsat-cores", "dump-unsat-cores-full", "e-matching", "early-exit", |
261 |
|
"early-ite-removal", "ee-mode", "elim-taut-quant", "err", |
262 |
|
"error-selection-rule", "expand-definitions", "expr-depth", "ext-rew-prep", |
263 |
|
"ext-rew-prep-agg", "ext-rewrite-quant", "fc-penalties", "filename", |
264 |
|
"filesystem-access", "finite-model-find", "flatten-ho-chains", "fmf-bound", |
265 |
|
"fmf-bound-int", "fmf-bound-lazy", "fmf-fmc-simple", "fmf-fresh-dc", |
266 |
|
"fmf-fun", "fmf-fun-rlv", "fmf-inst-engine", "fmf-type-completion-thresh", |
267 |
|
"force-logic", "force-no-limit-cpu-while-dump", "foreign-theory-rewrite", |
268 |
|
"fp-exp", "fp-lazy-wb", "fs-interleave", "fs-stratify", "fs-sum", |
269 |
|
"full-saturate-quant", "full-saturate-quant-limit", |
270 |
|
"full-saturate-quant-rd", "global-declarations", "global-negate", "help", |
271 |
|
"heuristic-pivots", "ho-elim", "ho-elim-store-ax", "ho-matching", |
272 |
|
"ho-matching-var-priority", "ho-merge-term-db", "iand-mode", "in", |
273 |
|
"increment-triggers", "incremental", "input-language", |
274 |
|
"inst-level-input-only", "inst-max-level", "inst-max-rounds", |
275 |
|
"inst-no-entail", "inst-when", "inst-when-phase", |
276 |
|
"inst-when-strict-interleave", "inst-when-tc-first", "int-wf-ind", |
277 |
|
"interactive", "interactive-mode", "ite-dtt-split-quant", "ite-lift-quant", |
278 |
|
"ite-simp", "jh-rlv-order", "jh-skolem", "jh-skolem-rlv", "lang", |
279 |
|
"language-help", "learned-rewrite", "lemmas-on-replay-failure", |
280 |
|
"literal-matching", "macros-quant", "macros-quant-mode", "maxCutsInContext", |
281 |
|
"mbqi", "mbqi-interleave", "mbqi-one-inst-per-round", "minimal-unsat-cores", |
282 |
|
"minisat-dump-dimacs", "minisat-elimination", "miniscope-quant", |
283 |
|
"miniscope-quant-fv", "miplib-trick", "miplib-trick-subs", "mmap", |
284 |
|
"model-cores", "model-format", "model-u-print", "model-uninterp-print", |
285 |
|
"model-witness-value", "multi-trigger-cache", "multi-trigger-linear", |
286 |
|
"multi-trigger-priority", "multi-trigger-when-single", "new-prop", "nl-cad", |
287 |
|
"nl-cad-initial", "nl-cad-lift", "nl-cad-proj", "nl-ext", "nl-ext-ent-conf", |
288 |
|
"nl-ext-factor", "nl-ext-inc-prec", "nl-ext-purify", "nl-ext-rbound", |
289 |
|
"nl-ext-rewrite", "nl-ext-split-zero", "nl-ext-tf-taylor-deg", |
290 |
|
"nl-ext-tf-tplanes", "nl-ext-tplanes", "nl-ext-tplanes-interleave", |
291 |
|
"nl-icp", "nl-rlv", "nl-rlv-assert-bounds", "on-repeat-ite-simp", "out", |
292 |
|
"output", "output-lang", "output-language", "parse-only", |
293 |
|
"partial-triggers", "pb-rewrites", "pivot-threshold", "pool-inst", |
294 |
|
"pp-assert-max-sub-size", "pre-skolem-quant", "pre-skolem-quant-agg", |
295 |
|
"pre-skolem-quant-nested", "prenex-quant", "prenex-quant-user", |
296 |
|
"preprocess-only", "print-inst", "print-inst-full", "print-success", |
297 |
|
"produce-abducts", "produce-assertions", "produce-assignments", |
298 |
|
"produce-interpols", "produce-models", "produce-proofs", |
299 |
|
"produce-unsat-assumptions", "produce-unsat-cores", "proof-check", |
300 |
|
"proof-format-mode", "proof-granularity", "proof-pedantic", |
301 |
|
"proof-pp-merge", "proof-print-conclusion", "prop-row-length", |
302 |
|
"purify-triggers", "qcf-all-conflict", "qcf-eager-check-rd", |
303 |
|
"qcf-eager-test", "qcf-nested-conflict", "qcf-skip-rd", "qcf-tconstraint", |
304 |
|
"qcf-vo-exp", "quant-alpha-equiv", "quant-cf", "quant-cf-mode", |
305 |
|
"quant-cf-when", "quant-dsplit-mode", "quant-fun-wd", "quant-ind", |
306 |
|
"quant-rep-mode", "quant-split", "quiet", "random-freq", "random-frequency", |
307 |
|
"random-seed", "re-elim", "re-elim-agg", "re-inter-mode", |
308 |
|
"refine-conflicts", "register-quant-body-terms", "regular-output-channel", |
309 |
|
"relational-triggers", "relevance-filter", "relevant-triggers", |
310 |
|
"repeat-simp", "replay-early-close-depth", "replay-failure-penalty", |
311 |
|
"replay-lemma-reject-cut", "replay-num-err-penalty", "replay-reject-cut", |
312 |
|
"replay-soi-major-threshold", "replay-soi-major-threshold-pen", |
313 |
|
"replay-soi-minor-threshold", "replay-soi-minor-threshold-pen", |
314 |
|
"reproducible-resource-limit", "restart-int-base", "restart-int-inc", |
315 |
|
"restrict-pivots", "revert-arith-models-on-unsat", "rlimit", "rlimit-per", |
316 |
|
"rr-turns", "rweight", "se-solve-int", "seed", "segv-spin", |
317 |
|
"semantic-checks", "sep-check-neg", "sep-child-refine", "sep-deq-c", |
318 |
|
"sep-exp", "sep-min-refine", "sep-pre-skolem-emp", "sets-ext", |
319 |
|
"sets-infer-as-lemmas", "sets-proxy-lemmas", "show-config", |
320 |
|
"show-debug-tags", "show-trace-tags", "simp-ite-compress", |
321 |
|
"simp-ite-hunt-zombies", "simp-with-care", "simplex-check-period", |
322 |
|
"simplification", "simplification-mode", "soi-qe", "solve-bv-as-int", |
323 |
|
"solve-int-as-bv", "solve-real-as-int", "sort-inference", |
324 |
|
"standard-effort-variable-order-pivots", "static-learning", "stats", |
325 |
|
"stats-all", "stats-every-query", "stats-expert", "strict-parsing", |
326 |
|
"strings-check-entail-len", "strings-eager", "strings-eager-eval", |
327 |
|
"strings-eager-len", "strings-exp", "strings-ff", "strings-fmf", |
328 |
|
"strings-guess-model", "strings-infer-as-lemmas", "strings-infer-sym", |
329 |
|
"strings-lazy-pp", "strings-len-norm", "strings-lprop-csp", |
330 |
|
"strings-min-prefix-explain", "strings-process-loop-mode", |
331 |
|
"strings-rexplain-lemmas", "strings-unified-vspt", "sygus", |
332 |
|
"sygus-abort-size", "sygus-active-gen", "sygus-active-gen-cfactor", |
333 |
|
"sygus-add-const-grammar", "sygus-arg-relevant", "sygus-auto-unfold", |
334 |
|
"sygus-bool-ite-return-const", "sygus-core-connective", |
335 |
|
"sygus-crepair-abort", "sygus-eval-opt", "sygus-eval-unfold", |
336 |
|
"sygus-eval-unfold-bool", "sygus-expr-miner-check-timeout", "sygus-ext-rew", |
337 |
|
"sygus-fair", "sygus-fair-max", "sygus-filter-sol", "sygus-filter-sol-rev", |
338 |
|
"sygus-grammar-cons", "sygus-grammar-norm", "sygus-inference", "sygus-inst", |
339 |
|
"sygus-inst-mode", "sygus-inst-scope", "sygus-inst-term-sel", |
340 |
|
"sygus-inv-templ", "sygus-inv-templ-when-sg", "sygus-min-grammar", |
341 |
|
"sygus-out", "sygus-pbe", "sygus-pbe-multi-fair", |
342 |
|
"sygus-pbe-multi-fair-diff", "sygus-print-callbacks", "sygus-qe-preproc", |
343 |
|
"sygus-query-gen", "sygus-query-gen-check", "sygus-query-gen-dump-files", |
344 |
|
"sygus-query-gen-thresh", "sygus-rec-fun", "sygus-rec-fun-eval-limit", |
345 |
|
"sygus-repair-const", "sygus-repair-const-timeout", "sygus-rr", |
346 |
|
"sygus-rr-synth", "sygus-rr-synth-accel", "sygus-rr-synth-check", |
347 |
|
"sygus-rr-synth-filter-cong", "sygus-rr-synth-filter-match", |
348 |
|
"sygus-rr-synth-filter-nl", "sygus-rr-synth-filter-order", |
349 |
|
"sygus-rr-synth-input", "sygus-rr-synth-input-nvars", |
350 |
|
"sygus-rr-synth-input-use-bool", "sygus-rr-synth-rec", "sygus-rr-verify", |
351 |
|
"sygus-rr-verify-abort", "sygus-sample-fp-uniform", "sygus-sample-grammar", |
352 |
|
"sygus-samples", "sygus-si", "sygus-si-abort", "sygus-si-partial", |
353 |
|
"sygus-si-rcons", "sygus-si-rcons-limit", "sygus-si-reconstruct-const", |
354 |
|
"sygus-stream", "sygus-sym-break", "sygus-sym-break-agg", |
355 |
|
"sygus-sym-break-dynamic", "sygus-sym-break-lazy", "sygus-sym-break-pbe", |
356 |
|
"sygus-sym-break-rlv", "sygus-templ-embed-grammar", |
357 |
|
"sygus-unif-cond-independent-no-repeat-sol", "sygus-unif-pi", |
358 |
|
"sygus-unif-shuffle-cond", "sygus-verify-inst-max-rounds", |
359 |
|
"symmetry-breaker", "tc-mode", "term-db-cd", "term-db-mode", |
360 |
|
"theoryof-mode", "tlimit", "tlimit-per", "trace", "trigger-active-sel", |
361 |
|
"trigger-sel", "type-checking", "uf-ho", "uf-ho-ext", "uf-ss", |
362 |
|
"uf-ss-abort-card", "uf-ss-fair", "uf-ss-fair-monotone", |
363 |
|
"uf-ss-totality-limited", "uf-ss-totality-sym-break", "uf-symmetry-breaker", |
364 |
|
"unate-lemmas", "unconstrained-simp", "unsat-cores-mode", "use-approx", |
365 |
|
"use-fcsimplex", "use-soi", "user-pat", "var-elim-quant", |
366 |
|
"var-ineq-elim-quant", "verbose", "verbosity", "version" |
367 |
|
// clang-format on |
368 |
2 |
}; |
369 |
|
} |
370 |
|
|
371 |
818925 |
std::string get(const Options& options, const std::string& name) |
372 |
|
{ |
373 |
818925 |
Trace("options") << "Options::getOption(" << name << ")" << std::endl; |
374 |
|
// clang-format off |
375 |
818925 |
if (name == "abstract-values") return options.smt.abstractValues ? "true" : "false"; |
376 |
818925 |
if (name == "ackermann") return options.smt.ackermann ? "true" : "false"; |
377 |
818925 |
if (name == "ag-miniscope-quant") return options.quantifiers.aggressiveMiniscopeQuant ? "true" : "false"; |
378 |
818925 |
if (name == "approx-branch-depth") return std::to_string(options.arith.maxApproxDepth); |
379 |
818925 |
if (name == "arith-brab") return options.arith.brabTest ? "true" : "false"; |
380 |
818925 |
if (name == "arith-cong-man") return options.arith.arithCongMan ? "true" : "false"; |
381 |
818925 |
if (name == "arith-eq-solver") return options.arith.arithEqSolver ? "true" : "false"; |
382 |
818925 |
if (name == "arith-no-partial-fun") return options.arith.arithNoPartialFun ? "true" : "false"; |
383 |
818925 |
if (name == "arith-prop") { std::stringstream s; s << options.arith.arithPropagationMode; return s.str(); } |
384 |
818925 |
if (name == "arith-prop-clauses") return std::to_string(options.arith.arithPropAsLemmaLength); |
385 |
818925 |
if (name == "arith-rewrite-equalities") return options.arith.arithRewriteEq ? "true" : "false"; |
386 |
818925 |
if (name == "arrays-config") return std::to_string(options.arrays.arraysConfig); |
387 |
818925 |
if (name == "arrays-eager-index") return options.arrays.arraysEagerIndexSplitting ? "true" : "false"; |
388 |
818925 |
if (name == "arrays-eager-lemmas") return options.arrays.arraysEagerLemmas ? "true" : "false"; |
389 |
818925 |
if (name == "arrays-exp") return options.arrays.arraysExp ? "true" : "false"; |
390 |
818908 |
if (name == "arrays-model-based") return options.arrays.arraysModelBased ? "true" : "false"; |
391 |
818908 |
if (name == "arrays-optimize-linear") return options.arrays.arraysOptimizeLinear ? "true" : "false"; |
392 |
818908 |
if (name == "arrays-prop") return std::to_string(options.arrays.arraysPropagate); |
393 |
818908 |
if (name == "arrays-reduce-sharing") return options.arrays.arraysReduceSharing ? "true" : "false"; |
394 |
818908 |
if (name == "arrays-weak-equiv") return options.arrays.arraysWeakEquivalence ? "true" : "false"; |
395 |
818908 |
if (name == "assign-function-values") return options.theory.assignFunctionValues ? "true" : "false"; |
396 |
818908 |
if (name == "bitblast") { std::stringstream s; s << options.bv.bitblastMode; return s.str(); } |
397 |
818908 |
if (name == "bitblast-aig") return options.bv.bitvectorAig ? "true" : "false"; |
398 |
818908 |
if (name == "bitwise-eq") return options.bv.bitwiseEq ? "true" : "false"; |
399 |
818908 |
if (name == "block-models") { std::stringstream s; s << options.smt.blockModelsMode; return s.str(); } |
400 |
818908 |
if (name == "bool-to-bv") { std::stringstream s; s << options.bv.boolToBitvector; return s.str(); } |
401 |
818908 |
if (name == "bv-abstraction") return options.bv.bvAbstraction ? "true" : "false"; |
402 |
818908 |
if (name == "bv-aig-simp") return options.bv.bitvectorAigSimplifications; |
403 |
818908 |
if (name == "bv-alg-extf") return options.bv.bvAlgExtf ? "true" : "false"; |
404 |
818908 |
if (name == "bv-algebraic-budget") return std::to_string(options.bv.bitvectorAlgebraicBudget); |
405 |
818908 |
if (name == "bv-algebraic-solver") return options.bv.bitvectorAlgebraicSolver ? "true" : "false"; |
406 |
818908 |
if (name == "bv-assert-input") return options.bv.bvAssertInput ? "true" : "false"; |
407 |
818908 |
if (name == "bv-eager-explanations") return options.bv.bvEagerExplanations ? "true" : "false"; |
408 |
818908 |
if (name == "bv-eq-solver") return options.bv.bitvectorEqualitySolver ? "true" : "false"; |
409 |
818908 |
if (name == "bv-extract-arith") return options.bv.bvExtractArithRewrite ? "true" : "false"; |
410 |
818908 |
if (name == "bv-gauss-elim") return options.bv.bvGaussElim ? "true" : "false"; |
411 |
818908 |
if (name == "bv-inequality-solver") return options.bv.bitvectorInequalitySolver ? "true" : "false"; |
412 |
818908 |
if (name == "bv-intro-pow2") return options.bv.bvIntroducePow2 ? "true" : "false"; |
413 |
818908 |
if (name == "bv-num-func") return std::to_string(options.bv.bvNumFunc); |
414 |
818908 |
if (name == "bv-print-consts-as-indexed-symbols") return options.bv.bvPrintConstsAsIndexedSymbols ? "true" : "false"; |
415 |
818908 |
if (name == "bv-propagate") return options.bv.bitvectorPropagate ? "true" : "false"; |
416 |
818908 |
if (name == "bv-quick-xplain") return options.bv.bitvectorQuickXplain ? "true" : "false"; |
417 |
818908 |
if (name == "bv-sat-solver") { std::stringstream s; s << options.bv.bvSatSolver; return s.str(); } |
418 |
818908 |
if (name == "bv-skolemize") return options.bv.skolemizeArguments ? "true" : "false"; |
419 |
818908 |
if (name == "bv-solver") { std::stringstream s; s << options.bv.bvSolver; return s.str(); } |
420 |
818908 |
if (name == "bv-to-bool") return options.bv.bitvectorToBool ? "true" : "false"; |
421 |
818908 |
if (name == "bvand-integer-granularity") return std::to_string(options.smt.BVAndIntegerGranularity); |
422 |
818908 |
if (name == "cdt-bisimilar") return options.datatypes.cdtBisimilar ? "true" : "false"; |
423 |
818908 |
if (name == "cegis-sample") { std::stringstream s; s << options.quantifiers.cegisSample; return s.str(); } |
424 |
818908 |
if (name == "cegqi") return options.quantifiers.cegqi ? "true" : "false"; |
425 |
818908 |
if (name == "cegqi-all") return options.quantifiers.cegqiAll ? "true" : "false"; |
426 |
818908 |
if (name == "cegqi-bv") return options.quantifiers.cegqiBv ? "true" : "false"; |
427 |
818908 |
if (name == "cegqi-bv-concat-inv") return options.quantifiers.cegqiBvConcInv ? "true" : "false"; |
428 |
818908 |
if (name == "cegqi-bv-ineq") { std::stringstream s; s << options.quantifiers.cegqiBvIneqMode; return s.str(); } |
429 |
818908 |
if (name == "cegqi-bv-interleave-value") return options.quantifiers.cegqiBvInterleaveValue ? "true" : "false"; |
430 |
818908 |
if (name == "cegqi-bv-linear") return options.quantifiers.cegqiBvLinearize ? "true" : "false"; |
431 |
818908 |
if (name == "cegqi-bv-rm-extract") return options.quantifiers.cegqiBvRmExtract ? "true" : "false"; |
432 |
818908 |
if (name == "cegqi-bv-solve-nl") return options.quantifiers.cegqiBvSolveNl ? "true" : "false"; |
433 |
818908 |
if (name == "cegqi-full") return options.quantifiers.cegqiFullEffort ? "true" : "false"; |
434 |
818908 |
if (name == "cegqi-innermost") return options.quantifiers.cegqiInnermost ? "true" : "false"; |
435 |
818908 |
if (name == "cegqi-midpoint") return options.quantifiers.cegqiMidpoint ? "true" : "false"; |
436 |
818908 |
if (name == "cegqi-min-bounds") return options.quantifiers.cegqiMinBounds ? "true" : "false"; |
437 |
818908 |
if (name == "cegqi-model") return options.quantifiers.cegqiModel ? "true" : "false"; |
438 |
818908 |
if (name == "cegqi-multi-inst") return options.quantifiers.cegqiMultiInst ? "true" : "false"; |
439 |
818908 |
if (name == "cegqi-nested-qe") return options.quantifiers.cegqiNestedQE ? "true" : "false"; |
440 |
818908 |
if (name == "cegqi-nopt") return options.quantifiers.cegqiNopt ? "true" : "false"; |
441 |
818908 |
if (name == "cegqi-repeat-lit") return options.quantifiers.cegqiRepeatLit ? "true" : "false"; |
442 |
818908 |
if (name == "cegqi-round-up-lia") return options.quantifiers.cegqiRoundUpLowerLia ? "true" : "false"; |
443 |
818908 |
if (name == "cegqi-sat") return options.quantifiers.cegqiSat ? "true" : "false"; |
444 |
818908 |
if (name == "cegqi-use-inf-int") return options.quantifiers.cegqiUseInfInt ? "true" : "false"; |
445 |
818908 |
if (name == "cegqi-use-inf-real") return options.quantifiers.cegqiUseInfReal ? "true" : "false"; |
446 |
818908 |
if (name == "check-abducts") return options.smt.checkAbducts ? "true" : "false"; |
447 |
818908 |
if (name == "check-interpols") return options.smt.checkInterpols ? "true" : "false"; |
448 |
818908 |
if (name == "check-models") return options.smt.checkModels ? "true" : "false"; |
449 |
818906 |
if (name == "check-proofs") return options.smt.checkProofs ? "true" : "false"; |
450 |
818906 |
if (name == "check-synth-sol") return options.smt.checkSynthSol ? "true" : "false"; |
451 |
818906 |
if (name == "check-unsat-cores") return options.smt.checkUnsatCores ? "true" : "false"; |
452 |
818906 |
if (name == "collect-pivot-stats") return options.arith.collectPivots ? "true" : "false"; |
453 |
818906 |
if (name == "cond-var-split-agg-quant") return options.quantifiers.condVarSplitQuantAgg ? "true" : "false"; |
454 |
818906 |
if (name == "cond-var-split-quant") return options.quantifiers.condVarSplitQuant ? "true" : "false"; |
455 |
818906 |
if (name == "condense-function-values") return options.theory.condenseFunctionValues ? "true" : "false"; |
456 |
818906 |
if (name == "conjecture-filter-active-terms") return options.quantifiers.conjectureFilterActiveTerms ? "true" : "false"; |
457 |
818906 |
if (name == "conjecture-filter-canonical") return options.quantifiers.conjectureFilterCanonical ? "true" : "false"; |
458 |
818906 |
if (name == "conjecture-filter-model") return options.quantifiers.conjectureFilterModel ? "true" : "false"; |
459 |
818906 |
if (name == "conjecture-gen") return options.quantifiers.conjectureGen ? "true" : "false"; |
460 |
818906 |
if (name == "conjecture-gen-gt-enum") return std::to_string(options.quantifiers.conjectureGenGtEnum); |
461 |
818906 |
if (name == "conjecture-gen-max-depth") return std::to_string(options.quantifiers.conjectureGenMaxDepth); |
462 |
818906 |
if (name == "conjecture-gen-per-round") return std::to_string(options.quantifiers.conjectureGenPerRound); |
463 |
818906 |
if (name == "conjecture-gen-uee-intro") return options.quantifiers.conjectureUeeIntro ? "true" : "false"; |
464 |
818906 |
if (name == "conjecture-no-filter") return options.quantifiers.conjectureNoFilter ? "true" : "false"; |
465 |
818906 |
if (name == "cut-all-bounded") return options.arith.doCutAllBounded ? "true" : "false"; |
466 |
818906 |
if (name == "dag-thresh") return std::to_string(options.expr.defaultDagThresh); |
467 |
818905 |
if (name == "debug-check-models") return options.smt.debugCheckModels ? "true" : "false"; |
468 |
818905 |
if (name == "decision" || name == "decision-mode") { std::stringstream s; s << options.decision.decisionMode; return s.str(); } |
469 |
818905 |
if (name == "decision-random-weight") return std::to_string(options.decision.decisionRandomWeight); |
470 |
818905 |
if (name == "decision-threshold") { std::stringstream s; s << options.decision.decisionThreshold; return s.str(); } |
471 |
818905 |
if (name == "decision-use-weight") return options.decision.decisionUseWeight ? "true" : "false"; |
472 |
818905 |
if (name == "decision-weight-internal") { std::stringstream s; s << options.decision.decisionWeightInternal; return s.str(); } |
473 |
818905 |
if (name == "difficulty-mode") { std::stringstream s; s << options.smt.difficultyMode; return s.str(); } |
474 |
818905 |
if (name == "dio-decomps") return options.arith.exportDioDecompositions ? "true" : "false"; |
475 |
818905 |
if (name == "dio-repeat") return options.arith.dioRepeat ? "true" : "false"; |
476 |
818905 |
if (name == "dio-solver") return options.arith.arithDioSolver ? "true" : "false"; |
477 |
818905 |
if (name == "dio-turns") return std::to_string(options.arith.dioSolverTurns); |
478 |
818905 |
if (name == "dt-binary-split") return options.datatypes.dtBinarySplit ? "true" : "false"; |
479 |
818905 |
if (name == "dt-blast-splits") return options.datatypes.dtBlastSplits ? "true" : "false"; |
480 |
818905 |
if (name == "dt-cyclic") return options.datatypes.dtCyclic ? "true" : "false"; |
481 |
818905 |
if (name == "dt-force-assignment") return options.datatypes.dtForceAssignment ? "true" : "false"; |
482 |
818905 |
if (name == "dt-infer-as-lemmas") return options.datatypes.dtInferAsLemmas ? "true" : "false"; |
483 |
818905 |
if (name == "dt-nested-rec") return options.datatypes.dtNestedRec ? "true" : "false"; |
484 |
818905 |
if (name == "dt-polite-optimize") return options.datatypes.dtPoliteOptimize ? "true" : "false"; |
485 |
818905 |
if (name == "dt-rewrite-error-sel") return options.datatypes.dtRewriteErrorSel ? "true" : "false"; |
486 |
818905 |
if (name == "dt-share-sel") return options.datatypes.dtSharedSelectors ? "true" : "false"; |
487 |
818905 |
if (name == "dt-stc-ind") return options.quantifiers.dtStcInduction ? "true" : "false"; |
488 |
818905 |
if (name == "dt-var-exp-quant") return options.quantifiers.dtVarExpandQuant ? "true" : "false"; |
489 |
818905 |
if (name == "dump") return options.smt.dumpModeString; |
490 |
818905 |
if (name == "dump-instantiations") return options.driver.dumpInstantiations ? "true" : "false"; |
491 |
818905 |
if (name == "dump-instantiations-debug") return options.driver.dumpInstantiationsDebug ? "true" : "false"; |
492 |
818905 |
if (name == "dump-models") return options.driver.dumpModels ? "true" : "false"; |
493 |
818905 |
if (name == "dump-proofs") return options.driver.dumpProofs ? "true" : "false"; |
494 |
818905 |
if (name == "dump-to") { std::stringstream s; s << options.smt.dumpToFileName; return s.str(); } |
495 |
818905 |
if (name == "dump-unsat-cores") return options.driver.dumpUnsatCores ? "true" : "false"; |
496 |
818905 |
if (name == "dump-unsat-cores-full") return options.driver.dumpUnsatCoresFull ? "true" : "false"; |
497 |
818905 |
if (name == "e-matching") return options.quantifiers.eMatching ? "true" : "false"; |
498 |
818905 |
if (name == "early-exit") return options.driver.earlyExit ? "true" : "false"; |
499 |
818905 |
if (name == "early-ite-removal") return options.smt.earlyIteRemoval ? "true" : "false"; |
500 |
818905 |
if (name == "ee-mode") { std::stringstream s; s << options.theory.eeMode; return s.str(); } |
501 |
818905 |
if (name == "elim-taut-quant") return options.quantifiers.elimTautQuant ? "true" : "false"; |
502 |
818905 |
if (name == "err" || name == "diagnostic-output-channel") { std::stringstream s; s << options.base.err; return s.str(); } |
503 |
818905 |
if (name == "error-selection-rule") { std::stringstream s; s << options.arith.arithErrorSelectionRule; return s.str(); } |
504 |
818905 |
if (name == "expand-definitions") return options.smt.expandDefinitions ? "true" : "false"; |
505 |
818905 |
if (name == "expr-depth") return std::to_string(options.expr.defaultExprDepth); |
506 |
818905 |
if (name == "ext-rew-prep") return options.smt.extRewPrep ? "true" : "false"; |
507 |
818905 |
if (name == "ext-rew-prep-agg") return options.smt.extRewPrepAgg ? "true" : "false"; |
508 |
818905 |
if (name == "ext-rewrite-quant") return options.quantifiers.extRewriteQuant ? "true" : "false"; |
509 |
818905 |
if (name == "fc-penalties") return options.arith.havePenalties ? "true" : "false"; |
510 |
818905 |
if (name == "filename") return options.driver.filename; |
511 |
818905 |
if (name == "filesystem-access") return options.parser.filesystemAccess ? "true" : "false"; |
512 |
818905 |
if (name == "finite-model-find") return options.quantifiers.finiteModelFind ? "true" : "false"; |
513 |
818905 |
if (name == "flatten-ho-chains") return options.printer.flattenHOChains ? "true" : "false"; |
514 |
818905 |
if (name == "fmf-bound") return options.quantifiers.fmfBound ? "true" : "false"; |
515 |
818905 |
if (name == "fmf-bound-int") return options.quantifiers.fmfBoundInt ? "true" : "false"; |
516 |
818905 |
if (name == "fmf-bound-lazy") return options.quantifiers.fmfBoundLazy ? "true" : "false"; |
517 |
818905 |
if (name == "fmf-fmc-simple") return options.quantifiers.fmfFmcSimple ? "true" : "false"; |
518 |
818905 |
if (name == "fmf-fresh-dc") return options.quantifiers.fmfFreshDistConst ? "true" : "false"; |
519 |
818905 |
if (name == "fmf-fun") return options.quantifiers.fmfFunWellDefined ? "true" : "false"; |
520 |
818905 |
if (name == "fmf-fun-rlv") return options.quantifiers.fmfFunWellDefinedRelevant ? "true" : "false"; |
521 |
818905 |
if (name == "fmf-inst-engine") return options.quantifiers.fmfInstEngine ? "true" : "false"; |
522 |
818905 |
if (name == "fmf-type-completion-thresh") return std::to_string(options.quantifiers.fmfTypeCompletionThresh); |
523 |
818905 |
if (name == "force-logic") return options.parser.forceLogicString; |
524 |
818905 |
if (name == "force-no-limit-cpu-while-dump") return options.driver.forceNoLimitCpuWhileDump ? "true" : "false"; |
525 |
818905 |
if (name == "foreign-theory-rewrite") return options.smt.foreignTheoryRewrite ? "true" : "false"; |
526 |
818905 |
if (name == "fp-exp") return options.fp.fpExp ? "true" : "false"; |
527 |
818905 |
if (name == "fp-lazy-wb") return options.fp.fpLazyWb ? "true" : "false"; |
528 |
818905 |
if (name == "fs-interleave") return options.quantifiers.fullSaturateInterleave ? "true" : "false"; |
529 |
818905 |
if (name == "fs-stratify") return options.quantifiers.fullSaturateStratify ? "true" : "false"; |
530 |
818905 |
if (name == "fs-sum") return options.quantifiers.fullSaturateSum ? "true" : "false"; |
531 |
818905 |
if (name == "full-saturate-quant") return options.quantifiers.fullSaturateQuant ? "true" : "false"; |
532 |
818905 |
if (name == "full-saturate-quant-limit") return std::to_string(options.quantifiers.fullSaturateLimit); |
533 |
818905 |
if (name == "full-saturate-quant-rd") return options.quantifiers.fullSaturateQuantRd ? "true" : "false"; |
534 |
818905 |
if (name == "global-declarations") return options.parser.globalDeclarations ? "true" : "false"; |
535 |
818905 |
if (name == "global-negate") return options.quantifiers.globalNegate ? "true" : "false"; |
536 |
818905 |
if (name == "help") return options.driver.help ? "true" : "false"; |
537 |
818905 |
if (name == "heuristic-pivots") return std::to_string(options.arith.arithHeuristicPivots); |
538 |
818905 |
if (name == "ho-elim") return options.quantifiers.hoElim ? "true" : "false"; |
539 |
818905 |
if (name == "ho-elim-store-ax") return options.quantifiers.hoElimStoreAx ? "true" : "false"; |
540 |
818905 |
if (name == "ho-matching") return options.quantifiers.hoMatching ? "true" : "false"; |
541 |
818905 |
if (name == "ho-matching-var-priority") return options.quantifiers.hoMatchingVarArgPriority ? "true" : "false"; |
542 |
818905 |
if (name == "ho-merge-term-db") return options.quantifiers.hoMergeTermDb ? "true" : "false"; |
543 |
818905 |
if (name == "iand-mode") { std::stringstream s; s << options.smt.iandMode; return s.str(); } |
544 |
818905 |
if (name == "in") { std::stringstream s; s << options.base.in; return s.str(); } |
545 |
818905 |
if (name == "increment-triggers") return options.quantifiers.incrementTriggers ? "true" : "false"; |
546 |
818905 |
if (name == "incremental") return options.base.incrementalSolving ? "true" : "false"; |
547 |
818903 |
if (name == "inst-level-input-only") return options.quantifiers.instLevelInputOnly ? "true" : "false"; |
548 |
818903 |
if (name == "inst-max-level") return std::to_string(options.quantifiers.instMaxLevel); |
549 |
818903 |
if (name == "inst-max-rounds") return std::to_string(options.quantifiers.instMaxRounds); |
550 |
818903 |
if (name == "inst-no-entail") return options.quantifiers.instNoEntail ? "true" : "false"; |
551 |
818903 |
if (name == "inst-when") { std::stringstream s; s << options.quantifiers.instWhenMode; return s.str(); } |
552 |
818903 |
if (name == "inst-when-phase") return std::to_string(options.quantifiers.instWhenPhase); |
553 |
818903 |
if (name == "inst-when-strict-interleave") return options.quantifiers.instWhenStrictInterleave ? "true" : "false"; |
554 |
818903 |
if (name == "inst-when-tc-first") return options.quantifiers.instWhenTcFirst ? "true" : "false"; |
555 |
818903 |
if (name == "int-wf-ind") return options.quantifiers.intWfInduction ? "true" : "false"; |
556 |
818903 |
if (name == "interactive") return options.driver.interactive ? "true" : "false"; |
557 |
818903 |
if (name == "interactive-mode") return options.smt.interactiveMode ? "true" : "false"; |
558 |
818903 |
if (name == "ite-dtt-split-quant") return options.quantifiers.iteDtTesterSplitQuant ? "true" : "false"; |
559 |
818903 |
if (name == "ite-lift-quant") { std::stringstream s; s << options.quantifiers.iteLiftQuant; return s.str(); } |
560 |
818903 |
if (name == "ite-simp") return options.smt.doITESimp ? "true" : "false"; |
561 |
818903 |
if (name == "jh-rlv-order") return options.decision.jhRlvOrder ? "true" : "false"; |
562 |
818903 |
if (name == "jh-skolem") { std::stringstream s; s << options.decision.jhSkolemMode; return s.str(); } |
563 |
818903 |
if (name == "jh-skolem-rlv") { std::stringstream s; s << options.decision.jhSkolemRlvMode; return s.str(); } |
564 |
818903 |
if (name == "input-language" || name == "lang") { std::stringstream s; s << options.base.inputLanguage; return s.str(); } |
565 |
6213 |
if (name == "language-help") return options.base.languageHelp ? "true" : "false"; |
566 |
6213 |
if (name == "learned-rewrite") return options.smt.learnedRewrite ? "true" : "false"; |
567 |
6213 |
if (name == "lemmas-on-replay-failure") return options.arith.replayFailureLemma ? "true" : "false"; |
568 |
6213 |
if (name == "literal-matching") { std::stringstream s; s << options.quantifiers.literalMatchMode; return s.str(); } |
569 |
6213 |
if (name == "macros-quant") return options.quantifiers.macrosQuant ? "true" : "false"; |
570 |
6213 |
if (name == "macros-quant-mode") { std::stringstream s; s << options.quantifiers.macrosQuantMode; return s.str(); } |
571 |
6213 |
if (name == "maxCutsInContext") return std::to_string(options.arith.maxCutsInContext); |
572 |
6213 |
if (name == "mbqi") { std::stringstream s; s << options.quantifiers.mbqiMode; return s.str(); } |
573 |
6213 |
if (name == "mbqi-interleave") return options.quantifiers.mbqiInterleave ? "true" : "false"; |
574 |
6213 |
if (name == "mbqi-one-inst-per-round") return options.quantifiers.fmfOneInstPerRound ? "true" : "false"; |
575 |
6213 |
if (name == "minimal-unsat-cores") return options.smt.minimalUnsatCores ? "true" : "false"; |
576 |
6213 |
if (name == "minisat-dump-dimacs") return options.prop.minisatDumpDimacs ? "true" : "false"; |
577 |
6213 |
if (name == "minisat-elimination") return options.prop.minisatUseElim ? "true" : "false"; |
578 |
6213 |
if (name == "miniscope-quant") return options.quantifiers.miniscopeQuant ? "true" : "false"; |
579 |
6213 |
if (name == "miniscope-quant-fv") return options.quantifiers.miniscopeQuantFreeVar ? "true" : "false"; |
580 |
6213 |
if (name == "miplib-trick") return options.arith.arithMLTrick ? "true" : "false"; |
581 |
6213 |
if (name == "miplib-trick-subs") return std::to_string(options.arith.arithMLTrickSubstitutions); |
582 |
6213 |
if (name == "mmap") return options.parser.memoryMap ? "true" : "false"; |
583 |
6213 |
if (name == "model-cores") { std::stringstream s; s << options.smt.modelCoresMode; return s.str(); } |
584 |
6213 |
if (name == "model-format") { std::stringstream s; s << options.printer.modelFormatMode; return s.str(); } |
585 |
6213 |
if (name == "model-uninterp-print" || name == "model-u-print") { std::stringstream s; s << options.smt.modelUninterpPrint; return s.str(); } |
586 |
6213 |
if (name == "model-witness-value") return options.smt.modelWitnessValue ? "true" : "false"; |
587 |
6213 |
if (name == "multi-trigger-cache") return options.quantifiers.multiTriggerCache ? "true" : "false"; |
588 |
6213 |
if (name == "multi-trigger-linear") return options.quantifiers.multiTriggerLinear ? "true" : "false"; |
589 |
6213 |
if (name == "multi-trigger-priority") return options.quantifiers.multiTriggerPriority ? "true" : "false"; |
590 |
6213 |
if (name == "multi-trigger-when-single") return options.quantifiers.multiTriggerWhenSingle ? "true" : "false"; |
591 |
6213 |
if (name == "new-prop") return options.arith.newProp ? "true" : "false"; |
592 |
6213 |
if (name == "nl-cad") return options.arith.nlCad ? "true" : "false"; |
593 |
6213 |
if (name == "nl-cad-initial") return options.arith.nlCadUseInitial ? "true" : "false"; |
594 |
6213 |
if (name == "nl-cad-lift") { std::stringstream s; s << options.arith.nlCadLifting; return s.str(); } |
595 |
6213 |
if (name == "nl-cad-proj") { std::stringstream s; s << options.arith.nlCadProjection; return s.str(); } |
596 |
6213 |
if (name == "nl-ext") { std::stringstream s; s << options.arith.nlExt; return s.str(); } |
597 |
6213 |
if (name == "nl-ext-ent-conf") return options.arith.nlExtEntailConflicts ? "true" : "false"; |
598 |
6213 |
if (name == "nl-ext-factor") return options.arith.nlExtFactor ? "true" : "false"; |
599 |
6213 |
if (name == "nl-ext-inc-prec") return options.arith.nlExtIncPrecision ? "true" : "false"; |
600 |
6213 |
if (name == "nl-ext-purify") return options.arith.nlExtPurify ? "true" : "false"; |
601 |
6213 |
if (name == "nl-ext-rbound") return options.arith.nlExtResBound ? "true" : "false"; |
602 |
6213 |
if (name == "nl-ext-rewrite") return options.arith.nlExtRewrites ? "true" : "false"; |
603 |
6213 |
if (name == "nl-ext-split-zero") return options.arith.nlExtSplitZero ? "true" : "false"; |
604 |
6213 |
if (name == "nl-ext-tf-taylor-deg") return std::to_string(options.arith.nlExtTfTaylorDegree); |
605 |
6213 |
if (name == "nl-ext-tf-tplanes") return options.arith.nlExtTfTangentPlanes ? "true" : "false"; |
606 |
6213 |
if (name == "nl-ext-tplanes") return options.arith.nlExtTangentPlanes ? "true" : "false"; |
607 |
6213 |
if (name == "nl-ext-tplanes-interleave") return options.arith.nlExtTangentPlanesInterleave ? "true" : "false"; |
608 |
6213 |
if (name == "nl-icp") return options.arith.nlICP ? "true" : "false"; |
609 |
6213 |
if (name == "nl-rlv") { std::stringstream s; s << options.arith.nlRlvMode; return s.str(); } |
610 |
6213 |
if (name == "nl-rlv-assert-bounds") return options.arith.nlRlvAssertBounds ? "true" : "false"; |
611 |
6213 |
if (name == "on-repeat-ite-simp") return options.smt.doITESimpOnRepeat ? "true" : "false"; |
612 |
6213 |
if (name == "out" || name == "regular-output-channel") { std::stringstream s; s << options.base.out; return s.str(); } |
613 |
6213 |
if (name == "output") { std::stringstream s; s << options.base.outputTag; return s.str(); } |
614 |
6213 |
if (name == "output-lang" || name == "output-language") { std::stringstream s; s << options.base.outputLanguage; return s.str(); } |
615 |
36 |
if (name == "parse-only") return options.base.parseOnly ? "true" : "false"; |
616 |
36 |
if (name == "partial-triggers") return options.quantifiers.partialTriggers ? "true" : "false"; |
617 |
36 |
if (name == "pb-rewrites") return options.arith.pbRewrites ? "true" : "false"; |
618 |
36 |
if (name == "pivot-threshold") return std::to_string(options.arith.arithPivotThreshold); |
619 |
36 |
if (name == "pool-inst") return options.quantifiers.poolInst ? "true" : "false"; |
620 |
36 |
if (name == "pp-assert-max-sub-size") return std::to_string(options.arith.ppAssertMaxSubSize); |
621 |
36 |
if (name == "pre-skolem-quant") return options.quantifiers.preSkolemQuant ? "true" : "false"; |
622 |
36 |
if (name == "pre-skolem-quant-agg") return options.quantifiers.preSkolemQuantAgg ? "true" : "false"; |
623 |
36 |
if (name == "pre-skolem-quant-nested") return options.quantifiers.preSkolemQuantNested ? "true" : "false"; |
624 |
36 |
if (name == "prenex-quant") { std::stringstream s; s << options.quantifiers.prenexQuant; return s.str(); } |
625 |
36 |
if (name == "prenex-quant-user") return options.quantifiers.prenexQuantUser ? "true" : "false"; |
626 |
36 |
if (name == "preprocess-only") return options.base.preprocessOnly ? "true" : "false"; |
627 |
36 |
if (name == "print-inst") { std::stringstream s; s << options.printer.printInstMode; return s.str(); } |
628 |
36 |
if (name == "print-inst-full") return options.printer.printInstFull ? "true" : "false"; |
629 |
36 |
if (name == "print-success") return options.base.printSuccess ? "true" : "false"; |
630 |
36 |
if (name == "produce-abducts") return options.smt.produceAbducts ? "true" : "false"; |
631 |
36 |
if (name == "produce-assertions") return options.smt.produceAssertions ? "true" : "false"; |
632 |
36 |
if (name == "produce-assignments") return options.smt.produceAssignments ? "true" : "false"; |
633 |
36 |
if (name == "produce-interpols") { std::stringstream s; s << options.smt.produceInterpols; return s.str(); } |
634 |
36 |
if (name == "produce-models") return options.smt.produceModels ? "true" : "false"; |
635 |
33 |
if (name == "produce-proofs") return options.smt.produceProofs ? "true" : "false"; |
636 |
33 |
if (name == "produce-unsat-assumptions") return options.smt.unsatAssumptions ? "true" : "false"; |
637 |
33 |
if (name == "produce-unsat-cores") return options.smt.unsatCores ? "true" : "false"; |
638 |
33 |
if (name == "proof-check") { std::stringstream s; s << options.proof.proofCheck; return s.str(); } |
639 |
33 |
if (name == "proof-format-mode") { std::stringstream s; s << options.proof.proofFormatMode; return s.str(); } |
640 |
33 |
if (name == "proof-granularity") { std::stringstream s; s << options.proof.proofGranularityMode; return s.str(); } |
641 |
33 |
if (name == "proof-pedantic") return std::to_string(options.proof.proofPedantic); |
642 |
33 |
if (name == "proof-pp-merge") return options.proof.proofPpMerge ? "true" : "false"; |
643 |
33 |
if (name == "proof-print-conclusion") return options.proof.proofPrintConclusion ? "true" : "false"; |
644 |
33 |
if (name == "prop-row-length") return std::to_string(options.arith.arithPropagateMaxLength); |
645 |
33 |
if (name == "purify-triggers") return options.quantifiers.purifyTriggers ? "true" : "false"; |
646 |
33 |
if (name == "qcf-all-conflict") return options.quantifiers.qcfAllConflict ? "true" : "false"; |
647 |
33 |
if (name == "qcf-eager-check-rd") return options.quantifiers.qcfEagerCheckRd ? "true" : "false"; |
648 |
33 |
if (name == "qcf-eager-test") return options.quantifiers.qcfEagerTest ? "true" : "false"; |
649 |
33 |
if (name == "qcf-nested-conflict") return options.quantifiers.qcfNestedConflict ? "true" : "false"; |
650 |
33 |
if (name == "qcf-skip-rd") return options.quantifiers.qcfSkipRd ? "true" : "false"; |
651 |
33 |
if (name == "qcf-tconstraint") return options.quantifiers.qcfTConstraint ? "true" : "false"; |
652 |
33 |
if (name == "qcf-vo-exp") return options.quantifiers.qcfVoExp ? "true" : "false"; |
653 |
33 |
if (name == "quant-alpha-equiv") return options.quantifiers.quantAlphaEquiv ? "true" : "false"; |
654 |
33 |
if (name == "quant-cf") return options.quantifiers.quantConflictFind ? "true" : "false"; |
655 |
33 |
if (name == "quant-cf-mode") { std::stringstream s; s << options.quantifiers.qcfMode; return s.str(); } |
656 |
33 |
if (name == "quant-cf-when") { std::stringstream s; s << options.quantifiers.qcfWhenMode; return s.str(); } |
657 |
33 |
if (name == "quant-dsplit-mode") { std::stringstream s; s << options.quantifiers.quantDynamicSplit; return s.str(); } |
658 |
33 |
if (name == "quant-fun-wd") return options.quantifiers.quantFunWellDefined ? "true" : "false"; |
659 |
33 |
if (name == "quant-ind") return options.quantifiers.quantInduction ? "true" : "false"; |
660 |
33 |
if (name == "quant-rep-mode") { std::stringstream s; s << options.quantifiers.quantRepMode; return s.str(); } |
661 |
33 |
if (name == "quant-split") return options.quantifiers.quantSplit ? "true" : "false"; |
662 |
33 |
if (name == "random-frequency" || name == "random-freq") return std::to_string(options.prop.satRandomFreq); |
663 |
33 |
if (name == "random-seed") return std::to_string(options.prop.satRandomSeed); |
664 |
29 |
if (name == "re-elim") return options.strings.regExpElim ? "true" : "false"; |
665 |
29 |
if (name == "re-elim-agg") return options.strings.regExpElimAgg ? "true" : "false"; |
666 |
29 |
if (name == "re-inter-mode") { std::stringstream s; s << options.strings.stringRegExpInterMode; return s.str(); } |
667 |
29 |
if (name == "refine-conflicts") return options.prop.sat_refine_conflicts ? "true" : "false"; |
668 |
29 |
if (name == "register-quant-body-terms") return options.quantifiers.registerQuantBodyTerms ? "true" : "false"; |
669 |
29 |
if (name == "relational-triggers") return options.quantifiers.relationalTriggers ? "true" : "false"; |
670 |
29 |
if (name == "relevance-filter") return options.theory.relevanceFilter ? "true" : "false"; |
671 |
29 |
if (name == "relevant-triggers") return options.quantifiers.relevantTriggers ? "true" : "false"; |
672 |
29 |
if (name == "repeat-simp") return options.smt.repeatSimp ? "true" : "false"; |
673 |
29 |
if (name == "replay-early-close-depth") return std::to_string(options.arith.replayEarlyCloseDepths); |
674 |
29 |
if (name == "replay-failure-penalty") return std::to_string(options.arith.replayFailurePenalty); |
675 |
29 |
if (name == "replay-lemma-reject-cut") return std::to_string(options.arith.lemmaRejectCutSize); |
676 |
29 |
if (name == "replay-num-err-penalty") return std::to_string(options.arith.replayNumericFailurePenalty); |
677 |
29 |
if (name == "replay-reject-cut") return std::to_string(options.arith.replayRejectCutSize); |
678 |
29 |
if (name == "replay-soi-major-threshold") return std::to_string(options.arith.soiApproxMajorFailure); |
679 |
29 |
if (name == "replay-soi-major-threshold-pen") return std::to_string(options.arith.soiApproxMajorFailurePen); |
680 |
29 |
if (name == "replay-soi-minor-threshold") return std::to_string(options.arith.soiApproxMinorFailure); |
681 |
29 |
if (name == "replay-soi-minor-threshold-pen") return std::to_string(options.arith.soiApproxMinorFailurePen); |
682 |
29 |
if (name == "restart-int-base") return std::to_string(options.prop.satRestartFirst); |
683 |
29 |
if (name == "restart-int-inc") return std::to_string(options.prop.satRestartInc); |
684 |
29 |
if (name == "restrict-pivots") return options.arith.restrictedPivots ? "true" : "false"; |
685 |
29 |
if (name == "revert-arith-models-on-unsat") return options.arith.revertArithModels ? "true" : "false"; |
686 |
29 |
if (name == "rlimit") return std::to_string(options.base.cumulativeResourceLimit); |
687 |
29 |
if (name == "reproducible-resource-limit" || name == "rlimit-per") return std::to_string(options.base.perCallResourceLimit); |
688 |
29 |
if (name == "rr-turns") return std::to_string(options.arith.rrTurns); |
689 |
29 |
if (name == "se-solve-int") return options.arith.trySolveIntStandardEffort ? "true" : "false"; |
690 |
29 |
if (name == "seed") return std::to_string(options.driver.seed); |
691 |
29 |
if (name == "segv-spin") return options.driver.segvSpin ? "true" : "false"; |
692 |
29 |
if (name == "semantic-checks") return options.parser.semanticChecks ? "true" : "false"; |
693 |
29 |
if (name == "sep-check-neg") return options.sep.sepCheckNeg ? "true" : "false"; |
694 |
29 |
if (name == "sep-child-refine") return options.sep.sepChildRefine ? "true" : "false"; |
695 |
29 |
if (name == "sep-deq-c") return options.sep.sepDisequalC ? "true" : "false"; |
696 |
29 |
if (name == "sep-exp") return options.sep.sepExp ? "true" : "false"; |
697 |
29 |
if (name == "sep-min-refine") return options.sep.sepMinimalRefine ? "true" : "false"; |
698 |
29 |
if (name == "sep-pre-skolem-emp") return options.sep.sepPreSkolemEmp ? "true" : "false"; |
699 |
29 |
if (name == "sets-ext") return options.sets.setsExt ? "true" : "false"; |
700 |
29 |
if (name == "sets-infer-as-lemmas") return options.sets.setsInferAsLemmas ? "true" : "false"; |
701 |
29 |
if (name == "sets-proxy-lemmas") return options.sets.setsProxyLemmas ? "true" : "false"; |
702 |
29 |
if (name == "simp-ite-compress") return options.smt.compressItes ? "true" : "false"; |
703 |
29 |
if (name == "simp-ite-hunt-zombies") return std::to_string(options.smt.zombieHuntThreshold); |
704 |
29 |
if (name == "simp-with-care") return options.smt.simplifyWithCareEnabled ? "true" : "false"; |
705 |
29 |
if (name == "simplex-check-period") return std::to_string(options.arith.arithSimplexCheckPeriod); |
706 |
29 |
if (name == "simplification-mode" || name == "simplification") { std::stringstream s; s << options.smt.simplificationMode; return s.str(); } |
707 |
28 |
if (name == "soi-qe") return options.arith.soiQuickExplain ? "true" : "false"; |
708 |
28 |
if (name == "solve-bv-as-int") { std::stringstream s; s << options.smt.solveBVAsInt; return s.str(); } |
709 |
28 |
if (name == "solve-int-as-bv") return std::to_string(options.smt.solveIntAsBV); |
710 |
28 |
if (name == "solve-real-as-int") return options.smt.solveRealAsInt ? "true" : "false"; |
711 |
28 |
if (name == "sort-inference") return options.smt.sortInference ? "true" : "false"; |
712 |
28 |
if (name == "standard-effort-variable-order-pivots") return std::to_string(options.arith.arithStandardCheckVarOrderPivots); |
713 |
28 |
if (name == "static-learning") return options.smt.doStaticLearning ? "true" : "false"; |
714 |
28 |
if (name == "stats") return options.base.statistics ? "true" : "false"; |
715 |
23 |
if (name == "stats-all") return options.base.statisticsAll ? "true" : "false"; |
716 |
18 |
if (name == "stats-every-query") return options.base.statisticsEveryQuery ? "true" : "false"; |
717 |
13 |
if (name == "stats-expert") return options.base.statisticsExpert ? "true" : "false"; |
718 |
8 |
if (name == "strict-parsing") return options.parser.strictParsing ? "true" : "false"; |
719 |
8 |
if (name == "strings-check-entail-len") return options.strings.stringCheckEntailLen ? "true" : "false"; |
720 |
8 |
if (name == "strings-eager") return options.strings.stringEager ? "true" : "false"; |
721 |
8 |
if (name == "strings-eager-eval") return options.strings.stringEagerEval ? "true" : "false"; |
722 |
8 |
if (name == "strings-eager-len") return options.strings.stringEagerLen ? "true" : "false"; |
723 |
8 |
if (name == "strings-exp") return options.strings.stringExp ? "true" : "false"; |
724 |
8 |
if (name == "strings-ff") return options.strings.stringFlatForms ? "true" : "false"; |
725 |
8 |
if (name == "strings-fmf") return options.strings.stringFMF ? "true" : "false"; |
726 |
8 |
if (name == "strings-guess-model") return options.strings.stringGuessModel ? "true" : "false"; |
727 |
8 |
if (name == "strings-infer-as-lemmas") return options.strings.stringInferAsLemmas ? "true" : "false"; |
728 |
8 |
if (name == "strings-infer-sym") return options.strings.stringInferSym ? "true" : "false"; |
729 |
8 |
if (name == "strings-lazy-pp") return options.strings.stringLazyPreproc ? "true" : "false"; |
730 |
8 |
if (name == "strings-len-norm") return options.strings.stringLenNorm ? "true" : "false"; |
731 |
8 |
if (name == "strings-lprop-csp") return options.strings.stringLenPropCsp ? "true" : "false"; |
732 |
8 |
if (name == "strings-min-prefix-explain") return options.strings.stringMinPrefixExplain ? "true" : "false"; |
733 |
8 |
if (name == "strings-process-loop-mode") { std::stringstream s; s << options.strings.stringProcessLoopMode; return s.str(); } |
734 |
8 |
if (name == "strings-rexplain-lemmas") return options.strings.stringRExplainLemmas ? "true" : "false"; |
735 |
8 |
if (name == "strings-unified-vspt") return options.strings.stringUnifiedVSpt ? "true" : "false"; |
736 |
8 |
if (name == "sygus") return options.quantifiers.sygus ? "true" : "false"; |
737 |
8 |
if (name == "sygus-abort-size") return std::to_string(options.datatypes.sygusAbortSize); |
738 |
8 |
if (name == "sygus-active-gen") { std::stringstream s; s << options.quantifiers.sygusActiveGenMode; return s.str(); } |
739 |
8 |
if (name == "sygus-active-gen-cfactor") return std::to_string(options.quantifiers.sygusActiveGenEnumConsts); |
740 |
8 |
if (name == "sygus-add-const-grammar") return options.quantifiers.sygusAddConstGrammar ? "true" : "false"; |
741 |
8 |
if (name == "sygus-arg-relevant") return options.quantifiers.sygusArgRelevant ? "true" : "false"; |
742 |
8 |
if (name == "sygus-auto-unfold") return options.quantifiers.sygusInvAutoUnfold ? "true" : "false"; |
743 |
8 |
if (name == "sygus-bool-ite-return-const") return options.quantifiers.sygusBoolIteReturnConst ? "true" : "false"; |
744 |
8 |
if (name == "sygus-core-connective") return options.quantifiers.sygusCoreConnective ? "true" : "false"; |
745 |
8 |
if (name == "sygus-crepair-abort") return options.quantifiers.sygusConstRepairAbort ? "true" : "false"; |
746 |
8 |
if (name == "sygus-eval-opt") return options.quantifiers.sygusEvalOpt ? "true" : "false"; |
747 |
8 |
if (name == "sygus-eval-unfold") return options.quantifiers.sygusEvalUnfold ? "true" : "false"; |
748 |
8 |
if (name == "sygus-eval-unfold-bool") return options.quantifiers.sygusEvalUnfoldBool ? "true" : "false"; |
749 |
8 |
if (name == "sygus-expr-miner-check-timeout") return std::to_string(options.quantifiers.sygusExprMinerCheckTimeout); |
750 |
8 |
if (name == "sygus-ext-rew") return options.quantifiers.sygusExtRew ? "true" : "false"; |
751 |
8 |
if (name == "sygus-fair") { std::stringstream s; s << options.datatypes.sygusFair; return s.str(); } |
752 |
8 |
if (name == "sygus-fair-max") return options.datatypes.sygusFairMax ? "true" : "false"; |
753 |
8 |
if (name == "sygus-filter-sol") { std::stringstream s; s << options.quantifiers.sygusFilterSolMode; return s.str(); } |
754 |
8 |
if (name == "sygus-filter-sol-rev") return options.quantifiers.sygusFilterSolRevSubsume ? "true" : "false"; |
755 |
8 |
if (name == "sygus-grammar-cons") { std::stringstream s; s << options.quantifiers.sygusGrammarConsMode; return s.str(); } |
756 |
8 |
if (name == "sygus-grammar-norm") return options.quantifiers.sygusGrammarNorm ? "true" : "false"; |
757 |
8 |
if (name == "sygus-inference") return options.quantifiers.sygusInference ? "true" : "false"; |
758 |
8 |
if (name == "sygus-inst") return options.quantifiers.sygusInst ? "true" : "false"; |
759 |
8 |
if (name == "sygus-inst-mode") { std::stringstream s; s << options.quantifiers.sygusInstMode; return s.str(); } |
760 |
8 |
if (name == "sygus-inst-scope") { std::stringstream s; s << options.quantifiers.sygusInstScope; return s.str(); } |
761 |
8 |
if (name == "sygus-inst-term-sel") { std::stringstream s; s << options.quantifiers.sygusInstTermSel; return s.str(); } |
762 |
8 |
if (name == "sygus-inv-templ") { std::stringstream s; s << options.quantifiers.sygusInvTemplMode; return s.str(); } |
763 |
8 |
if (name == "sygus-inv-templ-when-sg") return options.quantifiers.sygusInvTemplWhenSyntax ? "true" : "false"; |
764 |
8 |
if (name == "sygus-min-grammar") return options.quantifiers.sygusMinGrammar ? "true" : "false"; |
765 |
8 |
if (name == "sygus-out") { std::stringstream s; s << options.smt.sygusOut; return s.str(); } |
766 |
8 |
if (name == "sygus-pbe") return options.quantifiers.sygusUnifPbe ? "true" : "false"; |
767 |
8 |
if (name == "sygus-pbe-multi-fair") return options.quantifiers.sygusPbeMultiFair ? "true" : "false"; |
768 |
8 |
if (name == "sygus-pbe-multi-fair-diff") return std::to_string(options.quantifiers.sygusPbeMultiFairDiff); |
769 |
8 |
if (name == "sygus-print-callbacks") return options.smt.sygusPrintCallbacks ? "true" : "false"; |
770 |
8 |
if (name == "sygus-qe-preproc") return options.quantifiers.sygusQePreproc ? "true" : "false"; |
771 |
8 |
if (name == "sygus-query-gen") return options.quantifiers.sygusQueryGen ? "true" : "false"; |
772 |
8 |
if (name == "sygus-query-gen-check") return options.quantifiers.sygusQueryGenCheck ? "true" : "false"; |
773 |
8 |
if (name == "sygus-query-gen-dump-files") { std::stringstream s; s << options.quantifiers.sygusQueryGenDumpFiles; return s.str(); } |
774 |
8 |
if (name == "sygus-query-gen-thresh") return std::to_string(options.quantifiers.sygusQueryGenThresh); |
775 |
8 |
if (name == "sygus-rec-fun") return options.quantifiers.sygusRecFun ? "true" : "false"; |
776 |
8 |
if (name == "sygus-rec-fun-eval-limit") return std::to_string(options.quantifiers.sygusRecFunEvalLimit); |
777 |
8 |
if (name == "sygus-repair-const") return options.quantifiers.sygusRepairConst ? "true" : "false"; |
778 |
8 |
if (name == "sygus-repair-const-timeout") return std::to_string(options.quantifiers.sygusRepairConstTimeout); |
779 |
8 |
if (name == "sygus-rr") return options.quantifiers.sygusRew ? "true" : "false"; |
780 |
8 |
if (name == "sygus-rr-synth") return options.quantifiers.sygusRewSynth ? "true" : "false"; |
781 |
8 |
if (name == "sygus-rr-synth-accel") return options.quantifiers.sygusRewSynthAccel ? "true" : "false"; |
782 |
8 |
if (name == "sygus-rr-synth-check") return options.quantifiers.sygusRewSynthCheck ? "true" : "false"; |
783 |
8 |
if (name == "sygus-rr-synth-filter-cong") return options.quantifiers.sygusRewSynthFilterCong ? "true" : "false"; |
784 |
8 |
if (name == "sygus-rr-synth-filter-match") return options.quantifiers.sygusRewSynthFilterMatch ? "true" : "false"; |
785 |
8 |
if (name == "sygus-rr-synth-filter-nl") return options.quantifiers.sygusRewSynthFilterNonLinear ? "true" : "false"; |
786 |
8 |
if (name == "sygus-rr-synth-filter-order") return options.quantifiers.sygusRewSynthFilterOrder ? "true" : "false"; |
787 |
8 |
if (name == "sygus-rr-synth-input") return options.quantifiers.sygusRewSynthInput ? "true" : "false"; |
788 |
8 |
if (name == "sygus-rr-synth-input-nvars") return std::to_string(options.quantifiers.sygusRewSynthInputNVars); |
789 |
8 |
if (name == "sygus-rr-synth-input-use-bool") return options.quantifiers.sygusRewSynthInputUseBool ? "true" : "false"; |
790 |
8 |
if (name == "sygus-rr-synth-rec") return options.quantifiers.sygusRewSynthRec ? "true" : "false"; |
791 |
8 |
if (name == "sygus-rr-verify") return options.quantifiers.sygusRewVerify ? "true" : "false"; |
792 |
8 |
if (name == "sygus-rr-verify-abort") return options.quantifiers.sygusRewVerifyAbort ? "true" : "false"; |
793 |
8 |
if (name == "sygus-sample-fp-uniform") return options.quantifiers.sygusSampleFpUniform ? "true" : "false"; |
794 |
8 |
if (name == "sygus-sample-grammar") return options.quantifiers.sygusSampleGrammar ? "true" : "false"; |
795 |
8 |
if (name == "sygus-samples") return std::to_string(options.quantifiers.sygusSamples); |
796 |
8 |
if (name == "sygus-si") { std::stringstream s; s << options.quantifiers.cegqiSingleInvMode; return s.str(); } |
797 |
8 |
if (name == "sygus-si-abort") return options.quantifiers.cegqiSingleInvAbort ? "true" : "false"; |
798 |
8 |
if (name == "sygus-si-partial") return options.quantifiers.cegqiSingleInvPartial ? "true" : "false"; |
799 |
8 |
if (name == "sygus-si-rcons") { std::stringstream s; s << options.quantifiers.cegqiSingleInvReconstruct; return s.str(); } |
800 |
8 |
if (name == "sygus-si-rcons-limit") return std::to_string(options.quantifiers.cegqiSingleInvReconstructLimit); |
801 |
8 |
if (name == "sygus-si-reconstruct-const") return options.quantifiers.cegqiSingleInvReconstructConst ? "true" : "false"; |
802 |
8 |
if (name == "sygus-stream") return options.quantifiers.sygusStream ? "true" : "false"; |
803 |
8 |
if (name == "sygus-sym-break") return options.datatypes.sygusSymBreak ? "true" : "false"; |
804 |
8 |
if (name == "sygus-sym-break-agg") return options.datatypes.sygusSymBreakAgg ? "true" : "false"; |
805 |
8 |
if (name == "sygus-sym-break-dynamic") return options.datatypes.sygusSymBreakDynamic ? "true" : "false"; |
806 |
8 |
if (name == "sygus-sym-break-lazy") return options.datatypes.sygusSymBreakLazy ? "true" : "false"; |
807 |
8 |
if (name == "sygus-sym-break-pbe") return options.datatypes.sygusSymBreakPbe ? "true" : "false"; |
808 |
8 |
if (name == "sygus-sym-break-rlv") return options.datatypes.sygusSymBreakRlv ? "true" : "false"; |
809 |
8 |
if (name == "sygus-templ-embed-grammar") return options.quantifiers.sygusTemplEmbedGrammar ? "true" : "false"; |
810 |
8 |
if (name == "sygus-unif-cond-independent-no-repeat-sol") return options.quantifiers.sygusUnifCondIndNoRepeatSol ? "true" : "false"; |
811 |
8 |
if (name == "sygus-unif-pi") { std::stringstream s; s << options.quantifiers.sygusUnifPi; return s.str(); } |
812 |
8 |
if (name == "sygus-unif-shuffle-cond") return options.quantifiers.sygusUnifShuffleCond ? "true" : "false"; |
813 |
8 |
if (name == "sygus-verify-inst-max-rounds") return std::to_string(options.quantifiers.sygusVerifyInstMaxRounds); |
814 |
8 |
if (name == "symmetry-breaker" || name == "uf-symmetry-breaker") return options.uf.ufSymmetryBreaker ? "true" : "false"; |
815 |
8 |
if (name == "tc-mode") { std::stringstream s; s << options.theory.tcMode; return s.str(); } |
816 |
8 |
if (name == "term-db-cd") return options.quantifiers.termDbCd ? "true" : "false"; |
817 |
8 |
if (name == "term-db-mode") { std::stringstream s; s << options.quantifiers.termDbMode; return s.str(); } |
818 |
8 |
if (name == "theoryof-mode") { std::stringstream s; s << options.theory.theoryOfMode; return s.str(); } |
819 |
8 |
if (name == "tlimit") return std::to_string(options.base.cumulativeMillisecondLimit); |
820 |
8 |
if (name == "tlimit-per") return std::to_string(options.base.perCallMillisecondLimit); |
821 |
8 |
if (name == "trigger-active-sel") { std::stringstream s; s << options.quantifiers.triggerActiveSelMode; return s.str(); } |
822 |
8 |
if (name == "trigger-sel") { std::stringstream s; s << options.quantifiers.triggerSelMode; return s.str(); } |
823 |
8 |
if (name == "type-checking") return options.expr.typeChecking ? "true" : "false"; |
824 |
8 |
if (name == "uf-ho") return options.uf.ufHo ? "true" : "false"; |
825 |
8 |
if (name == "uf-ho-ext") return options.uf.ufHoExt ? "true" : "false"; |
826 |
8 |
if (name == "uf-ss") { std::stringstream s; s << options.uf.ufssMode; return s.str(); } |
827 |
8 |
if (name == "uf-ss-abort-card") return std::to_string(options.uf.ufssAbortCardinality); |
828 |
8 |
if (name == "uf-ss-fair") return options.uf.ufssFairness ? "true" : "false"; |
829 |
8 |
if (name == "uf-ss-fair-monotone") return options.uf.ufssFairnessMonotone ? "true" : "false"; |
830 |
8 |
if (name == "uf-ss-totality-limited") return std::to_string(options.uf.ufssTotalityLimited); |
831 |
8 |
if (name == "uf-ss-totality-sym-break") return options.uf.ufssTotalitySymBreak ? "true" : "false"; |
832 |
8 |
if (name == "unate-lemmas") { std::stringstream s; s << options.arith.arithUnateLemmaMode; return s.str(); } |
833 |
8 |
if (name == "unconstrained-simp") return options.smt.unconstrainedSimp ? "true" : "false"; |
834 |
8 |
if (name == "unsat-cores-mode") { std::stringstream s; s << options.smt.unsatCoresMode; return s.str(); } |
835 |
8 |
if (name == "use-approx") return options.arith.useApprox ? "true" : "false"; |
836 |
8 |
if (name == "use-fcsimplex") return options.arith.useFC ? "true" : "false"; |
837 |
8 |
if (name == "use-soi") return options.arith.useSOI ? "true" : "false"; |
838 |
8 |
if (name == "user-pat") { std::stringstream s; s << options.quantifiers.userPatternsQuant; return s.str(); } |
839 |
8 |
if (name == "var-elim-quant") return options.quantifiers.varElimQuant ? "true" : "false"; |
840 |
8 |
if (name == "var-ineq-elim-quant") return options.quantifiers.varIneqElimQuant ? "true" : "false"; |
841 |
8 |
if (name == "verbosity") return std::to_string(options.base.verbosity); |
842 |
2 |
if (name == "version") return options.driver.version ? "true" : "false"; |
843 |
|
// clang-format on |
844 |
2 |
throw OptionException("Unrecognized option key or setting: " + name); |
845 |
|
} |
846 |
|
|
847 |
38579 |
void set( |
848 |
|
Options & opts, const std::string& name, const std::string& optionarg) |
849 |
|
{ |
850 |
77158 |
Trace("options") << "set option " << name << " = " << optionarg |
851 |
38579 |
<< std::endl; |
852 |
|
// clang-format off |
853 |
38579 |
if (name == "abstract-values") { |
854 |
4 |
opts.smt.abstractValues = handlers::handleOption<bool>("abstract-values", name, optionarg); |
855 |
4 |
opts.smt.abstractValuesWasSetByUser = true; |
856 |
38575 |
} else if (name == "ackermann") { |
857 |
31 |
opts.smt.ackermann = handlers::handleOption<bool>("ackermann", name, optionarg); |
858 |
31 |
opts.smt.ackermannWasSetByUser = true; |
859 |
38544 |
} else if (name == "ag-miniscope-quant") { |
860 |
4 |
opts.quantifiers.aggressiveMiniscopeQuant = handlers::handleOption<bool>("ag-miniscope-quant", name, optionarg); |
861 |
4 |
opts.quantifiers.aggressiveMiniscopeQuantWasSetByUser = true; |
862 |
38540 |
} else if (name == "approx-branch-depth") { |
863 |
|
opts.arith.maxApproxDepth = handlers::handleOption<int64_t>("approx-branch-depth", name, optionarg); |
864 |
|
opts.arith.maxApproxDepthWasSetByUser = true; |
865 |
38540 |
} else if (name == "arith-brab") { |
866 |
4 |
opts.arith.brabTest = handlers::handleOption<bool>("arith-brab", name, optionarg); |
867 |
4 |
opts.arith.brabTestWasSetByUser = true; |
868 |
38536 |
} else if (name == "arith-cong-man") { |
869 |
|
opts.arith.arithCongMan = handlers::handleOption<bool>("arith-cong-man", name, optionarg); |
870 |
|
opts.arith.arithCongManWasSetByUser = true; |
871 |
38536 |
} else if (name == "arith-eq-solver") { |
872 |
6 |
opts.arith.arithEqSolver = handlers::handleOption<bool>("arith-eq-solver", name, optionarg); |
873 |
6 |
opts.arith.arithEqSolverWasSetByUser = true; |
874 |
38530 |
} else if (name == "arith-no-partial-fun") { |
875 |
3 |
opts.arith.arithNoPartialFun = handlers::handleOption<bool>("arith-no-partial-fun", name, optionarg); |
876 |
3 |
opts.arith.arithNoPartialFunWasSetByUser = true; |
877 |
38527 |
} else if (name == "arith-prop") { |
878 |
|
opts.arith.arithPropagationMode = stringToArithPropagationMode(optionarg); |
879 |
|
opts.arith.arithPropagationModeWasSetByUser = true; |
880 |
38527 |
} else if (name == "arith-prop-clauses") { |
881 |
|
opts.arith.arithPropAsLemmaLength = handlers::handleOption<uint64_t>("arith-prop-clauses", name, optionarg); |
882 |
|
opts.arith.arithPropAsLemmaLengthWasSetByUser = true; |
883 |
38527 |
} else if (name == "arith-rewrite-equalities") { |
884 |
9 |
opts.arith.arithRewriteEq = handlers::handleOption<bool>("arith-rewrite-equalities", name, optionarg); |
885 |
9 |
opts.arith.arithRewriteEqWasSetByUser = true; |
886 |
38518 |
} else if (name == "arrays-config") { |
887 |
|
opts.arrays.arraysConfig = handlers::handleOption<int64_t>("arrays-config", name, optionarg); |
888 |
|
opts.arrays.arraysConfigWasSetByUser = true; |
889 |
38518 |
} else if (name == "arrays-eager-index") { |
890 |
|
opts.arrays.arraysEagerIndexSplitting = handlers::handleOption<bool>("arrays-eager-index", name, optionarg); |
891 |
|
opts.arrays.arraysEagerIndexSplittingWasSetByUser = true; |
892 |
38518 |
} else if (name == "arrays-eager-lemmas") { |
893 |
|
opts.arrays.arraysEagerLemmas = handlers::handleOption<bool>("arrays-eager-lemmas", name, optionarg); |
894 |
|
opts.arrays.arraysEagerLemmasWasSetByUser = true; |
895 |
38518 |
} else if (name == "arrays-exp") { |
896 |
10 |
opts.arrays.arraysExp = handlers::handleOption<bool>("arrays-exp", name, optionarg); |
897 |
10 |
opts.arrays.arraysExpWasSetByUser = true; |
898 |
38508 |
} else if (name == "arrays-model-based") { |
899 |
|
opts.arrays.arraysModelBased = handlers::handleOption<bool>("arrays-model-based", name, optionarg); |
900 |
|
opts.arrays.arraysModelBasedWasSetByUser = true; |
901 |
38508 |
} else if (name == "arrays-optimize-linear") { |
902 |
|
opts.arrays.arraysOptimizeLinear = handlers::handleOption<bool>("arrays-optimize-linear", name, optionarg); |
903 |
|
opts.arrays.arraysOptimizeLinearWasSetByUser = true; |
904 |
38508 |
} else if (name == "arrays-prop") { |
905 |
|
opts.arrays.arraysPropagate = handlers::handleOption<int64_t>("arrays-prop", name, optionarg); |
906 |
|
opts.arrays.arraysPropagateWasSetByUser = true; |
907 |
38508 |
} else if (name == "arrays-reduce-sharing") { |
908 |
|
opts.arrays.arraysReduceSharing = handlers::handleOption<bool>("arrays-reduce-sharing", name, optionarg); |
909 |
|
opts.arrays.arraysReduceSharingWasSetByUser = true; |
910 |
38508 |
} else if (name == "arrays-weak-equiv") { |
911 |
|
opts.arrays.arraysWeakEquivalence = handlers::handleOption<bool>("arrays-weak-equiv", name, optionarg); |
912 |
|
opts.arrays.arraysWeakEquivalenceWasSetByUser = true; |
913 |
38508 |
} else if (name == "assign-function-values") { |
914 |
2 |
opts.theory.assignFunctionValues = handlers::handleOption<bool>("assign-function-values", name, optionarg); |
915 |
2 |
opts.theory.assignFunctionValuesWasSetByUser = true; |
916 |
38506 |
} else if (name == "bitblast") { |
917 |
40 |
opts.bv.bitblastMode = stringToBitblastMode(optionarg); |
918 |
40 |
opts.bv.bitblastModeWasSetByUser = true; |
919 |
38466 |
} else if (name == "bitblast-aig") { |
920 |
|
auto value = handlers::handleOption<bool>("bitblast-aig", name, optionarg); |
921 |
|
opts.handler().abcEnabledBuild("bitblast-aig", name, value); |
922 |
|
opts.handler().setBitblastAig("bitblast-aig", name, value); |
923 |
|
opts.bv.bitvectorAig = value; |
924 |
|
opts.bv.bitvectorAigWasSetByUser = true; |
925 |
38466 |
} else if (name == "bitwise-eq") { |
926 |
|
opts.bv.bitwiseEq = handlers::handleOption<bool>("bitwise-eq", name, optionarg); |
927 |
|
opts.bv.bitwiseEqWasSetByUser = true; |
928 |
38466 |
} else if (name == "block-models") { |
929 |
21 |
opts.smt.blockModelsMode = stringToBlockModelsMode(optionarg); |
930 |
21 |
opts.smt.blockModelsModeWasSetByUser = true; |
931 |
38445 |
} else if (name == "bool-to-bv") { |
932 |
12 |
opts.bv.boolToBitvector = stringToBoolToBVMode(optionarg); |
933 |
12 |
opts.bv.boolToBitvectorWasSetByUser = true; |
934 |
38433 |
} else if (name == "bv-abstraction") { |
935 |
4 |
opts.bv.bvAbstraction = handlers::handleOption<bool>("bv-abstraction", name, optionarg); |
936 |
4 |
opts.bv.bvAbstractionWasSetByUser = true; |
937 |
38429 |
} else if (name == "bv-aig-simp") { |
938 |
|
auto value = handlers::handleOption<std::string>("bv-aig-simp", name, optionarg); |
939 |
|
opts.handler().abcEnabledBuild("bv-aig-simp", name, value); |
940 |
|
opts.bv.bitvectorAigSimplifications = value; |
941 |
|
opts.bv.bitvectorAigSimplificationsWasSetByUser = true; |
942 |
38429 |
} else if (name == "bv-alg-extf") { |
943 |
|
opts.bv.bvAlgExtf = handlers::handleOption<bool>("bv-alg-extf", name, optionarg); |
944 |
|
opts.bv.bvAlgExtfWasSetByUser = true; |
945 |
38429 |
} else if (name == "bv-algebraic-budget") { |
946 |
|
opts.bv.bitvectorAlgebraicBudget = handlers::handleOption<uint64_t>("bv-algebraic-budget", name, optionarg); |
947 |
|
opts.bv.bitvectorAlgebraicBudgetWasSetByUser = true; |
948 |
38429 |
} else if (name == "bv-algebraic-solver") { |
949 |
|
opts.bv.bitvectorAlgebraicSolver = handlers::handleOption<bool>("bv-algebraic-solver", name, optionarg); |
950 |
|
opts.bv.bitvectorAlgebraicSolverWasSetByUser = true; |
951 |
38429 |
} else if (name == "bv-assert-input") { |
952 |
6 |
opts.bv.bvAssertInput = handlers::handleOption<bool>("bv-assert-input", name, optionarg); |
953 |
6 |
opts.bv.bvAssertInputWasSetByUser = true; |
954 |
38423 |
} else if (name == "bv-eager-explanations") { |
955 |
|
opts.bv.bvEagerExplanations = handlers::handleOption<bool>("bv-eager-explanations", name, optionarg); |
956 |
|
opts.bv.bvEagerExplanationsWasSetByUser = true; |
957 |
38423 |
} else if (name == "bv-eq-solver") { |
958 |
2 |
opts.bv.bitvectorEqualitySolver = handlers::handleOption<bool>("bv-eq-solver", name, optionarg); |
959 |
2 |
opts.bv.bitvectorEqualitySolverWasSetByUser = true; |
960 |
38421 |
} else if (name == "bv-extract-arith") { |
961 |
|
opts.bv.bvExtractArithRewrite = handlers::handleOption<bool>("bv-extract-arith", name, optionarg); |
962 |
|
opts.bv.bvExtractArithRewriteWasSetByUser = true; |
963 |
38421 |
} else if (name == "bv-gauss-elim") { |
964 |
|
opts.bv.bvGaussElim = handlers::handleOption<bool>("bv-gauss-elim", name, optionarg); |
965 |
|
opts.bv.bvGaussElimWasSetByUser = true; |
966 |
38421 |
} else if (name == "bv-inequality-solver") { |
967 |
|
opts.bv.bitvectorInequalitySolver = handlers::handleOption<bool>("bv-inequality-solver", name, optionarg); |
968 |
|
opts.bv.bitvectorInequalitySolverWasSetByUser = true; |
969 |
38421 |
} else if (name == "bv-intro-pow2") { |
970 |
2 |
opts.bv.bvIntroducePow2 = handlers::handleOption<bool>("bv-intro-pow2", name, optionarg); |
971 |
2 |
opts.bv.bvIntroducePow2WasSetByUser = true; |
972 |
38419 |
} else if (name == "bv-num-func") { |
973 |
|
opts.bv.bvNumFunc = handlers::handleOption<uint64_t>("bv-num-func", name, optionarg); |
974 |
|
opts.bv.bvNumFuncWasSetByUser = true; |
975 |
38419 |
} else if (name == "bv-print-consts-as-indexed-symbols") { |
976 |
2 |
opts.bv.bvPrintConstsAsIndexedSymbols = handlers::handleOption<bool>("bv-print-consts-as-indexed-symbols", name, optionarg); |
977 |
2 |
opts.bv.bvPrintConstsAsIndexedSymbolsWasSetByUser = true; |
978 |
38417 |
} else if (name == "bv-propagate") { |
979 |
|
opts.bv.bitvectorPropagate = handlers::handleOption<bool>("bv-propagate", name, optionarg); |
980 |
|
opts.bv.bitvectorPropagateWasSetByUser = true; |
981 |
38417 |
} else if (name == "bv-quick-xplain") { |
982 |
|
opts.bv.bitvectorQuickXplain = handlers::handleOption<bool>("bv-quick-xplain", name, optionarg); |
983 |
|
opts.bv.bitvectorQuickXplainWasSetByUser = true; |
984 |
38417 |
} else if (name == "bv-sat-solver") { |
985 |
18 |
auto value = stringToSatSolverMode(optionarg); |
986 |
16 |
opts.handler().checkBvSatSolver("bv-sat-solver", name, value); |
987 |
16 |
opts.bv.bvSatSolver = value; |
988 |
16 |
opts.bv.bvSatSolverWasSetByUser = true; |
989 |
38399 |
} else if (name == "bv-skolemize") { |
990 |
|
opts.bv.skolemizeArguments = handlers::handleOption<bool>("bv-skolemize", name, optionarg); |
991 |
|
opts.bv.skolemizeArgumentsWasSetByUser = true; |
992 |
38399 |
} else if (name == "bv-solver") { |
993 |
46 |
opts.bv.bvSolver = stringToBVSolver(optionarg); |
994 |
46 |
opts.bv.bvSolverWasSetByUser = true; |
995 |
38353 |
} else if (name == "bv-to-bool") { |
996 |
10 |
opts.bv.bitvectorToBool = handlers::handleOption<bool>("bv-to-bool", name, optionarg); |
997 |
10 |
opts.bv.bitvectorToBoolWasSetByUser = true; |
998 |
38343 |
} else if (name == "bvand-integer-granularity") { |
999 |
78 |
opts.smt.BVAndIntegerGranularity = handlers::handleOption<uint64_t>("bvand-integer-granularity", name, optionarg); |
1000 |
78 |
opts.smt.BVAndIntegerGranularityWasSetByUser = true; |
1001 |
38265 |
} else if (name == "cdt-bisimilar") { |
1002 |
|
opts.datatypes.cdtBisimilar = handlers::handleOption<bool>("cdt-bisimilar", name, optionarg); |
1003 |
|
opts.datatypes.cdtBisimilarWasSetByUser = true; |
1004 |
38265 |
} else if (name == "cegis-sample") { |
1005 |
3 |
opts.quantifiers.cegisSample = stringToCegisSampleMode(optionarg); |
1006 |
3 |
opts.quantifiers.cegisSampleWasSetByUser = true; |
1007 |
38262 |
} else if (name == "cegqi") { |
1008 |
19 |
opts.quantifiers.cegqi = handlers::handleOption<bool>("cegqi", name, optionarg); |
1009 |
19 |
opts.quantifiers.cegqiWasSetByUser = true; |
1010 |
38243 |
} else if (name == "cegqi-all") { |
1011 |
18 |
opts.quantifiers.cegqiAll = handlers::handleOption<bool>("cegqi-all", name, optionarg); |
1012 |
18 |
opts.quantifiers.cegqiAllWasSetByUser = true; |
1013 |
38225 |
} else if (name == "cegqi-bv") { |
1014 |
106 |
opts.quantifiers.cegqiBv = handlers::handleOption<bool>("cegqi-bv", name, optionarg); |
1015 |
106 |
opts.quantifiers.cegqiBvWasSetByUser = true; |
1016 |
38119 |
} else if (name == "cegqi-bv-concat-inv") { |
1017 |
|
opts.quantifiers.cegqiBvConcInv = handlers::handleOption<bool>("cegqi-bv-concat-inv", name, optionarg); |
1018 |
|
opts.quantifiers.cegqiBvConcInvWasSetByUser = true; |
1019 |
38119 |
} else if (name == "cegqi-bv-ineq") { |
1020 |
82 |
opts.quantifiers.cegqiBvIneqMode = stringToCegqiBvIneqMode(optionarg); |
1021 |
82 |
opts.quantifiers.cegqiBvIneqModeWasSetByUser = true; |
1022 |
38037 |
} else if (name == "cegqi-bv-interleave-value") { |
1023 |
|
opts.quantifiers.cegqiBvInterleaveValue = handlers::handleOption<bool>("cegqi-bv-interleave-value", name, optionarg); |
1024 |
|
opts.quantifiers.cegqiBvInterleaveValueWasSetByUser = true; |
1025 |
38037 |
} else if (name == "cegqi-bv-linear") { |
1026 |
|
opts.quantifiers.cegqiBvLinearize = handlers::handleOption<bool>("cegqi-bv-linear", name, optionarg); |
1027 |
|
opts.quantifiers.cegqiBvLinearizeWasSetByUser = true; |
1028 |
38037 |
} else if (name == "cegqi-bv-rm-extract") { |
1029 |
2 |
opts.quantifiers.cegqiBvRmExtract = handlers::handleOption<bool>("cegqi-bv-rm-extract", name, optionarg); |
1030 |
2 |
opts.quantifiers.cegqiBvRmExtractWasSetByUser = true; |
1031 |
38035 |
} else if (name == "cegqi-bv-solve-nl") { |
1032 |
|
opts.quantifiers.cegqiBvSolveNl = handlers::handleOption<bool>("cegqi-bv-solve-nl", name, optionarg); |
1033 |
|
opts.quantifiers.cegqiBvSolveNlWasSetByUser = true; |
1034 |
38035 |
} else if (name == "cegqi-full") { |
1035 |
599 |
opts.quantifiers.cegqiFullEffort = handlers::handleOption<bool>("cegqi-full", name, optionarg); |
1036 |
599 |
opts.quantifiers.cegqiFullEffortWasSetByUser = true; |
1037 |
37436 |
} else if (name == "cegqi-innermost") { |
1038 |
|
opts.quantifiers.cegqiInnermost = handlers::handleOption<bool>("cegqi-innermost", name, optionarg); |
1039 |
|
opts.quantifiers.cegqiInnermostWasSetByUser = true; |
1040 |
37436 |
} else if (name == "cegqi-midpoint") { |
1041 |
|
opts.quantifiers.cegqiMidpoint = handlers::handleOption<bool>("cegqi-midpoint", name, optionarg); |
1042 |
|
opts.quantifiers.cegqiMidpointWasSetByUser = true; |
1043 |
37436 |
} else if (name == "cegqi-min-bounds") { |
1044 |
|
opts.quantifiers.cegqiMinBounds = handlers::handleOption<bool>("cegqi-min-bounds", name, optionarg); |
1045 |
|
opts.quantifiers.cegqiMinBoundsWasSetByUser = true; |
1046 |
37436 |
} else if (name == "cegqi-model") { |
1047 |
|
opts.quantifiers.cegqiModel = handlers::handleOption<bool>("cegqi-model", name, optionarg); |
1048 |
|
opts.quantifiers.cegqiModelWasSetByUser = true; |
1049 |
37436 |
} else if (name == "cegqi-multi-inst") { |
1050 |
3 |
opts.quantifiers.cegqiMultiInst = handlers::handleOption<bool>("cegqi-multi-inst", name, optionarg); |
1051 |
3 |
opts.quantifiers.cegqiMultiInstWasSetByUser = true; |
1052 |
37433 |
} else if (name == "cegqi-nested-qe") { |
1053 |
19 |
opts.quantifiers.cegqiNestedQE = handlers::handleOption<bool>("cegqi-nested-qe", name, optionarg); |
1054 |
19 |
opts.quantifiers.cegqiNestedQEWasSetByUser = true; |
1055 |
37414 |
} else if (name == "cegqi-nopt") { |
1056 |
|
opts.quantifiers.cegqiNopt = handlers::handleOption<bool>("cegqi-nopt", name, optionarg); |
1057 |
|
opts.quantifiers.cegqiNoptWasSetByUser = true; |
1058 |
37414 |
} else if (name == "cegqi-repeat-lit") { |
1059 |
|
opts.quantifiers.cegqiRepeatLit = handlers::handleOption<bool>("cegqi-repeat-lit", name, optionarg); |
1060 |
|
opts.quantifiers.cegqiRepeatLitWasSetByUser = true; |
1061 |
37414 |
} else if (name == "cegqi-round-up-lia") { |
1062 |
|
opts.quantifiers.cegqiRoundUpLowerLia = handlers::handleOption<bool>("cegqi-round-up-lia", name, optionarg); |
1063 |
|
opts.quantifiers.cegqiRoundUpLowerLiaWasSetByUser = true; |
1064 |
37414 |
} else if (name == "cegqi-sat") { |
1065 |
|
opts.quantifiers.cegqiSat = handlers::handleOption<bool>("cegqi-sat", name, optionarg); |
1066 |
|
opts.quantifiers.cegqiSatWasSetByUser = true; |
1067 |
37414 |
} else if (name == "cegqi-use-inf-int") { |
1068 |
6 |
opts.quantifiers.cegqiUseInfInt = handlers::handleOption<bool>("cegqi-use-inf-int", name, optionarg); |
1069 |
6 |
opts.quantifiers.cegqiUseInfIntWasSetByUser = true; |
1070 |
37408 |
} else if (name == "cegqi-use-inf-real") { |
1071 |
6 |
opts.quantifiers.cegqiUseInfReal = handlers::handleOption<bool>("cegqi-use-inf-real", name, optionarg); |
1072 |
6 |
opts.quantifiers.cegqiUseInfRealWasSetByUser = true; |
1073 |
37402 |
} else if (name == "check-abducts") { |
1074 |
13 |
opts.smt.checkAbducts = handlers::handleOption<bool>("check-abducts", name, optionarg); |
1075 |
13 |
opts.smt.checkAbductsWasSetByUser = true; |
1076 |
37389 |
} else if (name == "check-interpols") { |
1077 |
8 |
opts.smt.checkInterpols = handlers::handleOption<bool>("check-interpols", name, optionarg); |
1078 |
8 |
opts.smt.checkInterpolsWasSetByUser = true; |
1079 |
37381 |
} else if (name == "check-models") { |
1080 |
121 |
opts.smt.checkModels = handlers::handleOption<bool>("check-models", name, optionarg); |
1081 |
121 |
opts.smt.checkModelsWasSetByUser = true; |
1082 |
37260 |
} else if (name == "check-proofs") { |
1083 |
1166 |
opts.smt.checkProofs = handlers::handleOption<bool>("check-proofs", name, optionarg); |
1084 |
1166 |
opts.smt.checkProofsWasSetByUser = true; |
1085 |
36094 |
} else if (name == "check-synth-sol") { |
1086 |
190 |
opts.smt.checkSynthSol = handlers::handleOption<bool>("check-synth-sol", name, optionarg); |
1087 |
190 |
opts.smt.checkSynthSolWasSetByUser = true; |
1088 |
35904 |
} else if (name == "check-unsat-cores") { |
1089 |
1191 |
opts.smt.checkUnsatCores = handlers::handleOption<bool>("check-unsat-cores", name, optionarg); |
1090 |
1191 |
opts.smt.checkUnsatCoresWasSetByUser = true; |
1091 |
34713 |
} else if (name == "collect-pivot-stats") { |
1092 |
|
opts.arith.collectPivots = handlers::handleOption<bool>("collect-pivot-stats", name, optionarg); |
1093 |
|
opts.arith.collectPivotsWasSetByUser = true; |
1094 |
34713 |
} else if (name == "cond-var-split-agg-quant") { |
1095 |
|
opts.quantifiers.condVarSplitQuantAgg = handlers::handleOption<bool>("cond-var-split-agg-quant", name, optionarg); |
1096 |
|
opts.quantifiers.condVarSplitQuantAggWasSetByUser = true; |
1097 |
34713 |
} else if (name == "cond-var-split-quant") { |
1098 |
|
opts.quantifiers.condVarSplitQuant = handlers::handleOption<bool>("cond-var-split-quant", name, optionarg); |
1099 |
|
opts.quantifiers.condVarSplitQuantWasSetByUser = true; |
1100 |
34713 |
} else if (name == "condense-function-values") { |
1101 |
|
opts.theory.condenseFunctionValues = handlers::handleOption<bool>("condense-function-values", name, optionarg); |
1102 |
|
opts.theory.condenseFunctionValuesWasSetByUser = true; |
1103 |
34713 |
} else if (name == "conjecture-filter-active-terms") { |
1104 |
|
opts.quantifiers.conjectureFilterActiveTerms = handlers::handleOption<bool>("conjecture-filter-active-terms", name, optionarg); |
1105 |
|
opts.quantifiers.conjectureFilterActiveTermsWasSetByUser = true; |
1106 |
34713 |
} else if (name == "conjecture-filter-canonical") { |
1107 |
|
opts.quantifiers.conjectureFilterCanonical = handlers::handleOption<bool>("conjecture-filter-canonical", name, optionarg); |
1108 |
|
opts.quantifiers.conjectureFilterCanonicalWasSetByUser = true; |
1109 |
34713 |
} else if (name == "conjecture-filter-model") { |
1110 |
2 |
opts.quantifiers.conjectureFilterModel = handlers::handleOption<bool>("conjecture-filter-model", name, optionarg); |
1111 |
2 |
opts.quantifiers.conjectureFilterModelWasSetByUser = true; |
1112 |
34711 |
} else if (name == "conjecture-gen") { |
1113 |
7 |
opts.quantifiers.conjectureGen = handlers::handleOption<bool>("conjecture-gen", name, optionarg); |
1114 |
7 |
opts.quantifiers.conjectureGenWasSetByUser = true; |
1115 |
34704 |
} else if (name == "conjecture-gen-gt-enum") { |
1116 |
|
opts.quantifiers.conjectureGenGtEnum = handlers::handleOption<int64_t>("conjecture-gen-gt-enum", name, optionarg); |
1117 |
|
opts.quantifiers.conjectureGenGtEnumWasSetByUser = true; |
1118 |
34704 |
} else if (name == "conjecture-gen-max-depth") { |
1119 |
|
opts.quantifiers.conjectureGenMaxDepth = handlers::handleOption<int64_t>("conjecture-gen-max-depth", name, optionarg); |
1120 |
|
opts.quantifiers.conjectureGenMaxDepthWasSetByUser = true; |
1121 |
34704 |
} else if (name == "conjecture-gen-per-round") { |
1122 |
|
opts.quantifiers.conjectureGenPerRound = handlers::handleOption<int64_t>("conjecture-gen-per-round", name, optionarg); |
1123 |
|
opts.quantifiers.conjectureGenPerRoundWasSetByUser = true; |
1124 |
34704 |
} else if (name == "conjecture-gen-uee-intro") { |
1125 |
|
opts.quantifiers.conjectureUeeIntro = handlers::handleOption<bool>("conjecture-gen-uee-intro", name, optionarg); |
1126 |
|
opts.quantifiers.conjectureUeeIntroWasSetByUser = true; |
1127 |
34704 |
} else if (name == "conjecture-no-filter") { |
1128 |
2 |
opts.quantifiers.conjectureNoFilter = handlers::handleOption<bool>("conjecture-no-filter", name, optionarg); |
1129 |
2 |
opts.quantifiers.conjectureNoFilterWasSetByUser = true; |
1130 |
34702 |
} else if (name == "copyright") { |
1131 |
|
opts.handler().copyright("copyright", name); |
1132 |
34702 |
} else if (name == "cut-all-bounded") { |
1133 |
|
opts.arith.doCutAllBounded = handlers::handleOption<bool>("cut-all-bounded", name, optionarg); |
1134 |
|
opts.arith.doCutAllBoundedWasSetByUser = true; |
1135 |
34702 |
} else if (name == "dag-thresh") { |
1136 |
2 |
auto value = handlers::handleOption<int64_t>("dag-thresh", name, optionarg); |
1137 |
2 |
opts.handler().checkMinimum("dag-thresh", name, value, static_cast<int64_t>(0)); |
1138 |
2 |
opts.handler().setDefaultDagThresh("dag-thresh", name, value); |
1139 |
2 |
opts.expr.defaultDagThresh = value; |
1140 |
2 |
opts.expr.defaultDagThreshWasSetByUser = true; |
1141 |
34700 |
} else if (name == "debug") { |
1142 |
|
opts.handler().enableDebugTag("debug", name, optionarg); |
1143 |
34700 |
} else if (name == "debug-check-models") { |
1144 |
1228 |
opts.smt.debugCheckModels = handlers::handleOption<bool>("debug-check-models", name, optionarg); |
1145 |
1228 |
opts.smt.debugCheckModelsWasSetByUser = true; |
1146 |
33472 |
} else if (name == "decision" || name == "decision-mode") { |
1147 |
94 |
opts.decision.decisionMode = stringToDecisionMode(optionarg); |
1148 |
94 |
opts.decision.decisionModeWasSetByUser = true; |
1149 |
33378 |
} else if (name == "decision-random-weight") { |
1150 |
|
opts.decision.decisionRandomWeight = handlers::handleOption<int64_t>("decision-random-weight", name, optionarg); |
1151 |
|
opts.decision.decisionRandomWeightWasSetByUser = true; |
1152 |
33378 |
} else if (name == "decision-threshold") { |
1153 |
|
opts.decision.decisionThreshold = handlers::handleOption<cvc5::decision::DecisionWeight>("decision-threshold", name, optionarg); |
1154 |
|
opts.decision.decisionThresholdWasSetByUser = true; |
1155 |
33378 |
} else if (name == "decision-use-weight") { |
1156 |
|
opts.decision.decisionUseWeight = handlers::handleOption<bool>("decision-use-weight", name, optionarg); |
1157 |
|
opts.decision.decisionUseWeightWasSetByUser = true; |
1158 |
33378 |
} else if (name == "decision-weight-internal") { |
1159 |
|
opts.decision.decisionWeightInternal = stringToDecisionWeightInternal(optionarg); |
1160 |
|
opts.decision.decisionWeightInternalWasSetByUser = true; |
1161 |
33378 |
} else if (name == "difficulty-mode") { |
1162 |
|
opts.smt.difficultyMode = stringToDifficultyMode(optionarg); |
1163 |
|
opts.smt.difficultyModeWasSetByUser = true; |
1164 |
33378 |
} else if (name == "dio-decomps") { |
1165 |
|
opts.arith.exportDioDecompositions = handlers::handleOption<bool>("dio-decomps", name, optionarg); |
1166 |
|
opts.arith.exportDioDecompositionsWasSetByUser = true; |
1167 |
33378 |
} else if (name == "dio-repeat") { |
1168 |
|
opts.arith.dioRepeat = handlers::handleOption<bool>("dio-repeat", name, optionarg); |
1169 |
|
opts.arith.dioRepeatWasSetByUser = true; |
1170 |
33378 |
} else if (name == "dio-solver") { |
1171 |
|
opts.arith.arithDioSolver = handlers::handleOption<bool>("dio-solver", name, optionarg); |
1172 |
|
opts.arith.arithDioSolverWasSetByUser = true; |
1173 |
33378 |
} else if (name == "dio-turns") { |
1174 |
|
opts.arith.dioSolverTurns = handlers::handleOption<int64_t>("dio-turns", name, optionarg); |
1175 |
|
opts.arith.dioSolverTurnsWasSetByUser = true; |
1176 |
33378 |
} else if (name == "dt-binary-split") { |
1177 |
|
opts.datatypes.dtBinarySplit = handlers::handleOption<bool>("dt-binary-split", name, optionarg); |
1178 |
|
opts.datatypes.dtBinarySplitWasSetByUser = true; |
1179 |
33378 |
} else if (name == "dt-blast-splits") { |
1180 |
|
opts.datatypes.dtBlastSplits = handlers::handleOption<bool>("dt-blast-splits", name, optionarg); |
1181 |
|
opts.datatypes.dtBlastSplitsWasSetByUser = true; |
1182 |
33378 |
} else if (name == "dt-cyclic") { |
1183 |
|
opts.datatypes.dtCyclic = handlers::handleOption<bool>("dt-cyclic", name, optionarg); |
1184 |
|
opts.datatypes.dtCyclicWasSetByUser = true; |
1185 |
33378 |
} else if (name == "dt-force-assignment") { |
1186 |
|
opts.datatypes.dtForceAssignment = handlers::handleOption<bool>("dt-force-assignment", name, optionarg); |
1187 |
|
opts.datatypes.dtForceAssignmentWasSetByUser = true; |
1188 |
33378 |
} else if (name == "dt-infer-as-lemmas") { |
1189 |
|
opts.datatypes.dtInferAsLemmas = handlers::handleOption<bool>("dt-infer-as-lemmas", name, optionarg); |
1190 |
|
opts.datatypes.dtInferAsLemmasWasSetByUser = true; |
1191 |
33378 |
} else if (name == "dt-nested-rec") { |
1192 |
10 |
opts.datatypes.dtNestedRec = handlers::handleOption<bool>("dt-nested-rec", name, optionarg); |
1193 |
10 |
opts.datatypes.dtNestedRecWasSetByUser = true; |
1194 |
33368 |
} else if (name == "dt-polite-optimize") { |
1195 |
|
opts.datatypes.dtPoliteOptimize = handlers::handleOption<bool>("dt-polite-optimize", name, optionarg); |
1196 |
|
opts.datatypes.dtPoliteOptimizeWasSetByUser = true; |
1197 |
33368 |
} else if (name == "dt-rewrite-error-sel") { |
1198 |
5 |
opts.datatypes.dtRewriteErrorSel = handlers::handleOption<bool>("dt-rewrite-error-sel", name, optionarg); |
1199 |
5 |
opts.datatypes.dtRewriteErrorSelWasSetByUser = true; |
1200 |
33363 |
} else if (name == "dt-share-sel") { |
1201 |
55 |
opts.datatypes.dtSharedSelectors = handlers::handleOption<bool>("dt-share-sel", name, optionarg); |
1202 |
55 |
opts.datatypes.dtSharedSelectorsWasSetByUser = true; |
1203 |
33308 |
} else if (name == "dt-stc-ind") { |
1204 |
|
opts.quantifiers.dtStcInduction = handlers::handleOption<bool>("dt-stc-ind", name, optionarg); |
1205 |
|
opts.quantifiers.dtStcInductionWasSetByUser = true; |
1206 |
33308 |
} else if (name == "dt-var-exp-quant") { |
1207 |
|
opts.quantifiers.dtVarExpandQuant = handlers::handleOption<bool>("dt-var-exp-quant", name, optionarg); |
1208 |
|
opts.quantifiers.dtVarExpandQuantWasSetByUser = true; |
1209 |
33308 |
} else if (name == "dump") { |
1210 |
6 |
auto value = handlers::handleOption<std::string>("dump", name, optionarg); |
1211 |
4 |
opts.handler().setDumpMode("dump", name, value); |
1212 |
2 |
opts.smt.dumpModeString = value; |
1213 |
2 |
opts.smt.dumpModeStringWasSetByUser = true; |
1214 |
33305 |
} else if (name == "dump-instantiations") { |
1215 |
12 |
opts.driver.dumpInstantiations = handlers::handleOption<bool>("dump-instantiations", name, optionarg); |
1216 |
12 |
opts.driver.dumpInstantiationsWasSetByUser = true; |
1217 |
33293 |
} else if (name == "dump-instantiations-debug") { |
1218 |
|
opts.driver.dumpInstantiationsDebug = handlers::handleOption<bool>("dump-instantiations-debug", name, optionarg); |
1219 |
|
opts.driver.dumpInstantiationsDebugWasSetByUser = true; |
1220 |
33293 |
} else if (name == "dump-models") { |
1221 |
6 |
opts.driver.dumpModels = handlers::handleOption<bool>("dump-models", name, optionarg); |
1222 |
6 |
opts.driver.dumpModelsWasSetByUser = true; |
1223 |
33287 |
} else if (name == "dump-proofs") { |
1224 |
|
opts.driver.dumpProofs = handlers::handleOption<bool>("dump-proofs", name, optionarg); |
1225 |
|
opts.driver.dumpProofsWasSetByUser = true; |
1226 |
33287 |
} else if (name == "dump-to") { |
1227 |
|
auto value = handlers::handleOption<ManagedOut>("dump-to", name, optionarg); |
1228 |
|
opts.handler().setDumpStream("dump-to", name, value); |
1229 |
|
opts.smt.dumpToFileName = value; |
1230 |
|
opts.smt.dumpToFileNameWasSetByUser = true; |
1231 |
33287 |
} else if (name == "dump-unsat-cores") { |
1232 |
|
opts.driver.dumpUnsatCores = handlers::handleOption<bool>("dump-unsat-cores", name, optionarg); |
1233 |
|
opts.driver.dumpUnsatCoresWasSetByUser = true; |
1234 |
33287 |
} else if (name == "dump-unsat-cores-full") { |
1235 |
3 |
opts.driver.dumpUnsatCoresFull = handlers::handleOption<bool>("dump-unsat-cores-full", name, optionarg); |
1236 |
3 |
opts.driver.dumpUnsatCoresFullWasSetByUser = true; |
1237 |
33284 |
} else if (name == "e-matching") { |
1238 |
1 |
opts.quantifiers.eMatching = handlers::handleOption<bool>("e-matching", name, optionarg); |
1239 |
1 |
opts.quantifiers.eMatchingWasSetByUser = true; |
1240 |
33283 |
} else if (name == "early-exit") { |
1241 |
|
opts.driver.earlyExit = handlers::handleOption<bool>("early-exit", name, optionarg); |
1242 |
|
opts.driver.earlyExitWasSetByUser = true; |
1243 |
33283 |
} else if (name == "early-ite-removal") { |
1244 |
|
opts.smt.earlyIteRemoval = handlers::handleOption<bool>("early-ite-removal", name, optionarg); |
1245 |
|
opts.smt.earlyIteRemovalWasSetByUser = true; |
1246 |
33283 |
} else if (name == "ee-mode") { |
1247 |
56 |
opts.theory.eeMode = stringToEqEngineMode(optionarg); |
1248 |
56 |
opts.theory.eeModeWasSetByUser = true; |
1249 |
33227 |
} else if (name == "elim-taut-quant") { |
1250 |
|
opts.quantifiers.elimTautQuant = handlers::handleOption<bool>("elim-taut-quant", name, optionarg); |
1251 |
|
opts.quantifiers.elimTautQuantWasSetByUser = true; |
1252 |
33227 |
} else if (name == "err" || name == "diagnostic-output-channel") { |
1253 |
|
auto value = handlers::handleOption<ManagedErr>("err", name, optionarg); |
1254 |
|
opts.handler().setErrStream("err", name, value); |
1255 |
|
opts.base.err = value; |
1256 |
|
opts.base.errWasSetByUser = true; |
1257 |
33227 |
} else if (name == "error-selection-rule") { |
1258 |
|
opts.arith.arithErrorSelectionRule = stringToErrorSelectionRule(optionarg); |
1259 |
|
opts.arith.arithErrorSelectionRuleWasSetByUser = true; |
1260 |
33227 |
} else if (name == "expand-definitions") { |
1261 |
|
opts.smt.expandDefinitions = handlers::handleOption<bool>("expand-definitions", name, optionarg); |
1262 |
|
opts.smt.expandDefinitionsWasSetByUser = true; |
1263 |
33227 |
} else if (name == "expr-depth") { |
1264 |
|
auto value = handlers::handleOption<int64_t>("expr-depth", name, optionarg); |
1265 |
|
opts.handler().checkMinimum("expr-depth", name, value, static_cast<int64_t>(-1)); |
1266 |
|
opts.handler().setDefaultExprDepth("expr-depth", name, value); |
1267 |
|
opts.expr.defaultExprDepth = value; |
1268 |
|
opts.expr.defaultExprDepthWasSetByUser = true; |
1269 |
33227 |
} else if (name == "ext-rew-prep") { |
1270 |
19 |
opts.smt.extRewPrep = handlers::handleOption<bool>("ext-rew-prep", name, optionarg); |
1271 |
19 |
opts.smt.extRewPrepWasSetByUser = true; |
1272 |
33208 |
} else if (name == "ext-rew-prep-agg") { |
1273 |
7 |
opts.smt.extRewPrepAgg = handlers::handleOption<bool>("ext-rew-prep-agg", name, optionarg); |
1274 |
7 |
opts.smt.extRewPrepAggWasSetByUser = true; |
1275 |
33201 |
} else if (name == "ext-rewrite-quant") { |
1276 |
10 |
opts.quantifiers.extRewriteQuant = handlers::handleOption<bool>("ext-rewrite-quant", name, optionarg); |
1277 |
10 |
opts.quantifiers.extRewriteQuantWasSetByUser = true; |
1278 |
33191 |
} else if (name == "fc-penalties") { |
1279 |
|
opts.arith.havePenalties = handlers::handleOption<bool>("fc-penalties", name, optionarg); |
1280 |
|
opts.arith.havePenaltiesWasSetByUser = true; |
1281 |
33191 |
} else if (name == "filename") { |
1282 |
|
opts.driver.filename = handlers::handleOption<std::string>("filename", name, optionarg); |
1283 |
|
opts.driver.filenameWasSetByUser = true; |
1284 |
33191 |
} else if (name == "filesystem-access") { |
1285 |
|
opts.parser.filesystemAccess = handlers::handleOption<bool>("filesystem-access", name, optionarg); |
1286 |
|
opts.parser.filesystemAccessWasSetByUser = true; |
1287 |
33191 |
} else if (name == "finite-model-find") { |
1288 |
178 |
opts.quantifiers.finiteModelFind = handlers::handleOption<bool>("finite-model-find", name, optionarg); |
1289 |
178 |
opts.quantifiers.finiteModelFindWasSetByUser = true; |
1290 |
33013 |
} else if (name == "flatten-ho-chains") { |
1291 |
|
opts.printer.flattenHOChains = handlers::handleOption<bool>("flatten-ho-chains", name, optionarg); |
1292 |
|
opts.printer.flattenHOChainsWasSetByUser = true; |
1293 |
33013 |
} else if (name == "fmf-bound") { |
1294 |
44 |
opts.quantifiers.fmfBound = handlers::handleOption<bool>("fmf-bound", name, optionarg); |
1295 |
44 |
opts.quantifiers.fmfBoundWasSetByUser = true; |
1296 |
32969 |
} else if (name == "fmf-bound-int") { |
1297 |
12 |
opts.quantifiers.fmfBoundInt = handlers::handleOption<bool>("fmf-bound-int", name, optionarg); |
1298 |
12 |
opts.quantifiers.fmfBoundIntWasSetByUser = true; |
1299 |
32957 |
} else if (name == "fmf-bound-lazy") { |
1300 |
3 |
opts.quantifiers.fmfBoundLazy = handlers::handleOption<bool>("fmf-bound-lazy", name, optionarg); |
1301 |
3 |
opts.quantifiers.fmfBoundLazyWasSetByUser = true; |
1302 |
32954 |
} else if (name == "fmf-fmc-simple") { |
1303 |
|
opts.quantifiers.fmfFmcSimple = handlers::handleOption<bool>("fmf-fmc-simple", name, optionarg); |
1304 |
|
opts.quantifiers.fmfFmcSimpleWasSetByUser = true; |
1305 |
32954 |
} else if (name == "fmf-fresh-dc") { |
1306 |
|
opts.quantifiers.fmfFreshDistConst = handlers::handleOption<bool>("fmf-fresh-dc", name, optionarg); |
1307 |
|
opts.quantifiers.fmfFreshDistConstWasSetByUser = true; |
1308 |
32954 |
} else if (name == "fmf-fun") { |
1309 |
51 |
opts.quantifiers.fmfFunWellDefined = handlers::handleOption<bool>("fmf-fun", name, optionarg); |
1310 |
51 |
opts.quantifiers.fmfFunWellDefinedWasSetByUser = true; |
1311 |
32903 |
} else if (name == "fmf-fun-rlv") { |
1312 |
10 |
opts.quantifiers.fmfFunWellDefinedRelevant = handlers::handleOption<bool>("fmf-fun-rlv", name, optionarg); |
1313 |
10 |
opts.quantifiers.fmfFunWellDefinedRelevantWasSetByUser = true; |
1314 |
32893 |
} else if (name == "fmf-inst-engine") { |
1315 |
7 |
opts.quantifiers.fmfInstEngine = handlers::handleOption<bool>("fmf-inst-engine", name, optionarg); |
1316 |
7 |
opts.quantifiers.fmfInstEngineWasSetByUser = true; |
1317 |
32886 |
} else if (name == "fmf-type-completion-thresh") { |
1318 |
|
opts.quantifiers.fmfTypeCompletionThresh = handlers::handleOption<int64_t>("fmf-type-completion-thresh", name, optionarg); |
1319 |
|
opts.quantifiers.fmfTypeCompletionThreshWasSetByUser = true; |
1320 |
32886 |
} else if (name == "force-logic") { |
1321 |
9 |
opts.parser.forceLogicString = handlers::handleOption<std::string>("force-logic", name, optionarg); |
1322 |
9 |
opts.parser.forceLogicStringWasSetByUser = true; |
1323 |
32877 |
} else if (name == "force-no-limit-cpu-while-dump") { |
1324 |
|
opts.driver.forceNoLimitCpuWhileDump = handlers::handleOption<bool>("force-no-limit-cpu-while-dump", name, optionarg); |
1325 |
|
opts.driver.forceNoLimitCpuWhileDumpWasSetByUser = true; |
1326 |
32877 |
} else if (name == "foreign-theory-rewrite") { |
1327 |
2 |
opts.smt.foreignTheoryRewrite = handlers::handleOption<bool>("foreign-theory-rewrite", name, optionarg); |
1328 |
2 |
opts.smt.foreignTheoryRewriteWasSetByUser = true; |
1329 |
32875 |
} else if (name == "fp-exp") { |
1330 |
22 |
opts.fp.fpExp = handlers::handleOption<bool>("fp-exp", name, optionarg); |
1331 |
22 |
opts.fp.fpExpWasSetByUser = true; |
1332 |
32853 |
} else if (name == "fp-lazy-wb") { |
1333 |
3 |
opts.fp.fpLazyWb = handlers::handleOption<bool>("fp-lazy-wb", name, optionarg); |
1334 |
3 |
opts.fp.fpLazyWbWasSetByUser = true; |
1335 |
32850 |
} else if (name == "fs-interleave") { |
1336 |
|
opts.quantifiers.fullSaturateInterleave = handlers::handleOption<bool>("fs-interleave", name, optionarg); |
1337 |
|
opts.quantifiers.fullSaturateInterleaveWasSetByUser = true; |
1338 |
32850 |
} else if (name == "fs-stratify") { |
1339 |
3 |
opts.quantifiers.fullSaturateStratify = handlers::handleOption<bool>("fs-stratify", name, optionarg); |
1340 |
3 |
opts.quantifiers.fullSaturateStratifyWasSetByUser = true; |
1341 |
32847 |
} else if (name == "fs-sum") { |
1342 |
|
opts.quantifiers.fullSaturateSum = handlers::handleOption<bool>("fs-sum", name, optionarg); |
1343 |
|
opts.quantifiers.fullSaturateSumWasSetByUser = true; |
1344 |
32847 |
} else if (name == "full-saturate-quant") { |
1345 |
76 |
opts.quantifiers.fullSaturateQuant = handlers::handleOption<bool>("full-saturate-quant", name, optionarg); |
1346 |
76 |
opts.quantifiers.fullSaturateQuantWasSetByUser = true; |
1347 |
32771 |
} else if (name == "full-saturate-quant-limit") { |
1348 |
3 |
opts.quantifiers.fullSaturateLimit = handlers::handleOption<int64_t>("full-saturate-quant-limit", name, optionarg); |
1349 |
3 |
opts.quantifiers.fullSaturateLimitWasSetByUser = true; |
1350 |
32768 |
} else if (name == "full-saturate-quant-rd") { |
1351 |
|
opts.quantifiers.fullSaturateQuantRd = handlers::handleOption<bool>("full-saturate-quant-rd", name, optionarg); |
1352 |
|
opts.quantifiers.fullSaturateQuantRdWasSetByUser = true; |
1353 |
32768 |
} else if (name == "global-declarations") { |
1354 |
19 |
opts.parser.globalDeclarations = handlers::handleOption<bool>("global-declarations", name, optionarg); |
1355 |
19 |
opts.parser.globalDeclarationsWasSetByUser = true; |
1356 |
32749 |
} else if (name == "global-negate") { |
1357 |
8 |
opts.quantifiers.globalNegate = handlers::handleOption<bool>("global-negate", name, optionarg); |
1358 |
8 |
opts.quantifiers.globalNegateWasSetByUser = true; |
1359 |
32741 |
} else if (name == "help") { |
1360 |
|
opts.driver.help = handlers::handleOption<bool>("help", name, optionarg); |
1361 |
|
opts.driver.helpWasSetByUser = true; |
1362 |
32741 |
} else if (name == "heuristic-pivots") { |
1363 |
|
opts.arith.arithHeuristicPivots = handlers::handleOption<int64_t>("heuristic-pivots", name, optionarg); |
1364 |
|
opts.arith.arithHeuristicPivotsWasSetByUser = true; |
1365 |
32741 |
} else if (name == "ho-elim") { |
1366 |
8 |
opts.quantifiers.hoElim = handlers::handleOption<bool>("ho-elim", name, optionarg); |
1367 |
8 |
opts.quantifiers.hoElimWasSetByUser = true; |
1368 |
32733 |
} else if (name == "ho-elim-store-ax") { |
1369 |
1 |
opts.quantifiers.hoElimStoreAx = handlers::handleOption<bool>("ho-elim-store-ax", name, optionarg); |
1370 |
1 |
opts.quantifiers.hoElimStoreAxWasSetByUser = true; |
1371 |
32732 |
} else if (name == "ho-matching") { |
1372 |
|
opts.quantifiers.hoMatching = handlers::handleOption<bool>("ho-matching", name, optionarg); |
1373 |
|
opts.quantifiers.hoMatchingWasSetByUser = true; |
1374 |
32732 |
} else if (name == "ho-matching-var-priority") { |
1375 |
|
opts.quantifiers.hoMatchingVarArgPriority = handlers::handleOption<bool>("ho-matching-var-priority", name, optionarg); |
1376 |
|
opts.quantifiers.hoMatchingVarArgPriorityWasSetByUser = true; |
1377 |
32732 |
} else if (name == "ho-merge-term-db") { |
1378 |
|
opts.quantifiers.hoMergeTermDb = handlers::handleOption<bool>("ho-merge-term-db", name, optionarg); |
1379 |
|
opts.quantifiers.hoMergeTermDbWasSetByUser = true; |
1380 |
32732 |
} else if (name == "iand-mode") { |
1381 |
67 |
opts.smt.iandMode = stringToIandMode(optionarg); |
1382 |
67 |
opts.smt.iandModeWasSetByUser = true; |
1383 |
32665 |
} else if (name == "in") { |
1384 |
|
auto value = handlers::handleOption<ManagedIn>("in", name, optionarg); |
1385 |
|
opts.handler().setInStream("in", name, value); |
1386 |
|
opts.base.in = value; |
1387 |
|
opts.base.inWasSetByUser = true; |
1388 |
32665 |
} else if (name == "increment-triggers") { |
1389 |
|
opts.quantifiers.incrementTriggers = handlers::handleOption<bool>("increment-triggers", name, optionarg); |
1390 |
|
opts.quantifiers.incrementTriggersWasSetByUser = true; |
1391 |
32665 |
} else if (name == "incremental") { |
1392 |
7312 |
opts.base.incrementalSolving = handlers::handleOption<bool>("incremental", name, optionarg); |
1393 |
7312 |
opts.base.incrementalSolvingWasSetByUser = true; |
1394 |
25353 |
} else if (name == "inst-level-input-only") { |
1395 |
|
opts.quantifiers.instLevelInputOnly = handlers::handleOption<bool>("inst-level-input-only", name, optionarg); |
1396 |
|
opts.quantifiers.instLevelInputOnlyWasSetByUser = true; |
1397 |
25353 |
} else if (name == "inst-max-level") { |
1398 |
3 |
opts.quantifiers.instMaxLevel = handlers::handleOption<int64_t>("inst-max-level", name, optionarg); |
1399 |
3 |
opts.quantifiers.instMaxLevelWasSetByUser = true; |
1400 |
25350 |
} else if (name == "inst-max-rounds") { |
1401 |
|
opts.quantifiers.instMaxRounds = handlers::handleOption<int64_t>("inst-max-rounds", name, optionarg); |
1402 |
|
opts.quantifiers.instMaxRoundsWasSetByUser = true; |
1403 |
25350 |
} else if (name == "inst-no-entail") { |
1404 |
|
opts.quantifiers.instNoEntail = handlers::handleOption<bool>("inst-no-entail", name, optionarg); |
1405 |
|
opts.quantifiers.instNoEntailWasSetByUser = true; |
1406 |
25350 |
} else if (name == "inst-when") { |
1407 |
3 |
auto value = stringToInstWhenMode(optionarg); |
1408 |
3 |
opts.handler().checkInstWhenMode("inst-when", name, value); |
1409 |
3 |
opts.quantifiers.instWhenMode = value; |
1410 |
3 |
opts.quantifiers.instWhenModeWasSetByUser = true; |
1411 |
25347 |
} else if (name == "inst-when-phase") { |
1412 |
|
opts.quantifiers.instWhenPhase = handlers::handleOption<int64_t>("inst-when-phase", name, optionarg); |
1413 |
|
opts.quantifiers.instWhenPhaseWasSetByUser = true; |
1414 |
25347 |
} else if (name == "inst-when-strict-interleave") { |
1415 |
|
opts.quantifiers.instWhenStrictInterleave = handlers::handleOption<bool>("inst-when-strict-interleave", name, optionarg); |
1416 |
|
opts.quantifiers.instWhenStrictInterleaveWasSetByUser = true; |
1417 |
25347 |
} else if (name == "inst-when-tc-first") { |
1418 |
|
opts.quantifiers.instWhenTcFirst = handlers::handleOption<bool>("inst-when-tc-first", name, optionarg); |
1419 |
|
opts.quantifiers.instWhenTcFirstWasSetByUser = true; |
1420 |
25347 |
} else if (name == "int-wf-ind") { |
1421 |
5 |
opts.quantifiers.intWfInduction = handlers::handleOption<bool>("int-wf-ind", name, optionarg); |
1422 |
5 |
opts.quantifiers.intWfInductionWasSetByUser = true; |
1423 |
25342 |
} else if (name == "interactive") { |
1424 |
6157 |
opts.driver.interactive = handlers::handleOption<bool>("interactive", name, optionarg); |
1425 |
6157 |
opts.driver.interactiveWasSetByUser = true; |
1426 |
19185 |
} else if (name == "interactive-mode") { |
1427 |
2 |
auto value = handlers::handleOption<bool>("interactive-mode", name, optionarg); |
1428 |
2 |
opts.handler().setProduceAssertions("interactive-mode", name, value); |
1429 |
2 |
opts.smt.interactiveMode = value; |
1430 |
2 |
opts.smt.interactiveModeWasSetByUser = true; |
1431 |
19183 |
} else if (name == "ite-dtt-split-quant") { |
1432 |
|
opts.quantifiers.iteDtTesterSplitQuant = handlers::handleOption<bool>("ite-dtt-split-quant", name, optionarg); |
1433 |
|
opts.quantifiers.iteDtTesterSplitQuantWasSetByUser = true; |
1434 |
19183 |
} else if (name == "ite-lift-quant") { |
1435 |
|
opts.quantifiers.iteLiftQuant = stringToIteLiftQuantMode(optionarg); |
1436 |
|
opts.quantifiers.iteLiftQuantWasSetByUser = true; |
1437 |
19183 |
} else if (name == "ite-simp") { |
1438 |
2 |
opts.smt.doITESimp = handlers::handleOption<bool>("ite-simp", name, optionarg); |
1439 |
2 |
opts.smt.doITESimpWasSetByUser = true; |
1440 |
19181 |
} else if (name == "jh-rlv-order") { |
1441 |
10 |
opts.decision.jhRlvOrder = handlers::handleOption<bool>("jh-rlv-order", name, optionarg); |
1442 |
10 |
opts.decision.jhRlvOrderWasSetByUser = true; |
1443 |
19171 |
} else if (name == "jh-skolem") { |
1444 |
|
opts.decision.jhSkolemMode = stringToJutificationSkolemMode(optionarg); |
1445 |
|
opts.decision.jhSkolemModeWasSetByUser = true; |
1446 |
19171 |
} else if (name == "jh-skolem-rlv") { |
1447 |
|
opts.decision.jhSkolemRlvMode = stringToJutificationSkolemRlvMode(optionarg); |
1448 |
|
opts.decision.jhSkolemRlvModeWasSetByUser = true; |
1449 |
19171 |
} else if (name == "input-language" || name == "lang") { |
1450 |
6454 |
auto value = opts.handler().stringToLanguage("lang", name, optionarg); |
1451 |
6454 |
opts.handler().languageIsNotAST("lang", name, value); |
1452 |
6454 |
opts.base.inputLanguage = value; |
1453 |
6454 |
opts.base.inputLanguageWasSetByUser = true; |
1454 |
12717 |
} else if (name == "language-help") { |
1455 |
|
opts.base.languageHelp = handlers::handleOption<bool>("language-help", name, optionarg); |
1456 |
|
opts.base.languageHelpWasSetByUser = true; |
1457 |
12717 |
} else if (name == "learned-rewrite") { |
1458 |
2 |
opts.smt.learnedRewrite = handlers::handleOption<bool>("learned-rewrite", name, optionarg); |
1459 |
2 |
opts.smt.learnedRewriteWasSetByUser = true; |
1460 |
12715 |
} else if (name == "lemmas-on-replay-failure") { |
1461 |
|
opts.arith.replayFailureLemma = handlers::handleOption<bool>("lemmas-on-replay-failure", name, optionarg); |
1462 |
|
opts.arith.replayFailureLemmaWasSetByUser = true; |
1463 |
12715 |
} else if (name == "literal-matching") { |
1464 |
|
opts.quantifiers.literalMatchMode = stringToLiteralMatchMode(optionarg); |
1465 |
|
opts.quantifiers.literalMatchModeWasSetByUser = true; |
1466 |
12715 |
} else if (name == "macros-quant") { |
1467 |
17 |
opts.quantifiers.macrosQuant = handlers::handleOption<bool>("macros-quant", name, optionarg); |
1468 |
17 |
opts.quantifiers.macrosQuantWasSetByUser = true; |
1469 |
12698 |
} else if (name == "macros-quant-mode") { |
1470 |
2 |
opts.quantifiers.macrosQuantMode = stringToMacrosQuantMode(optionarg); |
1471 |
2 |
opts.quantifiers.macrosQuantModeWasSetByUser = true; |
1472 |
12696 |
} else if (name == "maxCutsInContext") { |
1473 |
|
opts.arith.maxCutsInContext = handlers::handleOption<uint64_t>("maxCutsInContext", name, optionarg); |
1474 |
|
opts.arith.maxCutsInContextWasSetByUser = true; |
1475 |
12696 |
} else if (name == "mbqi") { |
1476 |
|
opts.quantifiers.mbqiMode = stringToMbqiMode(optionarg); |
1477 |
|
opts.quantifiers.mbqiModeWasSetByUser = true; |
1478 |
12696 |
} else if (name == "mbqi-interleave") { |
1479 |
|
opts.quantifiers.mbqiInterleave = handlers::handleOption<bool>("mbqi-interleave", name, optionarg); |
1480 |
|
opts.quantifiers.mbqiInterleaveWasSetByUser = true; |
1481 |
12696 |
} else if (name == "mbqi-one-inst-per-round") { |
1482 |
|
opts.quantifiers.fmfOneInstPerRound = handlers::handleOption<bool>("mbqi-one-inst-per-round", name, optionarg); |
1483 |
|
opts.quantifiers.fmfOneInstPerRoundWasSetByUser = true; |
1484 |
12696 |
} else if (name == "minimal-unsat-cores") { |
1485 |
3 |
opts.smt.minimalUnsatCores = handlers::handleOption<bool>("minimal-unsat-cores", name, optionarg); |
1486 |
3 |
opts.smt.minimalUnsatCoresWasSetByUser = true; |
1487 |
12693 |
} else if (name == "minisat-dump-dimacs") { |
1488 |
|
opts.prop.minisatDumpDimacs = handlers::handleOption<bool>("minisat-dump-dimacs", name, optionarg); |
1489 |
|
opts.prop.minisatDumpDimacsWasSetByUser = true; |
1490 |
12693 |
} else if (name == "minisat-elimination") { |
1491 |
|
opts.prop.minisatUseElim = handlers::handleOption<bool>("minisat-elimination", name, optionarg); |
1492 |
|
opts.prop.minisatUseElimWasSetByUser = true; |
1493 |
12693 |
} else if (name == "miniscope-quant") { |
1494 |
152 |
opts.quantifiers.miniscopeQuant = handlers::handleOption<bool>("miniscope-quant", name, optionarg); |
1495 |
152 |
opts.quantifiers.miniscopeQuantWasSetByUser = true; |
1496 |
12541 |
} else if (name == "miniscope-quant-fv") { |
1497 |
150 |
opts.quantifiers.miniscopeQuantFreeVar = handlers::handleOption<bool>("miniscope-quant-fv", name, optionarg); |
1498 |
150 |
opts.quantifiers.miniscopeQuantFreeVarWasSetByUser = true; |
1499 |
12391 |
} else if (name == "miplib-trick") { |
1500 |
8 |
opts.arith.arithMLTrick = handlers::handleOption<bool>("miplib-trick", name, optionarg); |
1501 |
8 |
opts.arith.arithMLTrickWasSetByUser = true; |
1502 |
12383 |
} else if (name == "miplib-trick-subs") { |
1503 |
|
opts.arith.arithMLTrickSubstitutions = handlers::handleOption<uint64_t>("miplib-trick-subs", name, optionarg); |
1504 |
|
opts.arith.arithMLTrickSubstitutionsWasSetByUser = true; |
1505 |
12383 |
} else if (name == "mmap") { |
1506 |
|
opts.parser.memoryMap = handlers::handleOption<bool>("mmap", name, optionarg); |
1507 |
|
opts.parser.memoryMapWasSetByUser = true; |
1508 |
12383 |
} else if (name == "model-cores") { |
1509 |
8 |
opts.smt.modelCoresMode = stringToModelCoresMode(optionarg); |
1510 |
8 |
opts.smt.modelCoresModeWasSetByUser = true; |
1511 |
12375 |
} else if (name == "model-format") { |
1512 |
|
opts.printer.modelFormatMode = stringToModelFormatMode(optionarg); |
1513 |
|
opts.printer.modelFormatModeWasSetByUser = true; |
1514 |
12375 |
} else if (name == "model-uninterp-print" || name == "model-u-print") { |
1515 |
1 |
opts.smt.modelUninterpPrint = stringToModelUninterpPrintMode(optionarg); |
1516 |
1 |
opts.smt.modelUninterpPrintWasSetByUser = true; |
1517 |
12374 |
} else if (name == "model-witness-value") { |
1518 |
1 |
opts.smt.modelWitnessValue = handlers::handleOption<bool>("model-witness-value", name, optionarg); |
1519 |
1 |
opts.smt.modelWitnessValueWasSetByUser = true; |
1520 |
12373 |
} else if (name == "multi-trigger-cache") { |
1521 |
3 |
opts.quantifiers.multiTriggerCache = handlers::handleOption<bool>("multi-trigger-cache", name, optionarg); |
1522 |
3 |
opts.quantifiers.multiTriggerCacheWasSetByUser = true; |
1523 |
12370 |
} else if (name == "multi-trigger-linear") { |
1524 |
|
opts.quantifiers.multiTriggerLinear = handlers::handleOption<bool>("multi-trigger-linear", name, optionarg); |
1525 |
|
opts.quantifiers.multiTriggerLinearWasSetByUser = true; |
1526 |
12370 |
} else if (name == "multi-trigger-priority") { |
1527 |
|
opts.quantifiers.multiTriggerPriority = handlers::handleOption<bool>("multi-trigger-priority", name, optionarg); |
1528 |
|
opts.quantifiers.multiTriggerPriorityWasSetByUser = true; |
1529 |
12370 |
} else if (name == "multi-trigger-when-single") { |
1530 |
|
opts.quantifiers.multiTriggerWhenSingle = handlers::handleOption<bool>("multi-trigger-when-single", name, optionarg); |
1531 |
|
opts.quantifiers.multiTriggerWhenSingleWasSetByUser = true; |
1532 |
12370 |
} else if (name == "new-prop") { |
1533 |
8 |
opts.arith.newProp = handlers::handleOption<bool>("new-prop", name, optionarg); |
1534 |
8 |
opts.arith.newPropWasSetByUser = true; |
1535 |
12362 |
} else if (name == "nl-cad") { |
1536 |
5 |
opts.arith.nlCad = handlers::handleOption<bool>("nl-cad", name, optionarg); |
1537 |
5 |
opts.arith.nlCadWasSetByUser = true; |
1538 |
12357 |
} else if (name == "nl-cad-initial") { |
1539 |
|
opts.arith.nlCadUseInitial = handlers::handleOption<bool>("nl-cad-initial", name, optionarg); |
1540 |
|
opts.arith.nlCadUseInitialWasSetByUser = true; |
1541 |
12357 |
} else if (name == "nl-cad-lift") { |
1542 |
|
opts.arith.nlCadLifting = stringToNlCadLiftingMode(optionarg); |
1543 |
|
opts.arith.nlCadLiftingWasSetByUser = true; |
1544 |
12357 |
} else if (name == "nl-cad-proj") { |
1545 |
|
opts.arith.nlCadProjection = stringToNlCadProjectionMode(optionarg); |
1546 |
|
opts.arith.nlCadProjectionWasSetByUser = true; |
1547 |
12357 |
} else if (name == "nl-ext") { |
1548 |
126 |
opts.arith.nlExt = stringToNlExtMode(optionarg); |
1549 |
126 |
opts.arith.nlExtWasSetByUser = true; |
1550 |
12231 |
} else if (name == "nl-ext-ent-conf") { |
1551 |
|
opts.arith.nlExtEntailConflicts = handlers::handleOption<bool>("nl-ext-ent-conf", name, optionarg); |
1552 |
|
opts.arith.nlExtEntailConflictsWasSetByUser = true; |
1553 |
12231 |
} else if (name == "nl-ext-factor") { |
1554 |
|
opts.arith.nlExtFactor = handlers::handleOption<bool>("nl-ext-factor", name, optionarg); |
1555 |
|
opts.arith.nlExtFactorWasSetByUser = true; |
1556 |
12231 |
} else if (name == "nl-ext-inc-prec") { |
1557 |
2 |
opts.arith.nlExtIncPrecision = handlers::handleOption<bool>("nl-ext-inc-prec", name, optionarg); |
1558 |
2 |
opts.arith.nlExtIncPrecisionWasSetByUser = true; |
1559 |
12229 |
} else if (name == "nl-ext-purify") { |
1560 |
4 |
opts.arith.nlExtPurify = handlers::handleOption<bool>("nl-ext-purify", name, optionarg); |
1561 |
4 |
opts.arith.nlExtPurifyWasSetByUser = true; |
1562 |
12225 |
} else if (name == "nl-ext-rbound") { |
1563 |
|
opts.arith.nlExtResBound = handlers::handleOption<bool>("nl-ext-rbound", name, optionarg); |
1564 |
|
opts.arith.nlExtResBoundWasSetByUser = true; |
1565 |
12225 |
} else if (name == "nl-ext-rewrite") { |
1566 |
|
opts.arith.nlExtRewrites = handlers::handleOption<bool>("nl-ext-rewrite", name, optionarg); |
1567 |
|
opts.arith.nlExtRewritesWasSetByUser = true; |
1568 |
12225 |
} else if (name == "nl-ext-split-zero") { |
1569 |
|
opts.arith.nlExtSplitZero = handlers::handleOption<bool>("nl-ext-split-zero", name, optionarg); |
1570 |
|
opts.arith.nlExtSplitZeroWasSetByUser = true; |
1571 |
12225 |
} else if (name == "nl-ext-tf-taylor-deg") { |
1572 |
|
opts.arith.nlExtTfTaylorDegree = handlers::handleOption<int64_t>("nl-ext-tf-taylor-deg", name, optionarg); |
1573 |
|
opts.arith.nlExtTfTaylorDegreeWasSetByUser = true; |
1574 |
12225 |
} else if (name == "nl-ext-tf-tplanes") { |
1575 |
41 |
opts.arith.nlExtTfTangentPlanes = handlers::handleOption<bool>("nl-ext-tf-tplanes", name, optionarg); |
1576 |
41 |
opts.arith.nlExtTfTangentPlanesWasSetByUser = true; |
1577 |
12184 |
} else if (name == "nl-ext-tplanes") { |
1578 |
42 |
opts.arith.nlExtTangentPlanes = handlers::handleOption<bool>("nl-ext-tplanes", name, optionarg); |
1579 |
42 |
opts.arith.nlExtTangentPlanesWasSetByUser = true; |
1580 |
12142 |
} else if (name == "nl-ext-tplanes-interleave") { |
1581 |
|
opts.arith.nlExtTangentPlanesInterleave = handlers::handleOption<bool>("nl-ext-tplanes-interleave", name, optionarg); |
1582 |
|
opts.arith.nlExtTangentPlanesInterleaveWasSetByUser = true; |
1583 |
12142 |
} else if (name == "nl-icp") { |
1584 |
2 |
opts.arith.nlICP = handlers::handleOption<bool>("nl-icp", name, optionarg); |
1585 |
2 |
opts.arith.nlICPWasSetByUser = true; |
1586 |
12140 |
} else if (name == "nl-rlv") { |
1587 |
6 |
opts.arith.nlRlvMode = stringToNlRlvMode(optionarg); |
1588 |
6 |
opts.arith.nlRlvModeWasSetByUser = true; |
1589 |
12134 |
} else if (name == "nl-rlv-assert-bounds") { |
1590 |
|
opts.arith.nlRlvAssertBounds = handlers::handleOption<bool>("nl-rlv-assert-bounds", name, optionarg); |
1591 |
|
opts.arith.nlRlvAssertBoundsWasSetByUser = true; |
1592 |
12134 |
} else if (name == "on-repeat-ite-simp") { |
1593 |
|
opts.smt.doITESimpOnRepeat = handlers::handleOption<bool>("on-repeat-ite-simp", name, optionarg); |
1594 |
|
opts.smt.doITESimpOnRepeatWasSetByUser = true; |
1595 |
12134 |
} else if (name == "out" || name == "regular-output-channel") { |
1596 |
|
auto value = handlers::handleOption<ManagedOut>("out", name, optionarg); |
1597 |
|
opts.handler().setOutStream("out", name, value); |
1598 |
|
opts.base.out = value; |
1599 |
|
opts.base.outWasSetByUser = true; |
1600 |
12134 |
} else if (name == "output") { |
1601 |
3 |
opts.handler().enableOutputTag("output", name, optionarg); |
1602 |
12131 |
} else if (name == "output-lang" || name == "output-language") { |
1603 |
6183 |
auto value = opts.handler().stringToLanguage("output-lang", name, optionarg); |
1604 |
6183 |
opts.handler().applyOutputLanguage("output-lang", name, value); |
1605 |
6183 |
opts.base.outputLanguage = value; |
1606 |
6183 |
opts.base.outputLanguageWasSetByUser = true; |
1607 |
5948 |
} else if (name == "parse-only") { |
1608 |
16 |
opts.base.parseOnly = handlers::handleOption<bool>("parse-only", name, optionarg); |
1609 |
16 |
opts.base.parseOnlyWasSetByUser = true; |
1610 |
5932 |
} else if (name == "partial-triggers") { |
1611 |
3 |
opts.quantifiers.partialTriggers = handlers::handleOption<bool>("partial-triggers", name, optionarg); |
1612 |
3 |
opts.quantifiers.partialTriggersWasSetByUser = true; |
1613 |
5929 |
} else if (name == "pb-rewrites") { |
1614 |
2 |
opts.arith.pbRewrites = handlers::handleOption<bool>("pb-rewrites", name, optionarg); |
1615 |
2 |
opts.arith.pbRewritesWasSetByUser = true; |
1616 |
5927 |
} else if (name == "pivot-threshold") { |
1617 |
|
opts.arith.arithPivotThreshold = handlers::handleOption<uint64_t>("pivot-threshold", name, optionarg); |
1618 |
|
opts.arith.arithPivotThresholdWasSetByUser = true; |
1619 |
5927 |
} else if (name == "pool-inst") { |
1620 |
3 |
opts.quantifiers.poolInst = handlers::handleOption<bool>("pool-inst", name, optionarg); |
1621 |
3 |
opts.quantifiers.poolInstWasSetByUser = true; |
1622 |
5924 |
} else if (name == "pp-assert-max-sub-size") { |
1623 |
|
opts.arith.ppAssertMaxSubSize = handlers::handleOption<uint64_t>("pp-assert-max-sub-size", name, optionarg); |
1624 |
|
opts.arith.ppAssertMaxSubSizeWasSetByUser = true; |
1625 |
5924 |
} else if (name == "pre-skolem-quant") { |
1626 |
2 |
opts.quantifiers.preSkolemQuant = handlers::handleOption<bool>("pre-skolem-quant", name, optionarg); |
1627 |
2 |
opts.quantifiers.preSkolemQuantWasSetByUser = true; |
1628 |
5922 |
} else if (name == "pre-skolem-quant-agg") { |
1629 |
|
opts.quantifiers.preSkolemQuantAgg = handlers::handleOption<bool>("pre-skolem-quant-agg", name, optionarg); |
1630 |
|
opts.quantifiers.preSkolemQuantAggWasSetByUser = true; |
1631 |
5922 |
} else if (name == "pre-skolem-quant-nested") { |
1632 |
2 |
opts.quantifiers.preSkolemQuantNested = handlers::handleOption<bool>("pre-skolem-quant-nested", name, optionarg); |
1633 |
2 |
opts.quantifiers.preSkolemQuantNestedWasSetByUser = true; |
1634 |
5920 |
} else if (name == "prenex-quant") { |
1635 |
|
opts.quantifiers.prenexQuant = stringToPrenexQuantMode(optionarg); |
1636 |
|
opts.quantifiers.prenexQuantWasSetByUser = true; |
1637 |
5920 |
} else if (name == "prenex-quant-user") { |
1638 |
|
opts.quantifiers.prenexQuantUser = handlers::handleOption<bool>("prenex-quant-user", name, optionarg); |
1639 |
|
opts.quantifiers.prenexQuantUserWasSetByUser = true; |
1640 |
5920 |
} else if (name == "preprocess-only") { |
1641 |
3 |
opts.base.preprocessOnly = handlers::handleOption<bool>("preprocess-only", name, optionarg); |
1642 |
3 |
opts.base.preprocessOnlyWasSetByUser = true; |
1643 |
5917 |
} else if (name == "print-inst") { |
1644 |
3 |
opts.printer.printInstMode = stringToPrintInstMode(optionarg); |
1645 |
3 |
opts.printer.printInstModeWasSetByUser = true; |
1646 |
5914 |
} else if (name == "print-inst-full") { |
1647 |
12 |
opts.printer.printInstFull = handlers::handleOption<bool>("print-inst-full", name, optionarg); |
1648 |
12 |
opts.printer.printInstFullWasSetByUser = true; |
1649 |
5902 |
} else if (name == "print-success") { |
1650 |
30 |
auto value = handlers::handleOption<bool>("print-success", name, optionarg); |
1651 |
30 |
opts.handler().setPrintSuccess("print-success", name, value); |
1652 |
30 |
opts.base.printSuccess = value; |
1653 |
30 |
opts.base.printSuccessWasSetByUser = true; |
1654 |
5872 |
} else if (name == "produce-abducts") { |
1655 |
21 |
opts.smt.produceAbducts = handlers::handleOption<bool>("produce-abducts", name, optionarg); |
1656 |
21 |
opts.smt.produceAbductsWasSetByUser = true; |
1657 |
5851 |
} else if (name == "produce-assertions") { |
1658 |
26 |
auto value = handlers::handleOption<bool>("produce-assertions", name, optionarg); |
1659 |
26 |
opts.handler().setProduceAssertions("produce-assertions", name, value); |
1660 |
26 |
opts.smt.produceAssertions = value; |
1661 |
26 |
opts.smt.produceAssertionsWasSetByUser = true; |
1662 |
5825 |
} else if (name == "produce-assignments") { |
1663 |
4 |
opts.smt.produceAssignments = handlers::handleOption<bool>("produce-assignments", name, optionarg); |
1664 |
4 |
opts.smt.produceAssignmentsWasSetByUser = true; |
1665 |
5821 |
} else if (name == "produce-interpols") { |
1666 |
11 |
opts.smt.produceInterpols = stringToProduceInterpols(optionarg); |
1667 |
11 |
opts.smt.produceInterpolsWasSetByUser = true; |
1668 |
5810 |
} else if (name == "produce-models") { |
1669 |
817 |
opts.smt.produceModels = handlers::handleOption<bool>("produce-models", name, optionarg); |
1670 |
817 |
opts.smt.produceModelsWasSetByUser = true; |
1671 |
4993 |
} else if (name == "produce-proofs") { |
1672 |
33 |
opts.smt.produceProofs = handlers::handleOption<bool>("produce-proofs", name, optionarg); |
1673 |
33 |
opts.smt.produceProofsWasSetByUser = true; |
1674 |
4960 |
} else if (name == "produce-unsat-assumptions") { |
1675 |
15 |
opts.smt.unsatAssumptions = handlers::handleOption<bool>("produce-unsat-assumptions", name, optionarg); |
1676 |
15 |
opts.smt.unsatAssumptionsWasSetByUser = true; |
1677 |
4945 |
} else if (name == "produce-unsat-cores") { |
1678 |
21 |
opts.smt.unsatCores = handlers::handleOption<bool>("produce-unsat-cores", name, optionarg); |
1679 |
21 |
opts.smt.unsatCoresWasSetByUser = true; |
1680 |
4924 |
} else if (name == "proof-check") { |
1681 |
2 |
opts.proof.proofCheck = stringToProofCheckMode(optionarg); |
1682 |
2 |
opts.proof.proofCheckWasSetByUser = true; |
1683 |
4922 |
} else if (name == "proof-format-mode") { |
1684 |
|
opts.proof.proofFormatMode = stringToProofFormatMode(optionarg); |
1685 |
|
opts.proof.proofFormatModeWasSetByUser = true; |
1686 |
4922 |
} else if (name == "proof-granularity") { |
1687 |
|
opts.proof.proofGranularityMode = stringToProofGranularityMode(optionarg); |
1688 |
|
opts.proof.proofGranularityModeWasSetByUser = true; |
1689 |
4922 |
} else if (name == "proof-pedantic") { |
1690 |
|
opts.proof.proofPedantic = handlers::handleOption<uint64_t>("proof-pedantic", name, optionarg); |
1691 |
|
opts.proof.proofPedanticWasSetByUser = true; |
1692 |
4922 |
} else if (name == "proof-pp-merge") { |
1693 |
|
opts.proof.proofPpMerge = handlers::handleOption<bool>("proof-pp-merge", name, optionarg); |
1694 |
|
opts.proof.proofPpMergeWasSetByUser = true; |
1695 |
4922 |
} else if (name == "proof-print-conclusion") { |
1696 |
|
opts.proof.proofPrintConclusion = handlers::handleOption<bool>("proof-print-conclusion", name, optionarg); |
1697 |
|
opts.proof.proofPrintConclusionWasSetByUser = true; |
1698 |
4922 |
} else if (name == "prop-row-length") { |
1699 |
|
opts.arith.arithPropagateMaxLength = handlers::handleOption<uint64_t>("prop-row-length", name, optionarg); |
1700 |
|
opts.arith.arithPropagateMaxLengthWasSetByUser = true; |
1701 |
4922 |
} else if (name == "purify-triggers") { |
1702 |
3 |
opts.quantifiers.purifyTriggers = handlers::handleOption<bool>("purify-triggers", name, optionarg); |
1703 |
3 |
opts.quantifiers.purifyTriggersWasSetByUser = true; |
1704 |
4919 |
} else if (name == "qcf-all-conflict") { |
1705 |
|
opts.quantifiers.qcfAllConflict = handlers::handleOption<bool>("qcf-all-conflict", name, optionarg); |
1706 |
|
opts.quantifiers.qcfAllConflictWasSetByUser = true; |
1707 |
4919 |
} else if (name == "qcf-eager-check-rd") { |
1708 |
|
opts.quantifiers.qcfEagerCheckRd = handlers::handleOption<bool>("qcf-eager-check-rd", name, optionarg); |
1709 |
|
opts.quantifiers.qcfEagerCheckRdWasSetByUser = true; |
1710 |
4919 |
} else if (name == "qcf-eager-test") { |
1711 |
|
opts.quantifiers.qcfEagerTest = handlers::handleOption<bool>("qcf-eager-test", name, optionarg); |
1712 |
|
opts.quantifiers.qcfEagerTestWasSetByUser = true; |
1713 |
4919 |
} else if (name == "qcf-nested-conflict") { |
1714 |
|
opts.quantifiers.qcfNestedConflict = handlers::handleOption<bool>("qcf-nested-conflict", name, optionarg); |
1715 |
|
opts.quantifiers.qcfNestedConflictWasSetByUser = true; |
1716 |
4919 |
} else if (name == "qcf-skip-rd") { |
1717 |
|
opts.quantifiers.qcfSkipRd = handlers::handleOption<bool>("qcf-skip-rd", name, optionarg); |
1718 |
|
opts.quantifiers.qcfSkipRdWasSetByUser = true; |
1719 |
4919 |
} else if (name == "qcf-tconstraint") { |
1720 |
6 |
opts.quantifiers.qcfTConstraint = handlers::handleOption<bool>("qcf-tconstraint", name, optionarg); |
1721 |
6 |
opts.quantifiers.qcfTConstraintWasSetByUser = true; |
1722 |
4913 |
} else if (name == "qcf-vo-exp") { |
1723 |
|
opts.quantifiers.qcfVoExp = handlers::handleOption<bool>("qcf-vo-exp", name, optionarg); |
1724 |
|
opts.quantifiers.qcfVoExpWasSetByUser = true; |
1725 |
4913 |
} else if (name == "quant-alpha-equiv") { |
1726 |
|
opts.quantifiers.quantAlphaEquiv = handlers::handleOption<bool>("quant-alpha-equiv", name, optionarg); |
1727 |
|
opts.quantifiers.quantAlphaEquivWasSetByUser = true; |
1728 |
4913 |
} else if (name == "quant-cf") { |
1729 |
|
opts.quantifiers.quantConflictFind = handlers::handleOption<bool>("quant-cf", name, optionarg); |
1730 |
|
opts.quantifiers.quantConflictFindWasSetByUser = true; |
1731 |
4913 |
} else if (name == "quant-cf-mode") { |
1732 |
|
opts.quantifiers.qcfMode = stringToQcfMode(optionarg); |
1733 |
|
opts.quantifiers.qcfModeWasSetByUser = true; |
1734 |
4913 |
} else if (name == "quant-cf-when") { |
1735 |
|
opts.quantifiers.qcfWhenMode = stringToQcfWhenMode(optionarg); |
1736 |
|
opts.quantifiers.qcfWhenModeWasSetByUser = true; |
1737 |
4913 |
} else if (name == "quant-dsplit-mode") { |
1738 |
|
opts.quantifiers.quantDynamicSplit = stringToQuantDSplitMode(optionarg); |
1739 |
|
opts.quantifiers.quantDynamicSplitWasSetByUser = true; |
1740 |
4913 |
} else if (name == "quant-fun-wd") { |
1741 |
|
opts.quantifiers.quantFunWellDefined = handlers::handleOption<bool>("quant-fun-wd", name, optionarg); |
1742 |
|
opts.quantifiers.quantFunWellDefinedWasSetByUser = true; |
1743 |
4913 |
} else if (name == "quant-ind") { |
1744 |
8 |
opts.quantifiers.quantInduction = handlers::handleOption<bool>("quant-ind", name, optionarg); |
1745 |
8 |
opts.quantifiers.quantInductionWasSetByUser = true; |
1746 |
4905 |
} else if (name == "quant-rep-mode") { |
1747 |
|
opts.quantifiers.quantRepMode = stringToQuantRepMode(optionarg); |
1748 |
|
opts.quantifiers.quantRepModeWasSetByUser = true; |
1749 |
4905 |
} else if (name == "quant-split") { |
1750 |
150 |
opts.quantifiers.quantSplit = handlers::handleOption<bool>("quant-split", name, optionarg); |
1751 |
150 |
opts.quantifiers.quantSplitWasSetByUser = true; |
1752 |
4755 |
} else if (name == "quiet") { |
1753 |
194 |
opts.handler().decreaseVerbosity("quiet", name); |
1754 |
4561 |
} else if (name == "random-frequency" || name == "random-freq") { |
1755 |
|
auto value = handlers::handleOption<double>("random-freq", name, optionarg); |
1756 |
|
opts.handler().checkMinimum("random-freq", name, value, static_cast<double>(0.0)); |
1757 |
|
opts.handler().checkMaximum("random-freq", name, value, static_cast<double>(1.0)); |
1758 |
|
opts.prop.satRandomFreq = value; |
1759 |
|
opts.prop.satRandomFreqWasSetByUser = true; |
1760 |
4561 |
} else if (name == "random-seed") { |
1761 |
2 |
opts.prop.satRandomSeed = handlers::handleOption<uint64_t>("random-seed", name, optionarg); |
1762 |
2 |
opts.prop.satRandomSeedWasSetByUser = true; |
1763 |
4559 |
} else if (name == "re-elim") { |
1764 |
51 |
opts.strings.regExpElim = handlers::handleOption<bool>("re-elim", name, optionarg); |
1765 |
51 |
opts.strings.regExpElimWasSetByUser = true; |
1766 |
4508 |
} else if (name == "re-elim-agg") { |
1767 |
20 |
opts.strings.regExpElimAgg = handlers::handleOption<bool>("re-elim-agg", name, optionarg); |
1768 |
20 |
opts.strings.regExpElimAggWasSetByUser = true; |
1769 |
4488 |
} else if (name == "re-inter-mode") { |
1770 |
|
opts.strings.stringRegExpInterMode = stringToRegExpInterMode(optionarg); |
1771 |
|
opts.strings.stringRegExpInterModeWasSetByUser = true; |
1772 |
4488 |
} else if (name == "refine-conflicts") { |
1773 |
|
opts.prop.sat_refine_conflicts = handlers::handleOption<bool>("refine-conflicts", name, optionarg); |
1774 |
|
opts.prop.sat_refine_conflictsWasSetByUser = true; |
1775 |
4488 |
} else if (name == "register-quant-body-terms") { |
1776 |
|
opts.quantifiers.registerQuantBodyTerms = handlers::handleOption<bool>("register-quant-body-terms", name, optionarg); |
1777 |
|
opts.quantifiers.registerQuantBodyTermsWasSetByUser = true; |
1778 |
4488 |
} else if (name == "relational-triggers") { |
1779 |
15 |
opts.quantifiers.relationalTriggers = handlers::handleOption<bool>("relational-triggers", name, optionarg); |
1780 |
15 |
opts.quantifiers.relationalTriggersWasSetByUser = true; |
1781 |
4473 |
} else if (name == "relevance-filter") { |
1782 |
|
opts.theory.relevanceFilter = handlers::handleOption<bool>("relevance-filter", name, optionarg); |
1783 |
|
opts.theory.relevanceFilterWasSetByUser = true; |
1784 |
4473 |
} else if (name == "relevant-triggers") { |
1785 |
3 |
opts.quantifiers.relevantTriggers = handlers::handleOption<bool>("relevant-triggers", name, optionarg); |
1786 |
3 |
opts.quantifiers.relevantTriggersWasSetByUser = true; |
1787 |
4470 |
} else if (name == "repeat-simp") { |
1788 |
4 |
opts.smt.repeatSimp = handlers::handleOption<bool>("repeat-simp", name, optionarg); |
1789 |
4 |
opts.smt.repeatSimpWasSetByUser = true; |
1790 |
4466 |
} else if (name == "replay-early-close-depth") { |
1791 |
|
opts.arith.replayEarlyCloseDepths = handlers::handleOption<int64_t>("replay-early-close-depth", name, optionarg); |
1792 |
|
opts.arith.replayEarlyCloseDepthsWasSetByUser = true; |
1793 |
4466 |
} else if (name == "replay-failure-penalty") { |
1794 |
|
opts.arith.replayFailurePenalty = handlers::handleOption<int64_t>("replay-failure-penalty", name, optionarg); |
1795 |
|
opts.arith.replayFailurePenaltyWasSetByUser = true; |
1796 |
4466 |
} else if (name == "replay-lemma-reject-cut") { |
1797 |
|
opts.arith.lemmaRejectCutSize = handlers::handleOption<uint64_t>("replay-lemma-reject-cut", name, optionarg); |
1798 |
|
opts.arith.lemmaRejectCutSizeWasSetByUser = true; |
1799 |
4466 |
} else if (name == "replay-num-err-penalty") { |
1800 |
|
opts.arith.replayNumericFailurePenalty = handlers::handleOption<int64_t>("replay-num-err-penalty", name, optionarg); |
1801 |
|
opts.arith.replayNumericFailurePenaltyWasSetByUser = true; |
1802 |
4466 |
} else if (name == "replay-reject-cut") { |
1803 |
|
opts.arith.replayRejectCutSize = handlers::handleOption<uint64_t>("replay-reject-cut", name, optionarg); |
1804 |
|
opts.arith.replayRejectCutSizeWasSetByUser = true; |
1805 |
4466 |
} else if (name == "replay-soi-major-threshold") { |
1806 |
|
opts.arith.soiApproxMajorFailure = handlers::handleOption<double>("replay-soi-major-threshold", name, optionarg); |
1807 |
|
opts.arith.soiApproxMajorFailureWasSetByUser = true; |
1808 |
4466 |
} else if (name == "replay-soi-major-threshold-pen") { |
1809 |
|
opts.arith.soiApproxMajorFailurePen = handlers::handleOption<int64_t>("replay-soi-major-threshold-pen", name, optionarg); |
1810 |
|
opts.arith.soiApproxMajorFailurePenWasSetByUser = true; |
1811 |
4466 |
} else if (name == "replay-soi-minor-threshold") { |
1812 |
|
opts.arith.soiApproxMinorFailure = handlers::handleOption<double>("replay-soi-minor-threshold", name, optionarg); |
1813 |
|
opts.arith.soiApproxMinorFailureWasSetByUser = true; |
1814 |
4466 |
} else if (name == "replay-soi-minor-threshold-pen") { |
1815 |
|
opts.arith.soiApproxMinorFailurePen = handlers::handleOption<int64_t>("replay-soi-minor-threshold-pen", name, optionarg); |
1816 |
|
opts.arith.soiApproxMinorFailurePenWasSetByUser = true; |
1817 |
4466 |
} else if (name == "restart-int-base") { |
1818 |
|
opts.prop.satRestartFirst = handlers::handleOption<uint64_t>("restart-int-base", name, optionarg); |
1819 |
|
opts.prop.satRestartFirstWasSetByUser = true; |
1820 |
4466 |
} else if (name == "restart-int-inc") { |
1821 |
|
auto value = handlers::handleOption<double>("restart-int-inc", name, optionarg); |
1822 |
|
opts.handler().checkMinimum("restart-int-inc", name, value, static_cast<double>(0.0)); |
1823 |
|
opts.prop.satRestartInc = value; |
1824 |
|
opts.prop.satRestartIncWasSetByUser = true; |
1825 |
4466 |
} else if (name == "restrict-pivots") { |
1826 |
|
opts.arith.restrictedPivots = handlers::handleOption<bool>("restrict-pivots", name, optionarg); |
1827 |
|
opts.arith.restrictedPivotsWasSetByUser = true; |
1828 |
4466 |
} else if (name == "revert-arith-models-on-unsat") { |
1829 |
|
opts.arith.revertArithModels = handlers::handleOption<bool>("revert-arith-models-on-unsat", name, optionarg); |
1830 |
|
opts.arith.revertArithModelsWasSetByUser = true; |
1831 |
4466 |
} else if (name == "rlimit") { |
1832 |
|
opts.base.cumulativeResourceLimit = handlers::handleOption<uint64_t>("rlimit", name, optionarg); |
1833 |
|
opts.base.cumulativeResourceLimitWasSetByUser = true; |
1834 |
4466 |
} else if (name == "reproducible-resource-limit" || name == "rlimit-per") { |
1835 |
|
opts.base.perCallResourceLimit = handlers::handleOption<uint64_t>("rlimit-per", name, optionarg); |
1836 |
|
opts.base.perCallResourceLimitWasSetByUser = true; |
1837 |
4466 |
} else if (name == "rr-turns") { |
1838 |
|
opts.arith.rrTurns = handlers::handleOption<int64_t>("rr-turns", name, optionarg); |
1839 |
|
opts.arith.rrTurnsWasSetByUser = true; |
1840 |
4466 |
} else if (name == "rweight") { |
1841 |
|
opts.handler().setResourceWeight("rweight", name, optionarg); |
1842 |
4466 |
} else if (name == "se-solve-int") { |
1843 |
|
opts.arith.trySolveIntStandardEffort = handlers::handleOption<bool>("se-solve-int", name, optionarg); |
1844 |
|
opts.arith.trySolveIntStandardEffortWasSetByUser = true; |
1845 |
4466 |
} else if (name == "seed") { |
1846 |
|
opts.driver.seed = handlers::handleOption<uint64_t>("seed", name, optionarg); |
1847 |
|
opts.driver.seedWasSetByUser = true; |
1848 |
4466 |
} else if (name == "segv-spin") { |
1849 |
|
opts.driver.segvSpin = handlers::handleOption<bool>("segv-spin", name, optionarg); |
1850 |
|
opts.driver.segvSpinWasSetByUser = true; |
1851 |
4466 |
} else if (name == "semantic-checks") { |
1852 |
|
opts.parser.semanticChecks = handlers::handleOption<bool>("semantic-checks", name, optionarg); |
1853 |
|
opts.parser.semanticChecksWasSetByUser = true; |
1854 |
4466 |
} else if (name == "sep-check-neg") { |
1855 |
|
opts.sep.sepCheckNeg = handlers::handleOption<bool>("sep-check-neg", name, optionarg); |
1856 |
|
opts.sep.sepCheckNegWasSetByUser = true; |
1857 |
4466 |
} else if (name == "sep-child-refine") { |
1858 |
|
opts.sep.sepChildRefine = handlers::handleOption<bool>("sep-child-refine", name, optionarg); |
1859 |
|
opts.sep.sepChildRefineWasSetByUser = true; |
1860 |
4466 |
} else if (name == "sep-deq-c") { |
1861 |
|
opts.sep.sepDisequalC = handlers::handleOption<bool>("sep-deq-c", name, optionarg); |
1862 |
|
opts.sep.sepDisequalCWasSetByUser = true; |
1863 |
4466 |
} else if (name == "sep-exp") { |
1864 |
|
opts.sep.sepExp = handlers::handleOption<bool>("sep-exp", name, optionarg); |
1865 |
|
opts.sep.sepExpWasSetByUser = true; |
1866 |
4466 |
} else if (name == "sep-min-refine") { |
1867 |
|
opts.sep.sepMinimalRefine = handlers::handleOption<bool>("sep-min-refine", name, optionarg); |
1868 |
|
opts.sep.sepMinimalRefineWasSetByUser = true; |
1869 |
4466 |
} else if (name == "sep-pre-skolem-emp") { |
1870 |
1 |
opts.sep.sepPreSkolemEmp = handlers::handleOption<bool>("sep-pre-skolem-emp", name, optionarg); |
1871 |
1 |
opts.sep.sepPreSkolemEmpWasSetByUser = true; |
1872 |
4465 |
} else if (name == "sets-ext") { |
1873 |
116 |
opts.sets.setsExt = handlers::handleOption<bool>("sets-ext", name, optionarg); |
1874 |
116 |
opts.sets.setsExtWasSetByUser = true; |
1875 |
4349 |
} else if (name == "sets-infer-as-lemmas") { |
1876 |
2 |
opts.sets.setsInferAsLemmas = handlers::handleOption<bool>("sets-infer-as-lemmas", name, optionarg); |
1877 |
2 |
opts.sets.setsInferAsLemmasWasSetByUser = true; |
1878 |
4347 |
} else if (name == "sets-proxy-lemmas") { |
1879 |
|
opts.sets.setsProxyLemmas = handlers::handleOption<bool>("sets-proxy-lemmas", name, optionarg); |
1880 |
|
opts.sets.setsProxyLemmasWasSetByUser = true; |
1881 |
4347 |
} else if (name == "show-config") { |
1882 |
2620 |
opts.handler().showConfiguration("show-config", name); |
1883 |
1727 |
} else if (name == "show-debug-tags") { |
1884 |
|
opts.handler().showDebugTags("show-debug-tags", name); |
1885 |
1727 |
} else if (name == "show-trace-tags") { |
1886 |
|
opts.handler().showTraceTags("show-trace-tags", name); |
1887 |
1727 |
} else if (name == "simp-ite-compress") { |
1888 |
2 |
opts.smt.compressItes = handlers::handleOption<bool>("simp-ite-compress", name, optionarg); |
1889 |
2 |
opts.smt.compressItesWasSetByUser = true; |
1890 |
1725 |
} else if (name == "simp-ite-hunt-zombies") { |
1891 |
|
opts.smt.zombieHuntThreshold = handlers::handleOption<uint64_t>("simp-ite-hunt-zombies", name, optionarg); |
1892 |
|
opts.smt.zombieHuntThresholdWasSetByUser = true; |
1893 |
1725 |
} else if (name == "simp-with-care") { |
1894 |
|
opts.smt.simplifyWithCareEnabled = handlers::handleOption<bool>("simp-with-care", name, optionarg); |
1895 |
|
opts.smt.simplifyWithCareEnabledWasSetByUser = true; |
1896 |
1725 |
} else if (name == "simplex-check-period") { |
1897 |
|
opts.arith.arithSimplexCheckPeriod = handlers::handleOption<uint64_t>("simplex-check-period", name, optionarg); |
1898 |
|
opts.arith.arithSimplexCheckPeriodWasSetByUser = true; |
1899 |
1725 |
} else if (name == "simplification-mode" || name == "simplification") { |
1900 |
32 |
opts.smt.simplificationMode = stringToSimplificationMode(optionarg); |
1901 |
32 |
opts.smt.simplificationModeWasSetByUser = true; |
1902 |
1693 |
} else if (name == "soi-qe") { |
1903 |
|
opts.arith.soiQuickExplain = handlers::handleOption<bool>("soi-qe", name, optionarg); |
1904 |
|
opts.arith.soiQuickExplainWasSetByUser = true; |
1905 |
1693 |
} else if (name == "solve-bv-as-int") { |
1906 |
148 |
opts.smt.solveBVAsInt = stringToSolveBVAsIntMode(optionarg); |
1907 |
148 |
opts.smt.solveBVAsIntWasSetByUser = true; |
1908 |
1545 |
} else if (name == "solve-int-as-bv") { |
1909 |
17 |
opts.smt.solveIntAsBV = handlers::handleOption<uint64_t>("solve-int-as-bv", name, optionarg); |
1910 |
17 |
opts.smt.solveIntAsBVWasSetByUser = true; |
1911 |
1528 |
} else if (name == "solve-real-as-int") { |
1912 |
9 |
opts.smt.solveRealAsInt = handlers::handleOption<bool>("solve-real-as-int", name, optionarg); |
1913 |
9 |
opts.smt.solveRealAsIntWasSetByUser = true; |
1914 |
1519 |
} else if (name == "sort-inference") { |
1915 |
26 |
opts.smt.sortInference = handlers::handleOption<bool>("sort-inference", name, optionarg); |
1916 |
26 |
opts.smt.sortInferenceWasSetByUser = true; |
1917 |
1493 |
} else if (name == "standard-effort-variable-order-pivots") { |
1918 |
|
opts.arith.arithStandardCheckVarOrderPivots = handlers::handleOption<int64_t>("standard-effort-variable-order-pivots", name, optionarg); |
1919 |
|
opts.arith.arithStandardCheckVarOrderPivotsWasSetByUser = true; |
1920 |
1493 |
} else if (name == "static-learning") { |
1921 |
|
opts.smt.doStaticLearning = handlers::handleOption<bool>("static-learning", name, optionarg); |
1922 |
|
opts.smt.doStaticLearningWasSetByUser = true; |
1923 |
1493 |
} else if (name == "stats") { |
1924 |
2 |
auto value = handlers::handleOption<bool>("stats", name, optionarg); |
1925 |
2 |
opts.handler().setStats("stats", name, value); |
1926 |
2 |
opts.base.statistics = value; |
1927 |
2 |
opts.base.statisticsWasSetByUser = true; |
1928 |
1491 |
} else if (name == "stats-all") { |
1929 |
1 |
auto value = handlers::handleOption<bool>("stats-all", name, optionarg); |
1930 |
1 |
opts.handler().setStats("stats-all", name, value); |
1931 |
1 |
opts.base.statisticsAll = value; |
1932 |
1 |
opts.base.statisticsAllWasSetByUser = true; |
1933 |
1490 |
} else if (name == "stats-every-query") { |
1934 |
|
auto value = handlers::handleOption<bool>("stats-every-query", name, optionarg); |
1935 |
|
opts.handler().setStats("stats-every-query", name, value); |
1936 |
|
opts.base.statisticsEveryQuery = value; |
1937 |
|
opts.base.statisticsEveryQueryWasSetByUser = true; |
1938 |
1490 |
} else if (name == "stats-expert") { |
1939 |
1 |
auto value = handlers::handleOption<bool>("stats-expert", name, optionarg); |
1940 |
1 |
opts.handler().setStats("stats-expert", name, value); |
1941 |
1 |
opts.base.statisticsExpert = value; |
1942 |
1 |
opts.base.statisticsExpertWasSetByUser = true; |
1943 |
1489 |
} else if (name == "strict-parsing") { |
1944 |
9 |
opts.parser.strictParsing = handlers::handleOption<bool>("strict-parsing", name, optionarg); |
1945 |
9 |
opts.parser.strictParsingWasSetByUser = true; |
1946 |
1480 |
} else if (name == "strings-check-entail-len") { |
1947 |
|
opts.strings.stringCheckEntailLen = handlers::handleOption<bool>("strings-check-entail-len", name, optionarg); |
1948 |
|
opts.strings.stringCheckEntailLenWasSetByUser = true; |
1949 |
1480 |
} else if (name == "strings-eager") { |
1950 |
2 |
opts.strings.stringEager = handlers::handleOption<bool>("strings-eager", name, optionarg); |
1951 |
2 |
opts.strings.stringEagerWasSetByUser = true; |
1952 |
1478 |
} else if (name == "strings-eager-eval") { |
1953 |
|
opts.strings.stringEagerEval = handlers::handleOption<bool>("strings-eager-eval", name, optionarg); |
1954 |
|
opts.strings.stringEagerEvalWasSetByUser = true; |
1955 |
1478 |
} else if (name == "strings-eager-len") { |
1956 |
|
opts.strings.stringEagerLen = handlers::handleOption<bool>("strings-eager-len", name, optionarg); |
1957 |
|
opts.strings.stringEagerLenWasSetByUser = true; |
1958 |
1478 |
} else if (name == "strings-exp") { |
1959 |
556 |
opts.strings.stringExp = handlers::handleOption<bool>("strings-exp", name, optionarg); |
1960 |
556 |
opts.strings.stringExpWasSetByUser = true; |
1961 |
922 |
} else if (name == "strings-ff") { |
1962 |
|
opts.strings.stringFlatForms = handlers::handleOption<bool>("strings-ff", name, optionarg); |
1963 |
|
opts.strings.stringFlatFormsWasSetByUser = true; |
1964 |
922 |
} else if (name == "strings-fmf") { |
1965 |
51 |
opts.strings.stringFMF = handlers::handleOption<bool>("strings-fmf", name, optionarg); |
1966 |
51 |
opts.strings.stringFMFWasSetByUser = true; |
1967 |
871 |
} else if (name == "strings-guess-model") { |
1968 |
|
opts.strings.stringGuessModel = handlers::handleOption<bool>("strings-guess-model", name, optionarg); |
1969 |
|
opts.strings.stringGuessModelWasSetByUser = true; |
1970 |
871 |
} else if (name == "strings-infer-as-lemmas") { |
1971 |
|
opts.strings.stringInferAsLemmas = handlers::handleOption<bool>("strings-infer-as-lemmas", name, optionarg); |
1972 |
|
opts.strings.stringInferAsLemmasWasSetByUser = true; |
1973 |
871 |
} else if (name == "strings-infer-sym") { |
1974 |
|
opts.strings.stringInferSym = handlers::handleOption<bool>("strings-infer-sym", name, optionarg); |
1975 |
|
opts.strings.stringInferSymWasSetByUser = true; |
1976 |
871 |
} else if (name == "strings-lazy-pp") { |
1977 |
32 |
opts.strings.stringLazyPreproc = handlers::handleOption<bool>("strings-lazy-pp", name, optionarg); |
1978 |
32 |
opts.strings.stringLazyPreprocWasSetByUser = true; |
1979 |
839 |
} else if (name == "strings-len-norm") { |
1980 |
|
opts.strings.stringLenNorm = handlers::handleOption<bool>("strings-len-norm", name, optionarg); |
1981 |
|
opts.strings.stringLenNormWasSetByUser = true; |
1982 |
839 |
} else if (name == "strings-lprop-csp") { |
1983 |
|
opts.strings.stringLenPropCsp = handlers::handleOption<bool>("strings-lprop-csp", name, optionarg); |
1984 |
|
opts.strings.stringLenPropCspWasSetByUser = true; |
1985 |
839 |
} else if (name == "strings-min-prefix-explain") { |
1986 |
|
opts.strings.stringMinPrefixExplain = handlers::handleOption<bool>("strings-min-prefix-explain", name, optionarg); |
1987 |
|
opts.strings.stringMinPrefixExplainWasSetByUser = true; |
1988 |
839 |
} else if (name == "strings-process-loop-mode") { |
1989 |
|
opts.strings.stringProcessLoopMode = stringToProcessLoopMode(optionarg); |
1990 |
|
opts.strings.stringProcessLoopModeWasSetByUser = true; |
1991 |
839 |
} else if (name == "strings-rexplain-lemmas") { |
1992 |
|
opts.strings.stringRExplainLemmas = handlers::handleOption<bool>("strings-rexplain-lemmas", name, optionarg); |
1993 |
|
opts.strings.stringRExplainLemmasWasSetByUser = true; |
1994 |
839 |
} else if (name == "strings-unified-vspt") { |
1995 |
|
opts.strings.stringUnifiedVSpt = handlers::handleOption<bool>("strings-unified-vspt", name, optionarg); |
1996 |
|
opts.strings.stringUnifiedVSptWasSetByUser = true; |
1997 |
839 |
} else if (name == "sygus") { |
1998 |
|
opts.quantifiers.sygus = handlers::handleOption<bool>("sygus", name, optionarg); |
1999 |
|
opts.quantifiers.sygusWasSetByUser = true; |
2000 |
839 |
} else if (name == "sygus-abort-size") { |
2001 |
11 |
opts.datatypes.sygusAbortSize = handlers::handleOption<int64_t>("sygus-abort-size", name, optionarg); |
2002 |
11 |
opts.datatypes.sygusAbortSizeWasSetByUser = true; |
2003 |
828 |
} else if (name == "sygus-active-gen") { |
2004 |
14 |
opts.quantifiers.sygusActiveGenMode = stringToSygusActiveGenMode(optionarg); |
2005 |
14 |
opts.quantifiers.sygusActiveGenModeWasSetByUser = true; |
2006 |
814 |
} else if (name == "sygus-active-gen-cfactor") { |
2007 |
|
opts.quantifiers.sygusActiveGenEnumConsts = handlers::handleOption<uint64_t>("sygus-active-gen-cfactor", name, optionarg); |
2008 |
|
opts.quantifiers.sygusActiveGenEnumConstsWasSetByUser = true; |
2009 |
814 |
} else if (name == "sygus-add-const-grammar") { |
2010 |
2 |
opts.quantifiers.sygusAddConstGrammar = handlers::handleOption<bool>("sygus-add-const-grammar", name, optionarg); |
2011 |
2 |
opts.quantifiers.sygusAddConstGrammarWasSetByUser = true; |
2012 |
812 |
} else if (name == "sygus-arg-relevant") { |
2013 |
3 |
opts.quantifiers.sygusArgRelevant = handlers::handleOption<bool>("sygus-arg-relevant", name, optionarg); |
2014 |
3 |
opts.quantifiers.sygusArgRelevantWasSetByUser = true; |
2015 |
809 |
} else if (name == "sygus-auto-unfold") { |
2016 |
|
opts.quantifiers.sygusInvAutoUnfold = handlers::handleOption<bool>("sygus-auto-unfold", name, optionarg); |
2017 |
|
opts.quantifiers.sygusInvAutoUnfoldWasSetByUser = true; |
2018 |
809 |
} else if (name == "sygus-bool-ite-return-const") { |
2019 |
1 |
opts.quantifiers.sygusBoolIteReturnConst = handlers::handleOption<bool>("sygus-bool-ite-return-const", name, optionarg); |
2020 |
1 |
opts.quantifiers.sygusBoolIteReturnConstWasSetByUser = true; |
2021 |
808 |
} else if (name == "sygus-core-connective") { |
2022 |
5 |
opts.quantifiers.sygusCoreConnective = handlers::handleOption<bool>("sygus-core-connective", name, optionarg); |
2023 |
5 |
opts.quantifiers.sygusCoreConnectiveWasSetByUser = true; |
2024 |
803 |
} else if (name == "sygus-crepair-abort") { |
2025 |
|
opts.quantifiers.sygusConstRepairAbort = handlers::handleOption<bool>("sygus-crepair-abort", name, optionarg); |
2026 |
|
opts.quantifiers.sygusConstRepairAbortWasSetByUser = true; |
2027 |
803 |
} else if (name == "sygus-eval-opt") { |
2028 |
|
opts.quantifiers.sygusEvalOpt = handlers::handleOption<bool>("sygus-eval-opt", name, optionarg); |
2029 |
|
opts.quantifiers.sygusEvalOptWasSetByUser = true; |
2030 |
803 |
} else if (name == "sygus-eval-unfold") { |
2031 |
|
opts.quantifiers.sygusEvalUnfold = handlers::handleOption<bool>("sygus-eval-unfold", name, optionarg); |
2032 |
|
opts.quantifiers.sygusEvalUnfoldWasSetByUser = true; |
2033 |
803 |
} else if (name == "sygus-eval-unfold-bool") { |
2034 |
|
opts.quantifiers.sygusEvalUnfoldBool = handlers::handleOption<bool>("sygus-eval-unfold-bool", name, optionarg); |
2035 |
|
opts.quantifiers.sygusEvalUnfoldBoolWasSetByUser = true; |
2036 |
803 |
} else if (name == "sygus-expr-miner-check-timeout") { |
2037 |
|
opts.quantifiers.sygusExprMinerCheckTimeout = handlers::handleOption<uint64_t>("sygus-expr-miner-check-timeout", name, optionarg); |
2038 |
|
opts.quantifiers.sygusExprMinerCheckTimeoutWasSetByUser = true; |
2039 |
803 |
} else if (name == "sygus-ext-rew") { |
2040 |
2 |
opts.quantifiers.sygusExtRew = handlers::handleOption<bool>("sygus-ext-rew", name, optionarg); |
2041 |
2 |
opts.quantifiers.sygusExtRewWasSetByUser = true; |
2042 |
801 |
} else if (name == "sygus-fair") { |
2043 |
2 |
opts.datatypes.sygusFair = stringToSygusFairMode(optionarg); |
2044 |
2 |
opts.datatypes.sygusFairWasSetByUser = true; |
2045 |
799 |
} else if (name == "sygus-fair-max") { |
2046 |
|
opts.datatypes.sygusFairMax = handlers::handleOption<bool>("sygus-fair-max", name, optionarg); |
2047 |
|
opts.datatypes.sygusFairMaxWasSetByUser = true; |
2048 |
799 |
} else if (name == "sygus-filter-sol") { |
2049 |
|
opts.quantifiers.sygusFilterSolMode = stringToSygusFilterSolMode(optionarg); |
2050 |
|
opts.quantifiers.sygusFilterSolModeWasSetByUser = true; |
2051 |
799 |
} else if (name == "sygus-filter-sol-rev") { |
2052 |
|
opts.quantifiers.sygusFilterSolRevSubsume = handlers::handleOption<bool>("sygus-filter-sol-rev", name, optionarg); |
2053 |
|
opts.quantifiers.sygusFilterSolRevSubsumeWasSetByUser = true; |
2054 |
799 |
} else if (name == "sygus-grammar-cons") { |
2055 |
6 |
opts.quantifiers.sygusGrammarConsMode = stringToSygusGrammarConsMode(optionarg); |
2056 |
6 |
opts.quantifiers.sygusGrammarConsModeWasSetByUser = true; |
2057 |
793 |
} else if (name == "sygus-grammar-norm") { |
2058 |
|
opts.quantifiers.sygusGrammarNorm = handlers::handleOption<bool>("sygus-grammar-norm", name, optionarg); |
2059 |
|
opts.quantifiers.sygusGrammarNormWasSetByUser = true; |
2060 |
793 |
} else if (name == "sygus-inference") { |
2061 |
59 |
opts.quantifiers.sygusInference = handlers::handleOption<bool>("sygus-inference", name, optionarg); |
2062 |
59 |
opts.quantifiers.sygusInferenceWasSetByUser = true; |
2063 |
734 |
} else if (name == "sygus-inst") { |
2064 |
26 |
opts.quantifiers.sygusInst = handlers::handleOption<bool>("sygus-inst", name, optionarg); |
2065 |
26 |
opts.quantifiers.sygusInstWasSetByUser = true; |
2066 |
708 |
} else if (name == "sygus-inst-mode") { |
2067 |
|
opts.quantifiers.sygusInstMode = stringToSygusInstMode(optionarg); |
2068 |
|
opts.quantifiers.sygusInstModeWasSetByUser = true; |
2069 |
708 |
} else if (name == "sygus-inst-scope") { |
2070 |
|
opts.quantifiers.sygusInstScope = stringToSygusInstScope(optionarg); |
2071 |
|
opts.quantifiers.sygusInstScopeWasSetByUser = true; |
2072 |
708 |
} else if (name == "sygus-inst-term-sel") { |
2073 |
|
opts.quantifiers.sygusInstTermSel = stringToSygusInstTermSelMode(optionarg); |
2074 |
|
opts.quantifiers.sygusInstTermSelWasSetByUser = true; |
2075 |
708 |
} else if (name == "sygus-inv-templ") { |
2076 |
3 |
opts.quantifiers.sygusInvTemplMode = stringToSygusInvTemplMode(optionarg); |
2077 |
3 |
opts.quantifiers.sygusInvTemplModeWasSetByUser = true; |
2078 |
705 |
} else if (name == "sygus-inv-templ-when-sg") { |
2079 |
|
opts.quantifiers.sygusInvTemplWhenSyntax = handlers::handleOption<bool>("sygus-inv-templ-when-sg", name, optionarg); |
2080 |
|
opts.quantifiers.sygusInvTemplWhenSyntaxWasSetByUser = true; |
2081 |
705 |
} else if (name == "sygus-min-grammar") { |
2082 |
|
opts.quantifiers.sygusMinGrammar = handlers::handleOption<bool>("sygus-min-grammar", name, optionarg); |
2083 |
|
opts.quantifiers.sygusMinGrammarWasSetByUser = true; |
2084 |
705 |
} else if (name == "sygus-out") { |
2085 |
183 |
opts.smt.sygusOut = stringToSygusSolutionOutMode(optionarg); |
2086 |
183 |
opts.smt.sygusOutWasSetByUser = true; |
2087 |
522 |
} else if (name == "sygus-pbe") { |
2088 |
6 |
opts.quantifiers.sygusUnifPbe = handlers::handleOption<bool>("sygus-pbe", name, optionarg); |
2089 |
6 |
opts.quantifiers.sygusUnifPbeWasSetByUser = true; |
2090 |
516 |
} else if (name == "sygus-pbe-multi-fair") { |
2091 |
|
opts.quantifiers.sygusPbeMultiFair = handlers::handleOption<bool>("sygus-pbe-multi-fair", name, optionarg); |
2092 |
|
opts.quantifiers.sygusPbeMultiFairWasSetByUser = true; |
2093 |
516 |
} else if (name == "sygus-pbe-multi-fair-diff") { |
2094 |
|
opts.quantifiers.sygusPbeMultiFairDiff = handlers::handleOption<int64_t>("sygus-pbe-multi-fair-diff", name, optionarg); |
2095 |
|
opts.quantifiers.sygusPbeMultiFairDiffWasSetByUser = true; |
2096 |
516 |
} else if (name == "sygus-print-callbacks") { |
2097 |
|
opts.smt.sygusPrintCallbacks = handlers::handleOption<bool>("sygus-print-callbacks", name, optionarg); |
2098 |
|
opts.smt.sygusPrintCallbacksWasSetByUser = true; |
2099 |
516 |
} else if (name == "sygus-qe-preproc") { |
2100 |
4 |
opts.quantifiers.sygusQePreproc = handlers::handleOption<bool>("sygus-qe-preproc", name, optionarg); |
2101 |
4 |
opts.quantifiers.sygusQePreprocWasSetByUser = true; |
2102 |
512 |
} else if (name == "sygus-query-gen") { |
2103 |
|
opts.quantifiers.sygusQueryGen = handlers::handleOption<bool>("sygus-query-gen", name, optionarg); |
2104 |
|
opts.quantifiers.sygusQueryGenWasSetByUser = true; |
2105 |
512 |
} else if (name == "sygus-query-gen-check") { |
2106 |
|
opts.quantifiers.sygusQueryGenCheck = handlers::handleOption<bool>("sygus-query-gen-check", name, optionarg); |
2107 |
|
opts.quantifiers.sygusQueryGenCheckWasSetByUser = true; |
2108 |
512 |
} else if (name == "sygus-query-gen-dump-files") { |
2109 |
|
opts.quantifiers.sygusQueryGenDumpFiles = stringToSygusQueryDumpFilesMode(optionarg); |
2110 |
|
opts.quantifiers.sygusQueryGenDumpFilesWasSetByUser = true; |
2111 |
512 |
} else if (name == "sygus-query-gen-thresh") { |
2112 |
|
opts.quantifiers.sygusQueryGenThresh = handlers::handleOption<uint64_t>("sygus-query-gen-thresh", name, optionarg); |
2113 |
|
opts.quantifiers.sygusQueryGenThreshWasSetByUser = true; |
2114 |
512 |
} else if (name == "sygus-rec-fun") { |
2115 |
3 |
opts.quantifiers.sygusRecFun = handlers::handleOption<bool>("sygus-rec-fun", name, optionarg); |
2116 |
3 |
opts.quantifiers.sygusRecFunWasSetByUser = true; |
2117 |
509 |
} else if (name == "sygus-rec-fun-eval-limit") { |
2118 |
|
opts.quantifiers.sygusRecFunEvalLimit = handlers::handleOption<uint64_t>("sygus-rec-fun-eval-limit", name, optionarg); |
2119 |
|
opts.quantifiers.sygusRecFunEvalLimitWasSetByUser = true; |
2120 |
509 |
} else if (name == "sygus-repair-const") { |
2121 |
8 |
opts.quantifiers.sygusRepairConst = handlers::handleOption<bool>("sygus-repair-const", name, optionarg); |
2122 |
8 |
opts.quantifiers.sygusRepairConstWasSetByUser = true; |
2123 |
501 |
} else if (name == "sygus-repair-const-timeout") { |
2124 |
|
opts.quantifiers.sygusRepairConstTimeout = handlers::handleOption<uint64_t>("sygus-repair-const-timeout", name, optionarg); |
2125 |
|
opts.quantifiers.sygusRepairConstTimeoutWasSetByUser = true; |
2126 |
501 |
} else if (name == "sygus-rr") { |
2127 |
6 |
opts.quantifiers.sygusRew = handlers::handleOption<bool>("sygus-rr", name, optionarg); |
2128 |
6 |
opts.quantifiers.sygusRewWasSetByUser = true; |
2129 |
495 |
} else if (name == "sygus-rr-synth") { |
2130 |
1 |
opts.quantifiers.sygusRewSynth = handlers::handleOption<bool>("sygus-rr-synth", name, optionarg); |
2131 |
1 |
opts.quantifiers.sygusRewSynthWasSetByUser = true; |
2132 |
494 |
} else if (name == "sygus-rr-synth-accel") { |
2133 |
|
opts.quantifiers.sygusRewSynthAccel = handlers::handleOption<bool>("sygus-rr-synth-accel", name, optionarg); |
2134 |
|
opts.quantifiers.sygusRewSynthAccelWasSetByUser = true; |
2135 |
494 |
} else if (name == "sygus-rr-synth-check") { |
2136 |
5 |
opts.quantifiers.sygusRewSynthCheck = handlers::handleOption<bool>("sygus-rr-synth-check", name, optionarg); |
2137 |
5 |
opts.quantifiers.sygusRewSynthCheckWasSetByUser = true; |
2138 |
489 |
} else if (name == "sygus-rr-synth-filter-cong") { |
2139 |
|
opts.quantifiers.sygusRewSynthFilterCong = handlers::handleOption<bool>("sygus-rr-synth-filter-cong", name, optionarg); |
2140 |
|
opts.quantifiers.sygusRewSynthFilterCongWasSetByUser = true; |
2141 |
489 |
} else if (name == "sygus-rr-synth-filter-match") { |
2142 |
|
opts.quantifiers.sygusRewSynthFilterMatch = handlers::handleOption<bool>("sygus-rr-synth-filter-match", name, optionarg); |
2143 |
|
opts.quantifiers.sygusRewSynthFilterMatchWasSetByUser = true; |
2144 |
489 |
} else if (name == "sygus-rr-synth-filter-nl") { |
2145 |
|
opts.quantifiers.sygusRewSynthFilterNonLinear = handlers::handleOption<bool>("sygus-rr-synth-filter-nl", name, optionarg); |
2146 |
|
opts.quantifiers.sygusRewSynthFilterNonLinearWasSetByUser = true; |
2147 |
489 |
} else if (name == "sygus-rr-synth-filter-order") { |
2148 |
|
opts.quantifiers.sygusRewSynthFilterOrder = handlers::handleOption<bool>("sygus-rr-synth-filter-order", name, optionarg); |
2149 |
|
opts.quantifiers.sygusRewSynthFilterOrderWasSetByUser = true; |
2150 |
489 |
} else if (name == "sygus-rr-synth-input") { |
2151 |
255 |
opts.quantifiers.sygusRewSynthInput = handlers::handleOption<bool>("sygus-rr-synth-input", name, optionarg); |
2152 |
255 |
opts.quantifiers.sygusRewSynthInputWasSetByUser = true; |
2153 |
234 |
} else if (name == "sygus-rr-synth-input-nvars") { |
2154 |
|
opts.quantifiers.sygusRewSynthInputNVars = handlers::handleOption<int64_t>("sygus-rr-synth-input-nvars", name, optionarg); |
2155 |
|
opts.quantifiers.sygusRewSynthInputNVarsWasSetByUser = true; |
2156 |
234 |
} else if (name == "sygus-rr-synth-input-use-bool") { |
2157 |
|
opts.quantifiers.sygusRewSynthInputUseBool = handlers::handleOption<bool>("sygus-rr-synth-input-use-bool", name, optionarg); |
2158 |
|
opts.quantifiers.sygusRewSynthInputUseBoolWasSetByUser = true; |
2159 |
234 |
} else if (name == "sygus-rr-synth-rec") { |
2160 |
|
opts.quantifiers.sygusRewSynthRec = handlers::handleOption<bool>("sygus-rr-synth-rec", name, optionarg); |
2161 |
|
opts.quantifiers.sygusRewSynthRecWasSetByUser = true; |
2162 |
234 |
} else if (name == "sygus-rr-verify") { |
2163 |
|
opts.quantifiers.sygusRewVerify = handlers::handleOption<bool>("sygus-rr-verify", name, optionarg); |
2164 |
|
opts.quantifiers.sygusRewVerifyWasSetByUser = true; |
2165 |
234 |
} else if (name == "sygus-rr-verify-abort") { |
2166 |
7 |
opts.quantifiers.sygusRewVerifyAbort = handlers::handleOption<bool>("sygus-rr-verify-abort", name, optionarg); |
2167 |
7 |
opts.quantifiers.sygusRewVerifyAbortWasSetByUser = true; |
2168 |
227 |
} else if (name == "sygus-sample-fp-uniform") { |
2169 |
|
opts.quantifiers.sygusSampleFpUniform = handlers::handleOption<bool>("sygus-sample-fp-uniform", name, optionarg); |
2170 |
|
opts.quantifiers.sygusSampleFpUniformWasSetByUser = true; |
2171 |
227 |
} else if (name == "sygus-sample-grammar") { |
2172 |
|
opts.quantifiers.sygusSampleGrammar = handlers::handleOption<bool>("sygus-sample-grammar", name, optionarg); |
2173 |
|
opts.quantifiers.sygusSampleGrammarWasSetByUser = true; |
2174 |
227 |
} else if (name == "sygus-samples") { |
2175 |
7 |
opts.quantifiers.sygusSamples = handlers::handleOption<int64_t>("sygus-samples", name, optionarg); |
2176 |
7 |
opts.quantifiers.sygusSamplesWasSetByUser = true; |
2177 |
220 |
} else if (name == "sygus-si") { |
2178 |
47 |
opts.quantifiers.cegqiSingleInvMode = stringToCegqiSingleInvMode(optionarg); |
2179 |
47 |
opts.quantifiers.cegqiSingleInvModeWasSetByUser = true; |
2180 |
173 |
} else if (name == "sygus-si-abort") { |
2181 |
|
opts.quantifiers.cegqiSingleInvAbort = handlers::handleOption<bool>("sygus-si-abort", name, optionarg); |
2182 |
|
opts.quantifiers.cegqiSingleInvAbortWasSetByUser = true; |
2183 |
173 |
} else if (name == "sygus-si-partial") { |
2184 |
|
opts.quantifiers.cegqiSingleInvPartial = handlers::handleOption<bool>("sygus-si-partial", name, optionarg); |
2185 |
|
opts.quantifiers.cegqiSingleInvPartialWasSetByUser = true; |
2186 |
173 |
} else if (name == "sygus-si-rcons") { |
2187 |
|
opts.quantifiers.cegqiSingleInvReconstruct = stringToCegqiSingleInvRconsMode(optionarg); |
2188 |
|
opts.quantifiers.cegqiSingleInvReconstructWasSetByUser = true; |
2189 |
173 |
} else if (name == "sygus-si-rcons-limit") { |
2190 |
1 |
opts.quantifiers.cegqiSingleInvReconstructLimit = handlers::handleOption<int64_t>("sygus-si-rcons-limit", name, optionarg); |
2191 |
1 |
opts.quantifiers.cegqiSingleInvReconstructLimitWasSetByUser = true; |
2192 |
172 |
} else if (name == "sygus-si-reconstruct-const") { |
2193 |
|
opts.quantifiers.cegqiSingleInvReconstructConst = handlers::handleOption<bool>("sygus-si-reconstruct-const", name, optionarg); |
2194 |
|
opts.quantifiers.cegqiSingleInvReconstructConstWasSetByUser = true; |
2195 |
172 |
} else if (name == "sygus-stream") { |
2196 |
4 |
opts.quantifiers.sygusStream = handlers::handleOption<bool>("sygus-stream", name, optionarg); |
2197 |
4 |
opts.quantifiers.sygusStreamWasSetByUser = true; |
2198 |
168 |
} else if (name == "sygus-sym-break") { |
2199 |
8 |
opts.datatypes.sygusSymBreak = handlers::handleOption<bool>("sygus-sym-break", name, optionarg); |
2200 |
8 |
opts.datatypes.sygusSymBreakWasSetByUser = true; |
2201 |
160 |
} else if (name == "sygus-sym-break-agg") { |
2202 |
|
opts.datatypes.sygusSymBreakAgg = handlers::handleOption<bool>("sygus-sym-break-agg", name, optionarg); |
2203 |
|
opts.datatypes.sygusSymBreakAggWasSetByUser = true; |
2204 |
160 |
} else if (name == "sygus-sym-break-dynamic") { |
2205 |
|
opts.datatypes.sygusSymBreakDynamic = handlers::handleOption<bool>("sygus-sym-break-dynamic", name, optionarg); |
2206 |
|
opts.datatypes.sygusSymBreakDynamicWasSetByUser = true; |
2207 |
160 |
} else if (name == "sygus-sym-break-lazy") { |
2208 |
2 |
opts.datatypes.sygusSymBreakLazy = handlers::handleOption<bool>("sygus-sym-break-lazy", name, optionarg); |
2209 |
2 |
opts.datatypes.sygusSymBreakLazyWasSetByUser = true; |
2210 |
158 |
} else if (name == "sygus-sym-break-pbe") { |
2211 |
|
opts.datatypes.sygusSymBreakPbe = handlers::handleOption<bool>("sygus-sym-break-pbe", name, optionarg); |
2212 |
|
opts.datatypes.sygusSymBreakPbeWasSetByUser = true; |
2213 |
158 |
} else if (name == "sygus-sym-break-rlv") { |
2214 |
2 |
opts.datatypes.sygusSymBreakRlv = handlers::handleOption<bool>("sygus-sym-break-rlv", name, optionarg); |
2215 |
2 |
opts.datatypes.sygusSymBreakRlvWasSetByUser = true; |
2216 |
156 |
} else if (name == "sygus-templ-embed-grammar") { |
2217 |
|
opts.quantifiers.sygusTemplEmbedGrammar = handlers::handleOption<bool>("sygus-templ-embed-grammar", name, optionarg); |
2218 |
|
opts.quantifiers.sygusTemplEmbedGrammarWasSetByUser = true; |
2219 |
156 |
} else if (name == "sygus-unif-cond-independent-no-repeat-sol") { |
2220 |
|
opts.quantifiers.sygusUnifCondIndNoRepeatSol = handlers::handleOption<bool>("sygus-unif-cond-independent-no-repeat-sol", name, optionarg); |
2221 |
|
opts.quantifiers.sygusUnifCondIndNoRepeatSolWasSetByUser = true; |
2222 |
156 |
} else if (name == "sygus-unif-pi") { |
2223 |
9 |
opts.quantifiers.sygusUnifPi = stringToSygusUnifPiMode(optionarg); |
2224 |
9 |
opts.quantifiers.sygusUnifPiWasSetByUser = true; |
2225 |
147 |
} else if (name == "sygus-unif-shuffle-cond") { |
2226 |
|
opts.quantifiers.sygusUnifShuffleCond = handlers::handleOption<bool>("sygus-unif-shuffle-cond", name, optionarg); |
2227 |
|
opts.quantifiers.sygusUnifShuffleCondWasSetByUser = true; |
2228 |
147 |
} else if (name == "sygus-verify-inst-max-rounds") { |
2229 |
|
opts.quantifiers.sygusVerifyInstMaxRounds = handlers::handleOption<int64_t>("sygus-verify-inst-max-rounds", name, optionarg); |
2230 |
|
opts.quantifiers.sygusVerifyInstMaxRoundsWasSetByUser = true; |
2231 |
147 |
} else if (name == "symmetry-breaker" || name == "uf-symmetry-breaker") { |
2232 |
|
opts.uf.ufSymmetryBreaker = handlers::handleOption<bool>("symmetry-breaker", name, optionarg); |
2233 |
|
opts.uf.ufSymmetryBreakerWasSetByUser = true; |
2234 |
147 |
} else if (name == "tc-mode") { |
2235 |
|
opts.theory.tcMode = stringToTcMode(optionarg); |
2236 |
|
opts.theory.tcModeWasSetByUser = true; |
2237 |
147 |
} else if (name == "term-db-cd") { |
2238 |
|
opts.quantifiers.termDbCd = handlers::handleOption<bool>("term-db-cd", name, optionarg); |
2239 |
|
opts.quantifiers.termDbCdWasSetByUser = true; |
2240 |
147 |
} else if (name == "term-db-mode") { |
2241 |
|
opts.quantifiers.termDbMode = stringToTermDbMode(optionarg); |
2242 |
|
opts.quantifiers.termDbModeWasSetByUser = true; |
2243 |
147 |
} else if (name == "theoryof-mode") { |
2244 |
5 |
opts.theory.theoryOfMode = stringToTheoryOfMode(optionarg); |
2245 |
5 |
opts.theory.theoryOfModeWasSetByUser = true; |
2246 |
142 |
} else if (name == "tlimit") { |
2247 |
|
opts.base.cumulativeMillisecondLimit = handlers::handleOption<uint64_t>("tlimit", name, optionarg); |
2248 |
|
opts.base.cumulativeMillisecondLimitWasSetByUser = true; |
2249 |
142 |
} else if (name == "tlimit-per") { |
2250 |
6 |
opts.base.perCallMillisecondLimit = handlers::handleOption<uint64_t>("tlimit-per", name, optionarg); |
2251 |
6 |
opts.base.perCallMillisecondLimitWasSetByUser = true; |
2252 |
136 |
} else if (name == "trace") { |
2253 |
|
opts.handler().enableTraceTag("trace", name, optionarg); |
2254 |
136 |
} else if (name == "trigger-active-sel") { |
2255 |
|
opts.quantifiers.triggerActiveSelMode = stringToTriggerActiveSelMode(optionarg); |
2256 |
|
opts.quantifiers.triggerActiveSelModeWasSetByUser = true; |
2257 |
136 |
} else if (name == "trigger-sel") { |
2258 |
|
opts.quantifiers.triggerSelMode = stringToTriggerSelMode(optionarg); |
2259 |
|
opts.quantifiers.triggerSelModeWasSetByUser = true; |
2260 |
136 |
} else if (name == "type-checking") { |
2261 |
|
opts.expr.typeChecking = handlers::handleOption<bool>("type-checking", name, optionarg); |
2262 |
|
opts.expr.typeCheckingWasSetByUser = true; |
2263 |
136 |
} else if (name == "uf-ho") { |
2264 |
|
opts.uf.ufHo = handlers::handleOption<bool>("uf-ho", name, optionarg); |
2265 |
|
opts.uf.ufHoWasSetByUser = true; |
2266 |
136 |
} else if (name == "uf-ho-ext") { |
2267 |
|
opts.uf.ufHoExt = handlers::handleOption<bool>("uf-ho-ext", name, optionarg); |
2268 |
|
opts.uf.ufHoExtWasSetByUser = true; |
2269 |
136 |
} else if (name == "uf-ss") { |
2270 |
7 |
opts.uf.ufssMode = stringToUfssMode(optionarg); |
2271 |
7 |
opts.uf.ufssModeWasSetByUser = true; |
2272 |
129 |
} else if (name == "uf-ss-abort-card") { |
2273 |
|
opts.uf.ufssAbortCardinality = handlers::handleOption<int64_t>("uf-ss-abort-card", name, optionarg); |
2274 |
|
opts.uf.ufssAbortCardinalityWasSetByUser = true; |
2275 |
129 |
} else if (name == "uf-ss-fair") { |
2276 |
|
opts.uf.ufssFairness = handlers::handleOption<bool>("uf-ss-fair", name, optionarg); |
2277 |
|
opts.uf.ufssFairnessWasSetByUser = true; |
2278 |
129 |
} else if (name == "uf-ss-fair-monotone") { |
2279 |
4 |
opts.uf.ufssFairnessMonotone = handlers::handleOption<bool>("uf-ss-fair-monotone", name, optionarg); |
2280 |
4 |
opts.uf.ufssFairnessMonotoneWasSetByUser = true; |
2281 |
125 |
} else if (name == "uf-ss-totality-limited") { |
2282 |
|
opts.uf.ufssTotalityLimited = handlers::handleOption<int64_t>("uf-ss-totality-limited", name, optionarg); |
2283 |
|
opts.uf.ufssTotalityLimitedWasSetByUser = true; |
2284 |
125 |
} else if (name == "uf-ss-totality-sym-break") { |
2285 |
|
opts.uf.ufssTotalitySymBreak = handlers::handleOption<bool>("uf-ss-totality-sym-break", name, optionarg); |
2286 |
|
opts.uf.ufssTotalitySymBreakWasSetByUser = true; |
2287 |
125 |
} else if (name == "unate-lemmas") { |
2288 |
|
opts.arith.arithUnateLemmaMode = stringToArithUnateLemmaMode(optionarg); |
2289 |
|
opts.arith.arithUnateLemmaModeWasSetByUser = true; |
2290 |
125 |
} else if (name == "unconstrained-simp") { |
2291 |
107 |
opts.smt.unconstrainedSimp = handlers::handleOption<bool>("unconstrained-simp", name, optionarg); |
2292 |
107 |
opts.smt.unconstrainedSimpWasSetByUser = true; |
2293 |
18 |
} else if (name == "unsat-cores-mode") { |
2294 |
2 |
opts.smt.unsatCoresMode = stringToUnsatCoresMode(optionarg); |
2295 |
2 |
opts.smt.unsatCoresModeWasSetByUser = true; |
2296 |
16 |
} else if (name == "use-approx") { |
2297 |
|
opts.arith.useApprox = handlers::handleOption<bool>("use-approx", name, optionarg); |
2298 |
|
opts.arith.useApproxWasSetByUser = true; |
2299 |
16 |
} else if (name == "use-fcsimplex") { |
2300 |
|
opts.arith.useFC = handlers::handleOption<bool>("use-fcsimplex", name, optionarg); |
2301 |
|
opts.arith.useFCWasSetByUser = true; |
2302 |
16 |
} else if (name == "use-soi") { |
2303 |
|
opts.arith.useSOI = handlers::handleOption<bool>("use-soi", name, optionarg); |
2304 |
|
opts.arith.useSOIWasSetByUser = true; |
2305 |
16 |
} else if (name == "user-pat") { |
2306 |
|
opts.quantifiers.userPatternsQuant = stringToUserPatMode(optionarg); |
2307 |
|
opts.quantifiers.userPatternsQuantWasSetByUser = true; |
2308 |
16 |
} else if (name == "var-elim-quant") { |
2309 |
|
opts.quantifiers.varElimQuant = handlers::handleOption<bool>("var-elim-quant", name, optionarg); |
2310 |
|
opts.quantifiers.varElimQuantWasSetByUser = true; |
2311 |
16 |
} else if (name == "var-ineq-elim-quant") { |
2312 |
7 |
opts.quantifiers.varIneqElimQuant = handlers::handleOption<bool>("var-ineq-elim-quant", name, optionarg); |
2313 |
7 |
opts.quantifiers.varIneqElimQuantWasSetByUser = true; |
2314 |
9 |
} else if (name == "verbose") { |
2315 |
3 |
opts.handler().increaseVerbosity("verbose", name); |
2316 |
6 |
} else if (name == "verbosity") { |
2317 |
6 |
auto value = handlers::handleOption<int64_t>("verbosity", name, optionarg); |
2318 |
6 |
opts.handler().setVerbosity("verbosity", name, value); |
2319 |
6 |
opts.base.verbosity = value; |
2320 |
6 |
opts.base.verbosityWasSetByUser = true; |
2321 |
|
} else if (name == "version") { |
2322 |
|
opts.driver.version = handlers::handleOption<bool>("version", name, optionarg); |
2323 |
|
opts.driver.versionWasSetByUser = true; |
2324 |
|
// clang-format on |
2325 |
|
} |
2326 |
|
else |
2327 |
|
{ |
2328 |
|
throw OptionException("Unrecognized option key or setting: " + name); |
2329 |
|
} |
2330 |
35956 |
} |
2331 |
|
|
2332 |
|
#if defined(CVC5_MUZZLED) || defined(CVC5_COMPETITION_MODE) |
2333 |
|
#define DO_SEMANTIC_CHECKS_BY_DEFAULT false |
2334 |
|
#else /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */ |
2335 |
|
#define DO_SEMANTIC_CHECKS_BY_DEFAULT true |
2336 |
|
#endif /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */ |
2337 |
|
|
2338 |
2491468 |
OptionInfo getInfo(const Options& opts, const std::string& name) |
2339 |
|
{ |
2340 |
|
// clang-format off |
2341 |
2491468 |
if (name == "abstract-values") return OptionInfo{"abstract-values", {}, opts.smt.abstractValuesWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.abstractValues}}; |
2342 |
2491468 |
if (name == "ackermann") return OptionInfo{"ackermann", {}, opts.smt.ackermannWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.ackermann}}; |
2343 |
2491468 |
if (name == "ag-miniscope-quant") return OptionInfo{"ag-miniscope-quant", {}, opts.quantifiers.aggressiveMiniscopeQuantWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.aggressiveMiniscopeQuant}}; |
2344 |
2491468 |
if (name == "approx-branch-depth") return OptionInfo{"approx-branch-depth", {}, opts.arith.maxApproxDepthWasSetByUser, OptionInfo::NumberInfo<int64_t>{200, opts.arith.maxApproxDepth, {}, {}}}; |
2345 |
2491468 |
if (name == "arith-brab") return OptionInfo{"arith-brab", {}, opts.arith.brabTestWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.arith.brabTest}}; |
2346 |
2491468 |
if (name == "arith-cong-man") return OptionInfo{"arith-cong-man", {}, opts.arith.arithCongManWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.arith.arithCongMan}}; |
2347 |
2491468 |
if (name == "arith-eq-solver") return OptionInfo{"arith-eq-solver", {}, opts.arith.arithEqSolverWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.arithEqSolver}}; |
2348 |
2491468 |
if (name == "arith-no-partial-fun") return OptionInfo{"arith-no-partial-fun", {}, opts.arith.arithNoPartialFunWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.arithNoPartialFun}}; |
2349 |
2491468 |
if (name == "arith-prop") return OptionInfo{"arith-prop", {}, opts.arith.arithPropagationModeWasSetByUser, OptionInfo::ModeInfo{"BOTH_PROP", opts.arith.arithPropagationMode, { "BOTH_PROP", "BOUND_INFERENCE_PROP", "NO_PROP", "UNATE_PROP" }}}; |
2350 |
2491468 |
if (name == "arith-prop-clauses") return OptionInfo{"arith-prop-clauses", {}, opts.arith.arithPropAsLemmaLengthWasSetByUser, OptionInfo::NumberInfo<uint64_t>{8, opts.arith.arithPropAsLemmaLength, {}, {}}}; |
2351 |
2491468 |
if (name == "arith-rewrite-equalities") return OptionInfo{"arith-rewrite-equalities", {}, opts.arith.arithRewriteEqWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.arithRewriteEq}}; |
2352 |
2491468 |
if (name == "arrays-config") return OptionInfo{"arrays-config", {}, opts.arrays.arraysConfigWasSetByUser, OptionInfo::NumberInfo<int64_t>{0, opts.arrays.arraysConfig, {}, {}}}; |
2353 |
2491468 |
if (name == "arrays-eager-index") return OptionInfo{"arrays-eager-index", {}, opts.arrays.arraysEagerIndexSplittingWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.arrays.arraysEagerIndexSplitting}}; |
2354 |
2491468 |
if (name == "arrays-eager-lemmas") return OptionInfo{"arrays-eager-lemmas", {}, opts.arrays.arraysEagerLemmasWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arrays.arraysEagerLemmas}}; |
2355 |
2491468 |
if (name == "arrays-exp") return OptionInfo{"arrays-exp", {}, opts.arrays.arraysExpWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arrays.arraysExp}}; |
2356 |
2491468 |
if (name == "arrays-model-based") return OptionInfo{"arrays-model-based", {}, opts.arrays.arraysModelBasedWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arrays.arraysModelBased}}; |
2357 |
2491468 |
if (name == "arrays-optimize-linear") return OptionInfo{"arrays-optimize-linear", {}, opts.arrays.arraysOptimizeLinearWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.arrays.arraysOptimizeLinear}}; |
2358 |
2491468 |
if (name == "arrays-prop") return OptionInfo{"arrays-prop", {}, opts.arrays.arraysPropagateWasSetByUser, OptionInfo::NumberInfo<int64_t>{2, opts.arrays.arraysPropagate, {}, {}}}; |
2359 |
2491468 |
if (name == "arrays-reduce-sharing") return OptionInfo{"arrays-reduce-sharing", {}, opts.arrays.arraysReduceSharingWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arrays.arraysReduceSharing}}; |
2360 |
2491468 |
if (name == "arrays-weak-equiv") return OptionInfo{"arrays-weak-equiv", {}, opts.arrays.arraysWeakEquivalenceWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arrays.arraysWeakEquivalence}}; |
2361 |
2491468 |
if (name == "assign-function-values") return OptionInfo{"assign-function-values", {}, opts.theory.assignFunctionValuesWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.theory.assignFunctionValues}}; |
2362 |
2491468 |
if (name == "bitblast") return OptionInfo{"bitblast", {}, opts.bv.bitblastModeWasSetByUser, OptionInfo::ModeInfo{"LAZY", opts.bv.bitblastMode, { "EAGER", "LAZY" }}}; |
2363 |
2491468 |
if (name == "bitblast-aig") return OptionInfo{"bitblast-aig", {}, opts.bv.bitvectorAigWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.bv.bitvectorAig}}; |
2364 |
2491468 |
if (name == "bitwise-eq") return OptionInfo{"bitwise-eq", {}, opts.bv.bitwiseEqWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.bv.bitwiseEq}}; |
2365 |
2491468 |
if (name == "block-models") return OptionInfo{"block-models", {}, opts.smt.blockModelsModeWasSetByUser, OptionInfo::ModeInfo{"NONE", opts.smt.blockModelsMode, { "LITERALS", "NONE", "VALUES" }}}; |
2366 |
2491468 |
if (name == "bool-to-bv") return OptionInfo{"bool-to-bv", {}, opts.bv.boolToBitvectorWasSetByUser, OptionInfo::ModeInfo{"OFF", opts.bv.boolToBitvector, { "ALL", "ITE", "OFF" }}}; |
2367 |
2491468 |
if (name == "bv-abstraction") return OptionInfo{"bv-abstraction", {}, opts.bv.bvAbstractionWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.bv.bvAbstraction}}; |
2368 |
2491468 |
if (name == "bv-aig-simp") return OptionInfo{"bv-aig-simp", {}, opts.bv.bitvectorAigSimplificationsWasSetByUser, OptionInfo::ValueInfo<std::string>{"balance;drw", opts.bv.bitvectorAigSimplifications}}; |
2369 |
2491468 |
if (name == "bv-alg-extf") return OptionInfo{"bv-alg-extf", {}, opts.bv.bvAlgExtfWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.bv.bvAlgExtf}}; |
2370 |
2491468 |
if (name == "bv-algebraic-budget") return OptionInfo{"bv-algebraic-budget", {}, opts.bv.bitvectorAlgebraicBudgetWasSetByUser, OptionInfo::NumberInfo<uint64_t>{1500, opts.bv.bitvectorAlgebraicBudget, {}, {}}}; |
2371 |
2491468 |
if (name == "bv-algebraic-solver") return OptionInfo{"bv-algebraic-solver", {}, opts.bv.bitvectorAlgebraicSolverWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.bv.bitvectorAlgebraicSolver}}; |
2372 |
2491468 |
if (name == "bv-assert-input") return OptionInfo{"bv-assert-input", {}, opts.bv.bvAssertInputWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.bv.bvAssertInput}}; |
2373 |
2491468 |
if (name == "bv-eager-explanations") return OptionInfo{"bv-eager-explanations", {}, opts.bv.bvEagerExplanationsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.bv.bvEagerExplanations}}; |
2374 |
2491468 |
if (name == "bv-eq-solver") return OptionInfo{"bv-eq-solver", {}, opts.bv.bitvectorEqualitySolverWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.bv.bitvectorEqualitySolver}}; |
2375 |
2491468 |
if (name == "bv-extract-arith") return OptionInfo{"bv-extract-arith", {}, opts.bv.bvExtractArithRewriteWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.bv.bvExtractArithRewrite}}; |
2376 |
2491468 |
if (name == "bv-gauss-elim") return OptionInfo{"bv-gauss-elim", {}, opts.bv.bvGaussElimWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.bv.bvGaussElim}}; |
2377 |
2491468 |
if (name == "bv-inequality-solver") return OptionInfo{"bv-inequality-solver", {}, opts.bv.bitvectorInequalitySolverWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.bv.bitvectorInequalitySolver}}; |
2378 |
2491468 |
if (name == "bv-intro-pow2") return OptionInfo{"bv-intro-pow2", {}, opts.bv.bvIntroducePow2WasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.bv.bvIntroducePow2}}; |
2379 |
2491468 |
if (name == "bv-num-func") return OptionInfo{"bv-num-func", {}, opts.bv.bvNumFuncWasSetByUser, OptionInfo::NumberInfo<uint64_t>{1, opts.bv.bvNumFunc, {}, {}}}; |
2380 |
2491468 |
if (name == "bv-print-consts-as-indexed-symbols") return OptionInfo{"bv-print-consts-as-indexed-symbols", {}, opts.bv.bvPrintConstsAsIndexedSymbolsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.bv.bvPrintConstsAsIndexedSymbols}}; |
2381 |
2491468 |
if (name == "bv-propagate") return OptionInfo{"bv-propagate", {}, opts.bv.bitvectorPropagateWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.bv.bitvectorPropagate}}; |
2382 |
2491468 |
if (name == "bv-quick-xplain") return OptionInfo{"bv-quick-xplain", {}, opts.bv.bitvectorQuickXplainWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.bv.bitvectorQuickXplain}}; |
2383 |
2491468 |
if (name == "bv-sat-solver") return OptionInfo{"bv-sat-solver", {}, opts.bv.bvSatSolverWasSetByUser, OptionInfo::ModeInfo{"MINISAT", opts.bv.bvSatSolver, { "CADICAL", "CRYPTOMINISAT", "KISSAT", "MINISAT" }}}; |
2384 |
2491468 |
if (name == "bv-skolemize") return OptionInfo{"bv-skolemize", {}, opts.bv.skolemizeArgumentsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.bv.skolemizeArguments}}; |
2385 |
2491468 |
if (name == "bv-solver") return OptionInfo{"bv-solver", {}, opts.bv.bvSolverWasSetByUser, OptionInfo::ModeInfo{"BITBLAST", opts.bv.bvSolver, { "BITBLAST", "BITBLAST_INTERNAL", "LAYERED" }}}; |
2386 |
2491468 |
if (name == "bv-to-bool") return OptionInfo{"bv-to-bool", {}, opts.bv.bitvectorToBoolWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.bv.bitvectorToBool}}; |
2387 |
2491468 |
if (name == "bvand-integer-granularity") return OptionInfo{"bvand-integer-granularity", {}, opts.smt.BVAndIntegerGranularityWasSetByUser, OptionInfo::NumberInfo<uint64_t>{1, opts.smt.BVAndIntegerGranularity, {}, {}}}; |
2388 |
2491468 |
if (name == "cdt-bisimilar") return OptionInfo{"cdt-bisimilar", {}, opts.datatypes.cdtBisimilarWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.datatypes.cdtBisimilar}}; |
2389 |
2491468 |
if (name == "cegis-sample") return OptionInfo{"cegis-sample", {}, opts.quantifiers.cegisSampleWasSetByUser, OptionInfo::ModeInfo{"NONE", opts.quantifiers.cegisSample, { "NONE", "TRUST", "USE" }}}; |
2390 |
2491468 |
if (name == "cegqi") return OptionInfo{"cegqi", {}, opts.quantifiers.cegqiWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqi}}; |
2391 |
2491468 |
if (name == "cegqi-all") return OptionInfo{"cegqi-all", {}, opts.quantifiers.cegqiAllWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqiAll}}; |
2392 |
2491468 |
if (name == "cegqi-bv") return OptionInfo{"cegqi-bv", {}, opts.quantifiers.cegqiBvWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.cegqiBv}}; |
2393 |
2491468 |
if (name == "cegqi-bv-concat-inv") return OptionInfo{"cegqi-bv-concat-inv", {}, opts.quantifiers.cegqiBvConcInvWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.cegqiBvConcInv}}; |
2394 |
2491468 |
if (name == "cegqi-bv-ineq") return OptionInfo{"cegqi-bv-ineq", {}, opts.quantifiers.cegqiBvIneqModeWasSetByUser, OptionInfo::ModeInfo{"EQ_BOUNDARY", opts.quantifiers.cegqiBvIneqMode, { "EQ_BOUNDARY", "EQ_SLACK", "KEEP" }}}; |
2395 |
2491468 |
if (name == "cegqi-bv-interleave-value") return OptionInfo{"cegqi-bv-interleave-value", {}, opts.quantifiers.cegqiBvInterleaveValueWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqiBvInterleaveValue}}; |
2396 |
2491468 |
if (name == "cegqi-bv-linear") return OptionInfo{"cegqi-bv-linear", {}, opts.quantifiers.cegqiBvLinearizeWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.cegqiBvLinearize}}; |
2397 |
2491468 |
if (name == "cegqi-bv-rm-extract") return OptionInfo{"cegqi-bv-rm-extract", {}, opts.quantifiers.cegqiBvRmExtractWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.cegqiBvRmExtract}}; |
2398 |
2491468 |
if (name == "cegqi-bv-solve-nl") return OptionInfo{"cegqi-bv-solve-nl", {}, opts.quantifiers.cegqiBvSolveNlWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqiBvSolveNl}}; |
2399 |
2491468 |
if (name == "cegqi-full") return OptionInfo{"cegqi-full", {}, opts.quantifiers.cegqiFullEffortWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqiFullEffort}}; |
2400 |
2491468 |
if (name == "cegqi-innermost") return OptionInfo{"cegqi-innermost", {}, opts.quantifiers.cegqiInnermostWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.cegqiInnermost}}; |
2401 |
2491468 |
if (name == "cegqi-midpoint") return OptionInfo{"cegqi-midpoint", {}, opts.quantifiers.cegqiMidpointWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqiMidpoint}}; |
2402 |
2491468 |
if (name == "cegqi-min-bounds") return OptionInfo{"cegqi-min-bounds", {}, opts.quantifiers.cegqiMinBoundsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqiMinBounds}}; |
2403 |
2491468 |
if (name == "cegqi-model") return OptionInfo{"cegqi-model", {}, opts.quantifiers.cegqiModelWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.cegqiModel}}; |
2404 |
2491468 |
if (name == "cegqi-multi-inst") return OptionInfo{"cegqi-multi-inst", {}, opts.quantifiers.cegqiMultiInstWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqiMultiInst}}; |
2405 |
2491468 |
if (name == "cegqi-nested-qe") return OptionInfo{"cegqi-nested-qe", {}, opts.quantifiers.cegqiNestedQEWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqiNestedQE}}; |
2406 |
2491468 |
if (name == "cegqi-nopt") return OptionInfo{"cegqi-nopt", {}, opts.quantifiers.cegqiNoptWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.cegqiNopt}}; |
2407 |
2491468 |
if (name == "cegqi-repeat-lit") return OptionInfo{"cegqi-repeat-lit", {}, opts.quantifiers.cegqiRepeatLitWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqiRepeatLit}}; |
2408 |
2491468 |
if (name == "cegqi-round-up-lia") return OptionInfo{"cegqi-round-up-lia", {}, opts.quantifiers.cegqiRoundUpLowerLiaWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqiRoundUpLowerLia}}; |
2409 |
2491468 |
if (name == "cegqi-sat") return OptionInfo{"cegqi-sat", {}, opts.quantifiers.cegqiSatWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.cegqiSat}}; |
2410 |
2491468 |
if (name == "cegqi-use-inf-int") return OptionInfo{"cegqi-use-inf-int", {}, opts.quantifiers.cegqiUseInfIntWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqiUseInfInt}}; |
2411 |
2491468 |
if (name == "cegqi-use-inf-real") return OptionInfo{"cegqi-use-inf-real", {}, opts.quantifiers.cegqiUseInfRealWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqiUseInfReal}}; |
2412 |
2491468 |
if (name == "check-abducts") return OptionInfo{"check-abducts", {}, opts.smt.checkAbductsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.checkAbducts}}; |
2413 |
2491468 |
if (name == "check-interpols") return OptionInfo{"check-interpols", {}, opts.smt.checkInterpolsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.checkInterpols}}; |
2414 |
2491468 |
if (name == "check-models") return OptionInfo{"check-models", {}, opts.smt.checkModelsWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.smt.checkModels}}; |
2415 |
2491468 |
if (name == "check-proofs") return OptionInfo{"check-proofs", {}, opts.smt.checkProofsWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.smt.checkProofs}}; |
2416 |
2491468 |
if (name == "check-synth-sol") return OptionInfo{"check-synth-sol", {}, opts.smt.checkSynthSolWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.checkSynthSol}}; |
2417 |
2491468 |
if (name == "check-unsat-cores") return OptionInfo{"check-unsat-cores", {}, opts.smt.checkUnsatCoresWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.smt.checkUnsatCores}}; |
2418 |
2491468 |
if (name == "collect-pivot-stats") return OptionInfo{"collect-pivot-stats", {}, opts.arith.collectPivotsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.collectPivots}}; |
2419 |
2491468 |
if (name == "cond-var-split-agg-quant") return OptionInfo{"cond-var-split-agg-quant", {}, opts.quantifiers.condVarSplitQuantAggWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.condVarSplitQuantAgg}}; |
2420 |
2491468 |
if (name == "cond-var-split-quant") return OptionInfo{"cond-var-split-quant", {}, opts.quantifiers.condVarSplitQuantWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.condVarSplitQuant}}; |
2421 |
2491468 |
if (name == "condense-function-values") return OptionInfo{"condense-function-values", {}, opts.theory.condenseFunctionValuesWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.theory.condenseFunctionValues}}; |
2422 |
2491468 |
if (name == "conjecture-filter-active-terms") return OptionInfo{"conjecture-filter-active-terms", {}, opts.quantifiers.conjectureFilterActiveTermsWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.conjectureFilterActiveTerms}}; |
2423 |
2491468 |
if (name == "conjecture-filter-canonical") return OptionInfo{"conjecture-filter-canonical", {}, opts.quantifiers.conjectureFilterCanonicalWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.conjectureFilterCanonical}}; |
2424 |
2491468 |
if (name == "conjecture-filter-model") return OptionInfo{"conjecture-filter-model", {}, opts.quantifiers.conjectureFilterModelWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.conjectureFilterModel}}; |
2425 |
2491468 |
if (name == "conjecture-gen") return OptionInfo{"conjecture-gen", {}, opts.quantifiers.conjectureGenWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.conjectureGen}}; |
2426 |
2491468 |
if (name == "conjecture-gen-gt-enum") return OptionInfo{"conjecture-gen-gt-enum", {}, opts.quantifiers.conjectureGenGtEnumWasSetByUser, OptionInfo::NumberInfo<int64_t>{50, opts.quantifiers.conjectureGenGtEnum, {}, {}}}; |
2427 |
2491468 |
if (name == "conjecture-gen-max-depth") return OptionInfo{"conjecture-gen-max-depth", {}, opts.quantifiers.conjectureGenMaxDepthWasSetByUser, OptionInfo::NumberInfo<int64_t>{3, opts.quantifiers.conjectureGenMaxDepth, {}, {}}}; |
2428 |
2491468 |
if (name == "conjecture-gen-per-round") return OptionInfo{"conjecture-gen-per-round", {}, opts.quantifiers.conjectureGenPerRoundWasSetByUser, OptionInfo::NumberInfo<int64_t>{1, opts.quantifiers.conjectureGenPerRound, {}, {}}}; |
2429 |
2491468 |
if (name == "conjecture-gen-uee-intro") return OptionInfo{"conjecture-gen-uee-intro", {}, opts.quantifiers.conjectureUeeIntroWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.conjectureUeeIntro}}; |
2430 |
2491468 |
if (name == "conjecture-no-filter") return OptionInfo{"conjecture-no-filter", {}, opts.quantifiers.conjectureNoFilterWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.conjectureNoFilter}}; |
2431 |
2491468 |
if (name == "copyright") return OptionInfo{"copyright", {}, false, OptionInfo::VoidInfo{}}; |
2432 |
2491468 |
if (name == "cut-all-bounded") return OptionInfo{"cut-all-bounded", {}, opts.arith.doCutAllBoundedWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.doCutAllBounded}}; |
2433 |
2491468 |
if (name == "dag-thresh") return OptionInfo{"dag-thresh", {}, opts.expr.defaultDagThreshWasSetByUser, OptionInfo::NumberInfo<int64_t>{1, opts.expr.defaultDagThresh, 0, {}}}; |
2434 |
2491468 |
if (name == "debug") return OptionInfo{"debug", {}, false, OptionInfo::VoidInfo{}}; |
2435 |
2491468 |
if (name == "debug-check-models") return OptionInfo{"debug-check-models", {}, opts.smt.debugCheckModelsWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.smt.debugCheckModels}}; |
2436 |
2491468 |
if (name == "decision" || name == "decision-mode") return OptionInfo{"decision", {"decision-mode"}, opts.decision.decisionModeWasSetByUser, OptionInfo::ModeInfo{"INTERNAL", opts.decision.decisionMode, { "INTERNAL", "JUSTIFICATION", "JUSTIFICATION_OLD", "STOPONLY", "STOPONLY_OLD" }}}; |
2437 |
2491468 |
if (name == "decision-random-weight") return OptionInfo{"decision-random-weight", {}, opts.decision.decisionRandomWeightWasSetByUser, OptionInfo::NumberInfo<int64_t>{0, opts.decision.decisionRandomWeight, {}, {}}}; |
2438 |
2491468 |
if (name == "decision-threshold") return OptionInfo{"decision-threshold", {}, opts.decision.decisionThresholdWasSetByUser, OptionInfo::VoidInfo{}}; |
2439 |
2491468 |
if (name == "decision-use-weight") return OptionInfo{"decision-use-weight", {}, opts.decision.decisionUseWeightWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.decision.decisionUseWeight}}; |
2440 |
2491468 |
if (name == "decision-weight-internal") return OptionInfo{"decision-weight-internal", {}, opts.decision.decisionWeightInternalWasSetByUser, OptionInfo::ModeInfo{"OFF", opts.decision.decisionWeightInternal, { "MAX", "OFF", "SUM", "USR1" }}}; |
2441 |
2491468 |
if (name == "diagnostic-output-channel" || name == "err") return OptionInfo{"err", {"diagnostic-output-channel"}, opts.base.errWasSetByUser, OptionInfo::VoidInfo{}}; |
2442 |
2491468 |
if (name == "difficulty-mode") return OptionInfo{"difficulty-mode", {}, opts.smt.difficultyModeWasSetByUser, OptionInfo::ModeInfo{"LEMMA_LITERAL", opts.smt.difficultyMode, { "LEMMA_LITERAL", "MODEL_CHECK" }}}; |
2443 |
2491468 |
if (name == "dio-decomps") return OptionInfo{"dio-decomps", {}, opts.arith.exportDioDecompositionsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.exportDioDecompositions}}; |
2444 |
2491468 |
if (name == "dio-repeat") return OptionInfo{"dio-repeat", {}, opts.arith.dioRepeatWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.dioRepeat}}; |
2445 |
2491468 |
if (name == "dio-solver") return OptionInfo{"dio-solver", {}, opts.arith.arithDioSolverWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.arith.arithDioSolver}}; |
2446 |
2491468 |
if (name == "dio-turns") return OptionInfo{"dio-turns", {}, opts.arith.dioSolverTurnsWasSetByUser, OptionInfo::NumberInfo<int64_t>{10, opts.arith.dioSolverTurns, {}, {}}}; |
2447 |
2491468 |
if (name == "dt-binary-split") return OptionInfo{"dt-binary-split", {}, opts.datatypes.dtBinarySplitWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.datatypes.dtBinarySplit}}; |
2448 |
2491468 |
if (name == "dt-blast-splits") return OptionInfo{"dt-blast-splits", {}, opts.datatypes.dtBlastSplitsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.datatypes.dtBlastSplits}}; |
2449 |
2491468 |
if (name == "dt-cyclic") return OptionInfo{"dt-cyclic", {}, opts.datatypes.dtCyclicWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.datatypes.dtCyclic}}; |
2450 |
2491468 |
if (name == "dt-force-assignment") return OptionInfo{"dt-force-assignment", {}, opts.datatypes.dtForceAssignmentWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.datatypes.dtForceAssignment}}; |
2451 |
2491468 |
if (name == "dt-infer-as-lemmas") return OptionInfo{"dt-infer-as-lemmas", {}, opts.datatypes.dtInferAsLemmasWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.datatypes.dtInferAsLemmas}}; |
2452 |
2491468 |
if (name == "dt-nested-rec") return OptionInfo{"dt-nested-rec", {}, opts.datatypes.dtNestedRecWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.datatypes.dtNestedRec}}; |
2453 |
2491468 |
if (name == "dt-polite-optimize") return OptionInfo{"dt-polite-optimize", {}, opts.datatypes.dtPoliteOptimizeWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.datatypes.dtPoliteOptimize}}; |
2454 |
2491468 |
if (name == "dt-rewrite-error-sel") return OptionInfo{"dt-rewrite-error-sel", {}, opts.datatypes.dtRewriteErrorSelWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.datatypes.dtRewriteErrorSel}}; |
2455 |
2491468 |
if (name == "dt-share-sel") return OptionInfo{"dt-share-sel", {}, opts.datatypes.dtSharedSelectorsWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.datatypes.dtSharedSelectors}}; |
2456 |
2491468 |
if (name == "dt-stc-ind") return OptionInfo{"dt-stc-ind", {}, opts.quantifiers.dtStcInductionWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.dtStcInduction}}; |
2457 |
2491468 |
if (name == "dt-var-exp-quant") return OptionInfo{"dt-var-exp-quant", {}, opts.quantifiers.dtVarExpandQuantWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.dtVarExpandQuant}}; |
2458 |
2491468 |
if (name == "dump") return OptionInfo{"dump", {}, opts.smt.dumpModeStringWasSetByUser, OptionInfo::ValueInfo<std::string>{std::string(), opts.smt.dumpModeString}}; |
2459 |
2491468 |
if (name == "dump-instantiations") return OptionInfo{"dump-instantiations", {}, opts.driver.dumpInstantiationsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.driver.dumpInstantiations}}; |
2460 |
2193101 |
if (name == "dump-instantiations-debug") return OptionInfo{"dump-instantiations-debug", {}, opts.driver.dumpInstantiationsDebugWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.driver.dumpInstantiationsDebug}}; |
2461 |
1894881 |
if (name == "dump-models") return OptionInfo{"dump-models", {}, opts.driver.dumpModelsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.driver.dumpModels}}; |
2462 |
1596514 |
if (name == "dump-proofs") return OptionInfo{"dump-proofs", {}, opts.driver.dumpProofsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.driver.dumpProofs}}; |
2463 |
1298147 |
if (name == "dump-to") return OptionInfo{"dump-to", {}, opts.smt.dumpToFileNameWasSetByUser, OptionInfo::VoidInfo{}}; |
2464 |
1298147 |
if (name == "dump-unsat-cores") return OptionInfo{"dump-unsat-cores", {}, opts.driver.dumpUnsatCoresWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.driver.dumpUnsatCores}}; |
2465 |
999780 |
if (name == "dump-unsat-cores-full") return OptionInfo{"dump-unsat-cores-full", {}, opts.driver.dumpUnsatCoresFullWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.driver.dumpUnsatCoresFull}}; |
2466 |
701422 |
if (name == "e-matching") return OptionInfo{"e-matching", {}, opts.quantifiers.eMatchingWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.eMatching}}; |
2467 |
701422 |
if (name == "early-exit") return OptionInfo{"early-exit", {}, opts.driver.earlyExitWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.driver.earlyExit}}; |
2468 |
695285 |
if (name == "early-ite-removal") return OptionInfo{"early-ite-removal", {}, opts.smt.earlyIteRemovalWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.earlyIteRemoval}}; |
2469 |
695285 |
if (name == "ee-mode") return OptionInfo{"ee-mode", {}, opts.theory.eeModeWasSetByUser, OptionInfo::ModeInfo{"DISTRIBUTED", opts.theory.eeMode, { "CENTRAL", "DISTRIBUTED" }}}; |
2470 |
695285 |
if (name == "elim-taut-quant") return OptionInfo{"elim-taut-quant", {}, opts.quantifiers.elimTautQuantWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.elimTautQuant}}; |
2471 |
695285 |
if (name == "error-selection-rule") return OptionInfo{"error-selection-rule", {}, opts.arith.arithErrorSelectionRuleWasSetByUser, OptionInfo::ModeInfo{"MINIMUM_AMOUNT", opts.arith.arithErrorSelectionRule, { "MAXIMUM_AMOUNT", "MINIMUM_AMOUNT", "SUM_METRIC", "VAR_ORDER" }}}; |
2472 |
695285 |
if (name == "expand-definitions") return OptionInfo{"expand-definitions", {}, opts.smt.expandDefinitionsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.expandDefinitions}}; |
2473 |
695285 |
if (name == "expr-depth") return OptionInfo{"expr-depth", {}, opts.expr.defaultExprDepthWasSetByUser, OptionInfo::NumberInfo<int64_t>{0, opts.expr.defaultExprDepth, -1, {}}}; |
2474 |
695285 |
if (name == "ext-rew-prep") return OptionInfo{"ext-rew-prep", {}, opts.smt.extRewPrepWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.extRewPrep}}; |
2475 |
695285 |
if (name == "ext-rew-prep-agg") return OptionInfo{"ext-rew-prep-agg", {}, opts.smt.extRewPrepAggWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.extRewPrepAgg}}; |
2476 |
695285 |
if (name == "ext-rewrite-quant") return OptionInfo{"ext-rewrite-quant", {}, opts.quantifiers.extRewriteQuantWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.extRewriteQuant}}; |
2477 |
695285 |
if (name == "fc-penalties") return OptionInfo{"fc-penalties", {}, opts.arith.havePenaltiesWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.havePenalties}}; |
2478 |
695285 |
if (name == "filename") return OptionInfo{"filename", {}, opts.driver.filenameWasSetByUser, OptionInfo::ValueInfo<std::string>{std::string(), opts.driver.filename}}; |
2479 |
695285 |
if (name == "filesystem-access") return OptionInfo{"filesystem-access", {}, opts.parser.filesystemAccessWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.parser.filesystemAccess}}; |
2480 |
688897 |
if (name == "finite-model-find") return OptionInfo{"finite-model-find", {}, opts.quantifiers.finiteModelFindWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.finiteModelFind}}; |
2481 |
688897 |
if (name == "flatten-ho-chains") return OptionInfo{"flatten-ho-chains", {}, opts.printer.flattenHOChainsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.printer.flattenHOChains}}; |
2482 |
688897 |
if (name == "fmf-bound") return OptionInfo{"fmf-bound", {}, opts.quantifiers.fmfBoundWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.fmfBound}}; |
2483 |
688897 |
if (name == "fmf-bound-int") return OptionInfo{"fmf-bound-int", {}, opts.quantifiers.fmfBoundIntWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.fmfBoundInt}}; |
2484 |
688897 |
if (name == "fmf-bound-lazy") return OptionInfo{"fmf-bound-lazy", {}, opts.quantifiers.fmfBoundLazyWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.fmfBoundLazy}}; |
2485 |
688897 |
if (name == "fmf-fmc-simple") return OptionInfo{"fmf-fmc-simple", {}, opts.quantifiers.fmfFmcSimpleWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.fmfFmcSimple}}; |
2486 |
688897 |
if (name == "fmf-fresh-dc") return OptionInfo{"fmf-fresh-dc", {}, opts.quantifiers.fmfFreshDistConstWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.fmfFreshDistConst}}; |
2487 |
688897 |
if (name == "fmf-fun") return OptionInfo{"fmf-fun", {}, opts.quantifiers.fmfFunWellDefinedWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.fmfFunWellDefined}}; |
2488 |
688897 |
if (name == "fmf-fun-rlv") return OptionInfo{"fmf-fun-rlv", {}, opts.quantifiers.fmfFunWellDefinedRelevantWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.fmfFunWellDefinedRelevant}}; |
2489 |
688897 |
if (name == "fmf-inst-engine") return OptionInfo{"fmf-inst-engine", {}, opts.quantifiers.fmfInstEngineWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.fmfInstEngine}}; |
2490 |
688897 |
if (name == "fmf-type-completion-thresh") return OptionInfo{"fmf-type-completion-thresh", {}, opts.quantifiers.fmfTypeCompletionThreshWasSetByUser, OptionInfo::NumberInfo<int64_t>{1000, opts.quantifiers.fmfTypeCompletionThresh, {}, {}}}; |
2491 |
688897 |
if (name == "force-logic") return OptionInfo{"force-logic", {}, opts.parser.forceLogicStringWasSetByUser, OptionInfo::ValueInfo<std::string>{std::string(), opts.parser.forceLogicString}}; |
2492 |
682497 |
if (name == "force-no-limit-cpu-while-dump") return OptionInfo{"force-no-limit-cpu-while-dump", {}, opts.driver.forceNoLimitCpuWhileDumpWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.driver.forceNoLimitCpuWhileDump}}; |
2493 |
682469 |
if (name == "foreign-theory-rewrite") return OptionInfo{"foreign-theory-rewrite", {}, opts.smt.foreignTheoryRewriteWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.foreignTheoryRewrite}}; |
2494 |
682469 |
if (name == "fp-exp") return OptionInfo{"fp-exp", {}, opts.fp.fpExpWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.fp.fpExp}}; |
2495 |
682469 |
if (name == "fp-lazy-wb") return OptionInfo{"fp-lazy-wb", {}, opts.fp.fpLazyWbWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.fp.fpLazyWb}}; |
2496 |
682469 |
if (name == "fs-interleave") return OptionInfo{"fs-interleave", {}, opts.quantifiers.fullSaturateInterleaveWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.fullSaturateInterleave}}; |
2497 |
682469 |
if (name == "fs-stratify") return OptionInfo{"fs-stratify", {}, opts.quantifiers.fullSaturateStratifyWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.fullSaturateStratify}}; |
2498 |
682469 |
if (name == "fs-sum") return OptionInfo{"fs-sum", {}, opts.quantifiers.fullSaturateSumWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.fullSaturateSum}}; |
2499 |
682469 |
if (name == "full-saturate-quant") return OptionInfo{"full-saturate-quant", {}, opts.quantifiers.fullSaturateQuantWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.fullSaturateQuant}}; |
2500 |
682469 |
if (name == "full-saturate-quant-limit") return OptionInfo{"full-saturate-quant-limit", {}, opts.quantifiers.fullSaturateLimitWasSetByUser, OptionInfo::NumberInfo<int64_t>{-1, opts.quantifiers.fullSaturateLimit, {}, {}}}; |
2501 |
682469 |
if (name == "full-saturate-quant-rd") return OptionInfo{"full-saturate-quant-rd", {}, opts.quantifiers.fullSaturateQuantRdWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.fullSaturateQuantRd}}; |
2502 |
682469 |
if (name == "global-declarations") return OptionInfo{"global-declarations", {}, opts.parser.globalDeclarationsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.parser.globalDeclarations}}; |
2503 |
682469 |
if (name == "global-negate") return OptionInfo{"global-negate", {}, opts.quantifiers.globalNegateWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.globalNegate}}; |
2504 |
682469 |
if (name == "help") return OptionInfo{"help", {}, opts.driver.helpWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.driver.help}}; |
2505 |
676312 |
if (name == "heuristic-pivots") return OptionInfo{"heuristic-pivots", {}, opts.arith.arithHeuristicPivotsWasSetByUser, OptionInfo::NumberInfo<int64_t>{0, opts.arith.arithHeuristicPivots, {}, {}}}; |
2506 |
676312 |
if (name == "ho-elim") return OptionInfo{"ho-elim", {}, opts.quantifiers.hoElimWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.hoElim}}; |
2507 |
676312 |
if (name == "ho-elim-store-ax") return OptionInfo{"ho-elim-store-ax", {}, opts.quantifiers.hoElimStoreAxWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.hoElimStoreAx}}; |
2508 |
676312 |
if (name == "ho-matching") return OptionInfo{"ho-matching", {}, opts.quantifiers.hoMatchingWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.hoMatching}}; |
2509 |
676312 |
if (name == "ho-matching-var-priority") return OptionInfo{"ho-matching-var-priority", {}, opts.quantifiers.hoMatchingVarArgPriorityWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.hoMatchingVarArgPriority}}; |
2510 |
676312 |
if (name == "ho-merge-term-db") return OptionInfo{"ho-merge-term-db", {}, opts.quantifiers.hoMergeTermDbWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.hoMergeTermDb}}; |
2511 |
676312 |
if (name == "iand-mode") return OptionInfo{"iand-mode", {}, opts.smt.iandModeWasSetByUser, OptionInfo::ModeInfo{"VALUE", opts.smt.iandMode, { "BITWISE", "SUM", "VALUE" }}}; |
2512 |
676312 |
if (name == "in") return OptionInfo{"in", {}, opts.base.inWasSetByUser, OptionInfo::VoidInfo{}}; |
2513 |
676312 |
if (name == "increment-triggers") return OptionInfo{"increment-triggers", {}, opts.quantifiers.incrementTriggersWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.incrementTriggers}}; |
2514 |
676312 |
if (name == "incremental") return OptionInfo{"incremental", {}, opts.base.incrementalSolvingWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.base.incrementalSolving}}; |
2515 |
670155 |
if (name == "input-language" || name == "lang") return OptionInfo{"lang", {"input-language"}, opts.base.inputLanguageWasSetByUser, OptionInfo::VoidInfo{}}; |
2516 |
670155 |
if (name == "inst-level-input-only") return OptionInfo{"inst-level-input-only", {}, opts.quantifiers.instLevelInputOnlyWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.instLevelInputOnly}}; |
2517 |
670155 |
if (name == "inst-max-level") return OptionInfo{"inst-max-level", {}, opts.quantifiers.instMaxLevelWasSetByUser, OptionInfo::NumberInfo<int64_t>{-1, opts.quantifiers.instMaxLevel, {}, {}}}; |
2518 |
670155 |
if (name == "inst-max-rounds") return OptionInfo{"inst-max-rounds", {}, opts.quantifiers.instMaxRoundsWasSetByUser, OptionInfo::NumberInfo<int64_t>{-1, opts.quantifiers.instMaxRounds, {}, {}}}; |
2519 |
670155 |
if (name == "inst-no-entail") return OptionInfo{"inst-no-entail", {}, opts.quantifiers.instNoEntailWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.instNoEntail}}; |
2520 |
670155 |
if (name == "inst-when") return OptionInfo{"inst-when", {}, opts.quantifiers.instWhenModeWasSetByUser, OptionInfo::ModeInfo{"FULL_LAST_CALL", opts.quantifiers.instWhenMode, { "FULL", "FULL_DELAY", "FULL_DELAY_LAST_CALL", "FULL_LAST_CALL", "LAST_CALL", "PRE_FULL" }}}; |
2521 |
670155 |
if (name == "inst-when-phase") return OptionInfo{"inst-when-phase", {}, opts.quantifiers.instWhenPhaseWasSetByUser, OptionInfo::NumberInfo<int64_t>{2, opts.quantifiers.instWhenPhase, {}, {}}}; |
2522 |
670155 |
if (name == "inst-when-strict-interleave") return OptionInfo{"inst-when-strict-interleave", {}, opts.quantifiers.instWhenStrictInterleaveWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.instWhenStrictInterleave}}; |
2523 |
670155 |
if (name == "inst-when-tc-first") return OptionInfo{"inst-when-tc-first", {}, opts.quantifiers.instWhenTcFirstWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.instWhenTcFirst}}; |
2524 |
670155 |
if (name == "int-wf-ind") return OptionInfo{"int-wf-ind", {}, opts.quantifiers.intWfInductionWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.intWfInduction}}; |
2525 |
670155 |
if (name == "interactive") return OptionInfo{"interactive", {}, opts.driver.interactiveWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.driver.interactive}}; |
2526 |
657841 |
if (name == "interactive-mode") return OptionInfo{"interactive-mode", {}, opts.smt.interactiveModeWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.smt.interactiveMode}}; |
2527 |
657841 |
if (name == "ite-dtt-split-quant") return OptionInfo{"ite-dtt-split-quant", {}, opts.quantifiers.iteDtTesterSplitQuantWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.iteDtTesterSplitQuant}}; |
2528 |
657841 |
if (name == "ite-lift-quant") return OptionInfo{"ite-lift-quant", {}, opts.quantifiers.iteLiftQuantWasSetByUser, OptionInfo::ModeInfo{"SIMPLE", opts.quantifiers.iteLiftQuant, { "ALL", "NONE", "SIMPLE" }}}; |
2529 |
657841 |
if (name == "ite-simp") return OptionInfo{"ite-simp", {}, opts.smt.doITESimpWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.smt.doITESimp}}; |
2530 |
657841 |
if (name == "jh-rlv-order") return OptionInfo{"jh-rlv-order", {}, opts.decision.jhRlvOrderWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.decision.jhRlvOrder}}; |
2531 |
657841 |
if (name == "jh-skolem") return OptionInfo{"jh-skolem", {}, opts.decision.jhSkolemModeWasSetByUser, OptionInfo::ModeInfo{"FIRST", opts.decision.jhSkolemMode, { "FIRST", "LAST" }}}; |
2532 |
657841 |
if (name == "jh-skolem-rlv") return OptionInfo{"jh-skolem-rlv", {}, opts.decision.jhSkolemRlvModeWasSetByUser, OptionInfo::ModeInfo{"ASSERT", opts.decision.jhSkolemRlvMode, { "ALWAYS", "ASSERT" }}}; |
2533 |
657841 |
if (name == "language-help") return OptionInfo{"language-help", {}, opts.base.languageHelpWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.base.languageHelp}}; |
2534 |
651684 |
if (name == "learned-rewrite") return OptionInfo{"learned-rewrite", {}, opts.smt.learnedRewriteWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.learnedRewrite}}; |
2535 |
651684 |
if (name == "lemmas-on-replay-failure") return OptionInfo{"lemmas-on-replay-failure", {}, opts.arith.replayFailureLemmaWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.replayFailureLemma}}; |
2536 |
651684 |
if (name == "literal-matching") return OptionInfo{"literal-matching", {}, opts.quantifiers.literalMatchModeWasSetByUser, OptionInfo::ModeInfo{"USE", opts.quantifiers.literalMatchMode, { "AGG", "AGG_PREDICATE", "NONE", "USE" }}}; |
2537 |
651684 |
if (name == "macros-quant") return OptionInfo{"macros-quant", {}, opts.quantifiers.macrosQuantWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.macrosQuant}}; |
2538 |
651684 |
if (name == "macros-quant-mode") return OptionInfo{"macros-quant-mode", {}, opts.quantifiers.macrosQuantModeWasSetByUser, OptionInfo::ModeInfo{"GROUND_UF", opts.quantifiers.macrosQuantMode, { "ALL", "GROUND", "GROUND_UF" }}}; |
2539 |
651684 |
if (name == "maxCutsInContext") return OptionInfo{"maxCutsInContext", {}, opts.arith.maxCutsInContextWasSetByUser, OptionInfo::NumberInfo<uint64_t>{65535, opts.arith.maxCutsInContext, {}, {}}}; |
2540 |
651684 |
if (name == "mbqi") return OptionInfo{"mbqi", {}, opts.quantifiers.mbqiModeWasSetByUser, OptionInfo::ModeInfo{"FMC", opts.quantifiers.mbqiMode, { "FMC", "NONE", "TRUST" }}}; |
2541 |
651684 |
if (name == "mbqi-interleave") return OptionInfo{"mbqi-interleave", {}, opts.quantifiers.mbqiInterleaveWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.mbqiInterleave}}; |
2542 |
651684 |
if (name == "mbqi-one-inst-per-round") return OptionInfo{"mbqi-one-inst-per-round", {}, opts.quantifiers.fmfOneInstPerRoundWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.fmfOneInstPerRound}}; |
2543 |
651684 |
if (name == "minimal-unsat-cores") return OptionInfo{"minimal-unsat-cores", {}, opts.smt.minimalUnsatCoresWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.minimalUnsatCores}}; |
2544 |
651684 |
if (name == "minisat-dump-dimacs") return OptionInfo{"minisat-dump-dimacs", {}, opts.prop.minisatDumpDimacsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.prop.minisatDumpDimacs}}; |
2545 |
651684 |
if (name == "minisat-elimination") return OptionInfo{"minisat-elimination", {}, opts.prop.minisatUseElimWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.prop.minisatUseElim}}; |
2546 |
651684 |
if (name == "miniscope-quant") return OptionInfo{"miniscope-quant", {}, opts.quantifiers.miniscopeQuantWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.miniscopeQuant}}; |
2547 |
651684 |
if (name == "miniscope-quant-fv") return OptionInfo{"miniscope-quant-fv", {}, opts.quantifiers.miniscopeQuantFreeVarWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.miniscopeQuantFreeVar}}; |
2548 |
651684 |
if (name == "miplib-trick") return OptionInfo{"miplib-trick", {}, opts.arith.arithMLTrickWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.arithMLTrick}}; |
2549 |
651684 |
if (name == "miplib-trick-subs") return OptionInfo{"miplib-trick-subs", {}, opts.arith.arithMLTrickSubstitutionsWasSetByUser, OptionInfo::NumberInfo<uint64_t>{1, opts.arith.arithMLTrickSubstitutions, {}, {}}}; |
2550 |
651684 |
if (name == "mmap") return OptionInfo{"mmap", {}, opts.parser.memoryMapWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.parser.memoryMap}}; |
2551 |
645527 |
if (name == "model-cores") return OptionInfo{"model-cores", {}, opts.smt.modelCoresModeWasSetByUser, OptionInfo::ModeInfo{"NONE", opts.smt.modelCoresMode, { "NONE", "NON_IMPLIED", "SIMPLE" }}}; |
2552 |
645527 |
if (name == "model-format") return OptionInfo{"model-format", {}, opts.printer.modelFormatModeWasSetByUser, OptionInfo::ModeInfo{"DEFAULT", opts.printer.modelFormatMode, { "DEFAULT", "TABLE" }}}; |
2553 |
645527 |
if (name == "model-u-print" || name == "model-uninterp-print") return OptionInfo{"model-u-print", {"model-uninterp-print"}, opts.smt.modelUninterpPrintWasSetByUser, OptionInfo::ModeInfo{"None", opts.smt.modelUninterpPrint, { "DeclFun", "DeclSortAndFun", "None" }}}; |
2554 |
645527 |
if (name == "model-witness-value") return OptionInfo{"model-witness-value", {}, opts.smt.modelWitnessValueWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.modelWitnessValue}}; |
2555 |
645527 |
if (name == "multi-trigger-cache") return OptionInfo{"multi-trigger-cache", {}, opts.quantifiers.multiTriggerCacheWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.multiTriggerCache}}; |
2556 |
645527 |
if (name == "multi-trigger-linear") return OptionInfo{"multi-trigger-linear", {}, opts.quantifiers.multiTriggerLinearWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.multiTriggerLinear}}; |
2557 |
645527 |
if (name == "multi-trigger-priority") return OptionInfo{"multi-trigger-priority", {}, opts.quantifiers.multiTriggerPriorityWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.multiTriggerPriority}}; |
2558 |
645527 |
if (name == "multi-trigger-when-single") return OptionInfo{"multi-trigger-when-single", {}, opts.quantifiers.multiTriggerWhenSingleWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.multiTriggerWhenSingle}}; |
2559 |
645527 |
if (name == "new-prop") return OptionInfo{"new-prop", {}, opts.arith.newPropWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.arith.newProp}}; |
2560 |
645527 |
if (name == "nl-cad") return OptionInfo{"nl-cad", {}, opts.arith.nlCadWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.nlCad}}; |
2561 |
645527 |
if (name == "nl-cad-initial") return OptionInfo{"nl-cad-initial", {}, opts.arith.nlCadUseInitialWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.nlCadUseInitial}}; |
2562 |
645527 |
if (name == "nl-cad-lift") return OptionInfo{"nl-cad-lift", {}, opts.arith.nlCadLiftingWasSetByUser, OptionInfo::ModeInfo{"REGULAR", opts.arith.nlCadLifting, { "LAZARD", "REGULAR" }}}; |
2563 |
645527 |
if (name == "nl-cad-proj") return OptionInfo{"nl-cad-proj", {}, opts.arith.nlCadProjectionWasSetByUser, OptionInfo::ModeInfo{"MCCALLUM", opts.arith.nlCadProjection, { "LAZARD", "LAZARDMOD", "MCCALLUM" }}}; |
2564 |
645527 |
if (name == "nl-ext") return OptionInfo{"nl-ext", {}, opts.arith.nlExtWasSetByUser, OptionInfo::ModeInfo{"FULL", opts.arith.nlExt, { "FULL", "LIGHT", "NONE" }}}; |
2565 |
645527 |
if (name == "nl-ext-ent-conf") return OptionInfo{"nl-ext-ent-conf", {}, opts.arith.nlExtEntailConflictsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.nlExtEntailConflicts}}; |
2566 |
645527 |
if (name == "nl-ext-factor") return OptionInfo{"nl-ext-factor", {}, opts.arith.nlExtFactorWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.arith.nlExtFactor}}; |
2567 |
645527 |
if (name == "nl-ext-inc-prec") return OptionInfo{"nl-ext-inc-prec", {}, opts.arith.nlExtIncPrecisionWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.arith.nlExtIncPrecision}}; |
2568 |
645527 |
if (name == "nl-ext-purify") return OptionInfo{"nl-ext-purify", {}, opts.arith.nlExtPurifyWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.nlExtPurify}}; |
2569 |
645527 |
if (name == "nl-ext-rbound") return OptionInfo{"nl-ext-rbound", {}, opts.arith.nlExtResBoundWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.nlExtResBound}}; |
2570 |
645527 |
if (name == "nl-ext-rewrite") return OptionInfo{"nl-ext-rewrite", {}, opts.arith.nlExtRewritesWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.arith.nlExtRewrites}}; |
2571 |
645527 |
if (name == "nl-ext-split-zero") return OptionInfo{"nl-ext-split-zero", {}, opts.arith.nlExtSplitZeroWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.nlExtSplitZero}}; |
2572 |
645527 |
if (name == "nl-ext-tf-taylor-deg") return OptionInfo{"nl-ext-tf-taylor-deg", {}, opts.arith.nlExtTfTaylorDegreeWasSetByUser, OptionInfo::NumberInfo<int64_t>{4, opts.arith.nlExtTfTaylorDegree, {}, {}}}; |
2573 |
645527 |
if (name == "nl-ext-tf-tplanes") return OptionInfo{"nl-ext-tf-tplanes", {}, opts.arith.nlExtTfTangentPlanesWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.arith.nlExtTfTangentPlanes}}; |
2574 |
645527 |
if (name == "nl-ext-tplanes") return OptionInfo{"nl-ext-tplanes", {}, opts.arith.nlExtTangentPlanesWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.nlExtTangentPlanes}}; |
2575 |
645527 |
if (name == "nl-ext-tplanes-interleave") return OptionInfo{"nl-ext-tplanes-interleave", {}, opts.arith.nlExtTangentPlanesInterleaveWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.nlExtTangentPlanesInterleave}}; |
2576 |
645527 |
if (name == "nl-icp") return OptionInfo{"nl-icp", {}, opts.arith.nlICPWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.nlICP}}; |
2577 |
645527 |
if (name == "nl-rlv") return OptionInfo{"nl-rlv", {}, opts.arith.nlRlvModeWasSetByUser, OptionInfo::ModeInfo{"NONE", opts.arith.nlRlvMode, { "ALWAYS", "INTERLEAVE", "NONE" }}}; |
2578 |
645527 |
if (name == "nl-rlv-assert-bounds") return OptionInfo{"nl-rlv-assert-bounds", {}, opts.arith.nlRlvAssertBoundsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.nlRlvAssertBounds}}; |
2579 |
645527 |
if (name == "on-repeat-ite-simp") return OptionInfo{"on-repeat-ite-simp", {}, opts.smt.doITESimpOnRepeatWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.doITESimpOnRepeat}}; |
2580 |
645527 |
if (name == "out" || name == "regular-output-channel") return OptionInfo{"out", {"regular-output-channel"}, opts.base.outWasSetByUser, OptionInfo::VoidInfo{}}; |
2581 |
645527 |
if (name == "output") return OptionInfo{"output", {}, opts.base.outputTagWasSetByUser, OptionInfo::ModeInfo{"NONE", opts.base.outputTag, { "INST", "NONE", "SYGUS", "TRIGGER" }}}; |
2582 |
645525 |
if (name == "output-lang" || name == "output-language") return OptionInfo{"output-lang", {"output-language"}, opts.base.outputLanguageWasSetByUser, OptionInfo::VoidInfo{}}; |
2583 |
645525 |
if (name == "parse-only") return OptionInfo{"parse-only", {}, opts.base.parseOnlyWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.base.parseOnly}}; |
2584 |
335789 |
if (name == "partial-triggers") return OptionInfo{"partial-triggers", {}, opts.quantifiers.partialTriggersWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.partialTriggers}}; |
2585 |
335789 |
if (name == "pb-rewrites") return OptionInfo{"pb-rewrites", {}, opts.arith.pbRewritesWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.pbRewrites}}; |
2586 |
335789 |
if (name == "pivot-threshold") return OptionInfo{"pivot-threshold", {}, opts.arith.arithPivotThresholdWasSetByUser, OptionInfo::NumberInfo<uint64_t>{2, opts.arith.arithPivotThreshold, {}, {}}}; |
2587 |
335789 |
if (name == "pool-inst") return OptionInfo{"pool-inst", {}, opts.quantifiers.poolInstWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.poolInst}}; |
2588 |
335789 |
if (name == "pp-assert-max-sub-size") return OptionInfo{"pp-assert-max-sub-size", {}, opts.arith.ppAssertMaxSubSizeWasSetByUser, OptionInfo::NumberInfo<uint64_t>{2, opts.arith.ppAssertMaxSubSize, {}, {}}}; |
2589 |
335789 |
if (name == "pre-skolem-quant") return OptionInfo{"pre-skolem-quant", {}, opts.quantifiers.preSkolemQuantWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.preSkolemQuant}}; |
2590 |
335789 |
if (name == "pre-skolem-quant-agg") return OptionInfo{"pre-skolem-quant-agg", {}, opts.quantifiers.preSkolemQuantAggWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.preSkolemQuantAgg}}; |
2591 |
335789 |
if (name == "pre-skolem-quant-nested") return OptionInfo{"pre-skolem-quant-nested", {}, opts.quantifiers.preSkolemQuantNestedWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.preSkolemQuantNested}}; |
2592 |
335789 |
if (name == "prenex-quant") return OptionInfo{"prenex-quant", {}, opts.quantifiers.prenexQuantWasSetByUser, OptionInfo::ModeInfo{"SIMPLE", opts.quantifiers.prenexQuant, { "NONE", "NORMAL", "SIMPLE" }}}; |
2593 |
335789 |
if (name == "prenex-quant-user") return OptionInfo{"prenex-quant-user", {}, opts.quantifiers.prenexQuantUserWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.prenexQuantUser}}; |
2594 |
335789 |
if (name == "preprocess-only") return OptionInfo{"preprocess-only", {}, opts.base.preprocessOnlyWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.base.preprocessOnly}}; |
2595 |
335789 |
if (name == "print-inst") return OptionInfo{"print-inst", {}, opts.printer.printInstModeWasSetByUser, OptionInfo::ModeInfo{"LIST", opts.printer.printInstMode, { "LIST", "NUM" }}}; |
2596 |
335789 |
if (name == "print-inst-full") return OptionInfo{"print-inst-full", {}, opts.printer.printInstFullWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.printer.printInstFull}}; |
2597 |
335789 |
if (name == "print-success") return OptionInfo{"print-success", {}, opts.base.printSuccessWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.base.printSuccess}}; |
2598 |
335789 |
if (name == "produce-abducts") return OptionInfo{"produce-abducts", {}, opts.smt.produceAbductsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.produceAbducts}}; |
2599 |
335789 |
if (name == "produce-assertions") return OptionInfo{"produce-assertions", {}, opts.smt.produceAssertionsWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.smt.produceAssertions}}; |
2600 |
335789 |
if (name == "produce-assignments") return OptionInfo{"produce-assignments", {}, opts.smt.produceAssignmentsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.produceAssignments}}; |
2601 |
335789 |
if (name == "produce-interpols") return OptionInfo{"produce-interpols", {}, opts.smt.produceInterpolsWasSetByUser, OptionInfo::ModeInfo{"NONE", opts.smt.produceInterpols, { "ALL", "ASSUMPTIONS", "CONJECTURE", "DEFAULT", "NONE", "SHARED" }}}; |
2602 |
335789 |
if (name == "produce-models") return OptionInfo{"produce-models", {}, opts.smt.produceModelsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.produceModels}}; |
2603 |
335789 |
if (name == "produce-proofs") return OptionInfo{"produce-proofs", {}, opts.smt.produceProofsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.produceProofs}}; |
2604 |
335789 |
if (name == "produce-unsat-assumptions") return OptionInfo{"produce-unsat-assumptions", {}, opts.smt.unsatAssumptionsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.unsatAssumptions}}; |
2605 |
335789 |
if (name == "produce-unsat-cores") return OptionInfo{"produce-unsat-cores", {}, opts.smt.unsatCoresWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.smt.unsatCores}}; |
2606 |
335789 |
if (name == "proof-check") return OptionInfo{"proof-check", {}, opts.proof.proofCheckWasSetByUser, OptionInfo::ModeInfo{"LAZY", opts.proof.proofCheck, { "EAGER", "EAGER_SIMPLE", "LAZY", "NONE" }}}; |
2607 |
335789 |
if (name == "proof-format-mode") return OptionInfo{"proof-format-mode", {}, opts.proof.proofFormatModeWasSetByUser, OptionInfo::ModeInfo{"NONE", opts.proof.proofFormatMode, { "DOT", "NONE", "TPTP", "VERIT" }}}; |
2608 |
335789 |
if (name == "proof-granularity") return OptionInfo{"proof-granularity", {}, opts.proof.proofGranularityModeWasSetByUser, OptionInfo::ModeInfo{"THEORY_REWRITE", opts.proof.proofGranularityMode, { "DSL_REWRITE", "OFF", "REWRITE", "THEORY_REWRITE" }}}; |
2609 |
335789 |
if (name == "proof-pedantic") return OptionInfo{"proof-pedantic", {}, opts.proof.proofPedanticWasSetByUser, OptionInfo::NumberInfo<uint64_t>{0, opts.proof.proofPedantic, {}, {}}}; |
2610 |
335789 |
if (name == "proof-pp-merge") return OptionInfo{"proof-pp-merge", {}, opts.proof.proofPpMergeWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.proof.proofPpMerge}}; |
2611 |
335789 |
if (name == "proof-print-conclusion") return OptionInfo{"proof-print-conclusion", {}, opts.proof.proofPrintConclusionWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.proof.proofPrintConclusion}}; |
2612 |
335789 |
if (name == "prop-row-length") return OptionInfo{"prop-row-length", {}, opts.arith.arithPropagateMaxLengthWasSetByUser, OptionInfo::NumberInfo<uint64_t>{16, opts.arith.arithPropagateMaxLength, {}, {}}}; |
2613 |
335789 |
if (name == "purify-triggers") return OptionInfo{"purify-triggers", {}, opts.quantifiers.purifyTriggersWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.purifyTriggers}}; |
2614 |
335789 |
if (name == "qcf-all-conflict") return OptionInfo{"qcf-all-conflict", {}, opts.quantifiers.qcfAllConflictWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.qcfAllConflict}}; |
2615 |
335789 |
if (name == "qcf-eager-check-rd") return OptionInfo{"qcf-eager-check-rd", {}, opts.quantifiers.qcfEagerCheckRdWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.qcfEagerCheckRd}}; |
2616 |
335789 |
if (name == "qcf-eager-test") return OptionInfo{"qcf-eager-test", {}, opts.quantifiers.qcfEagerTestWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.qcfEagerTest}}; |
2617 |
335789 |
if (name == "qcf-nested-conflict") return OptionInfo{"qcf-nested-conflict", {}, opts.quantifiers.qcfNestedConflictWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.qcfNestedConflict}}; |
2618 |
335789 |
if (name == "qcf-skip-rd") return OptionInfo{"qcf-skip-rd", {}, opts.quantifiers.qcfSkipRdWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.qcfSkipRd}}; |
2619 |
335789 |
if (name == "qcf-tconstraint") return OptionInfo{"qcf-tconstraint", {}, opts.quantifiers.qcfTConstraintWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.qcfTConstraint}}; |
2620 |
335789 |
if (name == "qcf-vo-exp") return OptionInfo{"qcf-vo-exp", {}, opts.quantifiers.qcfVoExpWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.qcfVoExp}}; |
2621 |
335789 |
if (name == "quant-alpha-equiv") return OptionInfo{"quant-alpha-equiv", {}, opts.quantifiers.quantAlphaEquivWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.quantAlphaEquiv}}; |
2622 |
335789 |
if (name == "quant-cf") return OptionInfo{"quant-cf", {}, opts.quantifiers.quantConflictFindWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.quantConflictFind}}; |
2623 |
335789 |
if (name == "quant-cf-mode") return OptionInfo{"quant-cf-mode", {}, opts.quantifiers.qcfModeWasSetByUser, OptionInfo::ModeInfo{"PROP_EQ", opts.quantifiers.qcfMode, { "CONFLICT_ONLY", "PARTIAL", "PROP_EQ" }}}; |
2624 |
335789 |
if (name == "quant-cf-when") return OptionInfo{"quant-cf-when", {}, opts.quantifiers.qcfWhenModeWasSetByUser, OptionInfo::ModeInfo{"DEFAULT", opts.quantifiers.qcfWhenMode, { "DEFAULT", "LAST_CALL", "STD", "STD_H" }}}; |
2625 |
335789 |
if (name == "quant-dsplit-mode") return OptionInfo{"quant-dsplit-mode", {}, opts.quantifiers.quantDynamicSplitWasSetByUser, OptionInfo::ModeInfo{"DEFAULT", opts.quantifiers.quantDynamicSplit, { "AGG", "DEFAULT", "NONE" }}}; |
2626 |
335789 |
if (name == "quant-fun-wd") return OptionInfo{"quant-fun-wd", {}, opts.quantifiers.quantFunWellDefinedWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.quantFunWellDefined}}; |
2627 |
335789 |
if (name == "quant-ind") return OptionInfo{"quant-ind", {}, opts.quantifiers.quantInductionWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.quantInduction}}; |
2628 |
335789 |
if (name == "quant-rep-mode") return OptionInfo{"quant-rep-mode", {}, opts.quantifiers.quantRepModeWasSetByUser, OptionInfo::ModeInfo{"FIRST", opts.quantifiers.quantRepMode, { "DEPTH", "EE", "FIRST" }}}; |
2629 |
335789 |
if (name == "quant-split") return OptionInfo{"quant-split", {}, opts.quantifiers.quantSplitWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.quantSplit}}; |
2630 |
335789 |
if (name == "quiet") return OptionInfo{"quiet", {}, false, OptionInfo::VoidInfo{}}; |
2631 |
335789 |
if (name == "random-freq" || name == "random-frequency") return OptionInfo{"random-freq", {"random-frequency"}, opts.prop.satRandomFreqWasSetByUser, OptionInfo::NumberInfo<double>{0.0, opts.prop.satRandomFreq, 0.0, 1.0}}; |
2632 |
335787 |
if (name == "random-seed") return OptionInfo{"random-seed", {}, opts.prop.satRandomSeedWasSetByUser, OptionInfo::NumberInfo<uint64_t>{0, opts.prop.satRandomSeed, {}, {}}}; |
2633 |
335787 |
if (name == "re-elim") return OptionInfo{"re-elim", {}, opts.strings.regExpElimWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.strings.regExpElim}}; |
2634 |
335787 |
if (name == "re-elim-agg") return OptionInfo{"re-elim-agg", {}, opts.strings.regExpElimAggWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.strings.regExpElimAgg}}; |
2635 |
335787 |
if (name == "re-inter-mode") return OptionInfo{"re-inter-mode", {}, opts.strings.stringRegExpInterModeWasSetByUser, OptionInfo::ModeInfo{"CONSTANT", opts.strings.stringRegExpInterMode, { "ALL", "CONSTANT", "NONE", "ONE_CONSTANT" }}}; |
2636 |
335787 |
if (name == "refine-conflicts") return OptionInfo{"refine-conflicts", {}, opts.prop.sat_refine_conflictsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.prop.sat_refine_conflicts}}; |
2637 |
335787 |
if (name == "register-quant-body-terms") return OptionInfo{"register-quant-body-terms", {}, opts.quantifiers.registerQuantBodyTermsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.registerQuantBodyTerms}}; |
2638 |
335787 |
if (name == "relational-triggers") return OptionInfo{"relational-triggers", {}, opts.quantifiers.relationalTriggersWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.relationalTriggers}}; |
2639 |
335787 |
if (name == "relevance-filter") return OptionInfo{"relevance-filter", {}, opts.theory.relevanceFilterWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.theory.relevanceFilter}}; |
2640 |
335787 |
if (name == "relevant-triggers") return OptionInfo{"relevant-triggers", {}, opts.quantifiers.relevantTriggersWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.relevantTriggers}}; |
2641 |
335787 |
if (name == "repeat-simp") return OptionInfo{"repeat-simp", {}, opts.smt.repeatSimpWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.smt.repeatSimp}}; |
2642 |
335787 |
if (name == "replay-early-close-depth") return OptionInfo{"replay-early-close-depth", {}, opts.arith.replayEarlyCloseDepthsWasSetByUser, OptionInfo::NumberInfo<int64_t>{1, opts.arith.replayEarlyCloseDepths, {}, {}}}; |
2643 |
335787 |
if (name == "replay-failure-penalty") return OptionInfo{"replay-failure-penalty", {}, opts.arith.replayFailurePenaltyWasSetByUser, OptionInfo::NumberInfo<int64_t>{100, opts.arith.replayFailurePenalty, {}, {}}}; |
2644 |
335787 |
if (name == "replay-lemma-reject-cut") return OptionInfo{"replay-lemma-reject-cut", {}, opts.arith.lemmaRejectCutSizeWasSetByUser, OptionInfo::NumberInfo<uint64_t>{25500, opts.arith.lemmaRejectCutSize, {}, {}}}; |
2645 |
335787 |
if (name == "replay-num-err-penalty") return OptionInfo{"replay-num-err-penalty", {}, opts.arith.replayNumericFailurePenaltyWasSetByUser, OptionInfo::NumberInfo<int64_t>{4194304, opts.arith.replayNumericFailurePenalty, {}, {}}}; |
2646 |
335787 |
if (name == "replay-reject-cut") return OptionInfo{"replay-reject-cut", {}, opts.arith.replayRejectCutSizeWasSetByUser, OptionInfo::NumberInfo<uint64_t>{25500, opts.arith.replayRejectCutSize, {}, {}}}; |
2647 |
335787 |
if (name == "replay-soi-major-threshold") return OptionInfo{"replay-soi-major-threshold", {}, opts.arith.soiApproxMajorFailureWasSetByUser, OptionInfo::NumberInfo<double>{.01, opts.arith.soiApproxMajorFailure, {}, {}}}; |
2648 |
335787 |
if (name == "replay-soi-major-threshold-pen") return OptionInfo{"replay-soi-major-threshold-pen", {}, opts.arith.soiApproxMajorFailurePenWasSetByUser, OptionInfo::NumberInfo<int64_t>{50, opts.arith.soiApproxMajorFailurePen, {}, {}}}; |
2649 |
335787 |
if (name == "replay-soi-minor-threshold") return OptionInfo{"replay-soi-minor-threshold", {}, opts.arith.soiApproxMinorFailureWasSetByUser, OptionInfo::NumberInfo<double>{.0001, opts.arith.soiApproxMinorFailure, {}, {}}}; |
2650 |
335787 |
if (name == "replay-soi-minor-threshold-pen") return OptionInfo{"replay-soi-minor-threshold-pen", {}, opts.arith.soiApproxMinorFailurePenWasSetByUser, OptionInfo::NumberInfo<int64_t>{10, opts.arith.soiApproxMinorFailurePen, {}, {}}}; |
2651 |
335787 |
if (name == "reproducible-resource-limit" || name == "rlimit-per") return OptionInfo{"rlimit-per", {"reproducible-resource-limit"}, opts.base.perCallResourceLimitWasSetByUser, OptionInfo::NumberInfo<uint64_t>{uint64_t(), opts.base.perCallResourceLimit, {}, {}}}; |
2652 |
335787 |
if (name == "restart-int-base") return OptionInfo{"restart-int-base", {}, opts.prop.satRestartFirstWasSetByUser, OptionInfo::NumberInfo<uint64_t>{25, opts.prop.satRestartFirst, {}, {}}}; |
2653 |
335787 |
if (name == "restart-int-inc") return OptionInfo{"restart-int-inc", {}, opts.prop.satRestartIncWasSetByUser, OptionInfo::NumberInfo<double>{3.0, opts.prop.satRestartInc, 0.0, {}}}; |
2654 |
335787 |
if (name == "restrict-pivots") return OptionInfo{"restrict-pivots", {}, opts.arith.restrictedPivotsWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.arith.restrictedPivots}}; |
2655 |
335787 |
if (name == "revert-arith-models-on-unsat") return OptionInfo{"revert-arith-models-on-unsat", {}, opts.arith.revertArithModelsWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.revertArithModels}}; |
2656 |
335787 |
if (name == "rlimit") return OptionInfo{"rlimit", {}, opts.base.cumulativeResourceLimitWasSetByUser, OptionInfo::NumberInfo<uint64_t>{uint64_t(), opts.base.cumulativeResourceLimit, {}, {}}}; |
2657 |
335787 |
if (name == "rr-turns") return OptionInfo{"rr-turns", {}, opts.arith.rrTurnsWasSetByUser, OptionInfo::NumberInfo<int64_t>{3, opts.arith.rrTurns, {}, {}}}; |
2658 |
335787 |
if (name == "rweight") return OptionInfo{"rweight", {}, false, OptionInfo::VoidInfo{}}; |
2659 |
335787 |
if (name == "se-solve-int") return OptionInfo{"se-solve-int", {}, opts.arith.trySolveIntStandardEffortWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.trySolveIntStandardEffort}}; |
2660 |
335787 |
if (name == "seed") return OptionInfo{"seed", {}, opts.driver.seedWasSetByUser, OptionInfo::NumberInfo<uint64_t>{0, opts.driver.seed, {}, {}}}; |
2661 |
335787 |
if (name == "segv-spin") return OptionInfo{"segv-spin", {}, opts.driver.segvSpinWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.driver.segvSpin}}; |
2662 |
329630 |
if (name == "semantic-checks") return OptionInfo{"semantic-checks", {}, opts.parser.semanticChecksWasSetByUser, OptionInfo::ValueInfo<bool>{DO_SEMANTIC_CHECKS_BY_DEFAULT, opts.parser.semanticChecks}}; |
2663 |
323242 |
if (name == "sep-check-neg") return OptionInfo{"sep-check-neg", {}, opts.sep.sepCheckNegWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.sep.sepCheckNeg}}; |
2664 |
323242 |
if (name == "sep-child-refine") return OptionInfo{"sep-child-refine", {}, opts.sep.sepChildRefineWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.sep.sepChildRefine}}; |
2665 |
323242 |
if (name == "sep-deq-c") return OptionInfo{"sep-deq-c", {}, opts.sep.sepDisequalCWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.sep.sepDisequalC}}; |
2666 |
323242 |
if (name == "sep-exp") return OptionInfo{"sep-exp", {}, opts.sep.sepExpWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.sep.sepExp}}; |
2667 |
323242 |
if (name == "sep-min-refine") return OptionInfo{"sep-min-refine", {}, opts.sep.sepMinimalRefineWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.sep.sepMinimalRefine}}; |
2668 |
323242 |
if (name == "sep-pre-skolem-emp") return OptionInfo{"sep-pre-skolem-emp", {}, opts.sep.sepPreSkolemEmpWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.sep.sepPreSkolemEmp}}; |
2669 |
323242 |
if (name == "sets-ext") return OptionInfo{"sets-ext", {}, opts.sets.setsExtWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.sets.setsExt}}; |
2670 |
323242 |
if (name == "sets-infer-as-lemmas") return OptionInfo{"sets-infer-as-lemmas", {}, opts.sets.setsInferAsLemmasWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.sets.setsInferAsLemmas}}; |
2671 |
323242 |
if (name == "sets-proxy-lemmas") return OptionInfo{"sets-proxy-lemmas", {}, opts.sets.setsProxyLemmasWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.sets.setsProxyLemmas}}; |
2672 |
323242 |
if (name == "show-config") return OptionInfo{"show-config", {}, false, OptionInfo::VoidInfo{}}; |
2673 |
323242 |
if (name == "show-debug-tags") return OptionInfo{"show-debug-tags", {}, false, OptionInfo::VoidInfo{}}; |
2674 |
323242 |
if (name == "show-trace-tags") return OptionInfo{"show-trace-tags", {}, false, OptionInfo::VoidInfo{}}; |
2675 |
323242 |
if (name == "simp-ite-compress") return OptionInfo{"simp-ite-compress", {}, opts.smt.compressItesWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.compressItes}}; |
2676 |
323242 |
if (name == "simp-ite-hunt-zombies") return OptionInfo{"simp-ite-hunt-zombies", {}, opts.smt.zombieHuntThresholdWasSetByUser, OptionInfo::NumberInfo<uint64_t>{524288, opts.smt.zombieHuntThreshold, {}, {}}}; |
2677 |
323242 |
if (name == "simp-with-care") return OptionInfo{"simp-with-care", {}, opts.smt.simplifyWithCareEnabledWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.simplifyWithCareEnabled}}; |
2678 |
323242 |
if (name == "simplex-check-period") return OptionInfo{"simplex-check-period", {}, opts.arith.arithSimplexCheckPeriodWasSetByUser, OptionInfo::NumberInfo<uint64_t>{200, opts.arith.arithSimplexCheckPeriod, {}, {}}}; |
2679 |
323242 |
if (name == "simplification" || name == "simplification-mode") return OptionInfo{"simplification", {"simplification-mode"}, opts.smt.simplificationModeWasSetByUser, OptionInfo::ModeInfo{"BATCH", opts.smt.simplificationMode, { "BATCH", "NONE" }}}; |
2680 |
323242 |
if (name == "soi-qe") return OptionInfo{"soi-qe", {}, opts.arith.soiQuickExplainWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.soiQuickExplain}}; |
2681 |
323242 |
if (name == "solve-bv-as-int") return OptionInfo{"solve-bv-as-int", {}, opts.smt.solveBVAsIntWasSetByUser, OptionInfo::ModeInfo{"OFF", opts.smt.solveBVAsInt, { "BV", "IAND", "OFF", "SUM" }}}; |
2682 |
323242 |
if (name == "solve-int-as-bv") return OptionInfo{"solve-int-as-bv", {}, opts.smt.solveIntAsBVWasSetByUser, OptionInfo::NumberInfo<uint64_t>{0, opts.smt.solveIntAsBV, {}, {}}}; |
2683 |
323242 |
if (name == "solve-real-as-int") return OptionInfo{"solve-real-as-int", {}, opts.smt.solveRealAsIntWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.solveRealAsInt}}; |
2684 |
323242 |
if (name == "sort-inference") return OptionInfo{"sort-inference", {}, opts.smt.sortInferenceWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.sortInference}}; |
2685 |
323242 |
if (name == "standard-effort-variable-order-pivots") return OptionInfo{"standard-effort-variable-order-pivots", {}, opts.arith.arithStandardCheckVarOrderPivotsWasSetByUser, OptionInfo::NumberInfo<int64_t>{-1, opts.arith.arithStandardCheckVarOrderPivots, {}, {}}}; |
2686 |
323242 |
if (name == "static-learning") return OptionInfo{"static-learning", {}, opts.smt.doStaticLearningWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.smt.doStaticLearning}}; |
2687 |
323242 |
if (name == "stats") return OptionInfo{"stats", {}, opts.base.statisticsWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.base.statistics}}; |
2688 |
317085 |
if (name == "stats-all") return OptionInfo{"stats-all", {}, opts.base.statisticsAllWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.base.statisticsAll}}; |
2689 |
317085 |
if (name == "stats-every-query") return OptionInfo{"stats-every-query", {}, opts.base.statisticsEveryQueryWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.base.statisticsEveryQuery}}; |
2690 |
317085 |
if (name == "stats-expert") return OptionInfo{"stats-expert", {}, opts.base.statisticsExpertWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.base.statisticsExpert}}; |
2691 |
317085 |
if (name == "strict-parsing") return OptionInfo{"strict-parsing", {}, opts.parser.strictParsingWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.parser.strictParsing}}; |
2692 |
310697 |
if (name == "strings-check-entail-len") return OptionInfo{"strings-check-entail-len", {}, opts.strings.stringCheckEntailLenWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.strings.stringCheckEntailLen}}; |
2693 |
310697 |
if (name == "strings-eager") return OptionInfo{"strings-eager", {}, opts.strings.stringEagerWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.strings.stringEager}}; |
2694 |
310697 |
if (name == "strings-eager-eval") return OptionInfo{"strings-eager-eval", {}, opts.strings.stringEagerEvalWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.strings.stringEagerEval}}; |
2695 |
310697 |
if (name == "strings-eager-len") return OptionInfo{"strings-eager-len", {}, opts.strings.stringEagerLenWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.strings.stringEagerLen}}; |
2696 |
310697 |
if (name == "strings-exp") return OptionInfo{"strings-exp", {}, opts.strings.stringExpWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.strings.stringExp}}; |
2697 |
310697 |
if (name == "strings-ff") return OptionInfo{"strings-ff", {}, opts.strings.stringFlatFormsWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.strings.stringFlatForms}}; |
2698 |
310697 |
if (name == "strings-fmf") return OptionInfo{"strings-fmf", {}, opts.strings.stringFMFWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.strings.stringFMF}}; |
2699 |
310697 |
if (name == "strings-guess-model") return OptionInfo{"strings-guess-model", {}, opts.strings.stringGuessModelWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.strings.stringGuessModel}}; |
2700 |
310697 |
if (name == "strings-infer-as-lemmas") return OptionInfo{"strings-infer-as-lemmas", {}, opts.strings.stringInferAsLemmasWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.strings.stringInferAsLemmas}}; |
2701 |
310697 |
if (name == "strings-infer-sym") return OptionInfo{"strings-infer-sym", {}, opts.strings.stringInferSymWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.strings.stringInferSym}}; |
2702 |
310697 |
if (name == "strings-lazy-pp") return OptionInfo{"strings-lazy-pp", {}, opts.strings.stringLazyPreprocWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.strings.stringLazyPreproc}}; |
2703 |
310697 |
if (name == "strings-len-norm") return OptionInfo{"strings-len-norm", {}, opts.strings.stringLenNormWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.strings.stringLenNorm}}; |
2704 |
310697 |
if (name == "strings-lprop-csp") return OptionInfo{"strings-lprop-csp", {}, opts.strings.stringLenPropCspWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.strings.stringLenPropCsp}}; |
2705 |
310697 |
if (name == "strings-min-prefix-explain") return OptionInfo{"strings-min-prefix-explain", {}, opts.strings.stringMinPrefixExplainWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.strings.stringMinPrefixExplain}}; |
2706 |
310697 |
if (name == "strings-process-loop-mode") return OptionInfo{"strings-process-loop-mode", {}, opts.strings.stringProcessLoopModeWasSetByUser, OptionInfo::ModeInfo{"FULL", opts.strings.stringProcessLoopMode, { "ABORT", "FULL", "NONE", "SIMPLE", "SIMPLE_ABORT" }}}; |
2707 |
310697 |
if (name == "strings-rexplain-lemmas") return OptionInfo{"strings-rexplain-lemmas", {}, opts.strings.stringRExplainLemmasWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.strings.stringRExplainLemmas}}; |
2708 |
310697 |
if (name == "strings-unified-vspt") return OptionInfo{"strings-unified-vspt", {}, opts.strings.stringUnifiedVSptWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.strings.stringUnifiedVSpt}}; |
2709 |
310697 |
if (name == "sygus") return OptionInfo{"sygus", {}, opts.quantifiers.sygusWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygus}}; |
2710 |
310697 |
if (name == "sygus-abort-size") return OptionInfo{"sygus-abort-size", {}, opts.datatypes.sygusAbortSizeWasSetByUser, OptionInfo::NumberInfo<int64_t>{-1, opts.datatypes.sygusAbortSize, {}, {}}}; |
2711 |
310697 |
if (name == "sygus-active-gen") return OptionInfo{"sygus-active-gen", {}, opts.quantifiers.sygusActiveGenModeWasSetByUser, OptionInfo::ModeInfo{"AUTO", opts.quantifiers.sygusActiveGenMode, { "AUTO", "ENUM", "ENUM_BASIC", "NONE", "VAR_AGNOSTIC" }}}; |
2712 |
310697 |
if (name == "sygus-active-gen-cfactor") return OptionInfo{"sygus-active-gen-cfactor", {}, opts.quantifiers.sygusActiveGenEnumConstsWasSetByUser, OptionInfo::NumberInfo<uint64_t>{5, opts.quantifiers.sygusActiveGenEnumConsts, {}, {}}}; |
2713 |
310697 |
if (name == "sygus-add-const-grammar") return OptionInfo{"sygus-add-const-grammar", {}, opts.quantifiers.sygusAddConstGrammarWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusAddConstGrammar}}; |
2714 |
310697 |
if (name == "sygus-arg-relevant") return OptionInfo{"sygus-arg-relevant", {}, opts.quantifiers.sygusArgRelevantWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusArgRelevant}}; |
2715 |
310697 |
if (name == "sygus-auto-unfold") return OptionInfo{"sygus-auto-unfold", {}, opts.quantifiers.sygusInvAutoUnfoldWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusInvAutoUnfold}}; |
2716 |
310697 |
if (name == "sygus-bool-ite-return-const") return OptionInfo{"sygus-bool-ite-return-const", {}, opts.quantifiers.sygusBoolIteReturnConstWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusBoolIteReturnConst}}; |
2717 |
310697 |
if (name == "sygus-core-connective") return OptionInfo{"sygus-core-connective", {}, opts.quantifiers.sygusCoreConnectiveWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusCoreConnective}}; |
2718 |
310697 |
if (name == "sygus-crepair-abort") return OptionInfo{"sygus-crepair-abort", {}, opts.quantifiers.sygusConstRepairAbortWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusConstRepairAbort}}; |
2719 |
310697 |
if (name == "sygus-eval-opt") return OptionInfo{"sygus-eval-opt", {}, opts.quantifiers.sygusEvalOptWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusEvalOpt}}; |
2720 |
310697 |
if (name == "sygus-eval-unfold") return OptionInfo{"sygus-eval-unfold", {}, opts.quantifiers.sygusEvalUnfoldWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusEvalUnfold}}; |
2721 |
310697 |
if (name == "sygus-eval-unfold-bool") return OptionInfo{"sygus-eval-unfold-bool", {}, opts.quantifiers.sygusEvalUnfoldBoolWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusEvalUnfoldBool}}; |
2722 |
310697 |
if (name == "sygus-expr-miner-check-timeout") return OptionInfo{"sygus-expr-miner-check-timeout", {}, opts.quantifiers.sygusExprMinerCheckTimeoutWasSetByUser, OptionInfo::NumberInfo<uint64_t>{uint64_t(), opts.quantifiers.sygusExprMinerCheckTimeout, {}, {}}}; |
2723 |
310697 |
if (name == "sygus-ext-rew") return OptionInfo{"sygus-ext-rew", {}, opts.quantifiers.sygusExtRewWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusExtRew}}; |
2724 |
310697 |
if (name == "sygus-fair") return OptionInfo{"sygus-fair", {}, opts.datatypes.sygusFairWasSetByUser, OptionInfo::ModeInfo{"DT_SIZE", opts.datatypes.sygusFair, { "DIRECT", "DT_HEIGHT_PRED", "DT_SIZE", "DT_SIZE_PRED", "NONE" }}}; |
2725 |
310697 |
if (name == "sygus-fair-max") return OptionInfo{"sygus-fair-max", {}, opts.datatypes.sygusFairMaxWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.datatypes.sygusFairMax}}; |
2726 |
310697 |
if (name == "sygus-filter-sol") return OptionInfo{"sygus-filter-sol", {}, opts.quantifiers.sygusFilterSolModeWasSetByUser, OptionInfo::ModeInfo{"NONE", opts.quantifiers.sygusFilterSolMode, { "NONE", "STRONG", "WEAK" }}}; |
2727 |
310697 |
if (name == "sygus-filter-sol-rev") return OptionInfo{"sygus-filter-sol-rev", {}, opts.quantifiers.sygusFilterSolRevSubsumeWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusFilterSolRevSubsume}}; |
2728 |
310697 |
if (name == "sygus-grammar-cons") return OptionInfo{"sygus-grammar-cons", {}, opts.quantifiers.sygusGrammarConsModeWasSetByUser, OptionInfo::ModeInfo{"SIMPLE", opts.quantifiers.sygusGrammarConsMode, { "ANY_CONST", "ANY_TERM", "ANY_TERM_CONCISE", "SIMPLE" }}}; |
2729 |
310697 |
if (name == "sygus-grammar-norm") return OptionInfo{"sygus-grammar-norm", {}, opts.quantifiers.sygusGrammarNormWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusGrammarNorm}}; |
2730 |
310697 |
if (name == "sygus-inference") return OptionInfo{"sygus-inference", {}, opts.quantifiers.sygusInferenceWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusInference}}; |
2731 |
310697 |
if (name == "sygus-inst") return OptionInfo{"sygus-inst", {}, opts.quantifiers.sygusInstWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusInst}}; |
2732 |
310697 |
if (name == "sygus-inst-mode") return OptionInfo{"sygus-inst-mode", {}, opts.quantifiers.sygusInstModeWasSetByUser, OptionInfo::ModeInfo{"PRIORITY_INST", opts.quantifiers.sygusInstMode, { "INTERLEAVE", "PRIORITY_EVAL", "PRIORITY_INST" }}}; |
2733 |
310697 |
if (name == "sygus-inst-scope") return OptionInfo{"sygus-inst-scope", {}, opts.quantifiers.sygusInstScopeWasSetByUser, OptionInfo::ModeInfo{"IN", opts.quantifiers.sygusInstScope, { "BOTH", "IN", "OUT" }}}; |
2734 |
310697 |
if (name == "sygus-inst-term-sel") return OptionInfo{"sygus-inst-term-sel", {}, opts.quantifiers.sygusInstTermSelWasSetByUser, OptionInfo::ModeInfo{"MIN", opts.quantifiers.sygusInstTermSel, { "BOTH", "MAX", "MIN" }}}; |
2735 |
310697 |
if (name == "sygus-inv-templ") return OptionInfo{"sygus-inv-templ", {}, opts.quantifiers.sygusInvTemplModeWasSetByUser, OptionInfo::ModeInfo{"POST", opts.quantifiers.sygusInvTemplMode, { "NONE", "POST", "PRE" }}}; |
2736 |
310697 |
if (name == "sygus-inv-templ-when-sg") return OptionInfo{"sygus-inv-templ-when-sg", {}, opts.quantifiers.sygusInvTemplWhenSyntaxWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusInvTemplWhenSyntax}}; |
2737 |
310697 |
if (name == "sygus-min-grammar") return OptionInfo{"sygus-min-grammar", {}, opts.quantifiers.sygusMinGrammarWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusMinGrammar}}; |
2738 |
310697 |
if (name == "sygus-out") return OptionInfo{"sygus-out", {}, opts.smt.sygusOutWasSetByUser, OptionInfo::ModeInfo{"STANDARD", opts.smt.sygusOut, { "STANDARD", "STATUS", "STATUS_AND_DEF", "STATUS_OR_DEF" }}}; |
2739 |
310697 |
if (name == "sygus-pbe") return OptionInfo{"sygus-pbe", {}, opts.quantifiers.sygusUnifPbeWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusUnifPbe}}; |
2740 |
310697 |
if (name == "sygus-pbe-multi-fair") return OptionInfo{"sygus-pbe-multi-fair", {}, opts.quantifiers.sygusPbeMultiFairWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusPbeMultiFair}}; |
2741 |
310697 |
if (name == "sygus-pbe-multi-fair-diff") return OptionInfo{"sygus-pbe-multi-fair-diff", {}, opts.quantifiers.sygusPbeMultiFairDiffWasSetByUser, OptionInfo::NumberInfo<int64_t>{0, opts.quantifiers.sygusPbeMultiFairDiff, {}, {}}}; |
2742 |
310697 |
if (name == "sygus-print-callbacks") return OptionInfo{"sygus-print-callbacks", {}, opts.smt.sygusPrintCallbacksWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.smt.sygusPrintCallbacks}}; |
2743 |
310697 |
if (name == "sygus-qe-preproc") return OptionInfo{"sygus-qe-preproc", {}, opts.quantifiers.sygusQePreprocWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusQePreproc}}; |
2744 |
310697 |
if (name == "sygus-query-gen") return OptionInfo{"sygus-query-gen", {}, opts.quantifiers.sygusQueryGenWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusQueryGen}}; |
2745 |
310697 |
if (name == "sygus-query-gen-check") return OptionInfo{"sygus-query-gen-check", {}, opts.quantifiers.sygusQueryGenCheckWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusQueryGenCheck}}; |
2746 |
310697 |
if (name == "sygus-query-gen-dump-files") return OptionInfo{"sygus-query-gen-dump-files", {}, opts.quantifiers.sygusQueryGenDumpFilesWasSetByUser, OptionInfo::ModeInfo{"NONE", opts.quantifiers.sygusQueryGenDumpFiles, { "ALL", "NONE", "UNSOLVED" }}}; |
2747 |
310697 |
if (name == "sygus-query-gen-thresh") return OptionInfo{"sygus-query-gen-thresh", {}, opts.quantifiers.sygusQueryGenThreshWasSetByUser, OptionInfo::NumberInfo<uint64_t>{5, opts.quantifiers.sygusQueryGenThresh, {}, {}}}; |
2748 |
310697 |
if (name == "sygus-rec-fun") return OptionInfo{"sygus-rec-fun", {}, opts.quantifiers.sygusRecFunWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusRecFun}}; |
2749 |
310697 |
if (name == "sygus-rec-fun-eval-limit") return OptionInfo{"sygus-rec-fun-eval-limit", {}, opts.quantifiers.sygusRecFunEvalLimitWasSetByUser, OptionInfo::NumberInfo<uint64_t>{1000, opts.quantifiers.sygusRecFunEvalLimit, {}, {}}}; |
2750 |
310697 |
if (name == "sygus-repair-const") return OptionInfo{"sygus-repair-const", {}, opts.quantifiers.sygusRepairConstWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusRepairConst}}; |
2751 |
310697 |
if (name == "sygus-repair-const-timeout") return OptionInfo{"sygus-repair-const-timeout", {}, opts.quantifiers.sygusRepairConstTimeoutWasSetByUser, OptionInfo::NumberInfo<uint64_t>{uint64_t(), opts.quantifiers.sygusRepairConstTimeout, {}, {}}}; |
2752 |
310697 |
if (name == "sygus-rr") return OptionInfo{"sygus-rr", {}, opts.quantifiers.sygusRewWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusRew}}; |
2753 |
310697 |
if (name == "sygus-rr-synth") return OptionInfo{"sygus-rr-synth", {}, opts.quantifiers.sygusRewSynthWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusRewSynth}}; |
2754 |
310697 |
if (name == "sygus-rr-synth-accel") return OptionInfo{"sygus-rr-synth-accel", {}, opts.quantifiers.sygusRewSynthAccelWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusRewSynthAccel}}; |
2755 |
310697 |
if (name == "sygus-rr-synth-check") return OptionInfo{"sygus-rr-synth-check", {}, opts.quantifiers.sygusRewSynthCheckWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusRewSynthCheck}}; |
2756 |
310697 |
if (name == "sygus-rr-synth-filter-cong") return OptionInfo{"sygus-rr-synth-filter-cong", {}, opts.quantifiers.sygusRewSynthFilterCongWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusRewSynthFilterCong}}; |
2757 |
310697 |
if (name == "sygus-rr-synth-filter-match") return OptionInfo{"sygus-rr-synth-filter-match", {}, opts.quantifiers.sygusRewSynthFilterMatchWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusRewSynthFilterMatch}}; |
2758 |
310697 |
if (name == "sygus-rr-synth-filter-nl") return OptionInfo{"sygus-rr-synth-filter-nl", {}, opts.quantifiers.sygusRewSynthFilterNonLinearWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusRewSynthFilterNonLinear}}; |
2759 |
310697 |
if (name == "sygus-rr-synth-filter-order") return OptionInfo{"sygus-rr-synth-filter-order", {}, opts.quantifiers.sygusRewSynthFilterOrderWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusRewSynthFilterOrder}}; |
2760 |
310697 |
if (name == "sygus-rr-synth-input") return OptionInfo{"sygus-rr-synth-input", {}, opts.quantifiers.sygusRewSynthInputWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusRewSynthInput}}; |
2761 |
310697 |
if (name == "sygus-rr-synth-input-nvars") return OptionInfo{"sygus-rr-synth-input-nvars", {}, opts.quantifiers.sygusRewSynthInputNVarsWasSetByUser, OptionInfo::NumberInfo<int64_t>{3, opts.quantifiers.sygusRewSynthInputNVars, {}, {}}}; |
2762 |
310697 |
if (name == "sygus-rr-synth-input-use-bool") return OptionInfo{"sygus-rr-synth-input-use-bool", {}, opts.quantifiers.sygusRewSynthInputUseBoolWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusRewSynthInputUseBool}}; |
2763 |
310697 |
if (name == "sygus-rr-synth-rec") return OptionInfo{"sygus-rr-synth-rec", {}, opts.quantifiers.sygusRewSynthRecWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusRewSynthRec}}; |
2764 |
310697 |
if (name == "sygus-rr-verify") return OptionInfo{"sygus-rr-verify", {}, opts.quantifiers.sygusRewVerifyWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusRewVerify}}; |
2765 |
310697 |
if (name == "sygus-rr-verify-abort") return OptionInfo{"sygus-rr-verify-abort", {}, opts.quantifiers.sygusRewVerifyAbortWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusRewVerifyAbort}}; |
2766 |
310697 |
if (name == "sygus-sample-fp-uniform") return OptionInfo{"sygus-sample-fp-uniform", {}, opts.quantifiers.sygusSampleFpUniformWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusSampleFpUniform}}; |
2767 |
310697 |
if (name == "sygus-sample-grammar") return OptionInfo{"sygus-sample-grammar", {}, opts.quantifiers.sygusSampleGrammarWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusSampleGrammar}}; |
2768 |
310697 |
if (name == "sygus-samples") return OptionInfo{"sygus-samples", {}, opts.quantifiers.sygusSamplesWasSetByUser, OptionInfo::NumberInfo<int64_t>{1000, opts.quantifiers.sygusSamples, {}, {}}}; |
2769 |
310697 |
if (name == "sygus-si") return OptionInfo{"sygus-si", {}, opts.quantifiers.cegqiSingleInvModeWasSetByUser, OptionInfo::ModeInfo{"NONE", opts.quantifiers.cegqiSingleInvMode, { "ALL", "NONE", "USE" }}}; |
2770 |
310697 |
if (name == "sygus-si-abort") return OptionInfo{"sygus-si-abort", {}, opts.quantifiers.cegqiSingleInvAbortWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqiSingleInvAbort}}; |
2771 |
310697 |
if (name == "sygus-si-partial") return OptionInfo{"sygus-si-partial", {}, opts.quantifiers.cegqiSingleInvPartialWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.cegqiSingleInvPartial}}; |
2772 |
310697 |
if (name == "sygus-si-rcons") return OptionInfo{"sygus-si-rcons", {}, opts.quantifiers.cegqiSingleInvReconstructWasSetByUser, OptionInfo::ModeInfo{"ALL_LIMIT", opts.quantifiers.cegqiSingleInvReconstruct, { "ALL", "ALL_LIMIT", "NONE", "TRY" }}}; |
2773 |
310697 |
if (name == "sygus-si-rcons-limit") return OptionInfo{"sygus-si-rcons-limit", {}, opts.quantifiers.cegqiSingleInvReconstructLimitWasSetByUser, OptionInfo::NumberInfo<int64_t>{10000, opts.quantifiers.cegqiSingleInvReconstructLimit, {}, {}}}; |
2774 |
310697 |
if (name == "sygus-si-reconstruct-const") return OptionInfo{"sygus-si-reconstruct-const", {}, opts.quantifiers.cegqiSingleInvReconstructConstWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.cegqiSingleInvReconstructConst}}; |
2775 |
310697 |
if (name == "sygus-stream") return OptionInfo{"sygus-stream", {}, opts.quantifiers.sygusStreamWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusStream}}; |
2776 |
310697 |
if (name == "sygus-sym-break") return OptionInfo{"sygus-sym-break", {}, opts.datatypes.sygusSymBreakWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.datatypes.sygusSymBreak}}; |
2777 |
310697 |
if (name == "sygus-sym-break-agg") return OptionInfo{"sygus-sym-break-agg", {}, opts.datatypes.sygusSymBreakAggWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.datatypes.sygusSymBreakAgg}}; |
2778 |
310697 |
if (name == "sygus-sym-break-dynamic") return OptionInfo{"sygus-sym-break-dynamic", {}, opts.datatypes.sygusSymBreakDynamicWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.datatypes.sygusSymBreakDynamic}}; |
2779 |
310697 |
if (name == "sygus-sym-break-lazy") return OptionInfo{"sygus-sym-break-lazy", {}, opts.datatypes.sygusSymBreakLazyWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.datatypes.sygusSymBreakLazy}}; |
2780 |
310697 |
if (name == "sygus-sym-break-pbe") return OptionInfo{"sygus-sym-break-pbe", {}, opts.datatypes.sygusSymBreakPbeWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.datatypes.sygusSymBreakPbe}}; |
2781 |
310697 |
if (name == "sygus-sym-break-rlv") return OptionInfo{"sygus-sym-break-rlv", {}, opts.datatypes.sygusSymBreakRlvWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.datatypes.sygusSymBreakRlv}}; |
2782 |
310697 |
if (name == "sygus-templ-embed-grammar") return OptionInfo{"sygus-templ-embed-grammar", {}, opts.quantifiers.sygusTemplEmbedGrammarWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusTemplEmbedGrammar}}; |
2783 |
310697 |
if (name == "sygus-unif-cond-independent-no-repeat-sol") return OptionInfo{"sygus-unif-cond-independent-no-repeat-sol", {}, opts.quantifiers.sygusUnifCondIndNoRepeatSolWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.sygusUnifCondIndNoRepeatSol}}; |
2784 |
310697 |
if (name == "sygus-unif-pi") return OptionInfo{"sygus-unif-pi", {}, opts.quantifiers.sygusUnifPiWasSetByUser, OptionInfo::ModeInfo{"NONE", opts.quantifiers.sygusUnifPi, { "CENUM", "CENUM_IGAIN", "COMPLETE", "NONE" }}}; |
2785 |
310697 |
if (name == "sygus-unif-shuffle-cond") return OptionInfo{"sygus-unif-shuffle-cond", {}, opts.quantifiers.sygusUnifShuffleCondWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.quantifiers.sygusUnifShuffleCond}}; |
2786 |
310697 |
if (name == "sygus-verify-inst-max-rounds") return OptionInfo{"sygus-verify-inst-max-rounds", {}, opts.quantifiers.sygusVerifyInstMaxRoundsWasSetByUser, OptionInfo::NumberInfo<int64_t>{3, opts.quantifiers.sygusVerifyInstMaxRounds, {}, {}}}; |
2787 |
310697 |
if (name == "symmetry-breaker" || name == "uf-symmetry-breaker") return OptionInfo{"symmetry-breaker", {"uf-symmetry-breaker"}, opts.uf.ufSymmetryBreakerWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.uf.ufSymmetryBreaker}}; |
2788 |
310697 |
if (name == "tc-mode") return OptionInfo{"tc-mode", {}, opts.theory.tcModeWasSetByUser, OptionInfo::ModeInfo{"CARE_GRAPH", opts.theory.tcMode, { "CARE_GRAPH" }}}; |
2789 |
310697 |
if (name == "term-db-cd") return OptionInfo{"term-db-cd", {}, opts.quantifiers.termDbCdWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.termDbCd}}; |
2790 |
310697 |
if (name == "term-db-mode") return OptionInfo{"term-db-mode", {}, opts.quantifiers.termDbModeWasSetByUser, OptionInfo::ModeInfo{"ALL", opts.quantifiers.termDbMode, { "ALL", "RELEVANT" }}}; |
2791 |
310697 |
if (name == "theoryof-mode") return OptionInfo{"theoryof-mode", {}, opts.theory.theoryOfModeWasSetByUser, OptionInfo::ModeInfo{"THEORY_OF_TYPE_BASED", opts.theory.theoryOfMode, { "THEORY_OF_TERM_BASED", "THEORY_OF_TYPE_BASED" }}}; |
2792 |
310697 |
if (name == "tlimit") return OptionInfo{"tlimit", {}, opts.base.cumulativeMillisecondLimitWasSetByUser, OptionInfo::NumberInfo<uint64_t>{uint64_t(), opts.base.cumulativeMillisecondLimit, {}, {}}}; |
2793 |
304540 |
if (name == "tlimit-per") return OptionInfo{"tlimit-per", {}, opts.base.perCallMillisecondLimitWasSetByUser, OptionInfo::NumberInfo<uint64_t>{uint64_t(), opts.base.perCallMillisecondLimit, {}, {}}}; |
2794 |
304540 |
if (name == "trace") return OptionInfo{"trace", {}, false, OptionInfo::VoidInfo{}}; |
2795 |
304540 |
if (name == "trigger-active-sel") return OptionInfo{"trigger-active-sel", {}, opts.quantifiers.triggerActiveSelModeWasSetByUser, OptionInfo::ModeInfo{"ALL", opts.quantifiers.triggerActiveSelMode, { "ALL", "MAX", "MIN" }}}; |
2796 |
304540 |
if (name == "trigger-sel") return OptionInfo{"trigger-sel", {}, opts.quantifiers.triggerSelModeWasSetByUser, OptionInfo::ModeInfo{"MIN", opts.quantifiers.triggerSelMode, { "ALL", "MAX", "MIN", "MIN_SINGLE_ALL", "MIN_SINGLE_MAX" }}}; |
2797 |
304540 |
if (name == "type-checking") return OptionInfo{"type-checking", {}, opts.expr.typeCheckingWasSetByUser, OptionInfo::ValueInfo<bool>{DO_SEMANTIC_CHECKS_BY_DEFAULT, opts.expr.typeChecking}}; |
2798 |
304540 |
if (name == "uf-ho") return OptionInfo{"uf-ho", {}, opts.uf.ufHoWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.uf.ufHo}}; |
2799 |
304540 |
if (name == "uf-ho-ext") return OptionInfo{"uf-ho-ext", {}, opts.uf.ufHoExtWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.uf.ufHoExt}}; |
2800 |
304540 |
if (name == "uf-ss") return OptionInfo{"uf-ss", {}, opts.uf.ufssModeWasSetByUser, OptionInfo::ModeInfo{"FULL", opts.uf.ufssMode, { "FULL", "NONE", "NO_MINIMAL" }}}; |
2801 |
304540 |
if (name == "uf-ss-abort-card") return OptionInfo{"uf-ss-abort-card", {}, opts.uf.ufssAbortCardinalityWasSetByUser, OptionInfo::NumberInfo<int64_t>{-1, opts.uf.ufssAbortCardinality, {}, {}}}; |
2802 |
304540 |
if (name == "uf-ss-fair") return OptionInfo{"uf-ss-fair", {}, opts.uf.ufssFairnessWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.uf.ufssFairness}}; |
2803 |
304540 |
if (name == "uf-ss-fair-monotone") return OptionInfo{"uf-ss-fair-monotone", {}, opts.uf.ufssFairnessMonotoneWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.uf.ufssFairnessMonotone}}; |
2804 |
304540 |
if (name == "uf-ss-totality-limited") return OptionInfo{"uf-ss-totality-limited", {}, opts.uf.ufssTotalityLimitedWasSetByUser, OptionInfo::NumberInfo<int64_t>{-1, opts.uf.ufssTotalityLimited, {}, {}}}; |
2805 |
304540 |
if (name == "uf-ss-totality-sym-break") return OptionInfo{"uf-ss-totality-sym-break", {}, opts.uf.ufssTotalitySymBreakWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.uf.ufssTotalitySymBreak}}; |
2806 |
304540 |
if (name == "unate-lemmas") return OptionInfo{"unate-lemmas", {}, opts.arith.arithUnateLemmaModeWasSetByUser, OptionInfo::ModeInfo{"ALL", opts.arith.arithUnateLemmaMode, { "ALL", "EQUALITY", "INEQUALITY", "NO" }}}; |
2807 |
304540 |
if (name == "unconstrained-simp") return OptionInfo{"unconstrained-simp", {}, opts.smt.unconstrainedSimpWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.smt.unconstrainedSimp}}; |
2808 |
304540 |
if (name == "unsat-cores-mode") return OptionInfo{"unsat-cores-mode", {}, opts.smt.unsatCoresModeWasSetByUser, OptionInfo::ModeInfo{"OFF", opts.smt.unsatCoresMode, { "ASSUMPTIONS", "FULL_PROOF", "OFF", "SAT_PROOF" }}}; |
2809 |
304540 |
if (name == "use-approx") return OptionInfo{"use-approx", {}, opts.arith.useApproxWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.useApprox}}; |
2810 |
304540 |
if (name == "use-fcsimplex") return OptionInfo{"use-fcsimplex", {}, opts.arith.useFCWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.useFC}}; |
2811 |
304540 |
if (name == "use-soi") return OptionInfo{"use-soi", {}, opts.arith.useSOIWasSetByUser, OptionInfo::ValueInfo<bool>{false, opts.arith.useSOI}}; |
2812 |
304540 |
if (name == "user-pat") return OptionInfo{"user-pat", {}, opts.quantifiers.userPatternsQuantWasSetByUser, OptionInfo::ModeInfo{"TRUST", opts.quantifiers.userPatternsQuant, { "IGNORE", "INTERLEAVE", "RESORT", "STRICT", "TRUST", "USE" }}}; |
2813 |
304540 |
if (name == "var-elim-quant") return OptionInfo{"var-elim-quant", {}, opts.quantifiers.varElimQuantWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.varElimQuant}}; |
2814 |
304540 |
if (name == "var-ineq-elim-quant") return OptionInfo{"var-ineq-elim-quant", {}, opts.quantifiers.varIneqElimQuantWasSetByUser, OptionInfo::ValueInfo<bool>{true, opts.quantifiers.varIneqElimQuant}}; |
2815 |
304540 |
if (name == "verbose") return OptionInfo{"verbose", {}, false, OptionInfo::VoidInfo{}}; |
2816 |
304538 |
if (name == "verbosity") return OptionInfo{"verbosity", {}, opts.base.verbosityWasSetByUser, OptionInfo::NumberInfo<int64_t>{0, opts.base.verbosity, {}, {}}}; |
2817 |
6159 |
if (name == "version") return OptionInfo{"version", {}, opts.driver.versionWasSetByUser, OptionInfo::ValueInfo<bool>{bool(), opts.driver.version}}; |
2818 |
|
// clang-format on |
2819 |
2 |
return OptionInfo{"", {}, false, OptionInfo::VoidInfo{}}; |
2820 |
|
} |
2821 |
|
|
2822 |
|
#undef DO_SEMANTIC_CHECKS_BY_DEFAULT |
2823 |
|
|
2824 |
29502 |
} // namespace cvc5::options |