mirror of
https://github.com/Z3Prover/z3
synced 2025-06-04 05:11:21 +00:00
fix #2762, fix #2750, add iterative unrolling to help on termination on sat instances (to address non-termination in #2759 and #2762)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
0d004b5232
commit
489448b869
3 changed files with 55 additions and 46 deletions
|
@ -154,6 +154,7 @@ class seq_decl_plugin : public decl_plugin {
|
|||
sort* m_char;
|
||||
sort* m_re;
|
||||
bool m_has_re;
|
||||
bool m_has_seq;
|
||||
|
||||
void match(psig& sig, unsigned dsz, sort* const* dom, sort* range, sort_ref& rng);
|
||||
|
||||
|
@ -206,6 +207,7 @@ public:
|
|||
app* mk_string(zstring const& s);
|
||||
|
||||
bool has_re() const { return m_has_re; }
|
||||
bool has_seq() const { return m_has_seq; }
|
||||
|
||||
bool is_considered_uninterpreted(func_decl * f) override;
|
||||
};
|
||||
|
@ -237,6 +239,7 @@ public:
|
|||
bool is_skolem(expr const* e) const { return is_app_of(e, m_fid, _OP_SEQ_SKOLEM); }
|
||||
|
||||
bool has_re() const { return seq.has_re(); }
|
||||
bool has_seq() const { return seq.has_seq(); }
|
||||
|
||||
class str {
|
||||
seq_util& u;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue