3 header = "options/smt_options.h"
6 name = "dumpModeString"
11 notifies = ["notifyDumpMode"]
13 help = "dump preprocessed assertions, etc., see --dump=help"
16 name = "dumpToFileName"
21 notifies = ["notifyDumpToFile"]
23 help = "all dumping goes to FILE (instead of stdout)"
26 name = "simplificationMode"
27 smt_name = "simplification-mode"
29 long = "simplification=MODE"
30 type = "SimplificationMode"
31 default = "SIMPLIFICATION_MODE_BATCH"
32 handler = "stringToSimplificationMode"
33 includes = ["options/smt_modes.h"]
34 help = "choose simplification mode, see --simplification=help"
38 long = "no-simplification"
39 links = ["--simplification=none"]
40 help = "turn off all simplification (same as --simplification=none)"
43 name = "doStaticLearning"
45 long = "static-learning"
49 help = "use static learning (on by default)"
52 name = "expandDefinitions"
53 smt_name = "expand-definitions"
58 help = "always expand symbol definitions in output"
61 name = "produceModels"
64 long = "produce-models"
67 notifies = ["notifyBeforeSearch"]
69 help = "support the get-value and get-model commands"
76 notifies = ["notifyBeforeSearch"]
77 links = ["--produce-models", "--produce-assertions"]
79 help = "after SAT/INVALID/UNKNOWN, check that the generated model satisfies user assertions"
87 links = ["--produce-models"]
89 help = "output models after every SAT/INVALID/UNKNOWN response"
92 name = "modelCoresMode"
94 long = "model-cores=MODE"
95 type = "ModelCoresMode"
96 default = "MODEL_CORES_NONE"
97 handler = "stringToModelCoresMode"
98 includes = ["options/smt_modes.h"]
99 help = "mode for producing model cores"
103 smt_name = "produce-proofs"
108 predicates = ["proofEnabledBuild"]
109 notifies = ["notifyBeforeSearch"]
111 help = "turn on proof generation"
116 long = "check-proofs"
118 predicates = ["LFSCEnabledBuild"]
119 notifies = ["notifyBeforeSearch"]
121 help = "after UNSAT/VALID, machine-check the generated proof"
131 help = "output proofs after every UNSAT/VALID response"
134 name = "dumpInstantiations"
136 long = "dump-instantiations"
140 help = "output instantiations of quantified formulas after every UNSAT/VALID response"
145 long = "sygus-out=MODE"
146 type = "SygusSolutionOutMode"
147 default = "SYGUS_SOL_OUT_STATUS_AND_DEF"
148 handler = "stringToSygusSolutionOutMode"
149 includes = ["options/sygus_out_mode.h"]
150 help = "output mode for sygus"
153 name = "sygusPrintCallbacks"
155 long = "sygus-print-callbacks"
159 help = "use sygus print callbacks to print sygus terms in the user-provided form (disable for debugging)"
167 help = "output solution for synthesis conjectures after every UNSAT/VALID response"
172 long = "produce-unsat-cores"
174 predicates = ["proofEnabledBuild"]
175 notifies = ["notifyBeforeSearch"]
177 help = "turn on unsat core generation"
180 name = "checkUnsatCores"
182 long = "check-unsat-cores"
184 links = ["--produce-unsat-cores"]
185 help = "after UNSAT/VALID, produce and check an unsat core (expensive)"
188 name = "dumpUnsatCores"
190 long = "dump-unsat-cores"
193 notifies = ["notifyBeforeSearch"]
194 links = ["--produce-unsat-cores"]
196 help = "output unsat cores after every UNSAT/VALID response"
199 name = "dumpUnsatCoresFull"
201 long = "dump-unsat-cores-full"
204 notifies = ["notifyBeforeSearch"]
205 links = ["--dump-unsat-cores"]
207 help = "dump the full unsat core, including unlabeled assertions"
210 name = "unsatAssumptions"
212 long = "produce-unsat-assumptions"
215 links = ["--produce-unsat-cores"]
216 predicates = ["proofEnabledBuild"]
217 notifies = ["notifyBeforeSearch"]
219 help = "turn on unsat assumptions generation"
222 name = "checkSynthSol"
224 long = "check-synth-sol"
228 help = "checks whether produced solutions to functions-to-synthesize satisfy the conjecture"
231 name = "produceAssignments"
233 long = "produce-assignments"
236 notifies = ["notifyBeforeSearch"]
238 help = "support the get-assignment command"
241 name = "interactiveMode"
242 smt_name = "interactive-mode"
243 category = "undocumented"
245 predicates = ["setProduceAssertions"]
246 notifies = ["notifyBeforeSearch"]
247 help = "deprecated name for produce-assertions"
250 name = "produceAssertions"
252 long = "produce-assertions"
254 predicates = ["setProduceAssertions"]
255 notifies = ["notifyBeforeSearch"]
256 help = "keep an assertions list (enables get-assertions command)"
263 help = "turn on ite simplification (Kim (and Somenzi) et al., SAT 2009)"
266 name = "doITESimpOnRepeat"
268 long = "on-repeat-ite-simp"
271 help = "do the ite simplification pass again if repeating simplification"
276 long = "ext-rew-prep"
279 help = "use extended rewriter as a preprocessing pass"
282 name = "extRewPrepAgg"
284 long = "ext-rew-prep-agg"
287 help = "use aggressive extended rewriter as a preprocessing pass"
290 name = "simplifyWithCareEnabled"
292 long = "simp-with-care"
295 help = "enables simplifyWithCare in ite simplificiation"
298 name = "compressItes"
300 long = "simp-ite-compress"
303 help = "enables compressing ites after ite simplification"
306 name = "unconstrainedSimp"
308 long = "unconstrained-simp"
311 help = "turn on unconstrained simplification (see Bruttomesso/Brummayer PhD thesis)"
318 help = "make multiple passes with nonclausal simplifier"
321 name = "zombieHuntThreshold"
323 long = "simp-ite-hunt-zombies=N"
327 help = "post ite compression enables zombie removal while the number of nodes is above this threshold"
330 name = "sortInference"
332 long = "sort-inference"
335 help = "calculate sort inference of input problem, convert the input based on monotonic sorts"
338 name = "symmetryBreakerExp"
340 long = "symmetry-breaker-exp"
343 help = "generate symmetry breaking constraints after symmetry detection"
346 name = "incrementalSolving"
353 help = "enable incremental solving"
356 name = "abstractValues"
358 long = "abstract-values"
362 help = "in models, output arrays (and in future, maybe others) using abstract values, as required by the SMT-LIB standard"
365 name = "modelUninterpDtEnum"
367 long = "model-u-dt-enum"
371 help = "in models, output uninterpreted sorts as datatype enumerations"
374 name = "regularChannelName"
375 smt_name = "regular-output-channel"
378 notifies = ["notifySetRegularOutputChannel"]
380 help = "set the regular output channel of the solver"
383 name = "diagnosticChannelName"
384 smt_name = "diagnostic-output-channel"
387 notifies = ["notifySetDiagnosticOutputChannel"]
389 help = "set the diagnostic output channel of the solver"
392 name = "cumulativeMillisecondLimit"
396 type = "unsigned long"
397 handler = "limitHandler"
398 notifies = ["notifyTlimit"]
400 help = "enable time limiting (give milliseconds)"
403 name = "perCallMillisecondLimit"
404 smt_name = "tlimit-per"
406 long = "tlimit-per=MS"
407 type = "unsigned long"
408 handler = "limitHandler"
409 notifies = ["notifyTlimitPer"]
411 help = "enable time limiting per query (give milliseconds)"
414 name = "cumulativeResourceLimit"
418 type = "unsigned long"
419 handler = "limitHandler"
420 notifies = ["notifyRlimit"]
422 help = "enable resource limiting (currently, roughly the number of SAT conflicts)"
425 name = "perCallResourceLimit"
426 smt_name = "reproducible-resource-limit"
428 long = "rlimit-per=N"
429 type = "unsigned long"
430 handler = "limitHandler"
431 notifies = ["notifyRlimitPer"]
433 help = "enable resource limiting per query"
442 help = "the resource limit is hard potentially leaving the smtEngine in an unsafe state (should be destroyed and rebuild after resourcing out)"
451 help = "measures CPU time if set to true and wall time if false (default false)"
456 long = "rewrite-step=N"
460 help = "amount of resources spent for each rewrite step"
463 name = "theoryCheckStep"
465 long = "theory-check-step=N"
469 help = "amount of resources spent for each theory check call"
472 name = "decisionStep"
474 long = "decision-step=N"
478 help = "amount of getNext decision calls in the decision engine"
481 name = "bitblastStep"
483 long = "bitblast-step=N"
487 help = "amount of resources spent for each bitblast step"
492 long = "parse-step=N"
496 help = "amount of resources spent for each command/expression parsing"
501 long = "lemma-step=N"
505 help = "amount of resources spent when adding lemmas"
510 long = "restart-step=N"
514 help = "amount of resources spent for each theory restart"
523 help = "amount of resources spent for each call to cnf conversion"
526 name = "preprocessStep"
528 long = "preprocess-step=N"
532 help = "amount of resources spent for each preprocessing step in SmtEngine"
535 name = "quantifierStep"
537 long = "quantifier-step=N"
541 help = "amount of resources spent for quantifier instantiations"
544 name = "satConflictStep"
546 long = "sat-conflict-step=N"
550 help = "amount of resources spent for each sat conflict (main sat solver)"
553 name = "bvSatConflictStep"
555 long = "bv-sat-conflict-step=N"
559 help = "amount of resources spent for each sat conflict (bitvectors)"
562 name = "rewriteApplyToConst"
564 long = "rewrite-apply-to-const"
568 help = "eliminate function applications, rewriting e.g. f(5) to a new symbol f_5"
570 # --replay is currently broken; don't document it for 1.0
572 name = "replayInputFilename"
573 category = "undocumented"
576 handler = "checkReplayFilename"
578 help = "replay decisions from file"
580 # --replay is currently broken; don't document it for 1.0
582 name = "replayLogFilename"
583 category = "undocumented"
584 long = "replay-log=FILE"
586 handler = "checkReplayFilename"
587 notifies = ["notifySetReplayLogFilename", "notifyBeforeSearch"]
589 help = "replay decisions from file"
592 name = "forceNoLimitCpuWhileDump"
594 long = "force-no-limit-cpu-while-dump"
598 help = "Force no CPU limit when dumping models and proofs"
601 name = "solveIntAsBV"
602 category = "undocumented"
603 long = "solve-int-as-bv=N"
607 help = "attempt to solve a pure integer satisfiable problem by bitblasting in sufficient bitwidth (experimental)"
610 name = "solveRealAsInt"
611 category = "undocumented"
612 long = "solve-real-as-int"
616 help = "attempt to solve a pure real satisfiable problem as an integer problem (for non-linear)"
619 name = "produceAbducts"
620 category = "undocumented"
621 long = "produce-abducts"
625 help = "support the get-abduct command"