Fix bug in universe levels
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
a4f456c99e
commit
279e524c9e
1 changed files with 11 additions and 10 deletions
|
@ -82,6 +82,7 @@ struct environment::imp {
|
||||||
lean_assert(v1 < num);
|
lean_assert(v1 < num);
|
||||||
lean_assert(v2 < num);
|
lean_assert(v2 < num);
|
||||||
std::vector<unsigned> & v1_dists = m_uvar_distances[v1];
|
std::vector<unsigned> & v1_dists = m_uvar_distances[v1];
|
||||||
|
if (v1_dists[v2] == uninit || d >= v1_dists[v2]) {
|
||||||
v1_dists[v2] = d;
|
v1_dists[v2] = d;
|
||||||
// update forward
|
// update forward
|
||||||
std::vector<unsigned> & v2_dists = m_uvar_distances[v2];
|
std::vector<unsigned> & v2_dists = m_uvar_distances[v2];
|
||||||
|
@ -94,6 +95,7 @@ struct environment::imp {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void add_constraints(uvar v1, level const & l, unsigned k) {
|
void add_constraints(uvar v1, level const & l, unsigned k) {
|
||||||
switch (kind(l)) {
|
switch (kind(l)) {
|
||||||
|
@ -130,7 +132,6 @@ struct environment::imp {
|
||||||
out << "\n";
|
out << "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
out << "\n";
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue