3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 08:35:31 +00:00
z3/src/ast
Lev Nachmanson 6202b2f2e4 add cancellations
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

syntax errors

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

use std::vector instead of vector in cut_solver temporarily

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix in is_upper_bound, is_lower_bound

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add bound() for polynomial, needs more testing

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on resolve

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

implement resolve()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

implement improves()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

replace low_bound by lower_bound

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

better printing in cut_solver.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add value vector to cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on bound propagaion for cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

bound propagation for integer inequalites

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

bound propagation for integer inequalites

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

bound propagattions on integers

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

adding m_explanation field to cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify bound propagation in cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

calculate conflict explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

change m_explanation type to a set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

making cut_solver a member of int_solver, missing push/pop support

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

Nikolaj's comments

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

Nikolaj's comments

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

return explanations from cut_solver and hook up push/pop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

hook up push/pop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

using resize of std::vector

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

it is a big squashed commit

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

rename hpp to cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in push/pop of cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

return simple inequalities a part of a conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on propagation and the main loop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add file

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

init m_v[j], the var values only when j is fixed

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

handle decide in cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

start on resolve_conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

start on resolve_conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove cut_solver_def.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

in the middle

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

change signature of resolve

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix the domain of the decided var

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on tightening of ineqs

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on tight ineqs

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on tightening

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on tightening

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

resolve conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix in usage of resolve()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on conflict resolution

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

cut_solver is not a template

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

represent var_info as a class, not a struct

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

make literal a class

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

better resolve_conflict scheme, and switch to *constraints in literals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug conflict resolution in cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

switch to vector

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove nondetermenistic behavior from cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug resolve conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix backjump

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix backjump

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix backjump

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix backjump

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

dumb explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

get rid of a parameter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add lemmas origins

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use lemma_origins to provide correct explanations

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use lemma_origins to provide correct explanations

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

store lemmas in a separate vector

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use std::unordered_set for m_dependent_constraints

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use std::unordered_set for m_dependent_constraints

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs with lemmas

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

finding conflicting cores

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

switch from changed variables to active_set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

less active constraints

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on cut_solver.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

propagate simple constraing immediately

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

propagate simple constraints immediately

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixing bugs with active set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove const_cast

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

towards unbounded variables

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

toward unbounded variables

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

toward unbounded variables

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

make lemmas_origins a set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use correct hash and equal in m_lemma_origins

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add testing code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add testing code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug unlimited vars

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

take in Nikolaj's comments and improvements

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

address the comments

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

handle unlimited vars in check_inconsistent

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

detect trivial polynomials in resolve

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

Nikolaj's changes

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify handling of m_global_bound_var

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

decide on m_global_bound_var if it is not fixed

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify m_global_bound_var

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove m_global_bound_var, simplify the indexing of var_infos of cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

do not run cut_solver with vars without any bound

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

small changes

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add cancellation in cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

do not pop lemmas during a cut_solver run

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

treating cut_solver as an heurisitic

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

prepare for cut_solver returning undef

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify work with active_set in cut_solver, add stats

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify var_info literals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in fill_conflict_explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in the conflict explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add timeout to validate_* in theory_lra.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify cut_solver, no special treatment for simple constraints

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

cleanup the cancel story

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

cleanup cancelling

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in push/pop of cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

extract a method in int_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

some progress with the new scheme

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add testing code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in test and in literal creation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in bound propagation in cut_solver.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

provide valid conflict explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use a lazy push in stacked_map

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use a lazy push in stacked_map

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

optimize stack operations on var_info's domains

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in tightening

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use the standard tactics from qflia_tactic

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

spread the var domain stack over literals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

spread the var domain stack over literals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

