3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-11 19:53:34 +00:00
Commit graph

83 commits

Author SHA1 Message Date
Lev Nachmanson b2dc21b107
simplify the nla_solver interface (#4312)
* simplify the nla_solver interface

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

* more simplifications

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

* init m_use_nra_model

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

Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-12 19:34:03 -07:00
Nikolaj Bjorner 32055a31db pass resource limits by reference
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-12 10:49:16 -07:00
Lev Nachmanson 3e4a4c6df2 rebase with master branch
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-11 19:12:02 -07:00
Lev Nachmanson e32a6714a5 call nlsat
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-11 19:12:02 -07:00
Lev Nachmanson 7a79397769 nra to nla
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-11 19:12:02 -07:00
Nikolaj Bjorner 16478b415b disable order and tangent lemmas on reals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-11 13:46:25 -07:00
Nikolaj Bjorner 81b3c440ce fix mixup between constraint indices and lpvar explanations fixes various newly reported unsoundness bugs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-11 13:07:28 -07:00
Nikolaj Bjorner 9c972521c4 priority code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-10 21:09:14 -07:00
Nikolaj Bjorner 99043399ce na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-10 20:28:35 -07:00
Nikolaj Bjorner 179c9c2da2 consolidate methods that add lemma specific information to under "new_lemma" 2020-05-10 18:31:57 -07:00
Nikolaj Bjorner e74faf42ad code review 2020-05-10 12:58:05 -07:00
Nikolaj Bjorner 30de76b529 add occurs check to other nla_basic lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-09 20:50:27 -07:00
Nikolaj Bjorner 4890c3ce31 fix #4230
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-09 18:49:00 -07:00
Nikolaj Bjorner fdc87f286f
na (#4254)
* remove level of indirection for context and ast_manager in smt_theory

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

* add request by #4252

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

* move to def

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

* int

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

* fix #4251

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

* fix #4255

* fix #4257

* add code to debug #4246

* restore new solver as default

* na

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

* fix #4246

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-09 17:40:02 -07:00
Lev Nachmanson a34c5a9450 bail out on big rational numbers in nla monotone lemmas
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-04 14:21:48 -07:00
Lev Nachmanson 8921ed56b5 fix a bug in Horner heuristic
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-23 15:58:53 -07:00
Lev Nachmanson 5208b64a6b expose only necessary methods of lar_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-16 12:58:39 -07:00
Lev Nachmanson c846902285 simplify patch_blocker()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-06 17:31:56 -07:00
Lev Nachmanson e90ff4b992 fix the patch of real vars
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-06 17:31:56 -07:00
Lev Nachmanson 55329ea935 more fixes in patching of monomials
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-02 14:47:06 -07:00
Lev Nachmanson ec1f449d34 avoid patching vars in powers
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-01 12:31:32 -07:00
Lev Nachmanson 086149f3f8 patch real columns when they are factors
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-31 16:50:02 -07:00
Lev Nachmanson 7a950dd667 patch reals
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-29 15:03:46 -07:00
Lev Nachmanson ea964e5c3b rename int_set to u_set
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson 38eca3b66a fixes in order lemmas and printing terms
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner 8a665e25ed reverting signed mon_eq, try to rely on canonization state during add/pop
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner 919f687df6 expose settings, not all of core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner 56584922e9 if it isn't used, it isn't templatized
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner 44d2f6da6c fix #3261
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson 2ad94026a0 do not produce proportional lemma for non-integral vars
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson 06173aa4d7 do not use nl variables in random_update()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-02-04 11:51:37 -08:00
Lev Nachmanson b577544830 make grobner quota a parameter
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson bb6511b425 add parameters to control grobner's explosure
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 976f10c613 rebase with Z3Prover
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 8596fb2ae6 cleaner code in add row to gb
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 496a8c17aa remove nex grobner
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson d310ae9060 rebase with Z3Prover
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Nikolaj Bjorner 7eac995824 misc fixes to grobner state (#109)
* fixes to use list bookkeeping

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

* fix reset logic

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

* fix non-termination bug in simplifier

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

* missing reset of values

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

* add configuration to throttle memory usage

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

* fix misc. invariant violations

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

* multiple linear constraints seem to be violated

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-28 10:04:21 -08:00
Nikolaj Bjorner a9a602c1aa memory throttling (#108)
* fixes to use list bookkeeping

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

* fix reset logic

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

* fix non-termination bug in simplifier

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

* missing reset of values

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

* add configuration to throttle memory usage

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson c6e5d434b2 create scalars for fixed variables in rows for grobner
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Nikolaj Bjorner 014e5158c0 fix reset (#105)
* fixes to use list bookkeeping

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

* fix reset logic

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson c152660911 add a call m_pdd_manager.set_level2var()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 0bb29bca69 change core::get_var_weight() to return unsigned, remove some warnings from test/lp/lp.cpp
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson b9f74db14c hook up pdd_grobner
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson c6ea5c2263 prepare to hook up pdd_grobner
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson dd9935de7d preparing a call to pdd_grobner
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson c3099a5719 call algebraic routines only basing on the frequency
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 48f7e69d0e only run grobner when horner fails, introduce concat instead copy
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 519bbc5af1 reshaffle the template definitions from nla_interval.h to nla_interval.cpp
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Nikolaj Bjorner 14094bb052 code review (#98)
* streamline type conversions

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

* nits

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

* updates

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

* na

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

* use fixed array allocation for sum

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

* use fixed array allocation for sum

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

* revert creation time allocation

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

* fix assertion

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

* separate grobner_core

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

* grobner_core simplifications

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-28 10:04:21 -08:00