GCC Code Coverage Report
Directory: . Exec Total Coverage
File: build-coverage/src/options/smt_options.h Lines: 87 95 91.6 %
Date: 2021-08-01 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
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 */