3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-17 18:06:40 +00:00
Commit graph

39 commits

Author SHA1 Message Date
Nikolaj Bjorner
c513f3ca09 merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-25 14:57:01 -07:00
Bruce Mitchener
76eb7b9ede Use nullptr. 2018-02-12 14:05:55 +07: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
651587ce01 merge with master branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-19 09:39:22 -07:00
Nikolaj Bjorner
9f5bd2feda fix front-end for datatype
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-05 19:58:05 -07:00
Nikolaj Bjorner
5492d0e135 re-introduce eq2ineq name for rewriting parameter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-04 11:03:57 -07:00
Nikolaj Bjorner
f12a4f04fd aligning simplifier and rewriter for regression tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-04 09:28:40 -07:00
Nikolaj Bjorner
7b9b714979 build fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-03 16:14:58 -07:00
Nikolaj Bjorner
eb6b2813ff build fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-03 16:14:22 -07:00
Nikolaj Bjorner
c6722859c2 update rewriting of equalities and monomials for regressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-03 14:36:03 -07:00
Nikolaj Bjorner
fff54d5d08 fix perf regression with negative polynomial normalization, adding new datatype plugin
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-03 03:56:10 -07:00
Nikolaj Bjorner
f76815a009 n/a
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-27 12:55:55 -07:00
Nikolaj Bjorner
3bfc3437f1 purify
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-27 11:57:13 -07:00
Nikolaj Bjorner
2ede4b2c80 fixes based on regression tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-27 09:31:16 -07:00
Nikolaj Bjorner
82a937d1af enforce arithmetic normalization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-26 10:41:25 -07:00
Nikolaj Bjorner
f99048f3e7 rewrite to address some cases like #1203, updates to division handling in NRA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-12 13:24:54 -07:00
Nikolaj Bjorner
2b82fd5d0c updated include directives
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-01 10:51:47 -07:00
Nikolaj Bjorner
b19f94ae5b make include paths uniformly use path relative to src. #534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 13:24:11 -07:00
Nikolaj Bjorner
30b0d5ba13 Merge branch 'master' of https://github.com/z3prover/z3 2017-07-24 10:49:54 -07:00
Nikolaj Bjorner
08524a2d90 cleanup for warning message
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-01 11:47:17 -07:00
Nikolaj Bjorner
a28a8304b7 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>
2017-06-28 13:12:12 -07:00
Christoph M. Wintersteiger
b67c1c5501 Fixed valgrind warning. Fixes #972 2017-04-10 16:28:41 +01:00
Nikolaj Bjorner
23b9d3ef55 fix at-most-1 constraint compiler bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-22 18:50:16 -07:00
Nikolaj Bjorner
4958edeb42 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-28 19:40:49 -07:00
Nikolaj Bjorner
3a70b6aab4 fix model generation, add rewrite rules for sin(acos(x)) reduction to help model validation. Issue #680
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-13 11:12:27 -07:00
Nikolaj Bjorner
709a5d9524 fix bug: & -> &&
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-24 16:09:12 -07:00
Nikolaj Bjorner
05a784fa9e fix issue #535
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-24 08:16:19 -07:00
Zephyr Pellerin
b13db1e82e Bugfix for arith_rewriter single operand division 2016-03-04 18:26:00 -08:00
Nikolaj Bjorner
baee4225a7 reworking cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-11 16:21:24 -08:00
Nikolaj Bjorner
035f2bb0da disable unsound simplification of root objects, and incorrect evaluation of negative even roots
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-09 08:41:59 -08:00
Christoph M. Wintersteiger
bd94b59a92 Bugfix for arith rewriter to avoid rewriting loops. 2015-11-03 13:00:10 +00:00
Christoph M. Wintersteiger
27140c527c trailing whitespace 2015-11-03 12:56:29 +00:00
Nikolaj Bjorner
7838213675 eliminate to_real coersions to make mixed integer problems easier to digest. Issue #277
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-10-30 15:12:21 -07:00
Nikolaj Bjorner
23313e5bdc remove unsound simplification for rem. Codeplex Issue 76
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-03-02 17:24:40 -08:00
Leonardo de Moura
97bf9418f7 Add new probes for arithmetic. Check for LIA and LRA (and activate qe if applicable). Modify echo tactic to send results to the regular stream.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-02-20 13:41:08 -08:00
Leonardo de Moura
c4f762028f Add support for abs (absolute value) function in theory arith (it is part of the SMT-LIB 2.0 standard)
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-02-03 15:28:56 -08:00
Leonardo de Moura
a99b8fe797 exposed rewriter parameters
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-12-02 22:03:30 -08:00
Leonardo de Moura
cf28cbab0a saved params work
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-11-29 17:19:12 -08:00
Leonardo de Moura
0a4446ae26 reorganizing the code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-23 22:14:35 -07:00
Renamed from src/rewriter/arith_rewriter.cpp (Browse further)