3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-16 05:48:44 +00:00
Commit graph

1380 commits

Author SHA1 Message Date
Nikolaj Bjorner 860d904699 check zero
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-11 10:11:17 -07:00
Nikolaj Bjorner 361155685c ensure abs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-11 09:09:00 -07:00
Nikolaj Bjorner cbaa16df57 lcm normalization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-11 09:03:57 -07:00
Nikolaj Bjorner 5ca3bc3212 kernel
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-10 15:48:06 -07:00
Nikolaj Bjorner 2928cc261c fix
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-10 13:17:25 -07:00
Nikolaj Bjorner 805443c8ab wip
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-10 11:17:34 -07:00
Nikolaj Bjorner 0557d72d1c na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-10 07:42:32 -07:00
Nikolaj Bjorner 6a8ac5f9b1 adding K
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-09 16:47:26 -07:00
Nikolaj Bjorner ad2445e423 gauss jordan
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-09 16:33:15 -07:00
Nikolaj Bjorner 4b495e4b96 nits 2022-04-02 17:50:45 -07:00
Nikolaj Bjorner 6d836e7e2f expose model update 2022-03-19 09:23:08 -07:00
Jan Vraný bdf7de1703
Care for root index being undefine while calling Z3_algebraic_get_i() (#5888)
In some cases, Z3_algebraic_get_i() returned 0. For example, in the following
Python snippet, the last assert would fail:

    import z3
    x = z3.Real('x')
    s = z3.Solver()
    s.add( (x * x) - 2 == 0, x <= 0)
    s.check()
    val_x = s.model().get_interp(x)
    assert val_x.index() == 1

The problem was that `algebraic_numbers::manager:👿:get_i()` did not
check whether the root index was properly initialized.

This commit fixes this issue by checking whether root index is initialized
the same way various other routines do.

Fixes issue #5807.

Signed-off-by: Jan Vrany <jan.vrany@labware.com>
2022-03-16 19:28:03 -07:00
Nikolaj Bjorner b1ff4bc24a no normalize
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-20 19:21:19 +01:00
Nikolaj Bjorner 75a81af426 fix #5786
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-20 19:18:23 +01:00
Nikolaj Bjorner fc77345bec breaking change. Enforce append semantics everywhere for parameter updates #5744
Replace semantics doesn't work with assumptions made elsewhere in code.
The remedy is to apply append (override) semantics for parameter changes.
2021-12-30 19:11:14 -08:00
Nikolaj Bjorner b69ad786f2 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-08 09:04:13 -08:00
Nikolaj Bjorner e45ae32685 unsound equality propagation #5676
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-08 09:02:05 -08:00
Nikolaj Bjorner 9f2b18cac5 add tactic name
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-07 13:37:57 -08:00
Lev Nachmanson 7758b519bc
Handle correctly cancelled run (#5695)
* remove the bound on total iterations in simplex

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

* remove unncesseray checks in  get_freedom_interval_for_column()

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

* fix the build of test-z3

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

* Revert "remove unncesseray checks in  get_freedom_interval_for_column()"

This reverts commit 6770ed85e3.

* optimize get_freedom_interval_for_column() for feasible case

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

* add function lar_solver::status_feasible

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

* rename status_is_feasible() to is_feasible()

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

* fix the linux build

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2021-12-05 18:38:37 -08:00
Nikolaj Bjorner 1618c970df adding checks
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-03 13:17:48 -08:00
Nikolaj Bjorner 970347e797 infeas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-03 13:00:52 -08:00
Lev Nachmanson d50c4bfcc1 remove an unused var
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2021-11-28 09:44:50 -08:00
Nikolaj Bjorner 3c16edc8d3 check for v1 == v2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-12 09:11:17 -08:00
Nikolaj Bjorner 63ac2ee0d1 #5614 turn on / off options to get better performance.
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-11 17:54:46 -08:00
Nikolaj Bjorner 87d4ce2659 working on #5614
there are some different sources for the performance regression illustrated by the example. The mitigations will be enabled separately:
- m_bv_to_propagate is too expensive
- lp_bound_propagator misses equalities in two different ways:
   - it resets row checks after backtracking even though they could still propagate
   - it misses equalities for fixed rows when the fixed constant value does not correspond to a fixed variable.

FYI @levnach
2021-11-02 14:55:39 -07:00
Henrich Lauko 96671cfc73
Add and fix a few general compiler warnings. (#5628)
* rewriter: fix unused variable warnings

* cmake: make missing non-virtual dtors error

* treewide: add missing virtual destructors

* cmake: add a few more checks

* api: add missing virtual destructor to user_propagator_base

* examples: compile cpp example with compiler warnings

* model: fix unused variable warnings

* rewriter: fix logical-op-parentheses warnings

* sat: fix unused variable warnings

* smt: fix unused variable warnings
2021-10-29 15:42:32 +02:00
Nikolaj Bjorner 3036b88f09 support threading for TRACE mode 2021-10-25 13:35:32 +02:00
Nikolaj Bjorner d174f87c5e #5532 2021-09-21 20:21:23 -07:00
Nikolaj Bjorner 2e96557827 fix #5560 - add a throttle on maximal size of bignums created for propagate-value lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-21 08:55:28 -07:00
Nikolaj Bjorner 72f6271d82 #5532
bugs in:
- rewriting of 0-ary expressions was incomplete
- sharing annotations when a node has two theories attached it is shared
- sharing of const of an array

Remove unreadable part of pretty printer for lp solver.
2021-09-06 19:14:03 +02:00
Nikolaj Bjorner da60abd84b #5445 2021-08-03 11:19:42 -07:00
Nikolaj Bjorner 202ed79a24 #5445 2021-08-03 11:17:23 -07:00
Nikolaj Bjorner a4cc9e7895 #5429 #5445 2021-08-01 12:49:36 -07:00
Nikolaj Bjorner 16413b4f9a #5429 2021-07-27 17:18:22 -07:00
Nikolaj Bjorner 005d35f9c9 #5422 2021-07-21 07:39:39 -07:00
Nikolaj Bjorner ca8f914dd8 #5422 2021-07-21 07:22:05 -07:00
Nikolaj Bjorner b0a22105d6 na 2021-07-19 13:28:20 -07:00
Nikolaj Bjorner 188a478214 #5417
strict inequality (over reals) require solving for least-upper/greatest-lower bounds that may coincide with non-strict inequalities (be epsilon stronger). Instead of using the coefficient 'a' to turn the inequality into an equality, add the slack value as a constant.
2021-07-19 13:19:03 -07:00
Nikolaj Bjorner cab1076514 #5336 2021-07-11 21:00:58 +02:00
Nikolaj Bjorner 55daa2424c fix #5362 2021-06-22 12:26:27 -07:00
Nikolaj Bjorner c1ab7987f6 #5324 2021-06-07 11:41:35 -07:00
Lev Nachmanson 3a5b88e52b set status to CANCELLED on the total_iterations threshold bailout
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2021-06-07 07:34:16 -07:00
Nikolaj Bjorner 9afc59d5b4 #5324 2021-06-06 15:39:23 -07:00
Nikolaj Bjorner 7cd901019f #5324 2021-06-05 17:14:51 -07:00
Nikolaj Bjorner 5da4b29136 turn on parity test 2021-06-04 10:18:24 -07:00
Nikolaj Bjorner 0182187296 fix regression in arithmetic resource bound
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-03 11:41:42 -07:00
Nikolaj Bjorner 8a02167e30 get-universe
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-01 21:08:08 -07:00
Nikolaj Bjorner 3e773fba5e get-universe
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-01 21:07:48 -07:00
Nikolaj Bjorner 6a5cdd48e7 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-01 20:43:45 -07:00
Nikolaj Bjorner ab3b387076 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-01 20:37:43 -07:00
Nikolaj Bjorner 45adfc6a66 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-01 20:31:05 -07:00
Nikolaj Bjorner 0e6d530518 std::cout
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-01 18:49:37 -07:00
Nikolaj Bjorner 2156c74d51 #4702
initial gcd test implementation for accumulated parity constraints
2021-06-01 15:26:36 -07:00
Nikolaj Bjorner 5127014f18 track cuts 2021-06-01 15:26:36 -07:00
Nuno Lopes f1e0d5dc8a remove a hundred implicit constructors/destructors 2021-05-23 14:25:01 +01:00
Nikolaj Bjorner 8ba0fb5b58 rounding mode sort removed for incompatibility
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-21 16:18:43 -07:00
Nikolaj Bjorner 00deb12238 signed
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-21 15:51:27 -07:00
Nikolaj Bjorner ec034679ce #5215
memory leaks
2021-05-19 12:42:38 -07:00
Lev Nachmanson 179988e161
support recursive terms (#5246)
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2021-05-05 12:53:20 -07:00
Nikolaj Bjorner 0c6722f48b na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-03 11:47:00 -07:00
Nikolaj Bjorner 60cf482cea fix #5239
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-03 11:44:44 -07:00
Nikolaj Bjorner 51a4db862a #5223 2021-05-02 10:40:22 -07:00
Nikolaj Bjorner 0810720267 #5223 2021-05-02 10:30:35 -07:00
Nikolaj Bjorner 22a76e4985 fix typos in comments 2021-04-26 15:15:27 -07:00
Nikolaj Bjorner c03fac8390 Investigating std::vector and #5178 2021-04-24 14:50:59 -07:00
Nikolaj Bjorner d67919373e add bailout option for code review #5208
@levnach
Could you review and maybe make this much more streamlined?
The patch is to simply bail out the iterator if it fails to find canonical monics.
If m_ff could produce the existing canonical monics up front this kind of bail-out could maybe avoided.
2021-04-22 11:30:11 -07:00
Nikolaj Bjorner 770c79a939 prepare for std::vector 2021-04-20 09:24:24 -07:00
Nikolaj Bjorner 4a6083836a call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
Lev Nachmanson 1a7c9fa54d rename a metod 2021-04-10 08:54:52 -07:00
Lev Nachmanson 6a1fd3b4d6 simplify the check for polarity, remove the struct with vertex and polarity
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2021-04-10 08:54:52 -07:00
Lev Nachmanson 8848e5b4c3 correctly explain the all fixed test in the octaganal tree
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2021-04-10 08:54:52 -07:00
Lev Nachmanson 18610bf31f debug issue 5127
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2021-04-10 08:54:52 -07:00
Nikolaj Bjorner 46831e7ebb provisionary fix for #5127 2021-04-06 22:32:22 -07:00
Nikolaj Bjorner 0b0efa83ca debugging #5127 2021-04-06 20:09:50 -07:00
Nikolaj Bjorner c2b353ba72 adding factorization 2021-03-26 14:58:24 -07:00
Nikolaj Bjorner 67e419d20d yada yada 2021-03-21 19:57:17 -07:00
Nikolaj Bjorner 2ee971ef68 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-03-21 12:32:01 -07:00
Nikolaj Bjorner 2fef6dc502 more scaffolding 2021-03-21 11:31:14 -07:00
Nikolaj Bjorner a1f484fa35 na 2021-03-19 16:42:45 -07:00
Nikolaj Bjorner 731cf9b885 ensure compilation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-03-19 15:37:05 -07:00
Nikolaj Bjorner 560f072786 elaborate on header 2021-03-19 14:26:52 -07:00
Lev Nachmanson 3b67dd8288 add a trace statement
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2021-03-19 13:17:27 -07:00
Nikolaj Bjorner 1971ee60e1 Create polysat.h 2021-03-19 11:15:06 -07:00
Nikolaj Bjorner 15a7621e27 remove template dependency for trail objects 2021-03-19 11:15:05 -07:00
Nikolaj Bjorner ff0de59a70 more streamlined diagnostics to prepare for #5106 2021-03-15 16:23:35 -07:00
Nikolaj Bjorner f00db08221 unused, thanks to AVJ 2021-03-15 13:49:17 -07:00
Nikolaj Bjorner 845ba7a11e use a large delay for nlsat 2021-03-14 19:14:44 -07:00
Nikolaj Bjorner 8412ecbdbf fixes to new solver, add mode for using nlsat solver eagerly from nla_core 2021-03-14 13:57:04 -07:00
Nikolaj Bjorner 78f4513441 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-03-13 06:19:31 -08:00
Nikolaj Bjorner 857557ad93 deal with compiler warnings 2021-03-08 20:39:19 -08:00
Nikolaj Bjorner f29a596070 deal with compiler warnings, from MacOS CI build 2021-03-08 17:14:09 -08:00
Nikolaj Bjorner c6eb55537a Throttle nra solver when progress is being made by linearization 2021-02-26 11:14:24 -08:00
Nikolaj Bjorner 6f346bf804 fix build break 2021-01-31 22:56:42 -08:00
Nikolaj Bjorner 33525007ab try #4984
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-31 22:15:00 -08:00
Nikolaj Bjorner 7d60d8462d patch for Sturm sequence bug #4961 2021-01-24 12:58:25 -08:00
Nikolaj Bjorner 3ed490d4ed tune backtracking 2021-01-18 16:51:01 -08:00
Nikolaj Bjorner 372e5ca569 fixes in new solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-12-25 11:19:31 -08:00
Nikolaj Bjorner 21c626e3ee fix bound miss-computation, include sporadic nra check for #4913 2020-12-24 03:22:43 -08:00
Nikolaj Bjorner 8546cf97d7 on #4702
Add weighting function to cycle more fairly through nla solvers.
Handles anomaly from https://github.com/Z3Prover/z3/files/5361721/pero.txt
2020-12-24 03:07:25 -08:00
Nikolaj Bjorner a72856111b add destination to custom command 2020-12-21 11:42:04 -08:00
Nikolaj Bjorner 89a6c7a349 fix #4883 2020-12-10 07:30:19 -08:00
Lev Nachmanson 4d7062d2a1 fix in nla_ordered_lemma
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-12-09 06:48:58 -08:00
Lev Nachmanson b90143cc0e set the defalt for cheap_eqs=False, do not run
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-12-06 18:26:26 -08:00
Nikolaj Bjorner c3c7aad1a8 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-12-06 11:18:37 -08:00
Lev Nachmanson 2e5eb2dde2
Tree fix (#4864)
* simplify cheap equality tree

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

* simplify cheap equality tree

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

* more fixes

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-12-06 11:18:27 -08:00
Nikolaj Bjorner b5a6c6bc66 attempt at more graceful timeout handling #4821 2020-11-26 06:33:44 -08:00
Lev Nachmanson 4810b4cac2 add a comment in nla_order
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-11-10 11:12:28 -08:00
Lev Nachmanson fc5e5a2098 add a comment in nla_order
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-11-10 11:11:42 -08:00
Nikolaj Bjorner fdedeed7ae additional sign related fix for #4740 https://github.com/Z3Prover/z3/issues/4740#issuecomment-721508240
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-10 10:50:13 -08:00
Nikolaj Bjorner 638ef9ed03 enforce sign coherence #4740
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-09 14:28:49 -08:00
Nikolaj Bjorner 89ffb45c4f fixes to bv/dual-solver, 2020-11-08 17:18:18 -08:00
Nikolaj Bjorner d0d06c288a rename
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-03 12:13:23 -08:00
Nikolaj Bjorner 620204bbb4
use value function in lar_solver (#4771)
* use value function in lar_solver

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

* add missing return

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

* check_feasible is called after column is added for fixed variable

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

* na
2020-11-03 01:08:24 -08:00
Nikolaj Bjorner ee12e3fb52 add init_model, global m_delta, get_value, get_ivalue to push model maintainance into lar_solver #4740
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-02 19:21:15 -08:00
Nikolaj Bjorner ab199dedf9 debug arith/mbi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-02 12:13:19 -08:00
Nikolaj Bjorner 91511f73a0 fix #4744 2020-10-29 15:09:13 -07:00
Nikolaj Bjorner e962deb557 remove also second hash-table for ALIVE_OPT #4747
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-27 00:12:34 -07:00
Nikolaj Bjorner 8d76470a8a fixes to mostly solver arith/euf and backtracking scopes 2020-10-26 11:06:41 -07:00
Nikolaj Bjorner 1ee2ba2a9b mbqi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-26 11:06:40 -07:00
Nikolaj Bjorner 72d407a49f
mbp (#4741)
* adding dt-solver

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

* dt

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

* move mbp to self-contained module

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

* files

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

* Create CMakeLists.txt

* dt

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

* rename to bool_var2expr to indicate type class

* mbp

* na

* add projection

* na

* na

* na

* na

* na

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

* deps

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

* testing arith/q

* na

* newline for model printing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-21 15:48:40 -07:00
Nikolaj Bjorner 44679d8f5b
arith_solver (#4733)
* porting arithmetic solver

* integrating arithmetic

* lp

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

* na

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

* na

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

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-16 10:49:46 -07:00
Lev Nachmanson 4e74c4cdd4
perf in branching (#4719)
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-09-29 22:05:16 -07:00
Nikolaj Bjorner a216bee647 updated notes, fixes to dual solver 2020-09-29 13:43:50 -07:00
Nikolaj Bjorner 367e5fdd52
delay internalize (#4714)
* adding array solver

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

* use default in model construction

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

* debug delay internalization

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

* bv

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

* arrays

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

* get rid of implied values and bounds

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

* redo egraph

* remove out

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

* remove files

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-28 19:24:16 -07:00
Lev Nachmanson 25724401cf
Perf branch (#4710)
* avoid creating rows with  all but one fixed columns

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

* pb

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

* once in a while flip bounds of boxed variables during move_nbasic_to_bounds

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

* flip rarely

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

* flip rarely

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

* flip rarely

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

* return an empty model when lar_solver is not ready

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

* randomly change bounded base var on demand only

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

* randomly change bounded base var on demand only

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-09-25 17:47:29 -07:00
Nikolaj Bjorner 43db7df2b5
user solver (#4709)
* user solver

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

* na

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

* na

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

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-24 04:55:34 -07:00
Lev Nachmanson 1e7998f03a
no big nums in patching (#4705)
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-09-23 08:46:41 -07:00
Nikolaj Bjorner 1e6d2fbbdc debugging cuts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-21 20:02:12 -07:00
Nikolaj Bjorner e46ad45968 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-24 02:20:30 -07:00
Nikolaj Bjorner c13e3ce693 fix #4640
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-17 08:38:07 -07:00
Nikolaj Bjorner df8b14d77c fix #4641
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-17 08:35:59 -07:00
Nikolaj Bjorner c41abf2241 fix #4624 #4633 #4632 #4631
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-13 08:36:16 -07:00
Nikolaj Bjorner 84390575e2 fix #4624
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-12 10:15:09 -07:00
Lev Nachmanson fb035c0634 fixed a but with insertion of a null vertex
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-31 16:59:57 -07:00
Nikolaj Bjorner 02084dc95b misc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-31 01:21:24 -07:00
Nikolaj Bjorner 4039352837 add ability to touch variables for bound propagation 2020-07-30 10:20:17 -07:00
Nikolaj Bjorner c7704ef9af pass algebraic manager to arith-plugin mk-numeral because rational check may overwrite the argument using the current manager deals with crash as part of #4532
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-26 17:52:28 -07:00
Nikolaj Bjorner 71a32f5bb2 remove unused
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-22 11:38:27 -07:00
Nuno Lopes b7caabbd0f fix crashes with MSVC 2019 2020-07-14 13:14:44 +01:00
Nuno Lopes bb26f219fe remove unneeded constructors (last round) 2020-07-12 17:41:57 +01:00
Nikolaj Bjorner d0e20e44ff booyah
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Lev Nachmanson 62b9630c4b remove unicode from hnf_cutter.h
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson 7a4eed0216 add comments to hnf_cutter
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson 49e49d6bb6 add comments to hnf_cutter
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson 80a4da9b1d add comments to hnf_cutter
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson fff6a94de4 cheap_eqs - fix the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson 61da368ee3 cheap_eqs - work on fixed_phase
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson f4502ff952 cheap_eqs - work on fixed_phase
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson 1695379dc9 cheap_eqs - work on fixed_phase
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson a1c5cff541 cheap_eqs - work on fixed_phase
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson 29b3f438bc cheap_eqs - work on fixed_phase
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson cb3ebac3dd cleanup lp_bound_propagator.h
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson b996bc1f02 remove cheap equalities with the table
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Nikolaj Bjorner eaffe46468 revert debug changes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-28 10:27:47 -07:00
Nikolaj Bjorner 9a642215eb avoid infinite loop between is-nullable and mk-bool-app
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-28 10:27:47 -07:00
Nikolaj Bjorner 7f3bdea0d5 unused methods
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-23 19:28:07 -07:00
Nikolaj Bjorner 5d36578684 some unused variables reported by Caleb
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-22 19:04:10 -07:00
Lev Nachmanson 6ced6995d0 check for m.get_sort(lhs->get_owner()) == m.get_sort(rhs->get_owner()) in equality propagation
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-22 11:48:46 -07:00
Nikolaj Bjorner 4b6ca6a10c replace size by data_size
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-22 11:16:36 -07:00
Lev Nachmanson 6524a70c32 remove un unnecessary call
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson 8f588a9263 fix the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson b703d2786c fix the build cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson 3bde9f54d8 add some comments cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson 115ae8fe14 check for integrality when adding an equality
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson c4fbe05a96 simplify cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson e3503f060f debug cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson 42ed1e62a9 debug cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson 2e2e98925a debug cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson ffaa7d0b27 debug cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson 525f747e3c cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson c2cead4fb6 cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson b5fc9635c4 cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson 3b00b34c6f cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson 80467f1400 cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson 431bb36cf5 cheap_eqs tree
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson f7f9c15676 cheap_eqs tree
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson f882219081 fix a bug in cheap_eqs with table
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-15 13:30:45 -07:00
Lev Nachmanson d13e584706 simplify the fixed var table
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-15 13:30:45 -07:00
Nikolaj Bjorner 180fb3abf6 tidy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-14 11:36:09 -07:00
Nikolaj Bjorner 7387fc9dec avoid some bignum overhead in addmul
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-14 11:20:05 -07:00
Nikolaj Bjorner 5ee9edf46b fix incorrect bound in order-lemma
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-13 14:28:42 -07:00
Lev Nachmanson e5632736d2 review comments
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson fbfcc6796a fix the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 66701de157 fix the test build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 06826adec3 fix the race in add_var_bound and add_def_constraint
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson fe0e042e40 move m_fixed_var_table to lar_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 67eaff4490 testing cheap equalities
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 94263167ec cheap eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 50b9915c57 avoid big nums in is_offset_row in cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 713eb6319d fix
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 1587497562 cheap equalities
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson ccc8651800 cheap eqs on table
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson b3bdce7837 make lp_bound_propagator a field of theory_lra::imp
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson dd30b5e3af some simplifications in cheap eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 4de38d09e2 cheap eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 4f0bd93124 debug cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 110ab5e6ef debug cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 9c078c6d59 relaxing asserts in column_to_reported_index
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 6a678fd5be rename in lar_solver and memory corruption bug in cheap_eq
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 4936ace7cd more guards on cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00