3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-04 21:39:13 +00:00

unit testing doc relation

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2014-09-19 21:55:20 -07:00
parent 25914c0492
commit 2b2ba2d541
3 changed files with 204 additions and 51 deletions

View file

@ -441,12 +441,13 @@ unsigned doc_manager::hash(doc const& src) const {
// A \ (A1 u A2) contains B \ (B1 u B2)
// if
// A contains B
// B1 contains A1 or A2
// B1 contains A1 or B2 contains A1
// B1 contains A2 or B2 contains A2
bool doc_manager::contains(doc const& a, doc const& b) const {
if (!m.contains(a.pos(), b.pos())) return false;
for (unsigned i = 0; i < b.neg().size(); ++i) {
for (unsigned i = 0; i < a.neg().size(); ++i) {
bool found = false;
for (unsigned j = 0; !found && j < a.neg().size(); ++j) {
for (unsigned j = 0; !found && j < b.neg().size(); ++j) {
found = m.contains(b.neg()[i],a.neg()[j]);
}
if (!found) return false;