|
| 1 | +# SPDX-FileCopyrightText: 2020 Dirk Beyer <https://www.sosy-lab.org> |
| 2 | +# SPDX-FileCopyrightText: 2023 Dirk Beyer <https://www.sosy-lab.org> |
| 3 | +# SPDX-FileCopyrightText: 2024 Dirk Beyer <https://www.sosy-lab.org> |
| 4 | +# |
| 5 | +# SPDX-License-Identifier: Apache-2.0 |
| 6 | + |
| 7 | +# Further options for Bitwuzla in addition to the default options. Format: |
| 8 | +# "option_name=value" with ’,’ to separate options. Option names and values |
| 9 | +# can be found in the Bitwuzla documentation online: |
| 10 | +# https://bitwuzla.github.io/docs/cpp/enums/option.html#_CPPv4N8bitwuzla6OptionE |
| 11 | +# Example: "PRODUCE_MODELS=2,SAT_SOLVER=kissat". |
| 12 | +solver.bitwuzla.furtherOptions = "" |
| 13 | + |
| 14 | +# The SAT solver used by Bitwuzla. |
| 15 | +solver.bitwuzla.satSolver = CADICAL |
| 16 | + enum: [LINGELING, CMS, CADICAL, KISSAT] |
| 17 | + |
| 18 | +# Further options for Boolector in addition to the default options. Format: |
| 19 | +# "Optionname=value" with ’,’ to separate options. Option names and values |
| 20 | +# can be found in BtorOption or Boolector C Api. Example: |
| 21 | +# "BTOR_OPT_MODEL_GEN=2,BTOR_OPT_INCREMENTAL=1". |
| 22 | +solver.boolector.furtherOptions = "" |
| 23 | + |
| 24 | +# The SAT solver used by Boolector. |
| 25 | +solver.boolector.satSolver = CADICAL |
| 26 | + enum: [LINGELING, PICOSAT, MINISAT, CMS, CADICAL] |
| 27 | + |
| 28 | +# Counts all operations and interactions towards the SMT solver. |
| 29 | +solver.collectStatistics = false |
| 30 | + |
| 31 | +# Further options that will be passed to CVC5 in addition to the default |
| 32 | +# options. Format is 'key1=value1,key2=value2' |
| 33 | +solver.cvc5.furtherOptions = "" |
| 34 | + |
| 35 | +# apply additional validation checks for interpolation results |
| 36 | +solver.cvc5.validateInterpolants = false |
| 37 | + |
| 38 | +# Enable assertions that make sure that functions are only used in the |
| 39 | +# context that declared them. |
| 40 | +solver.debugMode.noSharedDeclarations = false |
| 41 | + |
| 42 | +# Enable assertions that make sure formula terms are only used in the context |
| 43 | +# that created them. |
| 44 | +solver.debugMode.noSharedFormulas = false |
| 45 | + |
| 46 | +# Enable assertions that make sure that solver instances are only used on the |
| 47 | +# thread that created them. |
| 48 | +solver.debugMode.threadLocal = false |
| 49 | + |
| 50 | +# Default rounding mode for floating point operations. |
| 51 | +solver.floatingPointRoundingMode = NEAREST_TIES_TO_EVEN |
| 52 | + enum: [NEAREST_TIES_TO_EVEN, NEAREST_TIES_AWAY, TOWARD_POSITIVE, TOWARD_NEGATIVE, |
| 53 | + TOWARD_ZERO] |
| 54 | + |
| 55 | +# Export solver queries in SmtLib format into a file. |
| 56 | +solver.logAllQueries = false |
| 57 | +solver.logfile = no default value |
| 58 | + |
| 59 | +# Further options that will be passed to Mathsat in addition to the default |
| 60 | +# options. Format is 'key1=value1,key2=value2' |
| 61 | +solver.mathsat5.furtherOptions = "" |
| 62 | + |
| 63 | +# Load less stable optimizing version of mathsat5 solver. |
| 64 | +solver.mathsat5.loadOptimathsat5 = false |
| 65 | + |
| 66 | +# Use non-linear arithmetic of the solver if supported and throw exception |
| 67 | +# otherwise, approximate non-linear arithmetic with UFs if unsupported, or |
| 68 | +# always approximate non-linear arithmetic. This affects only the theories of |
| 69 | +# integer and rational arithmetic. |
| 70 | +solver.nonLinearArithmetic = USE |
| 71 | + enum: [USE, APPROXIMATE_FALLBACK, APPROXIMATE_ALWAYS] |
| 72 | + |
| 73 | +# Algorithm for boolean interpolation |
| 74 | +solver.opensmt.algBool = 0 |
| 75 | + |
| 76 | +# Algorithm for LRA interpolation |
| 77 | +solver.opensmt.algLra = 0 |
| 78 | + |
| 79 | +# Algorithm for UF interpolation |
| 80 | +solver.opensmt.algUf = 0 |
| 81 | + |
| 82 | +# SMT-LIB2 name of the logic to be used by the solver. |
| 83 | +solver.opensmt.logic = QF_AUFLIRA |
| 84 | + enum: [CORE, QF_AX, QF_UF, QF_IDL, QF_RDL, QF_LIA, QF_LRA, QF_ALIA, QF_ALRA, |
| 85 | + QF_UFLIA, QF_UFLRA, QF_AUFLIA, QF_AUFLRA, QF_AUFLIRA] |
| 86 | + |
| 87 | +# Enable additional assertion checks within Princess. The main usage is |
| 88 | +# debugging. This option can cause a performance overhead. |
| 89 | +solver.princess.enableAssertions = false |
| 90 | + |
| 91 | +# log all queries as Princess-specific Scala code |
| 92 | +solver.princess.logAllQueriesAsScala = false |
| 93 | + |
| 94 | +# file for Princess-specific dump of queries as Scala code |
| 95 | +solver.princess.logAllQueriesAsScalaFile = "princess-query-%03d-" |
| 96 | + |
| 97 | +# The number of atoms a term has to have before it gets abbreviated if there |
| 98 | +# are more identical terms. |
| 99 | +solver.princess.minAtomsForAbbreviation = 100 |
| 100 | + |
| 101 | +# Random seed for SMT solver. |
| 102 | +solver.randomSeed = 42 |
| 103 | + |
| 104 | +# If logging from the same application, avoid conflicting logfile names. |
| 105 | +solver.renameLogfileToAvoidConflicts = true |
| 106 | + |
| 107 | +# Double check generated results like interpolants and models whether they |
| 108 | +# are correct |
| 109 | +solver.smtinterpol.checkResults = false |
| 110 | + |
| 111 | +# Further options that will be set to true for SMTInterpol in addition to the |
| 112 | +# default options. Format is 'option1,option2,option3' |
| 113 | +solver.smtinterpol.furtherOptions = [] |
| 114 | + |
| 115 | +# Which SMT solver to use. |
| 116 | +solver.solver = SMTINTERPOL |
| 117 | + enum: [OPENSMT, MATHSAT5, SMTINTERPOL, Z3, PRINCESS, BOOLECTOR, CVC4, CVC5, |
| 118 | + YICES2, BITWUZLA] |
| 119 | + |
| 120 | +# Sequentialize all solver actions to allow concurrent access! |
| 121 | +solver.synchronize = false |
| 122 | + |
| 123 | +# Use provers from a seperate context to solve queries. This allows more |
| 124 | +# parallelity when solving larger queries. |
| 125 | +solver.synchronized.useSeperateProvers = false |
| 126 | + |
| 127 | +# Apply additional checks to catch common user errors. |
| 128 | +solver.useDebugMode = false |
| 129 | + |
| 130 | +# Log solver actions, this may be slow! |
| 131 | +solver.useLogger = false |
| 132 | + |
| 133 | +# Activate replayable logging in Z3. The log can be given as an input to the |
| 134 | +# solver and replayed. |
| 135 | +solver.z3.log = no default value |
| 136 | + |
| 137 | +# Ordering for objectives in the optimization context |
| 138 | +solver.z3.objectivePrioritizationMode = "box" |
| 139 | + allowed values: [lex, pareto, box] |
| 140 | + |
| 141 | +# Engine to use for the optimization |
| 142 | +solver.z3.optimizationEngine = "basic" |
| 143 | + allowed values: [basic, farkas, symba] |
| 144 | + |
| 145 | +# Require proofs from SMT solver |
| 146 | +solver.z3.requireProofs = false |
| 147 | + |
| 148 | +# Whether to use PhantomReferences for discarding Z3 AST |
| 149 | +solver.z3.usePhantomReferences = false |
0 commit comments