mirror of
https://github.com/Z3Prover/z3
synced 2025-08-22 02:57:50 +00:00
merge with master branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
commit
651587ce01
1602 changed files with 40496 additions and 27837 deletions
|
@ -17,19 +17,19 @@ Notes:
|
|||
|
||||
--*/
|
||||
|
||||
#include "bounded_int2bv_solver.h"
|
||||
#include "solver_na2as.h"
|
||||
#include "tactic.h"
|
||||
#include "pb2bv_rewriter.h"
|
||||
#include "filter_model_converter.h"
|
||||
#include "extension_model_converter.h"
|
||||
#include "ast_pp.h"
|
||||
#include "model_smt2_pp.h"
|
||||
#include "bound_manager.h"
|
||||
#include "bv2int_rewriter.h"
|
||||
#include "expr_safe_replace.h"
|
||||
#include "bv_decl_plugin.h"
|
||||
#include "arith_decl_plugin.h"
|
||||
#include "tactic/portfolio/bounded_int2bv_solver.h"
|
||||
#include "solver/solver_na2as.h"
|
||||
#include "tactic/tactic.h"
|
||||
#include "ast/rewriter/pb2bv_rewriter.h"
|
||||
#include "tactic/filter_model_converter.h"
|
||||
#include "tactic/extension_model_converter.h"
|
||||
#include "ast/ast_pp.h"
|
||||
#include "model/model_smt2_pp.h"
|
||||
#include "tactic/arith/bound_manager.h"
|
||||
#include "tactic/arith/bv2int_rewriter.h"
|
||||
#include "ast/rewriter/expr_safe_replace.h"
|
||||
#include "ast/bv_decl_plugin.h"
|
||||
#include "ast/arith_decl_plugin.h"
|
||||
|
||||
class bounded_int2bv_solver : public solver_na2as {
|
||||
ast_manager& m;
|
||||
|
|
|
@ -19,8 +19,8 @@ Notes:
|
|||
#ifndef BOUNDED_INT2BV_SOLVER_H_
|
||||
#define BOUNDED_INT2BV_SOLVER_H_
|
||||
|
||||
#include"ast.h"
|
||||
#include"params.h"
|
||||
#include "ast/ast.h"
|
||||
#include "util/params.h"
|
||||
|
||||
class solver;
|
||||
|
||||
|
|
|
@ -16,20 +16,21 @@ Author:
|
|||
Notes:
|
||||
|
||||
--*/
|
||||
#include"default_tactic.h"
|
||||
#include"simplify_tactic.h"
|
||||
#include"qfbv_tactic.h"
|
||||
#include"smt_tactic.h"
|
||||
#include"qflia_tactic.h"
|
||||
#include"qflra_tactic.h"
|
||||
#include"qfnia_tactic.h"
|
||||
#include"qfnra_tactic.h"
|
||||
#include"nra_tactic.h"
|
||||
#include"probe_arith.h"
|
||||
#include"quant_tactics.h"
|
||||
#include"qffp_tactic.h"
|
||||
#include"qfaufbv_tactic.h"
|
||||
#include"qfauflia_tactic.h"
|
||||
#include "tactic/portfolio/default_tactic.h"
|
||||
#include "tactic/core/simplify_tactic.h"
|
||||
#include "tactic/smtlogics/qfbv_tactic.h"
|
||||
#include "smt/tactic/smt_tactic.h"
|
||||
#include "tactic/smtlogics/qflia_tactic.h"
|
||||
#include "tactic/smtlogics/qflra_tactic.h"
|
||||
#include "tactic/smtlogics/qfnia_tactic.h"
|
||||
#include "tactic/smtlogics/qfnra_tactic.h"
|
||||
#include "tactic/smtlogics/nra_tactic.h"
|
||||
#include "tactic/arith/probe_arith.h"
|
||||
#include "tactic/smtlogics/quant_tactics.h"
|
||||
#include "tactic/fpa/qffp_tactic.h"
|
||||
#include "tactic/smtlogics/qfaufbv_tactic.h"
|
||||
#include "tactic/smtlogics/qfauflia_tactic.h"
|
||||
#include "tactic/smtlogics/qfufnra_tactic.h"
|
||||
|
||||
tactic * mk_default_tactic(ast_manager & m, params_ref const & p) {
|
||||
tactic * st = using_params(and_then(mk_simplify_tactic(m),
|
||||
|
|
|
@ -19,7 +19,7 @@ Notes:
|
|||
#ifndef DEFAULT_TACTIC_H_
|
||||
#define DEFAULT_TACTIC_H_
|
||||
|
||||
#include"params.h"
|
||||
#include "util/params.h"
|
||||
class ast_manager;
|
||||
class tactic;
|
||||
|
||||
|
|
|
@ -20,16 +20,16 @@ Notes:
|
|||
|
||||
--*/
|
||||
|
||||
#include "solver_na2as.h"
|
||||
#include "tactic.h"
|
||||
#include "bv_decl_plugin.h"
|
||||
#include "datatype_decl_plugin.h"
|
||||
#include "enum2bv_rewriter.h"
|
||||
#include "extension_model_converter.h"
|
||||
#include "filter_model_converter.h"
|
||||
#include "ast_pp.h"
|
||||
#include "model_smt2_pp.h"
|
||||
#include "enum2bv_solver.h"
|
||||
#include "solver/solver_na2as.h"
|
||||
#include "tactic/tactic.h"
|
||||
#include "ast/bv_decl_plugin.h"
|
||||
#include "ast/datatype_decl_plugin.h"
|
||||
#include "ast/rewriter/enum2bv_rewriter.h"
|
||||
#include "tactic/extension_model_converter.h"
|
||||
#include "tactic/filter_model_converter.h"
|
||||
#include "ast/ast_pp.h"
|
||||
#include "model/model_smt2_pp.h"
|
||||
#include "tactic/portfolio/enum2bv_solver.h"
|
||||
|
||||
class enum2bv_solver : public solver_na2as {
|
||||
ast_manager& m;
|
||||
|
|
|
@ -19,8 +19,8 @@ Notes:
|
|||
#ifndef ENUM2BV_SOLVER_H_
|
||||
#define ENUM2BV_SOLVER_H_
|
||||
|
||||
#include"ast.h"
|
||||
#include"params.h"
|
||||
#include "ast/ast.h"
|
||||
#include "util/params.h"
|
||||
|
||||
class solver;
|
||||
|
||||
|
|
|
@ -17,12 +17,12 @@ Notes:
|
|||
|
||||
--*/
|
||||
|
||||
#include "fd_solver.h"
|
||||
#include "tactic.h"
|
||||
#include "inc_sat_solver.h"
|
||||
#include "enum2bv_solver.h"
|
||||
#include "pb2bv_solver.h"
|
||||
#include "bounded_int2bv_solver.h"
|
||||
#include "tactic/portfolio/fd_solver.h"
|
||||
#include "tactic/tactic.h"
|
||||
#include "sat/sat_solver/inc_sat_solver.h"
|
||||
#include "tactic/portfolio/enum2bv_solver.h"
|
||||
#include "tactic/portfolio/pb2bv_solver.h"
|
||||
#include "tactic/portfolio/bounded_int2bv_solver.h"
|
||||
#include "solver/solver2tactic.h"
|
||||
|
||||
solver * mk_fd_solver(ast_manager & m, params_ref const & p) {
|
||||
|
|
|
@ -19,8 +19,8 @@ Notes:
|
|||
#ifndef FD_SOLVER_H_
|
||||
#define FD_SOLVER_H_
|
||||
|
||||
#include"ast.h"
|
||||
#include"params.h"
|
||||
#include "ast/ast.h"
|
||||
#include "util/params.h"
|
||||
|
||||
class solver;
|
||||
class tactic;
|
||||
|
|
|
@ -16,14 +16,14 @@ Notes:
|
|||
|
||||
--*/
|
||||
|
||||
#include "pb2bv_solver.h"
|
||||
#include "solver_na2as.h"
|
||||
#include "tactic.h"
|
||||
#include "pb2bv_rewriter.h"
|
||||
#include "th_rewriter.h"
|
||||
#include "filter_model_converter.h"
|
||||
#include "ast_pp.h"
|
||||
#include "model_smt2_pp.h"
|
||||
#include "tactic/portfolio/pb2bv_solver.h"
|
||||
#include "solver/solver_na2as.h"
|
||||
#include "tactic/tactic.h"
|
||||
#include "ast/rewriter/pb2bv_rewriter.h"
|
||||
#include "ast/rewriter/th_rewriter.h"
|
||||
#include "tactic/filter_model_converter.h"
|
||||
#include "ast/ast_pp.h"
|
||||
#include "model/model_smt2_pp.h"
|
||||
|
||||
class pb2bv_solver : public solver_na2as {
|
||||
ast_manager& m;
|
||||
|
|
|
@ -19,8 +19,8 @@ Notes:
|
|||
#ifndef PB2BV_SOLVER_H_
|
||||
#define PB2BV_SOLVER_H_
|
||||
|
||||
#include"ast.h"
|
||||
#include"params.h"
|
||||
#include "ast/ast.h"
|
||||
#include "util/params.h"
|
||||
|
||||
class solver;
|
||||
|
||||
|
|
|
@ -17,29 +17,31 @@ Author:
|
|||
Notes:
|
||||
|
||||
--*/
|
||||
#include"cmd_context.h"
|
||||
#include"combined_solver.h"
|
||||
#include"tactic2solver.h"
|
||||
#include"qfbv_tactic.h"
|
||||
#include"qflia_tactic.h"
|
||||
#include"qfnia_tactic.h"
|
||||
#include"qfnra_tactic.h"
|
||||
#include"qfuf_tactic.h"
|
||||
#include"qflra_tactic.h"
|
||||
#include"quant_tactics.h"
|
||||
#include"qfauflia_tactic.h"
|
||||
#include"qfaufbv_tactic.h"
|
||||
#include"qfufbv_tactic.h"
|
||||
#include"qfidl_tactic.h"
|
||||
#include"default_tactic.h"
|
||||
#include"ufbv_tactic.h"
|
||||
#include"qffp_tactic.h"
|
||||
#include"horn_tactic.h"
|
||||
#include"smt_solver.h"
|
||||
#include"inc_sat_solver.h"
|
||||
#include"fd_solver.h"
|
||||
#include"bv_rewriter.h"
|
||||
#include"solver2tactic.h"
|
||||
#include "cmd_context/cmd_context.h"
|
||||
#include "solver/combined_solver.h"
|
||||
#include "solver/tactic2solver.h"
|
||||
#include "tactic/smtlogics/qfbv_tactic.h"
|
||||
#include "tactic/smtlogics/qflia_tactic.h"
|
||||
#include "tactic/smtlogics/qfnia_tactic.h"
|
||||
#include "tactic/smtlogics/qfnra_tactic.h"
|
||||
#include "tactic/smtlogics/qfuf_tactic.h"
|
||||
#include "tactic/smtlogics/qflra_tactic.h"
|
||||
#include "tactic/smtlogics/quant_tactics.h"
|
||||
#include "tactic/smtlogics/qfauflia_tactic.h"
|
||||
#include "tactic/smtlogics/qfaufbv_tactic.h"
|
||||
#include "tactic/smtlogics/qfufbv_tactic.h"
|
||||
#include "tactic/smtlogics/qfidl_tactic.h"
|
||||
#include "tactic/smtlogics/nra_tactic.h"
|
||||
#include "tactic/portfolio/default_tactic.h"
|
||||
#include "tactic/portfolio/fd_solver.h"
|
||||
#include "tactic/ufbv/ufbv_tactic.h"
|
||||
#include "tactic/fpa/qffp_tactic.h"
|
||||
#include "tactic/smtlogics/qfufnra_tactic.h"
|
||||
#include "muz/fp/horn_tactic.h"
|
||||
#include "smt/smt_solver.h"
|
||||
#include "sat/sat_solver/inc_sat_solver.h"
|
||||
#include "ast/rewriter/bv_rewriter.h"
|
||||
#include "solver/solver2tactic.h"
|
||||
|
||||
|
||||
tactic * mk_tactic_for_logic(ast_manager & m, params_ref const & p, symbol const & logic) {
|
||||
|
@ -77,6 +79,8 @@ tactic * mk_tactic_for_logic(ast_manager & m, params_ref const & p, symbol const
|
|||
return mk_uflra_tactic(m, p);
|
||||
else if (logic=="LRA")
|
||||
return mk_lra_tactic(m, p);
|
||||
else if (logic=="NRA")
|
||||
return mk_nra_tactic(m, p);
|
||||
else if (logic=="LIA")
|
||||
return mk_lia_tactic(m, p);
|
||||
else if (logic=="UFBV")
|
||||
|
@ -89,14 +93,14 @@ tactic * mk_tactic_for_logic(ast_manager & m, params_ref const & p, symbol const
|
|||
return mk_qffpbv_tactic(m, p);
|
||||
else if (logic=="HORN")
|
||||
return mk_horn_tactic(m, p);
|
||||
else if (logic == "QF_FD")
|
||||
else if ((logic == "QF_FD" || logic == "SAT") && !m.proofs_enabled())
|
||||
return mk_fd_tactic(m, p);
|
||||
else
|
||||
return mk_default_tactic(m, p);
|
||||
}
|
||||
|
||||
static solver* mk_special_solver_for_logic(ast_manager & m, params_ref const & p, symbol const& logic) {
|
||||
if (logic == "QF_FD")
|
||||
if ((logic == "QF_FD" || logic == "SAT") && !m.proofs_enabled())
|
||||
return mk_fd_solver(m, p);
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue