3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-12 12:08:18 +00:00
Commit graph

663 commits

Author SHA1 Message Date
Nikolaj Bjorner 7b2590c026 fix is-unit test in seq rewriter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-21 17:08:33 -08:00
Nikolaj Bjorner 529e62e01e remove unsound rewrite
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-19 00:48:33 -08:00
Nikolaj Bjorner 52910fa465 fix #1937
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-14 11:31:39 -08:00
Nikolaj Bjorner b02c698284 align variable names with dimacs input
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-08 16:52:10 -08:00
Nikolaj Bjorner e75d07c1c1 add missing override
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-01 09:40:19 -05:00
Nikolaj Bjorner b02fec91cc fixing python build errors
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-01 09:34:42 -05:00
Nikolaj Bjorner 719bc5cd5d merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-30 17:23:31 -05:00
Nikolaj Bjorner 3c1c3d5987 fix #1908
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-30 14:15:29 -05:00
Nikolaj Bjorner 80acf8ed79 add recfuns to model
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-27 13:26:32 -05:00
Florian Pigorsch 326bf401b9 Fix some spelling errors (mostly in comments). 2018-10-20 17:07:41 +02:00
Bruce Mitchener dda62ae78c Use bool literals instead of 0/1. 2018-10-17 22:42:57 +07:00
Bruce Mitchener 7bc283b84e Avoid unnecessary copies in for-range loops. 2018-10-02 10:38:41 +07:00
Nikolaj Bjorner 1cb3f7c792 fixing #1520
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-28 18:03:13 -07:00
Nikolaj Bjorner 60bb02b709 updates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-26 15:31:49 +01:00
Nikolaj Bjorner b59fa3ebd7 fix #1746
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-10 09:05:24 -07:00
Nikolaj Bjorner de454db58c guard expensive ite rewrites under configuration
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-09 14:17:39 -07:00
Nikolaj Bjorner 605dcc40a3 fix #1741
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-09 09:19:13 -07:00
Nikolaj Bjorner ecb5c45d6f Merge branch 'master' of https://github.com/z3prover/z3 2018-07-06 21:33:58 -07:00
Nikolaj Bjorner c4e4139ab6 fix clause check in goal2dimacs, redo rewriting of mod to avoid deeply nested mod
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-06 21:33:53 -07:00
Nikolaj Bjorner 3ae0ea8246 add circuit and unate encoding besides sorting option
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-06 21:09:13 -07:00
Nikolaj Bjorner f96133f4d9 fix #1729
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-05 07:17:08 -07:00
Nikolaj Bjorner 5a2a8d7d5c
Merge pull request #1715 from levnach/master
merge lar_solver/int_solver
2018-07-01 12:20:02 -07:00
Nikolaj Bjorner 080bf79fe6
Merge pull request #1705 from trinhmt/master
created pull from Trinh's seq solver
2018-06-30 04:53:14 -07:00
Nuno Lopes bc8cd7ff55 remove a few random mem allocs 2018-06-29 18:34:17 +01:00
Nikolaj Bjorner cbc5aaad2c strengthen simplification of to_int such that #1608 is handled during pre-processing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-29 09:44:54 -07:00
Lev Nachmanson 2087ee3fb0 restore some code that was removed during the rebase
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-28 11:59:01 -07:00
Nuno Lopes 5de6628a5d remove spurious copies and inc_refs around ref_vector 2018-06-28 10:31:38 +01:00
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
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
Nuno Lopes 2b31024dab add obj_ref::operator=(obj_ref &&) + a few explicit uses 2018-06-26 17:00:56 +01: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
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 c3b27903f8 fix #1677
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 11:22:01 -07:00
Nikolaj Bjorner b6c43f6143 move files for build script
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-15 15:13:55 -07:00
Arie Gurfinkel aa77a918cd Optimizing qe_lite 2018-06-14 16:08:50 -07:00
Nikolaj Bjorner ff0f257102 remove iff
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:48 -07:00
Nikolaj Bjorner 0d668e1428 fix #1661
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-30 03:18:22 -07:00
Nikolaj Bjorner 753b9dd734 fix #1650 fix #1648
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-25 08:56:13 -07:00
Nikolaj Bjorner 0708ecb543 dealing with compilers that don't take typename in non-template classes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-23 09:11:33 -07:00
Nikolaj Bjorner 50c93d1ad4 merge with 4.7.1
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-22 17:10:36 -07:00
Daniel Schemmel 5134c16833
NULL-initialize pointers to help GCC static analyzer Fixes: variable may be used uninitialized 2018-05-19 03:45:05 +02:00
Nikolaj Bjorner 1e143971c3 tune for unit test, delay initialize re-solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-13 11:49:33 -07:00
Nikolaj Bjorner 78b9f0686a merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-01 07:43:29 -07:00
Nikolaj Bjorner f525f43e43 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-30 09:30:43 -07:00
Nikolaj Bjorner 859c68c2ac merge with opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-30 08:27:54 -07:00
Nikolaj Bjorner 74292a48e5 change order of concatentation for empty string, #1595
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-26 09:08:34 +02:00
Nikolaj Bjorner 0b4e54be38 fix #1583
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-23 07:15:04 +02:00
Nikolaj Bjorner f7e49501af updates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-13 16:22:36 -07:00
Murphy Berzish 47007d3f04 Merge remote-tracking branch 'upstream/master' into regex-develop 2018-04-12 12:13:30 -04:00
Christoph M. Wintersteiger 2abc759d0e Merge branch 'master' of https://github.com/Z3Prover/z3 2018-04-08 21:58:39 +01:00
Christoph M. Wintersteiger b373bf4252 Bugfixes for fpa2bv_converter. Fixes #1564. 2018-04-08 21:51:27 +01:00
Murphy Berzish 41703a4254 Merge branch 'develop' into regex-develop 2018-04-03 12:31:27 -04:00
Bruce Mitchener 2fa304d8de Remove int64, uint64 typedefs in favor of int64_t / uint64_t. 2018-03-31 14:45:04 +07:00
Nikolaj Bjorner c513f3ca09 merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-25 14:57:01 -07:00
Nikolaj Bjorner 18e75dc001 Merge branch 'master' of https://github.com/z3prover/z3 2018-03-19 13:34:17 -07:00
Nikolaj Bjorner ebc6ec2eb5 fix #1547 by rewriting legacy recognizers to SMT-LIB2.6 style recognizers which are assumed by theory_datatype
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-19 13:33:58 -07:00
Nikolaj Bjorner 5dd7e2c520 fix #1544
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-16 19:30:13 -07:00
Nikolaj Bjorner 64954cc551 fix pbge and reduce_tr
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-13 09:07:58 -07:00
Nikolaj Bjorner e7d43ed516 fix pb rewriter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-12 11:22:05 -07:00
Murphy Berzish 49b810e00f Merge branch 'master' into regex-develop 2018-03-11 23:18:55 -04:00
Bruce Mitchener 878a6ca14f Fix typos. 2018-03-09 14:30:43 +07:00
Nikolaj Bjorner f04e805fa4 add hiding to auxiliary declarations created in mc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-06 18:02:37 -08:00
Nikolaj Bjorner a64fd7145c remove buggy legacy code, rely on pull_cheap_ite option in rewriter, #1511
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-04 03:36:03 -08:00
Nikolaj Bjorner a4c58ec4c2 fix #1496
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-22 08:05:28 +09:00
Nikolaj Bjorner 4c1379e8c9 bug fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-19 21:49:03 -08:00
Murphy Berzish 54206e3674 Merge branch 'develop' into regex-develop
Conflicts:
	src/smt/theory_str.h
2018-02-12 17:25:50 -05:00
Bruce Mitchener 76eb7b9ede Use nullptr. 2018-02-12 14:05:55 +07:00
Nikolaj Bjorner 8fb7fb9f98 add missing caching of PB/cardinality constraints, increase limit for compiling cardinalities to circuits
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-11 19:27:00 -08:00
Nikolaj Bjorner 4695ca16c8 perf improvements
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-10 11:43:33 -08:00
Bruce Mitchener b7d1753843 Use override rather than virtual. 2018-02-09 21:19:27 +07:00
Nikolaj Bjorner 2b847478a2
Merge pull request #1478 from waywardmonkeys/unnecessary-value-param-fixes
Remove unnecessary value parameter copies.
2018-02-09 02:20:47 -08:00
Bruce Mitchener 757b7c66ef Remove unnecessary value parameter copies. 2018-02-09 16:35:34 +07:00
Bruce Mitchener 50f3e9c3c0 Fix typos. 2018-02-09 16:35:26 +07:00
Nikolaj Bjorner 61934d8106 align semantics of re.allchar with string proposal. #1475
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-07 20:08:15 -08:00
Nikolaj Bjorner 10894069b0 fix compiler error reported by Luca
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-07 13:19:40 -08:00
Nikolaj Bjorner bee4716a85 lia2card simplifications, move up before elim01 (which could be deprecated)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-07 12:56:30 -08:00
Nikolaj Bjorner 354c16454a fix bug in translation of pbeq into sat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-03 22:19:25 -08:00
Nikolaj Bjorner badb32f9ae neatify rewriting
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-03 16:33:14 -08:00
Christoph M. Wintersteiger ad3b0ecad0 Fixed pattern rewriting to produce only valid patterns (which led to a segfault). Bug reported by Youcheng Sun. 2018-02-02 19:27:36 +00:00
Nikolaj Bjorner 7b8101c502 fix bugs related to model-converter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-01-17 12:25:24 -08:00
Murphy Berzish 09dc5cd0f8 Merge branch 'develop' into regex-develop 2018-01-03 16:12:33 -05:00
Nikolaj Bjorner 8dadd30db5 add __copy__, __deepcopy__ as alias to translate on same context #1427. Add generalized Gaussian elimination as an option to first-pass NL solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-01-01 17:11:43 -08:00
Nikolaj Bjorner 7afbf8165e snapshot
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-12 01:36:44 -08:00
Thai Trinh c07a63cf8e coalesce seq.unit into string in mk_skolem 2017-12-12 05:00:34 +08:00
Murphy Berzish fbe8d1577e new regex automata start; add complexity estimation 2017-12-04 18:05:00 -05:00
Nikolaj Bjorner 5a35d00766 remove std::cout
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-28 08:55:45 -08:00
Nikolaj Bjorner 103ce78c29 save model from level 0, fix #1380
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-28 08:53:06 -08:00
Nikolaj Bjorner 81ec5bae95 fix #1377
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-27 11:02:48 -08:00
Nikolaj Bjorner 36e5d4dec9 fix #1377
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-27 11:01:44 -08:00
Nikolaj Bjorner 1101c927c9 prepare for transitive reduction / hyper-binary clause addition
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-22 13:46:02 -08:00
Nikolaj Bjorner 795e0c641a add method to create bit-vectors directly from an array of Booleans
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-15 14:44:59 -08:00
Nikolaj Bjorner 195d81ebef fix rewriter loop reported in #1354
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-13 13:49:03 -08:00
Nikolaj Bjorner 0f2b1ae7c8 fix proof mode related segfaults #1241
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-06 02:35:10 -08:00
Nikolaj Bjorner fd49a0c89c added facility to persist model transformations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-02 00:05:52 -05:00
Nikolaj Bjorner 8acc924c21 ifndef/define match
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-24 16:34:49 -07:00
Nuno Lopes b53d69be18 fpa_rewriter: remove a mpq copy 2017-10-16 00:54:30 +01:00
Nuno Lopes 9b54b4e784 fix vector<> to support non-POD types
adjust code to std::move and avoid unnecessary/illegal
2017-10-16 00:54:29 +01:00
Nikolaj Bjorner 1a6f8c2fad working on parallel solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-10 16:35:05 -07:00