GCC Code Coverage Report
Directory: . Exec Total Coverage
File: build-coverage/src/options/quantifiers_options.h Lines: 149 157 94.9 %
Date: 2021-09-29 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
  TRUST, USE, NONE
36
};
37
static constexpr size_t CegisSampleMode__numValues = 3;
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_SLACK, EQ_BOUNDARY
44
};
45
static constexpr size_t CegqiBvIneqMode__numValues = 3;
46
std::ostream& operator<<(std::ostream& os, CegqiBvIneqMode mode);
47
CegqiBvIneqMode stringToCegqiBvIneqMode(const std::string& optarg);
48
49
enum class InstWhenMode
50
{
51
  FULL_DELAY, FULL_LAST_CALL, FULL_DELAY_LAST_CALL, PRE_FULL, LAST_CALL, FULL
52
};
53
static constexpr size_t InstWhenMode__numValues = 6;
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
};
61
static constexpr size_t IteLiftQuantMode__numValues = 3;
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
};
69
static constexpr size_t LiteralMatchMode__numValues = 4;
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
};
77
static constexpr size_t MacrosQuantMode__numValues = 3;
78
std::ostream& operator<<(std::ostream& os, MacrosQuantMode mode);
79
MacrosQuantMode stringToMacrosQuantMode(const std::string& optarg);
80
81
enum class MbqiMode
82
{
83
  TRUST, FMC, NONE
84
};
85
static constexpr size_t MbqiMode__numValues = 3;
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
};
93
static constexpr size_t PrenexQuantMode__numValues = 3;
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
};
101
static constexpr size_t QcfMode__numValues = 3;
102
std::ostream& operator<<(std::ostream& os, QcfMode mode);
103
QcfMode stringToQcfMode(const std::string& optarg);
104
105
enum class QcfWhenMode
106
{
107
  DEFAULT, STD_H, LAST_CALL, STD
108
};
109
static constexpr size_t QcfWhenMode__numValues = 4;
110
std::ostream& operator<<(std::ostream& os, QcfWhenMode mode);
111
QcfWhenMode stringToQcfWhenMode(const std::string& optarg);
112
113
enum class QuantDSplitMode
114
{
115
  AGG, DEFAULT, NONE
116
};
117
static constexpr size_t QuantDSplitMode__numValues = 3;
118
std::ostream& operator<<(std::ostream& os, QuantDSplitMode mode);
119
QuantDSplitMode stringToQuantDSplitMode(const std::string& optarg);
120
121
enum class QuantRepMode
122
{
123
  DEPTH, FIRST, EE
124
};
125
static constexpr size_t QuantRepMode__numValues = 3;
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, AUTO, ENUM, VAR_AGNOSTIC, NONE
132
};
133
static constexpr size_t SygusActiveGenMode__numValues = 5;
134
std::ostream& operator<<(std::ostream& os, SygusActiveGenMode mode);
135
SygusActiveGenMode stringToSygusActiveGenMode(const std::string& optarg);
136
137
enum class SygusFilterSolMode
138
{
139
  WEAK, STRONG, NONE
140
};
141
static constexpr size_t SygusFilterSolMode__numValues = 3;
142
std::ostream& operator<<(std::ostream& os, SygusFilterSolMode mode);
143
SygusFilterSolMode stringToSygusFilterSolMode(const std::string& optarg);
144
145
enum class SygusGrammarConsMode
146
{
147
  SIMPLE, ANY_TERM, ANY_TERM_CONCISE, ANY_CONST
148
};
149
static constexpr size_t SygusGrammarConsMode__numValues = 4;
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
};
157
static constexpr size_t SygusInstMode__numValues = 3;
158
std::ostream& operator<<(std::ostream& os, SygusInstMode mode);
159
SygusInstMode stringToSygusInstMode(const std::string& optarg);
160
161
enum class SygusInstScope
162
{
163
  BOTH, OUT, IN
164
};
165
static constexpr size_t SygusInstScope__numValues = 3;
166
std::ostream& operator<<(std::ostream& os, SygusInstScope mode);
167
SygusInstScope stringToSygusInstScope(const std::string& optarg);
168
169
enum class SygusInstTermSelMode
170
{
171
  MIN, MAX, BOTH
172
};
173
static constexpr size_t SygusInstTermSelMode__numValues = 3;
174
std::ostream& operator<<(std::ostream& os, SygusInstTermSelMode mode);
175
SygusInstTermSelMode stringToSygusInstTermSelMode(const std::string& optarg);
176
177
enum class SygusInvTemplMode
178
{
179
  POST, NONE, PRE
180
};
181
static constexpr size_t SygusInvTemplMode__numValues = 3;
182
std::ostream& operator<<(std::ostream& os, SygusInvTemplMode mode);
183
SygusInvTemplMode stringToSygusInvTemplMode(const std::string& optarg);
184
185
enum class SygusQueryDumpFilesMode
186
{
187
  UNSOLVED, ALL, NONE
188
};
189
static constexpr size_t SygusQueryDumpFilesMode__numValues = 3;
190
std::ostream& operator<<(std::ostream& os, SygusQueryDumpFilesMode mode);
191
SygusQueryDumpFilesMode stringToSygusQueryDumpFilesMode(const std::string& optarg);
192
193
enum class CegqiSingleInvMode
194
{
195
  ALL, USE, NONE
196
};
197
static constexpr size_t CegqiSingleInvMode__numValues = 3;
198
std::ostream& operator<<(std::ostream& os, CegqiSingleInvMode mode);
199
CegqiSingleInvMode stringToCegqiSingleInvMode(const std::string& optarg);
200
201
enum class CegqiSingleInvRconsMode
202
{
203
  ALL_LIMIT, ALL, NONE, TRY
204
};
205
static constexpr size_t CegqiSingleInvRconsMode__numValues = 4;
206
std::ostream& operator<<(std::ostream& os, CegqiSingleInvRconsMode mode);
207
CegqiSingleInvRconsMode stringToCegqiSingleInvRconsMode(const std::string& optarg);
208
209
enum class SygusUnifPiMode
210
{
211
  CENUM, COMPLETE, NONE, CENUM_IGAIN
212
};
213
static constexpr size_t SygusUnifPiMode__numValues = 4;
214
std::ostream& operator<<(std::ostream& os, SygusUnifPiMode mode);
215
SygusUnifPiMode stringToSygusUnifPiMode(const std::string& optarg);
216
217
enum class TermDbMode
218
{
219
  RELEVANT, ALL
220
};
221
static constexpr size_t TermDbMode__numValues = 2;
222
std::ostream& operator<<(std::ostream& os, TermDbMode mode);
223
TermDbMode stringToTermDbMode(const std::string& optarg);
224
225
enum class TriggerActiveSelMode
226
{
227
  MIN, ALL, MAX
228
};
229
static constexpr size_t TriggerActiveSelMode__numValues = 3;
230
std::ostream& operator<<(std::ostream& os, TriggerActiveSelMode mode);
231
TriggerActiveSelMode stringToTriggerActiveSelMode(const std::string& optarg);
232
233
enum class TriggerSelMode
234
{
235
  MIN, ALL, MIN_SINGLE_MAX, MAX, MIN_SINGLE_ALL
236
};
237
static constexpr size_t TriggerSelMode__numValues = 5;
238
std::ostream& operator<<(std::ostream& os, TriggerSelMode mode);
239
TriggerSelMode stringToTriggerSelMode(const std::string& optarg);
240
241
enum class UserPatMode
242
{
243
  RESORT, IGNORE, STRICT, TRUST, USE, INTERLEAVE
244
};
245
static constexpr size_t UserPatMode__numValues = 6;
246
std::ostream& operator<<(std::ostream& os, UserPatMode mode);
247
UserPatMode stringToUserPatMode(const std::string& optarg);
248
249
// clang-format on
250
251
#if defined(CVC5_MUZZLED) || defined(CVC5_COMPETITION_MODE)
252
#  define DO_SEMANTIC_CHECKS_BY_DEFAULT false
253
#else /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */
254
#  define DO_SEMANTIC_CHECKS_BY_DEFAULT true
255
#endif /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */
256
257
18087
struct HolderQUANTIFIERS
258
{
259
// clang-format off
260
bool aggressiveMiniscopeQuant = false;
261
  bool aggressiveMiniscopeQuantWasSetByUser = false;
262
  CegisSampleMode cegisSample = CegisSampleMode::NONE;
263
  bool cegisSampleWasSetByUser = false;
264
  bool cegqi = false;
265
  bool cegqiWasSetByUser = false;
266
  bool cegqiAll = false;
267
  bool cegqiAllWasSetByUser = false;
268
  bool cegqiBv = true;
269
  bool cegqiBvWasSetByUser = false;
270
  bool cegqiBvConcInv = true;
271
  bool cegqiBvConcInvWasSetByUser = false;
272
  CegqiBvIneqMode cegqiBvIneqMode = CegqiBvIneqMode::EQ_BOUNDARY;
273
  bool cegqiBvIneqModeWasSetByUser = false;
274
  bool cegqiBvInterleaveValue = false;
275
  bool cegqiBvInterleaveValueWasSetByUser = false;
276
  bool cegqiBvLinearize = true;
277
  bool cegqiBvLinearizeWasSetByUser = false;
278
  bool cegqiBvRmExtract = true;
279
  bool cegqiBvRmExtractWasSetByUser = false;
280
  bool cegqiBvSolveNl = false;
281
  bool cegqiBvSolveNlWasSetByUser = false;
282
  bool cegqiFullEffort = false;
283
  bool cegqiFullEffortWasSetByUser = false;
284
  bool cegqiInnermost = true;
285
  bool cegqiInnermostWasSetByUser = false;
286
  bool cegqiMidpoint = false;
287
  bool cegqiMidpointWasSetByUser = false;
288
  bool cegqiMinBounds = false;
289
  bool cegqiMinBoundsWasSetByUser = false;
290
  bool cegqiModel = true;
291
  bool cegqiModelWasSetByUser = false;
292
  bool cegqiMultiInst = false;
293
  bool cegqiMultiInstWasSetByUser = false;
294
  bool cegqiNestedQE = false;
295
  bool cegqiNestedQEWasSetByUser = false;
296
  bool cegqiNopt = true;
297
  bool cegqiNoptWasSetByUser = false;
298
  bool cegqiRepeatLit = false;
299
  bool cegqiRepeatLitWasSetByUser = false;
300
  bool cegqiRoundUpLowerLia = false;
301
  bool cegqiRoundUpLowerLiaWasSetByUser = false;
302
  bool cegqiSat = true;
303
  bool cegqiSatWasSetByUser = false;
304
  bool cegqiUseInfInt = false;
305
  bool cegqiUseInfIntWasSetByUser = false;
306
  bool cegqiUseInfReal = false;
307
  bool cegqiUseInfRealWasSetByUser = false;
308
  bool condVarSplitQuantAgg = false;
309
  bool condVarSplitQuantAggWasSetByUser = false;
310
  bool condVarSplitQuant = true;
311
  bool condVarSplitQuantWasSetByUser = false;
312
  bool conjectureFilterActiveTerms = true;
313
  bool conjectureFilterActiveTermsWasSetByUser = false;
314
  bool conjectureFilterCanonical = true;
315
  bool conjectureFilterCanonicalWasSetByUser = false;
316
  bool conjectureFilterModel = true;
317
  bool conjectureFilterModelWasSetByUser = false;
318
  bool conjectureGen = false;
319
  bool conjectureGenWasSetByUser = false;
320
  int64_t conjectureGenGtEnum = 50;
321
  bool conjectureGenGtEnumWasSetByUser = false;
322
  int64_t conjectureGenMaxDepth = 3;
323
  bool conjectureGenMaxDepthWasSetByUser = false;
324
  int64_t conjectureGenPerRound = 1;
325
  bool conjectureGenPerRoundWasSetByUser = false;
326
  bool conjectureUeeIntro = false;
327
  bool conjectureUeeIntroWasSetByUser = false;
328
  bool conjectureNoFilter = false;
329
  bool conjectureNoFilterWasSetByUser = false;
330
  bool dtStcInduction = false;
331
  bool dtStcInductionWasSetByUser = false;
332
  bool dtVarExpandQuant = true;
333
  bool dtVarExpandQuantWasSetByUser = false;
334
  bool eMatching = true;
335
  bool eMatchingWasSetByUser = false;
336
  bool elimTautQuant = true;
337
  bool elimTautQuantWasSetByUser = false;
338
  bool extRewriteQuant = false;
339
  bool extRewriteQuantWasSetByUser = false;
340
  bool finiteModelFind = false;
341
  bool finiteModelFindWasSetByUser = false;
342
  bool fmfBound = false;
343
  bool fmfBoundWasSetByUser = false;
344
  bool fmfBoundInt = false;
345
  bool fmfBoundIntWasSetByUser = false;
346
  bool fmfBoundLazy = false;
347
  bool fmfBoundLazyWasSetByUser = false;
348
  bool fmfFmcSimple = true;
349
  bool fmfFmcSimpleWasSetByUser = false;
350
  bool fmfFreshDistConst = false;
351
  bool fmfFreshDistConstWasSetByUser = false;
352
  bool fmfFunWellDefined = false;
353
  bool fmfFunWellDefinedWasSetByUser = false;
354
  bool fmfFunWellDefinedRelevant = false;
355
  bool fmfFunWellDefinedRelevantWasSetByUser = false;
356
  bool fmfInstEngine = false;
357
  bool fmfInstEngineWasSetByUser = false;
358
  int64_t fmfTypeCompletionThresh = 1000;
359
  bool fmfTypeCompletionThreshWasSetByUser = false;
360
  bool fullSaturateInterleave = false;
361
  bool fullSaturateInterleaveWasSetByUser = false;
362
  bool fullSaturateStratify = false;
363
  bool fullSaturateStratifyWasSetByUser = false;
364
  bool fullSaturateSum = false;
365
  bool fullSaturateSumWasSetByUser = false;
366
  bool fullSaturateQuant = false;
367
  bool fullSaturateQuantWasSetByUser = false;
368
  int64_t fullSaturateLimit = -1;
369
  bool fullSaturateLimitWasSetByUser = false;
370
  bool fullSaturateQuantRd = true;
371
  bool fullSaturateQuantRdWasSetByUser = false;
372
  bool globalNegate = false;
373
  bool globalNegateWasSetByUser = false;
374
  bool hoElim = false;
375
  bool hoElimWasSetByUser = false;
376
  bool hoElimStoreAx = true;
377
  bool hoElimStoreAxWasSetByUser = false;
378
  bool hoMatching = true;
379
  bool hoMatchingWasSetByUser = false;
380
  bool hoMatchingVarArgPriority = true;
381
  bool hoMatchingVarArgPriorityWasSetByUser = false;
382
  bool hoMergeTermDb = true;
383
  bool hoMergeTermDbWasSetByUser = false;
384
  bool incrementTriggers = true;
385
  bool incrementTriggersWasSetByUser = false;
386
  bool instLevelInputOnly = true;
387
  bool instLevelInputOnlyWasSetByUser = false;
388
  int64_t instMaxLevel = -1;
389
  bool instMaxLevelWasSetByUser = false;
390
  int64_t instMaxRounds = -1;
391
  bool instMaxRoundsWasSetByUser = false;
392
  bool instNoEntail = true;
393
  bool instNoEntailWasSetByUser = false;
394
  InstWhenMode instWhenMode = InstWhenMode::FULL_LAST_CALL;
395
  bool instWhenModeWasSetByUser = false;
396
  int64_t instWhenPhase = 2;
397
  bool instWhenPhaseWasSetByUser = false;
398
  bool instWhenStrictInterleave = true;
399
  bool instWhenStrictInterleaveWasSetByUser = false;
400
  bool instWhenTcFirst = true;
401
  bool instWhenTcFirstWasSetByUser = false;
402
  bool intWfInduction = false;
403
  bool intWfInductionWasSetByUser = false;
404
  bool iteDtTesterSplitQuant = false;
405
  bool iteDtTesterSplitQuantWasSetByUser = false;
406
  IteLiftQuantMode iteLiftQuant = IteLiftQuantMode::SIMPLE;
407
  bool iteLiftQuantWasSetByUser = false;
408
  LiteralMatchMode literalMatchMode = LiteralMatchMode::USE;
409
  bool literalMatchModeWasSetByUser = false;
410
  bool macrosQuant = false;
411
  bool macrosQuantWasSetByUser = false;
412
  MacrosQuantMode macrosQuantMode = MacrosQuantMode::GROUND_UF;
413
  bool macrosQuantModeWasSetByUser = false;
414
  MbqiMode mbqiMode = MbqiMode::FMC;
415
  bool mbqiModeWasSetByUser = false;
416
  bool mbqiInterleave = false;
417
  bool mbqiInterleaveWasSetByUser = false;
418
  bool fmfOneInstPerRound = false;
419
  bool fmfOneInstPerRoundWasSetByUser = false;
420
  bool miniscopeQuant = true;
421
  bool miniscopeQuantWasSetByUser = false;
422
  bool miniscopeQuantFreeVar = true;
423
  bool miniscopeQuantFreeVarWasSetByUser = false;
424
  bool multiTriggerCache = false;
425
  bool multiTriggerCacheWasSetByUser = false;
426
  bool multiTriggerLinear = true;
427
  bool multiTriggerLinearWasSetByUser = false;
428
  bool multiTriggerPriority = false;
429
  bool multiTriggerPriorityWasSetByUser = false;
430
  bool multiTriggerWhenSingle = false;
431
  bool multiTriggerWhenSingleWasSetByUser = false;
432
  bool partialTriggers = false;
433
  bool partialTriggersWasSetByUser = false;
434
  bool poolInst = true;
435
  bool poolInstWasSetByUser = false;
436
  bool preSkolemQuant = false;
437
  bool preSkolemQuantWasSetByUser = false;
438
  bool preSkolemQuantAgg = true;
439
  bool preSkolemQuantAggWasSetByUser = false;
440
  bool preSkolemQuantNested = true;
441
  bool preSkolemQuantNestedWasSetByUser = false;
442
  PrenexQuantMode prenexQuant = PrenexQuantMode::SIMPLE;
443
  bool prenexQuantWasSetByUser = false;
444
  bool prenexQuantUser = false;
445
  bool prenexQuantUserWasSetByUser = false;
446
  bool purifyTriggers = false;
447
  bool purifyTriggersWasSetByUser = false;
448
  bool qcfAllConflict = false;
449
  bool qcfAllConflictWasSetByUser = false;
450
  bool qcfEagerCheckRd = true;
451
  bool qcfEagerCheckRdWasSetByUser = false;
452
  bool qcfEagerTest = true;
453
  bool qcfEagerTestWasSetByUser = false;
454
  bool qcfNestedConflict = false;
455
  bool qcfNestedConflictWasSetByUser = false;
456
  bool qcfSkipRd = false;
457
  bool qcfSkipRdWasSetByUser = false;
458
  bool qcfTConstraint = false;
459
  bool qcfTConstraintWasSetByUser = false;
460
  bool qcfVoExp = false;
461
  bool qcfVoExpWasSetByUser = false;
462
  bool quantAlphaEquiv = true;
463
  bool quantAlphaEquivWasSetByUser = false;
464
  bool quantConflictFind = true;
465
  bool quantConflictFindWasSetByUser = false;
466
  QcfMode qcfMode = QcfMode::PROP_EQ;
467
  bool qcfModeWasSetByUser = false;
468
  QcfWhenMode qcfWhenMode = QcfWhenMode::DEFAULT;
469
  bool qcfWhenModeWasSetByUser = false;
470
  QuantDSplitMode quantDynamicSplit = QuantDSplitMode::DEFAULT;
471
  bool quantDynamicSplitWasSetByUser = false;
472
  bool quantFunWellDefined = false;
473
  bool quantFunWellDefinedWasSetByUser = false;
474
  bool quantInduction = false;
475
  bool quantInductionWasSetByUser = false;
476
  QuantRepMode quantRepMode = QuantRepMode::FIRST;
477
  bool quantRepModeWasSetByUser = false;
478
  bool quantSplit = true;
479
  bool quantSplitWasSetByUser = false;
480
  bool registerQuantBodyTerms = false;
481
  bool registerQuantBodyTermsWasSetByUser = false;
482
  bool relationalTriggers = false;
483
  bool relationalTriggersWasSetByUser = false;
484
  bool relevantTriggers = false;
485
  bool relevantTriggersWasSetByUser = false;
486
  bool sygus = false;
487
  bool sygusWasSetByUser = false;
488
  SygusActiveGenMode sygusActiveGenMode = SygusActiveGenMode::AUTO;
489
  bool sygusActiveGenModeWasSetByUser = false;
490
  uint64_t sygusActiveGenEnumConsts = 5;
491
  bool sygusActiveGenEnumConstsWasSetByUser = false;
492
  bool sygusAddConstGrammar = false;
493
  bool sygusAddConstGrammarWasSetByUser = false;
494
  bool sygusArgRelevant = false;
495
  bool sygusArgRelevantWasSetByUser = false;
496
  bool sygusInvAutoUnfold = true;
497
  bool sygusInvAutoUnfoldWasSetByUser = false;
498
  bool sygusBoolIteReturnConst = true;
499
  bool sygusBoolIteReturnConstWasSetByUser = false;
500
  bool sygusCoreConnective = false;
501
  bool sygusCoreConnectiveWasSetByUser = false;
502
  bool sygusConstRepairAbort = false;
503
  bool sygusConstRepairAbortWasSetByUser = false;
504
  bool sygusEvalOpt = true;
505
  bool sygusEvalOptWasSetByUser = false;
506
  bool sygusEvalUnfold = true;
507
  bool sygusEvalUnfoldWasSetByUser = false;
508
  bool sygusEvalUnfoldBool = true;
509
  bool sygusEvalUnfoldBoolWasSetByUser = false;
510
  uint64_t sygusExprMinerCheckTimeout;
511
  bool sygusExprMinerCheckTimeoutWasSetByUser = false;
512
  bool sygusExtRew = true;
513
  bool sygusExtRewWasSetByUser = false;
514
  SygusFilterSolMode sygusFilterSolMode = SygusFilterSolMode::NONE;
515
  bool sygusFilterSolModeWasSetByUser = false;
516
  bool sygusFilterSolRevSubsume = false;
517
  bool sygusFilterSolRevSubsumeWasSetByUser = false;
518
  SygusGrammarConsMode sygusGrammarConsMode = SygusGrammarConsMode::SIMPLE;
519
  bool sygusGrammarConsModeWasSetByUser = false;
520
  bool sygusGrammarNorm = false;
521
  bool sygusGrammarNormWasSetByUser = false;
522
  bool sygusInference = false;
523
  bool sygusInferenceWasSetByUser = false;
524
  bool sygusInst = false;
525
  bool sygusInstWasSetByUser = false;
526
  SygusInstMode sygusInstMode = SygusInstMode::PRIORITY_INST;
527
  bool sygusInstModeWasSetByUser = false;
528
  SygusInstScope sygusInstScope = SygusInstScope::IN;
529
  bool sygusInstScopeWasSetByUser = false;
530
  SygusInstTermSelMode sygusInstTermSel = SygusInstTermSelMode::MIN;
531
  bool sygusInstTermSelWasSetByUser = false;
532
  SygusInvTemplMode sygusInvTemplMode = SygusInvTemplMode::POST;
533
  bool sygusInvTemplModeWasSetByUser = false;
534
  bool sygusInvTemplWhenSyntax = false;
535
  bool sygusInvTemplWhenSyntaxWasSetByUser = false;
536
  bool sygusMinGrammar = true;
537
  bool sygusMinGrammarWasSetByUser = false;
538
  bool sygusUnifPbe = true;
539
  bool sygusUnifPbeWasSetByUser = false;
540
  bool sygusPbeMultiFair = false;
541
  bool sygusPbeMultiFairWasSetByUser = false;
542
  int64_t sygusPbeMultiFairDiff = 0;
543
  bool sygusPbeMultiFairDiffWasSetByUser = false;
544
  bool sygusQePreproc = false;
545
  bool sygusQePreprocWasSetByUser = false;
546
  bool sygusQueryGen = false;
547
  bool sygusQueryGenWasSetByUser = false;
548
  bool sygusQueryGenCheck = true;
549
  bool sygusQueryGenCheckWasSetByUser = false;
550
  SygusQueryDumpFilesMode sygusQueryGenDumpFiles = SygusQueryDumpFilesMode::NONE;
551
  bool sygusQueryGenDumpFilesWasSetByUser = false;
552
  uint64_t sygusQueryGenThresh = 5;
553
  bool sygusQueryGenThreshWasSetByUser = false;
554
  bool sygusRecFun = true;
555
  bool sygusRecFunWasSetByUser = false;
556
  uint64_t sygusRecFunEvalLimit = 1000;
557
  bool sygusRecFunEvalLimitWasSetByUser = false;
558
  bool sygusRepairConst = false;
559
  bool sygusRepairConstWasSetByUser = false;
560
  uint64_t sygusRepairConstTimeout;
561
  bool sygusRepairConstTimeoutWasSetByUser = false;
562
  bool sygusRew = false;
563
  bool sygusRewWasSetByUser = false;
564
  bool sygusRewSynth = false;
565
  bool sygusRewSynthWasSetByUser = false;
566
  bool sygusRewSynthAccel = false;
567
  bool sygusRewSynthAccelWasSetByUser = false;
568
  bool sygusRewSynthCheck = false;
569
  bool sygusRewSynthCheckWasSetByUser = false;
570
  bool sygusRewSynthFilterCong = true;
571
  bool sygusRewSynthFilterCongWasSetByUser = false;
572
  bool sygusRewSynthFilterMatch = true;
573
  bool sygusRewSynthFilterMatchWasSetByUser = false;
574
  bool sygusRewSynthFilterNonLinear = false;
575
  bool sygusRewSynthFilterNonLinearWasSetByUser = false;
576
  bool sygusRewSynthFilterOrder = true;
577
  bool sygusRewSynthFilterOrderWasSetByUser = false;
578
  bool sygusRewSynthInput = false;
579
  bool sygusRewSynthInputWasSetByUser = false;
580
  int64_t sygusRewSynthInputNVars = 3;
581
  bool sygusRewSynthInputNVarsWasSetByUser = false;
582
  bool sygusRewSynthInputUseBool = false;
583
  bool sygusRewSynthInputUseBoolWasSetByUser = false;
584
  bool sygusRewSynthRec = false;
585
  bool sygusRewSynthRecWasSetByUser = false;
586
  bool sygusRewVerify = false;
587
  bool sygusRewVerifyWasSetByUser = false;
588
  bool sygusRewVerifyAbort = true;
589
  bool sygusRewVerifyAbortWasSetByUser = false;
590
  bool sygusSampleFpUniform = false;
591
  bool sygusSampleFpUniformWasSetByUser = false;
592
  bool sygusSampleGrammar = true;
593
  bool sygusSampleGrammarWasSetByUser = false;
594
  int64_t sygusSamples = 1000;
595
  bool sygusSamplesWasSetByUser = false;
596
  CegqiSingleInvMode cegqiSingleInvMode = CegqiSingleInvMode::NONE;
597
  bool cegqiSingleInvModeWasSetByUser = false;
598
  bool cegqiSingleInvAbort = false;
599
  bool cegqiSingleInvAbortWasSetByUser = false;
600
  CegqiSingleInvRconsMode cegqiSingleInvReconstruct = CegqiSingleInvRconsMode::ALL_LIMIT;
601
  bool cegqiSingleInvReconstructWasSetByUser = false;
602
  int64_t cegqiSingleInvReconstructLimit = 10000;
603
  bool cegqiSingleInvReconstructLimitWasSetByUser = false;
604
  bool sygusStream = false;
605
  bool sygusStreamWasSetByUser = false;
606
  bool sygusTemplEmbedGrammar = false;
607
  bool sygusTemplEmbedGrammarWasSetByUser = false;
608
  bool sygusUnifCondIndNoRepeatSol = true;
609
  bool sygusUnifCondIndNoRepeatSolWasSetByUser = false;
610
  SygusUnifPiMode sygusUnifPi = SygusUnifPiMode::NONE;
611
  bool sygusUnifPiWasSetByUser = false;
612
  bool sygusUnifShuffleCond = false;
613
  bool sygusUnifShuffleCondWasSetByUser = false;
614
  int64_t sygusVerifyInstMaxRounds = 3;
615
  bool sygusVerifyInstMaxRoundsWasSetByUser = false;
616
  bool termDbCd = true;
617
  bool termDbCdWasSetByUser = false;
618
  TermDbMode termDbMode = TermDbMode::ALL;
619
  bool termDbModeWasSetByUser = false;
620
  TriggerActiveSelMode triggerActiveSelMode = TriggerActiveSelMode::ALL;
621
  bool triggerActiveSelModeWasSetByUser = false;
622
  TriggerSelMode triggerSelMode = TriggerSelMode::MIN;
623
  bool triggerSelModeWasSetByUser = false;
624
  UserPatMode userPatternsQuant = UserPatMode::TRUST;
625
  bool userPatternsQuantWasSetByUser = false;
626
  bool varElimQuant = true;
627
  bool varElimQuantWasSetByUser = false;
628
  bool varIneqElimQuant = true;
629
  bool varIneqElimQuantWasSetByUser = false;
630
// clang-format on
631
};
632
633
#undef DO_SEMANTIC_CHECKS_BY_DEFAULT
634
635
// clang-format off
636
inline bool aggressiveMiniscopeQuant() { return Options::current().quantifiers.aggressiveMiniscopeQuant; }
637
3611
inline CegisSampleMode cegisSample() { return Options::current().quantifiers.cegisSample; }
638
1808244
inline bool cegqi() { return Options::current().quantifiers.cegqi; }
639
6271
inline bool cegqiAll() { return Options::current().quantifiers.cegqiAll; }
640
7876
inline bool cegqiBv() { return Options::current().quantifiers.cegqiBv; }
641
284
inline bool cegqiBvConcInv() { return Options::current().quantifiers.cegqiBvConcInv; }
642
8040
inline CegqiBvIneqMode cegqiBvIneqMode() { return Options::current().quantifiers.cegqiBvIneqMode; }
643
1572
inline bool cegqiBvInterleaveValue() { return Options::current().quantifiers.cegqiBvInterleaveValue; }
644
5182
inline bool cegqiBvLinearize() { return Options::current().quantifiers.cegqiBvLinearize; }
645
644
inline bool cegqiBvRmExtract() { return Options::current().quantifiers.cegqiBvRmExtract; }
646
2224
inline bool cegqiBvSolveNl() { return Options::current().quantifiers.cegqiBvSolveNl; }
647
780
inline bool cegqiFullEffort() { return Options::current().quantifiers.cegqiFullEffort; }
648
18959
inline bool cegqiInnermost() { return Options::current().quantifiers.cegqiInnermost; }
649
4601
inline bool cegqiMidpoint() { return Options::current().quantifiers.cegqiMidpoint; }
650
7926
inline bool cegqiMinBounds() { return Options::current().quantifiers.cegqiMinBounds; }
651
40223
inline bool cegqiModel() { return Options::current().quantifiers.cegqiModel; }
652
44127
inline bool cegqiMultiInst() { return Options::current().quantifiers.cegqiMultiInst; }
653
4694
inline bool cegqiNestedQE() { return Options::current().quantifiers.cegqiNestedQE; }
654
369
inline bool cegqiNopt() { return Options::current().quantifiers.cegqiNopt; }
655
247883
inline bool cegqiRepeatLit() { return Options::current().quantifiers.cegqiRepeatLit; }
656
10
inline bool cegqiRoundUpLowerLia() { return Options::current().quantifiers.cegqiRoundUpLowerLia; }
657
2308
inline bool cegqiSat() { return Options::current().quantifiers.cegqiSat; }
658
7429
inline bool cegqiUseInfInt() { return Options::current().quantifiers.cegqiUseInfInt; }
659
497
inline bool cegqiUseInfReal() { return Options::current().quantifiers.cegqiUseInfReal; }
660
inline bool condVarSplitQuantAgg() { return Options::current().quantifiers.condVarSplitQuantAgg; }
661
inline bool condVarSplitQuant() { return Options::current().quantifiers.condVarSplitQuant; }
662
1061
inline bool conjectureFilterActiveTerms() { return Options::current().quantifiers.conjectureFilterActiveTerms; }
663
2597
inline bool conjectureFilterCanonical() { return Options::current().quantifiers.conjectureFilterCanonical; }
664
3935
inline bool conjectureFilterModel() { return Options::current().quantifiers.conjectureFilterModel; }
665
4762
inline bool conjectureGen() { return Options::current().quantifiers.conjectureGen; }
666
23
inline int64_t conjectureGenGtEnum() { return Options::current().quantifiers.conjectureGenGtEnum; }
667
25
inline int64_t conjectureGenMaxDepth() { return Options::current().quantifiers.conjectureGenMaxDepth; }
668
433
inline int64_t conjectureGenPerRound() { return Options::current().quantifiers.conjectureGenPerRound; }
669
31
inline bool conjectureUeeIntro() { return Options::current().quantifiers.conjectureUeeIntro; }
670
inline bool conjectureNoFilter() { return Options::current().quantifiers.conjectureNoFilter; }
671
3886
inline bool dtStcInduction() { return Options::current().quantifiers.dtStcInduction; }
672
inline bool dtVarExpandQuant() { return Options::current().quantifiers.dtVarExpandQuant; }
673
4580
inline bool eMatching() { return Options::current().quantifiers.eMatching; }
674
inline bool elimTautQuant() { return Options::current().quantifiers.elimTautQuant; }
675
inline bool extRewriteQuant() { return Options::current().quantifiers.extRewriteQuant; }
676
5306554
inline bool finiteModelFind() { return Options::current().quantifiers.finiteModelFind; }
677
29303
inline bool fmfBound() { return Options::current().quantifiers.fmfBound; }
678
inline bool fmfBoundInt() { return Options::current().quantifiers.fmfBoundInt; }
679
431
inline bool fmfBoundLazy() { return Options::current().quantifiers.fmfBoundLazy; }
680
31986
inline bool fmfFmcSimple() { return Options::current().quantifiers.fmfFmcSimple; }
681
375
inline bool fmfFreshDistConst() { return Options::current().quantifiers.fmfFreshDistConst; }
682
5674
inline bool fmfFunWellDefined() { return Options::current().quantifiers.fmfFunWellDefined; }
683
10717
inline bool fmfFunWellDefinedRelevant() { return Options::current().quantifiers.fmfFunWellDefinedRelevant; }
684
187
inline bool fmfInstEngine() { return Options::current().quantifiers.fmfInstEngine; }
685
6271
inline int64_t fmfTypeCompletionThresh() { return Options::current().quantifiers.fmfTypeCompletionThresh; }
686
6022
inline bool fullSaturateInterleave() { return Options::current().quantifiers.fullSaturateInterleave; }
687
343
inline bool fullSaturateStratify() { return Options::current().quantifiers.fullSaturateStratify; }
688
583
inline bool fullSaturateSum() { return Options::current().quantifiers.fullSaturateSum; }
689
6053
inline bool fullSaturateQuant() { return Options::current().quantifiers.fullSaturateQuant; }
690
31
inline int64_t fullSaturateLimit() { return Options::current().quantifiers.fullSaturateLimit; }
691
45
inline bool fullSaturateQuantRd() { return Options::current().quantifiers.fullSaturateQuantRd; }
692
8540
inline bool globalNegate() { return Options::current().quantifiers.globalNegate; }
693
inline bool hoElim() { return Options::current().quantifiers.hoElim; }
694
inline bool hoElimStoreAx() { return Options::current().quantifiers.hoElimStoreAx; }
695
41
inline bool hoMatching() { return Options::current().quantifiers.hoMatching; }
696
61
inline bool hoMatchingVarArgPriority() { return Options::current().quantifiers.hoMatchingVarArgPriority; }
697
inline bool hoMergeTermDb() { return Options::current().quantifiers.hoMergeTermDb; }
698
4578
inline bool incrementTriggers() { return Options::current().quantifiers.incrementTriggers; }
699
5672
inline bool instLevelInputOnly() { return Options::current().quantifiers.instLevelInputOnly; }
700
108120
inline int64_t instMaxLevel() { return Options::current().quantifiers.instMaxLevel; }
701
51762
inline int64_t instMaxRounds() { return Options::current().quantifiers.instMaxRounds; }
702
77594
inline bool instNoEntail() { return Options::current().quantifiers.instNoEntail; }
703
201226
inline InstWhenMode instWhenMode() { return Options::current().quantifiers.instWhenMode; }
704
12542
inline int64_t instWhenPhase() { return Options::current().quantifiers.instWhenPhase; }
705
8064
inline bool instWhenStrictInterleave() { return Options::current().quantifiers.instWhenStrictInterleave; }
706
6271
inline bool instWhenTcFirst() { return Options::current().quantifiers.instWhenTcFirst; }
707
2891
inline bool intWfInduction() { return Options::current().quantifiers.intWfInduction; }
708
inline bool iteDtTesterSplitQuant() { return Options::current().quantifiers.iteDtTesterSplitQuant; }
709
inline IteLiftQuantMode iteLiftQuant() { return Options::current().quantifiers.iteLiftQuant; }
710
3075
inline LiteralMatchMode literalMatchMode() { return Options::current().quantifiers.literalMatchMode; }
711
6271
inline bool macrosQuant() { return Options::current().quantifiers.macrosQuant; }
712
30
inline MacrosQuantMode macrosQuantMode() { return Options::current().quantifiers.macrosQuantMode; }
713
31797
inline MbqiMode mbqiMode() { return Options::current().quantifiers.mbqiMode; }
714
5813
inline bool mbqiInterleave() { return Options::current().quantifiers.mbqiInterleave; }
715
4396
inline bool fmfOneInstPerRound() { return Options::current().quantifiers.fmfOneInstPerRound; }
716
inline bool miniscopeQuant() { return Options::current().quantifiers.miniscopeQuant; }
717
inline bool miniscopeQuantFreeVar() { return Options::current().quantifiers.miniscopeQuantFreeVar; }
718
470
inline bool multiTriggerCache() { return Options::current().quantifiers.multiTriggerCache; }
719
6699
inline bool multiTriggerLinear() { return Options::current().quantifiers.multiTriggerLinear; }
720
3057
inline bool multiTriggerPriority() { return Options::current().quantifiers.multiTriggerPriority; }
721
5534
inline bool multiTriggerWhenSingle() { return Options::current().quantifiers.multiTriggerWhenSingle; }
722
14165
inline bool partialTriggers() { return Options::current().quantifiers.partialTriggers; }
723
4762
inline bool poolInst() { return Options::current().quantifiers.poolInst; }
724
inline bool preSkolemQuant() { return Options::current().quantifiers.preSkolemQuant; }
725
inline bool preSkolemQuantAgg() { return Options::current().quantifiers.preSkolemQuantAgg; }
726
inline bool preSkolemQuantNested() { return Options::current().quantifiers.preSkolemQuantNested; }
727
inline PrenexQuantMode prenexQuant() { return Options::current().quantifiers.prenexQuant; }
728
inline bool prenexQuantUser() { return Options::current().quantifiers.prenexQuantUser; }
729
24279
inline bool purifyTriggers() { return Options::current().quantifiers.purifyTriggers; }
730
345
inline bool qcfAllConflict() { return Options::current().quantifiers.qcfAllConflict; }
731
6601
inline bool qcfEagerCheckRd() { return Options::current().quantifiers.qcfEagerCheckRd; }
732
215822
inline bool qcfEagerTest() { return Options::current().quantifiers.qcfEagerTest; }
733
1239
inline bool qcfNestedConflict() { return Options::current().quantifiers.qcfNestedConflict; }
734
6601
inline bool qcfSkipRd() { return Options::current().quantifiers.qcfSkipRd; }
735
36454
inline bool qcfTConstraint() { return Options::current().quantifiers.qcfTConstraint; }
736
103740
inline bool qcfVoExp() { return Options::current().quantifiers.qcfVoExp; }
737
4762
inline bool quantAlphaEquiv() { return Options::current().quantifiers.quantAlphaEquiv; }
738
26044
inline bool quantConflictFind() { return Options::current().quantifiers.quantConflictFind; }
739
10717
inline QcfMode qcfMode() { return Options::current().quantifiers.qcfMode; }
740
21278
inline QcfWhenMode qcfWhenMode() { return Options::current().quantifiers.qcfWhenMode; }
741
7956
inline QuantDSplitMode quantDynamicSplit() { return Options::current().quantifiers.quantDynamicSplit; }
742
4290
inline bool quantFunWellDefined() { return Options::current().quantifiers.quantFunWellDefined; }
743
inline bool quantInduction() { return Options::current().quantifiers.quantInduction; }
744
117080
inline QuantRepMode quantRepMode() { return Options::current().quantifiers.quantRepMode; }
745
inline bool quantSplit() { return Options::current().quantifiers.quantSplit; }
746
14344
inline bool registerQuantBodyTerms() { return Options::current().quantifiers.registerQuantBodyTerms; }
747
23561
inline bool relationalTriggers() { return Options::current().quantifiers.relationalTriggers; }
748
12857
inline bool relevantTriggers() { return Options::current().quantifiers.relevantTriggers; }
749
21467
inline bool sygus() { return Options::current().quantifiers.sygus; }
750
987
inline SygusActiveGenMode sygusActiveGenMode() { return Options::current().quantifiers.sygusActiveGenMode; }
751
16
inline uint64_t sygusActiveGenEnumConsts() { return Options::current().quantifiers.sygusActiveGenEnumConsts; }
752
327
inline bool sygusAddConstGrammar() { return Options::current().quantifiers.sygusAddConstGrammar; }
753
327
inline bool sygusArgRelevant() { return Options::current().quantifiers.sygusArgRelevant; }
754
31
inline bool sygusInvAutoUnfold() { return Options::current().quantifiers.sygusInvAutoUnfold; }
755
14
inline bool sygusBoolIteReturnConst() { return Options::current().quantifiers.sygusBoolIteReturnConst; }
756
1193
inline bool sygusCoreConnective() { return Options::current().quantifiers.sygusCoreConnective; }
757
8
inline bool sygusConstRepairAbort() { return Options::current().quantifiers.sygusConstRepairAbort; }
758
113262
inline bool sygusEvalOpt() { return Options::current().quantifiers.sygusEvalOpt; }
759
368742
inline bool sygusEvalUnfold() { return Options::current().quantifiers.sygusEvalUnfold; }
760
9299
inline bool sygusEvalUnfoldBool() { return Options::current().quantifiers.sygusEvalUnfoldBool; }
761
inline uint64_t sygusExprMinerCheckTimeout() { return Options::current().quantifiers.sygusExprMinerCheckTimeout; }
762
inline bool sygusExtRew() { return Options::current().quantifiers.sygusExtRew; }
763
71
inline SygusFilterSolMode sygusFilterSolMode() { return Options::current().quantifiers.sygusFilterSolMode; }
764
21
inline bool sygusFilterSolRevSubsume() { return Options::current().quantifiers.sygusFilterSolRevSubsume; }
765
626
inline SygusGrammarConsMode sygusGrammarConsMode() { return Options::current().quantifiers.sygusGrammarConsMode; }
766
431
inline bool sygusGrammarNorm() { return Options::current().quantifiers.sygusGrammarNorm; }
767
6376
inline bool sygusInference() { return Options::current().quantifiers.sygusInference; }
768
15512
inline bool sygusInst() { return Options::current().quantifiers.sygusInst; }
769
69
inline SygusInstMode sygusInstMode() { return Options::current().quantifiers.sygusInstMode; }
770
63
inline SygusInstScope sygusInstScope() { return Options::current().quantifiers.sygusInstScope; }
771
72
inline SygusInstTermSelMode sygusInstTermSel() { return Options::current().quantifiers.sygusInstTermSel; }
772
327
inline SygusInvTemplMode sygusInvTemplMode() { return Options::current().quantifiers.sygusInvTemplMode; }
773
77
inline bool sygusInvTemplWhenSyntax() { return Options::current().quantifiers.sygusInvTemplWhenSyntax; }
774
446
inline bool sygusMinGrammar() { return Options::current().quantifiers.sygusMinGrammar; }
775
238
inline bool sygusUnifPbe() { return Options::current().quantifiers.sygusUnifPbe; }
776
4327
inline bool sygusPbeMultiFair() { return Options::current().quantifiers.sygusPbeMultiFair; }
777
517
inline int64_t sygusPbeMultiFairDiff() { return Options::current().quantifiers.sygusPbeMultiFairDiff; }
778
660
inline bool sygusQePreproc() { return Options::current().quantifiers.sygusQePreproc; }
779
69
inline bool sygusQueryGen() { return Options::current().quantifiers.sygusQueryGen; }
780
inline bool sygusQueryGenCheck() { return Options::current().quantifiers.sygusQueryGenCheck; }
781
inline SygusQueryDumpFilesMode sygusQueryGenDumpFiles() { return Options::current().quantifiers.sygusQueryGenDumpFiles; }
782
inline uint64_t sygusQueryGenThresh() { return Options::current().quantifiers.sygusQueryGenThresh; }
783
50079
inline bool sygusRecFun() { return Options::current().quantifiers.sygusRecFun; }
784
3404
inline uint64_t sygusRecFunEvalLimit() { return Options::current().quantifiers.sygusRecFunEvalLimit; }
785
39601
inline bool sygusRepairConst() { return Options::current().quantifiers.sygusRepairConst; }
786
150
inline uint64_t sygusRepairConstTimeout() { return Options::current().quantifiers.sygusRepairConstTimeout; }
787
inline bool sygusRew() { return Options::current().quantifiers.sygusRew; }
788
1077
inline bool sygusRewSynth() { return Options::current().quantifiers.sygusRewSynth; }
789
9
inline bool sygusRewSynthAccel() { return Options::current().quantifiers.sygusRewSynthAccel; }
790
9
inline bool sygusRewSynthCheck() { return Options::current().quantifiers.sygusRewSynthCheck; }
791
804
inline bool sygusRewSynthFilterCong() { return Options::current().quantifiers.sygusRewSynthFilterCong; }
792
226
inline bool sygusRewSynthFilterMatch() { return Options::current().quantifiers.sygusRewSynthFilterMatch; }
793
458
inline bool sygusRewSynthFilterNonLinear() { return Options::current().quantifiers.sygusRewSynthFilterNonLinear; }
794
687
inline bool sygusRewSynthFilterOrder() { return Options::current().quantifiers.sygusRewSynthFilterOrder; }
795
6326
inline bool sygusRewSynthInput() { return Options::current().quantifiers.sygusRewSynthInput; }
796
inline int64_t sygusRewSynthInputNVars() { return Options::current().quantifiers.sygusRewSynthInputNVars; }
797
inline bool sygusRewSynthInputUseBool() { return Options::current().quantifiers.sygusRewSynthInputUseBool; }
798
1008
inline bool sygusRewSynthRec() { return Options::current().quantifiers.sygusRewSynthRec; }
799
4895
inline bool sygusRewVerify() { return Options::current().quantifiers.sygusRewVerify; }
800
inline bool sygusRewVerifyAbort() { return Options::current().quantifiers.sygusRewVerifyAbort; }
801
inline bool sygusSampleFpUniform() { return Options::current().quantifiers.sygusSampleFpUniform; }
802
363373
inline bool sygusSampleGrammar() { return Options::current().quantifiers.sygusSampleGrammar; }
803
21
inline int64_t sygusSamples() { return Options::current().quantifiers.sygusSamples; }
804
563
inline CegqiSingleInvMode cegqiSingleInvMode() { return Options::current().quantifiers.cegqiSingleInvMode; }
805
234
inline bool cegqiSingleInvAbort() { return Options::current().quantifiers.cegqiSingleInvAbort; }
806
283
inline CegqiSingleInvRconsMode cegqiSingleInvReconstruct() { return Options::current().quantifiers.cegqiSingleInvReconstruct; }
807
24
inline int64_t cegqiSingleInvReconstructLimit() { return Options::current().quantifiers.cegqiSingleInvReconstructLimit; }
808
1405
inline bool sygusStream() { return Options::current().quantifiers.sygusStream; }
809
79
inline bool sygusTemplEmbedGrammar() { return Options::current().quantifiers.sygusTemplEmbedGrammar; }
810
inline bool sygusUnifCondIndNoRepeatSol() { return Options::current().quantifiers.sygusUnifCondIndNoRepeatSol; }
811
2765
inline SygusUnifPiMode sygusUnifPi() { return Options::current().quantifiers.sygusUnifPi; }
812
inline bool sygusUnifShuffleCond() { return Options::current().quantifiers.sygusUnifShuffleCond; }
813
inline int64_t sygusVerifyInstMaxRounds() { return Options::current().quantifiers.sygusVerifyInstMaxRounds; }
814
99468
inline bool termDbCd() { return Options::current().quantifiers.termDbCd; }
815
1746938
inline TermDbMode termDbMode() { return Options::current().quantifiers.termDbMode; }
816
10927
inline TriggerActiveSelMode triggerActiveSelMode() { return Options::current().quantifiers.triggerActiveSelMode; }
817
4578
inline TriggerSelMode triggerSelMode() { return Options::current().quantifiers.triggerSelMode; }
818
104647
inline UserPatMode userPatternsQuant() { return Options::current().quantifiers.userPatternsQuant; }
819
inline bool varElimQuant() { return Options::current().quantifiers.varElimQuant; }
820
inline bool varIneqElimQuant() { return Options::current().quantifiers.varIneqElimQuant; }
821
// clang-format on
822
823
namespace quantifiers
824
{
825
// clang-format off
826
static constexpr const char* aggressiveMiniscopeQuant__name = "ag-miniscope-quant";
827
static constexpr const char* cegisSample__name = "cegis-sample";
828
static constexpr const char* cegqi__name = "cegqi";
829
static constexpr const char* cegqiAll__name = "cegqi-all";
830
static constexpr const char* cegqiBv__name = "cegqi-bv";
831
static constexpr const char* cegqiBvConcInv__name = "cegqi-bv-concat-inv";
832
static constexpr const char* cegqiBvIneqMode__name = "cegqi-bv-ineq";
833
static constexpr const char* cegqiBvInterleaveValue__name = "cegqi-bv-interleave-value";
834
static constexpr const char* cegqiBvLinearize__name = "cegqi-bv-linear";
835
static constexpr const char* cegqiBvRmExtract__name = "cegqi-bv-rm-extract";
836
static constexpr const char* cegqiBvSolveNl__name = "cegqi-bv-solve-nl";
837
static constexpr const char* cegqiFullEffort__name = "cegqi-full";
838
static constexpr const char* cegqiInnermost__name = "cegqi-innermost";
839
static constexpr const char* cegqiMidpoint__name = "cegqi-midpoint";
840
static constexpr const char* cegqiMinBounds__name = "cegqi-min-bounds";
841
static constexpr const char* cegqiModel__name = "cegqi-model";
842
static constexpr const char* cegqiMultiInst__name = "cegqi-multi-inst";
843
static constexpr const char* cegqiNestedQE__name = "cegqi-nested-qe";
844
static constexpr const char* cegqiNopt__name = "cegqi-nopt";
845
static constexpr const char* cegqiRepeatLit__name = "cegqi-repeat-lit";
846
static constexpr const char* cegqiRoundUpLowerLia__name = "cegqi-round-up-lia";
847
static constexpr const char* cegqiSat__name = "cegqi-sat";
848
static constexpr const char* cegqiUseInfInt__name = "cegqi-use-inf-int";
849
static constexpr const char* cegqiUseInfReal__name = "cegqi-use-inf-real";
850
static constexpr const char* condVarSplitQuantAgg__name = "cond-var-split-agg-quant";
851
static constexpr const char* condVarSplitQuant__name = "cond-var-split-quant";
852
static constexpr const char* conjectureFilterActiveTerms__name = "conjecture-filter-active-terms";
853
static constexpr const char* conjectureFilterCanonical__name = "conjecture-filter-canonical";
854
static constexpr const char* conjectureFilterModel__name = "conjecture-filter-model";
855
static constexpr const char* conjectureGen__name = "conjecture-gen";
856
static constexpr const char* conjectureGenGtEnum__name = "conjecture-gen-gt-enum";
857
static constexpr const char* conjectureGenMaxDepth__name = "conjecture-gen-max-depth";
858
static constexpr const char* conjectureGenPerRound__name = "conjecture-gen-per-round";
859
static constexpr const char* conjectureUeeIntro__name = "conjecture-gen-uee-intro";
860
static constexpr const char* conjectureNoFilter__name = "conjecture-no-filter";
861
static constexpr const char* dtStcInduction__name = "dt-stc-ind";
862
static constexpr const char* dtVarExpandQuant__name = "dt-var-exp-quant";
863
static constexpr const char* eMatching__name = "e-matching";
864
static constexpr const char* elimTautQuant__name = "elim-taut-quant";
865
static constexpr const char* extRewriteQuant__name = "ext-rewrite-quant";
866
static constexpr const char* finiteModelFind__name = "finite-model-find";
867
static constexpr const char* fmfBound__name = "fmf-bound";
868
static constexpr const char* fmfBoundInt__name = "fmf-bound-int";
869
static constexpr const char* fmfBoundLazy__name = "fmf-bound-lazy";
870
static constexpr const char* fmfFmcSimple__name = "fmf-fmc-simple";
871
static constexpr const char* fmfFreshDistConst__name = "fmf-fresh-dc";
872
static constexpr const char* fmfFunWellDefined__name = "fmf-fun";
873
static constexpr const char* fmfFunWellDefinedRelevant__name = "fmf-fun-rlv";
874
static constexpr const char* fmfInstEngine__name = "fmf-inst-engine";
875
static constexpr const char* fmfTypeCompletionThresh__name = "fmf-type-completion-thresh";
876
static constexpr const char* fullSaturateInterleave__name = "fs-interleave";
877
static constexpr const char* fullSaturateStratify__name = "fs-stratify";
878
static constexpr const char* fullSaturateSum__name = "fs-sum";
879
static constexpr const char* fullSaturateQuant__name = "full-saturate-quant";
880
static constexpr const char* fullSaturateLimit__name = "full-saturate-quant-limit";
881
static constexpr const char* fullSaturateQuantRd__name = "full-saturate-quant-rd";
882
static constexpr const char* globalNegate__name = "global-negate";
883
static constexpr const char* hoElim__name = "ho-elim";
884
static constexpr const char* hoElimStoreAx__name = "ho-elim-store-ax";
885
static constexpr const char* hoMatching__name = "ho-matching";
886
static constexpr const char* hoMatchingVarArgPriority__name = "ho-matching-var-priority";
887
static constexpr const char* hoMergeTermDb__name = "ho-merge-term-db";
888
static constexpr const char* incrementTriggers__name = "increment-triggers";
889
static constexpr const char* instLevelInputOnly__name = "inst-level-input-only";
890
static constexpr const char* instMaxLevel__name = "inst-max-level";
891
static constexpr const char* instMaxRounds__name = "inst-max-rounds";
892
static constexpr const char* instNoEntail__name = "inst-no-entail";
893
static constexpr const char* instWhenMode__name = "inst-when";
894
static constexpr const char* instWhenPhase__name = "inst-when-phase";
895
static constexpr const char* instWhenStrictInterleave__name = "inst-when-strict-interleave";
896
static constexpr const char* instWhenTcFirst__name = "inst-when-tc-first";
897
static constexpr const char* intWfInduction__name = "int-wf-ind";
898
static constexpr const char* iteDtTesterSplitQuant__name = "ite-dtt-split-quant";
899
static constexpr const char* iteLiftQuant__name = "ite-lift-quant";
900
static constexpr const char* literalMatchMode__name = "literal-matching";
901
static constexpr const char* macrosQuant__name = "macros-quant";
902
static constexpr const char* macrosQuantMode__name = "macros-quant-mode";
903
static constexpr const char* mbqiMode__name = "mbqi";
904
static constexpr const char* mbqiInterleave__name = "mbqi-interleave";
905
static constexpr const char* fmfOneInstPerRound__name = "mbqi-one-inst-per-round";
906
static constexpr const char* miniscopeQuant__name = "miniscope-quant";
907
static constexpr const char* miniscopeQuantFreeVar__name = "miniscope-quant-fv";
908
static constexpr const char* multiTriggerCache__name = "multi-trigger-cache";
909
static constexpr const char* multiTriggerLinear__name = "multi-trigger-linear";
910
static constexpr const char* multiTriggerPriority__name = "multi-trigger-priority";
911
static constexpr const char* multiTriggerWhenSingle__name = "multi-trigger-when-single";
912
static constexpr const char* partialTriggers__name = "partial-triggers";
913
static constexpr const char* poolInst__name = "pool-inst";
914
static constexpr const char* preSkolemQuant__name = "pre-skolem-quant";
915
static constexpr const char* preSkolemQuantAgg__name = "pre-skolem-quant-agg";
916
static constexpr const char* preSkolemQuantNested__name = "pre-skolem-quant-nested";
917
static constexpr const char* prenexQuant__name = "prenex-quant";
918
static constexpr const char* prenexQuantUser__name = "prenex-quant-user";
919
static constexpr const char* purifyTriggers__name = "purify-triggers";
920
static constexpr const char* qcfAllConflict__name = "qcf-all-conflict";
921
static constexpr const char* qcfEagerCheckRd__name = "qcf-eager-check-rd";
922
static constexpr const char* qcfEagerTest__name = "qcf-eager-test";
923
static constexpr const char* qcfNestedConflict__name = "qcf-nested-conflict";
924
static constexpr const char* qcfSkipRd__name = "qcf-skip-rd";
925
static constexpr const char* qcfTConstraint__name = "qcf-tconstraint";
926
static constexpr const char* qcfVoExp__name = "qcf-vo-exp";
927
static constexpr const char* quantAlphaEquiv__name = "quant-alpha-equiv";
928
static constexpr const char* quantConflictFind__name = "quant-cf";
929
static constexpr const char* qcfMode__name = "quant-cf-mode";
930
static constexpr const char* qcfWhenMode__name = "quant-cf-when";
931
static constexpr const char* quantDynamicSplit__name = "quant-dsplit-mode";
932
static constexpr const char* quantFunWellDefined__name = "quant-fun-wd";
933
static constexpr const char* quantInduction__name = "quant-ind";
934
static constexpr const char* quantRepMode__name = "quant-rep-mode";
935
static constexpr const char* quantSplit__name = "quant-split";
936
static constexpr const char* registerQuantBodyTerms__name = "register-quant-body-terms";
937
static constexpr const char* relationalTriggers__name = "relational-triggers";
938
static constexpr const char* relevantTriggers__name = "relevant-triggers";
939
static constexpr const char* sygus__name = "sygus";
940
static constexpr const char* sygusActiveGenMode__name = "sygus-active-gen";
941
static constexpr const char* sygusActiveGenEnumConsts__name = "sygus-active-gen-cfactor";
942
static constexpr const char* sygusAddConstGrammar__name = "sygus-add-const-grammar";
943
static constexpr const char* sygusArgRelevant__name = "sygus-arg-relevant";
944
static constexpr const char* sygusInvAutoUnfold__name = "sygus-auto-unfold";
945
static constexpr const char* sygusBoolIteReturnConst__name = "sygus-bool-ite-return-const";
946
static constexpr const char* sygusCoreConnective__name = "sygus-core-connective";
947
static constexpr const char* sygusConstRepairAbort__name = "sygus-crepair-abort";
948
static constexpr const char* sygusEvalOpt__name = "sygus-eval-opt";
949
static constexpr const char* sygusEvalUnfold__name = "sygus-eval-unfold";
950
static constexpr const char* sygusEvalUnfoldBool__name = "sygus-eval-unfold-bool";
951
static constexpr const char* sygusExprMinerCheckTimeout__name = "sygus-expr-miner-check-timeout";
952
static constexpr const char* sygusExtRew__name = "sygus-ext-rew";
953
static constexpr const char* sygusFilterSolMode__name = "sygus-filter-sol";
954
static constexpr const char* sygusFilterSolRevSubsume__name = "sygus-filter-sol-rev";
955
static constexpr const char* sygusGrammarConsMode__name = "sygus-grammar-cons";
956
static constexpr const char* sygusGrammarNorm__name = "sygus-grammar-norm";
957
static constexpr const char* sygusInference__name = "sygus-inference";
958
static constexpr const char* sygusInst__name = "sygus-inst";
959
static constexpr const char* sygusInstMode__name = "sygus-inst-mode";
960
static constexpr const char* sygusInstScope__name = "sygus-inst-scope";
961
static constexpr const char* sygusInstTermSel__name = "sygus-inst-term-sel";
962
static constexpr const char* sygusInvTemplMode__name = "sygus-inv-templ";
963
static constexpr const char* sygusInvTemplWhenSyntax__name = "sygus-inv-templ-when-sg";
964
static constexpr const char* sygusMinGrammar__name = "sygus-min-grammar";
965
static constexpr const char* sygusUnifPbe__name = "sygus-pbe";
966
static constexpr const char* sygusPbeMultiFair__name = "sygus-pbe-multi-fair";
967
static constexpr const char* sygusPbeMultiFairDiff__name = "sygus-pbe-multi-fair-diff";
968
static constexpr const char* sygusQePreproc__name = "sygus-qe-preproc";
969
static constexpr const char* sygusQueryGen__name = "sygus-query-gen";
970
static constexpr const char* sygusQueryGenCheck__name = "sygus-query-gen-check";
971
static constexpr const char* sygusQueryGenDumpFiles__name = "sygus-query-gen-dump-files";
972
static constexpr const char* sygusQueryGenThresh__name = "sygus-query-gen-thresh";
973
static constexpr const char* sygusRecFun__name = "sygus-rec-fun";
974
static constexpr const char* sygusRecFunEvalLimit__name = "sygus-rec-fun-eval-limit";
975
static constexpr const char* sygusRepairConst__name = "sygus-repair-const";
976
static constexpr const char* sygusRepairConstTimeout__name = "sygus-repair-const-timeout";
977
static constexpr const char* sygusRew__name = "sygus-rr";
978
static constexpr const char* sygusRewSynth__name = "sygus-rr-synth";
979
static constexpr const char* sygusRewSynthAccel__name = "sygus-rr-synth-accel";
980
static constexpr const char* sygusRewSynthCheck__name = "sygus-rr-synth-check";
981
static constexpr const char* sygusRewSynthFilterCong__name = "sygus-rr-synth-filter-cong";
982
static constexpr const char* sygusRewSynthFilterMatch__name = "sygus-rr-synth-filter-match";
983
static constexpr const char* sygusRewSynthFilterNonLinear__name = "sygus-rr-synth-filter-nl";
984
static constexpr const char* sygusRewSynthFilterOrder__name = "sygus-rr-synth-filter-order";
985
static constexpr const char* sygusRewSynthInput__name = "sygus-rr-synth-input";
986
static constexpr const char* sygusRewSynthInputNVars__name = "sygus-rr-synth-input-nvars";
987
static constexpr const char* sygusRewSynthInputUseBool__name = "sygus-rr-synth-input-use-bool";
988
static constexpr const char* sygusRewSynthRec__name = "sygus-rr-synth-rec";
989
static constexpr const char* sygusRewVerify__name = "sygus-rr-verify";
990
static constexpr const char* sygusRewVerifyAbort__name = "sygus-rr-verify-abort";
991
static constexpr const char* sygusSampleFpUniform__name = "sygus-sample-fp-uniform";
992
static constexpr const char* sygusSampleGrammar__name = "sygus-sample-grammar";
993
static constexpr const char* sygusSamples__name = "sygus-samples";
994
static constexpr const char* cegqiSingleInvMode__name = "sygus-si";
995
static constexpr const char* cegqiSingleInvAbort__name = "sygus-si-abort";
996
static constexpr const char* cegqiSingleInvReconstruct__name = "sygus-si-rcons";
997
static constexpr const char* cegqiSingleInvReconstructLimit__name = "sygus-si-rcons-limit";
998
static constexpr const char* sygusStream__name = "sygus-stream";
999
static constexpr const char* sygusTemplEmbedGrammar__name = "sygus-templ-embed-grammar";
1000
static constexpr const char* sygusUnifCondIndNoRepeatSol__name = "sygus-unif-cond-independent-no-repeat-sol";
1001
static constexpr const char* sygusUnifPi__name = "sygus-unif-pi";
1002
static constexpr const char* sygusUnifShuffleCond__name = "sygus-unif-shuffle-cond";
1003
static constexpr const char* sygusVerifyInstMaxRounds__name = "sygus-verify-inst-max-rounds";
1004
static constexpr const char* termDbCd__name = "term-db-cd";
1005
static constexpr const char* termDbMode__name = "term-db-mode";
1006
static constexpr const char* triggerActiveSelMode__name = "trigger-active-sel";
1007
static constexpr const char* triggerSelMode__name = "trigger-sel";
1008
static constexpr const char* userPatternsQuant__name = "user-pat";
1009
static constexpr const char* varElimQuant__name = "var-elim-quant";
1010
static constexpr const char* varIneqElimQuant__name = "var-ineq-elim-quant";
1011
1012
void setDefaultAggressiveMiniscopeQuant(Options& opts, bool value);
1013
void setDefaultCegisSample(Options& opts, CegisSampleMode value);
1014
void setDefaultCegqi(Options& opts, bool value);
1015
void setDefaultCegqiAll(Options& opts, bool value);
1016
void setDefaultCegqiBv(Options& opts, bool value);
1017
void setDefaultCegqiBvConcInv(Options& opts, bool value);
1018
void setDefaultCegqiBvIneqMode(Options& opts, CegqiBvIneqMode value);
1019
void setDefaultCegqiBvInterleaveValue(Options& opts, bool value);
1020
void setDefaultCegqiBvLinearize(Options& opts, bool value);
1021
void setDefaultCegqiBvRmExtract(Options& opts, bool value);
1022
void setDefaultCegqiBvSolveNl(Options& opts, bool value);
1023
void setDefaultCegqiFullEffort(Options& opts, bool value);
1024
void setDefaultCegqiInnermost(Options& opts, bool value);
1025
void setDefaultCegqiMidpoint(Options& opts, bool value);
1026
void setDefaultCegqiMinBounds(Options& opts, bool value);
1027
void setDefaultCegqiModel(Options& opts, bool value);
1028
void setDefaultCegqiMultiInst(Options& opts, bool value);
1029
void setDefaultCegqiNestedQE(Options& opts, bool value);
1030
void setDefaultCegqiNopt(Options& opts, bool value);
1031
void setDefaultCegqiRepeatLit(Options& opts, bool value);
1032
void setDefaultCegqiRoundUpLowerLia(Options& opts, bool value);
1033
void setDefaultCegqiSat(Options& opts, bool value);
1034
void setDefaultCegqiUseInfInt(Options& opts, bool value);
1035
void setDefaultCegqiUseInfReal(Options& opts, bool value);
1036
void setDefaultCondVarSplitQuantAgg(Options& opts, bool value);
1037
void setDefaultCondVarSplitQuant(Options& opts, bool value);
1038
void setDefaultConjectureFilterActiveTerms(Options& opts, bool value);
1039
void setDefaultConjectureFilterCanonical(Options& opts, bool value);
1040
void setDefaultConjectureFilterModel(Options& opts, bool value);
1041
void setDefaultConjectureGen(Options& opts, bool value);
1042
void setDefaultConjectureGenGtEnum(Options& opts, int64_t value);
1043
void setDefaultConjectureGenMaxDepth(Options& opts, int64_t value);
1044
void setDefaultConjectureGenPerRound(Options& opts, int64_t value);
1045
void setDefaultConjectureUeeIntro(Options& opts, bool value);
1046
void setDefaultConjectureNoFilter(Options& opts, bool value);
1047
void setDefaultDtStcInduction(Options& opts, bool value);
1048
void setDefaultDtVarExpandQuant(Options& opts, bool value);
1049
void setDefaultEMatching(Options& opts, bool value);
1050
void setDefaultElimTautQuant(Options& opts, bool value);
1051
void setDefaultExtRewriteQuant(Options& opts, bool value);
1052
void setDefaultFiniteModelFind(Options& opts, bool value);
1053
void setDefaultFmfBound(Options& opts, bool value);
1054
void setDefaultFmfBoundInt(Options& opts, bool value);
1055
void setDefaultFmfBoundLazy(Options& opts, bool value);
1056
void setDefaultFmfFmcSimple(Options& opts, bool value);
1057
void setDefaultFmfFreshDistConst(Options& opts, bool value);
1058
void setDefaultFmfFunWellDefined(Options& opts, bool value);
1059
void setDefaultFmfFunWellDefinedRelevant(Options& opts, bool value);
1060
void setDefaultFmfInstEngine(Options& opts, bool value);
1061
void setDefaultFmfTypeCompletionThresh(Options& opts, int64_t value);
1062
void setDefaultFullSaturateInterleave(Options& opts, bool value);
1063
void setDefaultFullSaturateStratify(Options& opts, bool value);
1064
void setDefaultFullSaturateSum(Options& opts, bool value);
1065
void setDefaultFullSaturateQuant(Options& opts, bool value);
1066
void setDefaultFullSaturateLimit(Options& opts, int64_t value);
1067
void setDefaultFullSaturateQuantRd(Options& opts, bool value);
1068
void setDefaultGlobalNegate(Options& opts, bool value);
1069
void setDefaultHoElim(Options& opts, bool value);
1070
void setDefaultHoElimStoreAx(Options& opts, bool value);
1071
void setDefaultHoMatching(Options& opts, bool value);
1072
void setDefaultHoMatchingVarArgPriority(Options& opts, bool value);
1073
void setDefaultHoMergeTermDb(Options& opts, bool value);
1074
void setDefaultIncrementTriggers(Options& opts, bool value);
1075
void setDefaultInstLevelInputOnly(Options& opts, bool value);
1076
void setDefaultInstMaxLevel(Options& opts, int64_t value);
1077
void setDefaultInstMaxRounds(Options& opts, int64_t value);
1078
void setDefaultInstNoEntail(Options& opts, bool value);
1079
void setDefaultInstWhenMode(Options& opts, InstWhenMode value);
1080
void setDefaultInstWhenPhase(Options& opts, int64_t value);
1081
void setDefaultInstWhenStrictInterleave(Options& opts, bool value);
1082
void setDefaultInstWhenTcFirst(Options& opts, bool value);
1083
void setDefaultIntWfInduction(Options& opts, bool value);
1084
void setDefaultIteDtTesterSplitQuant(Options& opts, bool value);
1085
void setDefaultIteLiftQuant(Options& opts, IteLiftQuantMode value);
1086
void setDefaultLiteralMatchMode(Options& opts, LiteralMatchMode value);
1087
void setDefaultMacrosQuant(Options& opts, bool value);
1088
void setDefaultMacrosQuantMode(Options& opts, MacrosQuantMode value);
1089
void setDefaultMbqiMode(Options& opts, MbqiMode value);
1090
void setDefaultMbqiInterleave(Options& opts, bool value);
1091
void setDefaultFmfOneInstPerRound(Options& opts, bool value);
1092
void setDefaultMiniscopeQuant(Options& opts, bool value);
1093
void setDefaultMiniscopeQuantFreeVar(Options& opts, bool value);
1094
void setDefaultMultiTriggerCache(Options& opts, bool value);
1095
void setDefaultMultiTriggerLinear(Options& opts, bool value);
1096
void setDefaultMultiTriggerPriority(Options& opts, bool value);
1097
void setDefaultMultiTriggerWhenSingle(Options& opts, bool value);
1098
void setDefaultPartialTriggers(Options& opts, bool value);
1099
void setDefaultPoolInst(Options& opts, bool value);
1100
void setDefaultPreSkolemQuant(Options& opts, bool value);
1101
void setDefaultPreSkolemQuantAgg(Options& opts, bool value);
1102
void setDefaultPreSkolemQuantNested(Options& opts, bool value);
1103
void setDefaultPrenexQuant(Options& opts, PrenexQuantMode value);
1104
void setDefaultPrenexQuantUser(Options& opts, bool value);
1105
void setDefaultPurifyTriggers(Options& opts, bool value);
1106
void setDefaultQcfAllConflict(Options& opts, bool value);
1107
void setDefaultQcfEagerCheckRd(Options& opts, bool value);
1108
void setDefaultQcfEagerTest(Options& opts, bool value);
1109
void setDefaultQcfNestedConflict(Options& opts, bool value);
1110
void setDefaultQcfSkipRd(Options& opts, bool value);
1111
void setDefaultQcfTConstraint(Options& opts, bool value);
1112
void setDefaultQcfVoExp(Options& opts, bool value);
1113
void setDefaultQuantAlphaEquiv(Options& opts, bool value);
1114
void setDefaultQuantConflictFind(Options& opts, bool value);
1115
void setDefaultQcfMode(Options& opts, QcfMode value);
1116
void setDefaultQcfWhenMode(Options& opts, QcfWhenMode value);
1117
void setDefaultQuantDynamicSplit(Options& opts, QuantDSplitMode value);
1118
void setDefaultQuantFunWellDefined(Options& opts, bool value);
1119
void setDefaultQuantInduction(Options& opts, bool value);
1120
void setDefaultQuantRepMode(Options& opts, QuantRepMode value);
1121
void setDefaultQuantSplit(Options& opts, bool value);
1122
void setDefaultRegisterQuantBodyTerms(Options& opts, bool value);
1123
void setDefaultRelationalTriggers(Options& opts, bool value);
1124
void setDefaultRelevantTriggers(Options& opts, bool value);
1125
void setDefaultSygus(Options& opts, bool value);
1126
void setDefaultSygusActiveGenMode(Options& opts, SygusActiveGenMode value);
1127
void setDefaultSygusActiveGenEnumConsts(Options& opts, uint64_t value);
1128
void setDefaultSygusAddConstGrammar(Options& opts, bool value);
1129
void setDefaultSygusArgRelevant(Options& opts, bool value);
1130
void setDefaultSygusInvAutoUnfold(Options& opts, bool value);
1131
void setDefaultSygusBoolIteReturnConst(Options& opts, bool value);
1132
void setDefaultSygusCoreConnective(Options& opts, bool value);
1133
void setDefaultSygusConstRepairAbort(Options& opts, bool value);
1134
void setDefaultSygusEvalOpt(Options& opts, bool value);
1135
void setDefaultSygusEvalUnfold(Options& opts, bool value);
1136
void setDefaultSygusEvalUnfoldBool(Options& opts, bool value);
1137
void setDefaultSygusExprMinerCheckTimeout(Options& opts, uint64_t value);
1138
void setDefaultSygusExtRew(Options& opts, bool value);
1139
void setDefaultSygusFilterSolMode(Options& opts, SygusFilterSolMode value);
1140
void setDefaultSygusFilterSolRevSubsume(Options& opts, bool value);
1141
void setDefaultSygusGrammarConsMode(Options& opts, SygusGrammarConsMode value);
1142
void setDefaultSygusGrammarNorm(Options& opts, bool value);
1143
void setDefaultSygusInference(Options& opts, bool value);
1144
void setDefaultSygusInst(Options& opts, bool value);
1145
void setDefaultSygusInstMode(Options& opts, SygusInstMode value);
1146
void setDefaultSygusInstScope(Options& opts, SygusInstScope value);
1147
void setDefaultSygusInstTermSel(Options& opts, SygusInstTermSelMode value);
1148
void setDefaultSygusInvTemplMode(Options& opts, SygusInvTemplMode value);
1149
void setDefaultSygusInvTemplWhenSyntax(Options& opts, bool value);
1150
void setDefaultSygusMinGrammar(Options& opts, bool value);
1151
void setDefaultSygusUnifPbe(Options& opts, bool value);
1152
void setDefaultSygusPbeMultiFair(Options& opts, bool value);
1153
void setDefaultSygusPbeMultiFairDiff(Options& opts, int64_t value);
1154
void setDefaultSygusQePreproc(Options& opts, bool value);
1155
void setDefaultSygusQueryGen(Options& opts, bool value);
1156
void setDefaultSygusQueryGenCheck(Options& opts, bool value);
1157
void setDefaultSygusQueryGenDumpFiles(Options& opts, SygusQueryDumpFilesMode value);
1158
void setDefaultSygusQueryGenThresh(Options& opts, uint64_t value);
1159
void setDefaultSygusRecFun(Options& opts, bool value);
1160
void setDefaultSygusRecFunEvalLimit(Options& opts, uint64_t value);
1161
void setDefaultSygusRepairConst(Options& opts, bool value);
1162
void setDefaultSygusRepairConstTimeout(Options& opts, uint64_t value);
1163
void setDefaultSygusRew(Options& opts, bool value);
1164
void setDefaultSygusRewSynth(Options& opts, bool value);
1165
void setDefaultSygusRewSynthAccel(Options& opts, bool value);
1166
void setDefaultSygusRewSynthCheck(Options& opts, bool value);
1167
void setDefaultSygusRewSynthFilterCong(Options& opts, bool value);
1168
void setDefaultSygusRewSynthFilterMatch(Options& opts, bool value);
1169
void setDefaultSygusRewSynthFilterNonLinear(Options& opts, bool value);
1170
void setDefaultSygusRewSynthFilterOrder(Options& opts, bool value);
1171
void setDefaultSygusRewSynthInput(Options& opts, bool value);
1172
void setDefaultSygusRewSynthInputNVars(Options& opts, int64_t value);
1173
void setDefaultSygusRewSynthInputUseBool(Options& opts, bool value);
1174
void setDefaultSygusRewSynthRec(Options& opts, bool value);
1175
void setDefaultSygusRewVerify(Options& opts, bool value);
1176
void setDefaultSygusRewVerifyAbort(Options& opts, bool value);
1177
void setDefaultSygusSampleFpUniform(Options& opts, bool value);
1178
void setDefaultSygusSampleGrammar(Options& opts, bool value);
1179
void setDefaultSygusSamples(Options& opts, int64_t value);
1180
void setDefaultCegqiSingleInvMode(Options& opts, CegqiSingleInvMode value);
1181
void setDefaultCegqiSingleInvAbort(Options& opts, bool value);
1182
void setDefaultCegqiSingleInvReconstruct(Options& opts, CegqiSingleInvRconsMode value);
1183
void setDefaultCegqiSingleInvReconstructLimit(Options& opts, int64_t value);
1184
void setDefaultSygusStream(Options& opts, bool value);
1185
void setDefaultSygusTemplEmbedGrammar(Options& opts, bool value);
1186
void setDefaultSygusUnifCondIndNoRepeatSol(Options& opts, bool value);
1187
void setDefaultSygusUnifPi(Options& opts, SygusUnifPiMode value);
1188
void setDefaultSygusUnifShuffleCond(Options& opts, bool value);
1189
void setDefaultSygusVerifyInstMaxRounds(Options& opts, int64_t value);
1190
void setDefaultTermDbCd(Options& opts, bool value);
1191
void setDefaultTermDbMode(Options& opts, TermDbMode value);
1192
void setDefaultTriggerActiveSelMode(Options& opts, TriggerActiveSelMode value);
1193
void setDefaultTriggerSelMode(Options& opts, TriggerSelMode value);
1194
void setDefaultUserPatternsQuant(Options& opts, UserPatMode value);
1195
void setDefaultVarElimQuant(Options& opts, bool value);
1196
void setDefaultVarIneqElimQuant(Options& opts, bool value);
1197
// clang-format on
1198
}
1199
1200
}  // namespace cvc5::options
1201
1202
#endif /* CVC5__OPTIONS__QUANTIFIERS_H */