1 |
|
/****************************************************************************** |
2 |
|
* Top contributors (to current version): |
3 |
|
* Mathias Preiner, Aina Niemetz |
4 |
|
* |
5 |
|
* This file is part of the cvc5 project. |
6 |
|
* |
7 |
|
* Copyright (c) 2009-2021 by the authors listed in the file AUTHORS |
8 |
|
* in the top-level source directory and their institutional affiliations. |
9 |
|
* All rights reserved. See the file COPYING in the top-level source |
10 |
|
* directory for licensing information. |
11 |
|
* **************************************************************************** |
12 |
|
* |
13 |
|
* Contains code for handling command-line options. |
14 |
|
* |
15 |
|
* For each <module>_options.toml configuration file, mkoptions.py |
16 |
|
* expands this template and generates a <module>_options.h file. |
17 |
|
*/ |
18 |
|
|
19 |
|
#include "cvc5_private.h" |
20 |
|
|
21 |
|
#ifndef CVC5__OPTIONS__SMT_H |
22 |
|
#define CVC5__OPTIONS__SMT_H |
23 |
|
|
24 |
|
#include "options/options.h" |
25 |
|
|
26 |
|
// clang-format off |
27 |
|
|
28 |
|
// clang-format on |
29 |
|
|
30 |
|
namespace cvc5 { |
31 |
|
namespace options { |
32 |
|
|
33 |
|
// clang-format off |
34 |
|
|
35 |
|
enum class BlockModelsMode |
36 |
|
{ |
37 |
|
LITERALS, |
38 |
|
VALUES, |
39 |
|
NONE |
40 |
|
}; |
41 |
|
|
42 |
|
static constexpr size_t BlockModelsMode__numValues = 3; |
43 |
|
|
44 |
|
std::ostream& operator<<(std::ostream& os, BlockModelsMode mode); |
45 |
|
BlockModelsMode stringToBlockModelsMode(const std::string& optarg); |
46 |
|
enum class IandMode |
47 |
|
{ |
48 |
|
VALUE, |
49 |
|
SUM, |
50 |
|
BITWISE |
51 |
|
}; |
52 |
|
|
53 |
|
static constexpr size_t IandMode__numValues = 3; |
54 |
|
|
55 |
|
std::ostream& operator<<(std::ostream& os, IandMode mode); |
56 |
|
IandMode stringToIandMode(const std::string& optarg); |
57 |
|
enum class ModelCoresMode |
58 |
|
{ |
59 |
|
SIMPLE, |
60 |
|
NON_IMPLIED, |
61 |
|
NONE |
62 |
|
}; |
63 |
|
|
64 |
|
static constexpr size_t ModelCoresMode__numValues = 3; |
65 |
|
|
66 |
|
std::ostream& operator<<(std::ostream& os, ModelCoresMode mode); |
67 |
|
ModelCoresMode stringToModelCoresMode(const std::string& optarg); |
68 |
|
enum class ModelUninterpPrintMode |
69 |
|
{ |
70 |
|
None, |
71 |
|
DeclFun, |
72 |
|
DeclSortAndFun, |
73 |
|
DtEnum |
74 |
|
}; |
75 |
|
|
76 |
|
static constexpr size_t ModelUninterpPrintMode__numValues = 4; |
77 |
|
|
78 |
|
std::ostream& operator<<(std::ostream& os, ModelUninterpPrintMode mode); |
79 |
|
ModelUninterpPrintMode stringToModelUninterpPrintMode(const std::string& optarg); |
80 |
|
enum class ProduceInterpols |
81 |
|
{ |
82 |
|
ALL, |
83 |
|
ASSUMPTIONS, |
84 |
|
CONJECTURE, |
85 |
|
DEFAULT, |
86 |
|
NONE, |
87 |
|
SHARED |
88 |
|
}; |
89 |
|
|
90 |
|
static constexpr size_t ProduceInterpols__numValues = 6; |
91 |
|
|
92 |
|
std::ostream& operator<<(std::ostream& os, ProduceInterpols mode); |
93 |
|
ProduceInterpols stringToProduceInterpols(const std::string& optarg); |
94 |
|
enum class SimplificationMode |
95 |
|
{ |
96 |
|
BATCH, |
97 |
|
NONE |
98 |
|
}; |
99 |
|
|
100 |
|
static constexpr size_t SimplificationMode__numValues = 2; |
101 |
|
|
102 |
|
std::ostream& operator<<(std::ostream& os, SimplificationMode mode); |
103 |
|
SimplificationMode stringToSimplificationMode(const std::string& optarg); |
104 |
|
enum class SolveBVAsIntMode |
105 |
|
{ |
106 |
|
BV, |
107 |
|
IAND, |
108 |
|
OFF, |
109 |
|
SUM |
110 |
|
}; |
111 |
|
|
112 |
|
static constexpr size_t SolveBVAsIntMode__numValues = 4; |
113 |
|
|
114 |
|
std::ostream& operator<<(std::ostream& os, SolveBVAsIntMode mode); |
115 |
|
SolveBVAsIntMode stringToSolveBVAsIntMode(const std::string& optarg); |
116 |
|
enum class SygusSolutionOutMode |
117 |
|
{ |
118 |
|
STANDARD, |
119 |
|
STATUS_OR_DEF, |
120 |
|
STATUS, |
121 |
|
STATUS_AND_DEF |
122 |
|
}; |
123 |
|
|
124 |
|
static constexpr size_t SygusSolutionOutMode__numValues = 4; |
125 |
|
|
126 |
|
std::ostream& operator<<(std::ostream& os, SygusSolutionOutMode mode); |
127 |
|
SygusSolutionOutMode stringToSygusSolutionOutMode(const std::string& optarg); |
128 |
|
enum class UnsatCoresMode |
129 |
|
{ |
130 |
|
ASSUMPTIONS, |
131 |
|
SAT_PROOF, |
132 |
|
OFF, |
133 |
|
FULL_PROOF |
134 |
|
}; |
135 |
|
|
136 |
|
static constexpr size_t UnsatCoresMode__numValues = 4; |
137 |
|
|
138 |
|
std::ostream& operator<<(std::ostream& os, UnsatCoresMode mode); |
139 |
|
UnsatCoresMode stringToUnsatCoresMode(const std::string& optarg); |
140 |
|
// clang-format on |
141 |
|
|
142 |
|
#if defined(CVC5_MUZZLED) || defined(CVC5_COMPETITION_MODE) |
143 |
|
# define DO_SEMANTIC_CHECKS_BY_DEFAULT false |
144 |
|
#else /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */ |
145 |
|
# define DO_SEMANTIC_CHECKS_BY_DEFAULT true |
146 |
|
#endif /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */ |
147 |
|
|
148 |
69165 |
struct HolderSMT |
149 |
|
{ |
150 |
|
// clang-format off |
151 |
|
bool abstractValues = false; |
152 |
|
bool abstractValuesWasSetByUser = false; |
153 |
|
bool ackermann = false; |
154 |
|
bool ackermannWasSetByUser = false; |
155 |
|
BlockModelsMode blockModelsMode = BlockModelsMode::NONE; |
156 |
|
bool blockModelsModeWasSetByUser = false; |
157 |
|
uint32_t BVAndIntegerGranularity = 1; |
158 |
|
bool BVAndIntegerGranularityWasSetByUser = false; |
159 |
|
bool checkAbducts = false; |
160 |
|
bool checkAbductsWasSetByUser = false; |
161 |
|
bool checkInterpols = false; |
162 |
|
bool checkInterpolsWasSetByUser = false; |
163 |
|
bool checkModels; |
164 |
|
bool checkModelsWasSetByUser = false; |
165 |
|
bool checkProofs; |
166 |
|
bool checkProofsWasSetByUser = false; |
167 |
|
bool checkSynthSol = false; |
168 |
|
bool checkSynthSolWasSetByUser = false; |
169 |
|
bool checkUnsatCores; |
170 |
|
bool checkUnsatCoresWasSetByUser = false; |
171 |
|
bool debugCheckModels; |
172 |
|
bool debugCheckModelsWasSetByUser = false; |
173 |
|
std::string diagnosticChannelName; |
174 |
|
bool diagnosticChannelNameWasSetByUser = false; |
175 |
|
std::string dumpToFileName; |
176 |
|
bool dumpToFileNameWasSetByUser = false; |
177 |
|
std::string dumpModeString; |
178 |
|
bool dumpModeStringWasSetByUser = false; |
179 |
|
bool earlyIteRemoval = false; |
180 |
|
bool earlyIteRemovalWasSetByUser = false; |
181 |
|
bool expandDefinitions = false; |
182 |
|
bool expandDefinitionsWasSetByUser = false; |
183 |
|
bool extRewPrep = false; |
184 |
|
bool extRewPrepWasSetByUser = false; |
185 |
|
bool extRewPrepAgg = false; |
186 |
|
bool extRewPrepAggWasSetByUser = false; |
187 |
|
bool foreignTheoryRewrite = false; |
188 |
|
bool foreignTheoryRewriteWasSetByUser = false; |
189 |
|
IandMode iandMode = IandMode::VALUE; |
190 |
|
bool iandModeWasSetByUser = false; |
191 |
|
bool interactiveMode; |
192 |
|
bool interactiveModeWasSetByUser = false; |
193 |
|
bool doITESimp; |
194 |
|
bool doITESimpWasSetByUser = false; |
195 |
|
bool learnedRewrite = false; |
196 |
|
bool learnedRewriteWasSetByUser = false; |
197 |
|
bool minimalUnsatCores = false; |
198 |
|
bool minimalUnsatCoresWasSetByUser = false; |
199 |
|
ModelCoresMode modelCoresMode = ModelCoresMode::NONE; |
200 |
|
bool modelCoresModeWasSetByUser = false; |
201 |
|
ModelUninterpPrintMode modelUninterpPrint = ModelUninterpPrintMode::None; |
202 |
|
bool modelUninterpPrintWasSetByUser = false; |
203 |
|
bool modelWitnessValue = false; |
204 |
|
bool modelWitnessValueWasSetByUser = false; |
205 |
|
bool doITESimpOnRepeat = false; |
206 |
|
bool doITESimpOnRepeatWasSetByUser = false; |
207 |
|
bool produceAbducts = false; |
208 |
|
bool produceAbductsWasSetByUser = false; |
209 |
|
bool produceAssertions; |
210 |
|
bool produceAssertionsWasSetByUser = false; |
211 |
|
bool produceAssignments = false; |
212 |
|
bool produceAssignmentsWasSetByUser = false; |
213 |
|
ProduceInterpols produceInterpols = ProduceInterpols::NONE; |
214 |
|
bool produceInterpolsWasSetByUser = false; |
215 |
|
bool produceModels = false; |
216 |
|
bool produceModelsWasSetByUser = false; |
217 |
|
bool produceProofs = false; |
218 |
|
bool produceProofsWasSetByUser = false; |
219 |
|
bool unsatAssumptions = false; |
220 |
|
bool unsatAssumptionsWasSetByUser = false; |
221 |
|
bool unsatCores; |
222 |
|
bool unsatCoresWasSetByUser = false; |
223 |
|
std::string regularChannelName; |
224 |
|
bool regularChannelNameWasSetByUser = false; |
225 |
|
bool repeatSimp; |
226 |
|
bool repeatSimpWasSetByUser = false; |
227 |
|
bool compressItes = false; |
228 |
|
bool compressItesWasSetByUser = false; |
229 |
|
uint32_t zombieHuntThreshold = 524288; |
230 |
|
bool zombieHuntThresholdWasSetByUser = false; |
231 |
|
bool simplifyWithCareEnabled = false; |
232 |
|
bool simplifyWithCareEnabledWasSetByUser = false; |
233 |
|
SimplificationMode simplificationMode = SimplificationMode::BATCH; |
234 |
|
bool simplificationModeWasSetByUser = false; |
235 |
|
SolveBVAsIntMode solveBVAsInt = SolveBVAsIntMode::OFF; |
236 |
|
bool solveBVAsIntWasSetByUser = false; |
237 |
|
uint32_t solveIntAsBV = 0; |
238 |
|
bool solveIntAsBVWasSetByUser = false; |
239 |
|
bool solveRealAsInt = false; |
240 |
|
bool solveRealAsIntWasSetByUser = false; |
241 |
|
bool sortInference = false; |
242 |
|
bool sortInferenceWasSetByUser = false; |
243 |
|
bool doStaticLearning = true; |
244 |
|
bool doStaticLearningWasSetByUser = false; |
245 |
|
SygusSolutionOutMode sygusOut = SygusSolutionOutMode::STANDARD; |
246 |
|
bool sygusOutWasSetByUser = false; |
247 |
|
bool sygusPrintCallbacks = true; |
248 |
|
bool sygusPrintCallbacksWasSetByUser = false; |
249 |
|
bool unconstrainedSimp = false; |
250 |
|
bool unconstrainedSimpWasSetByUser = false; |
251 |
|
UnsatCoresMode unsatCoresMode = UnsatCoresMode::OFF; |
252 |
|
bool unsatCoresModeWasSetByUser = false; |
253 |
|
// clang-format on |
254 |
|
}; |
255 |
|
|
256 |
|
#undef DO_SEMANTIC_CHECKS_BY_DEFAULT |
257 |
|
|
258 |
|
// clang-format off |
259 |
|
extern struct abstractValues__option_t |
260 |
|
{ |
261 |
|
typedef bool type; |
262 |
|
type operator()() const; |
263 |
|
} thread_local abstractValues; |
264 |
|
extern struct ackermann__option_t |
265 |
|
{ |
266 |
|
typedef bool type; |
267 |
|
type operator()() const; |
268 |
|
} thread_local ackermann; |
269 |
|
extern struct blockModelsMode__option_t |
270 |
|
{ |
271 |
|
typedef BlockModelsMode type; |
272 |
|
type operator()() const; |
273 |
|
} thread_local blockModelsMode; |
274 |
|
extern struct BVAndIntegerGranularity__option_t |
275 |
|
{ |
276 |
|
typedef uint32_t type; |
277 |
|
type operator()() const; |
278 |
|
} thread_local BVAndIntegerGranularity; |
279 |
|
extern struct checkAbducts__option_t |
280 |
|
{ |
281 |
|
typedef bool type; |
282 |
|
type operator()() const; |
283 |
|
} thread_local checkAbducts; |
284 |
|
extern struct checkInterpols__option_t |
285 |
|
{ |
286 |
|
typedef bool type; |
287 |
|
type operator()() const; |
288 |
|
} thread_local checkInterpols; |
289 |
|
extern struct checkModels__option_t |
290 |
|
{ |
291 |
|
typedef bool type; |
292 |
|
type operator()() const; |
293 |
|
} thread_local checkModels; |
294 |
|
extern struct checkProofs__option_t |
295 |
|
{ |
296 |
|
typedef bool type; |
297 |
|
type operator()() const; |
298 |
|
} thread_local checkProofs; |
299 |
|
extern struct checkSynthSol__option_t |
300 |
|
{ |
301 |
|
typedef bool type; |
302 |
|
type operator()() const; |
303 |
|
} thread_local checkSynthSol; |
304 |
|
extern struct checkUnsatCores__option_t |
305 |
|
{ |
306 |
|
typedef bool type; |
307 |
|
type operator()() const; |
308 |
|
} thread_local checkUnsatCores; |
309 |
|
extern struct debugCheckModels__option_t |
310 |
|
{ |
311 |
|
typedef bool type; |
312 |
|
type operator()() const; |
313 |
|
} thread_local debugCheckModels; |
314 |
|
extern struct diagnosticChannelName__option_t |
315 |
|
{ |
316 |
|
typedef std::string type; |
317 |
|
type operator()() const; |
318 |
|
} thread_local diagnosticChannelName; |
319 |
|
extern struct dumpToFileName__option_t |
320 |
|
{ |
321 |
|
typedef std::string type; |
322 |
|
type operator()() const; |
323 |
|
} thread_local dumpToFileName; |
324 |
|
extern struct dumpModeString__option_t |
325 |
|
{ |
326 |
|
typedef std::string type; |
327 |
|
type operator()() const; |
328 |
|
} thread_local dumpModeString; |
329 |
|
extern struct earlyIteRemoval__option_t |
330 |
|
{ |
331 |
|
typedef bool type; |
332 |
|
type operator()() const; |
333 |
|
} thread_local earlyIteRemoval; |
334 |
|
extern struct expandDefinitions__option_t |
335 |
|
{ |
336 |
|
typedef bool type; |
337 |
|
type operator()() const; |
338 |
|
} thread_local expandDefinitions; |
339 |
|
extern struct extRewPrep__option_t |
340 |
|
{ |
341 |
|
typedef bool type; |
342 |
|
type operator()() const; |
343 |
|
} thread_local extRewPrep; |
344 |
|
extern struct extRewPrepAgg__option_t |
345 |
|
{ |
346 |
|
typedef bool type; |
347 |
|
type operator()() const; |
348 |
|
} thread_local extRewPrepAgg; |
349 |
|
extern struct foreignTheoryRewrite__option_t |
350 |
|
{ |
351 |
|
typedef bool type; |
352 |
|
type operator()() const; |
353 |
|
} thread_local foreignTheoryRewrite; |
354 |
|
extern struct iandMode__option_t |
355 |
|
{ |
356 |
|
typedef IandMode type; |
357 |
|
type operator()() const; |
358 |
|
} thread_local iandMode; |
359 |
|
extern struct interactiveMode__option_t |
360 |
|
{ |
361 |
|
typedef bool type; |
362 |
|
type operator()() const; |
363 |
|
} thread_local interactiveMode; |
364 |
|
extern struct doITESimp__option_t |
365 |
|
{ |
366 |
|
typedef bool type; |
367 |
|
type operator()() const; |
368 |
|
} thread_local doITESimp; |
369 |
|
extern struct learnedRewrite__option_t |
370 |
|
{ |
371 |
|
typedef bool type; |
372 |
|
type operator()() const; |
373 |
|
} thread_local learnedRewrite; |
374 |
|
extern struct minimalUnsatCores__option_t |
375 |
|
{ |
376 |
|
typedef bool type; |
377 |
|
type operator()() const; |
378 |
|
} thread_local minimalUnsatCores; |
379 |
|
extern struct modelCoresMode__option_t |
380 |
|
{ |
381 |
|
typedef ModelCoresMode type; |
382 |
|
type operator()() const; |
383 |
|
} thread_local modelCoresMode; |
384 |
|
extern struct modelUninterpPrint__option_t |
385 |
|
{ |
386 |
|
typedef ModelUninterpPrintMode type; |
387 |
|
type operator()() const; |
388 |
|
} thread_local modelUninterpPrint; |
389 |
|
extern struct modelWitnessValue__option_t |
390 |
|
{ |
391 |
|
typedef bool type; |
392 |
|
type operator()() const; |
393 |
|
} thread_local modelWitnessValue; |
394 |
|
extern struct doITESimpOnRepeat__option_t |
395 |
|
{ |
396 |
|
typedef bool type; |
397 |
|
type operator()() const; |
398 |
|
} thread_local doITESimpOnRepeat; |
399 |
|
extern struct produceAbducts__option_t |
400 |
|
{ |
401 |
|
typedef bool type; |
402 |
|
type operator()() const; |
403 |
|
} thread_local produceAbducts; |
404 |
|
extern struct produceAssertions__option_t |
405 |
|
{ |
406 |
|
typedef bool type; |
407 |
|
type operator()() const; |
408 |
|
} thread_local produceAssertions; |
409 |
|
extern struct produceAssignments__option_t |
410 |
|
{ |
411 |
|
typedef bool type; |
412 |
|
type operator()() const; |
413 |
|
} thread_local produceAssignments; |
414 |
|
extern struct produceInterpols__option_t |
415 |
|
{ |
416 |
|
typedef ProduceInterpols type; |
417 |
|
type operator()() const; |
418 |
|
} thread_local produceInterpols; |
419 |
|
extern struct produceModels__option_t |
420 |
|
{ |
421 |
|
typedef bool type; |
422 |
|
type operator()() const; |
423 |
|
} thread_local produceModels; |
424 |
|
extern struct produceProofs__option_t |
425 |
|
{ |
426 |
|
typedef bool type; |
427 |
|
type operator()() const; |
428 |
|
} thread_local produceProofs; |
429 |
|
extern struct unsatAssumptions__option_t |
430 |
|
{ |
431 |
|
typedef bool type; |
432 |
|
type operator()() const; |
433 |
|
} thread_local unsatAssumptions; |
434 |
|
extern struct unsatCores__option_t |
435 |
|
{ |
436 |
|
typedef bool type; |
437 |
|
type operator()() const; |
438 |
|
} thread_local unsatCores; |
439 |
|
extern struct regularChannelName__option_t |
440 |
|
{ |
441 |
|
typedef std::string type; |
442 |
|
type operator()() const; |
443 |
|
} thread_local regularChannelName; |
444 |
|
extern struct repeatSimp__option_t |
445 |
|
{ |
446 |
|
typedef bool type; |
447 |
|
type operator()() const; |
448 |
|
} thread_local repeatSimp; |
449 |
|
extern struct compressItes__option_t |
450 |
|
{ |
451 |
|
typedef bool type; |
452 |
|
type operator()() const; |
453 |
|
} thread_local compressItes; |
454 |
|
extern struct zombieHuntThreshold__option_t |
455 |
|
{ |
456 |
|
typedef uint32_t type; |
457 |
|
type operator()() const; |
458 |
|
} thread_local zombieHuntThreshold; |
459 |
|
extern struct simplifyWithCareEnabled__option_t |
460 |
|
{ |
461 |
|
typedef bool type; |
462 |
|
type operator()() const; |
463 |
|
} thread_local simplifyWithCareEnabled; |
464 |
|
extern struct simplificationMode__option_t |
465 |
|
{ |
466 |
|
typedef SimplificationMode type; |
467 |
|
type operator()() const; |
468 |
|
} thread_local simplificationMode; |
469 |
|
extern struct solveBVAsInt__option_t |
470 |
|
{ |
471 |
|
typedef SolveBVAsIntMode type; |
472 |
|
type operator()() const; |
473 |
|
} thread_local solveBVAsInt; |
474 |
|
extern struct solveIntAsBV__option_t |
475 |
|
{ |
476 |
|
typedef uint32_t type; |
477 |
|
type operator()() const; |
478 |
|
} thread_local solveIntAsBV; |
479 |
|
extern struct solveRealAsInt__option_t |
480 |
|
{ |
481 |
|
typedef bool type; |
482 |
|
type operator()() const; |
483 |
|
} thread_local solveRealAsInt; |
484 |
|
extern struct sortInference__option_t |
485 |
|
{ |
486 |
|
typedef bool type; |
487 |
|
type operator()() const; |
488 |
|
} thread_local sortInference; |
489 |
|
extern struct doStaticLearning__option_t |
490 |
|
{ |
491 |
|
typedef bool type; |
492 |
|
type operator()() const; |
493 |
|
} thread_local doStaticLearning; |
494 |
|
extern struct sygusOut__option_t |
495 |
|
{ |
496 |
|
typedef SygusSolutionOutMode type; |
497 |
|
type operator()() const; |
498 |
|
} thread_local sygusOut; |
499 |
|
extern struct sygusPrintCallbacks__option_t |
500 |
|
{ |
501 |
|
typedef bool type; |
502 |
|
type operator()() const; |
503 |
|
} thread_local sygusPrintCallbacks; |
504 |
|
extern struct unconstrainedSimp__option_t |
505 |
|
{ |
506 |
|
typedef bool type; |
507 |
|
type operator()() const; |
508 |
|
} thread_local unconstrainedSimp; |
509 |
|
extern struct unsatCoresMode__option_t |
510 |
|
{ |
511 |
|
typedef UnsatCoresMode type; |
512 |
|
type operator()() const; |
513 |
|
} thread_local unsatCoresMode; |
514 |
|
// clang-format on |
515 |
|
|
516 |
|
namespace smt |
517 |
|
{ |
518 |
|
// clang-format off |
519 |
|
static constexpr const char* abstractValues__name = "abstract-values"; |
520 |
|
static constexpr const char* ackermann__name = "ackermann"; |
521 |
|
static constexpr const char* blockModelsMode__name = "block-models"; |
522 |
|
static constexpr const char* BVAndIntegerGranularity__name = "bvand-integer-granularity"; |
523 |
|
static constexpr const char* checkAbducts__name = "check-abducts"; |
524 |
|
static constexpr const char* checkInterpols__name = "check-interpols"; |
525 |
|
static constexpr const char* checkModels__name = "check-models"; |
526 |
|
static constexpr const char* checkProofs__name = "check-proofs"; |
527 |
|
static constexpr const char* checkSynthSol__name = "check-synth-sol"; |
528 |
|
static constexpr const char* checkUnsatCores__name = "check-unsat-cores"; |
529 |
|
static constexpr const char* debugCheckModels__name = "debug-check-models"; |
530 |
|
static constexpr const char* diagnosticChannelName__name = "diagnostic-output-channel"; |
531 |
|
static constexpr const char* dumpToFileName__name = "dump-to"; |
532 |
|
static constexpr const char* dumpModeString__name = "dump"; |
533 |
|
static constexpr const char* earlyIteRemoval__name = "early-ite-removal"; |
534 |
|
static constexpr const char* expandDefinitions__name = "expand-definitions"; |
535 |
|
static constexpr const char* extRewPrep__name = "ext-rew-prep"; |
536 |
|
static constexpr const char* extRewPrepAgg__name = "ext-rew-prep-agg"; |
537 |
|
static constexpr const char* foreignTheoryRewrite__name = "foreign-theory-rewrite"; |
538 |
|
static constexpr const char* iandMode__name = "iand-mode"; |
539 |
|
static constexpr const char* interactiveMode__name = "interactive-mode"; |
540 |
|
static constexpr const char* doITESimp__name = "ite-simp"; |
541 |
|
static constexpr const char* learnedRewrite__name = "learned-rewrite"; |
542 |
|
static constexpr const char* minimalUnsatCores__name = "minimal-unsat-cores"; |
543 |
|
static constexpr const char* modelCoresMode__name = "model-cores"; |
544 |
|
static constexpr const char* modelUninterpPrint__name = "model-u-print"; |
545 |
|
static constexpr const char* modelWitnessValue__name = "model-witness-value"; |
546 |
|
static constexpr const char* doITESimpOnRepeat__name = "on-repeat-ite-simp"; |
547 |
|
static constexpr const char* produceAbducts__name = "produce-abducts"; |
548 |
|
static constexpr const char* produceAssertions__name = "produce-assertions"; |
549 |
|
static constexpr const char* produceAssignments__name = "produce-assignments"; |
550 |
|
static constexpr const char* produceInterpols__name = "produce-interpols"; |
551 |
|
static constexpr const char* produceModels__name = "produce-models"; |
552 |
|
static constexpr const char* produceProofs__name = "produce-proofs"; |
553 |
|
static constexpr const char* unsatAssumptions__name = "produce-unsat-assumptions"; |
554 |
|
static constexpr const char* unsatCores__name = "produce-unsat-cores"; |
555 |
|
static constexpr const char* regularChannelName__name = "regular-output-channel"; |
556 |
|
static constexpr const char* repeatSimp__name = "repeat-simp"; |
557 |
|
static constexpr const char* compressItes__name = "simp-ite-compress"; |
558 |
|
static constexpr const char* zombieHuntThreshold__name = "simp-ite-hunt-zombies"; |
559 |
|
static constexpr const char* simplifyWithCareEnabled__name = "simp-with-care"; |
560 |
|
static constexpr const char* simplificationMode__name = "simplification"; |
561 |
|
static constexpr const char* solveBVAsInt__name = "solve-bv-as-int"; |
562 |
|
static constexpr const char* solveIntAsBV__name = "solve-int-as-bv"; |
563 |
|
static constexpr const char* solveRealAsInt__name = "solve-real-as-int"; |
564 |
|
static constexpr const char* sortInference__name = "sort-inference"; |
565 |
|
static constexpr const char* doStaticLearning__name = "static-learning"; |
566 |
|
static constexpr const char* sygusOut__name = "sygus-out"; |
567 |
|
static constexpr const char* sygusPrintCallbacks__name = "sygus-print-callbacks"; |
568 |
|
static constexpr const char* unconstrainedSimp__name = "unconstrained-simp"; |
569 |
|
static constexpr const char* unsatCoresMode__name = "unsat-cores-mode"; |
570 |
|
// clang-format on |
571 |
|
} |
572 |
|
|
573 |
|
} // namespace options |
574 |
|
|
575 |
|
// clang-format off |
576 |
|
|
577 |
|
// clang-format on |
578 |
|
|
579 |
|
namespace options { |
580 |
|
// clang-format off |
581 |
8 |
inline bool abstractValues__option_t::operator()() const |
582 |
8 |
{ return Options::current().smt.abstractValues; } |
583 |
33410 |
inline bool ackermann__option_t::operator()() const |
584 |
33410 |
{ return Options::current().smt.ackermann; } |
585 |
7403 |
inline BlockModelsMode blockModelsMode__option_t::operator()() const |
586 |
7403 |
{ return Options::current().smt.blockModelsMode; } |
587 |
206 |
inline uint32_t BVAndIntegerGranularity__option_t::operator()() const |
588 |
206 |
{ return Options::current().smt.BVAndIntegerGranularity; } |
589 |
14 |
inline bool checkAbducts__option_t::operator()() const |
590 |
14 |
{ return Options::current().smt.checkAbducts; } |
591 |
10 |
inline bool checkInterpols__option_t::operator()() const |
592 |
10 |
{ return Options::current().smt.checkInterpols; } |
593 |
41501 |
inline bool checkModels__option_t::operator()() const |
594 |
41501 |
{ return Options::current().smt.checkModels; } |
595 |
9839 |
inline bool checkProofs__option_t::operator()() const |
596 |
9839 |
{ return Options::current().smt.checkProofs; } |
597 |
8737 |
inline bool checkSynthSol__option_t::operator()() const |
598 |
8737 |
{ return Options::current().smt.checkSynthSol; } |
599 |
9839 |
inline bool checkUnsatCores__option_t::operator()() const |
600 |
9839 |
{ return Options::current().smt.checkUnsatCores; } |
601 |
12573 |
inline bool debugCheckModels__option_t::operator()() const |
602 |
12573 |
{ return Options::current().smt.debugCheckModels; } |
603 |
|
inline std::string diagnosticChannelName__option_t::operator()() const |
604 |
|
{ return Options::current().smt.diagnosticChannelName; } |
605 |
|
inline std::string dumpToFileName__option_t::operator()() const |
606 |
|
{ return Options::current().smt.dumpToFileName; } |
607 |
|
inline std::string dumpModeString__option_t::operator()() const |
608 |
|
{ return Options::current().smt.dumpModeString; } |
609 |
13732 |
inline bool earlyIteRemoval__option_t::operator()() const |
610 |
13732 |
{ return Options::current().smt.earlyIteRemoval; } |
611 |
|
inline bool expandDefinitions__option_t::operator()() const |
612 |
|
{ return Options::current().smt.expandDefinitions; } |
613 |
13732 |
inline bool extRewPrep__option_t::operator()() const |
614 |
13732 |
{ return Options::current().smt.extRewPrep; } |
615 |
24 |
inline bool extRewPrepAgg__option_t::operator()() const |
616 |
24 |
{ return Options::current().smt.extRewPrepAgg; } |
617 |
13732 |
inline bool foreignTheoryRewrite__option_t::operator()() const |
618 |
13732 |
{ return Options::current().smt.foreignTheoryRewrite; } |
619 |
54 |
inline IandMode iandMode__option_t::operator()() const |
620 |
54 |
{ return Options::current().smt.iandMode; } |
621 |
|
inline bool interactiveMode__option_t::operator()() const |
622 |
|
{ return Options::current().smt.interactiveMode; } |
623 |
25251 |
inline bool doITESimp__option_t::operator()() const |
624 |
25251 |
{ return Options::current().smt.doITESimp; } |
625 |
16251 |
inline bool learnedRewrite__option_t::operator()() const |
626 |
16251 |
{ return Options::current().smt.learnedRewrite; } |
627 |
10089 |
inline bool minimalUnsatCores__option_t::operator()() const |
628 |
10089 |
{ return Options::current().smt.minimalUnsatCores; } |
629 |
7406 |
inline ModelCoresMode modelCoresMode__option_t::operator()() const |
630 |
7406 |
{ return Options::current().smt.modelCoresMode; } |
631 |
45 |
inline ModelUninterpPrintMode modelUninterpPrint__option_t::operator()() const |
632 |
45 |
{ return Options::current().smt.modelUninterpPrint; } |
633 |
27 |
inline bool modelWitnessValue__option_t::operator()() const |
634 |
27 |
{ return Options::current().smt.modelWitnessValue; } |
635 |
|
inline bool doITESimpOnRepeat__option_t::operator()() const |
636 |
|
{ return Options::current().smt.doITESimpOnRepeat; } |
637 |
15630 |
inline bool produceAbducts__option_t::operator()() const |
638 |
15630 |
{ return Options::current().smt.produceAbducts; } |
639 |
15947 |
inline bool produceAssertions__option_t::operator()() const |
640 |
15947 |
{ return Options::current().smt.produceAssertions; } |
641 |
18566 |
inline bool produceAssignments__option_t::operator()() const |
642 |
18566 |
{ return Options::current().smt.produceAssignments; } |
643 |
14718 |
inline ProduceInterpols produceInterpols__option_t::operator()() const |
644 |
14718 |
{ return Options::current().smt.produceInterpols; } |
645 |
45670 |
inline bool produceModels__option_t::operator()() const |
646 |
45670 |
{ return Options::current().smt.produceModels; } |
647 |
37116524 |
inline bool produceProofs__option_t::operator()() const |
648 |
37116524 |
{ return Options::current().smt.produceProofs; } |
649 |
8684 |
inline bool unsatAssumptions__option_t::operator()() const |
650 |
8684 |
{ return Options::current().smt.unsatAssumptions; } |
651 |
13112632 |
inline bool unsatCores__option_t::operator()() const |
652 |
13112632 |
{ return Options::current().smt.unsatCores; } |
653 |
|
inline std::string regularChannelName__option_t::operator()() const |
654 |
|
{ return Options::current().smt.regularChannelName; } |
655 |
29144 |
inline bool repeatSimp__option_t::operator()() const |
656 |
29144 |
{ return Options::current().smt.repeatSimp; } |
657 |
2 |
inline bool compressItes__option_t::operator()() const |
658 |
2 |
{ return Options::current().smt.compressItes; } |
659 |
2 |
inline uint32_t zombieHuntThreshold__option_t::operator()() const |
660 |
2 |
{ return Options::current().smt.zombieHuntThreshold; } |
661 |
2 |
inline bool simplifyWithCareEnabled__option_t::operator()() const |
662 |
2 |
{ return Options::current().smt.simplifyWithCareEnabled; } |
663 |
16969 |
inline SimplificationMode simplificationMode__option_t::operator()() const |
664 |
16969 |
{ return Options::current().smt.simplificationMode; } |
665 |
33490 |
inline SolveBVAsIntMode solveBVAsInt__option_t::operator()() const |
666 |
33490 |
{ return Options::current().smt.solveBVAsInt; } |
667 |
39397 |
inline uint32_t solveIntAsBV__option_t::operator()() const |
668 |
39397 |
{ return Options::current().smt.solveIntAsBV; } |
669 |
28906 |
inline bool solveRealAsInt__option_t::operator()() const |
670 |
28906 |
{ return Options::current().smt.solveRealAsInt; } |
671 |
35847 |
inline bool sortInference__option_t::operator()() const |
672 |
35847 |
{ return Options::current().smt.sortInference; } |
673 |
13732 |
inline bool doStaticLearning__option_t::operator()() const |
674 |
13732 |
{ return Options::current().smt.doStaticLearning; } |
675 |
705 |
inline SygusSolutionOutMode sygusOut__option_t::operator()() const |
676 |
705 |
{ return Options::current().smt.sygusOut; } |
677 |
|
inline bool sygusPrintCallbacks__option_t::operator()() const |
678 |
|
{ return Options::current().smt.sygusPrintCallbacks; } |
679 |
30856 |
inline bool unconstrainedSimp__option_t::operator()() const |
680 |
30856 |
{ return Options::current().smt.unconstrainedSimp; } |
681 |
1499078 |
inline UnsatCoresMode unsatCoresMode__option_t::operator()() const |
682 |
1499078 |
{ return Options::current().smt.unsatCoresMode; } |
683 |
|
// clang-format on |
684 |
|
|
685 |
|
namespace smt |
686 |
|
{ |
687 |
|
// clang-format off |
688 |
|
void setDefaultAbstractValues(Options& opts, bool value); |
689 |
|
void setDefaultAckermann(Options& opts, bool value); |
690 |
|
void setDefaultBlockModelsMode(Options& opts, BlockModelsMode value); |
691 |
|
void setDefaultBVAndIntegerGranularity(Options& opts, uint32_t value); |
692 |
|
void setDefaultCheckAbducts(Options& opts, bool value); |
693 |
|
void setDefaultCheckInterpols(Options& opts, bool value); |
694 |
|
void setDefaultCheckModels(Options& opts, bool value); |
695 |
|
void setDefaultCheckProofs(Options& opts, bool value); |
696 |
|
void setDefaultCheckSynthSol(Options& opts, bool value); |
697 |
|
void setDefaultCheckUnsatCores(Options& opts, bool value); |
698 |
|
void setDefaultDebugCheckModels(Options& opts, bool value); |
699 |
|
void setDefaultDiagnosticChannelName(Options& opts, std::string value); |
700 |
|
void setDefaultDumpToFileName(Options& opts, std::string value); |
701 |
|
void setDefaultDumpModeString(Options& opts, std::string value); |
702 |
|
void setDefaultEarlyIteRemoval(Options& opts, bool value); |
703 |
|
void setDefaultExpandDefinitions(Options& opts, bool value); |
704 |
|
void setDefaultExtRewPrep(Options& opts, bool value); |
705 |
|
void setDefaultExtRewPrepAgg(Options& opts, bool value); |
706 |
|
void setDefaultForeignTheoryRewrite(Options& opts, bool value); |
707 |
|
void setDefaultIandMode(Options& opts, IandMode value); |
708 |
|
void setDefaultInteractiveMode(Options& opts, bool value); |
709 |
|
void setDefaultDoITESimp(Options& opts, bool value); |
710 |
|
void setDefaultLearnedRewrite(Options& opts, bool value); |
711 |
|
void setDefaultMinimalUnsatCores(Options& opts, bool value); |
712 |
|
void setDefaultModelCoresMode(Options& opts, ModelCoresMode value); |
713 |
|
void setDefaultModelUninterpPrint(Options& opts, ModelUninterpPrintMode value); |
714 |
|
void setDefaultModelWitnessValue(Options& opts, bool value); |
715 |
|
void setDefaultDoITESimpOnRepeat(Options& opts, bool value); |
716 |
|
void setDefaultProduceAbducts(Options& opts, bool value); |
717 |
|
void setDefaultProduceAssertions(Options& opts, bool value); |
718 |
|
void setDefaultProduceAssignments(Options& opts, bool value); |
719 |
|
void setDefaultProduceInterpols(Options& opts, ProduceInterpols value); |
720 |
|
void setDefaultProduceModels(Options& opts, bool value); |
721 |
|
void setDefaultProduceProofs(Options& opts, bool value); |
722 |
|
void setDefaultUnsatAssumptions(Options& opts, bool value); |
723 |
|
void setDefaultUnsatCores(Options& opts, bool value); |
724 |
|
void setDefaultRegularChannelName(Options& opts, std::string value); |
725 |
|
void setDefaultRepeatSimp(Options& opts, bool value); |
726 |
|
void setDefaultCompressItes(Options& opts, bool value); |
727 |
|
void setDefaultZombieHuntThreshold(Options& opts, uint32_t value); |
728 |
|
void setDefaultSimplifyWithCareEnabled(Options& opts, bool value); |
729 |
|
void setDefaultSimplificationMode(Options& opts, SimplificationMode value); |
730 |
|
void setDefaultSolveBVAsInt(Options& opts, SolveBVAsIntMode value); |
731 |
|
void setDefaultSolveIntAsBV(Options& opts, uint32_t value); |
732 |
|
void setDefaultSolveRealAsInt(Options& opts, bool value); |
733 |
|
void setDefaultSortInference(Options& opts, bool value); |
734 |
|
void setDefaultDoStaticLearning(Options& opts, bool value); |
735 |
|
void setDefaultSygusOut(Options& opts, SygusSolutionOutMode value); |
736 |
|
void setDefaultSygusPrintCallbacks(Options& opts, bool value); |
737 |
|
void setDefaultUnconstrainedSimp(Options& opts, bool value); |
738 |
|
void setDefaultUnsatCoresMode(Options& opts, UnsatCoresMode value); |
739 |
|
// clang-format on |
740 |
|
} |
741 |
|
|
742 |
|
} // namespace options |
743 |
|
} // namespace cvc5 |
744 |
|
|
745 |
|
#endif /* CVC5__OPTIONS__SMT_H */ |