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

fixes and expose new bugs

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-09-20 17:30:41 -07:00
parent 32c3a3e3cc
commit cd76fd9edd
3 changed files with 35 additions and 13 deletions

View file

@ -32,6 +32,17 @@ namespace polysat {
}
clause_ref clause_builder::build() {
std::sort(m_literals.data(), m_literals.data() + m_literals.size());
sat::literal prev = sat::null_literal;
unsigned j = 0;
for (unsigned i = 0; i < m_literals.size(); ++i) {
sat::literal lit = m_literals[i];
if (prev == lit)
continue;
prev = lit;
m_literals[j++] = lit;
}
m_literals.shrink(j);
clause_ref cl = clause::from_literals(std::move(m_literals));
SASSERT(empty());
return cl;