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