mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 01:25:31 +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
|
@ -2357,6 +2357,7 @@ namespace sat {
|
|||
// ----------------------------------
|
||||
// lp based relaxation
|
||||
|
||||
#if 0
|
||||
void ba_solver::lp_add_var(int coeff, lp::var_index v, lhs_t& lhs, rational& rhs) {
|
||||
if (coeff < 0) {
|
||||
rhs += rational(coeff);
|
||||
|
@ -2464,6 +2465,7 @@ namespace sat {
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// -------------------------------
|
||||
// set literals equivalent
|
||||
|
|
|
@ -21,11 +21,11 @@ Revision History:
|
|||
#ifndef BA_SOLVER_H_
|
||||
#define BA_SOLVER_H_
|
||||
|
||||
#include"sat_extension.h"
|
||||
#include"sat_solver.h"
|
||||
#include"sat_lookahead.h"
|
||||
#include"scoped_ptr_vector.h"
|
||||
#include"util/lp/lar_solver.h"
|
||||
#include "sat/sat_extension.h"
|
||||
#include "sat/sat_solver.h"
|
||||
#include "sat/sat_lookahead.h"
|
||||
#include "util/scoped_ptr_vector.h"
|
||||
#include "util/lp/lar_solver.h"
|
||||
|
||||
|
||||
namespace sat {
|
||||
|
|
|
@ -16,10 +16,10 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"dimacs.h"
|
||||
#include "sat/dimacs.h"
|
||||
#undef max
|
||||
#undef min
|
||||
#include"sat_solver.h"
|
||||
#include "sat/sat_solver.h"
|
||||
|
||||
class stream_buffer {
|
||||
std::istream & m_stream;
|
||||
|
|
|
@ -19,7 +19,7 @@ Revision History:
|
|||
#ifndef DIMACS_H_
|
||||
#define DIMACS_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include "sat/sat_types.h"
|
||||
|
||||
void parse_dimacs(std::istream & s, sat::solver & solver);
|
||||
|
||||
|
|
|
@ -16,11 +16,11 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"sat_asymm_branch.h"
|
||||
#include"sat_asymm_branch_params.hpp"
|
||||
#include"sat_solver.h"
|
||||
#include"stopwatch.h"
|
||||
#include"trace.h"
|
||||
#include "sat/sat_asymm_branch.h"
|
||||
#include "sat/sat_asymm_branch_params.hpp"
|
||||
#include "sat/sat_solver.h"
|
||||
#include "util/stopwatch.h"
|
||||
#include "util/trace.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -19,9 +19,9 @@ Revision History:
|
|||
#ifndef SAT_ASYMM_BRANCH_H_
|
||||
#define SAT_ASYMM_BRANCH_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include"statistics.h"
|
||||
#include"params.h"
|
||||
#include "sat/sat_types.h"
|
||||
#include "util/statistics.h"
|
||||
#include "util/params.h"
|
||||
|
||||
namespace sat {
|
||||
class solver;
|
||||
|
|
|
@ -19,7 +19,7 @@ Notes:
|
|||
#ifndef _SAT_CCC_H_
|
||||
#define _SAT_CCC_H_
|
||||
|
||||
#include "queue.h"
|
||||
#include "util/queue.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -17,9 +17,9 @@ Revision History:
|
|||
|
||||
--*/
|
||||
#include<memory.h>
|
||||
#include"sat_clause.h"
|
||||
#include"z3_exception.h"
|
||||
#include"trace.h"
|
||||
#include "sat/sat_clause.h"
|
||||
#include "util/z3_exception.h"
|
||||
#include "util/trace.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -19,10 +19,10 @@ Revision History:
|
|||
#ifndef SAT_CLAUSE_H_
|
||||
#define SAT_CLAUSE_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include"small_object_allocator.h"
|
||||
#include"id_gen.h"
|
||||
#include"map.h"
|
||||
#include "sat/sat_types.h"
|
||||
#include "util/small_object_allocator.h"
|
||||
#include "util/id_gen.h"
|
||||
#include "util/map.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4200)
|
||||
|
|
|
@ -16,7 +16,7 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"sat_clause_set.h"
|
||||
#include "sat/sat_clause_set.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ Revision History:
|
|||
#ifndef SAT_CLAUSE_SET_H_
|
||||
#define SAT_CLAUSE_SET_H_
|
||||
|
||||
#include"sat_clause.h"
|
||||
#include "sat/sat_clause.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -16,8 +16,8 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"sat_clause.h"
|
||||
#include"sat_clause_use_list.h"
|
||||
#include "sat/sat_clause.h"
|
||||
#include "sat/sat_clause_use_list.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@ Revision History:
|
|||
#ifndef SAT_CLAUSE_USE_LIST_H_
|
||||
#define SAT_CLAUSE_USE_LIST_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include"trace.h"
|
||||
#include "sat/sat_types.h"
|
||||
#include "util/trace.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -16,10 +16,10 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"sat_cleaner.h"
|
||||
#include"sat_solver.h"
|
||||
#include"trace.h"
|
||||
#include"stopwatch.h"
|
||||
#include "sat/sat_cleaner.h"
|
||||
#include "sat/sat_solver.h"
|
||||
#include "util/trace.h"
|
||||
#include "util/stopwatch.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@ Revision History:
|
|||
#ifndef SAT_CLEANER_H_
|
||||
#define SAT_CLEANER_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include"statistics.h"
|
||||
#include "sat/sat_types.h"
|
||||
#include "util/statistics.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -16,9 +16,9 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"sat_config.h"
|
||||
#include"sat_types.h"
|
||||
#include"sat_params.hpp"
|
||||
#include "sat/sat_config.h"
|
||||
#include "sat/sat_types.h"
|
||||
#include "sat/sat_params.hpp"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ Revision History:
|
|||
#ifndef SAT_CONFIG_H_
|
||||
#define SAT_CONFIG_H_
|
||||
|
||||
#include"params.h"
|
||||
#include "util/params.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -16,9 +16,9 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"sat_elim_eqs.h"
|
||||
#include"sat_solver.h"
|
||||
#include"trace.h"
|
||||
#include "sat/sat_elim_eqs.h"
|
||||
#include "sat/sat_solver.h"
|
||||
#include "util/trace.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ Revision History:
|
|||
#ifndef SAT_ELIM_EQS_H_
|
||||
#define SAT_ELIM_EQS_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include "sat/sat_types.h"
|
||||
|
||||
namespace sat {
|
||||
class solver;
|
||||
|
|
|
@ -19,9 +19,9 @@ Revision History:
|
|||
#ifndef SAT_EXTENSION_H_
|
||||
#define SAT_EXTENSION_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include"params.h"
|
||||
#include"statistics.h"
|
||||
#include "sat/sat_types.h"
|
||||
#include "util/params.h"
|
||||
#include "util/statistics.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -29,8 +29,8 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"sat_iff3_finder.h"
|
||||
#include"sat_solver.h"
|
||||
#include "sat/sat_iff3_finder.h"
|
||||
#include "sat/sat_solver.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ Revision History:
|
|||
#ifndef SAT_IFF3_FINDER_H_
|
||||
#define SAT_IFF3_FINDER_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include "sat/sat_types.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -17,9 +17,9 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"sat_integrity_checker.h"
|
||||
#include"sat_solver.h"
|
||||
#include"trace.h"
|
||||
#include "sat/sat_integrity_checker.h"
|
||||
#include "sat/sat_solver.h"
|
||||
#include "util/trace.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ Revision History:
|
|||
#ifndef SAT_INTEGRITY_CHECKER_H_
|
||||
#define SAT_INTEGRITY_CHECKER_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include "sat/sat_types.h"
|
||||
|
||||
namespace sat {
|
||||
class integrity_checker {
|
||||
|
|
|
@ -17,11 +17,11 @@ Notes:
|
|||
|
||||
--*/
|
||||
|
||||
#include "sat_local_search.h"
|
||||
#include "sat_solver.h"
|
||||
#include "ba_solver.h"
|
||||
#include "sat_params.hpp"
|
||||
#include "timer.h"
|
||||
#include "sat/sat_local_search.h"
|
||||
#include "sat/sat_solver.h"
|
||||
#include "sat/ba_solver.h"
|
||||
#include "sat/sat_params.hpp"
|
||||
#include "util/timer.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -19,9 +19,9 @@
|
|||
#ifndef _SAT_LOCAL_SEARCH_H_
|
||||
#define _SAT_LOCAL_SEARCH_H_
|
||||
|
||||
#include "vector.h"
|
||||
#include "sat_types.h"
|
||||
#include "rlimit.h"
|
||||
#include "util/vector.h"
|
||||
#include "sat/sat_types.h"
|
||||
#include "util/rlimit.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -16,9 +16,9 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"sat_model_converter.h"
|
||||
#include"sat_clause.h"
|
||||
#include"trace.h"
|
||||
#include "sat/sat_model_converter.h"
|
||||
#include "sat/sat_clause.h"
|
||||
#include "util/trace.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ Revision History:
|
|||
#ifndef SAT_MODEL_CONVERTER_H_
|
||||
#define SAT_MODEL_CONVERTER_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include "sat/sat_types.h"
|
||||
|
||||
namespace sat {
|
||||
/**
|
||||
|
|
|
@ -18,8 +18,8 @@ Notes:
|
|||
|
||||
--*/
|
||||
|
||||
#include "sat_solver.h"
|
||||
#include "sat_mus.h"
|
||||
#include "sat/sat_solver.h"
|
||||
#include "sat/sat_mus.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
45
src/sat/sat_par.cpp
Normal file
45
src/sat/sat_par.cpp
Normal file
|
@ -0,0 +1,45 @@
|
|||
/*++
|
||||
Copyright (c) 2017 Microsoft Corporation
|
||||
|
||||
Module Name:
|
||||
|
||||
sat_par.cpp
|
||||
|
||||
Abstract:
|
||||
|
||||
Utilities for parallel SAT solving.
|
||||
|
||||
Author:
|
||||
|
||||
Nikolaj Bjorner (nbjorner) 2017-1-29.
|
||||
|
||||
Revision History:
|
||||
|
||||
--*/
|
||||
#include "sat/sat_par.h"
|
||||
|
||||
|
||||
namespace sat {
|
||||
|
||||
par::par() {}
|
||||
|
||||
void par::exchange(literal_vector const& in, unsigned& limit, literal_vector& out) {
|
||||
#pragma omp critical (par_solver)
|
||||
{
|
||||
if (limit < m_units.size()) {
|
||||
// this might repeat some literals.
|
||||
out.append(m_units.size() - limit, m_units.c_ptr() + limit);
|
||||
}
|
||||
for (unsigned i = 0; i < in.size(); ++i) {
|
||||
literal lit = in[i];
|
||||
if (!m_unit_set.contains(lit.index())) {
|
||||
m_unit_set.insert(lit.index());
|
||||
m_units.push_back(lit);
|
||||
}
|
||||
}
|
||||
limit = m_units.size();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
39
src/sat/sat_par.h
Normal file
39
src/sat/sat_par.h
Normal file
|
@ -0,0 +1,39 @@
|
|||
/*++
|
||||
Copyright (c) 2017 Microsoft Corporation
|
||||
|
||||
Module Name:
|
||||
|
||||
sat_par.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Utilities for parallel SAT solving.
|
||||
|
||||
Author:
|
||||
|
||||
Nikolaj Bjorner (nbjorner) 2017-1-29.
|
||||
|
||||
Revision History:
|
||||
|
||||
--*/
|
||||
#ifndef SAT_PAR_H_
|
||||
#define SAT_PAR_H_
|
||||
|
||||
#include "sat/sat_types.h"
|
||||
#include "util/hashtable.h"
|
||||
#include "util/map.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
class par {
|
||||
typedef hashtable<unsigned, u_hash, u_eq> index_set;
|
||||
literal_vector m_units;
|
||||
index_set m_unit_set;
|
||||
public:
|
||||
par();
|
||||
void exchange(literal_vector const& in, unsigned& limit, literal_vector& out);
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
|
@ -19,10 +19,10 @@ Revision History:
|
|||
#ifndef SAT_PARALLEL_H_
|
||||
#define SAT_PARALLEL_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include"hashtable.h"
|
||||
#include"map.h"
|
||||
#include"rlimit.h"
|
||||
#include "sat/sat_types.h"
|
||||
#include "util/hashtable.h"
|
||||
#include "util/map.h"
|
||||
#include "util/rlimit.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -17,8 +17,8 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"sat_probing.h"
|
||||
#include"sat_solver.h"
|
||||
#include "sat/sat_probing.h"
|
||||
#include "sat/sat_solver.h"
|
||||
|
||||
namespace sat {
|
||||
probing::probing(solver & _s, params_ref const & p):
|
||||
|
|
|
@ -20,9 +20,9 @@ Revision History:
|
|||
#ifndef SAT_PROBING_H_
|
||||
#define SAT_PROBING_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include"params.h"
|
||||
#include"statistics.h"
|
||||
#include "sat/sat_types.h"
|
||||
#include "util/params.h"
|
||||
#include "util/statistics.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -16,12 +16,12 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"sat_scc.h"
|
||||
#include"sat_solver.h"
|
||||
#include"sat_elim_eqs.h"
|
||||
#include"stopwatch.h"
|
||||
#include"trace.h"
|
||||
#include"sat_scc_params.hpp"
|
||||
#include "sat/sat_scc.h"
|
||||
#include "sat/sat_solver.h"
|
||||
#include "sat/sat_elim_eqs.h"
|
||||
#include "util/stopwatch.h"
|
||||
#include "util/trace.h"
|
||||
#include "sat/sat_scc_params.hpp"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -19,9 +19,9 @@ Revision History:
|
|||
#ifndef SAT_SCC_H_
|
||||
#define SAT_SCC_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include"statistics.h"
|
||||
#include"params.h"
|
||||
#include "sat/sat_types.h"
|
||||
#include "util/statistics.h"
|
||||
#include "util/params.h"
|
||||
|
||||
namespace sat {
|
||||
class solver;
|
||||
|
|
|
@ -18,11 +18,11 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"sat_simplifier.h"
|
||||
#include"sat_simplifier_params.hpp"
|
||||
#include"sat_solver.h"
|
||||
#include"stopwatch.h"
|
||||
#include"trace.h"
|
||||
#include "sat/sat_simplifier.h"
|
||||
#include "sat/sat_simplifier_params.hpp"
|
||||
#include "sat/sat_solver.h"
|
||||
#include "util/stopwatch.h"
|
||||
#include "util/trace.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -21,16 +21,16 @@ Revision History:
|
|||
#ifndef SAT_SIMPLIFIER_H_
|
||||
#define SAT_SIMPLIFIER_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include"sat_clause.h"
|
||||
#include"sat_clause_set.h"
|
||||
#include"sat_clause_use_list.h"
|
||||
#include"sat_watched.h"
|
||||
#include"sat_extension.h"
|
||||
#include"sat_model_converter.h"
|
||||
#include"heap.h"
|
||||
#include"statistics.h"
|
||||
#include"params.h"
|
||||
#include "sat/sat_types.h"
|
||||
#include "sat/sat_clause.h"
|
||||
#include "sat/sat_clause_set.h"
|
||||
#include "sat/sat_clause_use_list.h"
|
||||
#include "sat/sat_extension.h"
|
||||
#include "sat/sat_watched.h"
|
||||
#include "sat/sat_model_converter.h"
|
||||
#include "util/heap.h"
|
||||
#include "util/statistics.h"
|
||||
#include "util/params.h"
|
||||
|
||||
namespace sat {
|
||||
class solver;
|
||||
|
|
|
@ -16,14 +16,14 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"sat_solver.h"
|
||||
#include"sat_integrity_checker.h"
|
||||
#include"luby.h"
|
||||
#include"trace.h"
|
||||
#include"max_cliques.h"
|
||||
#include"scoped_ptr_vector.h"
|
||||
#include"sat_lookahead.h"
|
||||
#include"sat_ccc.h"
|
||||
|
||||
#include "sat/sat_solver.h"
|
||||
#include "sat/sat_integrity_checker.h"
|
||||
#include "sat/sat_lookahead.h"
|
||||
#include "sat/sat_ccc.h"
|
||||
#include "util/luby.h"
|
||||
#include "util/trace.h"
|
||||
#include "util/max_cliques.h"
|
||||
|
||||
// define to update glue during propagation
|
||||
#define UPDATE_GLUE
|
||||
|
|
|
@ -19,28 +19,31 @@ Revision History:
|
|||
#ifndef SAT_SOLVER_H_
|
||||
#define SAT_SOLVER_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include"sat_clause.h"
|
||||
#include"sat_watched.h"
|
||||
#include"sat_justification.h"
|
||||
#include"sat_var_queue.h"
|
||||
#include"sat_extension.h"
|
||||
#include"sat_config.h"
|
||||
#include"sat_cleaner.h"
|
||||
#include"sat_simplifier.h"
|
||||
#include"sat_scc.h"
|
||||
#include"sat_asymm_branch.h"
|
||||
#include"sat_iff3_finder.h"
|
||||
#include"sat_probing.h"
|
||||
#include"sat_mus.h"
|
||||
#include"sat_drat.h"
|
||||
#include"sat_parallel.h"
|
||||
#include"sat_local_search.h"
|
||||
#include"params.h"
|
||||
#include"statistics.h"
|
||||
#include"stopwatch.h"
|
||||
#include"trace.h"
|
||||
#include"rlimit.h"
|
||||
|
||||
#include "sat/sat_types.h"
|
||||
#include "sat/sat_clause.h"
|
||||
#include "sat/sat_watched.h"
|
||||
#include "sat/sat_justification.h"
|
||||
#include "sat/sat_var_queue.h"
|
||||
#include "sat/sat_extension.h"
|
||||
#include "sat/sat_config.h"
|
||||
#include "sat/sat_cleaner.h"
|
||||
#include "sat/sat_simplifier.h"
|
||||
#include "sat/sat_scc.h"
|
||||
#include "sat/sat_asymm_branch.h"
|
||||
#include "sat/sat_iff3_finder.h"
|
||||
#include "sat/sat_probing.h"
|
||||
#include "sat/sat_mus.h"
|
||||
#include "sat/sat_drat.h"
|
||||
#include "sat/sat_parallel.h"
|
||||
#include "sat/sat_local_search.h"
|
||||
#include "sat/sat_par.h"
|
||||
#include "util/params.h"
|
||||
#include "util/statistics.h"
|
||||
#include "util/stopwatch.h"
|
||||
#include "util/trace.h"
|
||||
#include "util/rlimit.h"
|
||||
#include "util/scoped_ptr_vector.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ Notes:
|
|||
|
||||
--*/
|
||||
|
||||
/*
|
||||
#include "solver.h"
|
||||
#include "tactical.h"
|
||||
#include "sat_solver.h"
|
||||
|
@ -36,8 +37,27 @@ Notes:
|
|||
#include "ast_translation.h"
|
||||
#include "ast_util.h"
|
||||
#include "propagate_values_tactic.h"
|
||||
#include "sat_params.hpp"
|
||||
*/
|
||||
|
||||
#include "solver/solver.h"
|
||||
#include "tactic/tactical.h"
|
||||
#include "sat/sat_solver.h"
|
||||
#include "solver/tactic2solver.h"
|
||||
#include "tactic/aig/aig_tactic.h"
|
||||
#include "tactic/core/propagate_values_tactic.h"
|
||||
#include "tactic/bv/max_bv_sharing_tactic.h"
|
||||
#include "tactic/arith/card2bv_tactic.h"
|
||||
#include "tactic/bv/bit_blaster_tactic.h"
|
||||
#include "tactic/core/simplify_tactic.h"
|
||||
#include "sat/tactic/goal2sat.h"
|
||||
#include "ast/ast_pp.h"
|
||||
#include "model/model_smt2_pp.h"
|
||||
#include "tactic/filter_model_converter.h"
|
||||
#include "tactic/bv/bit_blaster_model_converter.h"
|
||||
#include "ast/ast_translation.h"
|
||||
#include "ast/ast_util.h"
|
||||
#include "tactic/core/propagate_values_tactic.h"
|
||||
#include "sat/sat_params.hpp"
|
||||
|
||||
// incremental SAT solver.
|
||||
class inc_sat_solver : public solver {
|
||||
|
@ -530,6 +550,9 @@ private:
|
|||
m_subgoals.reset();
|
||||
init_preprocess();
|
||||
SASSERT(g->models_enabled());
|
||||
if (g->proofs_enabled()) {
|
||||
throw default_exception("generation of proof objects is not supported in this mode");
|
||||
}
|
||||
SASSERT(!g->proofs_enabled());
|
||||
TRACE("sat", g->display(tout););
|
||||
try {
|
||||
|
|
|
@ -20,7 +20,7 @@ Notes:
|
|||
#ifndef HS_INC_SAT_SOLVER_H_
|
||||
#define HS_INC_SAT_SOLVER_H_
|
||||
|
||||
#include "solver.h"
|
||||
#include "solver/solver.h"
|
||||
|
||||
solver* mk_inc_sat_solver(ast_manager& m, params_ref const& p);
|
||||
|
||||
|
|
|
@ -19,13 +19,13 @@ Revision History:
|
|||
#ifndef SAT_TYPES_H_
|
||||
#define SAT_TYPES_H_
|
||||
|
||||
#include"util/debug.h"
|
||||
#include"util/approx_set.h"
|
||||
#include"util/lbool.h"
|
||||
#include"util/z3_exception.h"
|
||||
#include"util/common_msgs.h"
|
||||
#include"util/vector.h"
|
||||
#include"util/uint_set.h"
|
||||
#include "util/debug.h"
|
||||
#include "util/approx_set.h"
|
||||
#include "util/lbool.h"
|
||||
#include "util/z3_exception.h"
|
||||
#include "util/common_msgs.h"
|
||||
#include "util/vector.h"
|
||||
#include "util/uint_set.h"
|
||||
#include<iomanip>
|
||||
|
||||
namespace sat {
|
||||
|
|
|
@ -19,8 +19,8 @@ Revision History:
|
|||
#ifndef SAT_VAR_QUEUE_H_
|
||||
#define SAT_VAR_QUEUE_H_
|
||||
|
||||
#include"heap.h"
|
||||
#include"sat_types.h"
|
||||
#include "util/heap.h"
|
||||
#include "sat/sat_types.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -16,8 +16,8 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#include"sat_watched.h"
|
||||
#include"sat_clause.h"
|
||||
#include "sat/sat_watched.h"
|
||||
#include "sat/sat_clause.h"
|
||||
|
||||
namespace sat {
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@ Revision History:
|
|||
#ifndef SAT_WATCHED_H_
|
||||
#define SAT_WATCHED_H_
|
||||
|
||||
#include"sat_types.h"
|
||||
#include"vector.h"
|
||||
#include "sat/sat_types.h"
|
||||
#include "util/vector.h"
|
||||
|
||||
namespace sat {
|
||||
/**
|
||||
|
|
|
@ -16,10 +16,10 @@ Author:
|
|||
Notes:
|
||||
|
||||
--*/
|
||||
#include"atom2bool_var.h"
|
||||
#include"ast_smt2_pp.h"
|
||||
#include"ref_util.h"
|
||||
#include"goal.h"
|
||||
#include "sat/tactic/atom2bool_var.h"
|
||||
#include "ast/ast_smt2_pp.h"
|
||||
#include "util/ref_util.h"
|
||||
#include "tactic/goal.h"
|
||||
|
||||
void atom2bool_var::mk_inv(expr_ref_vector & lit2expr) const {
|
||||
obj_map<expr, var>::iterator it = m_mapping.begin();
|
||||
|
|
|
@ -19,8 +19,8 @@ Notes:
|
|||
#ifndef ATOM2BOOL_VAR_H_
|
||||
#define ATOM2BOOL_VAR_H_
|
||||
|
||||
#include"expr2var.h"
|
||||
#include"sat_types.h"
|
||||
#include "ast/expr2var.h"
|
||||
#include "sat/sat_types.h"
|
||||
|
||||
/**
|
||||
\brief Mapping from atoms into SAT boolean variables.
|
||||
|
|
|
@ -26,19 +26,19 @@ Author:
|
|||
Notes:
|
||||
|
||||
--*/
|
||||
#include"goal2sat.h"
|
||||
#include"ast_smt2_pp.h"
|
||||
#include"ref_util.h"
|
||||
#include"cooperate.h"
|
||||
#include"filter_model_converter.h"
|
||||
#include"model_evaluator.h"
|
||||
#include"for_each_expr.h"
|
||||
#include"model_v2_pp.h"
|
||||
#include"tactic.h"
|
||||
#include"ast_pp.h"
|
||||
#include"ast_util.h"
|
||||
#include"pb_decl_plugin.h"
|
||||
#include"ba_solver.h"
|
||||
#include "sat/tactic/goal2sat.h"
|
||||
#include "ast/ast_smt2_pp.h"
|
||||
#include "util/ref_util.h"
|
||||
#include "util/cooperate.h"
|
||||
#include "tactic/filter_model_converter.h"
|
||||
#include "model/model_evaluator.h"
|
||||
#include "ast/for_each_expr.h"
|
||||
#include "model/model_v2_pp.h"
|
||||
#include "tactic/tactic.h"
|
||||
#include "ast/ast_pp.h"
|
||||
#include "sat/ba_solver.h"
|
||||
#include "ast/pb_decl_plugin.h"
|
||||
#include "ast/ast_util.h"
|
||||
#include<sstream>
|
||||
|
||||
struct goal2sat::imp {
|
||||
|
@ -275,6 +275,7 @@ struct goal2sat::imp {
|
|||
for (unsigned i = 0; i < num; ++i) {
|
||||
m_result_stack[i].neg();
|
||||
}
|
||||
mk_clause(m_result_stack.size(), m_result_stack.c_ptr());
|
||||
}
|
||||
else {
|
||||
for (unsigned i = 0; i < num; ++i) {
|
||||
|
@ -305,6 +306,7 @@ struct goal2sat::imp {
|
|||
if (sign)
|
||||
l.neg();
|
||||
m_result_stack.push_back(l);
|
||||
TRACE("goal2sat", tout << m_result_stack << "\n";);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -29,10 +29,10 @@ Notes:
|
|||
#ifndef GOAL2SAT_H_
|
||||
#define GOAL2SAT_H_
|
||||
|
||||
#include"goal.h"
|
||||
#include"sat_solver.h"
|
||||
#include"model_converter.h"
|
||||
#include"atom2bool_var.h"
|
||||
#include "tactic/goal.h"
|
||||
#include "sat/sat_solver.h"
|
||||
#include "tactic/model_converter.h"
|
||||
#include "sat/tactic/atom2bool_var.h"
|
||||
|
||||
class goal2sat {
|
||||
struct imp;
|
||||
|
|
|
@ -16,12 +16,12 @@ Author:
|
|||
Notes:
|
||||
|
||||
--*/
|
||||
#include"tactical.h"
|
||||
#include"goal2sat.h"
|
||||
#include"sat_solver.h"
|
||||
#include"filter_model_converter.h"
|
||||
#include"ast_smt2_pp.h"
|
||||
#include"model_v2_pp.h"
|
||||
#include "tactic/tactical.h"
|
||||
#include "sat/tactic/goal2sat.h"
|
||||
#include "sat/sat_solver.h"
|
||||
#include "tactic/filter_model_converter.h"
|
||||
#include "ast/ast_smt2_pp.h"
|
||||
#include "model/model_v2_pp.h"
|
||||
|
||||
class sat_tactic : public tactic {
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ Notes:
|
|||
#ifndef SAT_TACTIC_H_
|
||||
#define SAT_TACTIC_H_
|
||||
|
||||
#include"params.h"
|
||||
#include "util/params.h"
|
||||
class ast_manager;
|
||||
class tactic;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue