3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-05 07:23:58 +00:00
Commit graph

3197 commits

Author SHA1 Message Date
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
Lev Nachmanson
58ca4518e5 clean up int_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add a diagnostic method

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

white space change

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

cleanup in int_solver

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

some cleanup

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

remove m_became_zeros

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

start cut_solver, work on disjoint_intervals

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

start cut_solver, work on disjoint_intervals

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

work on disjoint_intervals

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

work on disjoint_intervals

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

work on disjoint_intervals

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

work on disjoint_intervals

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

work on disjoint_intervals

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

workin on disjoint_intervals

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

working on disjoint_intervals

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

working on disjoint_intervals

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

working on disjoint_intervals

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

work on disjoint_intervals

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

fix bugs in disjoint_intervals

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

fix bugs in gisjoint_intervals

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

fix bugs in gisjoint_intervals

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

fix bugs in disjoint_intervals

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

fix bugs in disjoint_intervals

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

fix bugs is disjoint intervals

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

bug fixes in disjoint_intervals

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

disjoint_intervals passes the test

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

test disjoint_intervals push(), pop()

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

cut_solver

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

work on cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 10:53:03 -07:00
Lev Nachmanson
db8f01894f solve send-more-money_lev.smt2
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

handle integer vars in random_update

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

call the assert in gomory_cut and branching to a correct place

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

fixes in goromy cut

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

disable x values tracking in random_update

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

more fixes in gomory cut

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

change in mk_bound by Nikolaj

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

fixes in gomory cut and setup

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

fixes in int_solver

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

change a printout

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

fix by Nikolaj in treating terms returned by int_solver

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

fix syntax

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

fix a free coefficient bug in bound propagaion and simplify gomory cut

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

avoid tracking pivoted rows during int_solver::check()
2018-06-27 10:49:20 -07:00
Lev Nachmanson
aba7dcab3e fix a bug in the lar_solver::m_status update during push/pop
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

progress in gomory cut

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

the first version of Gomory cut, probably broken

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

rename a function

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

gomory cut worked on a toy example

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

