3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-07-16 20:15:43 +00:00

Porting seq_split to master (#9840)

Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Clemens Eisenhofer 2026-06-30 19:18:28 +02:00 committed by GitHub
parent c22a7bac7c
commit b3143e759b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 1545 additions and 1 deletions

View file

@ -138,6 +138,8 @@ def_module_params(module_name='smt',
('seq.validate', BOOL, False, 'enable self-validation of theory axioms created by seq theory'),
('seq.max_unfolding', UINT, 1000000000, 'maximal unfolding depth for checking string equations and regular expressions'),
('seq.min_unfolding', UINT, 1, 'initial bound for strings whose lengths are bounded by iterative deepening. Set this to a higher value if there are only models with larger string lengths'),
('seq.regex_factorization_threshold', UINT, 10, 'maximum number of cases to factor a regex into in a single step'),
('seq.regex_factorization_enabled', BOOL, False, 'apply regex factorization (sigma splitting)'),
('theory_aware_branching', BOOL, False, 'Allow the context to use extra information from theory solvers regarding literal branching prioritization.'),
('sls.enable', BOOL, False, 'enable sls co-processor with SMT engine'),
('sls.parallel', BOOL, True, 'use sls co-processor in parallel or sequential with SMT engine'),

View file

@ -23,4 +23,6 @@ void theory_seq_params::updt_params(params_ref const & _p) {
m_seq_validate = p.seq_validate();
m_seq_max_unfolding = p.seq_max_unfolding();
m_seq_min_unfolding = p.seq_min_unfolding();
m_seq_regex_factorization_enabled = p.seq_regex_factorization_enabled();
m_seq_regex_factorization_threshold = p.seq_regex_factorization_threshold();
}

View file

@ -26,6 +26,8 @@ struct theory_seq_params {
bool m_seq_validate = false;
unsigned m_seq_max_unfolding = UINT_MAX/4;
unsigned m_seq_min_unfolding = 1;
bool m_seq_regex_factorization_enabled = false;
unsigned m_seq_regex_factorization_threshold = 1;
theory_seq_params(params_ref const & p = params_ref()) {
updt_params(p);