2 name = "Datatypes theory"
3 header = "options/datatypes_options.h"
5 # How to handle selectors applied to incorrect constructors. If this option is set,
6 # then we do not rewrite such a selector term to an arbitrary ground term.
7 # For example, by default cvc4 considers cdr( nil ) = nil. If this option is set, then
8 # cdr( nil ) has no set value.
10 name = "dtRewriteErrorSel"
12 long = "dt-rewrite-error-sel"
15 help = "rewrite incorrectly applied selectors to arbitrary ground term"
18 name = "dtForceAssignment"
20 long = "dt-force-assignment"
23 help = "force the datatypes solver to give specific values to all datatypes terms before answering sat"
26 name = "dtBinarySplit"
28 long = "dt-binary-split"
32 help = "do binary splits for datatype constructor types"
37 long = "dt-ref-sk-intro"
41 help = "introduce reference skolems for shorter explanations"
46 long = "cdt-bisimilar"
50 help = "do bisimilarity check for co-datatypes"
59 help = "do cyclicity check for datatypes"
62 name = "dtInferAsLemmas"
64 long = "dt-infer-as-lemmas"
68 help = "always send lemmas out instead of making internal inferences"
71 name = "dtBlastSplits"
73 long = "dt-blast-splits"
77 help = "when applicable, blast splitting lemmas for all variables at once"
80 name = "dtSharedSelectors"
86 help = "internally use shared selectors across multiple constructors"
89 name = "sygusSymBreak"
91 long = "sygus-sym-break"
95 help = "simple sygus symmetry breaking lemmas"
98 name = "sygusSymBreakAgg"
100 long = "sygus-sym-break-agg"
104 help = "use aggressive checks for simple sygus symmetry breaking lemmas"
107 name = "sygusSymBreakDynamic"
109 long = "sygus-sym-break-dynamic"
113 help = "dynamic sygus symmetry breaking lemmas"
116 name = "sygusSymBreakPbe"
118 long = "sygus-sym-break-pbe"
121 help = "sygus symmetry breaking lemmas based on pbe conjectures"
124 name = "sygusSymBreakLazy"
126 long = "sygus-sym-break-lazy"
130 help = "lazily add symmetry breaking lemmas for terms"
133 name = "sygusSymBreakRlv"
135 long = "sygus-sym-break-rlv"
139 help = "add relevancy conditions to symmetry breaking lemmas"
144 long = "sygus-fair=MODE"
145 type = "SygusFairMode"
148 help = "if and how to apply fairness for sygus"
149 help_mode = "Modes for enforcing fairness for counterexample guided quantifier instantion."
150 [[option.mode.DIRECT]]
152 help = "Enforce fairness using direct conflict lemmas."
153 [[option.mode.DT_SIZE]]
155 help = "Enforce fairness using size operator."
156 [[option.mode.DT_HEIGHT_PRED]]
157 name = "dt-height-bound"
158 help = "Enforce fairness by height bound predicate."
159 [[option.mode.DT_SIZE_PRED]]
160 name = "dt-size-bound"
161 help = "Enforce fairness by size bound predicate."
164 help = "Do not enforce fairness."
167 name = "sygusFairMax"
169 long = "sygus-fair-max"
173 help = "use max instead of sum for multi-function sygus conjectures"
176 name = "sygusAbortSize"
178 long = "sygus-abort-size=N"
182 help = "tells enumerative sygus to only consider solutions up to term size N (-1 == no limit, default)"