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__ARITH_H |
22 |
|
#define CVC5__OPTIONS__ARITH_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 ArithPropagationMode |
35 |
|
{ |
36 |
|
BOUND_INFERENCE_PROP, |
37 |
|
UNATE_PROP, |
38 |
|
BOTH_PROP, |
39 |
|
NO_PROP |
40 |
|
}; |
41 |
|
|
42 |
|
static constexpr size_t ArithPropagationMode__numValues = 4; |
43 |
|
|
44 |
|
std::ostream& operator<<(std::ostream& os, ArithPropagationMode mode); |
45 |
|
ArithPropagationMode stringToArithPropagationMode(const std::string& optarg); |
46 |
|
|
47 |
|
enum class ErrorSelectionRule |
48 |
|
{ |
49 |
|
SUM_METRIC, |
50 |
|
VAR_ORDER, |
51 |
|
MINIMUM_AMOUNT, |
52 |
|
MAXIMUM_AMOUNT |
53 |
|
}; |
54 |
|
|
55 |
|
static constexpr size_t ErrorSelectionRule__numValues = 4; |
56 |
|
|
57 |
|
std::ostream& operator<<(std::ostream& os, ErrorSelectionRule mode); |
58 |
|
ErrorSelectionRule stringToErrorSelectionRule(const std::string& optarg); |
59 |
|
|
60 |
|
enum class NlCadLiftingMode |
61 |
|
{ |
62 |
|
REGULAR, |
63 |
|
LAZARD |
64 |
|
}; |
65 |
|
|
66 |
|
static constexpr size_t NlCadLiftingMode__numValues = 2; |
67 |
|
|
68 |
|
std::ostream& operator<<(std::ostream& os, NlCadLiftingMode mode); |
69 |
|
NlCadLiftingMode stringToNlCadLiftingMode(const std::string& optarg); |
70 |
|
|
71 |
|
enum class NlCadProjectionMode |
72 |
|
{ |
73 |
|
MCCALLUM, |
74 |
|
LAZARD, |
75 |
|
LAZARDMOD |
76 |
|
}; |
77 |
|
|
78 |
|
static constexpr size_t NlCadProjectionMode__numValues = 3; |
79 |
|
|
80 |
|
std::ostream& operator<<(std::ostream& os, NlCadProjectionMode mode); |
81 |
|
NlCadProjectionMode stringToNlCadProjectionMode(const std::string& optarg); |
82 |
|
|
83 |
|
enum class NlExtMode |
84 |
|
{ |
85 |
|
FULL, |
86 |
|
NONE, |
87 |
|
LIGHT |
88 |
|
}; |
89 |
|
|
90 |
|
static constexpr size_t NlExtMode__numValues = 3; |
91 |
|
|
92 |
|
std::ostream& operator<<(std::ostream& os, NlExtMode mode); |
93 |
|
NlExtMode stringToNlExtMode(const std::string& optarg); |
94 |
|
|
95 |
|
enum class NlRlvMode |
96 |
|
{ |
97 |
|
INTERLEAVE, |
98 |
|
ALWAYS, |
99 |
|
NONE |
100 |
|
}; |
101 |
|
|
102 |
|
static constexpr size_t NlRlvMode__numValues = 3; |
103 |
|
|
104 |
|
std::ostream& operator<<(std::ostream& os, NlRlvMode mode); |
105 |
|
NlRlvMode stringToNlRlvMode(const std::string& optarg); |
106 |
|
|
107 |
|
enum class ArithUnateLemmaMode |
108 |
|
{ |
109 |
|
EQUALITY, |
110 |
|
NO, |
111 |
|
ALL, |
112 |
|
INEQUALITY |
113 |
|
}; |
114 |
|
|
115 |
|
static constexpr size_t ArithUnateLemmaMode__numValues = 4; |
116 |
|
|
117 |
|
std::ostream& operator<<(std::ostream& os, ArithUnateLemmaMode mode); |
118 |
|
ArithUnateLemmaMode stringToArithUnateLemmaMode(const std::string& optarg); |
119 |
|
// clang-format on |
120 |
|
|
121 |
|
#if defined(CVC5_MUZZLED) || defined(CVC5_COMPETITION_MODE) |
122 |
|
# define DO_SEMANTIC_CHECKS_BY_DEFAULT false |
123 |
|
#else /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */ |
124 |
|
# define DO_SEMANTIC_CHECKS_BY_DEFAULT true |
125 |
|
#endif /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */ |
126 |
|
|
127 |
24069 |
struct HolderARITH |
128 |
|
{ |
129 |
|
// clang-format off |
130 |
|
int64_t maxApproxDepth = 200; |
131 |
|
bool maxApproxDepthWasSetByUser = false; |
132 |
|
bool brabTest = true; |
133 |
|
bool brabTestWasSetByUser = false; |
134 |
|
bool arithCongMan = true; |
135 |
|
bool arithCongManWasSetByUser = false; |
136 |
|
bool arithEqSolver = false; |
137 |
|
bool arithEqSolverWasSetByUser = false; |
138 |
|
bool arithNoPartialFun = false; |
139 |
|
bool arithNoPartialFunWasSetByUser = false; |
140 |
|
uint64_t arithPropAsLemmaLength = 8; |
141 |
|
bool arithPropAsLemmaLengthWasSetByUser = false; |
142 |
|
ArithPropagationMode arithPropagationMode = ArithPropagationMode::BOTH_PROP; |
143 |
|
bool arithPropagationModeWasSetByUser = false; |
144 |
|
bool arithRewriteEq = false; |
145 |
|
bool arithRewriteEqWasSetByUser = false; |
146 |
|
bool collectPivots = false; |
147 |
|
bool collectPivotsWasSetByUser = false; |
148 |
|
bool doCutAllBounded = false; |
149 |
|
bool doCutAllBoundedWasSetByUser = false; |
150 |
|
bool exportDioDecompositions = false; |
151 |
|
bool exportDioDecompositionsWasSetByUser = false; |
152 |
|
bool dioRepeat = false; |
153 |
|
bool dioRepeatWasSetByUser = false; |
154 |
|
bool arithDioSolver = true; |
155 |
|
bool arithDioSolverWasSetByUser = false; |
156 |
|
int64_t dioSolverTurns = 10; |
157 |
|
bool dioSolverTurnsWasSetByUser = false; |
158 |
|
ErrorSelectionRule arithErrorSelectionRule = ErrorSelectionRule::MINIMUM_AMOUNT; |
159 |
|
bool arithErrorSelectionRuleWasSetByUser = false; |
160 |
|
bool havePenalties = false; |
161 |
|
bool havePenaltiesWasSetByUser = false; |
162 |
|
int64_t arithHeuristicPivots = 0; |
163 |
|
bool arithHeuristicPivotsWasSetByUser = false; |
164 |
|
bool replayFailureLemma = false; |
165 |
|
bool replayFailureLemmaWasSetByUser = false; |
166 |
|
uint64_t maxCutsInContext = 65535; |
167 |
|
bool maxCutsInContextWasSetByUser = false; |
168 |
|
bool arithMLTrick = false; |
169 |
|
bool arithMLTrickWasSetByUser = false; |
170 |
|
uint64_t arithMLTrickSubstitutions = 1; |
171 |
|
bool arithMLTrickSubstitutionsWasSetByUser = false; |
172 |
|
bool newProp = true; |
173 |
|
bool newPropWasSetByUser = false; |
174 |
|
bool nlCad = false; |
175 |
|
bool nlCadWasSetByUser = false; |
176 |
|
bool nlCadUseInitial = false; |
177 |
|
bool nlCadUseInitialWasSetByUser = false; |
178 |
|
NlCadLiftingMode nlCadLifting = NlCadLiftingMode::REGULAR; |
179 |
|
bool nlCadLiftingWasSetByUser = false; |
180 |
|
NlCadProjectionMode nlCadProjection = NlCadProjectionMode::MCCALLUM; |
181 |
|
bool nlCadProjectionWasSetByUser = false; |
182 |
|
bool nlExtEntailConflicts = false; |
183 |
|
bool nlExtEntailConflictsWasSetByUser = false; |
184 |
|
bool nlExtFactor = true; |
185 |
|
bool nlExtFactorWasSetByUser = false; |
186 |
|
bool nlExtIncPrecision = true; |
187 |
|
bool nlExtIncPrecisionWasSetByUser = false; |
188 |
|
bool nlExtPurify = false; |
189 |
|
bool nlExtPurifyWasSetByUser = false; |
190 |
|
bool nlExtResBound = false; |
191 |
|
bool nlExtResBoundWasSetByUser = false; |
192 |
|
bool nlExtRewrites = true; |
193 |
|
bool nlExtRewritesWasSetByUser = false; |
194 |
|
bool nlExtSplitZero = false; |
195 |
|
bool nlExtSplitZeroWasSetByUser = false; |
196 |
|
int64_t nlExtTfTaylorDegree = 4; |
197 |
|
bool nlExtTfTaylorDegreeWasSetByUser = false; |
198 |
|
bool nlExtTfTangentPlanes = true; |
199 |
|
bool nlExtTfTangentPlanesWasSetByUser = false; |
200 |
|
bool nlExtTangentPlanes = false; |
201 |
|
bool nlExtTangentPlanesWasSetByUser = false; |
202 |
|
bool nlExtTangentPlanesInterleave = false; |
203 |
|
bool nlExtTangentPlanesInterleaveWasSetByUser = false; |
204 |
|
NlExtMode nlExt = NlExtMode::FULL; |
205 |
|
bool nlExtWasSetByUser = false; |
206 |
|
bool nlICP = false; |
207 |
|
bool nlICPWasSetByUser = false; |
208 |
|
bool nlRlvAssertBounds = false; |
209 |
|
bool nlRlvAssertBoundsWasSetByUser = false; |
210 |
|
NlRlvMode nlRlvMode = NlRlvMode::NONE; |
211 |
|
bool nlRlvModeWasSetByUser = false; |
212 |
|
bool pbRewrites = false; |
213 |
|
bool pbRewritesWasSetByUser = false; |
214 |
|
uint64_t arithPivotThreshold = 2; |
215 |
|
bool arithPivotThresholdWasSetByUser = false; |
216 |
|
uint64_t ppAssertMaxSubSize = 2; |
217 |
|
bool ppAssertMaxSubSizeWasSetByUser = false; |
218 |
|
uint64_t arithPropagateMaxLength = 16; |
219 |
|
bool arithPropagateMaxLengthWasSetByUser = false; |
220 |
|
int64_t replayEarlyCloseDepths = 1; |
221 |
|
bool replayEarlyCloseDepthsWasSetByUser = false; |
222 |
|
int64_t replayFailurePenalty = 100; |
223 |
|
bool replayFailurePenaltyWasSetByUser = false; |
224 |
|
uint64_t lemmaRejectCutSize = 25500; |
225 |
|
bool lemmaRejectCutSizeWasSetByUser = false; |
226 |
|
int64_t replayNumericFailurePenalty = 4194304; |
227 |
|
bool replayNumericFailurePenaltyWasSetByUser = false; |
228 |
|
uint64_t replayRejectCutSize = 25500; |
229 |
|
bool replayRejectCutSizeWasSetByUser = false; |
230 |
|
int64_t soiApproxMajorFailurePen = 50; |
231 |
|
bool soiApproxMajorFailurePenWasSetByUser = false; |
232 |
|
double soiApproxMajorFailure = .01; |
233 |
|
bool soiApproxMajorFailureWasSetByUser = false; |
234 |
|
int64_t soiApproxMinorFailurePen = 10; |
235 |
|
bool soiApproxMinorFailurePenWasSetByUser = false; |
236 |
|
double soiApproxMinorFailure = .0001; |
237 |
|
bool soiApproxMinorFailureWasSetByUser = false; |
238 |
|
bool restrictedPivots = true; |
239 |
|
bool restrictedPivotsWasSetByUser = false; |
240 |
|
bool revertArithModels = false; |
241 |
|
bool revertArithModelsWasSetByUser = false; |
242 |
|
int64_t rrTurns = 3; |
243 |
|
bool rrTurnsWasSetByUser = false; |
244 |
|
bool trySolveIntStandardEffort = false; |
245 |
|
bool trySolveIntStandardEffortWasSetByUser = false; |
246 |
|
uint64_t arithSimplexCheckPeriod = 200; |
247 |
|
bool arithSimplexCheckPeriodWasSetByUser = false; |
248 |
|
bool soiQuickExplain = false; |
249 |
|
bool soiQuickExplainWasSetByUser = false; |
250 |
|
int64_t arithStandardCheckVarOrderPivots = -1; |
251 |
|
bool arithStandardCheckVarOrderPivotsWasSetByUser = false; |
252 |
|
ArithUnateLemmaMode arithUnateLemmaMode = ArithUnateLemmaMode::ALL; |
253 |
|
bool arithUnateLemmaModeWasSetByUser = false; |
254 |
|
bool useApprox = false; |
255 |
|
bool useApproxWasSetByUser = false; |
256 |
|
bool useFC = false; |
257 |
|
bool useFCWasSetByUser = false; |
258 |
|
bool useSOI = false; |
259 |
|
bool useSOIWasSetByUser = false; |
260 |
|
// clang-format on |
261 |
|
}; |
262 |
|
|
263 |
|
#undef DO_SEMANTIC_CHECKS_BY_DEFAULT |
264 |
|
|
265 |
|
// clang-format off |
266 |
|
inline int64_t maxApproxDepth() { return Options::current().arith.maxApproxDepth; } |
267 |
|
inline bool brabTest() { return Options::current().arith.brabTest; } |
268 |
|
inline bool arithCongMan() { return Options::current().arith.arithCongMan; } |
269 |
19822 |
inline bool arithEqSolver() { return Options::current().arith.arithEqSolver; } |
270 |
705 |
inline bool arithNoPartialFun() { return Options::current().arith.arithNoPartialFun; } |
271 |
|
inline uint64_t arithPropAsLemmaLength() { return Options::current().arith.arithPropAsLemmaLength; } |
272 |
|
inline ArithPropagationMode arithPropagationMode() { return Options::current().arith.arithPropagationMode; } |
273 |
28113 |
inline bool arithRewriteEq() { return Options::current().arith.arithRewriteEq; } |
274 |
|
inline bool collectPivots() { return Options::current().arith.collectPivots; } |
275 |
|
inline bool doCutAllBounded() { return Options::current().arith.doCutAllBounded; } |
276 |
336 |
inline bool exportDioDecompositions() { return Options::current().arith.exportDioDecompositions; } |
277 |
|
inline bool dioRepeat() { return Options::current().arith.dioRepeat; } |
278 |
|
inline bool arithDioSolver() { return Options::current().arith.arithDioSolver; } |
279 |
|
inline int64_t dioSolverTurns() { return Options::current().arith.dioSolverTurns; } |
280 |
39660 |
inline ErrorSelectionRule arithErrorSelectionRule() { return Options::current().arith.arithErrorSelectionRule; } |
281 |
|
inline bool havePenalties() { return Options::current().arith.havePenalties; } |
282 |
177120 |
inline int64_t arithHeuristicPivots() { return Options::current().arith.arithHeuristicPivots; } |
283 |
|
inline bool replayFailureLemma() { return Options::current().arith.replayFailureLemma; } |
284 |
|
inline uint64_t maxCutsInContext() { return Options::current().arith.maxCutsInContext; } |
285 |
9473 |
inline bool arithMLTrick() { return Options::current().arith.arithMLTrick; } |
286 |
|
inline uint64_t arithMLTrickSubstitutions() { return Options::current().arith.arithMLTrickSubstitutions; } |
287 |
|
inline bool newProp() { return Options::current().arith.newProp; } |
288 |
|
inline bool nlCad() { return Options::current().arith.nlCad; } |
289 |
|
inline bool nlCadUseInitial() { return Options::current().arith.nlCadUseInitial; } |
290 |
|
inline NlCadLiftingMode nlCadLifting() { return Options::current().arith.nlCadLifting; } |
291 |
|
inline NlCadProjectionMode nlCadProjection() { return Options::current().arith.nlCadProjection; } |
292 |
|
inline bool nlExtEntailConflicts() { return Options::current().arith.nlExtEntailConflicts; } |
293 |
|
inline bool nlExtFactor() { return Options::current().arith.nlExtFactor; } |
294 |
|
inline bool nlExtIncPrecision() { return Options::current().arith.nlExtIncPrecision; } |
295 |
13781 |
inline bool nlExtPurify() { return Options::current().arith.nlExtPurify; } |
296 |
|
inline bool nlExtResBound() { return Options::current().arith.nlExtResBound; } |
297 |
|
inline bool nlExtRewrites() { return Options::current().arith.nlExtRewrites; } |
298 |
|
inline bool nlExtSplitZero() { return Options::current().arith.nlExtSplitZero; } |
299 |
|
inline int64_t nlExtTfTaylorDegree() { return Options::current().arith.nlExtTfTaylorDegree; } |
300 |
|
inline bool nlExtTfTangentPlanes() { return Options::current().arith.nlExtTfTangentPlanes; } |
301 |
|
inline bool nlExtTangentPlanes() { return Options::current().arith.nlExtTangentPlanes; } |
302 |
|
inline bool nlExtTangentPlanesInterleave() { return Options::current().arith.nlExtTangentPlanesInterleave; } |
303 |
|
inline NlExtMode nlExt() { return Options::current().arith.nlExt; } |
304 |
|
inline bool nlICP() { return Options::current().arith.nlICP; } |
305 |
|
inline bool nlRlvAssertBounds() { return Options::current().arith.nlRlvAssertBounds; } |
306 |
|
inline NlRlvMode nlRlvMode() { return Options::current().arith.nlRlvMode; } |
307 |
13780 |
inline bool pbRewrites() { return Options::current().arith.pbRewrites; } |
308 |
420146 |
inline uint64_t arithPivotThreshold() { return Options::current().arith.arithPivotThreshold; } |
309 |
|
inline uint64_t ppAssertMaxSubSize() { return Options::current().arith.ppAssertMaxSubSize; } |
310 |
|
inline uint64_t arithPropagateMaxLength() { return Options::current().arith.arithPropagateMaxLength; } |
311 |
|
inline int64_t replayEarlyCloseDepths() { return Options::current().arith.replayEarlyCloseDepths; } |
312 |
|
inline int64_t replayFailurePenalty() { return Options::current().arith.replayFailurePenalty; } |
313 |
|
inline uint64_t lemmaRejectCutSize() { return Options::current().arith.lemmaRejectCutSize; } |
314 |
|
inline int64_t replayNumericFailurePenalty() { return Options::current().arith.replayNumericFailurePenalty; } |
315 |
|
inline uint64_t replayRejectCutSize() { return Options::current().arith.replayRejectCutSize; } |
316 |
|
inline int64_t soiApproxMajorFailurePen() { return Options::current().arith.soiApproxMajorFailurePen; } |
317 |
|
inline double soiApproxMajorFailure() { return Options::current().arith.soiApproxMajorFailure; } |
318 |
|
inline int64_t soiApproxMinorFailurePen() { return Options::current().arith.soiApproxMinorFailurePen; } |
319 |
|
inline double soiApproxMinorFailure() { return Options::current().arith.soiApproxMinorFailure; } |
320 |
|
inline bool restrictedPivots() { return Options::current().arith.restrictedPivots; } |
321 |
|
inline bool revertArithModels() { return Options::current().arith.revertArithModels; } |
322 |
|
inline int64_t rrTurns() { return Options::current().arith.rrTurns; } |
323 |
|
inline bool trySolveIntStandardEffort() { return Options::current().arith.trySolveIntStandardEffort; } |
324 |
95644 |
inline uint64_t arithSimplexCheckPeriod() { return Options::current().arith.arithSimplexCheckPeriod; } |
325 |
|
inline bool soiQuickExplain() { return Options::current().arith.soiQuickExplain; } |
326 |
122060 |
inline int64_t arithStandardCheckVarOrderPivots() { return Options::current().arith.arithStandardCheckVarOrderPivots; } |
327 |
|
inline ArithUnateLemmaMode arithUnateLemmaMode() { return Options::current().arith.arithUnateLemmaMode; } |
328 |
|
inline bool useApprox() { return Options::current().arith.useApprox; } |
329 |
|
inline bool useFC() { return Options::current().arith.useFC; } |
330 |
|
inline bool useSOI() { return Options::current().arith.useSOI; } |
331 |
|
// clang-format on |
332 |
|
|
333 |
|
namespace arith |
334 |
|
{ |
335 |
|
// clang-format off |
336 |
|
static constexpr const char* maxApproxDepth__name = "approx-branch-depth"; |
337 |
|
static constexpr const char* brabTest__name = "arith-brab"; |
338 |
|
static constexpr const char* arithCongMan__name = "arith-cong-man"; |
339 |
|
static constexpr const char* arithEqSolver__name = "arith-eq-solver"; |
340 |
|
static constexpr const char* arithNoPartialFun__name = "arith-no-partial-fun"; |
341 |
|
static constexpr const char* arithPropAsLemmaLength__name = "arith-prop-clauses"; |
342 |
|
static constexpr const char* arithPropagationMode__name = "arith-prop"; |
343 |
|
static constexpr const char* arithRewriteEq__name = "arith-rewrite-equalities"; |
344 |
|
static constexpr const char* collectPivots__name = "collect-pivot-stats"; |
345 |
|
static constexpr const char* doCutAllBounded__name = "cut-all-bounded"; |
346 |
|
static constexpr const char* exportDioDecompositions__name = "dio-decomps"; |
347 |
|
static constexpr const char* dioRepeat__name = "dio-repeat"; |
348 |
|
static constexpr const char* arithDioSolver__name = "dio-solver"; |
349 |
|
static constexpr const char* dioSolverTurns__name = "dio-turns"; |
350 |
|
static constexpr const char* arithErrorSelectionRule__name = "error-selection-rule"; |
351 |
|
static constexpr const char* havePenalties__name = "fc-penalties"; |
352 |
|
static constexpr const char* arithHeuristicPivots__name = "heuristic-pivots"; |
353 |
|
static constexpr const char* replayFailureLemma__name = "lemmas-on-replay-failure"; |
354 |
|
static constexpr const char* maxCutsInContext__name = "maxCutsInContext"; |
355 |
|
static constexpr const char* arithMLTrick__name = "miplib-trick"; |
356 |
|
static constexpr const char* arithMLTrickSubstitutions__name = "miplib-trick-subs"; |
357 |
|
static constexpr const char* newProp__name = "new-prop"; |
358 |
|
static constexpr const char* nlCad__name = "nl-cad"; |
359 |
|
static constexpr const char* nlCadUseInitial__name = "nl-cad-initial"; |
360 |
|
static constexpr const char* nlCadLifting__name = "nl-cad-lift"; |
361 |
|
static constexpr const char* nlCadProjection__name = "nl-cad-proj"; |
362 |
|
static constexpr const char* nlExtEntailConflicts__name = "nl-ext-ent-conf"; |
363 |
|
static constexpr const char* nlExtFactor__name = "nl-ext-factor"; |
364 |
|
static constexpr const char* nlExtIncPrecision__name = "nl-ext-inc-prec"; |
365 |
|
static constexpr const char* nlExtPurify__name = "nl-ext-purify"; |
366 |
|
static constexpr const char* nlExtResBound__name = "nl-ext-rbound"; |
367 |
|
static constexpr const char* nlExtRewrites__name = "nl-ext-rewrite"; |
368 |
|
static constexpr const char* nlExtSplitZero__name = "nl-ext-split-zero"; |
369 |
|
static constexpr const char* nlExtTfTaylorDegree__name = "nl-ext-tf-taylor-deg"; |
370 |
|
static constexpr const char* nlExtTfTangentPlanes__name = "nl-ext-tf-tplanes"; |
371 |
|
static constexpr const char* nlExtTangentPlanes__name = "nl-ext-tplanes"; |
372 |
|
static constexpr const char* nlExtTangentPlanesInterleave__name = "nl-ext-tplanes-interleave"; |
373 |
|
static constexpr const char* nlExt__name = "nl-ext"; |
374 |
|
static constexpr const char* nlICP__name = "nl-icp"; |
375 |
|
static constexpr const char* nlRlvAssertBounds__name = "nl-rlv-assert-bounds"; |
376 |
|
static constexpr const char* nlRlvMode__name = "nl-rlv"; |
377 |
|
static constexpr const char* pbRewrites__name = "pb-rewrites"; |
378 |
|
static constexpr const char* arithPivotThreshold__name = "pivot-threshold"; |
379 |
|
static constexpr const char* ppAssertMaxSubSize__name = "pp-assert-max-sub-size"; |
380 |
|
static constexpr const char* arithPropagateMaxLength__name = "prop-row-length"; |
381 |
|
static constexpr const char* replayEarlyCloseDepths__name = "replay-early-close-depth"; |
382 |
|
static constexpr const char* replayFailurePenalty__name = "replay-failure-penalty"; |
383 |
|
static constexpr const char* lemmaRejectCutSize__name = "replay-lemma-reject-cut"; |
384 |
|
static constexpr const char* replayNumericFailurePenalty__name = "replay-num-err-penalty"; |
385 |
|
static constexpr const char* replayRejectCutSize__name = "replay-reject-cut"; |
386 |
|
static constexpr const char* soiApproxMajorFailurePen__name = "replay-soi-major-threshold-pen"; |
387 |
|
static constexpr const char* soiApproxMajorFailure__name = "replay-soi-major-threshold"; |
388 |
|
static constexpr const char* soiApproxMinorFailurePen__name = "replay-soi-minor-threshold-pen"; |
389 |
|
static constexpr const char* soiApproxMinorFailure__name = "replay-soi-minor-threshold"; |
390 |
|
static constexpr const char* restrictedPivots__name = "restrict-pivots"; |
391 |
|
static constexpr const char* revertArithModels__name = "revert-arith-models-on-unsat"; |
392 |
|
static constexpr const char* rrTurns__name = "rr-turns"; |
393 |
|
static constexpr const char* trySolveIntStandardEffort__name = "se-solve-int"; |
394 |
|
static constexpr const char* arithSimplexCheckPeriod__name = "simplex-check-period"; |
395 |
|
static constexpr const char* soiQuickExplain__name = "soi-qe"; |
396 |
|
static constexpr const char* arithStandardCheckVarOrderPivots__name = "standard-effort-variable-order-pivots"; |
397 |
|
static constexpr const char* arithUnateLemmaMode__name = "unate-lemmas"; |
398 |
|
static constexpr const char* useApprox__name = "use-approx"; |
399 |
|
static constexpr const char* useFC__name = "use-fcsimplex"; |
400 |
|
static constexpr const char* useSOI__name = "use-soi"; |
401 |
|
|
402 |
|
void setDefaultMaxApproxDepth(Options& opts, int64_t value);void setDefaultBrabTest(Options& opts, bool value);void setDefaultArithCongMan(Options& opts, bool value);void setDefaultArithEqSolver(Options& opts, bool value);void setDefaultArithNoPartialFun(Options& opts, bool value);void setDefaultArithPropAsLemmaLength(Options& opts, uint64_t value);void setDefaultArithPropagationMode(Options& opts, ArithPropagationMode value);void setDefaultArithRewriteEq(Options& opts, bool value);void setDefaultCollectPivots(Options& opts, bool value);void setDefaultDoCutAllBounded(Options& opts, bool value);void setDefaultExportDioDecompositions(Options& opts, bool value);void setDefaultDioRepeat(Options& opts, bool value);void setDefaultArithDioSolver(Options& opts, bool value);void setDefaultDioSolverTurns(Options& opts, int64_t value);void setDefaultArithErrorSelectionRule(Options& opts, ErrorSelectionRule value);void setDefaultHavePenalties(Options& opts, bool value);void setDefaultArithHeuristicPivots(Options& opts, int64_t value);void setDefaultReplayFailureLemma(Options& opts, bool value);void setDefaultMaxCutsInContext(Options& opts, uint64_t value);void setDefaultArithMLTrick(Options& opts, bool value);void setDefaultArithMLTrickSubstitutions(Options& opts, uint64_t value);void setDefaultNewProp(Options& opts, bool value);void setDefaultNlCad(Options& opts, bool value);void setDefaultNlCadUseInitial(Options& opts, bool value);void setDefaultNlCadLifting(Options& opts, NlCadLiftingMode value);void setDefaultNlCadProjection(Options& opts, NlCadProjectionMode value);void setDefaultNlExtEntailConflicts(Options& opts, bool value);void setDefaultNlExtFactor(Options& opts, bool value);void setDefaultNlExtIncPrecision(Options& opts, bool value);void setDefaultNlExtPurify(Options& opts, bool value);void setDefaultNlExtResBound(Options& opts, bool value);void setDefaultNlExtRewrites(Options& opts, bool value);void setDefaultNlExtSplitZero(Options& opts, bool value);void setDefaultNlExtTfTaylorDegree(Options& opts, int64_t value);void setDefaultNlExtTfTangentPlanes(Options& opts, bool value);void setDefaultNlExtTangentPlanes(Options& opts, bool value);void setDefaultNlExtTangentPlanesInterleave(Options& opts, bool value);void setDefaultNlExt(Options& opts, NlExtMode value);void setDefaultNlICP(Options& opts, bool value);void setDefaultNlRlvAssertBounds(Options& opts, bool value);void setDefaultNlRlvMode(Options& opts, NlRlvMode value);void setDefaultPbRewrites(Options& opts, bool value);void setDefaultArithPivotThreshold(Options& opts, uint64_t value);void setDefaultPpAssertMaxSubSize(Options& opts, uint64_t value);void setDefaultArithPropagateMaxLength(Options& opts, uint64_t value);void setDefaultReplayEarlyCloseDepths(Options& opts, int64_t value);void setDefaultReplayFailurePenalty(Options& opts, int64_t value);void setDefaultLemmaRejectCutSize(Options& opts, uint64_t value);void setDefaultReplayNumericFailurePenalty(Options& opts, int64_t value);void setDefaultReplayRejectCutSize(Options& opts, uint64_t value);void setDefaultSoiApproxMajorFailurePen(Options& opts, int64_t value);void setDefaultSoiApproxMajorFailure(Options& opts, double value);void setDefaultSoiApproxMinorFailurePen(Options& opts, int64_t value);void setDefaultSoiApproxMinorFailure(Options& opts, double value);void setDefaultRestrictedPivots(Options& opts, bool value);void setDefaultRevertArithModels(Options& opts, bool value);void setDefaultRrTurns(Options& opts, int64_t value);void setDefaultTrySolveIntStandardEffort(Options& opts, bool value);void setDefaultArithSimplexCheckPeriod(Options& opts, uint64_t value);void setDefaultSoiQuickExplain(Options& opts, bool value);void setDefaultArithStandardCheckVarOrderPivots(Options& opts, int64_t value);void setDefaultArithUnateLemmaMode(Options& opts, ArithUnateLemmaMode value);void setDefaultUseApprox(Options& opts, bool value);void setDefaultUseFC(Options& opts, bool value);void setDefaultUseSOI(Options& opts, bool value); |
403 |
|
// clang-format on |
404 |
|
} |
405 |
|
|
406 |
|
} // namespace cvc5::options |
407 |
|
|
408 |
|
#endif /* CVC5__OPTIONS__ARITH_H */ |