From 9eedd4ecd61f41429d5af15d9af953183c1d3a02 Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner Date: Fri, 22 May 2020 10:09:16 -0700 Subject: [PATCH] gate mk_bool_app by existence of regex Signed-off-by: Nikolaj Bjorner --- src/ast/rewriter/seq_rewriter.h | 1 + src/ast/rewriter/th_rewriter.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ast/rewriter/seq_rewriter.h b/src/ast/rewriter/seq_rewriter.h index 51d08d8b5..d14bc671c 100644 --- a/src/ast/rewriter/seq_rewriter.h +++ b/src/ast/rewriter/seq_rewriter.h @@ -218,6 +218,7 @@ public: } ast_manager & m() const { return m_util.get_manager(); } family_id get_fid() const { return m_util.get_family_id(); } + seq_util const& u() const { return m_util; } void updt_params(params_ref const & p); static void get_param_descrs(param_descrs & r); diff --git a/src/ast/rewriter/th_rewriter.cpp b/src/ast/rewriter/th_rewriter.cpp index 4e48a81cd..6ba8bc481 100644 --- a/src/ast/rewriter/th_rewriter.cpp +++ b/src/ast/rewriter/th_rewriter.cpp @@ -203,7 +203,7 @@ struct th_rewriter_cfg : public default_rewriter_cfg { if (st != BR_FAILED) return st; } - if (k == OP_AND || k == OP_OR) { + if ((k == OP_AND || k == OP_OR) && m_seq_rw.u().has_re()) { st = m_seq_rw.mk_bool_app(f, num, args, result); if (st != BR_FAILED) return st;