mirror of
https://github.com/Z3Prover/z3
synced 2025-04-22 16:45:31 +00:00
align variable names with dimacs input
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
1bf934e53a
commit
b02c698284
4 changed files with 15 additions and 11 deletions
|
@ -188,6 +188,9 @@ extern "C" {
|
|||
sat2goal s2g;
|
||||
ref<sat2goal::mc> mc;
|
||||
atom2bool_var a2b(m);
|
||||
for (unsigned v = 0; v < solver.num_vars(); ++v) {
|
||||
a2b.insert(m.mk_const(symbol(v), m.mk_bool_sort()), v);
|
||||
}
|
||||
goal g(m);
|
||||
s2g(solver, a2b, to_solver_ref(s)->get_params(), g, mc);
|
||||
for (unsigned i = 0; i < g.size(); ++i) {
|
||||
|
|
|
@ -844,6 +844,10 @@ br_status seq_rewriter::mk_seq_index(expr* a, expr* b, expr* c, expr_ref& result
|
|||
return BR_FAILED;
|
||||
}
|
||||
|
||||
// (str.replace s t t') is the string obtained by replacing the first occurrence
|
||||
// of t in s, if any, by t'. Note that if t is empty, the result is to prepend
|
||||
// t' to s; also, if t does not occur in s then the result is s.
|
||||
|
||||
br_status seq_rewriter::mk_seq_replace(expr* a, expr* b, expr* c, expr_ref& result) {
|
||||
zstring s1, s2, s3;
|
||||
if (m_util.str.is_string(a, s1) && m_util.str.is_string(b, s2) &&
|
||||
|
@ -855,7 +859,7 @@ br_status seq_rewriter::mk_seq_replace(expr* a, expr* b, expr* c, expr_ref& resu
|
|||
result = a;
|
||||
return BR_DONE;
|
||||
}
|
||||
if (m_util.str.is_string(b, s2) && s2.length() == 0) {
|
||||
if (m_util.str.is_empty(b)) {
|
||||
result = m_util.str.mk_concat(c, a);
|
||||
return BR_REWRITE1;
|
||||
}
|
||||
|
|
|
@ -17,15 +17,16 @@ Notes:
|
|||
|
||||
--*/
|
||||
#include "tactic/tactical.h"
|
||||
#include "tactic/core/simplify_tactic.h"
|
||||
#include "tactic/bv/bit_blaster_tactic.h"
|
||||
#include "sat/tactic/sat_tactic.h"
|
||||
#include "tactic/fpa/fpa2bv_tactic.h"
|
||||
#include "smt/tactic/smt_tactic.h"
|
||||
#include "tactic/core/simplify_tactic.h"
|
||||
#include "tactic/core/propagate_values_tactic.h"
|
||||
#include "ackermannization/ackermannize_bv_tactic.h"
|
||||
#include "tactic/arith/probe_arith.h"
|
||||
#include "tactic/bv/bit_blaster_tactic.h"
|
||||
#include "tactic/smtlogics/qfnra_tactic.h"
|
||||
#include "sat/tactic/sat_tactic.h"
|
||||
#include "sat/sat_solver/inc_sat_solver.h"
|
||||
#include "smt/tactic/smt_tactic.h"
|
||||
#include "ackermannization/ackermannize_bv_tactic.h"
|
||||
|
||||
#include "tactic/fpa/qffp_tactic.h"
|
||||
|
||||
|
@ -95,7 +96,7 @@ tactic * mk_qffp_tactic(ast_manager & m, params_ref const & p) {
|
|||
cond(mk_is_propositional_probe(),
|
||||
cond(mk_produce_proofs_probe(),
|
||||
mk_smt_tactic(m, p), // `sat' does not support proofs.
|
||||
mk_sat_tactic(m, p)),
|
||||
mk_psat_tactic(m, p)),
|
||||
cond(mk_is_fp_qfnra_probe(),
|
||||
mk_qfnra_tactic(m, p),
|
||||
mk_smt_tactic(m, p))));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue