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