GCC Code Coverage Report
Directory: . Exec Total Coverage
File: build-coverage/src/options/smt_options.h Lines: 87 89 97.8 %
Date: 2021-08-06 Branches: 0 0 0.0 %

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