3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-30 04:15:51 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-09-28 00:33:56 -07:00
parent c561563a47
commit 6c4cadd223
6 changed files with 70 additions and 124 deletions

View file

@ -16,19 +16,18 @@ Author:
Notes:
--*/
#include "sat/tactic/atom2bool_var.h"
#include "ast/ast_smt2_pp.h"
#include "util/ref_util.h"
#include "ast/ast_smt2_pp.h"
#include "tactic/goal.h"
#include "sat/tactic/atom2bool_var.h"
void atom2bool_var::mk_inv(expr_ref_vector & lit2expr) const {
obj_map<expr, var>::iterator it = m_mapping.begin();
obj_map<expr, var>::iterator end = m_mapping.end();
for (; it != end; ++it) {
sat::literal l(static_cast<sat::bool_var>(it->m_value), false);
lit2expr.set(l.index(), it->m_key);
for (auto const& kv : m_mapping) {
sat::literal l(static_cast<sat::bool_var>(kv.m_value), false);
lit2expr.set(l.index(), kv.m_key);
l.neg();
lit2expr.set(l.index(), m().mk_not(it->m_key));
lit2expr.set(l.index(), m().mk_not(kv.m_key));
}
}