#
# Option specification file for CVC4
# See src/options/base_options for a description of this file format
#

module DATATYPES "options/datatypes_options.h" Datatypes theory

# How to handle selectors applied to incorrect constructors.  If this option is set,
# then we do not rewrite such a selector term to an arbitrary ground term.  
# For example, by default cvc4 considers cdr( nil ) = nil.  If this option is set, then
# cdr( nil ) has no set value.
expert-option dtRewriteErrorSel --dt-rewrite-error-sel bool :default false :read-write
 rewrite incorrectly applied selectors to arbitrary ground term
option dtForceAssignment --dt-force-assignment bool :default false :read-write
 force the datatypes solver to give specific values to all datatypes terms before answering sat
option dtBinarySplit --dt-binary-split bool :default false
 do binary splits for datatype constructor types
option dtRefIntro --dt-ref-sk-intro bool :default false
 introduce reference skolems for shorter explanations
option dtUseTesters --dt-use-testers bool :default true
 do not preprocess away tester predicates
option cdtBisimilar --cdt-bisimilar bool :default true
 do bisimilarity check for co-datatypes
option dtCyclic --dt-cyclic bool :default true
 do cyclicity check for datatypes
option dtInferAsLemmas --dt-infer-as-lemmas bool :default false
 always send lemmas out instead of making internal inferences
#option dtRExplainLemmas --dt-rexplain-lemmas bool :default true
# regression explanations for datatype lemmas
option dtBlastSplits --dt-blast-splits bool :default false
 when applicable, blast splitting lemmas for all variables at once
 
endmodule
