mirror of
https://github.com/Z3Prover/z3
synced 2026-06-12 03:45:38 +00:00
seq_model: address NSB review comments (#8995)
* Initial plan * Address NSB review comments in seq_model.cpp Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Address code review feedback: improve null-sort handling in seq_model and some_seq_in_re Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
This commit is contained in:
parent
6947698d65
commit
2212f59704
5 changed files with 53 additions and 91 deletions
|
|
@ -36,10 +36,6 @@ Author:
|
|||
|
||||
class proto_model;
|
||||
|
||||
namespace seq {
|
||||
class seq_regex;
|
||||
}
|
||||
|
||||
namespace smt {
|
||||
|
||||
class enode;
|
||||
|
|
@ -52,7 +48,6 @@ namespace smt {
|
|||
seq_util& m_seq;
|
||||
seq_rewriter& m_rewriter;
|
||||
euf::sgraph& m_sg;
|
||||
seq::seq_regex& m_regex;
|
||||
|
||||
// factory for generating fresh string/regex values
|
||||
seq_factory* m_factory = nullptr;
|
||||
|
|
@ -74,7 +69,7 @@ namespace smt {
|
|||
|
||||
public:
|
||||
seq_model(ast_manager& m, seq_util& seq,
|
||||
seq_rewriter& rw, euf::sgraph& sg, seq::seq_regex& regex);
|
||||
seq_rewriter& rw, euf::sgraph& sg);
|
||||
|
||||
// Phase 1: initialize model construction.
|
||||
// Allocates seq_factory, registers it with mg, collects
|
||||
|
|
@ -103,11 +98,6 @@ namespace smt {
|
|||
// Returns a concrete Z3 expression.
|
||||
expr_ref snode_to_value(euf::snode* n);
|
||||
|
||||
// generate a concrete witness string for a regex.
|
||||
// Uses nullable check and first-char collection to build
|
||||
// a minimal satisfying string. depth bounds recursion.
|
||||
expr_ref generate_regex_witness(euf::snode* regex, unsigned depth = 0);
|
||||
|
||||
// register all string literals appearing in the constraint store
|
||||
// with the factory to avoid collisions with fresh values.
|
||||
void register_existing_values(seq::nielsen_graph& nielsen);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue