3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-08 00:05:46 +00:00

fix another bug uncovered by Dunlop, prepare grounds for equality solving within NNFs

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2019-01-14 01:25:25 -08:00
parent eaa80d5b02
commit 0b84c60886
13 changed files with 283 additions and 122 deletions

View file

@ -237,10 +237,12 @@ struct check_logic::imp {
return;
}
else if (m_bv_arrays) {
if (get_array_arity(s) != 1)
fail("logic supports only unidimensional arrays");
if (!m_bv_util.is_bv_sort(get_array_range(s)) || !m_bv_util.is_bv_sort(get_array_domain(s, 0)))
fail("logic supports only arrays from bitvectors to bitvectors");
unsigned sz = get_array_arity(s);
for (unsigned i = 0; i < sz; ++i) {
if (!m_bv_util.is_bv_sort(get_array_domain(s, i)))
fail("logic supports only arrays from bitvectors to bitvectors");
}
check_sort(get_array_range(s));
}
else {
fail("logic does not support arrays");