3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-05-18 16:09:30 +00:00

Some more bug fixes

This commit is contained in:
CEisenhofer 2026-04-09 13:47:29 +02:00
parent 38d725dc5a
commit a36254f104
5 changed files with 22 additions and 19 deletions

View file

@ -35,6 +35,7 @@ NSB review:
#include "ast/rewriter/th_rewriter.h"
#include "ast/rewriter/seq_skolem.h"
#include "ast/rewriter/var_subst.h"
#include "smt/smt_enode.h"
#include "util/statistics.h"
#include <algorithm>
#include <cstdlib>
@ -247,6 +248,18 @@ namespace seq {
return false;
}
void nielsen_node::add_str_eq(str_eq const& eq) {
SASSERT(eq.m_lhs != nullptr);
SASSERT(eq.m_rhs != nullptr);
m_str_eq.push_back(eq);
}
void nielsen_node::add_str_mem(str_mem const& mem) {
SASSERT(mem.m_str != nullptr);
SASSERT(mem.m_regex != nullptr);
m_str_mem.push_back(mem);
}
void nielsen_node::add_constraint(constraint const &c) {
auto& m = graph().get_manager();
if (m.is_and(c.fml)) {
@ -1137,7 +1150,7 @@ namespace seq {
dep_tracker dep = mem.m_dep;
if (m_graph.check_regex_widening(*this, mem.m_str, mem.m_regex, dep)) {
set_general_conflict();
set_conflict(backtrack_reason::regex, dep);
set_conflict(backtrack_reason::regex_widening, dep);
return simplify_result::conflict;
}
}