summaryrefslogtreecommitdiff
path: root/src/smt/set_defaults.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-10-12 08:33:32 -0500
committerGitHub <noreply@github.com>2020-10-12 08:33:32 -0500
commite93c443a0bfb1a66909e8467b24da399be3d01ac (patch)
treeabe0e2d365f01541f32835d44e68ce0a9dde79f3 /src/smt/set_defaults.cpp
parent3d49a4413c819f6dee337ac7c53b6f6c6b510377 (diff)
Ensure uninterpreted sort owner is UF if uf-ho or finite-model-find is enabled. (#5248)
This ensures that arrays is not the owner of uninterpreted sorts if uf-ho or finite-model-find are enabled. In these cases, the UF solver implements special techniques (cardinality, ho reasoning) that should take priority. Fixes #5233.
Diffstat (limited to 'src/smt/set_defaults.cpp')
-rw-r--r--src/smt/set_defaults.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/smt/set_defaults.cpp b/src/smt/set_defaults.cpp
index d9123e7f4..4402beba2 100644
--- a/src/smt/set_defaults.cpp
+++ b/src/smt/set_defaults.cpp
@@ -623,7 +623,8 @@ void setDefaults(LogicInfo& logic, bool isInternalSubsolver)
}
// If in arrays, set the UF handler to arrays
- if (logic.isTheoryEnabled(THEORY_ARRAYS)
+ if (logic.isTheoryEnabled(THEORY_ARRAYS) && !options::ufHo()
+ && !options::finiteModelFind()
&& (!logic.isQuantified()
|| (logic.isQuantified() && !logic.isTheoryEnabled(THEORY_UF))))
{
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback