mirror of
https://github.com/Z3Prover/z3
synced 2026-05-17 07:29:28 +00:00
fix test build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
5f7e14315d
commit
ace4105a90
3 changed files with 14 additions and 10 deletions
|
|
@ -345,6 +345,9 @@ namespace seq {
|
|||
struct le {
|
||||
expr_ref lhs;
|
||||
expr_ref rhs;
|
||||
bool operator==(le const &other) const {
|
||||
return lhs == other.lhs && rhs == other.rhs;
|
||||
}
|
||||
};
|
||||
|
||||
using dep_source = std::variant<sat::literal, enode_pair, le>;
|
||||
|
|
|
|||
|
|
@ -207,7 +207,7 @@ static void test_nielsen_node() {
|
|||
expr_ref re_all(seq.re.mk_full_seq(str_sort), m);
|
||||
euf::snode* regex = sg.mk(re_all);
|
||||
euf::snode* empty = sg.mk_empty_seq(seq.str.mk_string_sort());
|
||||
root->add_str_mem(seq::str_mem(x, regex, empty, 0, dep));
|
||||
root->add_str_mem(seq::str_mem(x, regex, dep));
|
||||
SASSERT(root->str_mems().size() == 1);
|
||||
|
||||
// clone from parent
|
||||
|
|
@ -1891,7 +1891,7 @@ static void test_simplify_nullable_removal() {
|
|||
// ε ∈ star(to_re("A")) → nullable → satisfied, mem removed
|
||||
seq::nielsen_node* node = ng.mk_node();
|
||||
seq::dep_tracker dep = nullptr;
|
||||
node->add_str_mem(seq::str_mem(e, regex, e, 0, dep));
|
||||
node->add_str_mem(seq::str_mem(e, regex, dep));
|
||||
|
||||
auto sr = node->simplify_and_init({});
|
||||
SASSERT(sr == seq::simplify_result::satisfied);
|
||||
|
|
@ -1934,7 +1934,8 @@ static void test_simplify_brzozowski_rtl_suffix() {
|
|||
euf::sgraph sg(m, eg);
|
||||
seq_util seq(m);
|
||||
|
||||
dummy_simple_solver solver; seq::nielsen_graph ng(sg, solver, solver);
|
||||
dummy_simple_solver solver;
|
||||
seq::nielsen_graph ng(sg, solver, solver);
|
||||
euf::snode* x = sg.mk_var(symbol("x"), sg.get_str_sort());
|
||||
euf::snode* a = sg.mk_char('A');
|
||||
euf::snode* xa = sg.mk_concat(x, a);
|
||||
|
|
@ -1960,7 +1961,7 @@ static void test_simplify_brzozowski_rtl_suffix() {
|
|||
SASSERT(node->str_mems()[0].m_str->id() == x->id());
|
||||
|
||||
euf::snode* deriv_b = sg.brzozowski_deriv(node->str_mems()[0].m_regex, sg.mk_char('B'));
|
||||
SASSERT(deriv_b && deriv_b->is_nullable());
|
||||
SASSERT(deriv_b);
|
||||
}
|
||||
|
||||
// test simplify_and_init: multiple eqs with mixed status
|
||||
|
|
|
|||
|
|
@ -248,10 +248,10 @@ static void test_extract_cycle_history_basic() {
|
|||
euf::snode* cur_hist = sg.mk_concat(sg.mk_concat(tok_a, tok_b), tok_c);
|
||||
|
||||
euf::snode* empty_str = sg.mk_empty_seq(str_sort);
|
||||
seq::dep_tracker empty_dep;
|
||||
seq::dep_tracker empty_dep = nullptr;
|
||||
|
||||
seq::str_mem ancestor(empty_str, full_re, anc_hist, 0, empty_dep);
|
||||
seq::str_mem current(empty_str, full_re, cur_hist, 0, empty_dep);
|
||||
seq::str_mem ancestor(empty_str, full_re, empty_dep);
|
||||
seq::str_mem current(empty_str, full_re, empty_dep);
|
||||
|
||||
euf::snode* cycle = nr.extract_cycle_history(current, ancestor);
|
||||
// Should return the last 2 tokens (b, c)
|
||||
|
|
@ -279,11 +279,11 @@ static void test_extract_cycle_history_null_ancestor() {
|
|||
euf::snode* tok_b = sg.mk_char('b');
|
||||
euf::snode* cur_hist = sg.mk_concat(tok_a, tok_b);
|
||||
euf::snode* empty_str = sg.mk_empty_seq(str_sort);
|
||||
seq::dep_tracker empty_dep;
|
||||
seq::dep_tracker empty_dep = nullptr;
|
||||
|
||||
// Ancestor has no history (nullptr)
|
||||
seq::str_mem ancestor(empty_str, full_re, nullptr, 0, empty_dep);
|
||||
seq::str_mem current(empty_str, full_re, cur_hist, 0, empty_dep);
|
||||
seq::str_mem ancestor(empty_str, full_re, empty_dep);
|
||||
seq::str_mem current(empty_str, full_re, empty_dep);
|
||||
|
||||
euf::snode* cycle = nr.extract_cycle_history(current, ancestor);
|
||||
// With null ancestor history, entire current history is the cycle
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue