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