[[option]]
name = "sygusUnifCondIndNoRepeatSol"
category = "regular"
- long = "sygus-unif-cond-indpendent-no-repeat-sol"
+ long = "sygus-unif-cond-independent-no-repeat-sol"
type = "bool"
default = "true"
help = "Do not try repeated solutions when using independent synthesis of conditions in unification-based function synthesis"
if (options::inputLanguage() == language::input::LANG_SYGUS)
{
is_sygus = true;
- // must use Ferrante/Rackoff for real arithmetic
- if (!options::cbqiMidpoint.wasSetByUser())
- {
- options::cbqiMidpoint.set(true);
- }
- if (options::sygusRepairConst())
- {
- if (!options::cbqi.wasSetByUser())
- {
- options::cbqi.set(true);
- }
- }
}
if (options::bitblastMode() == theory::bv::BITBLAST_MODE_EAGER)
{
options::ceGuidedInst.set(true);
}
+ // must use Ferrante/Rackoff for real arithmetic
+ if (!options::cbqiMidpoint.wasSetByUser())
+ {
+ options::cbqiMidpoint.set(true);
+ }
+ if (options::sygusRepairConst())
+ {
+ if (!options::cbqi.wasSetByUser())
+ {
+ options::cbqi.set(true);
+ }
+ }
+ // setting unif requirements
+ if (options::sygusUnifBooleanHeuristicDt()
+ && !options::sygusUnifCondIndependent())
+ {
+ options::sygusUnifCondIndependent.set(true);
+ }
+ if (options::sygusUnifCondIndependent() && !options::sygusUnif())
+ {
+ options::sygusUnif.set(true);
+ }
}
if (options::sygusInference())
{