Skip to content

Commit be0662b

Browse files
Yakir Vizelyvizel
Yakir Vizel
authored andcommitted
Equivalent query clauses may represent different properties. Allow it in CHC db
1 parent c5fffbd commit be0662b

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/cprover/chc_db.h

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,10 +165,18 @@ class chc_dbt
165165
{
166166
if (f.is_true())
167167
return;
168-
for (auto & c : m_clauses) {
169-
if (c.get_chc()==f) return;
168+
auto new_cls = horn_clauset(f);
169+
// Equivalent (semantic) queries may represent
170+
// different properties
171+
if (!new_cls.is_query())
172+
{
173+
for(auto &c : m_clauses)
174+
{
175+
if(c.get_chc() == f)
176+
return;
177+
}
170178
}
171-
m_clauses.push_back(horn_clauset(f));
179+
m_clauses.push_back(new_cls);
172180
reset_indices();
173181
}
174182

0 commit comments

Comments
 (0)