GCC Code Coverage Report
Directory: . Exec Total Coverage
File: build-coverage/src/options/quantifiers_options.h Lines: 87 94 92.6 %
Date: 2021-11-07 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__QUANTIFIERS_H
22
#define CVC5__OPTIONS__QUANTIFIERS_H
23
24
#include "options/options.h"
25
26
// clang-format off
27
28
// clang-format on
29
30
namespace cvc5::options {
31
32
// clang-format off
33
enum class CegisSampleMode
34
{
35
  USE, NONE, TRUST,
36
  __MAX_VALUE = TRUST
37
};
38
std::ostream& operator<<(std::ostream& os, CegisSampleMode mode);
39
CegisSampleMode stringToCegisSampleMode(const std::string& optarg);
40
41
enum class CegqiBvIneqMode
42
{
43
  KEEP, EQ_BOUNDARY, EQ_SLACK,
44
  __MAX_VALUE = EQ_SLACK
45
};
46
std::ostream& operator<<(std::ostream& os, CegqiBvIneqMode mode);
47
CegqiBvIneqMode stringToCegqiBvIneqMode(const std::string& optarg);
48
49
enum class InstWhenMode
50
{
51
  LAST_CALL, FULL_LAST_CALL, FULL_DELAY, FULL, FULL_DELAY_LAST_CALL,
52
  __MAX_VALUE = FULL_DELAY_LAST_CALL
53
};
54
std::ostream& operator<<(std::ostream& os, InstWhenMode mode);
55
InstWhenMode stringToInstWhenMode(const std::string& optarg);
56
57
enum class IteLiftQuantMode
58
{
59
  SIMPLE, ALL, NONE,
60
  __MAX_VALUE = NONE
61
};
62
std::ostream& operator<<(std::ostream& os, IteLiftQuantMode mode);
63
IteLiftQuantMode stringToIteLiftQuantMode(const std::string& optarg);
64
65
enum class LiteralMatchMode
66
{
67
  AGG_PREDICATE, USE, NONE, AGG,
68
  __MAX_VALUE = AGG
69
};
70
std::ostream& operator<<(std::ostream& os, LiteralMatchMode mode);
71
LiteralMatchMode stringToLiteralMatchMode(const std::string& optarg);
72
73
enum class MacrosQuantMode
74
{
75
  GROUND_UF, ALL, GROUND,
76
  __MAX_VALUE = GROUND
77
};
78
std::ostream& operator<<(std::ostream& os, MacrosQuantMode mode);
79
MacrosQuantMode stringToMacrosQuantMode(const std::string& optarg);
80
81
enum class MbqiMode
82
{
83
  FMC, NONE, TRUST,
84
  __MAX_VALUE = TRUST
85
};
86
std::ostream& operator<<(std::ostream& os, MbqiMode mode);
87
MbqiMode stringToMbqiMode(const std::string& optarg);
88
89
enum class PrenexQuantMode
90
{
91
  SIMPLE, NORMAL, NONE,
92
  __MAX_VALUE = NONE
93
};
94
std::ostream& operator<<(std::ostream& os, PrenexQuantMode mode);
95
PrenexQuantMode stringToPrenexQuantMode(const std::string& optarg);
96
97
enum class QcfMode
98
{
99
  CONFLICT_ONLY, PARTIAL, PROP_EQ,
100
  __MAX_VALUE = PROP_EQ
101
};
102
std::ostream& operator<<(std::ostream& os, QcfMode mode);
103
QcfMode stringToQcfMode(const std::string& optarg);
104
105
enum class QcfWhenMode
106
{
107
  LAST_CALL, STD, STD_H, DEFAULT,
108
  __MAX_VALUE = DEFAULT
109
};
110
std::ostream& operator<<(std::ostream& os, QcfWhenMode mode);
111
QcfWhenMode stringToQcfWhenMode(const std::string& optarg);
112
113
enum class QuantDSplitMode
114
{
115
  AGG, NONE, DEFAULT,
116
  __MAX_VALUE = DEFAULT
117
};
118
std::ostream& operator<<(std::ostream& os, QuantDSplitMode mode);
119
QuantDSplitMode stringToQuantDSplitMode(const std::string& optarg);
120
121
enum class QuantRepMode
122
{
123
  FIRST, DEPTH, EE,
124
  __MAX_VALUE = EE
125
};
126
std::ostream& operator<<(std::ostream& os, QuantRepMode mode);
127
QuantRepMode stringToQuantRepMode(const std::string& optarg);
128
129
enum class SygusActiveGenMode
130
{
131
  ENUM_BASIC, VAR_AGNOSTIC, AUTO, NONE, ENUM,
132
  __MAX_VALUE = ENUM
133
};
134
std::ostream& operator<<(std::ostream& os, SygusActiveGenMode mode);
135
SygusActiveGenMode stringToSygusActiveGenMode(const std::string& optarg);
136
137
enum class SygusFilterSolMode
138
{
139
  STRONG, NONE, WEAK,
140
  __MAX_VALUE = WEAK
141
};
142
std::ostream& operator<<(std::ostream& os, SygusFilterSolMode mode);
143
SygusFilterSolMode stringToSygusFilterSolMode(const std::string& optarg);
144
145
enum class SygusGrammarConsMode
146
{
147
  ANY_TERM_CONCISE, SIMPLE, ANY_CONST, ANY_TERM,
148
  __MAX_VALUE = ANY_TERM
149
};
150
std::ostream& operator<<(std::ostream& os, SygusGrammarConsMode mode);
151
SygusGrammarConsMode stringToSygusGrammarConsMode(const std::string& optarg);
152
153
enum class SygusInstMode
154
{
155
  INTERLEAVE, PRIORITY_EVAL, PRIORITY_INST,
156
  __MAX_VALUE = PRIORITY_INST
157
};
158
std::ostream& operator<<(std::ostream& os, SygusInstMode mode);
159
SygusInstMode stringToSygusInstMode(const std::string& optarg);
160
161
enum class SygusInstScope
162
{
163
  IN, OUT, BOTH,
164
  __MAX_VALUE = BOTH
165
};
166
std::ostream& operator<<(std::ostream& os, SygusInstScope mode);
167
SygusInstScope stringToSygusInstScope(const std::string& optarg);
168
169
enum class SygusInstTermSelMode
170
{
171
  BOTH, MIN, MAX,
172
  __MAX_VALUE = MAX
173
};
174
std::ostream& operator<<(std::ostream& os, SygusInstTermSelMode mode);
175
SygusInstTermSelMode stringToSygusInstTermSelMode(const std::string& optarg);
176
177
enum class SygusInvTemplMode
178
{
179
  POST, PRE, NONE,
180
  __MAX_VALUE = NONE
181
};
182
std::ostream& operator<<(std::ostream& os, SygusInvTemplMode mode);
183
SygusInvTemplMode stringToSygusInvTemplMode(const std::string& optarg);
184
185
enum class SygusQueryGenMode
186
{
187
  NONE, UNSAT, SAT,
188
  __MAX_VALUE = SAT
189
};
190
std::ostream& operator<<(std::ostream& os, SygusQueryGenMode mode);
191
SygusQueryGenMode stringToSygusQueryGenMode(const std::string& optarg);
192
193
enum class SygusQueryDumpFilesMode
194
{
195
  UNSOLVED, ALL, NONE,
196
  __MAX_VALUE = NONE
197
};
198
std::ostream& operator<<(std::ostream& os, SygusQueryDumpFilesMode mode);
199
SygusQueryDumpFilesMode stringToSygusQueryDumpFilesMode(const std::string& optarg);
200
201
enum class CegqiSingleInvMode
202
{
203
  USE, ALL, NONE,
204
  __MAX_VALUE = NONE
205
};
206
std::ostream& operator<<(std::ostream& os, CegqiSingleInvMode mode);
207
CegqiSingleInvMode stringToCegqiSingleInvMode(const std::string& optarg);
208
209
enum class CegqiSingleInvRconsMode
210
{
211
  ALL_LIMIT, TRY, NONE, ALL,
212
  __MAX_VALUE = ALL
213
};
214
std::ostream& operator<<(std::ostream& os, CegqiSingleInvRconsMode mode);
215
CegqiSingleInvRconsMode stringToCegqiSingleInvRconsMode(const std::string& optarg);
216
217
enum class SygusUnifPiMode
218
{
219
  CENUM_IGAIN, CENUM, COMPLETE, NONE,
220
  __MAX_VALUE = NONE
221
};
222
std::ostream& operator<<(std::ostream& os, SygusUnifPiMode mode);
223
SygusUnifPiMode stringToSygusUnifPiMode(const std::string& optarg);
224
225
enum class TermDbMode
226
{
227
  ALL, RELEVANT,
228
  __MAX_VALUE = RELEVANT
229
};
230
std::ostream& operator<<(std::ostream& os, TermDbMode mode);
231
TermDbMode stringToTermDbMode(const std::string& optarg);
232
233
enum class TriggerActiveSelMode
234
{
235
  MIN, ALL, MAX,
236
  __MAX_VALUE = MAX
237
};
238
std::ostream& operator<<(std::ostream& os, TriggerActiveSelMode mode);
239
TriggerActiveSelMode stringToTriggerActiveSelMode(const std::string& optarg);
240
241
enum class TriggerSelMode
242
{
243
  MIN_SINGLE_MAX, MIN, MAX, ALL, MIN_SINGLE_ALL,
244
  __MAX_VALUE = MIN_SINGLE_ALL
245
};
246
std::ostream& operator<<(std::ostream& os, TriggerSelMode mode);
247
TriggerSelMode stringToTriggerSelMode(const std::string& optarg);
248
249
enum class UserPatMode
250
{
251
  RESORT, STRICT, USE, INTERLEAVE, IGNORE, TRUST,
252
  __MAX_VALUE = TRUST
253
};
254
std::ostream& operator<<(std::ostream& os, UserPatMode mode);
255
UserPatMode stringToUserPatMode(const std::string& optarg);
256
257
// clang-format on
258
259
#if defined(CVC5_MUZZLED) || defined(CVC5_COMPETITION_MODE)
260
#  define DO_SEMANTIC_CHECKS_BY_DEFAULT false
261
#else /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */
262
#  define DO_SEMANTIC_CHECKS_BY_DEFAULT true
263
#endif /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */
264
265
30748
struct HolderQUANTIFIERS
266
{
267
// clang-format off
268
bool aggressiveMiniscopeQuant = false;
269
  bool aggressiveMiniscopeQuantWasSetByUser = false;
270
  CegisSampleMode cegisSample = CegisSampleMode::NONE;
271
  bool cegisSampleWasSetByUser = false;
272
  bool cegqi = false;
273
  bool cegqiWasSetByUser = false;
274
  bool cegqiAll = false;
275
  bool cegqiAllWasSetByUser = false;
276
  bool cegqiBv = true;
277
  bool cegqiBvWasSetByUser = false;
278
  bool cegqiBvConcInv = true;
279
  bool cegqiBvConcInvWasSetByUser = false;
280
  CegqiBvIneqMode cegqiBvIneqMode = CegqiBvIneqMode::EQ_BOUNDARY;
281
  bool cegqiBvIneqModeWasSetByUser = false;
282
  bool cegqiBvInterleaveValue = false;
283
  bool cegqiBvInterleaveValueWasSetByUser = false;
284
  bool cegqiBvLinearize = true;
285
  bool cegqiBvLinearizeWasSetByUser = false;
286
  bool cegqiBvRmExtract = true;
287
  bool cegqiBvRmExtractWasSetByUser = false;
288
  bool cegqiBvSolveNl = false;
289
  bool cegqiBvSolveNlWasSetByUser = false;
290
  bool cegqiFullEffort = false;
291
  bool cegqiFullEffortWasSetByUser = false;
292
  bool cegqiInnermost = true;
293
  bool cegqiInnermostWasSetByUser = false;
294
  bool cegqiMidpoint = false;
295
  bool cegqiMidpointWasSetByUser = false;
296
  bool cegqiMinBounds = false;
297
  bool cegqiMinBoundsWasSetByUser = false;
298
  bool cegqiModel = true;
299
  bool cegqiModelWasSetByUser = false;
300
  bool cegqiMultiInst = false;
301
  bool cegqiMultiInstWasSetByUser = false;
302
  bool cegqiNestedQE = false;
303
  bool cegqiNestedQEWasSetByUser = false;
304
  bool cegqiNopt = true;
305
  bool cegqiNoptWasSetByUser = false;
306
  bool cegqiRepeatLit = false;
307
  bool cegqiRepeatLitWasSetByUser = false;
308
  bool cegqiRoundUpLowerLia = false;
309
  bool cegqiRoundUpLowerLiaWasSetByUser = false;
310
  bool cegqiSat = true;
311
  bool cegqiSatWasSetByUser = false;
312
  bool cegqiUseInfInt = false;
313
  bool cegqiUseInfIntWasSetByUser = false;
314
  bool cegqiUseInfReal = false;
315
  bool cegqiUseInfRealWasSetByUser = false;
316
  bool condVarSplitQuantAgg = false;
317
  bool condVarSplitQuantAggWasSetByUser = false;
318
  bool condVarSplitQuant = true;
319
  bool condVarSplitQuantWasSetByUser = false;
320
  bool conjectureFilterActiveTerms = true;
321
  bool conjectureFilterActiveTermsWasSetByUser = false;
322
  bool conjectureFilterCanonical = true;
323
  bool conjectureFilterCanonicalWasSetByUser = false;
324
  bool conjectureFilterModel = true;
325
  bool conjectureFilterModelWasSetByUser = false;
326
  bool conjectureGen = false;
327
  bool conjectureGenWasSetByUser = false;
328
  int64_t conjectureGenGtEnum = 50;
329
  bool conjectureGenGtEnumWasSetByUser = false;
330
  int64_t conjectureGenMaxDepth = 3;
331
  bool conjectureGenMaxDepthWasSetByUser = false;
332
  int64_t conjectureGenPerRound = 1;
333
  bool conjectureGenPerRoundWasSetByUser = false;
334
  bool conjectureUeeIntro = false;
335
  bool conjectureUeeIntroWasSetByUser = false;
336
  bool conjectureNoFilter = false;
337
  bool conjectureNoFilterWasSetByUser = false;
338
  bool dtStcInduction = false;
339
  bool dtStcInductionWasSetByUser = false;
340
  bool dtVarExpandQuant = true;
341
  bool dtVarExpandQuantWasSetByUser = false;
342
  bool eMatching = true;
343
  bool eMatchingWasSetByUser = false;
344
  bool elimTautQuant = true;
345
  bool elimTautQuantWasSetByUser = false;
346
  bool extRewriteQuant = false;
347
  bool extRewriteQuantWasSetByUser = false;
348
  bool finiteModelFind = false;
349
  bool finiteModelFindWasSetByUser = false;
350
  bool fmfBound = false;
351
  bool fmfBoundWasSetByUser = false;
352
  bool fmfBoundInt = false;
353
  bool fmfBoundIntWasSetByUser = false;
354
  bool fmfBoundLazy = false;
355
  bool fmfBoundLazyWasSetByUser = false;
356
  bool fmfFmcSimple = true;
357
  bool fmfFmcSimpleWasSetByUser = false;
358
  bool fmfFreshDistConst = false;
359
  bool fmfFreshDistConstWasSetByUser = false;
360
  bool fmfFunWellDefined = false;
361
  bool fmfFunWellDefinedWasSetByUser = false;
362
  bool fmfFunWellDefinedRelevant = false;
363
  bool fmfFunWellDefinedRelevantWasSetByUser = false;
364
  bool fmfInstEngine = false;
365
  bool fmfInstEngineWasSetByUser = false;
366
  int64_t fmfTypeCompletionThresh = 1000;
367
  bool fmfTypeCompletionThreshWasSetByUser = false;
368
  bool fullSaturateInterleave = false;
369
  bool fullSaturateInterleaveWasSetByUser = false;
370
  bool fullSaturateStratify = false;
371
  bool fullSaturateStratifyWasSetByUser = false;
372
  bool fullSaturateSum = false;
373
  bool fullSaturateSumWasSetByUser = false;
374
  bool fullSaturateQuant = false;
375
  bool fullSaturateQuantWasSetByUser = false;
376
  int64_t fullSaturateLimit = -1;
377
  bool fullSaturateLimitWasSetByUser = false;
378
  bool fullSaturateQuantRd = true;
379
  bool fullSaturateQuantRdWasSetByUser = false;
380
  bool globalNegate = false;
381
  bool globalNegateWasSetByUser = false;
382
  bool hoElim = false;
383
  bool hoElimWasSetByUser = false;
384
  bool hoElimStoreAx = true;
385
  bool hoElimStoreAxWasSetByUser = false;
386
  bool hoMatching = true;
387
  bool hoMatchingWasSetByUser = false;
388
  bool hoMatchingVarArgPriority = true;
389
  bool hoMatchingVarArgPriorityWasSetByUser = false;
390
  bool hoMergeTermDb = true;
391
  bool hoMergeTermDbWasSetByUser = false;
392
  bool incrementTriggers = true;
393
  bool incrementTriggersWasSetByUser = false;
394
  bool instLevelInputOnly = true;
395
  bool instLevelInputOnlyWasSetByUser = false;
396
  int64_t instMaxLevel = -1;
397
  bool instMaxLevelWasSetByUser = false;
398
  int64_t instMaxRounds = -1;
399
  bool instMaxRoundsWasSetByUser = false;
400
  bool instNoEntail = true;
401
  bool instNoEntailWasSetByUser = false;
402
  InstWhenMode instWhenMode = InstWhenMode::FULL_LAST_CALL;
403
  bool instWhenModeWasSetByUser = false;
404
  int64_t instWhenPhase = 2;
405
  bool instWhenPhaseWasSetByUser = false;
406
  bool instWhenStrictInterleave = true;
407
  bool instWhenStrictInterleaveWasSetByUser = false;
408
  bool instWhenTcFirst = true;
409
  bool instWhenTcFirstWasSetByUser = false;
410
  bool intWfInduction = false;
411
  bool intWfInductionWasSetByUser = false;
412
  bool iteDtTesterSplitQuant = false;
413
  bool iteDtTesterSplitQuantWasSetByUser = false;
414
  IteLiftQuantMode iteLiftQuant = IteLiftQuantMode::SIMPLE;
415
  bool iteLiftQuantWasSetByUser = false;
416
  LiteralMatchMode literalMatchMode = LiteralMatchMode::USE;
417
  bool literalMatchModeWasSetByUser = false;
418
  bool macrosQuant = false;
419
  bool macrosQuantWasSetByUser = false;
420
  MacrosQuantMode macrosQuantMode = MacrosQuantMode::GROUND_UF;
421
  bool macrosQuantModeWasSetByUser = false;
422
  MbqiMode mbqiMode = MbqiMode::FMC;
423
  bool mbqiModeWasSetByUser = false;
424
  bool mbqiInterleave = false;
425
  bool mbqiInterleaveWasSetByUser = false;
426
  bool fmfOneInstPerRound = false;
427
  bool fmfOneInstPerRoundWasSetByUser = false;
428
  bool miniscopeQuant = true;
429
  bool miniscopeQuantWasSetByUser = false;
430
  bool miniscopeQuantFreeVar = true;
431
  bool miniscopeQuantFreeVarWasSetByUser = false;
432
  bool multiTriggerCache = false;
433
  bool multiTriggerCacheWasSetByUser = false;
434
  bool multiTriggerLinear = true;
435
  bool multiTriggerLinearWasSetByUser = false;
436
  bool multiTriggerPriority = false;
437
  bool multiTriggerPriorityWasSetByUser = false;
438
  bool multiTriggerWhenSingle = false;
439
  bool multiTriggerWhenSingleWasSetByUser = false;
440
  bool partialTriggers = false;
441
  bool partialTriggersWasSetByUser = false;
442
  bool poolInst = true;
443
  bool poolInstWasSetByUser = false;
444
  bool preSkolemQuant = false;
445
  bool preSkolemQuantWasSetByUser = false;
446
  bool preSkolemQuantAgg = true;
447
  bool preSkolemQuantAggWasSetByUser = false;
448
  bool preSkolemQuantNested = true;
449
  bool preSkolemQuantNestedWasSetByUser = false;
450
  PrenexQuantMode prenexQuant = PrenexQuantMode::SIMPLE;
451
  bool prenexQuantWasSetByUser = false;
452
  bool prenexQuantUser = false;
453
  bool prenexQuantUserWasSetByUser = false;
454
  bool purifyTriggers = false;
455
  bool purifyTriggersWasSetByUser = false;
456
  bool qcfAllConflict = false;
457
  bool qcfAllConflictWasSetByUser = false;
458
  bool qcfEagerCheckRd = true;
459
  bool qcfEagerCheckRdWasSetByUser = false;
460
  bool qcfEagerTest = true;
461
  bool qcfEagerTestWasSetByUser = false;
462
  bool qcfNestedConflict = false;
463
  bool qcfNestedConflictWasSetByUser = false;
464
  bool qcfSkipRd = false;
465
  bool qcfSkipRdWasSetByUser = false;
466
  bool qcfTConstraint = false;
467
  bool qcfTConstraintWasSetByUser = false;
468
  bool qcfVoExp = false;
469
  bool qcfVoExpWasSetByUser = false;
470
  bool quantAlphaEquiv = true;
471
  bool quantAlphaEquivWasSetByUser = false;
472
  bool quantConflictFind = true;
473
  bool quantConflictFindWasSetByUser = false;
474
  QcfMode qcfMode = QcfMode::PROP_EQ;
475
  bool qcfModeWasSetByUser = false;
476
  QcfWhenMode qcfWhenMode = QcfWhenMode::DEFAULT;
477
  bool qcfWhenModeWasSetByUser = false;
478
  QuantDSplitMode quantDynamicSplit = QuantDSplitMode::DEFAULT;
479
  bool quantDynamicSplitWasSetByUser = false;
480
  bool quantFunWellDefined = false;
481
  bool quantFunWellDefinedWasSetByUser = false;
482
  bool quantInduction = false;
483
  bool quantInductionWasSetByUser = false;
484
  QuantRepMode quantRepMode = QuantRepMode::FIRST;
485
  bool quantRepModeWasSetByUser = false;
486
  bool quantSplit = true;
487
  bool quantSplitWasSetByUser = false;
488
  bool registerQuantBodyTerms = false;
489
  bool registerQuantBodyTermsWasSetByUser = false;
490
  bool relationalTriggers = false;
491
  bool relationalTriggersWasSetByUser = false;
492
  bool relevantTriggers = false;
493
  bool relevantTriggersWasSetByUser = false;
494
  bool sygus = false;
495
  bool sygusWasSetByUser = false;
496
  SygusActiveGenMode sygusActiveGenMode = SygusActiveGenMode::AUTO;
497
  bool sygusActiveGenModeWasSetByUser = false;
498
  uint64_t sygusActiveGenEnumConsts = 5;
499
  bool sygusActiveGenEnumConstsWasSetByUser = false;
500
  bool sygusAddConstGrammar = true;
501
  bool sygusAddConstGrammarWasSetByUser = false;
502
  bool sygusArgRelevant = false;
503
  bool sygusArgRelevantWasSetByUser = false;
504
  bool sygusInvAutoUnfold = true;
505
  bool sygusInvAutoUnfoldWasSetByUser = false;
506
  bool sygusBoolIteReturnConst = true;
507
  bool sygusBoolIteReturnConstWasSetByUser = false;
508
  bool sygusCoreConnective = false;
509
  bool sygusCoreConnectiveWasSetByUser = false;
510
  bool sygusConstRepairAbort = false;
511
  bool sygusConstRepairAbortWasSetByUser = false;
512
  bool sygusEvalOpt = true;
513
  bool sygusEvalOptWasSetByUser = false;
514
  bool sygusEvalUnfold = true;
515
  bool sygusEvalUnfoldWasSetByUser = false;
516
  bool sygusEvalUnfoldBool = true;
517
  bool sygusEvalUnfoldBoolWasSetByUser = false;
518
  uint64_t sygusExprMinerCheckTimeout;
519
  bool sygusExprMinerCheckTimeoutWasSetByUser = false;
520
  bool sygusExtRew = true;
521
  bool sygusExtRewWasSetByUser = false;
522
  SygusFilterSolMode sygusFilterSolMode = SygusFilterSolMode::NONE;
523
  bool sygusFilterSolModeWasSetByUser = false;
524
  bool sygusFilterSolRevSubsume = false;
525
  bool sygusFilterSolRevSubsumeWasSetByUser = false;
526
  SygusGrammarConsMode sygusGrammarConsMode = SygusGrammarConsMode::SIMPLE;
527
  bool sygusGrammarConsModeWasSetByUser = false;
528
  bool sygusGrammarNorm = false;
529
  bool sygusGrammarNormWasSetByUser = false;
530
  bool sygusInference = false;
531
  bool sygusInferenceWasSetByUser = false;
532
  bool sygusInst = false;
533
  bool sygusInstWasSetByUser = false;
534
  SygusInstMode sygusInstMode = SygusInstMode::PRIORITY_INST;
535
  bool sygusInstModeWasSetByUser = false;
536
  SygusInstScope sygusInstScope = SygusInstScope::IN;
537
  bool sygusInstScopeWasSetByUser = false;
538
  SygusInstTermSelMode sygusInstTermSel = SygusInstTermSelMode::MIN;
539
  bool sygusInstTermSelWasSetByUser = false;
540
  SygusInvTemplMode sygusInvTemplMode = SygusInvTemplMode::POST;
541
  bool sygusInvTemplModeWasSetByUser = false;
542
  bool sygusInvTemplWhenSyntax = false;
543
  bool sygusInvTemplWhenSyntaxWasSetByUser = false;
544
  bool sygusMinGrammar = true;
545
  bool sygusMinGrammarWasSetByUser = false;
546
  bool sygusUnifPbe = true;
547
  bool sygusUnifPbeWasSetByUser = false;
548
  bool sygusPbeMultiFair = false;
549
  bool sygusPbeMultiFairWasSetByUser = false;
550
  int64_t sygusPbeMultiFairDiff = 0;
551
  bool sygusPbeMultiFairDiffWasSetByUser = false;
552
  bool sygusQePreproc = false;
553
  bool sygusQePreprocWasSetByUser = false;
554
  SygusQueryGenMode sygusQueryGen = SygusQueryGenMode::NONE;
555
  bool sygusQueryGenWasSetByUser = false;
556
  bool sygusQueryGenCheck = true;
557
  bool sygusQueryGenCheckWasSetByUser = false;
558
  SygusQueryDumpFilesMode sygusQueryGenDumpFiles = SygusQueryDumpFilesMode::NONE;
559
  bool sygusQueryGenDumpFilesWasSetByUser = false;
560
  uint64_t sygusQueryGenThresh = 5;
561
  bool sygusQueryGenThreshWasSetByUser = false;
562
  bool sygusRecFun = true;
563
  bool sygusRecFunWasSetByUser = false;
564
  uint64_t sygusRecFunEvalLimit = 1000;
565
  bool sygusRecFunEvalLimitWasSetByUser = false;
566
  bool sygusRepairConst = false;
567
  bool sygusRepairConstWasSetByUser = false;
568
  uint64_t sygusRepairConstTimeout;
569
  bool sygusRepairConstTimeoutWasSetByUser = false;
570
  bool sygusRew = false;
571
  bool sygusRewWasSetByUser = false;
572
  bool sygusRewSynth = false;
573
  bool sygusRewSynthWasSetByUser = false;
574
  bool sygusRewSynthAccel = false;
575
  bool sygusRewSynthAccelWasSetByUser = false;
576
  bool sygusRewSynthCheck = false;
577
  bool sygusRewSynthCheckWasSetByUser = false;
578
  bool sygusRewSynthFilterCong = true;
579
  bool sygusRewSynthFilterCongWasSetByUser = false;
580
  bool sygusRewSynthFilterMatch = true;
581
  bool sygusRewSynthFilterMatchWasSetByUser = false;
582
  bool sygusRewSynthFilterNonLinear = false;
583
  bool sygusRewSynthFilterNonLinearWasSetByUser = false;
584
  bool sygusRewSynthFilterOrder = true;
585
  bool sygusRewSynthFilterOrderWasSetByUser = false;
586
  bool sygusRewSynthInput = false;
587
  bool sygusRewSynthInputWasSetByUser = false;
588
  int64_t sygusRewSynthInputNVars = 3;
589
  bool sygusRewSynthInputNVarsWasSetByUser = false;
590
  bool sygusRewSynthInputUseBool = false;
591
  bool sygusRewSynthInputUseBoolWasSetByUser = false;
592
  bool sygusRewSynthRec = false;
593
  bool sygusRewSynthRecWasSetByUser = false;
594
  bool sygusRewVerify = false;
595
  bool sygusRewVerifyWasSetByUser = false;
596
  bool sygusRewVerifyAbort = true;
597
  bool sygusRewVerifyAbortWasSetByUser = false;
598
  bool sygusSampleFpUniform = false;
599
  bool sygusSampleFpUniformWasSetByUser = false;
600
  bool sygusSampleGrammar = true;
601
  bool sygusSampleGrammarWasSetByUser = false;
602
  int64_t sygusSamples = 1000;
603
  bool sygusSamplesWasSetByUser = false;
604
  CegqiSingleInvMode cegqiSingleInvMode = CegqiSingleInvMode::NONE;
605
  bool cegqiSingleInvModeWasSetByUser = false;
606
  bool cegqiSingleInvAbort = false;
607
  bool cegqiSingleInvAbortWasSetByUser = false;
608
  CegqiSingleInvRconsMode cegqiSingleInvReconstruct = CegqiSingleInvRconsMode::ALL_LIMIT;
609
  bool cegqiSingleInvReconstructWasSetByUser = false;
610
  int64_t cegqiSingleInvReconstructLimit = 10000;
611
  bool cegqiSingleInvReconstructLimitWasSetByUser = false;
612
  bool sygusStream = false;
613
  bool sygusStreamWasSetByUser = false;
614
  bool sygusTemplEmbedGrammar = false;
615
  bool sygusTemplEmbedGrammarWasSetByUser = false;
616
  bool sygusUnifCondIndNoRepeatSol = true;
617
  bool sygusUnifCondIndNoRepeatSolWasSetByUser = false;
618
  SygusUnifPiMode sygusUnifPi = SygusUnifPiMode::NONE;
619
  bool sygusUnifPiWasSetByUser = false;
620
  bool sygusUnifShuffleCond = false;
621
  bool sygusUnifShuffleCondWasSetByUser = false;
622
  int64_t sygusVerifyInstMaxRounds = 3;
623
  bool sygusVerifyInstMaxRoundsWasSetByUser = false;
624
  bool termDbCd = true;
625
  bool termDbCdWasSetByUser = false;
626
  TermDbMode termDbMode = TermDbMode::ALL;
627
  bool termDbModeWasSetByUser = false;
628
  TriggerActiveSelMode triggerActiveSelMode = TriggerActiveSelMode::ALL;
629
  bool triggerActiveSelModeWasSetByUser = false;
630
  TriggerSelMode triggerSelMode = TriggerSelMode::MIN;
631
  bool triggerSelModeWasSetByUser = false;
632
  UserPatMode userPatternsQuant = UserPatMode::TRUST;
633
  bool userPatternsQuantWasSetByUser = false;
634
  bool varElimQuant = true;
635
  bool varElimQuantWasSetByUser = false;
636
  bool varIneqElimQuant = true;
637
  bool varIneqElimQuantWasSetByUser = false;
638
// clang-format on
639
};
640
641
#undef DO_SEMANTIC_CHECKS_BY_DEFAULT
642
643
// clang-format off
644
inline bool aggressiveMiniscopeQuant() { return Options::current().quantifiers.aggressiveMiniscopeQuant; }
645
inline CegisSampleMode cegisSample() { return Options::current().quantifiers.cegisSample; }
646
4134796
inline bool cegqi() { return Options::current().quantifiers.cegqi; }
647
17703
inline bool cegqiAll() { return Options::current().quantifiers.cegqiAll; }
648
6237
inline bool cegqiBv() { return Options::current().quantifiers.cegqiBv; }
649
462
inline bool cegqiBvConcInv() { return Options::current().quantifiers.cegqiBvConcInv; }
650
26367
inline CegqiBvIneqMode cegqiBvIneqMode() { return Options::current().quantifiers.cegqiBvIneqMode; }
651
2268
inline bool cegqiBvInterleaveValue() { return Options::current().quantifiers.cegqiBvInterleaveValue; }
652
9942
inline bool cegqiBvLinearize() { return Options::current().quantifiers.cegqiBvLinearize; }
653
731
inline bool cegqiBvRmExtract() { return Options::current().quantifiers.cegqiBvRmExtract; }
654
4721
inline bool cegqiBvSolveNl() { return Options::current().quantifiers.cegqiBvSolveNl; }
655
1423
inline bool cegqiFullEffort() { return Options::current().quantifiers.cegqiFullEffort; }
656
inline bool cegqiInnermost() { return Options::current().quantifiers.cegqiInnermost; }
657
inline bool cegqiMidpoint() { return Options::current().quantifiers.cegqiMidpoint; }
658
inline bool cegqiMinBounds() { return Options::current().quantifiers.cegqiMinBounds; }
659
inline bool cegqiModel() { return Options::current().quantifiers.cegqiModel; }
660
1539
inline bool cegqiMultiInst() { return Options::current().quantifiers.cegqiMultiInst; }
661
inline bool cegqiNestedQE() { return Options::current().quantifiers.cegqiNestedQE; }
662
inline bool cegqiNopt() { return Options::current().quantifiers.cegqiNopt; }
663
inline bool cegqiRepeatLit() { return Options::current().quantifiers.cegqiRepeatLit; }
664
inline bool cegqiRoundUpLowerLia() { return Options::current().quantifiers.cegqiRoundUpLowerLia; }
665
inline bool cegqiSat() { return Options::current().quantifiers.cegqiSat; }
666
inline bool cegqiUseInfInt() { return Options::current().quantifiers.cegqiUseInfInt; }
667
inline bool cegqiUseInfReal() { return Options::current().quantifiers.cegqiUseInfReal; }
668
inline bool condVarSplitQuantAgg() { return Options::current().quantifiers.condVarSplitQuantAgg; }
669
inline bool condVarSplitQuant() { return Options::current().quantifiers.condVarSplitQuant; }
670
3243
inline bool conjectureFilterActiveTerms() { return Options::current().quantifiers.conjectureFilterActiveTerms; }
671
5888
inline bool conjectureFilterCanonical() { return Options::current().quantifiers.conjectureFilterCanonical; }
672
2384
inline bool conjectureFilterModel() { return Options::current().quantifiers.conjectureFilterModel; }
673
12150
inline bool conjectureGen() { return Options::current().quantifiers.conjectureGen; }
674
inline int64_t conjectureGenGtEnum() { return Options::current().quantifiers.conjectureGenGtEnum; }
675
inline int64_t conjectureGenMaxDepth() { return Options::current().quantifiers.conjectureGenMaxDepth; }
676
inline int64_t conjectureGenPerRound() { return Options::current().quantifiers.conjectureGenPerRound; }
677
inline bool conjectureUeeIntro() { return Options::current().quantifiers.conjectureUeeIntro; }
678
inline bool conjectureNoFilter() { return Options::current().quantifiers.conjectureNoFilter; }
679
10153
inline bool dtStcInduction() { return Options::current().quantifiers.dtStcInduction; }
680
inline bool dtVarExpandQuant() { return Options::current().quantifiers.dtVarExpandQuant; }
681
inline bool eMatching() { return Options::current().quantifiers.eMatching; }
682
inline bool elimTautQuant() { return Options::current().quantifiers.elimTautQuant; }
683
inline bool extRewriteQuant() { return Options::current().quantifiers.extRewriteQuant; }
684
70119
inline bool finiteModelFind() { return Options::current().quantifiers.finiteModelFind; }
685
30809
inline bool fmfBound() { return Options::current().quantifiers.fmfBound; }
686
inline bool fmfBoundInt() { return Options::current().quantifiers.fmfBoundInt; }
687
702
inline bool fmfBoundLazy() { return Options::current().quantifiers.fmfBoundLazy; }
688
38933
inline bool fmfFmcSimple() { return Options::current().quantifiers.fmfFmcSimple; }
689
517
inline bool fmfFreshDistConst() { return Options::current().quantifiers.fmfFreshDistConst; }
690
inline bool fmfFunWellDefined() { return Options::current().quantifiers.fmfFunWellDefined; }
691
21427
inline bool fmfFunWellDefinedRelevant() { return Options::current().quantifiers.fmfFunWellDefinedRelevant; }
692
278
inline bool fmfInstEngine() { return Options::current().quantifiers.fmfInstEngine; }
693
15273
inline int64_t fmfTypeCompletionThresh() { return Options::current().quantifiers.fmfTypeCompletionThresh; }
694
23880
inline bool fullSaturateInterleave() { return Options::current().quantifiers.fullSaturateInterleave; }
695
1279
inline bool fullSaturateStratify() { return Options::current().quantifiers.fullSaturateStratify; }
696
1723
inline bool fullSaturateSum() { return Options::current().quantifiers.fullSaturateSum; }
697
23991
inline bool fullSaturateQuant() { return Options::current().quantifiers.fullSaturateQuant; }
698
111
inline int64_t fullSaturateLimit() { return Options::current().quantifiers.fullSaturateLimit; }
699
139
inline bool fullSaturateQuantRd() { return Options::current().quantifiers.fullSaturateQuantRd; }
700
inline bool globalNegate() { return Options::current().quantifiers.globalNegate; }
701
inline bool hoElim() { return Options::current().quantifiers.hoElim; }
702
inline bool hoElimStoreAx() { return Options::current().quantifiers.hoElimStoreAx; }
703
inline bool hoMatching() { return Options::current().quantifiers.hoMatching; }
704
inline bool hoMatchingVarArgPriority() { return Options::current().quantifiers.hoMatchingVarArgPriority; }
705
inline bool hoMergeTermDb() { return Options::current().quantifiers.hoMergeTermDb; }
706
inline bool incrementTriggers() { return Options::current().quantifiers.incrementTriggers; }
707
inline bool instLevelInputOnly() { return Options::current().quantifiers.instLevelInputOnly; }
708
2571
inline int64_t instMaxLevel() { return Options::current().quantifiers.instMaxLevel; }
709
inline int64_t instMaxRounds() { return Options::current().quantifiers.instMaxRounds; }
710
inline bool instNoEntail() { return Options::current().quantifiers.instNoEntail; }
711
inline InstWhenMode instWhenMode() { return Options::current().quantifiers.instWhenMode; }
712
inline int64_t instWhenPhase() { return Options::current().quantifiers.instWhenPhase; }
713
inline bool instWhenStrictInterleave() { return Options::current().quantifiers.instWhenStrictInterleave; }
714
inline bool instWhenTcFirst() { return Options::current().quantifiers.instWhenTcFirst; }
715
6173
inline bool intWfInduction() { return Options::current().quantifiers.intWfInduction; }
716
inline bool iteDtTesterSplitQuant() { return Options::current().quantifiers.iteDtTesterSplitQuant; }
717
inline IteLiftQuantMode iteLiftQuant() { return Options::current().quantifiers.iteLiftQuant; }
718
inline LiteralMatchMode literalMatchMode() { return Options::current().quantifiers.literalMatchMode; }
719
15273
inline bool macrosQuant() { return Options::current().quantifiers.macrosQuant; }
720
50
inline MacrosQuantMode macrosQuantMode() { return Options::current().quantifiers.macrosQuantMode; }
721
20521
inline MbqiMode mbqiMode() { return Options::current().quantifiers.mbqiMode; }
722
inline bool mbqiInterleave() { return Options::current().quantifiers.mbqiInterleave; }
723
5713
inline bool fmfOneInstPerRound() { return Options::current().quantifiers.fmfOneInstPerRound; }
724
inline bool miniscopeQuant() { return Options::current().quantifiers.miniscopeQuant; }
725
inline bool miniscopeQuantFreeVar() { return Options::current().quantifiers.miniscopeQuantFreeVar; }
726
inline bool multiTriggerCache() { return Options::current().quantifiers.multiTriggerCache; }
727
21831
inline bool multiTriggerLinear() { return Options::current().quantifiers.multiTriggerLinear; }
728
inline bool multiTriggerPriority() { return Options::current().quantifiers.multiTriggerPriority; }
729
inline bool multiTriggerWhenSingle() { return Options::current().quantifiers.multiTriggerWhenSingle; }
730
inline bool partialTriggers() { return Options::current().quantifiers.partialTriggers; }
731
12150
inline bool poolInst() { return Options::current().quantifiers.poolInst; }
732
inline bool preSkolemQuant() { return Options::current().quantifiers.preSkolemQuant; }
733
inline bool preSkolemQuantAgg() { return Options::current().quantifiers.preSkolemQuantAgg; }
734
inline bool preSkolemQuantNested() { return Options::current().quantifiers.preSkolemQuantNested; }
735
inline PrenexQuantMode prenexQuant() { return Options::current().quantifiers.prenexQuant; }
736
inline bool prenexQuantUser() { return Options::current().quantifiers.prenexQuantUser; }
737
67027
inline bool purifyTriggers() { return Options::current().quantifiers.purifyTriggers; }
738
895
inline bool qcfAllConflict() { return Options::current().quantifiers.qcfAllConflict; }
739
17652
inline bool qcfEagerCheckRd() { return Options::current().quantifiers.qcfEagerCheckRd; }
740
910642
inline bool qcfEagerTest() { return Options::current().quantifiers.qcfEagerTest; }
741
3434
inline bool qcfNestedConflict() { return Options::current().quantifiers.qcfNestedConflict; }
742
17652
inline bool qcfSkipRd() { return Options::current().quantifiers.qcfSkipRd; }
743
141182
inline bool qcfTConstraint() { return Options::current().quantifiers.qcfTConstraint; }
744
375101
inline bool qcfVoExp() { return Options::current().quantifiers.qcfVoExp; }
745
12150
inline bool quantAlphaEquiv() { return Options::current().quantifiers.quantAlphaEquiv; }
746
74658
inline bool quantConflictFind() { return Options::current().quantifiers.quantConflictFind; }
747
17196
inline QcfMode qcfMode() { return Options::current().quantifiers.qcfMode; }
748
62504
inline QcfWhenMode qcfWhenMode() { return Options::current().quantifiers.qcfWhenMode; }
749
21578
inline QuantDSplitMode quantDynamicSplit() { return Options::current().quantifiers.quantDynamicSplit; }
750
inline bool quantFunWellDefined() { return Options::current().quantifiers.quantFunWellDefined; }
751
inline bool quantInduction() { return Options::current().quantifiers.quantInduction; }
752
inline QuantRepMode quantRepMode() { return Options::current().quantifiers.quantRepMode; }
753
inline bool quantSplit() { return Options::current().quantifiers.quantSplit; }
754
inline bool registerQuantBodyTerms() { return Options::current().quantifiers.registerQuantBodyTerms; }
755
56779
inline bool relationalTriggers() { return Options::current().quantifiers.relationalTriggers; }
756
inline bool relevantTriggers() { return Options::current().quantifiers.relevantTriggers; }
757
24300
inline bool sygus() { return Options::current().quantifiers.sygus; }
758
1162
inline SygusActiveGenMode sygusActiveGenMode() { return Options::current().quantifiers.sygusActiveGenMode; }
759
18
inline uint64_t sygusActiveGenEnumConsts() { return Options::current().quantifiers.sygusActiveGenEnumConsts; }
760
542
inline bool sygusAddConstGrammar() { return Options::current().quantifiers.sygusAddConstGrammar; }
761
542
inline bool sygusArgRelevant() { return Options::current().quantifiers.sygusArgRelevant; }
762
46
inline bool sygusInvAutoUnfold() { return Options::current().quantifiers.sygusInvAutoUnfold; }
763
23
inline bool sygusBoolIteReturnConst() { return Options::current().quantifiers.sygusBoolIteReturnConst; }
764
inline bool sygusCoreConnective() { return Options::current().quantifiers.sygusCoreConnective; }
765
inline bool sygusConstRepairAbort() { return Options::current().quantifiers.sygusConstRepairAbort; }
766
198284
inline bool sygusEvalOpt() { return Options::current().quantifiers.sygusEvalOpt; }
767
327019
inline bool sygusEvalUnfold() { return Options::current().quantifiers.sygusEvalUnfold; }
768
26084
inline bool sygusEvalUnfoldBool() { return Options::current().quantifiers.sygusEvalUnfoldBool; }
769
inline uint64_t sygusExprMinerCheckTimeout() { return Options::current().quantifiers.sygusExprMinerCheckTimeout; }
770
inline bool sygusExtRew() { return Options::current().quantifiers.sygusExtRew; }
771
inline SygusFilterSolMode sygusFilterSolMode() { return Options::current().quantifiers.sygusFilterSolMode; }
772
42
inline bool sygusFilterSolRevSubsume() { return Options::current().quantifiers.sygusFilterSolRevSubsume; }
773
724
inline SygusGrammarConsMode sygusGrammarConsMode() { return Options::current().quantifiers.sygusGrammarConsMode; }
774
717
inline bool sygusGrammarNorm() { return Options::current().quantifiers.sygusGrammarNorm; }
775
inline bool sygusInference() { return Options::current().quantifiers.sygusInference; }
776
12150
inline bool sygusInst() { return Options::current().quantifiers.sygusInst; }
777
93
inline SygusInstMode sygusInstMode() { return Options::current().quantifiers.sygusInstMode; }
778
132
inline SygusInstScope sygusInstScope() { return Options::current().quantifiers.sygusInstScope; }
779
150
inline SygusInstTermSelMode sygusInstTermSel() { return Options::current().quantifiers.sygusInstTermSel; }
780
542
inline SygusInvTemplMode sygusInvTemplMode() { return Options::current().quantifiers.sygusInvTemplMode; }
781
121
inline bool sygusInvTemplWhenSyntax() { return Options::current().quantifiers.sygusInvTemplWhenSyntax; }
782
744
inline bool sygusMinGrammar() { return Options::current().quantifiers.sygusMinGrammar; }
783
409
inline bool sygusUnifPbe() { return Options::current().quantifiers.sygusUnifPbe; }
784
8074
inline bool sygusPbeMultiFair() { return Options::current().quantifiers.sygusPbeMultiFair; }
785
891
inline int64_t sygusPbeMultiFairDiff() { return Options::current().quantifiers.sygusPbeMultiFairDiff; }
786
1094
inline bool sygusQePreproc() { return Options::current().quantifiers.sygusQePreproc; }
787
inline SygusQueryGenMode sygusQueryGen() { return Options::current().quantifiers.sygusQueryGen; }
788
inline bool sygusQueryGenCheck() { return Options::current().quantifiers.sygusQueryGenCheck; }
789
inline SygusQueryDumpFilesMode sygusQueryGenDumpFiles() { return Options::current().quantifiers.sygusQueryGenDumpFiles; }
790
inline uint64_t sygusQueryGenThresh() { return Options::current().quantifiers.sygusQueryGenThresh; }
791
139422
inline bool sygusRecFun() { return Options::current().quantifiers.sygusRecFun; }
792
4823
inline uint64_t sygusRecFunEvalLimit() { return Options::current().quantifiers.sygusRecFunEvalLimit; }
793
inline bool sygusRepairConst() { return Options::current().quantifiers.sygusRepairConst; }
794
259
inline uint64_t sygusRepairConstTimeout() { return Options::current().quantifiers.sygusRepairConstTimeout; }
795
inline bool sygusRew() { return Options::current().quantifiers.sygusRew; }
796
inline bool sygusRewSynth() { return Options::current().quantifiers.sygusRewSynth; }
797
inline bool sygusRewSynthAccel() { return Options::current().quantifiers.sygusRewSynthAccel; }
798
inline bool sygusRewSynthCheck() { return Options::current().quantifiers.sygusRewSynthCheck; }
799
inline bool sygusRewSynthFilterCong() { return Options::current().quantifiers.sygusRewSynthFilterCong; }
800
inline bool sygusRewSynthFilterMatch() { return Options::current().quantifiers.sygusRewSynthFilterMatch; }
801
inline bool sygusRewSynthFilterNonLinear() { return Options::current().quantifiers.sygusRewSynthFilterNonLinear; }
802
inline bool sygusRewSynthFilterOrder() { return Options::current().quantifiers.sygusRewSynthFilterOrder; }
803
inline bool sygusRewSynthInput() { return Options::current().quantifiers.sygusRewSynthInput; }
804
inline int64_t sygusRewSynthInputNVars() { return Options::current().quantifiers.sygusRewSynthInputNVars; }
805
inline bool sygusRewSynthInputUseBool() { return Options::current().quantifiers.sygusRewSynthInputUseBool; }
806
inline bool sygusRewSynthRec() { return Options::current().quantifiers.sygusRewSynthRec; }
807
inline bool sygusRewVerify() { return Options::current().quantifiers.sygusRewVerify; }
808
inline bool sygusRewVerifyAbort() { return Options::current().quantifiers.sygusRewVerifyAbort; }
809
inline bool sygusSampleFpUniform() { return Options::current().quantifiers.sygusSampleFpUniform; }
810
515240
inline bool sygusSampleGrammar() { return Options::current().quantifiers.sygusSampleGrammar; }
811
inline int64_t sygusSamples() { return Options::current().quantifiers.sygusSamples; }
812
inline CegqiSingleInvMode cegqiSingleInvMode() { return Options::current().quantifiers.cegqiSingleInvMode; }
813
inline bool cegqiSingleInvAbort() { return Options::current().quantifiers.cegqiSingleInvAbort; }
814
inline CegqiSingleInvRconsMode cegqiSingleInvReconstruct() { return Options::current().quantifiers.cegqiSingleInvReconstruct; }
815
inline int64_t cegqiSingleInvReconstructLimit() { return Options::current().quantifiers.cegqiSingleInvReconstructLimit; }
816
264
inline bool sygusStream() { return Options::current().quantifiers.sygusStream; }
817
46
inline bool sygusTemplEmbedGrammar() { return Options::current().quantifiers.sygusTemplEmbedGrammar; }
818
inline bool sygusUnifCondIndNoRepeatSol() { return Options::current().quantifiers.sygusUnifCondIndNoRepeatSol; }
819
2570
inline SygusUnifPiMode sygusUnifPi() { return Options::current().quantifiers.sygusUnifPi; }
820
inline bool sygusUnifShuffleCond() { return Options::current().quantifiers.sygusUnifShuffleCond; }
821
inline int64_t sygusVerifyInstMaxRounds() { return Options::current().quantifiers.sygusVerifyInstMaxRounds; }
822
37570
inline bool termDbCd() { return Options::current().quantifiers.termDbCd; }
823
4509985
inline TermDbMode termDbMode() { return Options::current().quantifiers.termDbMode; }
824
inline TriggerActiveSelMode triggerActiveSelMode() { return Options::current().quantifiers.triggerActiveSelMode; }
825
inline TriggerSelMode triggerSelMode() { return Options::current().quantifiers.triggerSelMode; }
826
32
inline UserPatMode userPatternsQuant() { return Options::current().quantifiers.userPatternsQuant; }
827
inline bool varElimQuant() { return Options::current().quantifiers.varElimQuant; }
828
inline bool varIneqElimQuant() { return Options::current().quantifiers.varIneqElimQuant; }
829
// clang-format on
830
831
}  // namespace cvc5::options
832
833
#endif /* CVC5__OPTIONS__QUANTIFIERS_H */