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 |
|
* Options utilities used in the driver. |
14 |
|
*/ |
15 |
|
|
16 |
|
#include "main/options.h" |
17 |
|
|
18 |
|
#if !defined(_BSD_SOURCE) && defined(__MINGW32__) && !defined(__MINGW64__) |
19 |
|
// force use of optreset; mingw32 croaks on argv-switching otherwise |
20 |
|
#include "base/cvc5config.h" |
21 |
|
#define _BSD_SOURCE |
22 |
|
#undef HAVE_DECL_OPTRESET |
23 |
|
#define HAVE_DECL_OPTRESET 1 |
24 |
|
#define CVC5_IS_NOT_REALLY_BSD |
25 |
|
#endif /* !_BSD_SOURCE && __MINGW32__ && !__MINGW64__ */ |
26 |
|
|
27 |
|
#ifdef __MINGW64__ |
28 |
|
extern int optreset; |
29 |
|
#endif /* __MINGW64__ */ |
30 |
|
|
31 |
|
#include <getopt.h> |
32 |
|
|
33 |
|
// clean up |
34 |
|
#ifdef CVC5_IS_NOT_REALLY_BSD |
35 |
|
# undef _BSD_SOURCE |
36 |
|
#endif /* CVC5_IS_NOT_REALLY_BSD */ |
37 |
|
|
38 |
|
#include "base/check.h" |
39 |
|
#include "base/output.h" |
40 |
|
#include "options/didyoumean.h" |
41 |
|
#include "options/option_exception.h" |
42 |
|
|
43 |
|
#include <cstring> |
44 |
|
#include <iostream> |
45 |
|
#include <limits> |
46 |
|
|
47 |
|
namespace cvc5::main { |
48 |
|
|
49 |
|
// clang-format off |
50 |
15164 |
static const std::string commonOptionsDescription = |
51 |
|
R"FOOBAR(Most commonly-used cvc5 options: |
52 |
|
--incremental | -i enable incremental solving [*] |
53 |
|
--lang=LANG | --input-language=LANG | -L LANG |
54 |
|
force input language (default is "auto"; see --lang |
55 |
|
help) |
56 |
|
--output-lang=LANG | --output-language=LANG |
57 |
|
force output language (default is "auto"; see |
58 |
|
--output-lang help) |
59 |
|
--quiet | -q decrease verbosity (may be repeated) |
60 |
|
--rlimit=N set resource limit |
61 |
|
--rlimit-per=N | --reproducible-resource-limit=N |
62 |
|
set resource limit per query |
63 |
|
--stats give statistics on exit [*] |
64 |
|
--tlimit=MS set time limit in milliseconds of wall clock time |
65 |
|
--tlimit-per=MS set time limit per query in milliseconds |
66 |
|
--verbose | -v increase verbosity (may be repeated) |
67 |
|
--copyright show cvc5 copyright information |
68 |
|
--help | -h full command line reference |
69 |
|
--seed=N | -s N seed for random number generator |
70 |
|
--show-config show cvc5 static configuration |
71 |
|
--version | -V identify this cvc5 binary |
72 |
|
--strict-parsing be less tolerant of non-conforming inputs [*] |
73 |
|
--dump=MODE dump preprocessed assertions, etc., see --dump=help |
74 |
|
--dump-to=FILE all dumping goes to FILE (instead of stdout) |
75 |
|
--produce-assertions keep an assertions list (enables get-assertions |
76 |
|
command) [*] |
77 |
|
--produce-models | -m support the get-value and get-model commands [*] |
78 |
|
)FOOBAR"; |
79 |
|
|
80 |
15164 |
static const std::string additionalOptionsDescription = |
81 |
|
R"FOOBAR(Additional cvc5 options: |
82 |
|
|
83 |
|
From the Arithmetic Theory module: |
84 |
|
--approx-branch-depth=N |
85 |
|
maximum branch depth the approximate solver is allowed |
86 |
|
to take |
87 |
|
--arith-brab whether to use simple rounding, similar to a unit-cube |
88 |
|
test, for integers [*] |
89 |
|
--arith-cong-man (experimental) whether to use the congruence manager |
90 |
|
when the equality solver is enabled [*] |
91 |
|
--arith-eq-solver whether to use the equality solver in the theory of |
92 |
|
arithmetic [*] |
93 |
|
--arith-no-partial-fun do not use partial function semantics for arithmetic |
94 |
|
(not SMT LIB compliant) [*] |
95 |
|
--arith-prop=MODE turns on arithmetic propagation (default is 'old', see |
96 |
|
--arith-prop=help) |
97 |
|
--arith-prop-clauses=N rows shorter than this are propagated as clauses |
98 |
|
--arith-rewrite-equalities |
99 |
|
turns on the preprocessing rewrite turning equalities |
100 |
|
into a conjunction of inequalities [*] |
101 |
|
--collect-pivot-stats collect the pivot history [*] |
102 |
|
--cut-all-bounded turns on the integer solving step of periodically |
103 |
|
cutting all integer variables that have both upper and |
104 |
|
lower bounds [*] |
105 |
|
--dio-decomps let skolem variables for integer divisibility |
106 |
|
constraints leak from the dio solver [*] |
107 |
|
--dio-solver turns on Linear Diophantine Equation solver (Griggio, |
108 |
|
JSAT 2012) [*] |
109 |
|
--dio-turns=N turns in a row dio solver cutting gets |
110 |
|
--error-selection-rule=RULE |
111 |
|
change the pivot rule for the basic variable (default |
112 |
|
is 'min', see --pivot-rule help) |
113 |
|
--fc-penalties turns on degenerate pivot penalties [*] |
114 |
|
--heuristic-pivots=N the number of times to apply the heuristic pivot rule; |
115 |
|
if N < 0, this defaults to the number of variables; if |
116 |
|
this is unset, this is tuned by the logic selection |
117 |
|
--lemmas-on-replay-failure |
118 |
|
attempt to use external lemmas if approximate solve |
119 |
|
integer failed [*] |
120 |
|
--maxCutsInContext=N maximum cuts in a given context before signalling a |
121 |
|
restart |
122 |
|
--miplib-trick turns on the preprocessing step of attempting to infer |
123 |
|
bounds on miplib problems [*] |
124 |
|
--miplib-trick-subs=N do substitution for miplib 'tmp' vars if defined in <= |
125 |
|
N eliminated vars |
126 |
|
--new-prop use the new row propagation system [*] |
127 |
|
--nl-cad whether to use the cylindrical algebraic decomposition |
128 |
|
solver for non-linear arithmetic [*] |
129 |
|
--nl-cad-initial whether to use the linear model as initial guess for |
130 |
|
the cylindrical algebraic decomposition solver [*] |
131 |
|
--nl-cad-lift=MODE choose the CAD lifting mode (EXPERTS only) |
132 |
|
--nl-cad-proj=MODE choose the CAD projection operator (EXPERTS only) |
133 |
|
--nl-ext=MODE incremental linearization approach to non-linear |
134 |
|
--nl-ext-ent-conf check for entailed conflicts in non-linear solver [*] |
135 |
|
--nl-ext-factor use factoring inference in non-linear incremental |
136 |
|
linearization solver [*] |
137 |
|
--nl-ext-inc-prec whether to increment the precision for irrational |
138 |
|
function constraints [*] |
139 |
|
--nl-ext-purify purify non-linear terms at preprocess [*] |
140 |
|
--nl-ext-rbound use resolution-style inference for inferring new bounds |
141 |
|
in non-linear incremental linearization solver [*] |
142 |
|
--nl-ext-rewrite do context-dependent simplification based on rewrites |
143 |
|
in non-linear solver [*] |
144 |
|
--nl-ext-split-zero initial splits on zero for all variables [*] |
145 |
|
--nl-ext-tf-taylor-deg=N |
146 |
|
initial degree of polynomials for Taylor approximation |
147 |
|
--nl-ext-tf-tplanes use non-terminating tangent plane strategy for |
148 |
|
transcendental functions for non-linear incremental |
149 |
|
linearization solver [*] |
150 |
|
--nl-ext-tplanes use non-terminating tangent plane strategy for |
151 |
|
non-linear incremental linearization solver [*] |
152 |
|
--nl-ext-tplanes-interleave |
153 |
|
interleave tangent plane strategy for non-linear |
154 |
|
incremental linearization solver [*] |
155 |
|
--nl-icp whether to use ICP-style propagations for non-linear |
156 |
|
arithmetic [*] |
157 |
|
--nl-rlv=MODE choose mode for using relevance of assertions in |
158 |
|
non-linear arithmetic |
159 |
|
--nl-rlv-assert-bounds use bound inference utility to prune when an assertion |
160 |
|
is entailed by another [*] |
161 |
|
--pb-rewrites apply pseudo boolean rewrites [*] |
162 |
|
--pivot-threshold=N sets the number of pivots using --pivot-rule per basic |
163 |
|
variable per simplex instance before using variable |
164 |
|
order |
165 |
|
--pp-assert-max-sub-size=N |
166 |
|
threshold for substituting an equality in ppAssert |
167 |
|
--prop-row-length=N sets the maximum row length to be used in propagation |
168 |
|
--replay-early-close-depth=N |
169 |
|
multiples of the depths to try to close the approx log |
170 |
|
eagerly |
171 |
|
--replay-lemma-reject-cut=N |
172 |
|
maximum complexity of any coefficient while outputting |
173 |
|
replaying cut lemmas |
174 |
|
--replay-num-err-penalty=N |
175 |
|
number of solve integer attempts to skips after a |
176 |
|
numeric failure |
177 |
|
--replay-reject-cut=N maximum complexity of any coefficient while replaying |
178 |
|
cuts |
179 |
|
--restrict-pivots have a pivot cap for simplex at effort levels below |
180 |
|
fullEffort [*] |
181 |
|
--revert-arith-models-on-unsat |
182 |
|
revert the arithmetic model to a known safe model on |
183 |
|
unsat if one is cached [*] |
184 |
|
--rr-turns=N round robin turn |
185 |
|
--se-solve-int attempt to use the approximate solve integer method on |
186 |
|
standard effort [*] |
187 |
|
--simplex-check-period=N |
188 |
|
the number of pivots to do in simplex before rechecking |
189 |
|
for a conflict on all variables |
190 |
|
--soi-qe use quick explain to minimize the sum of infeasibility |
191 |
|
conflicts [*] |
192 |
|
--standard-effort-variable-order-pivots=N |
193 |
|
limits the number of pivots in a single invocation of |
194 |
|
check() at a non-full effort level using Bland's pivot |
195 |
|
rule (EXPERTS only) |
196 |
|
--unate-lemmas=MODE determines which lemmas to add before solving (default |
197 |
|
is 'all', see --unate-lemmas=help) |
198 |
|
--use-approx attempt to use an approximate solver [*] |
199 |
|
--use-fcsimplex use focusing and converging simplex (FMCAD 2013 |
200 |
|
submission) [*] |
201 |
|
--use-soi use sum of infeasibility simplex (FMCAD 2013 |
202 |
|
submission) [*] |
203 |
|
|
204 |
|
From the Arrays Theory module: |
205 |
|
--arrays-eager-index turn on eager index splitting for generated array |
206 |
|
lemmas [*] |
207 |
|
--arrays-eager-lemmas turn on eager lemma generation for arrays [*] |
208 |
|
--arrays-exp enable experimental features in the theory of arrays |
209 |
|
(EXPERTS only) [*] |
210 |
|
--arrays-optimize-linear |
211 |
|
turn on optimization for linear array terms (see de |
212 |
|
Moura FMCAD 09 arrays paper) [*] |
213 |
|
--arrays-prop=N propagation effort for arrays: 0 is none, 1 is some, 2 |
214 |
|
is full |
215 |
|
--arrays-reduce-sharing |
216 |
|
use model information to reduce size of care graph for |
217 |
|
arrays [*] |
218 |
|
--arrays-weak-equiv use algorithm from Christ/Hoenicke (SMT 2014) [*] |
219 |
|
|
220 |
|
From the Base module: |
221 |
|
--debug=TAG | -d TAG debug something (e.g. -d arith), can repeat |
222 |
|
--output=TAG | -o TAG Enable output tag. |
223 |
|
--parse-only exit after parsing input [*] |
224 |
|
--preprocess-only exit after preprocessing input [*] |
225 |
|
--print-success print the "success" output required of SMT-LIBv2 [*] |
226 |
|
--rweight=VAL=N set a single resource weight (EXPERTS only) |
227 |
|
--stats-all print unchanged (defaulted) statistics as well (EXPERTS |
228 |
|
only) [*] |
229 |
|
--stats-every-query in incremental mode, print stats after every |
230 |
|
satisfiability or validity query [*] |
231 |
|
--stats-expert print expert (non-public) statistics as well (EXPERTS |
232 |
|
only) [*] |
233 |
|
--trace=TAG | -t TAG trace something (e.g. -t pushpop), can repeat |
234 |
|
--verbosity=N the verbosity level of cvc5 |
235 |
|
|
236 |
|
From the Bitvector Theory module: |
237 |
|
--bitblast=MODE choose bitblasting mode, see --bitblast=help |
238 |
|
--bitblast-aig bitblast by first converting to AIG (implies |
239 |
|
--bitblast=eager) [*] |
240 |
|
--bitwise-eq lift equivalence with one-bit bit-vectors to be boolean |
241 |
|
operations [*] |
242 |
|
--bool-to-bv=MODE convert booleans to bit-vectors of size 1 at various |
243 |
|
levels of aggressiveness, see --bool-to-bv=help |
244 |
|
--bv-aig-simp=COMMAND abc command to run AIG simplifications (implies |
245 |
|
--bitblast-aig, default is "balance;drw") (EXPERTS |
246 |
|
only) |
247 |
|
--bv-algebraic-budget=N |
248 |
|
the budget allowed for the algebraic solver in number |
249 |
|
of SAT conflicts (EXPERTS only) |
250 |
|
--bv-algebraic-solver turn on experimental algebraic solver for the |
251 |
|
bit-vector theory (only if --bv-solver=layered) |
252 |
|
(EXPERTS only) [*] |
253 |
|
--bv-assert-input assert input assertions on user-level 0 instead of |
254 |
|
assuming them in the bit-vector SAT solver [*] |
255 |
|
--bv-eager-explanations |
256 |
|
compute bit-blasting propagation explanations eagerly |
257 |
|
(EXPERTS only) [*] |
258 |
|
--bv-eq-solver use the equality engine for the bit-vector theory (only |
259 |
|
if --bv-solver=layered) [*] |
260 |
|
--bv-extract-arith enable rewrite pushing extract [i:0] over arithmetic |
261 |
|
operations (can blow up) (EXPERTS only) [*] |
262 |
|
--bv-gauss-elim simplify formula via Gaussian Elimination if applicable |
263 |
|
(EXPERTS only) [*] |
264 |
|
--bv-inequality-solver turn on the inequality solver for the bit-vector theory |
265 |
|
(only if --bv-solver=layered) [*] |
266 |
|
--bv-intro-pow2 introduce bitvector powers of two as a preprocessing |
267 |
|
pass (EXPERTS only) [*] |
268 |
|
--bv-num-func=N number of function symbols in conflicts that are |
269 |
|
generalized (EXPERTS only) |
270 |
|
--bv-print-consts-as-indexed-symbols |
271 |
|
print bit-vector constants in decimal (e.g. (_ bv1 4)) |
272 |
|
instead of binary (e.g. #b0001), applies to SMT-LIB 2.x |
273 |
|
[*] |
274 |
|
--bv-propagate use bit-vector propagation in the bit-blaster [*] |
275 |
|
--bv-quick-xplain minimize bv conflicts using the QuickXplain algorithm |
276 |
|
(EXPERTS only) [*] |
277 |
|
--bv-sat-solver=MODE choose which sat solver to use, see |
278 |
|
--bv-sat-solver=help (EXPERTS only) |
279 |
|
--bv-solver=MODE choose bit-vector solver, see --bv-solver=help |
280 |
|
--bv-to-bool lift bit-vectors of size 1 to booleans when possible |
281 |
|
[*] |
282 |
|
|
283 |
|
From the Datatypes Theory module: |
284 |
|
--cdt-bisimilar do bisimilarity check for co-datatypes [*] |
285 |
|
--dt-binary-split do binary splits for datatype constructor types [*] |
286 |
|
--dt-blast-splits when applicable, blast splitting lemmas for all |
287 |
|
variables at once [*] |
288 |
|
--dt-cyclic do cyclicity check for datatypes [*] |
289 |
|
--dt-force-assignment force the datatypes solver to give specific values to |
290 |
|
all datatypes terms before answering sat [*] |
291 |
|
--dt-infer-as-lemmas always send lemmas out instead of making internal |
292 |
|
inferences [*] |
293 |
|
--dt-nested-rec allow nested recursion in datatype definitions [*] |
294 |
|
--dt-polite-optimize turn on optimization for polite combination (EXPERTS |
295 |
|
only) [*] |
296 |
|
--dt-rewrite-error-sel rewrite incorrectly applied selectors to arbitrary |
297 |
|
ground term (EXPERTS only) [*] |
298 |
|
--dt-share-sel internally use shared selectors across multiple |
299 |
|
constructors [*] |
300 |
|
--sygus-abort-size=N tells enumerative sygus to only consider solutions up |
301 |
|
to term size N (-1 == no limit, default) |
302 |
|
--sygus-fair=MODE if and how to apply fairness for sygus |
303 |
|
--sygus-fair-max use max instead of sum for multi-function sygus |
304 |
|
conjectures [*] |
305 |
|
--sygus-sym-break simple sygus symmetry breaking lemmas [*] |
306 |
|
--sygus-sym-break-agg use aggressive checks for simple sygus symmetry |
307 |
|
breaking lemmas [*] |
308 |
|
--sygus-sym-break-dynamic |
309 |
|
dynamic sygus symmetry breaking lemmas [*] |
310 |
|
--sygus-sym-break-lazy lazily add symmetry breaking lemmas for terms [*] |
311 |
|
--sygus-sym-break-pbe sygus symmetry breaking lemmas based on pbe conjectures |
312 |
|
[*] |
313 |
|
--sygus-sym-break-rlv add relevancy conditions to symmetry breaking lemmas |
314 |
|
[*] |
315 |
|
|
316 |
|
From the Decision Heuristics module: |
317 |
|
--decision=MODE | --decision-mode=MODE |
318 |
|
choose decision mode, see --decision=help |
319 |
|
--decision-random-weight=N |
320 |
|
assign random weights to nodes between 0 and N-1 (0: |
321 |
|
disable) (EXPERTS only) |
322 |
|
--decision-threshold=N ignore all nodes greater than threshold in first |
323 |
|
attempt to pick decision (EXPERTS only) |
324 |
|
--decision-use-weight use the weight nodes (locally, by looking at children) |
325 |
|
to direct recursive search (EXPERTS only) [*] |
326 |
|
--decision-weight-internal=HOW |
327 |
|
compute weights of internal nodes using children: off, |
328 |
|
max, sum, usr1 (EXPERTS only) |
329 |
|
--jh-rlv-order maintain activity-based ordering for decision |
330 |
|
justification heuristic (EXPERTS only) [*] |
331 |
|
--jh-skolem=MODE policy for when to satisfy skolem definitions in |
332 |
|
justification heuristic (EXPERTS only) |
333 |
|
--jh-skolem-rlv=MODE policy for when to consider skolem definitions relevant |
334 |
|
in justification heuristic (EXPERTS only) |
335 |
|
|
336 |
|
From the Expression module: |
337 |
|
--dag-thresh=N dagify common subexprs appearing > N times (1 == |
338 |
|
default, 0 == don't dagify) |
339 |
|
--expr-depth=N print exprs to depth N (0 == default, -1 == no limit) |
340 |
|
--type-checking type check expressions [*] |
341 |
|
|
342 |
|
From the Floating-Point module: |
343 |
|
--fp-exp Allow floating-point sorts of all sizes, rather than |
344 |
|
only Float32 (8/24) or Float64 (11/53) (experimental) |
345 |
|
[*] |
346 |
|
--fp-lazy-wb Enable lazier word-blasting (on preNotifyFact instead |
347 |
|
of registerTerm) (EXPERTS only) [*] |
348 |
|
|
349 |
|
From the Driver module: |
350 |
|
--dump-difficulty dump the difficulty measure after every response to |
351 |
|
check-sat [*] |
352 |
|
--dump-instantiations output instantiations of quantified formulas after |
353 |
|
every UNSAT/VALID response [*] |
354 |
|
--dump-instantiations-debug |
355 |
|
output instantiations of quantified formulas after |
356 |
|
every UNSAT/VALID response, with debug information [*] |
357 |
|
--dump-models output models after every SAT/INVALID/UNKNOWN response |
358 |
|
[*] |
359 |
|
--dump-proofs output proofs after every UNSAT/VALID response [*] |
360 |
|
--dump-unsat-cores output unsat cores after every UNSAT/VALID response [*] |
361 |
|
--dump-unsat-cores-full |
362 |
|
dump the full unsat core, including unlabeled |
363 |
|
assertions [*] |
364 |
|
--early-exit do not run destructors at exit; default on except in |
365 |
|
debug builds (EXPERTS only) [*] |
366 |
|
--force-no-limit-cpu-while-dump |
367 |
|
Force no CPU limit when dumping models and proofs [*] |
368 |
|
--interactive force interactive shell/non-interactive mode [*] |
369 |
|
--segv-spin spin on segfault/other crash waiting for gdb [*] |
370 |
|
--show-debug-tags show all available tags for debugging |
371 |
|
--show-trace-tags show all available tags for tracing |
372 |
|
|
373 |
|
From the Parser module: |
374 |
|
--force-logic=LOGIC set the logic, and override all further user attempts |
375 |
|
to change it (EXPERTS only) |
376 |
|
--global-declarations force all declarations and definitions to be global [*] |
377 |
|
--mmap memory map file input [*] |
378 |
|
--semantic-checks enable semantic checks, including type checks [*] |
379 |
|
|
380 |
|
From the Printing module: |
381 |
|
--flatten-ho-chains print (binary) application chains in a flattened way, |
382 |
|
e.g. (a b c) rather than ((a b) c) [*] |
383 |
|
--print-inst=MODE print format for printing instantiations |
384 |
|
--print-inst-full print instantiations for formulas that do not have |
385 |
|
given identifiers [*] |
386 |
|
|
387 |
|
From the Proof module: |
388 |
|
--proof-check=MODE select proof checking mode |
389 |
|
--proof-format-mode=MODE |
390 |
|
select language of proof output |
391 |
|
--proof-granularity=MODE |
392 |
|
modes for proof granularity |
393 |
|
--proof-pedantic=N assertion failure for any incorrect rule application or |
394 |
|
untrusted lemma having pedantic level <=N with proof |
395 |
|
--proof-pp-merge merge subproofs in final proof post-processor [*] |
396 |
|
--proof-print-conclusion |
397 |
|
Print conclusion of proof steps when printing AST [*] |
398 |
|
|
399 |
|
From the SAT Layer module: |
400 |
|
--minisat-dump-dimacs instead of solving minisat dumps the asserted clauses |
401 |
|
in Dimacs format [*] |
402 |
|
--minisat-elimination use Minisat elimination [*] |
403 |
|
--random-freq=P | --random-frequency=P |
404 |
|
sets the frequency of random decisions in the sat |
405 |
|
solver (P=0.0 by default) |
406 |
|
--random-seed=S sets the random seed for the sat solver |
407 |
|
--refine-conflicts refine theory conflict clauses (default false) [*] |
408 |
|
--restart-int-base=N sets the base restart interval for the sat solver (N=25 |
409 |
|
by default) |
410 |
|
--restart-int-inc=F sets the restart interval increase factor for the sat |
411 |
|
solver (F=3.0 by default) |
412 |
|
|
413 |
|
From the Quantifiers module: |
414 |
|
--ag-miniscope-quant perform aggressive miniscoping for quantifiers [*] |
415 |
|
--cegis-sample=MODE mode for using samples in the counterexample-guided |
416 |
|
inductive synthesis loop |
417 |
|
--cegqi turns on counterexample-based quantifier instantiation |
418 |
|
[*] |
419 |
|
--cegqi-all apply counterexample-based instantiation to all |
420 |
|
quantified formulas [*] |
421 |
|
--cegqi-bv use word-level inversion approach for |
422 |
|
counterexample-guided quantifier instantiation for |
423 |
|
bit-vectors [*] |
424 |
|
--cegqi-bv-concat-inv compute inverse for concat over equalities rather than |
425 |
|
producing an invertibility condition [*] |
426 |
|
--cegqi-bv-ineq=MODE choose mode for handling bit-vector inequalities with |
427 |
|
counterexample-guided instantiation |
428 |
|
--cegqi-bv-interleave-value |
429 |
|
interleave model value instantiation with word-level |
430 |
|
inversion approach [*] |
431 |
|
--cegqi-bv-linear linearize adder chains for variables [*] |
432 |
|
--cegqi-bv-rm-extract replaces extract terms with variables for |
433 |
|
counterexample-guided instantiation for bit-vectors [*] |
434 |
|
--cegqi-bv-solve-nl try to solve non-linear bv literals using model value |
435 |
|
projections [*] |
436 |
|
--cegqi-full turns on full effort counterexample-based quantifier |
437 |
|
instantiation, which may resort to model-value |
438 |
|
instantiation [*] |
439 |
|
--cegqi-innermost only process innermost quantified formulas in |
440 |
|
counterexample-based quantifier instantiation [*] |
441 |
|
--cegqi-midpoint choose substitutions based on midpoints of lower and |
442 |
|
upper bounds for counterexample-based quantifier |
443 |
|
instantiation [*] |
444 |
|
--cegqi-min-bounds use minimally constrained lower/upper bound for |
445 |
|
counterexample-based quantifier instantiation [*] |
446 |
|
--cegqi-model guide instantiations by model values for |
447 |
|
counterexample-based quantifier instantiation [*] |
448 |
|
--cegqi-multi-inst when applicable, do multi instantiations per quantifier |
449 |
|
per round in counterexample-based quantifier |
450 |
|
instantiation [*] |
451 |
|
--cegqi-nested-qe process nested quantified formulas with quantifier |
452 |
|
elimination in counterexample-based quantifier |
453 |
|
instantiation [*] |
454 |
|
--cegqi-nopt non-optimal bounds for counterexample-based quantifier |
455 |
|
instantiation [*] |
456 |
|
--cegqi-repeat-lit solve literals more than once in counterexample-based |
457 |
|
quantifier instantiation [*] |
458 |
|
--cegqi-round-up-lia round up integer lower bounds in substitutions for |
459 |
|
counterexample-based quantifier instantiation [*] |
460 |
|
--cegqi-sat answer sat when quantifiers are asserted with |
461 |
|
counterexample-based quantifier instantiation [*] |
462 |
|
--cegqi-use-inf-int use integer infinity for vts in counterexample-based |
463 |
|
quantifier instantiation [*] |
464 |
|
--cegqi-use-inf-real use real infinity for vts in counterexample-based |
465 |
|
quantifier instantiation [*] |
466 |
|
--cond-var-split-agg-quant |
467 |
|
aggressive split quantified formulas that lead to |
468 |
|
variable eliminations [*] |
469 |
|
--cond-var-split-quant split quantified formulas that lead to variable |
470 |
|
eliminations [*] |
471 |
|
--conjecture-filter-active-terms |
472 |
|
filter based on active terms [*] |
473 |
|
--conjecture-filter-canonical |
474 |
|
filter based on canonicity [*] |
475 |
|
--conjecture-filter-model |
476 |
|
filter based on model [*] |
477 |
|
--conjecture-gen generate candidate conjectures for inductive proofs [*] |
478 |
|
--conjecture-gen-gt-enum=N |
479 |
|
number of ground terms to generate for model filtering |
480 |
|
--conjecture-gen-max-depth=N |
481 |
|
maximum depth of terms to consider for conjectures |
482 |
|
--conjecture-gen-per-round=N |
483 |
|
number of conjectures to generate per instantiation |
484 |
|
round |
485 |
|
--conjecture-gen-uee-intro |
486 |
|
more aggressive merging for universal equality engine, |
487 |
|
introduces terms [*] |
488 |
|
--conjecture-no-filter do not filter conjectures [*] |
489 |
|
--dt-stc-ind apply strengthening for existential quantification over |
490 |
|
datatypes based on structural induction [*] |
491 |
|
--dt-var-exp-quant expand datatype variables bound to one constructor in |
492 |
|
quantifiers [*] |
493 |
|
--e-matching whether to do heuristic E-matching [*] |
494 |
|
--elim-taut-quant eliminate tautological disjuncts of quantified formulas |
495 |
|
[*] |
496 |
|
--ext-rewrite-quant apply extended rewriting to bodies of quantified |
497 |
|
formulas [*] |
498 |
|
--finite-model-find use finite model finding heuristic for quantifier |
499 |
|
instantiation [*] |
500 |
|
--fmf-bound finite model finding on bounded quantification [*] |
501 |
|
--fmf-bound-int finite model finding on bounded integer quantification |
502 |
|
[*] |
503 |
|
--fmf-bound-lazy enforce bounds for bounded quantification lazily via |
504 |
|
use of proxy variables [*] |
505 |
|
--fmf-fmc-simple simple models in full model check for finite model |
506 |
|
finding [*] |
507 |
|
--fmf-fresh-dc use fresh distinguished representative when applying |
508 |
|
Inst-Gen techniques [*] |
509 |
|
--fmf-fun find models for recursively defined functions, assumes |
510 |
|
functions are admissible [*] |
511 |
|
--fmf-fun-rlv find models for recursively defined functions, assumes |
512 |
|
functions are admissible, allows empty type when |
513 |
|
function is irrelevant [*] |
514 |
|
--fmf-inst-engine use instantiation engine in conjunction with finite |
515 |
|
model finding [*] |
516 |
|
--fmf-type-completion-thresh=N |
517 |
|
the maximum cardinality of an interpreted type for |
518 |
|
which exhaustive enumeration in finite model finding is |
519 |
|
attempted |
520 |
|
--fs-interleave interleave enumerative instantiation with other |
521 |
|
techniques [*] |
522 |
|
--fs-stratify stratify effort levels in enumerative instantiation, |
523 |
|
which favors speed over fairness [*] |
524 |
|
--fs-sum enumerating tuples of quantifiers by increasing the sum |
525 |
|
of indices, rather than the maximum [*] |
526 |
|
--full-saturate-quant enumerative instantiation: instantiate with ground |
527 |
|
terms from relevant domain, then arbitrary ground terms |
528 |
|
before answering unknown [*] |
529 |
|
--full-saturate-quant-limit=N |
530 |
|
maximum number of rounds of enumerative instantiation |
531 |
|
to apply (-1 means no limit) |
532 |
|
--full-saturate-quant-rd |
533 |
|
whether to use relevant domain first for enumerative |
534 |
|
instantiation strategy [*] |
535 |
|
--global-negate do global negation of input formula [*] |
536 |
|
--ho-elim eagerly eliminate higher-order constraints [*] |
537 |
|
--ho-elim-store-ax use store axiom during ho-elim [*] |
538 |
|
--ho-matching do higher-order matching algorithm for triggers with |
539 |
|
variable operators [*] |
540 |
|
--ho-matching-var-priority |
541 |
|
give priority to variable arguments over constant |
542 |
|
arguments [*] |
543 |
|
--ho-merge-term-db merge term indices modulo equality [*] |
544 |
|
--increment-triggers generate additional triggers as needed during search |
545 |
|
[*] |
546 |
|
--inst-level-input-only |
547 |
|
only input terms are assigned instantiation level zero |
548 |
|
[*] |
549 |
|
--inst-max-level=N maximum inst level of terms used to instantiate |
550 |
|
quantified formulas with (-1 == no limit, default) |
551 |
|
--inst-max-rounds=N maximum number of instantiation rounds (-1 == no limit, |
552 |
|
default) |
553 |
|
--inst-no-entail do not consider instances of quantified formulas that |
554 |
|
are currently entailed [*] |
555 |
|
--inst-when=MODE when to apply instantiation |
556 |
|
--inst-when-phase=N instantiation rounds quantifiers takes (>=1) before |
557 |
|
allowing theory combination to happen |
558 |
|
--inst-when-strict-interleave |
559 |
|
ensure theory combination and standard quantifier |
560 |
|
effort strategies take turns [*] |
561 |
|
--inst-when-tc-first allow theory combination to happen once initially, |
562 |
|
before quantifier strategies are run [*] |
563 |
|
--int-wf-ind apply strengthening for integers based on well-founded |
564 |
|
induction [*] |
565 |
|
--ite-dtt-split-quant split ites with dt testers as conditions [*] |
566 |
|
--ite-lift-quant=MODE ite lifting mode for quantified formulas |
567 |
|
--literal-matching=MODE |
568 |
|
choose literal matching mode |
569 |
|
--macros-quant perform quantifiers macro expansion [*] |
570 |
|
--macros-quant-mode=MODE |
571 |
|
mode for quantifiers macro expansion |
572 |
|
--mbqi=MODE choose mode for model-based quantifier instantiation |
573 |
|
--mbqi-interleave interleave model-based quantifier instantiation with |
574 |
|
other techniques [*] |
575 |
|
--mbqi-one-inst-per-round |
576 |
|
only add one instantiation per quantifier per round for |
577 |
|
mbqi [*] |
578 |
|
--miniscope-quant miniscope quantifiers [*] |
579 |
|
--miniscope-quant-fv miniscope quantifiers for ground subformulas [*] |
580 |
|
--multi-trigger-cache caching version of multi triggers [*] |
581 |
|
--multi-trigger-linear implementation of multi triggers where maximum number |
582 |
|
of instantiations is linear wrt number of ground terms |
583 |
|
[*] |
584 |
|
--multi-trigger-priority |
585 |
|
only try multi triggers if single triggers give no |
586 |
|
instantiations [*] |
587 |
|
--multi-trigger-when-single |
588 |
|
select multi triggers when single triggers exist [*] |
589 |
|
--partial-triggers use triggers that do not contain all free variables [*] |
590 |
|
--pool-inst pool-based instantiation: instantiate with ground terms |
591 |
|
occurring in user-specified pools [*] |
592 |
|
--pre-skolem-quant apply skolemization eagerly to bodies of quantified |
593 |
|
formulas [*] |
594 |
|
--pre-skolem-quant-agg apply skolemization to quantified formulas aggressively |
595 |
|
[*] |
596 |
|
--pre-skolem-quant-nested |
597 |
|
apply skolemization to nested quantified formulas [*] |
598 |
|
--prenex-quant=MODE prenex mode for quantified formulas |
599 |
|
--prenex-quant-user prenex quantified formulas with user patterns [*] |
600 |
|
--purify-triggers purify triggers, e.g. f( x+1 ) becomes f( y ), x mapsto |
601 |
|
y-1 [*] |
602 |
|
--qcf-all-conflict add all available conflicting instances during |
603 |
|
conflict-based instantiation [*] |
604 |
|
--qcf-eager-check-rd optimization, eagerly check relevant domain of matched |
605 |
|
position [*] |
606 |
|
--qcf-eager-test optimization, test qcf instances eagerly [*] |
607 |
|
--qcf-nested-conflict consider conflicts for nested quantifiers [*] |
608 |
|
--qcf-skip-rd optimization, skip instances based on possibly |
609 |
|
irrelevant portions of quantified formulas [*] |
610 |
|
--qcf-tconstraint enable entailment checks for t-constraints in qcf |
611 |
|
algorithm [*] |
612 |
|
--qcf-vo-exp qcf experimental variable ordering [*] |
613 |
|
--quant-alpha-equiv infer alpha equivalence between quantified formulas [*] |
614 |
|
--quant-cf enable conflict find mechanism for quantifiers [*] |
615 |
|
--quant-cf-mode=MODE what effort to apply conflict find mechanism |
616 |
|
--quant-cf-when=MODE when to invoke conflict find mechanism for quantifiers |
617 |
|
--quant-dsplit-mode=MODE |
618 |
|
mode for dynamic quantifiers splitting |
619 |
|
--quant-fun-wd assume that function defined by quantifiers are well |
620 |
|
defined [*] |
621 |
|
--quant-ind use all available techniques for inductive reasoning |
622 |
|
[*] |
623 |
|
--quant-rep-mode=MODE selection mode for representatives in quantifiers |
624 |
|
engine |
625 |
|
--quant-split apply splitting to quantified formulas based on |
626 |
|
variable disjoint disjuncts [*] |
627 |
|
--register-quant-body-terms |
628 |
|
consider ground terms within bodies of quantified |
629 |
|
formulas for matching [*] |
630 |
|
--relational-triggers choose relational triggers such as x = f(y), x >= f(y) |
631 |
|
[*] |
632 |
|
--relevant-triggers prefer triggers that are more relevant based on SInE |
633 |
|
style analysis [*] |
634 |
|
--sygus use sygus solver (default is true for sygus inputs) [*] |
635 |
|
--sygus-active-gen=MODE |
636 |
|
mode for actively-generated sygus enumerators |
637 |
|
--sygus-active-gen-cfactor=N |
638 |
|
the branching factor for the number of interpreted |
639 |
|
constants to consider for each size when using |
640 |
|
--sygus-active-gen=enum |
641 |
|
--sygus-add-const-grammar |
642 |
|
statically add constants appearing in conjecture to |
643 |
|
grammars [*] |
644 |
|
--sygus-arg-relevant static inference techniques for computing whether |
645 |
|
arguments of functions-to-synthesize are relevant [*] |
646 |
|
--sygus-auto-unfold enable approach which automatically unfolds transition |
647 |
|
systems for directly solving invariant synthesis |
648 |
|
problems [*] |
649 |
|
--sygus-bool-ite-return-const |
650 |
|
Only use Boolean constants for return values in |
651 |
|
unification-based function synthesis [*] |
652 |
|
--sygus-core-connective |
653 |
|
use unsat core analysis to construct Boolean connective |
654 |
|
to sygus conjectures [*] |
655 |
|
--sygus-crepair-abort abort if constant repair techniques are not applicable |
656 |
|
[*] |
657 |
|
--sygus-eval-opt use optimized approach for evaluation in sygus [*] |
658 |
|
--sygus-eval-unfold do unfolding of sygus evaluation functions [*] |
659 |
|
--sygus-eval-unfold-bool |
660 |
|
do unfolding of Boolean evaluation functions that |
661 |
|
appear in refinement lemmas [*] |
662 |
|
--sygus-expr-miner-check-timeout=N |
663 |
|
timeout (in milliseconds) for satisfiability checks in |
664 |
|
expression miners |
665 |
|
--sygus-ext-rew use extended rewriter for sygus [*] |
666 |
|
--sygus-filter-sol=MODE |
667 |
|
mode for filtering sygus solutions |
668 |
|
--sygus-filter-sol-rev compute backwards filtering to compute whether previous |
669 |
|
solutions are filtered based on later ones (EXPERTS |
670 |
|
only) [*] |
671 |
|
--sygus-grammar-cons=MODE |
672 |
|
mode for SyGuS grammar construction |
673 |
|
--sygus-grammar-norm statically normalize sygus grammars based on flattening |
674 |
|
(linearization) [*] |
675 |
|
--sygus-inference attempt to preprocess arbitrary inputs to sygus |
676 |
|
conjectures [*] |
677 |
|
--sygus-inst Enable SyGuS instantiation quantifiers module [*] |
678 |
|
--sygus-inst-mode=MODE select instantiation lemma mode |
679 |
|
--sygus-inst-scope=MODE |
680 |
|
select scope of ground terms |
681 |
|
--sygus-inst-term-sel=MODE |
682 |
|
granularity for ground terms |
683 |
|
--sygus-inv-templ=MODE template mode for sygus invariant synthesis (weaken |
684 |
|
pre-condition, strengthen post-condition, or none) |
685 |
|
--sygus-inv-templ-when-sg |
686 |
|
use invariant templates (with solution reconstruction) |
687 |
|
for syntax guided problems [*] |
688 |
|
--sygus-min-grammar statically minimize sygus grammars [*] |
689 |
|
--sygus-pbe enable approach which unifies conditional solutions, |
690 |
|
specialized for programming-by-examples (pbe) |
691 |
|
conjectures [*] |
692 |
|
--sygus-pbe-multi-fair when using multiple enumerators, ensure that we only |
693 |
|
register value of minimial term size [*] |
694 |
|
--sygus-pbe-multi-fair-diff=N |
695 |
|
when using multiple enumerators, ensure that we only |
696 |
|
register values of minimial term size plus this value |
697 |
|
(default 0) |
698 |
|
--sygus-qe-preproc use quantifier elimination as a preprocessing step for |
699 |
|
sygus [*] |
700 |
|
--sygus-query-gen use sygus to enumerate interesting satisfiability |
701 |
|
queries [*] |
702 |
|
--sygus-query-gen-check |
703 |
|
use interesting satisfiability queries to check |
704 |
|
soundness of cvc5 [*] |
705 |
|
--sygus-query-gen-dump-files=MODE |
706 |
|
mode for dumping external files corresponding to |
707 |
|
interesting satisfiability queries with sygus-query-gen |
708 |
|
--sygus-query-gen-thresh=N |
709 |
|
number of points that we allow to be equal for |
710 |
|
enumerating satisfiable queries with sygus-query-gen |
711 |
|
--sygus-rec-fun enable efficient support for recursive functions in |
712 |
|
sygus grammars [*] |
713 |
|
--sygus-rec-fun-eval-limit=N |
714 |
|
use a hard limit for how many times in a given |
715 |
|
evaluator call a recursive function can be evaluated |
716 |
|
(so infinite loops can be avoided) |
717 |
|
--sygus-repair-const use approach to repair constants in sygus candidate |
718 |
|
solutions [*] |
719 |
|
--sygus-repair-const-timeout=N |
720 |
|
timeout (in milliseconds) for the satisfiability check |
721 |
|
to repair constants in sygus candidate solutions |
722 |
|
--sygus-rr use sygus to enumerate and verify correctness of |
723 |
|
rewrite rules [*] |
724 |
|
--sygus-rr-synth use sygus to enumerate candidate rewrite rules [*] |
725 |
|
--sygus-rr-synth-accel add dynamic symmetry breaking clauses based on |
726 |
|
candidate rewrites [*] |
727 |
|
--sygus-rr-synth-check use satisfiability check to verify correctness of |
728 |
|
candidate rewrites [*] |
729 |
|
--sygus-rr-synth-filter-cong |
730 |
|
filter candidate rewrites based on congruence [*] |
731 |
|
--sygus-rr-synth-filter-match |
732 |
|
filter candidate rewrites based on matching [*] |
733 |
|
--sygus-rr-synth-filter-nl |
734 |
|
filter non-linear candidate rewrites [*] |
735 |
|
--sygus-rr-synth-filter-order |
736 |
|
filter candidate rewrites based on variable ordering |
737 |
|
[*] |
738 |
|
--sygus-rr-synth-input synthesize rewrite rules based on the input formula [*] |
739 |
|
--sygus-rr-synth-input-nvars=N |
740 |
|
the maximum number of variables per type that appear in |
741 |
|
rewrites from sygus-rr-synth-input |
742 |
|
--sygus-rr-synth-input-use-bool |
743 |
|
synthesize Boolean rewrite rules based on the input |
744 |
|
formula [*] |
745 |
|
--sygus-rr-synth-rec synthesize rewrite rules over all sygus grammar types |
746 |
|
recursively [*] |
747 |
|
--sygus-rr-verify use sygus to verify the correctness of rewrite rules |
748 |
|
via sampling [*] |
749 |
|
--sygus-rr-verify-abort |
750 |
|
abort when sygus-rr-verify finds an instance of |
751 |
|
unsoundness [*] |
752 |
|
--sygus-sample-fp-uniform |
753 |
|
sample floating-point values uniformly instead of in a |
754 |
|
biased fashion [*] |
755 |
|
--sygus-sample-grammar when applicable, use grammar for choosing sample points |
756 |
|
[*] |
757 |
|
--sygus-samples=N number of points to consider when doing sygus rewriter |
758 |
|
sample testing |
759 |
|
--sygus-si=MODE mode for processing single invocation synthesis |
760 |
|
conjectures |
761 |
|
--sygus-si-abort abort if synthesis conjecture is not single invocation |
762 |
|
[*] |
763 |
|
--sygus-si-rcons=MODE policy for reconstructing solutions for single |
764 |
|
invocation conjectures |
765 |
|
--sygus-si-rcons-limit=N |
766 |
|
number of rounds of enumeration to use during solution |
767 |
|
reconstruction (negative means unlimited) |
768 |
|
--sygus-stream enumerate a stream of solutions instead of terminating |
769 |
|
after the first one [*] |
770 |
|
--sygus-templ-embed-grammar |
771 |
|
embed sygus templates into grammars [*] |
772 |
|
--sygus-unif-cond-independent-no-repeat-sol |
773 |
|
Do not try repeated solutions when using independent |
774 |
|
synthesis of conditions in unification-based function |
775 |
|
synthesis [*] |
776 |
|
--sygus-unif-pi=MODE mode for synthesis via piecewise-indepedent unification |
777 |
|
--sygus-unif-shuffle-cond |
778 |
|
Shuffle condition pool when building solutions (may |
779 |
|
change solutions sizes) [*] |
780 |
|
--sygus-verify-inst-max-rounds=N |
781 |
|
maximum number of instantiation rounds for sygus |
782 |
|
verification calls (-1 == no limit, default is 3) |
783 |
|
--term-db-cd register terms in term database based on the SAT |
784 |
|
context [*] |
785 |
|
--term-db-mode=MODE which ground terms to consider for instantiation |
786 |
|
--trigger-active-sel=MODE |
787 |
|
selection mode to activate triggers |
788 |
|
--trigger-sel=MODE selection mode for triggers |
789 |
|
--user-pat=MODE policy for handling user-provided patterns for |
790 |
|
quantifier instantiation |
791 |
|
--var-elim-quant enable simple variable elimination for quantified |
792 |
|
formulas [*] |
793 |
|
--var-ineq-elim-quant enable variable elimination based on infinite |
794 |
|
projection of unbound arithmetic variables [*] |
795 |
|
|
796 |
|
From the Separation Logic Theory module: |
797 |
|
--sep-check-neg check negated spatial assertions [*] |
798 |
|
--sep-child-refine child-specific refinements of negated star, positive |
799 |
|
wand [*] |
800 |
|
--sep-deq-c assume cardinality elements are distinct [*] |
801 |
|
--sep-min-refine only add refinement lemmas for minimal (innermost) |
802 |
|
assertions [*] |
803 |
|
--sep-pre-skolem-emp eliminate emp constraint at preprocess time [*] |
804 |
|
|
805 |
|
From the Sets Theory module: |
806 |
|
--sets-ext enable extended symbols such as complement and universe |
807 |
|
in theory of sets [*] |
808 |
|
--sets-infer-as-lemmas send inferences as lemmas [*] |
809 |
|
--sets-proxy-lemmas introduce proxy variables eagerly to shorten lemmas [*] |
810 |
|
|
811 |
|
From the SMT Layer module: |
812 |
|
--abstract-values in models, output arrays (and in future, maybe others) |
813 |
|
using abstract values, as required by the SMT-LIB |
814 |
|
standard [*] |
815 |
|
--ackermann eliminate functions by ackermannization [*] |
816 |
|
--block-models=MODE mode for producing several models |
817 |
|
--check-abducts checks whether produced solutions to get-abduct are |
818 |
|
correct [*] |
819 |
|
--check-interpols checks whether produced solutions to get-interpol are |
820 |
|
correct [*] |
821 |
|
--check-models after SAT/INVALID/UNKNOWN, check that the generated |
822 |
|
model satisfies user assertions [*] |
823 |
|
--check-proofs after UNSAT/VALID, check the generated proof (with |
824 |
|
proof) [*] |
825 |
|
--check-synth-sol checks whether produced solutions to |
826 |
|
functions-to-synthesize satisfy the conjecture [*] |
827 |
|
--check-unsat-cores after UNSAT/VALID, produce and check an unsat core |
828 |
|
(expensive) [*] |
829 |
|
--debug-check-models after SAT/INVALID/UNKNOWN, check that the generated |
830 |
|
model satisfies user and internal assertions [*] |
831 |
|
--difficulty-mode=MODE choose output mode for get-difficulty, see |
832 |
|
--difficulty-mode=help |
833 |
|
--early-ite-removal remove ITEs early in preprocessing (EXPERTS only) [*] |
834 |
|
--expand-definitions always expand symbol definitions in output [*] |
835 |
|
--ext-rew-prep use extended rewriter as a preprocessing pass [*] |
836 |
|
--ext-rew-prep-agg use aggressive extended rewriter as a preprocessing |
837 |
|
pass [*] |
838 |
|
--foreign-theory-rewrite |
839 |
|
Cross-theory rewrites [*] |
840 |
|
--ite-simp turn on ite simplification (Kim (and Somenzi) et al., |
841 |
|
SAT 2009) [*] |
842 |
|
--learned-rewrite rewrite the input based on learned literals [*] |
843 |
|
--minimal-unsat-cores if an unsat core is produced, it is reduced to a |
844 |
|
minimal unsat core [*] |
845 |
|
--model-cores=MODE mode for producing model cores |
846 |
|
--model-u-print=MODE | --model-uninterp-print=MODE |
847 |
|
determines how to print uninterpreted elements in |
848 |
|
models |
849 |
|
--model-witness-value in models, use a witness constant for choice functions |
850 |
|
[*] |
851 |
|
--on-repeat-ite-simp do the ite simplification pass again if repeating |
852 |
|
simplification [*] |
853 |
|
--produce-assignments support the get-assignment command [*] |
854 |
|
--produce-difficulty enable tracking of difficulty. [*] |
855 |
|
--produce-proofs produce proofs, support check-proofs and get-proof [*] |
856 |
|
--produce-unsat-assumptions |
857 |
|
turn on unsat assumptions generation [*] |
858 |
|
--produce-unsat-cores turn on unsat core generation. Unless otherwise |
859 |
|
specified, cores will be produced using SAT soving |
860 |
|
under assumptions and preprocessing proofs. [*] |
861 |
|
--repeat-simp make multiple passes with nonclausal simplifier [*] |
862 |
|
--simp-ite-compress enables compressing ites after ite simplification [*] |
863 |
|
--simp-ite-hunt-zombies=N |
864 |
|
post ite compression enables zombie removal while the |
865 |
|
number of nodes is above this threshold |
866 |
|
--simp-with-care enables simplifyWithCare in ite simplificiation [*] |
867 |
|
--simplification=MODE | --simplification-mode=MODE |
868 |
|
choose simplification mode, see --simplification=help |
869 |
|
--sort-inference calculate sort inference of input problem, convert the |
870 |
|
input based on monotonic sorts [*] |
871 |
|
--static-learning use static learning (on by default) [*] |
872 |
|
--sygus-out=MODE output mode for sygus |
873 |
|
--unconstrained-simp turn on unconstrained simplification (see |
874 |
|
Bruttomesso/Brummayer PhD thesis). Fully supported only |
875 |
|
in (subsets of) the logic QF_ABV. [*] |
876 |
|
--unsat-cores-mode=MODE |
877 |
|
choose unsat core mode, see --unsat-cores-mode=help |
878 |
|
|
879 |
|
From the Strings Theory module: |
880 |
|
--re-elim elimination techniques for regular expressions [*] |
881 |
|
--re-elim-agg aggressive elimination techniques for regular |
882 |
|
expressions [*] |
883 |
|
--re-inter-mode=MODE determines which regular expressions intersections to |
884 |
|
compute (EXPERTS only) |
885 |
|
--strings-check-entail-len |
886 |
|
check entailment between length terms to reduce |
887 |
|
splitting [*] |
888 |
|
--strings-deq-ext use extensionality for string disequalities [*] |
889 |
|
--strings-eager strings eager check [*] |
890 |
|
--strings-eager-eval perform eager context-dependent evaluation for |
891 |
|
applications of string kinds [*] |
892 |
|
--strings-eager-len strings eager length lemmas [*] |
893 |
|
--strings-exp experimental features in the theory of strings [*] |
894 |
|
--strings-ff do flat form inferences [*] |
895 |
|
--strings-fmf the finite model finding used by the theory of strings |
896 |
|
[*] |
897 |
|
--strings-guess-model use model guessing to avoid string extended function |
898 |
|
reductions [*] |
899 |
|
--strings-infer-as-lemmas |
900 |
|
always send lemmas out instead of making internal |
901 |
|
inferences [*] |
902 |
|
--strings-infer-sym strings split on empty string [*] |
903 |
|
--strings-lazy-pp perform string preprocessing lazily [*] |
904 |
|
--strings-len-norm strings length normalization lemma [*] |
905 |
|
--strings-min-prefix-explain |
906 |
|
minimize explanations for prefix of normal forms in |
907 |
|
strings [*] |
908 |
|
--strings-process-loop-mode=MODE |
909 |
|
determines how to process looping string equations |
910 |
|
(EXPERTS only) |
911 |
|
--strings-rexplain-lemmas |
912 |
|
regression explanations for string lemmas [*] |
913 |
|
--strings-unified-vspt use a single skolem for the variable splitting rule [*] |
914 |
|
|
915 |
|
From the Theory Layer module: |
916 |
|
--assign-function-values |
917 |
|
assign values for uninterpreted functions in models [*] |
918 |
|
--condense-function-values |
919 |
|
condense values for functions in models rather than |
920 |
|
explicitly representing them [*] |
921 |
|
--ee-mode=MODE mode for managing equalities across theory solvers |
922 |
|
(EXPERTS only) |
923 |
|
--relevance-filter enable analysis of relevance of asserted literals with |
924 |
|
respect to the input formula [*] |
925 |
|
--tc-mode=MODE mode for theory combination (EXPERTS only) |
926 |
|
--theoryof-mode=MODE mode for Theory::theoryof() (EXPERTS only) |
927 |
|
|
928 |
|
From the Uninterpreted Functions Theory module: |
929 |
|
--symmetry-breaker | --uf-symmetry-breaker |
930 |
|
use UF symmetry breaker (Deharbe et al., CADE 2011) [*] |
931 |
|
--uf-ho enable support for higher-order reasoning [*] |
932 |
|
--uf-ho-ext apply extensionality on function symbols [*] |
933 |
|
--uf-ss=MODE mode of operation for uf with cardinality solver. |
934 |
|
--uf-ss-abort-card=N tells the uf with cardinality to only consider models |
935 |
|
that interpret uninterpreted sorts of cardinality at |
936 |
|
most N (-1 == no limit, default) |
937 |
|
--uf-ss-fair use fair strategy for finite model finding multiple |
938 |
|
sorts [*] |
939 |
|
--uf-ss-fair-monotone group monotone sorts when enforcing fairness for finite |
940 |
|
model finding [*] |
941 |
|
)FOOBAR"; |
942 |
|
|
943 |
15164 |
static const std::string optionsFootnote = "\n\ |
944 |
|
[*] Each of these options has a --no-OPTIONNAME variant, which reverses the\n\ |
945 |
|
sense of the option.\n\ |
946 |
|
"; |
947 |
|
|
948 |
15164 |
static const std::string languageDescription = |
949 |
|
"\ |
950 |
|
Languages currently supported as arguments to the -L / --lang option:\n\ |
951 |
|
auto attempt to automatically determine language\n\ |
952 |
|
smt | smtlib | smt2 |\n\ |
953 |
|
smt2.6 | smtlib2.6 SMT-LIB format 2.6 with support for the strings standard\n\ |
954 |
|
tptp TPTP format (cnf, fof and tff)\n\ |
955 |
|
sygus | sygus2 SyGuS version 2.0\n\ |
956 |
|
\n\ |
957 |
|
Languages currently supported as arguments to the --output-lang option:\n\ |
958 |
|
auto match output language to input language\n\ |
959 |
|
smt | smtlib | smt2 |\n\ |
960 |
|
smt2.6 | smtlib2.6 SMT-LIB format 2.6 with support for the strings standard\n\ |
961 |
|
tptp TPTP format\n\ |
962 |
|
ast internal format (simple syntax trees)\n\ |
963 |
|
"; |
964 |
|
// clang-format on |
965 |
|
|
966 |
|
void printUsage(const std::string& msg, std::ostream& os) |
967 |
|
{ |
968 |
|
os << msg << "\n" |
969 |
|
<< commonOptionsDescription << "\n\n" |
970 |
|
<< additionalOptionsDescription << std::endl |
971 |
|
<< optionsFootnote << std::endl; |
972 |
|
} |
973 |
|
|
974 |
|
void printShortUsage(const std::string& msg, std::ostream& os) |
975 |
|
{ |
976 |
|
os << msg << "\n" |
977 |
|
<< commonOptionsDescription << std::endl |
978 |
|
<< optionsFootnote << std::endl |
979 |
|
<< "For full usage, please use --help." << std::endl |
980 |
|
<< std::endl; |
981 |
|
} |
982 |
|
|
983 |
|
void printLanguageHelp(std::ostream& os) |
984 |
|
{ |
985 |
|
os << languageDescription << std::flush; |
986 |
|
} |
987 |
|
|
988 |
|
/** |
989 |
|
* This is a table of long options. By policy, each short option |
990 |
|
* should have an equivalent long option (but the reverse isn't the |
991 |
|
* case), so this table should thus contain all command-line options. |
992 |
|
* |
993 |
|
* Each option in this array has four elements: |
994 |
|
* |
995 |
|
* 1. the long option string |
996 |
|
* 2. argument behavior for the option: |
997 |
|
* no_argument - no argument permitted |
998 |
|
* required_argument - an argument is expected |
999 |
|
* optional_argument - an argument is permitted but not required |
1000 |
|
* 3. this is a pointer to an int which is set to the 4th entry of the |
1001 |
|
* array if the option is present; or nullptr, in which case |
1002 |
|
* getopt_long() returns the 4th entry |
1003 |
|
* 4. the return value for getopt_long() when this long option (or the |
1004 |
|
* value to set the 3rd entry to; see #3) |
1005 |
|
*/ |
1006 |
|
static struct option cmdlineOptions[] = { |
1007 |
|
// clang-format off |
1008 |
|
{ "approx-branch-depth", required_argument, nullptr, 256 }, |
1009 |
|
{ "arith-brab", no_argument, nullptr, 257 }, |
1010 |
|
{ "no-arith-brab", no_argument, nullptr, 258 }, |
1011 |
|
{ "arith-cong-man", no_argument, nullptr, 259 }, |
1012 |
|
{ "no-arith-cong-man", no_argument, nullptr, 260 }, |
1013 |
|
{ "arith-eq-solver", no_argument, nullptr, 261 }, |
1014 |
|
{ "no-arith-eq-solver", no_argument, nullptr, 262 }, |
1015 |
|
{ "arith-no-partial-fun", no_argument, nullptr, 263 }, |
1016 |
|
{ "no-arith-no-partial-fun", no_argument, nullptr, 264 }, |
1017 |
|
{ "arith-prop", required_argument, nullptr, 265 }, |
1018 |
|
{ "arith-prop-clauses", required_argument, nullptr, 266 }, |
1019 |
|
{ "arith-rewrite-equalities", no_argument, nullptr, 267 }, |
1020 |
|
{ "no-arith-rewrite-equalities", no_argument, nullptr, 268 }, |
1021 |
|
{ "collect-pivot-stats", no_argument, nullptr, 269 }, |
1022 |
|
{ "no-collect-pivot-stats", no_argument, nullptr, 270 }, |
1023 |
|
{ "cut-all-bounded", no_argument, nullptr, 271 }, |
1024 |
|
{ "no-cut-all-bounded", no_argument, nullptr, 272 }, |
1025 |
|
{ "dio-decomps", no_argument, nullptr, 273 }, |
1026 |
|
{ "no-dio-decomps", no_argument, nullptr, 274 }, |
1027 |
|
{ "dio-solver", no_argument, nullptr, 275 }, |
1028 |
|
{ "no-dio-solver", no_argument, nullptr, 276 }, |
1029 |
|
{ "dio-turns", required_argument, nullptr, 277 }, |
1030 |
|
{ "error-selection-rule", required_argument, nullptr, 278 }, |
1031 |
|
{ "fc-penalties", no_argument, nullptr, 279 }, |
1032 |
|
{ "no-fc-penalties", no_argument, nullptr, 280 }, |
1033 |
|
{ "heuristic-pivots", required_argument, nullptr, 281 }, |
1034 |
|
{ "lemmas-on-replay-failure", no_argument, nullptr, 282 }, |
1035 |
|
{ "no-lemmas-on-replay-failure", no_argument, nullptr, 283 }, |
1036 |
|
{ "maxCutsInContext", required_argument, nullptr, 284 }, |
1037 |
|
{ "miplib-trick", no_argument, nullptr, 285 }, |
1038 |
|
{ "no-miplib-trick", no_argument, nullptr, 286 }, |
1039 |
|
{ "miplib-trick-subs", required_argument, nullptr, 287 }, |
1040 |
|
{ "new-prop", no_argument, nullptr, 288 }, |
1041 |
|
{ "no-new-prop", no_argument, nullptr, 289 }, |
1042 |
|
{ "nl-cad", no_argument, nullptr, 290 }, |
1043 |
|
{ "no-nl-cad", no_argument, nullptr, 291 }, |
1044 |
|
{ "nl-cad-initial", no_argument, nullptr, 292 }, |
1045 |
|
{ "no-nl-cad-initial", no_argument, nullptr, 293 }, |
1046 |
|
{ "nl-cad-lift", required_argument, nullptr, 294 }, |
1047 |
|
{ "nl-cad-proj", required_argument, nullptr, 295 }, |
1048 |
|
{ "nl-ext", required_argument, nullptr, 296 }, |
1049 |
|
{ "nl-ext-ent-conf", no_argument, nullptr, 297 }, |
1050 |
|
{ "no-nl-ext-ent-conf", no_argument, nullptr, 298 }, |
1051 |
|
{ "nl-ext-factor", no_argument, nullptr, 299 }, |
1052 |
|
{ "no-nl-ext-factor", no_argument, nullptr, 300 }, |
1053 |
|
{ "nl-ext-inc-prec", no_argument, nullptr, 301 }, |
1054 |
|
{ "no-nl-ext-inc-prec", no_argument, nullptr, 302 }, |
1055 |
|
{ "nl-ext-purify", no_argument, nullptr, 303 }, |
1056 |
|
{ "no-nl-ext-purify", no_argument, nullptr, 304 }, |
1057 |
|
{ "nl-ext-rbound", no_argument, nullptr, 305 }, |
1058 |
|
{ "no-nl-ext-rbound", no_argument, nullptr, 306 }, |
1059 |
|
{ "nl-ext-rewrite", no_argument, nullptr, 307 }, |
1060 |
|
{ "no-nl-ext-rewrite", no_argument, nullptr, 308 }, |
1061 |
|
{ "nl-ext-split-zero", no_argument, nullptr, 309 }, |
1062 |
|
{ "no-nl-ext-split-zero", no_argument, nullptr, 310 }, |
1063 |
|
{ "nl-ext-tf-taylor-deg", required_argument, nullptr, 311 }, |
1064 |
|
{ "nl-ext-tf-tplanes", no_argument, nullptr, 312 }, |
1065 |
|
{ "no-nl-ext-tf-tplanes", no_argument, nullptr, 313 }, |
1066 |
|
{ "nl-ext-tplanes", no_argument, nullptr, 314 }, |
1067 |
|
{ "no-nl-ext-tplanes", no_argument, nullptr, 315 }, |
1068 |
|
{ "nl-ext-tplanes-interleave", no_argument, nullptr, 316 }, |
1069 |
|
{ "no-nl-ext-tplanes-interleave", no_argument, nullptr, 317 }, |
1070 |
|
{ "nl-icp", no_argument, nullptr, 318 }, |
1071 |
|
{ "no-nl-icp", no_argument, nullptr, 319 }, |
1072 |
|
{ "nl-rlv", required_argument, nullptr, 320 }, |
1073 |
|
{ "nl-rlv-assert-bounds", no_argument, nullptr, 321 }, |
1074 |
|
{ "no-nl-rlv-assert-bounds", no_argument, nullptr, 322 }, |
1075 |
|
{ "pb-rewrites", no_argument, nullptr, 323 }, |
1076 |
|
{ "no-pb-rewrites", no_argument, nullptr, 324 }, |
1077 |
|
{ "pivot-threshold", required_argument, nullptr, 325 }, |
1078 |
|
{ "pp-assert-max-sub-size", required_argument, nullptr, 326 }, |
1079 |
|
{ "prop-row-length", required_argument, nullptr, 327 }, |
1080 |
|
{ "replay-early-close-depth", required_argument, nullptr, 328 }, |
1081 |
|
{ "replay-lemma-reject-cut", required_argument, nullptr, 329 }, |
1082 |
|
{ "replay-num-err-penalty", required_argument, nullptr, 330 }, |
1083 |
|
{ "replay-reject-cut", required_argument, nullptr, 331 }, |
1084 |
|
{ "restrict-pivots", no_argument, nullptr, 332 }, |
1085 |
|
{ "no-restrict-pivots", no_argument, nullptr, 333 }, |
1086 |
|
{ "revert-arith-models-on-unsat", no_argument, nullptr, 334 }, |
1087 |
|
{ "no-revert-arith-models-on-unsat", no_argument, nullptr, 335 }, |
1088 |
|
{ "rr-turns", required_argument, nullptr, 336 }, |
1089 |
|
{ "se-solve-int", no_argument, nullptr, 337 }, |
1090 |
|
{ "no-se-solve-int", no_argument, nullptr, 338 }, |
1091 |
|
{ "simplex-check-period", required_argument, nullptr, 339 }, |
1092 |
|
{ "soi-qe", no_argument, nullptr, 340 }, |
1093 |
|
{ "no-soi-qe", no_argument, nullptr, 341 }, |
1094 |
|
{ "standard-effort-variable-order-pivots", required_argument, nullptr, 342 }, |
1095 |
|
{ "unate-lemmas", required_argument, nullptr, 343 }, |
1096 |
|
{ "use-approx", no_argument, nullptr, 344 }, |
1097 |
|
{ "no-use-approx", no_argument, nullptr, 345 }, |
1098 |
|
{ "use-fcsimplex", no_argument, nullptr, 346 }, |
1099 |
|
{ "no-use-fcsimplex", no_argument, nullptr, 347 }, |
1100 |
|
{ "use-soi", no_argument, nullptr, 348 }, |
1101 |
|
{ "no-use-soi", no_argument, nullptr, 349 }, |
1102 |
|
{ "arrays-eager-index", no_argument, nullptr, 350 }, |
1103 |
|
{ "no-arrays-eager-index", no_argument, nullptr, 351 }, |
1104 |
|
{ "arrays-eager-lemmas", no_argument, nullptr, 352 }, |
1105 |
|
{ "no-arrays-eager-lemmas", no_argument, nullptr, 353 }, |
1106 |
|
{ "arrays-exp", no_argument, nullptr, 354 }, |
1107 |
|
{ "no-arrays-exp", no_argument, nullptr, 355 }, |
1108 |
|
{ "arrays-optimize-linear", no_argument, nullptr, 356 }, |
1109 |
|
{ "no-arrays-optimize-linear", no_argument, nullptr, 357 }, |
1110 |
|
{ "arrays-prop", required_argument, nullptr, 358 }, |
1111 |
|
{ "arrays-reduce-sharing", no_argument, nullptr, 359 }, |
1112 |
|
{ "no-arrays-reduce-sharing", no_argument, nullptr, 360 }, |
1113 |
|
{ "arrays-weak-equiv", no_argument, nullptr, 361 }, |
1114 |
|
{ "no-arrays-weak-equiv", no_argument, nullptr, 362 }, |
1115 |
|
{ "debug", required_argument, nullptr, 363 }, |
1116 |
|
{ "err", required_argument, nullptr, 364 }, |
1117 |
|
{ "diagnostic-output-channel", required_argument, nullptr, 365 }, |
1118 |
|
{ "in", required_argument, nullptr, 366 }, |
1119 |
|
{ "incremental", no_argument, nullptr, 367 }, |
1120 |
|
{ "no-incremental", no_argument, nullptr, 368 }, |
1121 |
|
{ "lang", required_argument, nullptr, 369 }, |
1122 |
|
{ "input-language", required_argument, nullptr, 370 }, |
1123 |
|
{ "language-help", no_argument, nullptr, 371 }, |
1124 |
|
{ "no-language-help", no_argument, nullptr, 372 }, |
1125 |
|
{ "out", required_argument, nullptr, 373 }, |
1126 |
|
{ "regular-output-channel", required_argument, nullptr, 374 }, |
1127 |
|
{ "output", required_argument, nullptr, 375 }, |
1128 |
|
{ "output-lang", required_argument, nullptr, 376 }, |
1129 |
|
{ "output-language", required_argument, nullptr, 377 }, |
1130 |
|
{ "parse-only", no_argument, nullptr, 378 }, |
1131 |
|
{ "no-parse-only", no_argument, nullptr, 379 }, |
1132 |
|
{ "preprocess-only", no_argument, nullptr, 380 }, |
1133 |
|
{ "no-preprocess-only", no_argument, nullptr, 381 }, |
1134 |
|
{ "print-success", no_argument, nullptr, 382 }, |
1135 |
|
{ "no-print-success", no_argument, nullptr, 383 }, |
1136 |
|
{ "quiet", no_argument, nullptr, 384 }, |
1137 |
|
{ "rlimit", required_argument, nullptr, 385 }, |
1138 |
|
{ "rlimit-per", required_argument, nullptr, 386 }, |
1139 |
|
{ "reproducible-resource-limit", required_argument, nullptr, 387 }, |
1140 |
|
{ "rweight", required_argument, nullptr, 388 }, |
1141 |
|
{ "stats", no_argument, nullptr, 389 }, |
1142 |
|
{ "no-stats", no_argument, nullptr, 390 }, |
1143 |
|
{ "stats-all", no_argument, nullptr, 391 }, |
1144 |
|
{ "no-stats-all", no_argument, nullptr, 392 }, |
1145 |
|
{ "stats-every-query", no_argument, nullptr, 393 }, |
1146 |
|
{ "no-stats-every-query", no_argument, nullptr, 394 }, |
1147 |
|
{ "stats-expert", no_argument, nullptr, 395 }, |
1148 |
|
{ "no-stats-expert", no_argument, nullptr, 396 }, |
1149 |
|
{ "tlimit", required_argument, nullptr, 397 }, |
1150 |
|
{ "tlimit-per", required_argument, nullptr, 398 }, |
1151 |
|
{ "trace", required_argument, nullptr, 399 }, |
1152 |
|
{ "verbose", no_argument, nullptr, 400 }, |
1153 |
|
{ "verbosity", required_argument, nullptr, 401 }, |
1154 |
|
{ "bitblast", required_argument, nullptr, 402 }, |
1155 |
|
{ "bitblast-aig", no_argument, nullptr, 403 }, |
1156 |
|
{ "no-bitblast-aig", no_argument, nullptr, 404 }, |
1157 |
|
{ "bitwise-eq", no_argument, nullptr, 405 }, |
1158 |
|
{ "no-bitwise-eq", no_argument, nullptr, 406 }, |
1159 |
|
{ "bool-to-bv", required_argument, nullptr, 407 }, |
1160 |
|
{ "bv-abstraction", no_argument, nullptr, 408 }, |
1161 |
|
{ "no-bv-abstraction", no_argument, nullptr, 409 }, |
1162 |
|
{ "bv-aig-simp", required_argument, nullptr, 410 }, |
1163 |
|
{ "bv-algebraic-budget", required_argument, nullptr, 411 }, |
1164 |
|
{ "bv-algebraic-solver", no_argument, nullptr, 412 }, |
1165 |
|
{ "no-bv-algebraic-solver", no_argument, nullptr, 413 }, |
1166 |
|
{ "bv-assert-input", no_argument, nullptr, 414 }, |
1167 |
|
{ "no-bv-assert-input", no_argument, nullptr, 415 }, |
1168 |
|
{ "bv-eager-explanations", no_argument, nullptr, 416 }, |
1169 |
|
{ "no-bv-eager-explanations", no_argument, nullptr, 417 }, |
1170 |
|
{ "bv-eq-solver", no_argument, nullptr, 418 }, |
1171 |
|
{ "no-bv-eq-solver", no_argument, nullptr, 419 }, |
1172 |
|
{ "bv-extract-arith", no_argument, nullptr, 420 }, |
1173 |
|
{ "no-bv-extract-arith", no_argument, nullptr, 421 }, |
1174 |
|
{ "bv-gauss-elim", no_argument, nullptr, 422 }, |
1175 |
|
{ "no-bv-gauss-elim", no_argument, nullptr, 423 }, |
1176 |
|
{ "bv-inequality-solver", no_argument, nullptr, 424 }, |
1177 |
|
{ "no-bv-inequality-solver", no_argument, nullptr, 425 }, |
1178 |
|
{ "bv-intro-pow2", no_argument, nullptr, 426 }, |
1179 |
|
{ "no-bv-intro-pow2", no_argument, nullptr, 427 }, |
1180 |
|
{ "bv-num-func", required_argument, nullptr, 428 }, |
1181 |
|
{ "bv-print-consts-as-indexed-symbols", no_argument, nullptr, 429 }, |
1182 |
|
{ "no-bv-print-consts-as-indexed-symbols", no_argument, nullptr, 430 }, |
1183 |
|
{ "bv-propagate", no_argument, nullptr, 431 }, |
1184 |
|
{ "no-bv-propagate", no_argument, nullptr, 432 }, |
1185 |
|
{ "bv-quick-xplain", no_argument, nullptr, 433 }, |
1186 |
|
{ "no-bv-quick-xplain", no_argument, nullptr, 434 }, |
1187 |
|
{ "bv-sat-solver", required_argument, nullptr, 435 }, |
1188 |
|
{ "bv-skolemize", no_argument, nullptr, 436 }, |
1189 |
|
{ "no-bv-skolemize", no_argument, nullptr, 437 }, |
1190 |
|
{ "bv-solver", required_argument, nullptr, 438 }, |
1191 |
|
{ "bv-to-bool", no_argument, nullptr, 439 }, |
1192 |
|
{ "no-bv-to-bool", no_argument, nullptr, 440 }, |
1193 |
|
{ "cdt-bisimilar", no_argument, nullptr, 441 }, |
1194 |
|
{ "no-cdt-bisimilar", no_argument, nullptr, 442 }, |
1195 |
|
{ "dt-binary-split", no_argument, nullptr, 443 }, |
1196 |
|
{ "no-dt-binary-split", no_argument, nullptr, 444 }, |
1197 |
|
{ "dt-blast-splits", no_argument, nullptr, 445 }, |
1198 |
|
{ "no-dt-blast-splits", no_argument, nullptr, 446 }, |
1199 |
|
{ "dt-cyclic", no_argument, nullptr, 447 }, |
1200 |
|
{ "no-dt-cyclic", no_argument, nullptr, 448 }, |
1201 |
|
{ "dt-force-assignment", no_argument, nullptr, 449 }, |
1202 |
|
{ "no-dt-force-assignment", no_argument, nullptr, 450 }, |
1203 |
|
{ "dt-infer-as-lemmas", no_argument, nullptr, 451 }, |
1204 |
|
{ "no-dt-infer-as-lemmas", no_argument, nullptr, 452 }, |
1205 |
|
{ "dt-nested-rec", no_argument, nullptr, 453 }, |
1206 |
|
{ "no-dt-nested-rec", no_argument, nullptr, 454 }, |
1207 |
|
{ "dt-polite-optimize", no_argument, nullptr, 455 }, |
1208 |
|
{ "no-dt-polite-optimize", no_argument, nullptr, 456 }, |
1209 |
|
{ "dt-rewrite-error-sel", no_argument, nullptr, 457 }, |
1210 |
|
{ "no-dt-rewrite-error-sel", no_argument, nullptr, 458 }, |
1211 |
|
{ "dt-share-sel", no_argument, nullptr, 459 }, |
1212 |
|
{ "no-dt-share-sel", no_argument, nullptr, 460 }, |
1213 |
|
{ "sygus-abort-size", required_argument, nullptr, 461 }, |
1214 |
|
{ "sygus-fair", required_argument, nullptr, 462 }, |
1215 |
|
{ "sygus-fair-max", no_argument, nullptr, 463 }, |
1216 |
|
{ "no-sygus-fair-max", no_argument, nullptr, 464 }, |
1217 |
|
{ "sygus-sym-break", no_argument, nullptr, 465 }, |
1218 |
|
{ "no-sygus-sym-break", no_argument, nullptr, 466 }, |
1219 |
|
{ "sygus-sym-break-agg", no_argument, nullptr, 467 }, |
1220 |
|
{ "no-sygus-sym-break-agg", no_argument, nullptr, 468 }, |
1221 |
|
{ "sygus-sym-break-dynamic", no_argument, nullptr, 469 }, |
1222 |
|
{ "no-sygus-sym-break-dynamic", no_argument, nullptr, 470 }, |
1223 |
|
{ "sygus-sym-break-lazy", no_argument, nullptr, 471 }, |
1224 |
|
{ "no-sygus-sym-break-lazy", no_argument, nullptr, 472 }, |
1225 |
|
{ "sygus-sym-break-pbe", no_argument, nullptr, 473 }, |
1226 |
|
{ "no-sygus-sym-break-pbe", no_argument, nullptr, 474 }, |
1227 |
|
{ "sygus-sym-break-rlv", no_argument, nullptr, 475 }, |
1228 |
|
{ "no-sygus-sym-break-rlv", no_argument, nullptr, 476 }, |
1229 |
|
{ "decision", required_argument, nullptr, 477 }, |
1230 |
|
{ "decision-mode", required_argument, nullptr, 478 }, |
1231 |
|
{ "decision-random-weight", required_argument, nullptr, 479 }, |
1232 |
|
{ "decision-threshold", required_argument, nullptr, 480 }, |
1233 |
|
{ "decision-use-weight", no_argument, nullptr, 481 }, |
1234 |
|
{ "no-decision-use-weight", no_argument, nullptr, 482 }, |
1235 |
|
{ "decision-weight-internal", required_argument, nullptr, 483 }, |
1236 |
|
{ "jh-rlv-order", no_argument, nullptr, 484 }, |
1237 |
|
{ "no-jh-rlv-order", no_argument, nullptr, 485 }, |
1238 |
|
{ "jh-skolem", required_argument, nullptr, 486 }, |
1239 |
|
{ "jh-skolem-rlv", required_argument, nullptr, 487 }, |
1240 |
|
{ "dag-thresh", required_argument, nullptr, 488 }, |
1241 |
|
{ "expr-depth", required_argument, nullptr, 489 }, |
1242 |
|
{ "type-checking", no_argument, nullptr, 490 }, |
1243 |
|
{ "no-type-checking", no_argument, nullptr, 491 }, |
1244 |
|
{ "fp-exp", no_argument, nullptr, 492 }, |
1245 |
|
{ "no-fp-exp", no_argument, nullptr, 493 }, |
1246 |
|
{ "fp-lazy-wb", no_argument, nullptr, 494 }, |
1247 |
|
{ "no-fp-lazy-wb", no_argument, nullptr, 495 }, |
1248 |
|
{ "copyright", no_argument, nullptr, 496 }, |
1249 |
|
{ "dump-difficulty", no_argument, nullptr, 497 }, |
1250 |
|
{ "no-dump-difficulty", no_argument, nullptr, 498 }, |
1251 |
|
{ "dump-instantiations", no_argument, nullptr, 499 }, |
1252 |
|
{ "no-dump-instantiations", no_argument, nullptr, 500 }, |
1253 |
|
{ "dump-instantiations-debug", no_argument, nullptr, 501 }, |
1254 |
|
{ "no-dump-instantiations-debug", no_argument, nullptr, 502 }, |
1255 |
|
{ "dump-models", no_argument, nullptr, 503 }, |
1256 |
|
{ "no-dump-models", no_argument, nullptr, 504 }, |
1257 |
|
{ "dump-proofs", no_argument, nullptr, 505 }, |
1258 |
|
{ "no-dump-proofs", no_argument, nullptr, 506 }, |
1259 |
|
{ "dump-unsat-cores", no_argument, nullptr, 507 }, |
1260 |
|
{ "no-dump-unsat-cores", no_argument, nullptr, 508 }, |
1261 |
|
{ "dump-unsat-cores-full", no_argument, nullptr, 509 }, |
1262 |
|
{ "no-dump-unsat-cores-full", no_argument, nullptr, 510 }, |
1263 |
|
{ "early-exit", no_argument, nullptr, 511 }, |
1264 |
|
{ "no-early-exit", no_argument, nullptr, 512 }, |
1265 |
|
{ "filename", required_argument, nullptr, 513 }, |
1266 |
|
{ "force-no-limit-cpu-while-dump", no_argument, nullptr, 514 }, |
1267 |
|
{ "no-force-no-limit-cpu-while-dump", no_argument, nullptr, 515 }, |
1268 |
|
{ "help", no_argument, nullptr, 516 }, |
1269 |
|
{ "interactive", no_argument, nullptr, 517 }, |
1270 |
|
{ "no-interactive", no_argument, nullptr, 518 }, |
1271 |
|
{ "seed", required_argument, nullptr, 519 }, |
1272 |
|
{ "segv-spin", no_argument, nullptr, 520 }, |
1273 |
|
{ "no-segv-spin", no_argument, nullptr, 521 }, |
1274 |
|
{ "show-config", no_argument, nullptr, 522 }, |
1275 |
|
{ "show-debug-tags", no_argument, nullptr, 523 }, |
1276 |
|
{ "show-trace-tags", no_argument, nullptr, 524 }, |
1277 |
|
{ "version", no_argument, nullptr, 525 }, |
1278 |
|
{ "filesystem-access", no_argument, nullptr, 526 }, |
1279 |
|
{ "no-filesystem-access", no_argument, nullptr, 527 }, |
1280 |
|
{ "force-logic", required_argument, nullptr, 528 }, |
1281 |
|
{ "global-declarations", no_argument, nullptr, 529 }, |
1282 |
|
{ "no-global-declarations", no_argument, nullptr, 530 }, |
1283 |
|
{ "mmap", no_argument, nullptr, 531 }, |
1284 |
|
{ "no-mmap", no_argument, nullptr, 532 }, |
1285 |
|
{ "semantic-checks", no_argument, nullptr, 533 }, |
1286 |
|
{ "no-semantic-checks", no_argument, nullptr, 534 }, |
1287 |
|
{ "strict-parsing", no_argument, nullptr, 535 }, |
1288 |
|
{ "no-strict-parsing", no_argument, nullptr, 536 }, |
1289 |
|
{ "flatten-ho-chains", no_argument, nullptr, 537 }, |
1290 |
|
{ "no-flatten-ho-chains", no_argument, nullptr, 538 }, |
1291 |
|
{ "print-inst", required_argument, nullptr, 539 }, |
1292 |
|
{ "print-inst-full", no_argument, nullptr, 540 }, |
1293 |
|
{ "no-print-inst-full", no_argument, nullptr, 541 }, |
1294 |
|
{ "proof-check", required_argument, nullptr, 542 }, |
1295 |
|
{ "proof-format-mode", required_argument, nullptr, 543 }, |
1296 |
|
{ "proof-granularity", required_argument, nullptr, 544 }, |
1297 |
|
{ "proof-pedantic", required_argument, nullptr, 545 }, |
1298 |
|
{ "proof-pp-merge", no_argument, nullptr, 546 }, |
1299 |
|
{ "no-proof-pp-merge", no_argument, nullptr, 547 }, |
1300 |
|
{ "proof-print-conclusion", no_argument, nullptr, 548 }, |
1301 |
|
{ "no-proof-print-conclusion", no_argument, nullptr, 549 }, |
1302 |
|
{ "minisat-dump-dimacs", no_argument, nullptr, 550 }, |
1303 |
|
{ "no-minisat-dump-dimacs", no_argument, nullptr, 551 }, |
1304 |
|
{ "minisat-elimination", no_argument, nullptr, 552 }, |
1305 |
|
{ "no-minisat-elimination", no_argument, nullptr, 553 }, |
1306 |
|
{ "random-freq", required_argument, nullptr, 554 }, |
1307 |
|
{ "random-frequency", required_argument, nullptr, 555 }, |
1308 |
|
{ "random-seed", required_argument, nullptr, 556 }, |
1309 |
|
{ "refine-conflicts", no_argument, nullptr, 557 }, |
1310 |
|
{ "no-refine-conflicts", no_argument, nullptr, 558 }, |
1311 |
|
{ "restart-int-base", required_argument, nullptr, 559 }, |
1312 |
|
{ "restart-int-inc", required_argument, nullptr, 560 }, |
1313 |
|
{ "ag-miniscope-quant", no_argument, nullptr, 561 }, |
1314 |
|
{ "no-ag-miniscope-quant", no_argument, nullptr, 562 }, |
1315 |
|
{ "cegis-sample", required_argument, nullptr, 563 }, |
1316 |
|
{ "cegqi", no_argument, nullptr, 564 }, |
1317 |
|
{ "no-cegqi", no_argument, nullptr, 565 }, |
1318 |
|
{ "cegqi-all", no_argument, nullptr, 566 }, |
1319 |
|
{ "no-cegqi-all", no_argument, nullptr, 567 }, |
1320 |
|
{ "cegqi-bv", no_argument, nullptr, 568 }, |
1321 |
|
{ "no-cegqi-bv", no_argument, nullptr, 569 }, |
1322 |
|
{ "cegqi-bv-concat-inv", no_argument, nullptr, 570 }, |
1323 |
|
{ "no-cegqi-bv-concat-inv", no_argument, nullptr, 571 }, |
1324 |
|
{ "cegqi-bv-ineq", required_argument, nullptr, 572 }, |
1325 |
|
{ "cegqi-bv-interleave-value", no_argument, nullptr, 573 }, |
1326 |
|
{ "no-cegqi-bv-interleave-value", no_argument, nullptr, 574 }, |
1327 |
|
{ "cegqi-bv-linear", no_argument, nullptr, 575 }, |
1328 |
|
{ "no-cegqi-bv-linear", no_argument, nullptr, 576 }, |
1329 |
|
{ "cegqi-bv-rm-extract", no_argument, nullptr, 577 }, |
1330 |
|
{ "no-cegqi-bv-rm-extract", no_argument, nullptr, 578 }, |
1331 |
|
{ "cegqi-bv-solve-nl", no_argument, nullptr, 579 }, |
1332 |
|
{ "no-cegqi-bv-solve-nl", no_argument, nullptr, 580 }, |
1333 |
|
{ "cegqi-full", no_argument, nullptr, 581 }, |
1334 |
|
{ "no-cegqi-full", no_argument, nullptr, 582 }, |
1335 |
|
{ "cegqi-innermost", no_argument, nullptr, 583 }, |
1336 |
|
{ "no-cegqi-innermost", no_argument, nullptr, 584 }, |
1337 |
|
{ "cegqi-midpoint", no_argument, nullptr, 585 }, |
1338 |
|
{ "no-cegqi-midpoint", no_argument, nullptr, 586 }, |
1339 |
|
{ "cegqi-min-bounds", no_argument, nullptr, 587 }, |
1340 |
|
{ "no-cegqi-min-bounds", no_argument, nullptr, 588 }, |
1341 |
|
{ "cegqi-model", no_argument, nullptr, 589 }, |
1342 |
|
{ "no-cegqi-model", no_argument, nullptr, 590 }, |
1343 |
|
{ "cegqi-multi-inst", no_argument, nullptr, 591 }, |
1344 |
|
{ "no-cegqi-multi-inst", no_argument, nullptr, 592 }, |
1345 |
|
{ "cegqi-nested-qe", no_argument, nullptr, 593 }, |
1346 |
|
{ "no-cegqi-nested-qe", no_argument, nullptr, 594 }, |
1347 |
|
{ "cegqi-nopt", no_argument, nullptr, 595 }, |
1348 |
|
{ "no-cegqi-nopt", no_argument, nullptr, 596 }, |
1349 |
|
{ "cegqi-repeat-lit", no_argument, nullptr, 597 }, |
1350 |
|
{ "no-cegqi-repeat-lit", no_argument, nullptr, 598 }, |
1351 |
|
{ "cegqi-round-up-lia", no_argument, nullptr, 599 }, |
1352 |
|
{ "no-cegqi-round-up-lia", no_argument, nullptr, 600 }, |
1353 |
|
{ "cegqi-sat", no_argument, nullptr, 601 }, |
1354 |
|
{ "no-cegqi-sat", no_argument, nullptr, 602 }, |
1355 |
|
{ "cegqi-use-inf-int", no_argument, nullptr, 603 }, |
1356 |
|
{ "no-cegqi-use-inf-int", no_argument, nullptr, 604 }, |
1357 |
|
{ "cegqi-use-inf-real", no_argument, nullptr, 605 }, |
1358 |
|
{ "no-cegqi-use-inf-real", no_argument, nullptr, 606 }, |
1359 |
|
{ "cond-var-split-agg-quant", no_argument, nullptr, 607 }, |
1360 |
|
{ "no-cond-var-split-agg-quant", no_argument, nullptr, 608 }, |
1361 |
|
{ "cond-var-split-quant", no_argument, nullptr, 609 }, |
1362 |
|
{ "no-cond-var-split-quant", no_argument, nullptr, 610 }, |
1363 |
|
{ "conjecture-filter-active-terms", no_argument, nullptr, 611 }, |
1364 |
|
{ "no-conjecture-filter-active-terms", no_argument, nullptr, 612 }, |
1365 |
|
{ "conjecture-filter-canonical", no_argument, nullptr, 613 }, |
1366 |
|
{ "no-conjecture-filter-canonical", no_argument, nullptr, 614 }, |
1367 |
|
{ "conjecture-filter-model", no_argument, nullptr, 615 }, |
1368 |
|
{ "no-conjecture-filter-model", no_argument, nullptr, 616 }, |
1369 |
|
{ "conjecture-gen", no_argument, nullptr, 617 }, |
1370 |
|
{ "no-conjecture-gen", no_argument, nullptr, 618 }, |
1371 |
|
{ "conjecture-gen-gt-enum", required_argument, nullptr, 619 }, |
1372 |
|
{ "conjecture-gen-max-depth", required_argument, nullptr, 620 }, |
1373 |
|
{ "conjecture-gen-per-round", required_argument, nullptr, 621 }, |
1374 |
|
{ "conjecture-gen-uee-intro", no_argument, nullptr, 622 }, |
1375 |
|
{ "no-conjecture-gen-uee-intro", no_argument, nullptr, 623 }, |
1376 |
|
{ "conjecture-no-filter", no_argument, nullptr, 624 }, |
1377 |
|
{ "no-conjecture-no-filter", no_argument, nullptr, 625 }, |
1378 |
|
{ "dt-stc-ind", no_argument, nullptr, 626 }, |
1379 |
|
{ "no-dt-stc-ind", no_argument, nullptr, 627 }, |
1380 |
|
{ "dt-var-exp-quant", no_argument, nullptr, 628 }, |
1381 |
|
{ "no-dt-var-exp-quant", no_argument, nullptr, 629 }, |
1382 |
|
{ "e-matching", no_argument, nullptr, 630 }, |
1383 |
|
{ "no-e-matching", no_argument, nullptr, 631 }, |
1384 |
|
{ "elim-taut-quant", no_argument, nullptr, 632 }, |
1385 |
|
{ "no-elim-taut-quant", no_argument, nullptr, 633 }, |
1386 |
|
{ "ext-rewrite-quant", no_argument, nullptr, 634 }, |
1387 |
|
{ "no-ext-rewrite-quant", no_argument, nullptr, 635 }, |
1388 |
|
{ "finite-model-find", no_argument, nullptr, 636 }, |
1389 |
|
{ "no-finite-model-find", no_argument, nullptr, 637 }, |
1390 |
|
{ "fmf-bound", no_argument, nullptr, 638 }, |
1391 |
|
{ "no-fmf-bound", no_argument, nullptr, 639 }, |
1392 |
|
{ "fmf-bound-int", no_argument, nullptr, 640 }, |
1393 |
|
{ "no-fmf-bound-int", no_argument, nullptr, 641 }, |
1394 |
|
{ "fmf-bound-lazy", no_argument, nullptr, 642 }, |
1395 |
|
{ "no-fmf-bound-lazy", no_argument, nullptr, 643 }, |
1396 |
|
{ "fmf-fmc-simple", no_argument, nullptr, 644 }, |
1397 |
|
{ "no-fmf-fmc-simple", no_argument, nullptr, 645 }, |
1398 |
|
{ "fmf-fresh-dc", no_argument, nullptr, 646 }, |
1399 |
|
{ "no-fmf-fresh-dc", no_argument, nullptr, 647 }, |
1400 |
|
{ "fmf-fun", no_argument, nullptr, 648 }, |
1401 |
|
{ "no-fmf-fun", no_argument, nullptr, 649 }, |
1402 |
|
{ "fmf-fun-rlv", no_argument, nullptr, 650 }, |
1403 |
|
{ "no-fmf-fun-rlv", no_argument, nullptr, 651 }, |
1404 |
|
{ "fmf-inst-engine", no_argument, nullptr, 652 }, |
1405 |
|
{ "no-fmf-inst-engine", no_argument, nullptr, 653 }, |
1406 |
|
{ "fmf-type-completion-thresh", required_argument, nullptr, 654 }, |
1407 |
|
{ "fs-interleave", no_argument, nullptr, 655 }, |
1408 |
|
{ "no-fs-interleave", no_argument, nullptr, 656 }, |
1409 |
|
{ "fs-stratify", no_argument, nullptr, 657 }, |
1410 |
|
{ "no-fs-stratify", no_argument, nullptr, 658 }, |
1411 |
|
{ "fs-sum", no_argument, nullptr, 659 }, |
1412 |
|
{ "no-fs-sum", no_argument, nullptr, 660 }, |
1413 |
|
{ "full-saturate-quant", no_argument, nullptr, 661 }, |
1414 |
|
{ "no-full-saturate-quant", no_argument, nullptr, 662 }, |
1415 |
|
{ "full-saturate-quant-limit", required_argument, nullptr, 663 }, |
1416 |
|
{ "full-saturate-quant-rd", no_argument, nullptr, 664 }, |
1417 |
|
{ "no-full-saturate-quant-rd", no_argument, nullptr, 665 }, |
1418 |
|
{ "global-negate", no_argument, nullptr, 666 }, |
1419 |
|
{ "no-global-negate", no_argument, nullptr, 667 }, |
1420 |
|
{ "ho-elim", no_argument, nullptr, 668 }, |
1421 |
|
{ "no-ho-elim", no_argument, nullptr, 669 }, |
1422 |
|
{ "ho-elim-store-ax", no_argument, nullptr, 670 }, |
1423 |
|
{ "no-ho-elim-store-ax", no_argument, nullptr, 671 }, |
1424 |
|
{ "ho-matching", no_argument, nullptr, 672 }, |
1425 |
|
{ "no-ho-matching", no_argument, nullptr, 673 }, |
1426 |
|
{ "ho-matching-var-priority", no_argument, nullptr, 674 }, |
1427 |
|
{ "no-ho-matching-var-priority", no_argument, nullptr, 675 }, |
1428 |
|
{ "ho-merge-term-db", no_argument, nullptr, 676 }, |
1429 |
|
{ "no-ho-merge-term-db", no_argument, nullptr, 677 }, |
1430 |
|
{ "increment-triggers", no_argument, nullptr, 678 }, |
1431 |
|
{ "no-increment-triggers", no_argument, nullptr, 679 }, |
1432 |
|
{ "inst-level-input-only", no_argument, nullptr, 680 }, |
1433 |
|
{ "no-inst-level-input-only", no_argument, nullptr, 681 }, |
1434 |
|
{ "inst-max-level", required_argument, nullptr, 682 }, |
1435 |
|
{ "inst-max-rounds", required_argument, nullptr, 683 }, |
1436 |
|
{ "inst-no-entail", no_argument, nullptr, 684 }, |
1437 |
|
{ "no-inst-no-entail", no_argument, nullptr, 685 }, |
1438 |
|
{ "inst-when", required_argument, nullptr, 686 }, |
1439 |
|
{ "inst-when-phase", required_argument, nullptr, 687 }, |
1440 |
|
{ "inst-when-strict-interleave", no_argument, nullptr, 688 }, |
1441 |
|
{ "no-inst-when-strict-interleave", no_argument, nullptr, 689 }, |
1442 |
|
{ "inst-when-tc-first", no_argument, nullptr, 690 }, |
1443 |
|
{ "no-inst-when-tc-first", no_argument, nullptr, 691 }, |
1444 |
|
{ "int-wf-ind", no_argument, nullptr, 692 }, |
1445 |
|
{ "no-int-wf-ind", no_argument, nullptr, 693 }, |
1446 |
|
{ "ite-dtt-split-quant", no_argument, nullptr, 694 }, |
1447 |
|
{ "no-ite-dtt-split-quant", no_argument, nullptr, 695 }, |
1448 |
|
{ "ite-lift-quant", required_argument, nullptr, 696 }, |
1449 |
|
{ "literal-matching", required_argument, nullptr, 697 }, |
1450 |
|
{ "macros-quant", no_argument, nullptr, 698 }, |
1451 |
|
{ "no-macros-quant", no_argument, nullptr, 699 }, |
1452 |
|
{ "macros-quant-mode", required_argument, nullptr, 700 }, |
1453 |
|
{ "mbqi", required_argument, nullptr, 701 }, |
1454 |
|
{ "mbqi-interleave", no_argument, nullptr, 702 }, |
1455 |
|
{ "no-mbqi-interleave", no_argument, nullptr, 703 }, |
1456 |
|
{ "mbqi-one-inst-per-round", no_argument, nullptr, 704 }, |
1457 |
|
{ "no-mbqi-one-inst-per-round", no_argument, nullptr, 705 }, |
1458 |
|
{ "miniscope-quant", no_argument, nullptr, 706 }, |
1459 |
|
{ "no-miniscope-quant", no_argument, nullptr, 707 }, |
1460 |
|
{ "miniscope-quant-fv", no_argument, nullptr, 708 }, |
1461 |
|
{ "no-miniscope-quant-fv", no_argument, nullptr, 709 }, |
1462 |
|
{ "multi-trigger-cache", no_argument, nullptr, 710 }, |
1463 |
|
{ "no-multi-trigger-cache", no_argument, nullptr, 711 }, |
1464 |
|
{ "multi-trigger-linear", no_argument, nullptr, 712 }, |
1465 |
|
{ "no-multi-trigger-linear", no_argument, nullptr, 713 }, |
1466 |
|
{ "multi-trigger-priority", no_argument, nullptr, 714 }, |
1467 |
|
{ "no-multi-trigger-priority", no_argument, nullptr, 715 }, |
1468 |
|
{ "multi-trigger-when-single", no_argument, nullptr, 716 }, |
1469 |
|
{ "no-multi-trigger-when-single", no_argument, nullptr, 717 }, |
1470 |
|
{ "partial-triggers", no_argument, nullptr, 718 }, |
1471 |
|
{ "no-partial-triggers", no_argument, nullptr, 719 }, |
1472 |
|
{ "pool-inst", no_argument, nullptr, 720 }, |
1473 |
|
{ "no-pool-inst", no_argument, nullptr, 721 }, |
1474 |
|
{ "pre-skolem-quant", no_argument, nullptr, 722 }, |
1475 |
|
{ "no-pre-skolem-quant", no_argument, nullptr, 723 }, |
1476 |
|
{ "pre-skolem-quant-agg", no_argument, nullptr, 724 }, |
1477 |
|
{ "no-pre-skolem-quant-agg", no_argument, nullptr, 725 }, |
1478 |
|
{ "pre-skolem-quant-nested", no_argument, nullptr, 726 }, |
1479 |
|
{ "no-pre-skolem-quant-nested", no_argument, nullptr, 727 }, |
1480 |
|
{ "prenex-quant", required_argument, nullptr, 728 }, |
1481 |
|
{ "prenex-quant-user", no_argument, nullptr, 729 }, |
1482 |
|
{ "no-prenex-quant-user", no_argument, nullptr, 730 }, |
1483 |
|
{ "purify-triggers", no_argument, nullptr, 731 }, |
1484 |
|
{ "no-purify-triggers", no_argument, nullptr, 732 }, |
1485 |
|
{ "qcf-all-conflict", no_argument, nullptr, 733 }, |
1486 |
|
{ "no-qcf-all-conflict", no_argument, nullptr, 734 }, |
1487 |
|
{ "qcf-eager-check-rd", no_argument, nullptr, 735 }, |
1488 |
|
{ "no-qcf-eager-check-rd", no_argument, nullptr, 736 }, |
1489 |
|
{ "qcf-eager-test", no_argument, nullptr, 737 }, |
1490 |
|
{ "no-qcf-eager-test", no_argument, nullptr, 738 }, |
1491 |
|
{ "qcf-nested-conflict", no_argument, nullptr, 739 }, |
1492 |
|
{ "no-qcf-nested-conflict", no_argument, nullptr, 740 }, |
1493 |
|
{ "qcf-skip-rd", no_argument, nullptr, 741 }, |
1494 |
|
{ "no-qcf-skip-rd", no_argument, nullptr, 742 }, |
1495 |
|
{ "qcf-tconstraint", no_argument, nullptr, 743 }, |
1496 |
|
{ "no-qcf-tconstraint", no_argument, nullptr, 744 }, |
1497 |
|
{ "qcf-vo-exp", no_argument, nullptr, 745 }, |
1498 |
|
{ "no-qcf-vo-exp", no_argument, nullptr, 746 }, |
1499 |
|
{ "quant-alpha-equiv", no_argument, nullptr, 747 }, |
1500 |
|
{ "no-quant-alpha-equiv", no_argument, nullptr, 748 }, |
1501 |
|
{ "quant-cf", no_argument, nullptr, 749 }, |
1502 |
|
{ "no-quant-cf", no_argument, nullptr, 750 }, |
1503 |
|
{ "quant-cf-mode", required_argument, nullptr, 751 }, |
1504 |
|
{ "quant-cf-when", required_argument, nullptr, 752 }, |
1505 |
|
{ "quant-dsplit-mode", required_argument, nullptr, 753 }, |
1506 |
|
{ "quant-fun-wd", no_argument, nullptr, 754 }, |
1507 |
|
{ "no-quant-fun-wd", no_argument, nullptr, 755 }, |
1508 |
|
{ "quant-ind", no_argument, nullptr, 756 }, |
1509 |
|
{ "no-quant-ind", no_argument, nullptr, 757 }, |
1510 |
|
{ "quant-rep-mode", required_argument, nullptr, 758 }, |
1511 |
|
{ "quant-split", no_argument, nullptr, 759 }, |
1512 |
|
{ "no-quant-split", no_argument, nullptr, 760 }, |
1513 |
|
{ "register-quant-body-terms", no_argument, nullptr, 761 }, |
1514 |
|
{ "no-register-quant-body-terms", no_argument, nullptr, 762 }, |
1515 |
|
{ "relational-triggers", no_argument, nullptr, 763 }, |
1516 |
|
{ "no-relational-triggers", no_argument, nullptr, 764 }, |
1517 |
|
{ "relevant-triggers", no_argument, nullptr, 765 }, |
1518 |
|
{ "no-relevant-triggers", no_argument, nullptr, 766 }, |
1519 |
|
{ "sygus", no_argument, nullptr, 767 }, |
1520 |
|
{ "no-sygus", no_argument, nullptr, 768 }, |
1521 |
|
{ "sygus-active-gen", required_argument, nullptr, 769 }, |
1522 |
|
{ "sygus-active-gen-cfactor", required_argument, nullptr, 770 }, |
1523 |
|
{ "sygus-add-const-grammar", no_argument, nullptr, 771 }, |
1524 |
|
{ "no-sygus-add-const-grammar", no_argument, nullptr, 772 }, |
1525 |
|
{ "sygus-arg-relevant", no_argument, nullptr, 773 }, |
1526 |
|
{ "no-sygus-arg-relevant", no_argument, nullptr, 774 }, |
1527 |
|
{ "sygus-auto-unfold", no_argument, nullptr, 775 }, |
1528 |
|
{ "no-sygus-auto-unfold", no_argument, nullptr, 776 }, |
1529 |
|
{ "sygus-bool-ite-return-const", no_argument, nullptr, 777 }, |
1530 |
|
{ "no-sygus-bool-ite-return-const", no_argument, nullptr, 778 }, |
1531 |
|
{ "sygus-core-connective", no_argument, nullptr, 779 }, |
1532 |
|
{ "no-sygus-core-connective", no_argument, nullptr, 780 }, |
1533 |
|
{ "sygus-crepair-abort", no_argument, nullptr, 781 }, |
1534 |
|
{ "no-sygus-crepair-abort", no_argument, nullptr, 782 }, |
1535 |
|
{ "sygus-eval-opt", no_argument, nullptr, 783 }, |
1536 |
|
{ "no-sygus-eval-opt", no_argument, nullptr, 784 }, |
1537 |
|
{ "sygus-eval-unfold", no_argument, nullptr, 785 }, |
1538 |
|
{ "no-sygus-eval-unfold", no_argument, nullptr, 786 }, |
1539 |
|
{ "sygus-eval-unfold-bool", no_argument, nullptr, 787 }, |
1540 |
|
{ "no-sygus-eval-unfold-bool", no_argument, nullptr, 788 }, |
1541 |
|
{ "sygus-expr-miner-check-timeout", required_argument, nullptr, 789 }, |
1542 |
|
{ "sygus-ext-rew", no_argument, nullptr, 790 }, |
1543 |
|
{ "no-sygus-ext-rew", no_argument, nullptr, 791 }, |
1544 |
|
{ "sygus-filter-sol", required_argument, nullptr, 792 }, |
1545 |
|
{ "sygus-filter-sol-rev", no_argument, nullptr, 793 }, |
1546 |
|
{ "no-sygus-filter-sol-rev", no_argument, nullptr, 794 }, |
1547 |
|
{ "sygus-grammar-cons", required_argument, nullptr, 795 }, |
1548 |
|
{ "sygus-grammar-norm", no_argument, nullptr, 796 }, |
1549 |
|
{ "no-sygus-grammar-norm", no_argument, nullptr, 797 }, |
1550 |
|
{ "sygus-inference", no_argument, nullptr, 798 }, |
1551 |
|
{ "no-sygus-inference", no_argument, nullptr, 799 }, |
1552 |
|
{ "sygus-inst", no_argument, nullptr, 800 }, |
1553 |
|
{ "no-sygus-inst", no_argument, nullptr, 801 }, |
1554 |
|
{ "sygus-inst-mode", required_argument, nullptr, 802 }, |
1555 |
|
{ "sygus-inst-scope", required_argument, nullptr, 803 }, |
1556 |
|
{ "sygus-inst-term-sel", required_argument, nullptr, 804 }, |
1557 |
|
{ "sygus-inv-templ", required_argument, nullptr, 805 }, |
1558 |
|
{ "sygus-inv-templ-when-sg", no_argument, nullptr, 806 }, |
1559 |
|
{ "no-sygus-inv-templ-when-sg", no_argument, nullptr, 807 }, |
1560 |
|
{ "sygus-min-grammar", no_argument, nullptr, 808 }, |
1561 |
|
{ "no-sygus-min-grammar", no_argument, nullptr, 809 }, |
1562 |
|
{ "sygus-pbe", no_argument, nullptr, 810 }, |
1563 |
|
{ "no-sygus-pbe", no_argument, nullptr, 811 }, |
1564 |
|
{ "sygus-pbe-multi-fair", no_argument, nullptr, 812 }, |
1565 |
|
{ "no-sygus-pbe-multi-fair", no_argument, nullptr, 813 }, |
1566 |
|
{ "sygus-pbe-multi-fair-diff", required_argument, nullptr, 814 }, |
1567 |
|
{ "sygus-qe-preproc", no_argument, nullptr, 815 }, |
1568 |
|
{ "no-sygus-qe-preproc", no_argument, nullptr, 816 }, |
1569 |
|
{ "sygus-query-gen", no_argument, nullptr, 817 }, |
1570 |
|
{ "no-sygus-query-gen", no_argument, nullptr, 818 }, |
1571 |
|
{ "sygus-query-gen-check", no_argument, nullptr, 819 }, |
1572 |
|
{ "no-sygus-query-gen-check", no_argument, nullptr, 820 }, |
1573 |
|
{ "sygus-query-gen-dump-files", required_argument, nullptr, 821 }, |
1574 |
|
{ "sygus-query-gen-thresh", required_argument, nullptr, 822 }, |
1575 |
|
{ "sygus-rec-fun", no_argument, nullptr, 823 }, |
1576 |
|
{ "no-sygus-rec-fun", no_argument, nullptr, 824 }, |
1577 |
|
{ "sygus-rec-fun-eval-limit", required_argument, nullptr, 825 }, |
1578 |
|
{ "sygus-repair-const", no_argument, nullptr, 826 }, |
1579 |
|
{ "no-sygus-repair-const", no_argument, nullptr, 827 }, |
1580 |
|
{ "sygus-repair-const-timeout", required_argument, nullptr, 828 }, |
1581 |
|
{ "sygus-rr", no_argument, nullptr, 829 }, |
1582 |
|
{ "no-sygus-rr", no_argument, nullptr, 830 }, |
1583 |
|
{ "sygus-rr-synth", no_argument, nullptr, 831 }, |
1584 |
|
{ "no-sygus-rr-synth", no_argument, nullptr, 832 }, |
1585 |
|
{ "sygus-rr-synth-accel", no_argument, nullptr, 833 }, |
1586 |
|
{ "no-sygus-rr-synth-accel", no_argument, nullptr, 834 }, |
1587 |
|
{ "sygus-rr-synth-check", no_argument, nullptr, 835 }, |
1588 |
|
{ "no-sygus-rr-synth-check", no_argument, nullptr, 836 }, |
1589 |
|
{ "sygus-rr-synth-filter-cong", no_argument, nullptr, 837 }, |
1590 |
|
{ "no-sygus-rr-synth-filter-cong", no_argument, nullptr, 838 }, |
1591 |
|
{ "sygus-rr-synth-filter-match", no_argument, nullptr, 839 }, |
1592 |
|
{ "no-sygus-rr-synth-filter-match", no_argument, nullptr, 840 }, |
1593 |
|
{ "sygus-rr-synth-filter-nl", no_argument, nullptr, 841 }, |
1594 |
|
{ "no-sygus-rr-synth-filter-nl", no_argument, nullptr, 842 }, |
1595 |
|
{ "sygus-rr-synth-filter-order", no_argument, nullptr, 843 }, |
1596 |
|
{ "no-sygus-rr-synth-filter-order", no_argument, nullptr, 844 }, |
1597 |
|
{ "sygus-rr-synth-input", no_argument, nullptr, 845 }, |
1598 |
|
{ "no-sygus-rr-synth-input", no_argument, nullptr, 846 }, |
1599 |
|
{ "sygus-rr-synth-input-nvars", required_argument, nullptr, 847 }, |
1600 |
|
{ "sygus-rr-synth-input-use-bool", no_argument, nullptr, 848 }, |
1601 |
|
{ "no-sygus-rr-synth-input-use-bool", no_argument, nullptr, 849 }, |
1602 |
|
{ "sygus-rr-synth-rec", no_argument, nullptr, 850 }, |
1603 |
|
{ "no-sygus-rr-synth-rec", no_argument, nullptr, 851 }, |
1604 |
|
{ "sygus-rr-verify", no_argument, nullptr, 852 }, |
1605 |
|
{ "no-sygus-rr-verify", no_argument, nullptr, 853 }, |
1606 |
|
{ "sygus-rr-verify-abort", no_argument, nullptr, 854 }, |
1607 |
|
{ "no-sygus-rr-verify-abort", no_argument, nullptr, 855 }, |
1608 |
|
{ "sygus-sample-fp-uniform", no_argument, nullptr, 856 }, |
1609 |
|
{ "no-sygus-sample-fp-uniform", no_argument, nullptr, 857 }, |
1610 |
|
{ "sygus-sample-grammar", no_argument, nullptr, 858 }, |
1611 |
|
{ "no-sygus-sample-grammar", no_argument, nullptr, 859 }, |
1612 |
|
{ "sygus-samples", required_argument, nullptr, 860 }, |
1613 |
|
{ "sygus-si", required_argument, nullptr, 861 }, |
1614 |
|
{ "sygus-si-abort", no_argument, nullptr, 862 }, |
1615 |
|
{ "no-sygus-si-abort", no_argument, nullptr, 863 }, |
1616 |
|
{ "sygus-si-rcons", required_argument, nullptr, 864 }, |
1617 |
|
{ "sygus-si-rcons-limit", required_argument, nullptr, 865 }, |
1618 |
|
{ "sygus-stream", no_argument, nullptr, 866 }, |
1619 |
|
{ "no-sygus-stream", no_argument, nullptr, 867 }, |
1620 |
|
{ "sygus-templ-embed-grammar", no_argument, nullptr, 868 }, |
1621 |
|
{ "no-sygus-templ-embed-grammar", no_argument, nullptr, 869 }, |
1622 |
|
{ "sygus-unif-cond-independent-no-repeat-sol", no_argument, nullptr, 870 }, |
1623 |
|
{ "no-sygus-unif-cond-independent-no-repeat-sol", no_argument, nullptr, 871 }, |
1624 |
|
{ "sygus-unif-pi", required_argument, nullptr, 872 }, |
1625 |
|
{ "sygus-unif-shuffle-cond", no_argument, nullptr, 873 }, |
1626 |
|
{ "no-sygus-unif-shuffle-cond", no_argument, nullptr, 874 }, |
1627 |
|
{ "sygus-verify-inst-max-rounds", required_argument, nullptr, 875 }, |
1628 |
|
{ "term-db-cd", no_argument, nullptr, 876 }, |
1629 |
|
{ "no-term-db-cd", no_argument, nullptr, 877 }, |
1630 |
|
{ "term-db-mode", required_argument, nullptr, 878 }, |
1631 |
|
{ "trigger-active-sel", required_argument, nullptr, 879 }, |
1632 |
|
{ "trigger-sel", required_argument, nullptr, 880 }, |
1633 |
|
{ "user-pat", required_argument, nullptr, 881 }, |
1634 |
|
{ "var-elim-quant", no_argument, nullptr, 882 }, |
1635 |
|
{ "no-var-elim-quant", no_argument, nullptr, 883 }, |
1636 |
|
{ "var-ineq-elim-quant", no_argument, nullptr, 884 }, |
1637 |
|
{ "no-var-ineq-elim-quant", no_argument, nullptr, 885 }, |
1638 |
|
{ "sep-check-neg", no_argument, nullptr, 886 }, |
1639 |
|
{ "no-sep-check-neg", no_argument, nullptr, 887 }, |
1640 |
|
{ "sep-child-refine", no_argument, nullptr, 888 }, |
1641 |
|
{ "no-sep-child-refine", no_argument, nullptr, 889 }, |
1642 |
|
{ "sep-deq-c", no_argument, nullptr, 890 }, |
1643 |
|
{ "no-sep-deq-c", no_argument, nullptr, 891 }, |
1644 |
|
{ "sep-min-refine", no_argument, nullptr, 892 }, |
1645 |
|
{ "no-sep-min-refine", no_argument, nullptr, 893 }, |
1646 |
|
{ "sep-pre-skolem-emp", no_argument, nullptr, 894 }, |
1647 |
|
{ "no-sep-pre-skolem-emp", no_argument, nullptr, 895 }, |
1648 |
|
{ "sets-ext", no_argument, nullptr, 896 }, |
1649 |
|
{ "no-sets-ext", no_argument, nullptr, 897 }, |
1650 |
|
{ "sets-infer-as-lemmas", no_argument, nullptr, 898 }, |
1651 |
|
{ "no-sets-infer-as-lemmas", no_argument, nullptr, 899 }, |
1652 |
|
{ "sets-proxy-lemmas", no_argument, nullptr, 900 }, |
1653 |
|
{ "no-sets-proxy-lemmas", no_argument, nullptr, 901 }, |
1654 |
|
{ "abstract-values", no_argument, nullptr, 902 }, |
1655 |
|
{ "no-abstract-values", no_argument, nullptr, 903 }, |
1656 |
|
{ "ackermann", no_argument, nullptr, 904 }, |
1657 |
|
{ "no-ackermann", no_argument, nullptr, 905 }, |
1658 |
|
{ "block-models", required_argument, nullptr, 906 }, |
1659 |
|
{ "bvand-integer-granularity", required_argument, nullptr, 907 }, |
1660 |
|
{ "check-abducts", no_argument, nullptr, 908 }, |
1661 |
|
{ "no-check-abducts", no_argument, nullptr, 909 }, |
1662 |
|
{ "check-interpols", no_argument, nullptr, 910 }, |
1663 |
|
{ "no-check-interpols", no_argument, nullptr, 911 }, |
1664 |
|
{ "check-models", no_argument, nullptr, 912 }, |
1665 |
|
{ "no-check-models", no_argument, nullptr, 913 }, |
1666 |
|
{ "check-proofs", no_argument, nullptr, 914 }, |
1667 |
|
{ "no-check-proofs", no_argument, nullptr, 915 }, |
1668 |
|
{ "check-synth-sol", no_argument, nullptr, 916 }, |
1669 |
|
{ "no-check-synth-sol", no_argument, nullptr, 917 }, |
1670 |
|
{ "check-unsat-cores", no_argument, nullptr, 918 }, |
1671 |
|
{ "no-check-unsat-cores", no_argument, nullptr, 919 }, |
1672 |
|
{ "debug-check-models", no_argument, nullptr, 920 }, |
1673 |
|
{ "no-debug-check-models", no_argument, nullptr, 921 }, |
1674 |
|
{ "difficulty-mode", required_argument, nullptr, 922 }, |
1675 |
|
{ "dump", required_argument, nullptr, 923 }, |
1676 |
|
{ "dump-to", required_argument, nullptr, 924 }, |
1677 |
|
{ "early-ite-removal", no_argument, nullptr, 925 }, |
1678 |
|
{ "no-early-ite-removal", no_argument, nullptr, 926 }, |
1679 |
|
{ "expand-definitions", no_argument, nullptr, 927 }, |
1680 |
|
{ "no-expand-definitions", no_argument, nullptr, 928 }, |
1681 |
|
{ "ext-rew-prep", no_argument, nullptr, 929 }, |
1682 |
|
{ "no-ext-rew-prep", no_argument, nullptr, 930 }, |
1683 |
|
{ "ext-rew-prep-agg", no_argument, nullptr, 931 }, |
1684 |
|
{ "no-ext-rew-prep-agg", no_argument, nullptr, 932 }, |
1685 |
|
{ "foreign-theory-rewrite", no_argument, nullptr, 933 }, |
1686 |
|
{ "no-foreign-theory-rewrite", no_argument, nullptr, 934 }, |
1687 |
|
{ "iand-mode", required_argument, nullptr, 935 }, |
1688 |
|
{ "interactive-mode", no_argument, nullptr, 936 }, |
1689 |
|
{ "no-interactive-mode", no_argument, nullptr, 937 }, |
1690 |
|
{ "ite-simp", no_argument, nullptr, 938 }, |
1691 |
|
{ "no-ite-simp", no_argument, nullptr, 939 }, |
1692 |
|
{ "learned-rewrite", no_argument, nullptr, 940 }, |
1693 |
|
{ "no-learned-rewrite", no_argument, nullptr, 941 }, |
1694 |
|
{ "minimal-unsat-cores", no_argument, nullptr, 942 }, |
1695 |
|
{ "no-minimal-unsat-cores", no_argument, nullptr, 943 }, |
1696 |
|
{ "model-cores", required_argument, nullptr, 944 }, |
1697 |
|
{ "model-u-print", required_argument, nullptr, 945 }, |
1698 |
|
{ "model-uninterp-print", required_argument, nullptr, 946 }, |
1699 |
|
{ "model-witness-value", no_argument, nullptr, 947 }, |
1700 |
|
{ "no-model-witness-value", no_argument, nullptr, 948 }, |
1701 |
|
{ "on-repeat-ite-simp", no_argument, nullptr, 949 }, |
1702 |
|
{ "no-on-repeat-ite-simp", no_argument, nullptr, 950 }, |
1703 |
|
{ "produce-abducts", no_argument, nullptr, 951 }, |
1704 |
|
{ "no-produce-abducts", no_argument, nullptr, 952 }, |
1705 |
|
{ "produce-assertions", no_argument, nullptr, 953 }, |
1706 |
|
{ "no-produce-assertions", no_argument, nullptr, 954 }, |
1707 |
|
{ "produce-assignments", no_argument, nullptr, 955 }, |
1708 |
|
{ "no-produce-assignments", no_argument, nullptr, 956 }, |
1709 |
|
{ "produce-difficulty", no_argument, nullptr, 957 }, |
1710 |
|
{ "no-produce-difficulty", no_argument, nullptr, 958 }, |
1711 |
|
{ "produce-interpols", required_argument, nullptr, 959 }, |
1712 |
|
{ "produce-models", no_argument, nullptr, 960 }, |
1713 |
|
{ "no-produce-models", no_argument, nullptr, 961 }, |
1714 |
|
{ "produce-proofs", no_argument, nullptr, 962 }, |
1715 |
|
{ "no-produce-proofs", no_argument, nullptr, 963 }, |
1716 |
|
{ "produce-unsat-assumptions", no_argument, nullptr, 964 }, |
1717 |
|
{ "no-produce-unsat-assumptions", no_argument, nullptr, 965 }, |
1718 |
|
{ "produce-unsat-cores", no_argument, nullptr, 966 }, |
1719 |
|
{ "no-produce-unsat-cores", no_argument, nullptr, 967 }, |
1720 |
|
{ "repeat-simp", no_argument, nullptr, 968 }, |
1721 |
|
{ "no-repeat-simp", no_argument, nullptr, 969 }, |
1722 |
|
{ "simp-ite-compress", no_argument, nullptr, 970 }, |
1723 |
|
{ "no-simp-ite-compress", no_argument, nullptr, 971 }, |
1724 |
|
{ "simp-ite-hunt-zombies", required_argument, nullptr, 972 }, |
1725 |
|
{ "simp-with-care", no_argument, nullptr, 973 }, |
1726 |
|
{ "no-simp-with-care", no_argument, nullptr, 974 }, |
1727 |
|
{ "simplification", required_argument, nullptr, 975 }, |
1728 |
|
{ "simplification-mode", required_argument, nullptr, 976 }, |
1729 |
|
{ "solve-bv-as-int", required_argument, nullptr, 977 }, |
1730 |
|
{ "solve-int-as-bv", required_argument, nullptr, 978 }, |
1731 |
|
{ "solve-real-as-int", no_argument, nullptr, 979 }, |
1732 |
|
{ "no-solve-real-as-int", no_argument, nullptr, 980 }, |
1733 |
|
{ "sort-inference", no_argument, nullptr, 981 }, |
1734 |
|
{ "no-sort-inference", no_argument, nullptr, 982 }, |
1735 |
|
{ "static-learning", no_argument, nullptr, 983 }, |
1736 |
|
{ "no-static-learning", no_argument, nullptr, 984 }, |
1737 |
|
{ "sygus-out", required_argument, nullptr, 985 }, |
1738 |
|
{ "unconstrained-simp", no_argument, nullptr, 986 }, |
1739 |
|
{ "no-unconstrained-simp", no_argument, nullptr, 987 }, |
1740 |
|
{ "unsat-cores-mode", required_argument, nullptr, 988 }, |
1741 |
|
{ "re-elim", no_argument, nullptr, 989 }, |
1742 |
|
{ "no-re-elim", no_argument, nullptr, 990 }, |
1743 |
|
{ "re-elim-agg", no_argument, nullptr, 991 }, |
1744 |
|
{ "no-re-elim-agg", no_argument, nullptr, 992 }, |
1745 |
|
{ "re-inter-mode", required_argument, nullptr, 993 }, |
1746 |
|
{ "strings-check-entail-len", no_argument, nullptr, 994 }, |
1747 |
|
{ "no-strings-check-entail-len", no_argument, nullptr, 995 }, |
1748 |
|
{ "strings-deq-ext", no_argument, nullptr, 996 }, |
1749 |
|
{ "no-strings-deq-ext", no_argument, nullptr, 997 }, |
1750 |
|
{ "strings-eager", no_argument, nullptr, 998 }, |
1751 |
|
{ "no-strings-eager", no_argument, nullptr, 999 }, |
1752 |
|
{ "strings-eager-eval", no_argument, nullptr, 1000 }, |
1753 |
|
{ "no-strings-eager-eval", no_argument, nullptr, 1001 }, |
1754 |
|
{ "strings-eager-len", no_argument, nullptr, 1002 }, |
1755 |
|
{ "no-strings-eager-len", no_argument, nullptr, 1003 }, |
1756 |
|
{ "strings-exp", no_argument, nullptr, 1004 }, |
1757 |
|
{ "no-strings-exp", no_argument, nullptr, 1005 }, |
1758 |
|
{ "strings-ff", no_argument, nullptr, 1006 }, |
1759 |
|
{ "no-strings-ff", no_argument, nullptr, 1007 }, |
1760 |
|
{ "strings-fmf", no_argument, nullptr, 1008 }, |
1761 |
|
{ "no-strings-fmf", no_argument, nullptr, 1009 }, |
1762 |
|
{ "strings-guess-model", no_argument, nullptr, 1010 }, |
1763 |
|
{ "no-strings-guess-model", no_argument, nullptr, 1011 }, |
1764 |
|
{ "strings-infer-as-lemmas", no_argument, nullptr, 1012 }, |
1765 |
|
{ "no-strings-infer-as-lemmas", no_argument, nullptr, 1013 }, |
1766 |
|
{ "strings-infer-sym", no_argument, nullptr, 1014 }, |
1767 |
|
{ "no-strings-infer-sym", no_argument, nullptr, 1015 }, |
1768 |
|
{ "strings-lazy-pp", no_argument, nullptr, 1016 }, |
1769 |
|
{ "no-strings-lazy-pp", no_argument, nullptr, 1017 }, |
1770 |
|
{ "strings-len-norm", no_argument, nullptr, 1018 }, |
1771 |
|
{ "no-strings-len-norm", no_argument, nullptr, 1019 }, |
1772 |
|
{ "strings-min-prefix-explain", no_argument, nullptr, 1020 }, |
1773 |
|
{ "no-strings-min-prefix-explain", no_argument, nullptr, 1021 }, |
1774 |
|
{ "strings-process-loop-mode", required_argument, nullptr, 1022 }, |
1775 |
|
{ "strings-rexplain-lemmas", no_argument, nullptr, 1023 }, |
1776 |
|
{ "no-strings-rexplain-lemmas", no_argument, nullptr, 1024 }, |
1777 |
|
{ "strings-unified-vspt", no_argument, nullptr, 1025 }, |
1778 |
|
{ "no-strings-unified-vspt", no_argument, nullptr, 1026 }, |
1779 |
|
{ "assign-function-values", no_argument, nullptr, 1027 }, |
1780 |
|
{ "no-assign-function-values", no_argument, nullptr, 1028 }, |
1781 |
|
{ "condense-function-values", no_argument, nullptr, 1029 }, |
1782 |
|
{ "no-condense-function-values", no_argument, nullptr, 1030 }, |
1783 |
|
{ "ee-mode", required_argument, nullptr, 1031 }, |
1784 |
|
{ "relevance-filter", no_argument, nullptr, 1032 }, |
1785 |
|
{ "no-relevance-filter", no_argument, nullptr, 1033 }, |
1786 |
|
{ "tc-mode", required_argument, nullptr, 1034 }, |
1787 |
|
{ "theoryof-mode", required_argument, nullptr, 1035 }, |
1788 |
|
{ "symmetry-breaker", no_argument, nullptr, 1036 }, |
1789 |
|
{ "uf-symmetry-breaker", no_argument, nullptr, 1037 }, |
1790 |
|
{ "no-symmetry-breaker", no_argument, nullptr, 1038 }, |
1791 |
|
{ "no-uf-symmetry-breaker", no_argument, nullptr, 1039 }, |
1792 |
|
{ "uf-ho", no_argument, nullptr, 1040 }, |
1793 |
|
{ "no-uf-ho", no_argument, nullptr, 1041 }, |
1794 |
|
{ "uf-ho-ext", no_argument, nullptr, 1042 }, |
1795 |
|
{ "no-uf-ho-ext", no_argument, nullptr, 1043 }, |
1796 |
|
{ "uf-ss", required_argument, nullptr, 1044 }, |
1797 |
|
{ "uf-ss-abort-card", required_argument, nullptr, 1045 }, |
1798 |
|
{ "uf-ss-fair", no_argument, nullptr, 1046 }, |
1799 |
|
{ "no-uf-ss-fair", no_argument, nullptr, 1047 }, |
1800 |
|
{ "uf-ss-fair-monotone", no_argument, nullptr, 1048 }, |
1801 |
|
{ "no-uf-ss-fair-monotone", no_argument, nullptr, 1049 }, |
1802 |
|
// clang-format on |
1803 |
|
{nullptr, no_argument, nullptr, '\0'} |
1804 |
|
}; |
1805 |
|
|
1806 |
|
std::string suggestCommandLineOptions(const std::string& optionName) |
1807 |
|
{ |
1808 |
|
DidYouMean didYouMean; |
1809 |
|
|
1810 |
|
const char* opt; |
1811 |
|
for (size_t i = 0; (opt = cmdlineOptions[i].name) != nullptr; ++i) |
1812 |
|
{ |
1813 |
|
didYouMean.addWord(std::string("--") + cmdlineOptions[i].name); |
1814 |
|
} |
1815 |
|
|
1816 |
|
return didYouMean.getMatchAsString( |
1817 |
|
optionName.substr(0, optionName.find('='))); |
1818 |
|
} |
1819 |
|
|
1820 |
6530 |
void parseInternal(api::Solver& solver, |
1821 |
|
int argc, |
1822 |
|
char* argv[], |
1823 |
|
std::vector<std::string>& nonoptions) |
1824 |
|
{ |
1825 |
6530 |
Assert(argv != nullptr); |
1826 |
6530 |
if (Debug.isOn("options")) |
1827 |
|
{ |
1828 |
|
Debug("options") << "starting a new parseInternal with " << argc |
1829 |
|
<< " arguments" << std::endl; |
1830 |
|
for (int i = 0; i < argc; ++i) |
1831 |
|
{ |
1832 |
|
Assert(argv[i] != nullptr); |
1833 |
|
Debug("options") << " argv[" << i << "] = " << argv[i] << std::endl; |
1834 |
|
} |
1835 |
|
} |
1836 |
|
|
1837 |
|
// Reset getopt(), in the case of multiple calls to parse(). |
1838 |
|
// This can be = 1 in newer GNU getopt, but older (< 2007) require = 0. |
1839 |
6530 |
optind = 0; |
1840 |
|
#if HAVE_DECL_OPTRESET |
1841 |
|
optreset = 1; // on BSD getopt() (e.g. Mac OS), might need this |
1842 |
|
#endif /* HAVE_DECL_OPTRESET */ |
1843 |
|
|
1844 |
|
// We must parse the binary name, which is manually ignored below. Setting |
1845 |
|
// this to 1 leads to incorrect behavior on some platforms. |
1846 |
6530 |
int main_optind = 0; |
1847 |
|
int old_optind; |
1848 |
|
|
1849 |
|
while (true) |
1850 |
|
{ // Repeat Forever |
1851 |
|
|
1852 |
16266 |
optopt = 0; |
1853 |
|
|
1854 |
16266 |
optind = main_optind; |
1855 |
16266 |
old_optind = main_optind; |
1856 |
|
|
1857 |
|
// If we encounter an element that is not at zero and does not start |
1858 |
|
// with a "-", this is a non-option. We consume this element as a |
1859 |
|
// non-option. |
1860 |
20167 |
if (main_optind > 0 && main_optind < argc && argv[main_optind][0] != '-') |
1861 |
|
{ |
1862 |
7802 |
Debug("options") << "enqueueing " << argv[main_optind] |
1863 |
3901 |
<< " as a non-option." << std::endl; |
1864 |
3901 |
nonoptions.push_back(argv[main_optind]); |
1865 |
3901 |
++main_optind; |
1866 |
9182 |
continue; |
1867 |
|
} |
1868 |
|
|
1869 |
24730 |
Debug("options") << "[ before, main_optind == " << main_optind << " ]" |
1870 |
12365 |
<< std::endl; |
1871 |
12365 |
Debug("options") << "[ before, optind == " << optind << " ]" << std::endl; |
1872 |
24730 |
Debug("options") << "[ argc == " << argc << ", argv == " << argv << " ]" |
1873 |
12365 |
<< std::endl; |
1874 |
|
// clang-format off |
1875 |
12365 |
int c = getopt_long(argc, argv, |
1876 |
|
"+:d:iL:o:qt:vhs:Vm", |
1877 |
12365 |
cmdlineOptions, nullptr); |
1878 |
|
// clang-format on |
1879 |
|
|
1880 |
12365 |
main_optind = optind; |
1881 |
|
|
1882 |
24730 |
Debug("options") << "[ got " << int(c) << " (" << char(c) << ") ]" |
1883 |
12365 |
<< "[ next option will be at pos: " << optind << " ]" |
1884 |
12365 |
<< std::endl; |
1885 |
|
|
1886 |
|
// The initial getopt_long call should always determine that argv[0] |
1887 |
|
// is not an option and returns -1. We always manually advance beyond |
1888 |
|
// this element. |
1889 |
13745 |
if (old_optind == 0 && c == -1) |
1890 |
|
{ |
1891 |
1380 |
Assert(main_optind > 0); |
1892 |
1380 |
continue; |
1893 |
|
} |
1894 |
|
|
1895 |
10985 |
if (c == -1) |
1896 |
|
{ |
1897 |
3901 |
if (Debug.isOn("options")) |
1898 |
|
{ |
1899 |
|
Debug("options") << "done with option parsing" << std::endl; |
1900 |
|
for (int index = optind; index < argc; ++index) |
1901 |
|
{ |
1902 |
|
Debug("options") << "remaining " << argv[index] << std::endl; |
1903 |
|
} |
1904 |
|
} |
1905 |
7802 |
break; |
1906 |
|
} |
1907 |
|
|
1908 |
11540 |
std::string option = argv[old_optind == 0 ? 1 : old_optind]; |
1909 |
11540 |
std::string optionarg = (optarg == nullptr) ? "" : optarg; |
1910 |
|
|
1911 |
14168 |
Debug("preemptGetopt") << "processing option " << c << " (`" << char(c) |
1912 |
7084 |
<< "'), " << option << std::endl; |
1913 |
|
|
1914 |
7084 |
switch (c) |
1915 |
|
{ |
1916 |
|
// clang-format off |
1917 |
|
case 256: // --approx-branch-depth |
1918 |
|
solver.setOption("approx-branch-depth", optionarg); break; |
1919 |
2 |
case 257: // --arith-brab |
1920 |
2 |
solver.setOption("arith-brab", "true"); break; |
1921 |
2 |
case 258: // --no-arith-brab |
1922 |
2 |
solver.setOption("arith-brab", "false"); break; |
1923 |
|
case 259: // --arith-cong-man |
1924 |
|
solver.setOption("arith-cong-man", "true"); break; |
1925 |
|
case 260: // --no-arith-cong-man |
1926 |
|
solver.setOption("arith-cong-man", "false"); break; |
1927 |
2 |
case 261: // --arith-eq-solver |
1928 |
2 |
solver.setOption("arith-eq-solver", "true"); break; |
1929 |
|
case 262: // --no-arith-eq-solver |
1930 |
|
solver.setOption("arith-eq-solver", "false"); break; |
1931 |
|
case 263: // --arith-no-partial-fun |
1932 |
|
solver.setOption("arith-no-partial-fun", "true"); break; |
1933 |
|
case 264: // --no-arith-no-partial-fun |
1934 |
|
solver.setOption("arith-no-partial-fun", "false"); break; |
1935 |
|
case 265: // --arith-prop |
1936 |
|
solver.setOption("arith-prop", optionarg); break; |
1937 |
|
case 266: // --arith-prop-clauses |
1938 |
|
solver.setOption("arith-prop-clauses", optionarg); break; |
1939 |
4 |
case 267: // --arith-rewrite-equalities |
1940 |
4 |
solver.setOption("arith-rewrite-equalities", "true"); break; |
1941 |
|
case 268: // --no-arith-rewrite-equalities |
1942 |
|
solver.setOption("arith-rewrite-equalities", "false"); break; |
1943 |
|
case 269: // --collect-pivot-stats |
1944 |
|
solver.setOption("collect-pivot-stats", "true"); break; |
1945 |
|
case 270: // --no-collect-pivot-stats |
1946 |
|
solver.setOption("collect-pivot-stats", "false"); break; |
1947 |
|
case 271: // --cut-all-bounded |
1948 |
|
solver.setOption("cut-all-bounded", "true"); break; |
1949 |
|
case 272: // --no-cut-all-bounded |
1950 |
|
solver.setOption("cut-all-bounded", "false"); break; |
1951 |
|
case 273: // --dio-decomps |
1952 |
|
solver.setOption("dio-decomps", "true"); break; |
1953 |
|
case 274: // --no-dio-decomps |
1954 |
|
solver.setOption("dio-decomps", "false"); break; |
1955 |
|
case 275: // --dio-solver |
1956 |
|
solver.setOption("dio-solver", "true"); break; |
1957 |
|
case 276: // --no-dio-solver |
1958 |
|
solver.setOption("dio-solver", "false"); break; |
1959 |
|
case 277: // --dio-turns |
1960 |
|
solver.setOption("dio-turns", optionarg); break; |
1961 |
|
case 278: // --error-selection-rule |
1962 |
|
solver.setOption("error-selection-rule", optionarg); break; |
1963 |
|
case 279: // --fc-penalties |
1964 |
|
solver.setOption("fc-penalties", "true"); break; |
1965 |
|
case 280: // --no-fc-penalties |
1966 |
|
solver.setOption("fc-penalties", "false"); break; |
1967 |
|
case 281: // --heuristic-pivots |
1968 |
|
solver.setOption("heuristic-pivots", optionarg); break; |
1969 |
|
case 282: // --lemmas-on-replay-failure |
1970 |
|
solver.setOption("lemmas-on-replay-failure", "true"); break; |
1971 |
|
case 283: // --no-lemmas-on-replay-failure |
1972 |
|
solver.setOption("lemmas-on-replay-failure", "false"); break; |
1973 |
|
case 284: // --maxCutsInContext |
1974 |
|
solver.setOption("maxCutsInContext", optionarg); break; |
1975 |
8 |
case 285: // --miplib-trick |
1976 |
8 |
solver.setOption("miplib-trick", "true"); break; |
1977 |
|
case 286: // --no-miplib-trick |
1978 |
|
solver.setOption("miplib-trick", "false"); break; |
1979 |
|
case 287: // --miplib-trick-subs |
1980 |
|
solver.setOption("miplib-trick-subs", optionarg); break; |
1981 |
|
case 288: // --new-prop |
1982 |
|
solver.setOption("new-prop", "true"); break; |
1983 |
8 |
case 289: // --no-new-prop |
1984 |
8 |
solver.setOption("new-prop", "false"); break; |
1985 |
3 |
case 290: // --nl-cad |
1986 |
3 |
solver.setOption("nl-cad", "true"); break; |
1987 |
|
case 291: // --no-nl-cad |
1988 |
|
solver.setOption("nl-cad", "false"); break; |
1989 |
|
case 292: // --nl-cad-initial |
1990 |
|
solver.setOption("nl-cad-initial", "true"); break; |
1991 |
|
case 293: // --no-nl-cad-initial |
1992 |
|
solver.setOption("nl-cad-initial", "false"); break; |
1993 |
|
case 294: // --nl-cad-lift |
1994 |
|
solver.setOption("nl-cad-lift", optionarg); break; |
1995 |
|
case 295: // --nl-cad-proj |
1996 |
|
solver.setOption("nl-cad-proj", optionarg); break; |
1997 |
66 |
case 296: // --nl-ext |
1998 |
66 |
solver.setOption("nl-ext", optionarg); break; |
1999 |
|
case 297: // --nl-ext-ent-conf |
2000 |
|
solver.setOption("nl-ext-ent-conf", "true"); break; |
2001 |
|
case 298: // --no-nl-ext-ent-conf |
2002 |
|
solver.setOption("nl-ext-ent-conf", "false"); break; |
2003 |
|
case 299: // --nl-ext-factor |
2004 |
|
solver.setOption("nl-ext-factor", "true"); break; |
2005 |
|
case 300: // --no-nl-ext-factor |
2006 |
|
solver.setOption("nl-ext-factor", "false"); break; |
2007 |
|
case 301: // --nl-ext-inc-prec |
2008 |
|
solver.setOption("nl-ext-inc-prec", "true"); break; |
2009 |
2 |
case 302: // --no-nl-ext-inc-prec |
2010 |
2 |
solver.setOption("nl-ext-inc-prec", "false"); break; |
2011 |
2 |
case 303: // --nl-ext-purify |
2012 |
2 |
solver.setOption("nl-ext-purify", "true"); break; |
2013 |
|
case 304: // --no-nl-ext-purify |
2014 |
|
solver.setOption("nl-ext-purify", "false"); break; |
2015 |
|
case 305: // --nl-ext-rbound |
2016 |
|
solver.setOption("nl-ext-rbound", "true"); break; |
2017 |
|
case 306: // --no-nl-ext-rbound |
2018 |
|
solver.setOption("nl-ext-rbound", "false"); break; |
2019 |
|
case 307: // --nl-ext-rewrite |
2020 |
|
solver.setOption("nl-ext-rewrite", "true"); break; |
2021 |
|
case 308: // --no-nl-ext-rewrite |
2022 |
|
solver.setOption("nl-ext-rewrite", "false"); break; |
2023 |
|
case 309: // --nl-ext-split-zero |
2024 |
|
solver.setOption("nl-ext-split-zero", "true"); break; |
2025 |
|
case 310: // --no-nl-ext-split-zero |
2026 |
|
solver.setOption("nl-ext-split-zero", "false"); break; |
2027 |
|
case 311: // --nl-ext-tf-taylor-deg |
2028 |
|
solver.setOption("nl-ext-tf-taylor-deg", optionarg); break; |
2029 |
15 |
case 312: // --nl-ext-tf-tplanes |
2030 |
15 |
solver.setOption("nl-ext-tf-tplanes", "true"); break; |
2031 |
2 |
case 313: // --no-nl-ext-tf-tplanes |
2032 |
2 |
solver.setOption("nl-ext-tf-tplanes", "false"); break; |
2033 |
24 |
case 314: // --nl-ext-tplanes |
2034 |
24 |
solver.setOption("nl-ext-tplanes", "true"); break; |
2035 |
|
case 315: // --no-nl-ext-tplanes |
2036 |
|
solver.setOption("nl-ext-tplanes", "false"); break; |
2037 |
|
case 316: // --nl-ext-tplanes-interleave |
2038 |
|
solver.setOption("nl-ext-tplanes-interleave", "true"); break; |
2039 |
|
case 317: // --no-nl-ext-tplanes-interleave |
2040 |
|
solver.setOption("nl-ext-tplanes-interleave", "false"); break; |
2041 |
2 |
case 318: // --nl-icp |
2042 |
2 |
solver.setOption("nl-icp", "true"); break; |
2043 |
|
case 319: // --no-nl-icp |
2044 |
|
solver.setOption("nl-icp", "false"); break; |
2045 |
4 |
case 320: // --nl-rlv |
2046 |
4 |
solver.setOption("nl-rlv", optionarg); break; |
2047 |
|
case 321: // --nl-rlv-assert-bounds |
2048 |
|
solver.setOption("nl-rlv-assert-bounds", "true"); break; |
2049 |
|
case 322: // --no-nl-rlv-assert-bounds |
2050 |
|
solver.setOption("nl-rlv-assert-bounds", "false"); break; |
2051 |
2 |
case 323: // --pb-rewrites |
2052 |
2 |
solver.setOption("pb-rewrites", "true"); break; |
2053 |
|
case 324: // --no-pb-rewrites |
2054 |
|
solver.setOption("pb-rewrites", "false"); break; |
2055 |
|
case 325: // --pivot-threshold |
2056 |
|
solver.setOption("pivot-threshold", optionarg); break; |
2057 |
|
case 326: // --pp-assert-max-sub-size |
2058 |
|
solver.setOption("pp-assert-max-sub-size", optionarg); break; |
2059 |
|
case 327: // --prop-row-length |
2060 |
|
solver.setOption("prop-row-length", optionarg); break; |
2061 |
|
case 328: // --replay-early-close-depth |
2062 |
|
solver.setOption("replay-early-close-depth", optionarg); break; |
2063 |
|
case 329: // --replay-lemma-reject-cut |
2064 |
|
solver.setOption("replay-lemma-reject-cut", optionarg); break; |
2065 |
|
case 330: // --replay-num-err-penalty |
2066 |
|
solver.setOption("replay-num-err-penalty", optionarg); break; |
2067 |
|
case 331: // --replay-reject-cut |
2068 |
|
solver.setOption("replay-reject-cut", optionarg); break; |
2069 |
|
case 332: // --restrict-pivots |
2070 |
|
solver.setOption("restrict-pivots", "true"); break; |
2071 |
|
case 333: // --no-restrict-pivots |
2072 |
|
solver.setOption("restrict-pivots", "false"); break; |
2073 |
|
case 334: // --revert-arith-models-on-unsat |
2074 |
|
solver.setOption("revert-arith-models-on-unsat", "true"); break; |
2075 |
|
case 335: // --no-revert-arith-models-on-unsat |
2076 |
|
solver.setOption("revert-arith-models-on-unsat", "false"); break; |
2077 |
|
case 336: // --rr-turns |
2078 |
|
solver.setOption("rr-turns", optionarg); break; |
2079 |
|
case 337: // --se-solve-int |
2080 |
|
solver.setOption("se-solve-int", "true"); break; |
2081 |
|
case 338: // --no-se-solve-int |
2082 |
|
solver.setOption("se-solve-int", "false"); break; |
2083 |
|
case 339: // --simplex-check-period |
2084 |
|
solver.setOption("simplex-check-period", optionarg); break; |
2085 |
|
case 340: // --soi-qe |
2086 |
|
solver.setOption("soi-qe", "true"); break; |
2087 |
|
case 341: // --no-soi-qe |
2088 |
|
solver.setOption("soi-qe", "false"); break; |
2089 |
|
case 342: // --standard-effort-variable-order-pivots |
2090 |
|
solver.setOption("standard-effort-variable-order-pivots", optionarg); break; |
2091 |
|
case 343: // --unate-lemmas |
2092 |
|
solver.setOption("unate-lemmas", optionarg); break; |
2093 |
|
case 344: // --use-approx |
2094 |
|
solver.setOption("use-approx", "true"); break; |
2095 |
|
case 345: // --no-use-approx |
2096 |
|
solver.setOption("use-approx", "false"); break; |
2097 |
|
case 346: // --use-fcsimplex |
2098 |
|
solver.setOption("use-fcsimplex", "true"); break; |
2099 |
|
case 347: // --no-use-fcsimplex |
2100 |
|
solver.setOption("use-fcsimplex", "false"); break; |
2101 |
|
case 348: // --use-soi |
2102 |
|
solver.setOption("use-soi", "true"); break; |
2103 |
|
case 349: // --no-use-soi |
2104 |
|
solver.setOption("use-soi", "false"); break; |
2105 |
|
case 350: // --arrays-eager-index |
2106 |
|
solver.setOption("arrays-eager-index", "true"); break; |
2107 |
|
case 351: // --no-arrays-eager-index |
2108 |
|
solver.setOption("arrays-eager-index", "false"); break; |
2109 |
|
case 352: // --arrays-eager-lemmas |
2110 |
|
solver.setOption("arrays-eager-lemmas", "true"); break; |
2111 |
|
case 353: // --no-arrays-eager-lemmas |
2112 |
|
solver.setOption("arrays-eager-lemmas", "false"); break; |
2113 |
1 |
case 354: // --arrays-exp |
2114 |
1 |
solver.setOption("arrays-exp", "true"); break; |
2115 |
|
case 355: // --no-arrays-exp |
2116 |
|
solver.setOption("arrays-exp", "false"); break; |
2117 |
|
case 356: // --arrays-optimize-linear |
2118 |
|
solver.setOption("arrays-optimize-linear", "true"); break; |
2119 |
|
case 357: // --no-arrays-optimize-linear |
2120 |
|
solver.setOption("arrays-optimize-linear", "false"); break; |
2121 |
|
case 358: // --arrays-prop |
2122 |
|
solver.setOption("arrays-prop", optionarg); break; |
2123 |
|
case 359: // --arrays-reduce-sharing |
2124 |
|
solver.setOption("arrays-reduce-sharing", "true"); break; |
2125 |
|
case 360: // --no-arrays-reduce-sharing |
2126 |
|
solver.setOption("arrays-reduce-sharing", "false"); break; |
2127 |
|
case 361: // --arrays-weak-equiv |
2128 |
|
solver.setOption("arrays-weak-equiv", "true"); break; |
2129 |
|
case 362: // --no-arrays-weak-equiv |
2130 |
|
solver.setOption("arrays-weak-equiv", "false"); break; |
2131 |
|
case 'd': // -d |
2132 |
|
case 363: // --debug |
2133 |
|
solver.setOption("debug", optionarg); break; |
2134 |
|
case 364: // --err |
2135 |
|
case 365: // --diagnostic-output-channel |
2136 |
|
solver.setOption("err", optionarg); break; |
2137 |
|
case 366: // --in |
2138 |
|
solver.setOption("in", optionarg); break; |
2139 |
394 |
case 'i': // -i |
2140 |
|
case 367: // --incremental |
2141 |
394 |
solver.setOption("incremental", "true"); break; |
2142 |
|
case 368: // --no-incremental |
2143 |
|
solver.setOption("incremental", "false"); break; |
2144 |
214 |
case 'L': // -L |
2145 |
|
case 369: // --lang |
2146 |
|
case 370: // --input-language |
2147 |
214 |
solver.setOption("lang", optionarg); break; |
2148 |
|
case 371: // --language-help |
2149 |
|
solver.setOption("language-help", "true"); break; |
2150 |
|
case 372: // --no-language-help |
2151 |
|
solver.setOption("language-help", "false"); break; |
2152 |
|
case 373: // --out |
2153 |
|
case 374: // --regular-output-channel |
2154 |
|
solver.setOption("out", optionarg); break; |
2155 |
3 |
case 'o': // -o |
2156 |
|
case 375: // --output |
2157 |
3 |
solver.setOption("output", optionarg); break; |
2158 |
|
case 376: // --output-lang |
2159 |
|
case 377: // --output-language |
2160 |
|
solver.setOption("output-lang", optionarg); break; |
2161 |
|
case 378: // --parse-only |
2162 |
|
solver.setOption("parse-only", "true"); break; |
2163 |
|
case 379: // --no-parse-only |
2164 |
|
solver.setOption("parse-only", "false"); break; |
2165 |
3 |
case 380: // --preprocess-only |
2166 |
3 |
solver.setOption("preprocess-only", "true"); break; |
2167 |
|
case 381: // --no-preprocess-only |
2168 |
|
solver.setOption("preprocess-only", "false"); break; |
2169 |
2 |
case 382: // --print-success |
2170 |
2 |
solver.setOption("print-success", "true"); break; |
2171 |
|
case 383: // --no-print-success |
2172 |
|
solver.setOption("print-success", "false"); break; |
2173 |
161 |
case 'q': // -q |
2174 |
|
case 384: // --quiet |
2175 |
161 |
solver.setOption("quiet", ""); break; |
2176 |
|
case 385: // --rlimit |
2177 |
|
solver.setOption("rlimit", optionarg); break; |
2178 |
|
case 386: // --rlimit-per |
2179 |
|
case 387: // --reproducible-resource-limit |
2180 |
|
solver.setOption("rlimit-per", optionarg); break; |
2181 |
|
case 388: // --rweight |
2182 |
|
solver.setOption("rweight", optionarg); break; |
2183 |
|
case 389: // --stats |
2184 |
|
solver.setOption("stats", "true"); break; |
2185 |
|
case 390: // --no-stats |
2186 |
|
solver.setOption("stats", "false"); break; |
2187 |
|
case 391: // --stats-all |
2188 |
|
solver.setOption("stats-all", "true"); break; |
2189 |
|
case 392: // --no-stats-all |
2190 |
|
solver.setOption("stats-all", "false"); break; |
2191 |
|
case 393: // --stats-every-query |
2192 |
|
solver.setOption("stats-every-query", "true"); break; |
2193 |
|
case 394: // --no-stats-every-query |
2194 |
|
solver.setOption("stats-every-query", "false"); break; |
2195 |
|
case 395: // --stats-expert |
2196 |
|
solver.setOption("stats-expert", "true"); break; |
2197 |
|
case 396: // --no-stats-expert |
2198 |
|
solver.setOption("stats-expert", "false"); break; |
2199 |
2 |
case 397: // --tlimit |
2200 |
2 |
solver.setOption("tlimit", optionarg); break; |
2201 |
4 |
case 398: // --tlimit-per |
2202 |
4 |
solver.setOption("tlimit-per", optionarg); break; |
2203 |
|
case 't': // -t |
2204 |
|
case 399: // --trace |
2205 |
|
solver.setOption("trace", optionarg); break; |
2206 |
3 |
case 'v': // -v |
2207 |
|
case 400: // --verbose |
2208 |
3 |
solver.setOption("verbose", ""); break; |
2209 |
|
case 401: // --verbosity |
2210 |
|
solver.setOption("verbosity", optionarg); break; |
2211 |
26 |
case 402: // --bitblast |
2212 |
26 |
solver.setOption("bitblast", optionarg); break; |
2213 |
|
case 403: // --bitblast-aig |
2214 |
|
solver.setOption("bitblast-aig", "true"); break; |
2215 |
|
case 404: // --no-bitblast-aig |
2216 |
|
solver.setOption("bitblast-aig", "false"); break; |
2217 |
|
case 405: // --bitwise-eq |
2218 |
|
solver.setOption("bitwise-eq", "true"); break; |
2219 |
|
case 406: // --no-bitwise-eq |
2220 |
|
solver.setOption("bitwise-eq", "false"); break; |
2221 |
12 |
case 407: // --bool-to-bv |
2222 |
12 |
solver.setOption("bool-to-bv", optionarg); break; |
2223 |
4 |
case 408: // --bv-abstraction |
2224 |
4 |
solver.setOption("bv-abstraction", "true"); break; |
2225 |
|
case 409: // --no-bv-abstraction |
2226 |
|
solver.setOption("bv-abstraction", "false"); break; |
2227 |
|
case 410: // --bv-aig-simp |
2228 |
|
solver.setOption("bv-aig-simp", optionarg); break; |
2229 |
|
case 411: // --bv-algebraic-budget |
2230 |
|
solver.setOption("bv-algebraic-budget", optionarg); break; |
2231 |
|
case 412: // --bv-algebraic-solver |
2232 |
|
solver.setOption("bv-algebraic-solver", "true"); break; |
2233 |
|
case 413: // --no-bv-algebraic-solver |
2234 |
|
solver.setOption("bv-algebraic-solver", "false"); break; |
2235 |
4 |
case 414: // --bv-assert-input |
2236 |
4 |
solver.setOption("bv-assert-input", "true"); break; |
2237 |
|
case 415: // --no-bv-assert-input |
2238 |
|
solver.setOption("bv-assert-input", "false"); break; |
2239 |
|
case 416: // --bv-eager-explanations |
2240 |
|
solver.setOption("bv-eager-explanations", "true"); break; |
2241 |
|
case 417: // --no-bv-eager-explanations |
2242 |
|
solver.setOption("bv-eager-explanations", "false"); break; |
2243 |
|
case 418: // --bv-eq-solver |
2244 |
|
solver.setOption("bv-eq-solver", "true"); break; |
2245 |
2 |
case 419: // --no-bv-eq-solver |
2246 |
2 |
solver.setOption("bv-eq-solver", "false"); break; |
2247 |
|
case 420: // --bv-extract-arith |
2248 |
|
solver.setOption("bv-extract-arith", "true"); break; |
2249 |
|
case 421: // --no-bv-extract-arith |
2250 |
|
solver.setOption("bv-extract-arith", "false"); break; |
2251 |
|
case 422: // --bv-gauss-elim |
2252 |
|
solver.setOption("bv-gauss-elim", "true"); break; |
2253 |
|
case 423: // --no-bv-gauss-elim |
2254 |
|
solver.setOption("bv-gauss-elim", "false"); break; |
2255 |
|
case 424: // --bv-inequality-solver |
2256 |
|
solver.setOption("bv-inequality-solver", "true"); break; |
2257 |
|
case 425: // --no-bv-inequality-solver |
2258 |
|
solver.setOption("bv-inequality-solver", "false"); break; |
2259 |
1 |
case 426: // --bv-intro-pow2 |
2260 |
1 |
solver.setOption("bv-intro-pow2", "true"); break; |
2261 |
|
case 427: // --no-bv-intro-pow2 |
2262 |
|
solver.setOption("bv-intro-pow2", "false"); break; |
2263 |
|
case 428: // --bv-num-func |
2264 |
|
solver.setOption("bv-num-func", optionarg); break; |
2265 |
2 |
case 429: // --bv-print-consts-as-indexed-symbols |
2266 |
2 |
solver.setOption("bv-print-consts-as-indexed-symbols", "true"); break; |
2267 |
|
case 430: // --no-bv-print-consts-as-indexed-symbols |
2268 |
|
solver.setOption("bv-print-consts-as-indexed-symbols", "false"); break; |
2269 |
|
case 431: // --bv-propagate |
2270 |
|
solver.setOption("bv-propagate", "true"); break; |
2271 |
|
case 432: // --no-bv-propagate |
2272 |
|
solver.setOption("bv-propagate", "false"); break; |
2273 |
|
case 433: // --bv-quick-xplain |
2274 |
|
solver.setOption("bv-quick-xplain", "true"); break; |
2275 |
|
case 434: // --no-bv-quick-xplain |
2276 |
|
solver.setOption("bv-quick-xplain", "false"); break; |
2277 |
6 |
case 435: // --bv-sat-solver |
2278 |
6 |
solver.setOption("bv-sat-solver", optionarg); break; |
2279 |
|
case 436: // --bv-skolemize |
2280 |
|
solver.setOption("bv-skolemize", "true"); break; |
2281 |
|
case 437: // --no-bv-skolemize |
2282 |
|
solver.setOption("bv-skolemize", "false"); break; |
2283 |
27 |
case 438: // --bv-solver |
2284 |
27 |
solver.setOption("bv-solver", optionarg); break; |
2285 |
10 |
case 439: // --bv-to-bool |
2286 |
10 |
solver.setOption("bv-to-bool", "true"); break; |
2287 |
|
case 440: // --no-bv-to-bool |
2288 |
|
solver.setOption("bv-to-bool", "false"); break; |
2289 |
|
case 441: // --cdt-bisimilar |
2290 |
|
solver.setOption("cdt-bisimilar", "true"); break; |
2291 |
|
case 442: // --no-cdt-bisimilar |
2292 |
|
solver.setOption("cdt-bisimilar", "false"); break; |
2293 |
|
case 443: // --dt-binary-split |
2294 |
|
solver.setOption("dt-binary-split", "true"); break; |
2295 |
|
case 444: // --no-dt-binary-split |
2296 |
|
solver.setOption("dt-binary-split", "false"); break; |
2297 |
|
case 445: // --dt-blast-splits |
2298 |
|
solver.setOption("dt-blast-splits", "true"); break; |
2299 |
|
case 446: // --no-dt-blast-splits |
2300 |
|
solver.setOption("dt-blast-splits", "false"); break; |
2301 |
|
case 447: // --dt-cyclic |
2302 |
|
solver.setOption("dt-cyclic", "true"); break; |
2303 |
|
case 448: // --no-dt-cyclic |
2304 |
|
solver.setOption("dt-cyclic", "false"); break; |
2305 |
|
case 449: // --dt-force-assignment |
2306 |
|
solver.setOption("dt-force-assignment", "true"); break; |
2307 |
|
case 450: // --no-dt-force-assignment |
2308 |
|
solver.setOption("dt-force-assignment", "false"); break; |
2309 |
|
case 451: // --dt-infer-as-lemmas |
2310 |
|
solver.setOption("dt-infer-as-lemmas", "true"); break; |
2311 |
|
case 452: // --no-dt-infer-as-lemmas |
2312 |
|
solver.setOption("dt-infer-as-lemmas", "false"); break; |
2313 |
6 |
case 453: // --dt-nested-rec |
2314 |
6 |
solver.setOption("dt-nested-rec", "true"); break; |
2315 |
|
case 454: // --no-dt-nested-rec |
2316 |
|
solver.setOption("dt-nested-rec", "false"); break; |
2317 |
|
case 455: // --dt-polite-optimize |
2318 |
|
solver.setOption("dt-polite-optimize", "true"); break; |
2319 |
|
case 456: // --no-dt-polite-optimize |
2320 |
|
solver.setOption("dt-polite-optimize", "false"); break; |
2321 |
3 |
case 457: // --dt-rewrite-error-sel |
2322 |
3 |
solver.setOption("dt-rewrite-error-sel", "true"); break; |
2323 |
|
case 458: // --no-dt-rewrite-error-sel |
2324 |
|
solver.setOption("dt-rewrite-error-sel", "false"); break; |
2325 |
|
case 459: // --dt-share-sel |
2326 |
|
solver.setOption("dt-share-sel", "true"); break; |
2327 |
|
case 460: // --no-dt-share-sel |
2328 |
|
solver.setOption("dt-share-sel", "false"); break; |
2329 |
11 |
case 461: // --sygus-abort-size |
2330 |
11 |
solver.setOption("sygus-abort-size", optionarg); break; |
2331 |
2 |
case 462: // --sygus-fair |
2332 |
2 |
solver.setOption("sygus-fair", optionarg); break; |
2333 |
|
case 463: // --sygus-fair-max |
2334 |
|
solver.setOption("sygus-fair-max", "true"); break; |
2335 |
|
case 464: // --no-sygus-fair-max |
2336 |
|
solver.setOption("sygus-fair-max", "false"); break; |
2337 |
|
case 465: // --sygus-sym-break |
2338 |
|
solver.setOption("sygus-sym-break", "true"); break; |
2339 |
6 |
case 466: // --no-sygus-sym-break |
2340 |
6 |
solver.setOption("sygus-sym-break", "false"); break; |
2341 |
|
case 467: // --sygus-sym-break-agg |
2342 |
|
solver.setOption("sygus-sym-break-agg", "true"); break; |
2343 |
|
case 468: // --no-sygus-sym-break-agg |
2344 |
|
solver.setOption("sygus-sym-break-agg", "false"); break; |
2345 |
|
case 469: // --sygus-sym-break-dynamic |
2346 |
|
solver.setOption("sygus-sym-break-dynamic", "true"); break; |
2347 |
|
case 470: // --no-sygus-sym-break-dynamic |
2348 |
|
solver.setOption("sygus-sym-break-dynamic", "false"); break; |
2349 |
|
case 471: // --sygus-sym-break-lazy |
2350 |
|
solver.setOption("sygus-sym-break-lazy", "true"); break; |
2351 |
|
case 472: // --no-sygus-sym-break-lazy |
2352 |
|
solver.setOption("sygus-sym-break-lazy", "false"); break; |
2353 |
|
case 473: // --sygus-sym-break-pbe |
2354 |
|
solver.setOption("sygus-sym-break-pbe", "true"); break; |
2355 |
|
case 474: // --no-sygus-sym-break-pbe |
2356 |
|
solver.setOption("sygus-sym-break-pbe", "false"); break; |
2357 |
|
case 475: // --sygus-sym-break-rlv |
2358 |
|
solver.setOption("sygus-sym-break-rlv", "true"); break; |
2359 |
|
case 476: // --no-sygus-sym-break-rlv |
2360 |
|
solver.setOption("sygus-sym-break-rlv", "false"); break; |
2361 |
62 |
case 477: // --decision |
2362 |
|
case 478: // --decision-mode |
2363 |
62 |
solver.setOption("decision", optionarg); break; |
2364 |
|
case 479: // --decision-random-weight |
2365 |
|
solver.setOption("decision-random-weight", optionarg); break; |
2366 |
|
case 480: // --decision-threshold |
2367 |
|
solver.setOption("decision-threshold", optionarg); break; |
2368 |
|
case 481: // --decision-use-weight |
2369 |
|
solver.setOption("decision-use-weight", "true"); break; |
2370 |
|
case 482: // --no-decision-use-weight |
2371 |
|
solver.setOption("decision-use-weight", "false"); break; |
2372 |
|
case 483: // --decision-weight-internal |
2373 |
|
solver.setOption("decision-weight-internal", optionarg); break; |
2374 |
1 |
case 484: // --jh-rlv-order |
2375 |
1 |
solver.setOption("jh-rlv-order", "true"); break; |
2376 |
5 |
case 485: // --no-jh-rlv-order |
2377 |
5 |
solver.setOption("jh-rlv-order", "false"); break; |
2378 |
|
case 486: // --jh-skolem |
2379 |
|
solver.setOption("jh-skolem", optionarg); break; |
2380 |
|
case 487: // --jh-skolem-rlv |
2381 |
|
solver.setOption("jh-skolem-rlv", optionarg); break; |
2382 |
1 |
case 488: // --dag-thresh |
2383 |
1 |
solver.setOption("dag-thresh", optionarg); break; |
2384 |
|
case 489: // --expr-depth |
2385 |
|
solver.setOption("expr-depth", optionarg); break; |
2386 |
|
case 490: // --type-checking |
2387 |
|
solver.setOption("type-checking", "true"); break; |
2388 |
|
case 491: // --no-type-checking |
2389 |
|
solver.setOption("type-checking", "false"); break; |
2390 |
12 |
case 492: // --fp-exp |
2391 |
12 |
solver.setOption("fp-exp", "true"); break; |
2392 |
|
case 493: // --no-fp-exp |
2393 |
|
solver.setOption("fp-exp", "false"); break; |
2394 |
1 |
case 494: // --fp-lazy-wb |
2395 |
1 |
solver.setOption("fp-lazy-wb", "true"); break; |
2396 |
|
case 495: // --no-fp-lazy-wb |
2397 |
|
solver.setOption("fp-lazy-wb", "false"); break; |
2398 |
|
case 496: // --copyright |
2399 |
|
solver.setOption("copyright", ""); break; |
2400 |
|
case 497: // --dump-difficulty |
2401 |
|
solver.setOption("dump-difficulty", "true"); break; |
2402 |
|
case 498: // --no-dump-difficulty |
2403 |
|
solver.setOption("dump-difficulty", "false"); break; |
2404 |
4 |
case 499: // --dump-instantiations |
2405 |
4 |
solver.setOption("dump-instantiations", "true"); break; |
2406 |
|
case 500: // --no-dump-instantiations |
2407 |
|
solver.setOption("dump-instantiations", "false"); break; |
2408 |
|
case 501: // --dump-instantiations-debug |
2409 |
|
solver.setOption("dump-instantiations-debug", "true"); break; |
2410 |
|
case 502: // --no-dump-instantiations-debug |
2411 |
|
solver.setOption("dump-instantiations-debug", "false"); break; |
2412 |
6 |
case 503: // --dump-models |
2413 |
6 |
solver.setOption("dump-models", "true"); break; |
2414 |
|
case 504: // --no-dump-models |
2415 |
|
solver.setOption("dump-models", "false"); break; |
2416 |
|
case 505: // --dump-proofs |
2417 |
|
solver.setOption("dump-proofs", "true"); break; |
2418 |
|
case 506: // --no-dump-proofs |
2419 |
|
solver.setOption("dump-proofs", "false"); break; |
2420 |
|
case 507: // --dump-unsat-cores |
2421 |
|
solver.setOption("dump-unsat-cores", "true"); break; |
2422 |
|
case 508: // --no-dump-unsat-cores |
2423 |
|
solver.setOption("dump-unsat-cores", "false"); break; |
2424 |
1 |
case 509: // --dump-unsat-cores-full |
2425 |
1 |
solver.setOption("dump-unsat-cores-full", "true"); break; |
2426 |
|
case 510: // --no-dump-unsat-cores-full |
2427 |
|
solver.setOption("dump-unsat-cores-full", "false"); break; |
2428 |
|
case 511: // --early-exit |
2429 |
|
solver.setOption("early-exit", "true"); break; |
2430 |
|
case 512: // --no-early-exit |
2431 |
|
solver.setOption("early-exit", "false"); break; |
2432 |
|
case 513: // --filename |
2433 |
|
solver.setOption("filename", optionarg); break; |
2434 |
|
case 514: // --force-no-limit-cpu-while-dump |
2435 |
|
solver.setOption("force-no-limit-cpu-while-dump", "true"); break; |
2436 |
|
case 515: // --no-force-no-limit-cpu-while-dump |
2437 |
|
solver.setOption("force-no-limit-cpu-while-dump", "false"); break; |
2438 |
|
case 'h': // -h |
2439 |
|
case 516: // --help |
2440 |
|
solver.setOption("help", "true"); break; |
2441 |
|
case 517: // --interactive |
2442 |
|
solver.setOption("interactive", "true"); break; |
2443 |
|
case 518: // --no-interactive |
2444 |
|
solver.setOption("interactive", "false"); break; |
2445 |
|
case 's': // -s |
2446 |
|
case 519: // --seed |
2447 |
|
solver.setOption("seed", optionarg); break; |
2448 |
|
case 520: // --segv-spin |
2449 |
|
solver.setOption("segv-spin", "true"); break; |
2450 |
|
case 521: // --no-segv-spin |
2451 |
|
solver.setOption("segv-spin", "false"); break; |
2452 |
2628 |
case 522: // --show-config |
2453 |
2628 |
solver.setOption("show-config", ""); break; |
2454 |
|
case 523: // --show-debug-tags |
2455 |
|
solver.setOption("show-debug-tags", ""); break; |
2456 |
|
case 524: // --show-trace-tags |
2457 |
|
solver.setOption("show-trace-tags", ""); break; |
2458 |
|
case 'V': // -V |
2459 |
|
case 525: // --version |
2460 |
|
solver.setOption("version", "true"); break; |
2461 |
|
case 526: // --filesystem-access |
2462 |
|
solver.setOption("filesystem-access", "true"); break; |
2463 |
|
case 527: // --no-filesystem-access |
2464 |
|
solver.setOption("filesystem-access", "false"); break; |
2465 |
9 |
case 528: // --force-logic |
2466 |
9 |
solver.setOption("force-logic", optionarg); break; |
2467 |
|
case 529: // --global-declarations |
2468 |
|
solver.setOption("global-declarations", "true"); break; |
2469 |
|
case 530: // --no-global-declarations |
2470 |
|
solver.setOption("global-declarations", "false"); break; |
2471 |
|
case 531: // --mmap |
2472 |
|
solver.setOption("mmap", "true"); break; |
2473 |
|
case 532: // --no-mmap |
2474 |
|
solver.setOption("mmap", "false"); break; |
2475 |
|
case 533: // --semantic-checks |
2476 |
|
solver.setOption("semantic-checks", "true"); break; |
2477 |
|
case 534: // --no-semantic-checks |
2478 |
|
solver.setOption("semantic-checks", "false"); break; |
2479 |
7 |
case 535: // --strict-parsing |
2480 |
7 |
solver.setOption("strict-parsing", "true"); break; |
2481 |
|
case 536: // --no-strict-parsing |
2482 |
|
solver.setOption("strict-parsing", "false"); break; |
2483 |
|
case 537: // --flatten-ho-chains |
2484 |
|
solver.setOption("flatten-ho-chains", "true"); break; |
2485 |
|
case 538: // --no-flatten-ho-chains |
2486 |
|
solver.setOption("flatten-ho-chains", "false"); break; |
2487 |
1 |
case 539: // --print-inst |
2488 |
1 |
solver.setOption("print-inst", optionarg); break; |
2489 |
3 |
case 540: // --print-inst-full |
2490 |
3 |
solver.setOption("print-inst-full", "true"); break; |
2491 |
1 |
case 541: // --no-print-inst-full |
2492 |
1 |
solver.setOption("print-inst-full", "false"); break; |
2493 |
2 |
case 542: // --proof-check |
2494 |
2 |
solver.setOption("proof-check", optionarg); break; |
2495 |
|
case 543: // --proof-format-mode |
2496 |
|
solver.setOption("proof-format-mode", optionarg); break; |
2497 |
|
case 544: // --proof-granularity |
2498 |
|
solver.setOption("proof-granularity", optionarg); break; |
2499 |
|
case 545: // --proof-pedantic |
2500 |
|
solver.setOption("proof-pedantic", optionarg); break; |
2501 |
|
case 546: // --proof-pp-merge |
2502 |
|
solver.setOption("proof-pp-merge", "true"); break; |
2503 |
|
case 547: // --no-proof-pp-merge |
2504 |
|
solver.setOption("proof-pp-merge", "false"); break; |
2505 |
|
case 548: // --proof-print-conclusion |
2506 |
|
solver.setOption("proof-print-conclusion", "true"); break; |
2507 |
|
case 549: // --no-proof-print-conclusion |
2508 |
|
solver.setOption("proof-print-conclusion", "false"); break; |
2509 |
|
case 550: // --minisat-dump-dimacs |
2510 |
|
solver.setOption("minisat-dump-dimacs", "true"); break; |
2511 |
|
case 551: // --no-minisat-dump-dimacs |
2512 |
|
solver.setOption("minisat-dump-dimacs", "false"); break; |
2513 |
|
case 552: // --minisat-elimination |
2514 |
|
solver.setOption("minisat-elimination", "true"); break; |
2515 |
|
case 553: // --no-minisat-elimination |
2516 |
|
solver.setOption("minisat-elimination", "false"); break; |
2517 |
|
case 554: // --random-freq |
2518 |
|
case 555: // --random-frequency |
2519 |
|
solver.setOption("random-freq", optionarg); break; |
2520 |
|
case 556: // --random-seed |
2521 |
|
solver.setOption("random-seed", optionarg); break; |
2522 |
|
case 557: // --refine-conflicts |
2523 |
|
solver.setOption("refine-conflicts", "true"); break; |
2524 |
|
case 558: // --no-refine-conflicts |
2525 |
|
solver.setOption("refine-conflicts", "false"); break; |
2526 |
|
case 559: // --restart-int-base |
2527 |
|
solver.setOption("restart-int-base", optionarg); break; |
2528 |
|
case 560: // --restart-int-inc |
2529 |
|
solver.setOption("restart-int-inc", optionarg); break; |
2530 |
|
case 561: // --ag-miniscope-quant |
2531 |
|
solver.setOption("ag-miniscope-quant", "true"); break; |
2532 |
|
case 562: // --no-ag-miniscope-quant |
2533 |
|
solver.setOption("ag-miniscope-quant", "false"); break; |
2534 |
3 |
case 563: // --cegis-sample |
2535 |
3 |
solver.setOption("cegis-sample", optionarg); break; |
2536 |
9 |
case 564: // --cegqi |
2537 |
9 |
solver.setOption("cegqi", "true"); break; |
2538 |
2 |
case 565: // --no-cegqi |
2539 |
2 |
solver.setOption("cegqi", "false"); break; |
2540 |
9 |
case 566: // --cegqi-all |
2541 |
9 |
solver.setOption("cegqi-all", "true"); break; |
2542 |
|
case 567: // --no-cegqi-all |
2543 |
|
solver.setOption("cegqi-all", "false"); break; |
2544 |
76 |
case 568: // --cegqi-bv |
2545 |
76 |
solver.setOption("cegqi-bv", "true"); break; |
2546 |
|
case 569: // --no-cegqi-bv |
2547 |
|
solver.setOption("cegqi-bv", "false"); break; |
2548 |
|
case 570: // --cegqi-bv-concat-inv |
2549 |
|
solver.setOption("cegqi-bv-concat-inv", "true"); break; |
2550 |
|
case 571: // --no-cegqi-bv-concat-inv |
2551 |
|
solver.setOption("cegqi-bv-concat-inv", "false"); break; |
2552 |
62 |
case 572: // --cegqi-bv-ineq |
2553 |
62 |
solver.setOption("cegqi-bv-ineq", optionarg); break; |
2554 |
|
case 573: // --cegqi-bv-interleave-value |
2555 |
|
solver.setOption("cegqi-bv-interleave-value", "true"); break; |
2556 |
|
case 574: // --no-cegqi-bv-interleave-value |
2557 |
|
solver.setOption("cegqi-bv-interleave-value", "false"); break; |
2558 |
|
case 575: // --cegqi-bv-linear |
2559 |
|
solver.setOption("cegqi-bv-linear", "true"); break; |
2560 |
|
case 576: // --no-cegqi-bv-linear |
2561 |
|
solver.setOption("cegqi-bv-linear", "false"); break; |
2562 |
2 |
case 577: // --cegqi-bv-rm-extract |
2563 |
2 |
solver.setOption("cegqi-bv-rm-extract", "true"); break; |
2564 |
|
case 578: // --no-cegqi-bv-rm-extract |
2565 |
|
solver.setOption("cegqi-bv-rm-extract", "false"); break; |
2566 |
|
case 579: // --cegqi-bv-solve-nl |
2567 |
|
solver.setOption("cegqi-bv-solve-nl", "true"); break; |
2568 |
|
case 580: // --no-cegqi-bv-solve-nl |
2569 |
|
solver.setOption("cegqi-bv-solve-nl", "false"); break; |
2570 |
2 |
case 581: // --cegqi-full |
2571 |
2 |
solver.setOption("cegqi-full", "true"); break; |
2572 |
62 |
case 582: // --no-cegqi-full |
2573 |
62 |
solver.setOption("cegqi-full", "false"); break; |
2574 |
|
case 583: // --cegqi-innermost |
2575 |
|
solver.setOption("cegqi-innermost", "true"); break; |
2576 |
|
case 584: // --no-cegqi-innermost |
2577 |
|
solver.setOption("cegqi-innermost", "false"); break; |
2578 |
|
case 585: // --cegqi-midpoint |
2579 |
|
solver.setOption("cegqi-midpoint", "true"); break; |
2580 |
|
case 586: // --no-cegqi-midpoint |
2581 |
|
solver.setOption("cegqi-midpoint", "false"); break; |
2582 |
|
case 587: // --cegqi-min-bounds |
2583 |
|
solver.setOption("cegqi-min-bounds", "true"); break; |
2584 |
|
case 588: // --no-cegqi-min-bounds |
2585 |
|
solver.setOption("cegqi-min-bounds", "false"); break; |
2586 |
|
case 589: // --cegqi-model |
2587 |
|
solver.setOption("cegqi-model", "true"); break; |
2588 |
|
case 590: // --no-cegqi-model |
2589 |
|
solver.setOption("cegqi-model", "false"); break; |
2590 |
1 |
case 591: // --cegqi-multi-inst |
2591 |
1 |
solver.setOption("cegqi-multi-inst", "true"); break; |
2592 |
|
case 592: // --no-cegqi-multi-inst |
2593 |
|
solver.setOption("cegqi-multi-inst", "false"); break; |
2594 |
5 |
case 593: // --cegqi-nested-qe |
2595 |
5 |
solver.setOption("cegqi-nested-qe", "true"); break; |
2596 |
|
case 594: // --no-cegqi-nested-qe |
2597 |
|
solver.setOption("cegqi-nested-qe", "false"); break; |
2598 |
|
case 595: // --cegqi-nopt |
2599 |
|
solver.setOption("cegqi-nopt", "true"); break; |
2600 |
|
case 596: // --no-cegqi-nopt |
2601 |
|
solver.setOption("cegqi-nopt", "false"); break; |
2602 |
|
case 597: // --cegqi-repeat-lit |
2603 |
|
solver.setOption("cegqi-repeat-lit", "true"); break; |
2604 |
|
case 598: // --no-cegqi-repeat-lit |
2605 |
|
solver.setOption("cegqi-repeat-lit", "false"); break; |
2606 |
|
case 599: // --cegqi-round-up-lia |
2607 |
|
solver.setOption("cegqi-round-up-lia", "true"); break; |
2608 |
|
case 600: // --no-cegqi-round-up-lia |
2609 |
|
solver.setOption("cegqi-round-up-lia", "false"); break; |
2610 |
|
case 601: // --cegqi-sat |
2611 |
|
solver.setOption("cegqi-sat", "true"); break; |
2612 |
|
case 602: // --no-cegqi-sat |
2613 |
|
solver.setOption("cegqi-sat", "false"); break; |
2614 |
1 |
case 603: // --cegqi-use-inf-int |
2615 |
1 |
solver.setOption("cegqi-use-inf-int", "true"); break; |
2616 |
|
case 604: // --no-cegqi-use-inf-int |
2617 |
|
solver.setOption("cegqi-use-inf-int", "false"); break; |
2618 |
1 |
case 605: // --cegqi-use-inf-real |
2619 |
1 |
solver.setOption("cegqi-use-inf-real", "true"); break; |
2620 |
|
case 606: // --no-cegqi-use-inf-real |
2621 |
|
solver.setOption("cegqi-use-inf-real", "false"); break; |
2622 |
|
case 607: // --cond-var-split-agg-quant |
2623 |
|
solver.setOption("cond-var-split-agg-quant", "true"); break; |
2624 |
|
case 608: // --no-cond-var-split-agg-quant |
2625 |
|
solver.setOption("cond-var-split-agg-quant", "false"); break; |
2626 |
|
case 609: // --cond-var-split-quant |
2627 |
|
solver.setOption("cond-var-split-quant", "true"); break; |
2628 |
|
case 610: // --no-cond-var-split-quant |
2629 |
|
solver.setOption("cond-var-split-quant", "false"); break; |
2630 |
|
case 611: // --conjecture-filter-active-terms |
2631 |
|
solver.setOption("conjecture-filter-active-terms", "true"); break; |
2632 |
|
case 612: // --no-conjecture-filter-active-terms |
2633 |
|
solver.setOption("conjecture-filter-active-terms", "false"); break; |
2634 |
|
case 613: // --conjecture-filter-canonical |
2635 |
|
solver.setOption("conjecture-filter-canonical", "true"); break; |
2636 |
|
case 614: // --no-conjecture-filter-canonical |
2637 |
|
solver.setOption("conjecture-filter-canonical", "false"); break; |
2638 |
|
case 615: // --conjecture-filter-model |
2639 |
|
solver.setOption("conjecture-filter-model", "true"); break; |
2640 |
|
case 616: // --no-conjecture-filter-model |
2641 |
|
solver.setOption("conjecture-filter-model", "false"); break; |
2642 |
1 |
case 617: // --conjecture-gen |
2643 |
1 |
solver.setOption("conjecture-gen", "true"); break; |
2644 |
|
case 618: // --no-conjecture-gen |
2645 |
|
solver.setOption("conjecture-gen", "false"); break; |
2646 |
|
case 619: // --conjecture-gen-gt-enum |
2647 |
|
solver.setOption("conjecture-gen-gt-enum", optionarg); break; |
2648 |
|
case 620: // --conjecture-gen-max-depth |
2649 |
|
solver.setOption("conjecture-gen-max-depth", optionarg); break; |
2650 |
|
case 621: // --conjecture-gen-per-round |
2651 |
|
solver.setOption("conjecture-gen-per-round", optionarg); break; |
2652 |
|
case 622: // --conjecture-gen-uee-intro |
2653 |
|
solver.setOption("conjecture-gen-uee-intro", "true"); break; |
2654 |
|
case 623: // --no-conjecture-gen-uee-intro |
2655 |
|
solver.setOption("conjecture-gen-uee-intro", "false"); break; |
2656 |
|
case 624: // --conjecture-no-filter |
2657 |
|
solver.setOption("conjecture-no-filter", "true"); break; |
2658 |
|
case 625: // --no-conjecture-no-filter |
2659 |
|
solver.setOption("conjecture-no-filter", "false"); break; |
2660 |
|
case 626: // --dt-stc-ind |
2661 |
|
solver.setOption("dt-stc-ind", "true"); break; |
2662 |
|
case 627: // --no-dt-stc-ind |
2663 |
|
solver.setOption("dt-stc-ind", "false"); break; |
2664 |
|
case 628: // --dt-var-exp-quant |
2665 |
|
solver.setOption("dt-var-exp-quant", "true"); break; |
2666 |
|
case 629: // --no-dt-var-exp-quant |
2667 |
|
solver.setOption("dt-var-exp-quant", "false"); break; |
2668 |
|
case 630: // --e-matching |
2669 |
|
solver.setOption("e-matching", "true"); break; |
2670 |
|
case 631: // --no-e-matching |
2671 |
|
solver.setOption("e-matching", "false"); break; |
2672 |
|
case 632: // --elim-taut-quant |
2673 |
|
solver.setOption("elim-taut-quant", "true"); break; |
2674 |
|
case 633: // --no-elim-taut-quant |
2675 |
|
solver.setOption("elim-taut-quant", "false"); break; |
2676 |
8 |
case 634: // --ext-rewrite-quant |
2677 |
8 |
solver.setOption("ext-rewrite-quant", "true"); break; |
2678 |
|
case 635: // --no-ext-rewrite-quant |
2679 |
|
solver.setOption("ext-rewrite-quant", "false"); break; |
2680 |
126 |
case 636: // --finite-model-find |
2681 |
126 |
solver.setOption("finite-model-find", "true"); break; |
2682 |
1 |
case 637: // --no-finite-model-find |
2683 |
1 |
solver.setOption("finite-model-find", "false"); break; |
2684 |
23 |
case 638: // --fmf-bound |
2685 |
23 |
solver.setOption("fmf-bound", "true"); break; |
2686 |
|
case 639: // --no-fmf-bound |
2687 |
|
solver.setOption("fmf-bound", "false"); break; |
2688 |
6 |
case 640: // --fmf-bound-int |
2689 |
6 |
solver.setOption("fmf-bound-int", "true"); break; |
2690 |
|
case 641: // --no-fmf-bound-int |
2691 |
|
solver.setOption("fmf-bound-int", "false"); break; |
2692 |
1 |
case 642: // --fmf-bound-lazy |
2693 |
1 |
solver.setOption("fmf-bound-lazy", "true"); break; |
2694 |
|
case 643: // --no-fmf-bound-lazy |
2695 |
|
solver.setOption("fmf-bound-lazy", "false"); break; |
2696 |
|
case 644: // --fmf-fmc-simple |
2697 |
|
solver.setOption("fmf-fmc-simple", "true"); break; |
2698 |
|
case 645: // --no-fmf-fmc-simple |
2699 |
|
solver.setOption("fmf-fmc-simple", "false"); break; |
2700 |
|
case 646: // --fmf-fresh-dc |
2701 |
|
solver.setOption("fmf-fresh-dc", "true"); break; |
2702 |
|
case 647: // --no-fmf-fresh-dc |
2703 |
|
solver.setOption("fmf-fresh-dc", "false"); break; |
2704 |
28 |
case 648: // --fmf-fun |
2705 |
28 |
solver.setOption("fmf-fun", "true"); break; |
2706 |
|
case 649: // --no-fmf-fun |
2707 |
|
solver.setOption("fmf-fun", "false"); break; |
2708 |
10 |
case 650: // --fmf-fun-rlv |
2709 |
10 |
solver.setOption("fmf-fun-rlv", "true"); break; |
2710 |
|
case 651: // --no-fmf-fun-rlv |
2711 |
|
solver.setOption("fmf-fun-rlv", "false"); break; |
2712 |
5 |
case 652: // --fmf-inst-engine |
2713 |
5 |
solver.setOption("fmf-inst-engine", "true"); break; |
2714 |
|
case 653: // --no-fmf-inst-engine |
2715 |
|
solver.setOption("fmf-inst-engine", "false"); break; |
2716 |
|
case 654: // --fmf-type-completion-thresh |
2717 |
|
solver.setOption("fmf-type-completion-thresh", optionarg); break; |
2718 |
|
case 655: // --fs-interleave |
2719 |
|
solver.setOption("fs-interleave", "true"); break; |
2720 |
|
case 656: // --no-fs-interleave |
2721 |
|
solver.setOption("fs-interleave", "false"); break; |
2722 |
1 |
case 657: // --fs-stratify |
2723 |
1 |
solver.setOption("fs-stratify", "true"); break; |
2724 |
|
case 658: // --no-fs-stratify |
2725 |
|
solver.setOption("fs-stratify", "false"); break; |
2726 |
|
case 659: // --fs-sum |
2727 |
|
solver.setOption("fs-sum", "true"); break; |
2728 |
|
case 660: // --no-fs-sum |
2729 |
|
solver.setOption("fs-sum", "false"); break; |
2730 |
31 |
case 661: // --full-saturate-quant |
2731 |
31 |
solver.setOption("full-saturate-quant", "true"); break; |
2732 |
|
case 662: // --no-full-saturate-quant |
2733 |
|
solver.setOption("full-saturate-quant", "false"); break; |
2734 |
1 |
case 663: // --full-saturate-quant-limit |
2735 |
1 |
solver.setOption("full-saturate-quant-limit", optionarg); break; |
2736 |
|
case 664: // --full-saturate-quant-rd |
2737 |
|
solver.setOption("full-saturate-quant-rd", "true"); break; |
2738 |
|
case 665: // --no-full-saturate-quant-rd |
2739 |
|
solver.setOption("full-saturate-quant-rd", "false"); break; |
2740 |
5 |
case 666: // --global-negate |
2741 |
5 |
solver.setOption("global-negate", "true"); break; |
2742 |
|
case 667: // --no-global-negate |
2743 |
|
solver.setOption("global-negate", "false"); break; |
2744 |
6 |
case 668: // --ho-elim |
2745 |
6 |
solver.setOption("ho-elim", "true"); break; |
2746 |
|
case 669: // --no-ho-elim |
2747 |
|
solver.setOption("ho-elim", "false"); break; |
2748 |
1 |
case 670: // --ho-elim-store-ax |
2749 |
1 |
solver.setOption("ho-elim-store-ax", "true"); break; |
2750 |
|
case 671: // --no-ho-elim-store-ax |
2751 |
|
solver.setOption("ho-elim-store-ax", "false"); break; |
2752 |
|
case 672: // --ho-matching |
2753 |
|
solver.setOption("ho-matching", "true"); break; |
2754 |
|
case 673: // --no-ho-matching |
2755 |
|
solver.setOption("ho-matching", "false"); break; |
2756 |
|
case 674: // --ho-matching-var-priority |
2757 |
|
solver.setOption("ho-matching-var-priority", "true"); break; |
2758 |
|
case 675: // --no-ho-matching-var-priority |
2759 |
|
solver.setOption("ho-matching-var-priority", "false"); break; |
2760 |
|
case 676: // --ho-merge-term-db |
2761 |
|
solver.setOption("ho-merge-term-db", "true"); break; |
2762 |
|
case 677: // --no-ho-merge-term-db |
2763 |
|
solver.setOption("ho-merge-term-db", "false"); break; |
2764 |
|
case 678: // --increment-triggers |
2765 |
|
solver.setOption("increment-triggers", "true"); break; |
2766 |
|
case 679: // --no-increment-triggers |
2767 |
|
solver.setOption("increment-triggers", "false"); break; |
2768 |
|
case 680: // --inst-level-input-only |
2769 |
|
solver.setOption("inst-level-input-only", "true"); break; |
2770 |
|
case 681: // --no-inst-level-input-only |
2771 |
|
solver.setOption("inst-level-input-only", "false"); break; |
2772 |
1 |
case 682: // --inst-max-level |
2773 |
1 |
solver.setOption("inst-max-level", optionarg); break; |
2774 |
|
case 683: // --inst-max-rounds |
2775 |
|
solver.setOption("inst-max-rounds", optionarg); break; |
2776 |
|
case 684: // --inst-no-entail |
2777 |
|
solver.setOption("inst-no-entail", "true"); break; |
2778 |
|
case 685: // --no-inst-no-entail |
2779 |
|
solver.setOption("inst-no-entail", "false"); break; |
2780 |
1 |
case 686: // --inst-when |
2781 |
1 |
solver.setOption("inst-when", optionarg); break; |
2782 |
|
case 687: // --inst-when-phase |
2783 |
|
solver.setOption("inst-when-phase", optionarg); break; |
2784 |
|
case 688: // --inst-when-strict-interleave |
2785 |
|
solver.setOption("inst-when-strict-interleave", "true"); break; |
2786 |
|
case 689: // --no-inst-when-strict-interleave |
2787 |
|
solver.setOption("inst-when-strict-interleave", "false"); break; |
2788 |
|
case 690: // --inst-when-tc-first |
2789 |
|
solver.setOption("inst-when-tc-first", "true"); break; |
2790 |
|
case 691: // --no-inst-when-tc-first |
2791 |
|
solver.setOption("inst-when-tc-first", "false"); break; |
2792 |
1 |
case 692: // --int-wf-ind |
2793 |
1 |
solver.setOption("int-wf-ind", "true"); break; |
2794 |
|
case 693: // --no-int-wf-ind |
2795 |
|
solver.setOption("int-wf-ind", "false"); break; |
2796 |
|
case 694: // --ite-dtt-split-quant |
2797 |
|
solver.setOption("ite-dtt-split-quant", "true"); break; |
2798 |
|
case 695: // --no-ite-dtt-split-quant |
2799 |
|
solver.setOption("ite-dtt-split-quant", "false"); break; |
2800 |
|
case 696: // --ite-lift-quant |
2801 |
|
solver.setOption("ite-lift-quant", optionarg); break; |
2802 |
|
case 697: // --literal-matching |
2803 |
|
solver.setOption("literal-matching", optionarg); break; |
2804 |
10 |
case 698: // --macros-quant |
2805 |
10 |
solver.setOption("macros-quant", "true"); break; |
2806 |
|
case 699: // --no-macros-quant |
2807 |
|
solver.setOption("macros-quant", "false"); break; |
2808 |
1 |
case 700: // --macros-quant-mode |
2809 |
1 |
solver.setOption("macros-quant-mode", optionarg); break; |
2810 |
|
case 701: // --mbqi |
2811 |
|
solver.setOption("mbqi", optionarg); break; |
2812 |
|
case 702: // --mbqi-interleave |
2813 |
|
solver.setOption("mbqi-interleave", "true"); break; |
2814 |
|
case 703: // --no-mbqi-interleave |
2815 |
|
solver.setOption("mbqi-interleave", "false"); break; |
2816 |
|
case 704: // --mbqi-one-inst-per-round |
2817 |
|
solver.setOption("mbqi-one-inst-per-round", "true"); break; |
2818 |
|
case 705: // --no-mbqi-one-inst-per-round |
2819 |
|
solver.setOption("mbqi-one-inst-per-round", "false"); break; |
2820 |
|
case 706: // --miniscope-quant |
2821 |
|
solver.setOption("miniscope-quant", "true"); break; |
2822 |
|
case 707: // --no-miniscope-quant |
2823 |
|
solver.setOption("miniscope-quant", "false"); break; |
2824 |
|
case 708: // --miniscope-quant-fv |
2825 |
|
solver.setOption("miniscope-quant-fv", "true"); break; |
2826 |
|
case 709: // --no-miniscope-quant-fv |
2827 |
|
solver.setOption("miniscope-quant-fv", "false"); break; |
2828 |
1 |
case 710: // --multi-trigger-cache |
2829 |
1 |
solver.setOption("multi-trigger-cache", "true"); break; |
2830 |
|
case 711: // --no-multi-trigger-cache |
2831 |
|
solver.setOption("multi-trigger-cache", "false"); break; |
2832 |
|
case 712: // --multi-trigger-linear |
2833 |
|
solver.setOption("multi-trigger-linear", "true"); break; |
2834 |
|
case 713: // --no-multi-trigger-linear |
2835 |
|
solver.setOption("multi-trigger-linear", "false"); break; |
2836 |
|
case 714: // --multi-trigger-priority |
2837 |
|
solver.setOption("multi-trigger-priority", "true"); break; |
2838 |
|
case 715: // --no-multi-trigger-priority |
2839 |
|
solver.setOption("multi-trigger-priority", "false"); break; |
2840 |
|
case 716: // --multi-trigger-when-single |
2841 |
|
solver.setOption("multi-trigger-when-single", "true"); break; |
2842 |
|
case 717: // --no-multi-trigger-when-single |
2843 |
|
solver.setOption("multi-trigger-when-single", "false"); break; |
2844 |
1 |
case 718: // --partial-triggers |
2845 |
1 |
solver.setOption("partial-triggers", "true"); break; |
2846 |
|
case 719: // --no-partial-triggers |
2847 |
|
solver.setOption("partial-triggers", "false"); break; |
2848 |
1 |
case 720: // --pool-inst |
2849 |
1 |
solver.setOption("pool-inst", "true"); break; |
2850 |
|
case 721: // --no-pool-inst |
2851 |
|
solver.setOption("pool-inst", "false"); break; |
2852 |
|
case 722: // --pre-skolem-quant |
2853 |
|
solver.setOption("pre-skolem-quant", "true"); break; |
2854 |
|
case 723: // --no-pre-skolem-quant |
2855 |
|
solver.setOption("pre-skolem-quant", "false"); break; |
2856 |
|
case 724: // --pre-skolem-quant-agg |
2857 |
|
solver.setOption("pre-skolem-quant-agg", "true"); break; |
2858 |
|
case 725: // --no-pre-skolem-quant-agg |
2859 |
|
solver.setOption("pre-skolem-quant-agg", "false"); break; |
2860 |
|
case 726: // --pre-skolem-quant-nested |
2861 |
|
solver.setOption("pre-skolem-quant-nested", "true"); break; |
2862 |
|
case 727: // --no-pre-skolem-quant-nested |
2863 |
|
solver.setOption("pre-skolem-quant-nested", "false"); break; |
2864 |
|
case 728: // --prenex-quant |
2865 |
|
solver.setOption("prenex-quant", optionarg); break; |
2866 |
|
case 729: // --prenex-quant-user |
2867 |
|
solver.setOption("prenex-quant-user", "true"); break; |
2868 |
|
case 730: // --no-prenex-quant-user |
2869 |
|
solver.setOption("prenex-quant-user", "false"); break; |
2870 |
1 |
case 731: // --purify-triggers |
2871 |
1 |
solver.setOption("purify-triggers", "true"); break; |
2872 |
|
case 732: // --no-purify-triggers |
2873 |
|
solver.setOption("purify-triggers", "false"); break; |
2874 |
|
case 733: // --qcf-all-conflict |
2875 |
|
solver.setOption("qcf-all-conflict", "true"); break; |
2876 |
|
case 734: // --no-qcf-all-conflict |
2877 |
|
solver.setOption("qcf-all-conflict", "false"); break; |
2878 |
|
case 735: // --qcf-eager-check-rd |
2879 |
|
solver.setOption("qcf-eager-check-rd", "true"); break; |
2880 |
|
case 736: // --no-qcf-eager-check-rd |
2881 |
|
solver.setOption("qcf-eager-check-rd", "false"); break; |
2882 |
|
case 737: // --qcf-eager-test |
2883 |
|
solver.setOption("qcf-eager-test", "true"); break; |
2884 |
|
case 738: // --no-qcf-eager-test |
2885 |
|
solver.setOption("qcf-eager-test", "false"); break; |
2886 |
|
case 739: // --qcf-nested-conflict |
2887 |
|
solver.setOption("qcf-nested-conflict", "true"); break; |
2888 |
|
case 740: // --no-qcf-nested-conflict |
2889 |
|
solver.setOption("qcf-nested-conflict", "false"); break; |
2890 |
|
case 741: // --qcf-skip-rd |
2891 |
|
solver.setOption("qcf-skip-rd", "true"); break; |
2892 |
|
case 742: // --no-qcf-skip-rd |
2893 |
|
solver.setOption("qcf-skip-rd", "false"); break; |
2894 |
2 |
case 743: // --qcf-tconstraint |
2895 |
2 |
solver.setOption("qcf-tconstraint", "true"); break; |
2896 |
|
case 744: // --no-qcf-tconstraint |
2897 |
|
solver.setOption("qcf-tconstraint", "false"); break; |
2898 |
|
case 745: // --qcf-vo-exp |
2899 |
|
solver.setOption("qcf-vo-exp", "true"); break; |
2900 |
|
case 746: // --no-qcf-vo-exp |
2901 |
|
solver.setOption("qcf-vo-exp", "false"); break; |
2902 |
|
case 747: // --quant-alpha-equiv |
2903 |
|
solver.setOption("quant-alpha-equiv", "true"); break; |
2904 |
|
case 748: // --no-quant-alpha-equiv |
2905 |
|
solver.setOption("quant-alpha-equiv", "false"); break; |
2906 |
|
case 749: // --quant-cf |
2907 |
|
solver.setOption("quant-cf", "true"); break; |
2908 |
|
case 750: // --no-quant-cf |
2909 |
|
solver.setOption("quant-cf", "false"); break; |
2910 |
|
case 751: // --quant-cf-mode |
2911 |
|
solver.setOption("quant-cf-mode", optionarg); break; |
2912 |
|
case 752: // --quant-cf-when |
2913 |
|
solver.setOption("quant-cf-when", optionarg); break; |
2914 |
|
case 753: // --quant-dsplit-mode |
2915 |
|
solver.setOption("quant-dsplit-mode", optionarg); break; |
2916 |
|
case 754: // --quant-fun-wd |
2917 |
|
solver.setOption("quant-fun-wd", "true"); break; |
2918 |
|
case 755: // --no-quant-fun-wd |
2919 |
|
solver.setOption("quant-fun-wd", "false"); break; |
2920 |
2 |
case 756: // --quant-ind |
2921 |
2 |
solver.setOption("quant-ind", "true"); break; |
2922 |
|
case 757: // --no-quant-ind |
2923 |
|
solver.setOption("quant-ind", "false"); break; |
2924 |
|
case 758: // --quant-rep-mode |
2925 |
|
solver.setOption("quant-rep-mode", optionarg); break; |
2926 |
|
case 759: // --quant-split |
2927 |
|
solver.setOption("quant-split", "true"); break; |
2928 |
|
case 760: // --no-quant-split |
2929 |
|
solver.setOption("quant-split", "false"); break; |
2930 |
|
case 761: // --register-quant-body-terms |
2931 |
|
solver.setOption("register-quant-body-terms", "true"); break; |
2932 |
|
case 762: // --no-register-quant-body-terms |
2933 |
|
solver.setOption("register-quant-body-terms", "false"); break; |
2934 |
4 |
case 763: // --relational-triggers |
2935 |
4 |
solver.setOption("relational-triggers", "true"); break; |
2936 |
1 |
case 764: // --no-relational-triggers |
2937 |
1 |
solver.setOption("relational-triggers", "false"); break; |
2938 |
1 |
case 765: // --relevant-triggers |
2939 |
1 |
solver.setOption("relevant-triggers", "true"); break; |
2940 |
|
case 766: // --no-relevant-triggers |
2941 |
|
solver.setOption("relevant-triggers", "false"); break; |
2942 |
|
case 767: // --sygus |
2943 |
|
solver.setOption("sygus", "true"); break; |
2944 |
|
case 768: // --no-sygus |
2945 |
|
solver.setOption("sygus", "false"); break; |
2946 |
13 |
case 769: // --sygus-active-gen |
2947 |
13 |
solver.setOption("sygus-active-gen", optionarg); break; |
2948 |
|
case 770: // --sygus-active-gen-cfactor |
2949 |
|
solver.setOption("sygus-active-gen-cfactor", optionarg); break; |
2950 |
1 |
case 771: // --sygus-add-const-grammar |
2951 |
1 |
solver.setOption("sygus-add-const-grammar", "true"); break; |
2952 |
1 |
case 772: // --no-sygus-add-const-grammar |
2953 |
1 |
solver.setOption("sygus-add-const-grammar", "false"); break; |
2954 |
3 |
case 773: // --sygus-arg-relevant |
2955 |
3 |
solver.setOption("sygus-arg-relevant", "true"); break; |
2956 |
|
case 774: // --no-sygus-arg-relevant |
2957 |
|
solver.setOption("sygus-arg-relevant", "false"); break; |
2958 |
|
case 775: // --sygus-auto-unfold |
2959 |
|
solver.setOption("sygus-auto-unfold", "true"); break; |
2960 |
|
case 776: // --no-sygus-auto-unfold |
2961 |
|
solver.setOption("sygus-auto-unfold", "false"); break; |
2962 |
1 |
case 777: // --sygus-bool-ite-return-const |
2963 |
1 |
solver.setOption("sygus-bool-ite-return-const", "true"); break; |
2964 |
|
case 778: // --no-sygus-bool-ite-return-const |
2965 |
|
solver.setOption("sygus-bool-ite-return-const", "false"); break; |
2966 |
5 |
case 779: // --sygus-core-connective |
2967 |
5 |
solver.setOption("sygus-core-connective", "true"); break; |
2968 |
|
case 780: // --no-sygus-core-connective |
2969 |
|
solver.setOption("sygus-core-connective", "false"); break; |
2970 |
|
case 781: // --sygus-crepair-abort |
2971 |
|
solver.setOption("sygus-crepair-abort", "true"); break; |
2972 |
|
case 782: // --no-sygus-crepair-abort |
2973 |
|
solver.setOption("sygus-crepair-abort", "false"); break; |
2974 |
|
case 783: // --sygus-eval-opt |
2975 |
|
solver.setOption("sygus-eval-opt", "true"); break; |
2976 |
|
case 784: // --no-sygus-eval-opt |
2977 |
|
solver.setOption("sygus-eval-opt", "false"); break; |
2978 |
|
case 785: // --sygus-eval-unfold |
2979 |
|
solver.setOption("sygus-eval-unfold", "true"); break; |
2980 |
|
case 786: // --no-sygus-eval-unfold |
2981 |
|
solver.setOption("sygus-eval-unfold", "false"); break; |
2982 |
|
case 787: // --sygus-eval-unfold-bool |
2983 |
|
solver.setOption("sygus-eval-unfold-bool", "true"); break; |
2984 |
|
case 788: // --no-sygus-eval-unfold-bool |
2985 |
|
solver.setOption("sygus-eval-unfold-bool", "false"); break; |
2986 |
|
case 789: // --sygus-expr-miner-check-timeout |
2987 |
|
solver.setOption("sygus-expr-miner-check-timeout", optionarg); break; |
2988 |
|
case 790: // --sygus-ext-rew |
2989 |
|
solver.setOption("sygus-ext-rew", "true"); break; |
2990 |
|
case 791: // --no-sygus-ext-rew |
2991 |
|
solver.setOption("sygus-ext-rew", "false"); break; |
2992 |
|
case 792: // --sygus-filter-sol |
2993 |
|
solver.setOption("sygus-filter-sol", optionarg); break; |
2994 |
|
case 793: // --sygus-filter-sol-rev |
2995 |
|
solver.setOption("sygus-filter-sol-rev", "true"); break; |
2996 |
|
case 794: // --no-sygus-filter-sol-rev |
2997 |
|
solver.setOption("sygus-filter-sol-rev", "false"); break; |
2998 |
6 |
case 795: // --sygus-grammar-cons |
2999 |
6 |
solver.setOption("sygus-grammar-cons", optionarg); break; |
3000 |
|
case 796: // --sygus-grammar-norm |
3001 |
|
solver.setOption("sygus-grammar-norm", "true"); break; |
3002 |
|
case 797: // --no-sygus-grammar-norm |
3003 |
|
solver.setOption("sygus-grammar-norm", "false"); break; |
3004 |
41 |
case 798: // --sygus-inference |
3005 |
41 |
solver.setOption("sygus-inference", "true"); break; |
3006 |
|
case 799: // --no-sygus-inference |
3007 |
|
solver.setOption("sygus-inference", "false"); break; |
3008 |
10 |
case 800: // --sygus-inst |
3009 |
10 |
solver.setOption("sygus-inst", "true"); break; |
3010 |
4 |
case 801: // --no-sygus-inst |
3011 |
4 |
solver.setOption("sygus-inst", "false"); break; |
3012 |
|
case 802: // --sygus-inst-mode |
3013 |
|
solver.setOption("sygus-inst-mode", optionarg); break; |
3014 |
|
case 803: // --sygus-inst-scope |
3015 |
|
solver.setOption("sygus-inst-scope", optionarg); break; |
3016 |
|
case 804: // --sygus-inst-term-sel |
3017 |
|
solver.setOption("sygus-inst-term-sel", optionarg); break; |
3018 |
3 |
case 805: // --sygus-inv-templ |
3019 |
3 |
solver.setOption("sygus-inv-templ", optionarg); break; |
3020 |
|
case 806: // --sygus-inv-templ-when-sg |
3021 |
|
solver.setOption("sygus-inv-templ-when-sg", "true"); break; |
3022 |
|
case 807: // --no-sygus-inv-templ-when-sg |
3023 |
|
solver.setOption("sygus-inv-templ-when-sg", "false"); break; |
3024 |
|
case 808: // --sygus-min-grammar |
3025 |
|
solver.setOption("sygus-min-grammar", "true"); break; |
3026 |
|
case 809: // --no-sygus-min-grammar |
3027 |
|
solver.setOption("sygus-min-grammar", "false"); break; |
3028 |
|
case 810: // --sygus-pbe |
3029 |
|
solver.setOption("sygus-pbe", "true"); break; |
3030 |
6 |
case 811: // --no-sygus-pbe |
3031 |
6 |
solver.setOption("sygus-pbe", "false"); break; |
3032 |
|
case 812: // --sygus-pbe-multi-fair |
3033 |
|
solver.setOption("sygus-pbe-multi-fair", "true"); break; |
3034 |
|
case 813: // --no-sygus-pbe-multi-fair |
3035 |
|
solver.setOption("sygus-pbe-multi-fair", "false"); break; |
3036 |
|
case 814: // --sygus-pbe-multi-fair-diff |
3037 |
|
solver.setOption("sygus-pbe-multi-fair-diff", optionarg); break; |
3038 |
3 |
case 815: // --sygus-qe-preproc |
3039 |
3 |
solver.setOption("sygus-qe-preproc", "true"); break; |
3040 |
|
case 816: // --no-sygus-qe-preproc |
3041 |
|
solver.setOption("sygus-qe-preproc", "false"); break; |
3042 |
|
case 817: // --sygus-query-gen |
3043 |
|
solver.setOption("sygus-query-gen", "true"); break; |
3044 |
|
case 818: // --no-sygus-query-gen |
3045 |
|
solver.setOption("sygus-query-gen", "false"); break; |
3046 |
|
case 819: // --sygus-query-gen-check |
3047 |
|
solver.setOption("sygus-query-gen-check", "true"); break; |
3048 |
|
case 820: // --no-sygus-query-gen-check |
3049 |
|
solver.setOption("sygus-query-gen-check", "false"); break; |
3050 |
|
case 821: // --sygus-query-gen-dump-files |
3051 |
|
solver.setOption("sygus-query-gen-dump-files", optionarg); break; |
3052 |
|
case 822: // --sygus-query-gen-thresh |
3053 |
|
solver.setOption("sygus-query-gen-thresh", optionarg); break; |
3054 |
1 |
case 823: // --sygus-rec-fun |
3055 |
1 |
solver.setOption("sygus-rec-fun", "true"); break; |
3056 |
|
case 824: // --no-sygus-rec-fun |
3057 |
|
solver.setOption("sygus-rec-fun", "false"); break; |
3058 |
|
case 825: // --sygus-rec-fun-eval-limit |
3059 |
|
solver.setOption("sygus-rec-fun-eval-limit", optionarg); break; |
3060 |
5 |
case 826: // --sygus-repair-const |
3061 |
5 |
solver.setOption("sygus-repair-const", "true"); break; |
3062 |
3 |
case 827: // --no-sygus-repair-const |
3063 |
3 |
solver.setOption("sygus-repair-const", "false"); break; |
3064 |
|
case 828: // --sygus-repair-const-timeout |
3065 |
|
solver.setOption("sygus-repair-const-timeout", optionarg); break; |
3066 |
6 |
case 829: // --sygus-rr |
3067 |
6 |
solver.setOption("sygus-rr", "true"); break; |
3068 |
|
case 830: // --no-sygus-rr |
3069 |
|
solver.setOption("sygus-rr", "false"); break; |
3070 |
1 |
case 831: // --sygus-rr-synth |
3071 |
1 |
solver.setOption("sygus-rr-synth", "true"); break; |
3072 |
|
case 832: // --no-sygus-rr-synth |
3073 |
|
solver.setOption("sygus-rr-synth", "false"); break; |
3074 |
|
case 833: // --sygus-rr-synth-accel |
3075 |
|
solver.setOption("sygus-rr-synth-accel", "true"); break; |
3076 |
|
case 834: // --no-sygus-rr-synth-accel |
3077 |
|
solver.setOption("sygus-rr-synth-accel", "false"); break; |
3078 |
3 |
case 835: // --sygus-rr-synth-check |
3079 |
3 |
solver.setOption("sygus-rr-synth-check", "true"); break; |
3080 |
|
case 836: // --no-sygus-rr-synth-check |
3081 |
|
solver.setOption("sygus-rr-synth-check", "false"); break; |
3082 |
|
case 837: // --sygus-rr-synth-filter-cong |
3083 |
|
solver.setOption("sygus-rr-synth-filter-cong", "true"); break; |
3084 |
|
case 838: // --no-sygus-rr-synth-filter-cong |
3085 |
|
solver.setOption("sygus-rr-synth-filter-cong", "false"); break; |
3086 |
|
case 839: // --sygus-rr-synth-filter-match |
3087 |
|
solver.setOption("sygus-rr-synth-filter-match", "true"); break; |
3088 |
|
case 840: // --no-sygus-rr-synth-filter-match |
3089 |
|
solver.setOption("sygus-rr-synth-filter-match", "false"); break; |
3090 |
|
case 841: // --sygus-rr-synth-filter-nl |
3091 |
|
solver.setOption("sygus-rr-synth-filter-nl", "true"); break; |
3092 |
|
case 842: // --no-sygus-rr-synth-filter-nl |
3093 |
|
solver.setOption("sygus-rr-synth-filter-nl", "false"); break; |
3094 |
|
case 843: // --sygus-rr-synth-filter-order |
3095 |
|
solver.setOption("sygus-rr-synth-filter-order", "true"); break; |
3096 |
|
case 844: // --no-sygus-rr-synth-filter-order |
3097 |
|
solver.setOption("sygus-rr-synth-filter-order", "false"); break; |
3098 |
|
case 845: // --sygus-rr-synth-input |
3099 |
|
solver.setOption("sygus-rr-synth-input", "true"); break; |
3100 |
|
case 846: // --no-sygus-rr-synth-input |
3101 |
|
solver.setOption("sygus-rr-synth-input", "false"); break; |
3102 |
|
case 847: // --sygus-rr-synth-input-nvars |
3103 |
|
solver.setOption("sygus-rr-synth-input-nvars", optionarg); break; |
3104 |
|
case 848: // --sygus-rr-synth-input-use-bool |
3105 |
|
solver.setOption("sygus-rr-synth-input-use-bool", "true"); break; |
3106 |
|
case 849: // --no-sygus-rr-synth-input-use-bool |
3107 |
|
solver.setOption("sygus-rr-synth-input-use-bool", "false"); break; |
3108 |
|
case 850: // --sygus-rr-synth-rec |
3109 |
|
solver.setOption("sygus-rr-synth-rec", "true"); break; |
3110 |
|
case 851: // --no-sygus-rr-synth-rec |
3111 |
|
solver.setOption("sygus-rr-synth-rec", "false"); break; |
3112 |
|
case 852: // --sygus-rr-verify |
3113 |
|
solver.setOption("sygus-rr-verify", "true"); break; |
3114 |
|
case 853: // --no-sygus-rr-verify |
3115 |
|
solver.setOption("sygus-rr-verify", "false"); break; |
3116 |
7 |
case 854: // --sygus-rr-verify-abort |
3117 |
7 |
solver.setOption("sygus-rr-verify-abort", "true"); break; |
3118 |
|
case 855: // --no-sygus-rr-verify-abort |
3119 |
|
solver.setOption("sygus-rr-verify-abort", "false"); break; |
3120 |
|
case 856: // --sygus-sample-fp-uniform |
3121 |
|
solver.setOption("sygus-sample-fp-uniform", "true"); break; |
3122 |
|
case 857: // --no-sygus-sample-fp-uniform |
3123 |
|
solver.setOption("sygus-sample-fp-uniform", "false"); break; |
3124 |
|
case 858: // --sygus-sample-grammar |
3125 |
|
solver.setOption("sygus-sample-grammar", "true"); break; |
3126 |
|
case 859: // --no-sygus-sample-grammar |
3127 |
|
solver.setOption("sygus-sample-grammar", "false"); break; |
3128 |
7 |
case 860: // --sygus-samples |
3129 |
7 |
solver.setOption("sygus-samples", optionarg); break; |
3130 |
47 |
case 861: // --sygus-si |
3131 |
47 |
solver.setOption("sygus-si", optionarg); break; |
3132 |
|
case 862: // --sygus-si-abort |
3133 |
|
solver.setOption("sygus-si-abort", "true"); break; |
3134 |
|
case 863: // --no-sygus-si-abort |
3135 |
|
solver.setOption("sygus-si-abort", "false"); break; |
3136 |
|
case 864: // --sygus-si-rcons |
3137 |
|
solver.setOption("sygus-si-rcons", optionarg); break; |
3138 |
1 |
case 865: // --sygus-si-rcons-limit |
3139 |
1 |
solver.setOption("sygus-si-rcons-limit", optionarg); break; |
3140 |
4 |
case 866: // --sygus-stream |
3141 |
4 |
solver.setOption("sygus-stream", "true"); break; |
3142 |
|
case 867: // --no-sygus-stream |
3143 |
|
solver.setOption("sygus-stream", "false"); break; |
3144 |
|
case 868: // --sygus-templ-embed-grammar |
3145 |
|
solver.setOption("sygus-templ-embed-grammar", "true"); break; |
3146 |
|
case 869: // --no-sygus-templ-embed-grammar |
3147 |
|
solver.setOption("sygus-templ-embed-grammar", "false"); break; |
3148 |
|
case 870: // --sygus-unif-cond-independent-no-repeat-sol |
3149 |
|
solver.setOption("sygus-unif-cond-independent-no-repeat-sol", "true"); break; |
3150 |
|
case 871: // --no-sygus-unif-cond-independent-no-repeat-sol |
3151 |
|
solver.setOption("sygus-unif-cond-independent-no-repeat-sol", "false"); break; |
3152 |
9 |
case 872: // --sygus-unif-pi |
3153 |
9 |
solver.setOption("sygus-unif-pi", optionarg); break; |
3154 |
|
case 873: // --sygus-unif-shuffle-cond |
3155 |
|
solver.setOption("sygus-unif-shuffle-cond", "true"); break; |
3156 |
|
case 874: // --no-sygus-unif-shuffle-cond |
3157 |
|
solver.setOption("sygus-unif-shuffle-cond", "false"); break; |
3158 |
|
case 875: // --sygus-verify-inst-max-rounds |
3159 |
|
solver.setOption("sygus-verify-inst-max-rounds", optionarg); break; |
3160 |
|
case 876: // --term-db-cd |
3161 |
|
solver.setOption("term-db-cd", "true"); break; |
3162 |
|
case 877: // --no-term-db-cd |
3163 |
|
solver.setOption("term-db-cd", "false"); break; |
3164 |
|
case 878: // --term-db-mode |
3165 |
|
solver.setOption("term-db-mode", optionarg); break; |
3166 |
|
case 879: // --trigger-active-sel |
3167 |
|
solver.setOption("trigger-active-sel", optionarg); break; |
3168 |
|
case 880: // --trigger-sel |
3169 |
|
solver.setOption("trigger-sel", optionarg); break; |
3170 |
|
case 881: // --user-pat |
3171 |
|
solver.setOption("user-pat", optionarg); break; |
3172 |
|
case 882: // --var-elim-quant |
3173 |
|
solver.setOption("var-elim-quant", "true"); break; |
3174 |
|
case 883: // --no-var-elim-quant |
3175 |
|
solver.setOption("var-elim-quant", "false"); break; |
3176 |
2 |
case 884: // --var-ineq-elim-quant |
3177 |
2 |
solver.setOption("var-ineq-elim-quant", "true"); break; |
3178 |
|
case 885: // --no-var-ineq-elim-quant |
3179 |
|
solver.setOption("var-ineq-elim-quant", "false"); break; |
3180 |
|
case 886: // --sep-check-neg |
3181 |
|
solver.setOption("sep-check-neg", "true"); break; |
3182 |
|
case 887: // --no-sep-check-neg |
3183 |
|
solver.setOption("sep-check-neg", "false"); break; |
3184 |
|
case 888: // --sep-child-refine |
3185 |
|
solver.setOption("sep-child-refine", "true"); break; |
3186 |
|
case 889: // --no-sep-child-refine |
3187 |
|
solver.setOption("sep-child-refine", "false"); break; |
3188 |
|
case 890: // --sep-deq-c |
3189 |
|
solver.setOption("sep-deq-c", "true"); break; |
3190 |
|
case 891: // --no-sep-deq-c |
3191 |
|
solver.setOption("sep-deq-c", "false"); break; |
3192 |
|
case 892: // --sep-min-refine |
3193 |
|
solver.setOption("sep-min-refine", "true"); break; |
3194 |
|
case 893: // --no-sep-min-refine |
3195 |
|
solver.setOption("sep-min-refine", "false"); break; |
3196 |
1 |
case 894: // --sep-pre-skolem-emp |
3197 |
1 |
solver.setOption("sep-pre-skolem-emp", "true"); break; |
3198 |
|
case 895: // --no-sep-pre-skolem-emp |
3199 |
|
solver.setOption("sep-pre-skolem-emp", "false"); break; |
3200 |
18 |
case 896: // --sets-ext |
3201 |
18 |
solver.setOption("sets-ext", "true"); break; |
3202 |
|
case 897: // --no-sets-ext |
3203 |
|
solver.setOption("sets-ext", "false"); break; |
3204 |
2 |
case 898: // --sets-infer-as-lemmas |
3205 |
2 |
solver.setOption("sets-infer-as-lemmas", "true"); break; |
3206 |
|
case 899: // --no-sets-infer-as-lemmas |
3207 |
|
solver.setOption("sets-infer-as-lemmas", "false"); break; |
3208 |
|
case 900: // --sets-proxy-lemmas |
3209 |
|
solver.setOption("sets-proxy-lemmas", "true"); break; |
3210 |
|
case 901: // --no-sets-proxy-lemmas |
3211 |
|
solver.setOption("sets-proxy-lemmas", "false"); break; |
3212 |
4 |
case 902: // --abstract-values |
3213 |
4 |
solver.setOption("abstract-values", "true"); break; |
3214 |
|
case 903: // --no-abstract-values |
3215 |
|
solver.setOption("abstract-values", "false"); break; |
3216 |
16 |
case 904: // --ackermann |
3217 |
16 |
solver.setOption("ackermann", "true"); break; |
3218 |
|
case 905: // --no-ackermann |
3219 |
|
solver.setOption("ackermann", "false"); break; |
3220 |
4 |
case 906: // --block-models |
3221 |
4 |
solver.setOption("block-models", optionarg); break; |
3222 |
48 |
case 907: // --bvand-integer-granularity |
3223 |
48 |
solver.setOption("bvand-integer-granularity", optionarg); break; |
3224 |
14 |
case 908: // --check-abducts |
3225 |
14 |
solver.setOption("check-abducts", "true"); break; |
3226 |
|
case 909: // --no-check-abducts |
3227 |
|
solver.setOption("check-abducts", "false"); break; |
3228 |
8 |
case 910: // --check-interpols |
3229 |
8 |
solver.setOption("check-interpols", "true"); break; |
3230 |
|
case 911: // --no-check-interpols |
3231 |
|
solver.setOption("check-interpols", "false"); break; |
3232 |
26 |
case 912: // --check-models |
3233 |
26 |
solver.setOption("check-models", "true"); break; |
3234 |
79 |
case 913: // --no-check-models |
3235 |
79 |
solver.setOption("check-models", "false"); break; |
3236 |
|
case 914: // --check-proofs |
3237 |
|
solver.setOption("check-proofs", "true"); break; |
3238 |
9 |
case 915: // --no-check-proofs |
3239 |
9 |
solver.setOption("check-proofs", "false"); break; |
3240 |
186 |
case 916: // --check-synth-sol |
3241 |
186 |
solver.setOption("check-synth-sol", "true"); break; |
3242 |
6 |
case 917: // --no-check-synth-sol |
3243 |
6 |
solver.setOption("check-synth-sol", "false"); break; |
3244 |
20 |
case 918: // --check-unsat-cores |
3245 |
20 |
solver.setOption("check-unsat-cores", "true"); break; |
3246 |
23 |
case 919: // --no-check-unsat-cores |
3247 |
23 |
solver.setOption("check-unsat-cores", "false"); break; |
3248 |
1232 |
case 920: // --debug-check-models |
3249 |
1232 |
solver.setOption("debug-check-models", "true"); break; |
3250 |
|
case 921: // --no-debug-check-models |
3251 |
|
solver.setOption("debug-check-models", "false"); break; |
3252 |
|
case 922: // --difficulty-mode |
3253 |
|
solver.setOption("difficulty-mode", optionarg); break; |
3254 |
2 |
case 923: // --dump |
3255 |
3 |
solver.setOption("dump", optionarg); break; |
3256 |
|
case 924: // --dump-to |
3257 |
|
solver.setOption("dump-to", optionarg); break; |
3258 |
|
case 925: // --early-ite-removal |
3259 |
|
solver.setOption("early-ite-removal", "true"); break; |
3260 |
|
case 926: // --no-early-ite-removal |
3261 |
|
solver.setOption("early-ite-removal", "false"); break; |
3262 |
|
case 927: // --expand-definitions |
3263 |
|
solver.setOption("expand-definitions", "true"); break; |
3264 |
|
case 928: // --no-expand-definitions |
3265 |
|
solver.setOption("expand-definitions", "false"); break; |
3266 |
15 |
case 929: // --ext-rew-prep |
3267 |
15 |
solver.setOption("ext-rew-prep", "true"); break; |
3268 |
|
case 930: // --no-ext-rew-prep |
3269 |
|
solver.setOption("ext-rew-prep", "false"); break; |
3270 |
5 |
case 931: // --ext-rew-prep-agg |
3271 |
5 |
solver.setOption("ext-rew-prep-agg", "true"); break; |
3272 |
|
case 932: // --no-ext-rew-prep-agg |
3273 |
|
solver.setOption("ext-rew-prep-agg", "false"); break; |
3274 |
2 |
case 933: // --foreign-theory-rewrite |
3275 |
2 |
solver.setOption("foreign-theory-rewrite", "true"); break; |
3276 |
|
case 934: // --no-foreign-theory-rewrite |
3277 |
|
solver.setOption("foreign-theory-rewrite", "false"); break; |
3278 |
36 |
case 935: // --iand-mode |
3279 |
36 |
solver.setOption("iand-mode", optionarg); break; |
3280 |
|
case 936: // --interactive-mode |
3281 |
|
solver.setOption("interactive-mode", "true"); break; |
3282 |
|
case 937: // --no-interactive-mode |
3283 |
|
solver.setOption("interactive-mode", "false"); break; |
3284 |
|
case 938: // --ite-simp |
3285 |
|
solver.setOption("ite-simp", "true"); break; |
3286 |
|
case 939: // --no-ite-simp |
3287 |
|
solver.setOption("ite-simp", "false"); break; |
3288 |
1 |
case 940: // --learned-rewrite |
3289 |
1 |
solver.setOption("learned-rewrite", "true"); break; |
3290 |
|
case 941: // --no-learned-rewrite |
3291 |
|
solver.setOption("learned-rewrite", "false"); break; |
3292 |
1 |
case 942: // --minimal-unsat-cores |
3293 |
1 |
solver.setOption("minimal-unsat-cores", "true"); break; |
3294 |
|
case 943: // --no-minimal-unsat-cores |
3295 |
|
solver.setOption("minimal-unsat-cores", "false"); break; |
3296 |
6 |
case 944: // --model-cores |
3297 |
6 |
solver.setOption("model-cores", optionarg); break; |
3298 |
1 |
case 945: // --model-u-print |
3299 |
|
case 946: // --model-uninterp-print |
3300 |
1 |
solver.setOption("model-u-print", optionarg); break; |
3301 |
1 |
case 947: // --model-witness-value |
3302 |
1 |
solver.setOption("model-witness-value", "true"); break; |
3303 |
|
case 948: // --no-model-witness-value |
3304 |
|
solver.setOption("model-witness-value", "false"); break; |
3305 |
|
case 949: // --on-repeat-ite-simp |
3306 |
|
solver.setOption("on-repeat-ite-simp", "true"); break; |
3307 |
|
case 950: // --no-on-repeat-ite-simp |
3308 |
|
solver.setOption("on-repeat-ite-simp", "false"); break; |
3309 |
13 |
case 951: // --produce-abducts |
3310 |
13 |
solver.setOption("produce-abducts", "true"); break; |
3311 |
|
case 952: // --no-produce-abducts |
3312 |
|
solver.setOption("produce-abducts", "false"); break; |
3313 |
|
case 953: // --produce-assertions |
3314 |
|
solver.setOption("produce-assertions", "true"); break; |
3315 |
|
case 954: // --no-produce-assertions |
3316 |
|
solver.setOption("produce-assertions", "false"); break; |
3317 |
|
case 955: // --produce-assignments |
3318 |
|
solver.setOption("produce-assignments", "true"); break; |
3319 |
|
case 956: // --no-produce-assignments |
3320 |
|
solver.setOption("produce-assignments", "false"); break; |
3321 |
|
case 957: // --produce-difficulty |
3322 |
|
solver.setOption("produce-difficulty", "true"); break; |
3323 |
|
case 958: // --no-produce-difficulty |
3324 |
|
solver.setOption("produce-difficulty", "false"); break; |
3325 |
8 |
case 959: // --produce-interpols |
3326 |
8 |
solver.setOption("produce-interpols", optionarg); break; |
3327 |
32 |
case 'm': // -m |
3328 |
|
case 960: // --produce-models |
3329 |
32 |
solver.setOption("produce-models", "true"); break; |
3330 |
|
case 961: // --no-produce-models |
3331 |
|
solver.setOption("produce-models", "false"); break; |
3332 |
5 |
case 962: // --produce-proofs |
3333 |
5 |
solver.setOption("produce-proofs", "true"); break; |
3334 |
12 |
case 963: // --no-produce-proofs |
3335 |
12 |
solver.setOption("produce-proofs", "false"); break; |
3336 |
|
case 964: // --produce-unsat-assumptions |
3337 |
|
solver.setOption("produce-unsat-assumptions", "true"); break; |
3338 |
|
case 965: // --no-produce-unsat-assumptions |
3339 |
|
solver.setOption("produce-unsat-assumptions", "false"); break; |
3340 |
4 |
case 966: // --produce-unsat-cores |
3341 |
4 |
solver.setOption("produce-unsat-cores", "true"); break; |
3342 |
1 |
case 967: // --no-produce-unsat-cores |
3343 |
1 |
solver.setOption("produce-unsat-cores", "false"); break; |
3344 |
1 |
case 968: // --repeat-simp |
3345 |
1 |
solver.setOption("repeat-simp", "true"); break; |
3346 |
|
case 969: // --no-repeat-simp |
3347 |
|
solver.setOption("repeat-simp", "false"); break; |
3348 |
|
case 970: // --simp-ite-compress |
3349 |
|
solver.setOption("simp-ite-compress", "true"); break; |
3350 |
|
case 971: // --no-simp-ite-compress |
3351 |
|
solver.setOption("simp-ite-compress", "false"); break; |
3352 |
|
case 972: // --simp-ite-hunt-zombies |
3353 |
|
solver.setOption("simp-ite-hunt-zombies", optionarg); break; |
3354 |
|
case 973: // --simp-with-care |
3355 |
|
solver.setOption("simp-with-care", "true"); break; |
3356 |
|
case 974: // --no-simp-with-care |
3357 |
|
solver.setOption("simp-with-care", "false"); break; |
3358 |
21 |
case 975: // --simplification |
3359 |
|
case 976: // --simplification-mode |
3360 |
21 |
solver.setOption("simplification", optionarg); break; |
3361 |
73 |
case 977: // --solve-bv-as-int |
3362 |
73 |
solver.setOption("solve-bv-as-int", optionarg); break; |
3363 |
13 |
case 978: // --solve-int-as-bv |
3364 |
13 |
solver.setOption("solve-int-as-bv", optionarg); break; |
3365 |
9 |
case 979: // --solve-real-as-int |
3366 |
9 |
solver.setOption("solve-real-as-int", "true"); break; |
3367 |
|
case 980: // --no-solve-real-as-int |
3368 |
|
solver.setOption("solve-real-as-int", "false"); break; |
3369 |
18 |
case 981: // --sort-inference |
3370 |
18 |
solver.setOption("sort-inference", "true"); break; |
3371 |
|
case 982: // --no-sort-inference |
3372 |
|
solver.setOption("sort-inference", "false"); break; |
3373 |
|
case 983: // --static-learning |
3374 |
|
solver.setOption("static-learning", "true"); break; |
3375 |
|
case 984: // --no-static-learning |
3376 |
|
solver.setOption("static-learning", "false"); break; |
3377 |
185 |
case 985: // --sygus-out |
3378 |
185 |
solver.setOption("sygus-out", optionarg); break; |
3379 |
88 |
case 986: // --unconstrained-simp |
3380 |
88 |
solver.setOption("unconstrained-simp", "true"); break; |
3381 |
1 |
case 987: // --no-unconstrained-simp |
3382 |
1 |
solver.setOption("unconstrained-simp", "false"); break; |
3383 |
2 |
case 988: // --unsat-cores-mode |
3384 |
2 |
solver.setOption("unsat-cores-mode", optionarg); break; |
3385 |
15 |
case 989: // --re-elim |
3386 |
15 |
solver.setOption("re-elim", "true"); break; |
3387 |
6 |
case 990: // --no-re-elim |
3388 |
6 |
solver.setOption("re-elim", "false"); break; |
3389 |
8 |
case 991: // --re-elim-agg |
3390 |
8 |
solver.setOption("re-elim-agg", "true"); break; |
3391 |
|
case 992: // --no-re-elim-agg |
3392 |
|
solver.setOption("re-elim-agg", "false"); break; |
3393 |
|
case 993: // --re-inter-mode |
3394 |
|
solver.setOption("re-inter-mode", optionarg); break; |
3395 |
|
case 994: // --strings-check-entail-len |
3396 |
|
solver.setOption("strings-check-entail-len", "true"); break; |
3397 |
|
case 995: // --no-strings-check-entail-len |
3398 |
|
solver.setOption("strings-check-entail-len", "false"); break; |
3399 |
|
case 996: // --strings-deq-ext |
3400 |
|
solver.setOption("strings-deq-ext", "true"); break; |
3401 |
|
case 997: // --no-strings-deq-ext |
3402 |
|
solver.setOption("strings-deq-ext", "false"); break; |
3403 |
2 |
case 998: // --strings-eager |
3404 |
2 |
solver.setOption("strings-eager", "true"); break; |
3405 |
|
case 999: // --no-strings-eager |
3406 |
|
solver.setOption("strings-eager", "false"); break; |
3407 |
|
case 1000: // --strings-eager-eval |
3408 |
|
solver.setOption("strings-eager-eval", "true"); break; |
3409 |
|
case 1001: // --no-strings-eager-eval |
3410 |
|
solver.setOption("strings-eager-eval", "false"); break; |
3411 |
|
case 1002: // --strings-eager-len |
3412 |
|
solver.setOption("strings-eager-len", "true"); break; |
3413 |
|
case 1003: // --no-strings-eager-len |
3414 |
|
solver.setOption("strings-eager-len", "false"); break; |
3415 |
214 |
case 1004: // --strings-exp |
3416 |
214 |
solver.setOption("strings-exp", "true"); break; |
3417 |
|
case 1005: // --no-strings-exp |
3418 |
|
solver.setOption("strings-exp", "false"); break; |
3419 |
|
case 1006: // --strings-ff |
3420 |
|
solver.setOption("strings-ff", "true"); break; |
3421 |
|
case 1007: // --no-strings-ff |
3422 |
|
solver.setOption("strings-ff", "false"); break; |
3423 |
19 |
case 1008: // --strings-fmf |
3424 |
19 |
solver.setOption("strings-fmf", "true"); break; |
3425 |
|
case 1009: // --no-strings-fmf |
3426 |
|
solver.setOption("strings-fmf", "false"); break; |
3427 |
|
case 1010: // --strings-guess-model |
3428 |
|
solver.setOption("strings-guess-model", "true"); break; |
3429 |
|
case 1011: // --no-strings-guess-model |
3430 |
|
solver.setOption("strings-guess-model", "false"); break; |
3431 |
|
case 1012: // --strings-infer-as-lemmas |
3432 |
|
solver.setOption("strings-infer-as-lemmas", "true"); break; |
3433 |
|
case 1013: // --no-strings-infer-as-lemmas |
3434 |
|
solver.setOption("strings-infer-as-lemmas", "false"); break; |
3435 |
|
case 1014: // --strings-infer-sym |
3436 |
|
solver.setOption("strings-infer-sym", "true"); break; |
3437 |
|
case 1015: // --no-strings-infer-sym |
3438 |
|
solver.setOption("strings-infer-sym", "false"); break; |
3439 |
|
case 1016: // --strings-lazy-pp |
3440 |
|
solver.setOption("strings-lazy-pp", "true"); break; |
3441 |
17 |
case 1017: // --no-strings-lazy-pp |
3442 |
17 |
solver.setOption("strings-lazy-pp", "false"); break; |
3443 |
|
case 1018: // --strings-len-norm |
3444 |
|
solver.setOption("strings-len-norm", "true"); break; |
3445 |
|
case 1019: // --no-strings-len-norm |
3446 |
|
solver.setOption("strings-len-norm", "false"); break; |
3447 |
|
case 1020: // --strings-min-prefix-explain |
3448 |
|
solver.setOption("strings-min-prefix-explain", "true"); break; |
3449 |
|
case 1021: // --no-strings-min-prefix-explain |
3450 |
|
solver.setOption("strings-min-prefix-explain", "false"); break; |
3451 |
|
case 1022: // --strings-process-loop-mode |
3452 |
|
solver.setOption("strings-process-loop-mode", optionarg); break; |
3453 |
|
case 1023: // --strings-rexplain-lemmas |
3454 |
|
solver.setOption("strings-rexplain-lemmas", "true"); break; |
3455 |
|
case 1024: // --no-strings-rexplain-lemmas |
3456 |
|
solver.setOption("strings-rexplain-lemmas", "false"); break; |
3457 |
|
case 1025: // --strings-unified-vspt |
3458 |
|
solver.setOption("strings-unified-vspt", "true"); break; |
3459 |
|
case 1026: // --no-strings-unified-vspt |
3460 |
|
solver.setOption("strings-unified-vspt", "false"); break; |
3461 |
|
case 1027: // --assign-function-values |
3462 |
|
solver.setOption("assign-function-values", "true"); break; |
3463 |
|
case 1028: // --no-assign-function-values |
3464 |
|
solver.setOption("assign-function-values", "false"); break; |
3465 |
|
case 1029: // --condense-function-values |
3466 |
|
solver.setOption("condense-function-values", "true"); break; |
3467 |
|
case 1030: // --no-condense-function-values |
3468 |
|
solver.setOption("condense-function-values", "false"); break; |
3469 |
28 |
case 1031: // --ee-mode |
3470 |
28 |
solver.setOption("ee-mode", optionarg); break; |
3471 |
|
case 1032: // --relevance-filter |
3472 |
|
solver.setOption("relevance-filter", "true"); break; |
3473 |
|
case 1033: // --no-relevance-filter |
3474 |
|
solver.setOption("relevance-filter", "false"); break; |
3475 |
|
case 1034: // --tc-mode |
3476 |
|
solver.setOption("tc-mode", optionarg); break; |
3477 |
3 |
case 1035: // --theoryof-mode |
3478 |
3 |
solver.setOption("theoryof-mode", optionarg); break; |
3479 |
|
case 1036: // --symmetry-breaker |
3480 |
|
case 1037: // --uf-symmetry-breaker |
3481 |
|
solver.setOption("symmetry-breaker", "true"); break; |
3482 |
|
case 1038: // --no-symmetry-breaker |
3483 |
|
case 1039: // --no-uf-symmetry-breaker |
3484 |
|
solver.setOption("symmetry-breaker", "false"); break; |
3485 |
|
case 1040: // --uf-ho |
3486 |
|
solver.setOption("uf-ho", "true"); break; |
3487 |
|
case 1041: // --no-uf-ho |
3488 |
|
solver.setOption("uf-ho", "false"); break; |
3489 |
|
case 1042: // --uf-ho-ext |
3490 |
|
solver.setOption("uf-ho-ext", "true"); break; |
3491 |
|
case 1043: // --no-uf-ho-ext |
3492 |
|
solver.setOption("uf-ho-ext", "false"); break; |
3493 |
5 |
case 1044: // --uf-ss |
3494 |
5 |
solver.setOption("uf-ss", optionarg); break; |
3495 |
|
case 1045: // --uf-ss-abort-card |
3496 |
|
solver.setOption("uf-ss-abort-card", optionarg); break; |
3497 |
|
case 1046: // --uf-ss-fair |
3498 |
|
solver.setOption("uf-ss-fair", "true"); break; |
3499 |
|
case 1047: // --no-uf-ss-fair |
3500 |
|
solver.setOption("uf-ss-fair", "false"); break; |
3501 |
4 |
case 1048: // --uf-ss-fair-monotone |
3502 |
4 |
solver.setOption("uf-ss-fair-monotone", "true"); break; |
3503 |
|
case 1049: // --no-uf-ss-fair-monotone |
3504 |
|
solver.setOption("uf-ss-fair-monotone", "false"); break; |
3505 |
|
// clang-format on |
3506 |
|
|
3507 |
|
case ':' : |
3508 |
|
// This can be a long or short option, and the way to get at the |
3509 |
|
// name of it is different. |
3510 |
|
throw OptionException(std::string("option `") + option |
3511 |
|
+ "' missing its required argument"); |
3512 |
|
case '?': |
3513 |
|
default: |
3514 |
|
throw OptionException(std::string("can't understand option `") + option |
3515 |
|
+ "'" + suggestCommandLineOptions(option)); |
3516 |
|
} |
3517 |
9736 |
} |
3518 |
|
|
3519 |
11703 |
Debug("options") << "got " << nonoptions.size() << " non-option arguments." |
3520 |
3901 |
<< std::endl; |
3521 |
3901 |
} |
3522 |
|
|
3523 |
|
/** |
3524 |
|
* Parse argc/argv and put the result into a cvc5::Options. |
3525 |
|
* The return value is what's left of the command line (that is, the |
3526 |
|
* non-option arguments). |
3527 |
|
* |
3528 |
|
* Throws OptionException on failures. |
3529 |
|
*/ |
3530 |
6530 |
std::vector<std::string> parse(api::Solver& solver, |
3531 |
|
int argc, |
3532 |
|
char* argv[], |
3533 |
|
std::string& binaryName) |
3534 |
|
{ |
3535 |
6530 |
Assert(argv != nullptr); |
3536 |
|
|
3537 |
6530 |
const char* progName = argv[0]; |
3538 |
|
|
3539 |
|
// To debug options parsing, you may prefer to simply uncomment this |
3540 |
|
// and recompile. Debug flags have not been parsed yet so these have |
3541 |
|
// not been set. |
3542 |
|
// DebugChannel.on("options"); |
3543 |
|
|
3544 |
6530 |
Debug("options") << "argv == " << argv << std::endl; |
3545 |
|
|
3546 |
|
// Find the base name of the program. |
3547 |
6530 |
const char* x = strrchr(progName, '/'); |
3548 |
6530 |
if (x != nullptr) |
3549 |
|
{ |
3550 |
6530 |
progName = x + 1; |
3551 |
|
} |
3552 |
6530 |
binaryName = std::string(progName); |
3553 |
|
|
3554 |
6530 |
std::vector<std::string> nonoptions; |
3555 |
6530 |
parseInternal(solver, argc, argv, nonoptions); |
3556 |
3901 |
if (Debug.isOn("options")) |
3557 |
|
{ |
3558 |
|
for (const auto& no : nonoptions) |
3559 |
|
{ |
3560 |
|
Debug("options") << "nonoptions " << no << std::endl; |
3561 |
|
} |
3562 |
|
} |
3563 |
|
|
3564 |
3901 |
return nonoptions; |
3565 |
|
} |
3566 |
|
|
3567 |
45492 |
} // namespace cvc5::options |