avoid cycling in cut_solver.h and fixes in push/pop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes after rebase

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 11:35:11 -07:00
..
fpa integrate lambda expressions 2018-06-26 07:23:04 -07:00
macros integrate lambda expressions 2018-06-26 07:23:04 -07:00
normal_forms integrate lambda expressions 2018-06-26 07:23:04 -07:00
pattern integrate lambda expressions 2018-06-26 07:23:04 -07:00
proofs integrate lambda expressions 2018-06-26 07:23:04 -07:00
rewriter add cancellations 2018-06-27 11:35:11 -07:00
simplifier Dev (#56) 2018-06-27 10:04:46 -07:00
substitution Use nullptr. 2018-02-12 14:05:55 +07:00
act_cache.cpp Use nullptr. 2018-02-12 14:05:55 +07:00
act_cache.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
arith_decl_plugin.cpp fixes 2018-06-14 16:08:52 -07:00
arith_decl_plugin.h add cancellations 2018-06-27 11:35:11 -07:00
array_decl_plugin.cpp Use nullptr. 2018-02-12 14:05:55 +07:00
array_decl_plugin.h Use nullptr. 2018-02-12 14:05:55 +07:00
ast.cpp add cancellations 2018-06-27 11:35:11 -07:00
ast.h integrate lambda expressions 2018-06-26 07:23:04 -07:00
ast_ll_pp.cpp integrate lambda expressions 2018-06-26 07:23:04 -07:00
ast_ll_pp.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
ast_lt.cpp integrate lambda expressions 2018-06-26 07:23:04 -07:00
ast_lt.h
ast_pp.h Use nullptr. 2018-02-12 14:05:55 +07:00
ast_pp_dot.cpp Minor fixes to ast_pp_dot 2018-06-14 16:08:48 -07:00
ast_pp_dot.h Minor fixes to ast_pp_dot 2018-06-14 16:08:48 -07:00
ast_pp_util.cpp merge with master 2018-03-25 14:57:01 -07:00
ast_pp_util.h merge with master 2018-03-25 14:57:01 -07:00
ast_printer.cpp merge with master 2018-03-25 14:57:01 -07:00
ast_printer.h Use override rather than virtual. 2018-02-09 21:19:27 +07:00
ast_smt2_pp.cpp integrate lambda expressions 2018-06-26 07:23:04 -07:00
ast_smt2_pp.h merge with master 2018-03-25 14:57:01 -07:00
ast_smt_pp.cpp integrate lambda expressions 2018-06-26 07:23:04 -07:00
ast_smt_pp.h merge with master 2018-03-25 14:57:01 -07:00
ast_trail.h Use override rather than virtual. 2018-02-10 09:56:33 +07:00
ast_translation.cpp integrate lambda expressions 2018-06-26 07:23:04 -07:00
ast_translation.h clean up parallel tactic 2018-04-16 03:18:57 -07:00
ast_util.cpp mk_not: fix clang compilation issue 2018-06-14 16:08:52 -07:00
ast_util.h mk_not: fix clang compilation issue 2018-06-14 16:08:52 -07:00
bv_decl_plugin.cpp merge with master 2018-03-25 14:57:01 -07:00
bv_decl_plugin.h Remove int64, uint64 typedefs in favor of int64_t / uint64_t. 2018-03-31 14:45:04 +07:00
CMakeLists.txt move files for build script 2018-06-15 15:13:55 -07:00
datatype_decl_plugin.cpp fix #1599. fix #1600 2018-04-27 17:49:20 +02:00
datatype_decl_plugin.h fill out qe_solve_plugin functionality 2018-06-14 16:08:52 -07:00
decl_collector.cpp merge with master 2018-03-25 14:57:01 -07:00
decl_collector.h merge with master 2018-03-25 14:57:01 -07:00
dl_decl_plugin.cpp Remove int64, uint64 typedefs in favor of int64_t / uint64_t. 2018-03-31 14:45:04 +07:00
dl_decl_plugin.h Remove int64, uint64 typedefs in favor of int64_t / uint64_t. 2018-03-31 14:45:04 +07:00
expr2polynomial.cpp Use nullptr. 2018-02-12 14:05:55 +07:00
expr2polynomial.h Use override rather than virtual. 2018-02-09 21:19:27 +07:00
expr2var.cpp merge with master 2018-03-25 14:57:01 -07:00
expr2var.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
expr_abstract.cpp integrate lambda expressions 2018-06-26 07:23:04 -07:00
expr_abstract.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
expr_delta_pair.h Use nullptr. 2018-02-12 14:05:55 +07:00
expr_functors.cpp Use nullptr. 2018-02-12 14:05:55 +07:00
expr_functors.h Use nullptr. 2018-02-12 14:05:55 +07:00
expr_map.cpp Use nullptr. 2018-02-12 14:05:55 +07:00
expr_map.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
expr_stat.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
expr_stat.h
expr_substitution.cpp Use nullptr. 2018-02-12 14:05:55 +07:00
expr_substitution.h Use nullptr. 2018-02-12 14:05:55 +07:00
for_each_ast.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
for_each_ast.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
for_each_expr.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
for_each_expr.h debugging mbi 2018-06-14 16:08:52 -07:00
format.cpp Use nullptr. 2018-02-12 14:05:55 +07:00
format.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
fpa_decl_plugin.cpp Use bool literal false instead of 0. 2018-02-13 19:23:47 +07:00
fpa_decl_plugin.h Use nullptr. 2018-02-12 14:05:55 +07:00
func_decl_dependencies.cpp Use nullptr. 2018-02-12 14:05:55 +07:00
func_decl_dependencies.h Use nullptr. 2018-02-12 14:05:55 +07:00
has_free_vars.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
has_free_vars.h
justified_expr.h update rewriting of equalities and monomials for regressions 2017-09-03 14:36:03 -07:00
macro_substitution.cpp remove iff 2018-06-14 16:08:48 -07:00
macro_substitution.h Use nullptr. 2018-02-12 14:05:55 +07:00
num_occurs.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
num_occurs.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
occurs.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
occurs.h
pb_decl_plugin.cpp merge with master 2018-03-25 14:57:01 -07:00
pb_decl_plugin.h merge with master 2018-03-25 14:57:01 -07:00
pp.cpp updated include directives 2017-08-01 10:51:47 -07:00
pp.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
pp_params.pyg add option for prettier proof printing, Issue #706 2016-08-20 03:52:45 -07:00
recurse_expr.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
recurse_expr_def.h Use nullptr. 2018-02-12 14:05:55 +07:00
reg_decl_plugins.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
reg_decl_plugins.h
scoped_proof.h streamlining proof generation (initial step of removing ast-manager dependency). Detect error in model creation when declaring constant with non-zero arity. See #1223 2017-10-23 21:16:46 -07:00
seq_decl_plugin.cpp merge with opt 2018-04-30 08:27:54 -07:00
seq_decl_plugin.h Use nullptr. 2018-02-12 14:05:55 +07:00
shared_occs.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
shared_occs.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
static_features.cpp remove iff 2018-06-14 16:08:48 -07:00
static_features.h fix #1665 2018-06-08 10:30:20 -07:00
used_symbols.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
used_vars.cpp fix vector<> to support non-POD types 2017-10-16 00:54:29 +01:00
used_vars.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
well_sorted.cpp integrate lambda expressions 2018-06-26 07:23:04 -07:00
well_sorted.h