track the set of integer variables that are not set to integer values

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2018-06-27 10:19:06 -07:00
Lev Nachmanson
0164ea9abb change the order of initializations in the constructor of imp in theory_lra
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2018-06-27 10:09:29 -07:00
Lev Nachmanson
d41c65a4f9 replace lean to lp
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2018-06-27 10:09:23 -07:00
Nikolaj Bjorner
8bd029c657 Dev (#63)
* introduce int_solver.h

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

* add int_solver class

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

* track which var is an integer

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

* add queries for integrality of vars

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

* resurrect lp_tst in its own director lp

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

* add file

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

* add_constraint has got a body

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

* fix add_constraint and substitute_terms_in_linear_expression

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

* after merge with Z3Prover

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

* adding stub check_int_feasibility()

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

* Dev (#50)

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* small fix in lar_solver.cpp

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

* adding some content to the new check_int_feasibility()

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

* Dev (#51)

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* test

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

* Dev (#53)

* change in a comment

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

* Disabled debug output

* removing FOCI2 interface from interp

* remove foci reference from cmakelist.txt

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* debugging nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* updates to nra_solver integration to call it directly from theory_lra instead of over lar_solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* n/a

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* integrate nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* tidy

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* preserve is_int flag

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

* remove a debug printout

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

* Dev (#54)

* change in a comment

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

* Disabled debug output

* removing FOCI2 interface from interp

* remove foci reference from cmakelist.txt

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* debugging nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* updates to nra_solver integration to call it directly from theory_lra instead of over lar_solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* n/a

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* integrate nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* tidy

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* use integer test from lra solver, updated it to work on term variables

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix equality check in assume-eq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix model_is_int_feasible

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

* untested gcd_test()

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

* call fill_explanation_from_fixed_columns()

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

* add the call to pivot_fixed_vars_from_basis() to int_solver.cpp::check()

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

* port more of theory_arith_int.h

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

* use statistics of lar_solver by theory_lra.cpp

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

* port more code to int_solver.cpp

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

* add an assert

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

* more int porting

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

* fix a bug in pivot_fixed_vars_from_basis

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

* small change

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

* implement find_inf_int_base_column()

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

* catch unregistered vars in add_var_bound

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

* add a file

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

* compile for vs2012

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

* fix asserts in add_var_bound

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

* fix the lp_solver init when workig on an mps file

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

* towards int_solver::check()

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

* change in int_solver::check() signature

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

* add handlers for lia moves

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* spacing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* return branch from int_solver::check()

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

* add a stub for mk_gomory_cut

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

* Dev (#59)

* add handlers for lia moves

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* spacing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* Dev (#60)

* add handlers for lia moves

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* spacing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* Dev (#61)

* add handlers for lia moves

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* spacing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more TRACE(arith_int)

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

* fix the build

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

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* Dev (#62)

* add handlers for lia moves

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* spacing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* build fix

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2018-06-27 10:05:19 -07:00
Nikolaj Bjorner
c82aa5edce Dev (#56)
* introduce int_solver.h

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

* add int_solver class

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

* track which var is an integer

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

* add queries for integrality of vars

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

* resurrect lp_tst in its own director lp

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

* add file

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

* add_constraint has got a body

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

* fix add_constraint and substitute_terms_in_linear_expression

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

* after merge with Z3Prover

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

* adding stub check_int_feasibility()

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

* Dev (#50)

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* small fix in lar_solver.cpp

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

* adding some content to the new check_int_feasibility()

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

* Dev (#51)

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* test

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

* Dev (#53)

* change in a comment

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

* Disabled debug output

* removing FOCI2 interface from interp

* remove foci reference from cmakelist.txt

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* debugging nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* updates to nra_solver integration to call it directly from theory_lra instead of over lar_solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* n/a

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* integrate nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* tidy

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* preserve is_int flag

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

* remove a debug printout

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

* Dev (#54)

* change in a comment

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

* Disabled debug output

* removing FOCI2 interface from interp

* remove foci reference from cmakelist.txt

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* debugging nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* updates to nra_solver integration to call it directly from theory_lra instead of over lar_solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* n/a

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* integrate nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* tidy

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* use integer test from lra solver, updated it to work on term variables

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix equality check in assume-eq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix model_is_int_feasible

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

* untested gcd_test()

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

* call fill_explanation_from_fixed_columns()

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

* add the call to pivot_fixed_vars_from_basis() to int_solver.cpp::check()

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

* port more of theory_arith_int.h

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

* use statistics of lar_solver by theory_lra.cpp

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

* port more code to int_solver.cpp

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

* add an assert

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

* more int porting

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

* fix a bug in pivot_fixed_vars_from_basis

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

* small change

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

* implement find_inf_int_base_column()

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

* catch unregistered vars in add_var_bound

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

* add a file

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

* compile for vs2012

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

* fix asserts in add_var_bound

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

* fix the lp_solver init when workig on an mps file

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

* towards int_solver::check()

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

* change in int_solver::check() signature

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

* add handlers for lia moves

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* spacing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-27 10:04:46 -07:00
trinhmt
54a9482716
Merge pull request #8 from Z3Prover/master
merge with Z3Prover/z3
2018-06-27 18:10:54 +08:00
Thai Trinh
1892d31794 add parameter to enable splitting guided by length constraints 2018-06-27 18:10:40 +08:00
Nikolaj Bjorner
520ce9a5ee integrate lambda expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-26 07:23:04 -07:00
Thai Trinh
aacb7289be merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
nilsbecker
4f64f069ab Merge remote-tracking branch 'upstream/master' 2018-06-24 08:08:32 +02:00
Nikolaj Bjorner
81e5589bc8 Merge branch 'master' of https://github.com/z3prover/z3 2018-06-19 23:23:56 -07:00
Nikolaj Bjorner
335d672bf1 fix #1675, regression in core processing in maxres
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-19 23:23:19 -07:00
Nikolaj Bjorner
8241ba784d Merge branch 'master' of https://github.com/z3prover/z3 2018-06-19 16:33:34 -07:00
Nikolaj Bjorner
341f7ceb17 remove quantified lemmas for idiv/mod
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-19 13:19:48 -07:00
Nikolaj Bjorner
eeba30a277 fix #1677
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-19 10:56:45 -07:00
Nikolaj Bjorner
2456513053 sometimes comments are worth reading
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-19 10:43:51 -07:00
Nikolaj Bjorner
9b6a99794b add default method for fresh fp value, try to address OsX build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-19 10:02:31 -07:00
Nikolaj Bjorner
8a29c2803c improvements to arithmetic preprocessing simplificaiton and axiom generation for #1683
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-19 07:04:39 -07:00
Nikolaj Bjorner
86c39c971d fix #1681
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 21:53:45 -07:00
Nikolaj Bjorner
b4aac1ab55 revert fix to #1677
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 21:23:13 -07:00
Nikolaj Bjorner
6a0b70ee5c selective expansion of strings for canonizer to fix #1690 regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 20:42:53 -07:00
Nikolaj Bjorner
4634d1daed selective expansion of strings for canonizer to fix #1690 regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 20:37:39 -07:00
Nikolaj Bjorner
c3b27903f8 fix #1677
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 11:22:01 -07:00
Nikolaj Bjorner
55ebf69648 move comment to fix #1682
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 09:42:05 -07:00
Nikolaj Bjorner
6fc08e9c9f Merge branch 'master' of https://github.com/z3prover/z3 2018-06-15 14:58:10 -07:00
Nikolaj Bjorner
a51d6cbcbc debug model evaluator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-15 14:58:02 -07:00
Nikolaj Bjorner
bc8ddedc54 fix a few build regressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:52 -07:00
Nikolaj Bjorner
d5081a48b0 merge while skyping
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:52 -07:00
Nikolaj Bjorner
74621e0b7d first eufi example running
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:52 -07:00
Nikolaj Bjorner
ba504e4243 debugging mbi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:52 -07:00
Nikolaj Bjorner
d26609ebdd prepare term-graph for cc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:51 -07:00
Nikolaj Bjorner
0784074b67 fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:51 -07:00
Nikolaj Bjorner
688cf79619 working on mbi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:51 -07:00
Arie Gurfinkel
8b689ae27f Moved is_int_expr into arith_recognizers 2018-06-14 16:08:51 -07:00
Nikolaj Bjorner
bfeb15b876 move to list of clauses
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:50 -07:00
Nikolaj Bjorner
0c2e3c0894 fixes to clause proof tracking
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
26339119e4 solver::check_sat_cc : check_sat assuming cube and clause
Extends check_sat with an ability to assume a single clause in
addition to assuming a cube of assumptions
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
4477f7d326 Fix memory leak in asserted_formulas 2018-06-14 16:08:50 -07:00
Arie Gurfinkel
c3edf8c8fa Restore assertion in smt_clause 2018-06-14 16:08:50 -07:00
Nikolaj Bjorner
005a6d93bb cube and clause
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:50 -07:00
Arie Gurfinkel
ea032b56c0 Return false when clause cannot be decided 2018-06-14 16:08:50 -07:00
Arie Gurfinkel
4db4547359 silence clang warning 2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
b73aa3642a check with cube and clause
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
b17be763d3 User control over more arith options 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
1c06229755 User control over qi.quick_checker smt_params option 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
d06f4bd337 Fix reset of params_ref in solver
params_ref is not a ref, and params_ref::reset is not ref::reset.

params_ref::reset resets the params object being pointed to by
params_ref.

A proper way to reset a params_ref as a reference is to assign an
empty params_ref object to it.
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
ec8a86b78a Removed unused m_qi_ematching parameter from smt_params 2018-06-14 16:08:49 -07:00