3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-17 01:46:39 +00:00
Commit graph

487 commits

Author SHA1 Message Date
Nikolaj Bjorner
ace727ee0f fix #6391 2022-10-12 09:34:49 +02:00
Nikolaj Bjorner
be0cd74c71 #6289 2022-08-21 15:25:17 -07:00
Nikolaj Bjorner
b6d71fccd8 fix #6265 2022-08-12 10:22:22 -04:00
Nikolaj Bjorner
63f48f8fd4 add options for logging learned lemmas and theory axioms
- add solver.axioms2files
  - prints negated theory axioms to files. Each file should be unsat
- add solver.lemmas2console
  - prints lemmas to the console.
- remove option smt.arith.dump_lemmas. It is replaced by solver.axioms2files
2022-08-08 11:18:56 +03:00
Bruce Mitchener
08165f5367 No need to return a const bool. 2022-08-05 07:40:19 +03:00
Nikolaj Bjorner
8551b217ce fix #6194 2022-07-27 08:03:57 +02:00
Nikolaj Bjorner
ca80d99617 fix #6153 2022-07-12 15:49:57 -07:00
Nikolaj Bjorner
b68af0c1e5 working on reconciling perf for arithmetic solvers
this update integrates inferences to smt.arith.solver=6 related to grobner basis computation and handling of div/mod axioms to reconcile performance with smt.arith.solver=2.

The default of smt.arth.nl.grobner_subs_fixed is changed to 1 to make comparison with solver=2 more direct.

The selection of cluster equalities for solver=6 was reconciled with how it is done for solver=2.
2022-07-11 07:38:51 -07:00
Nikolaj Bjorner
99b606b861 add logging 2022-06-16 15:40:00 -07:00
Nikolaj Bjorner
7497856ded add ignore int to new arithmetic solvers
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-11 15:14:22 -07:00
Nikolaj Bjorner
580012e19f fix #5894
expp is not implemented. This is the second time a fuzz bug reports it. Instead of closing the bug, just disable code path as fuzzers are not considering the comment from previous bug.
2022-03-10 09:45:09 -08:00
Qix
9cf50766a6
fix compiler warnings under clang (#5839) 2022-02-16 23:36:34 +02:00
Nikolaj Bjorner
aa6ec418e3 move idiv test to after cuts/branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-02-14 19:50:49 +02:00
Nikolaj Bjorner
9d655cc658 track all unhandled operators instead of latest 2022-02-04 22:07:29 -08:00
Nikolaj Bjorner
fdc253afdd
update arithmetic contract for unbounded (#5696)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-06 08:19:18 -08:00
Lev Nachmanson
9b4f3a7075
start using lar_solver::is_feasible() (#5697)
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2021-12-06 08:16: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
4928c28e63 fix #5675
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-19 08:42:32 -08:00
Nikolaj Bjorner
b6f7deacf4 fix #5663 2021-11-12 11:36:42 -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
Nikolaj Bjorner
968717a532 follow on fix from #5528
the same bug is also undetected in the main solver
2021-09-01 20:49:39 -07:00
Nikolaj Bjorner
e05f5ef6d1 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-11 06:15:27 +02:00
Nikolaj Bjorner
5fac396c2f simplify some verbose trace-stream 2021-07-11 06:15:27 +02:00
Nikolaj Bjorner
66fc980154 add helper axioms for int2bv #5396 2021-07-10 17:13:16 +02:00
Nikolaj Bjorner
2156c74d51 #4702
initial gcd test implementation for accumulated parity constraints
2021-06-01 15:26:36 -07:00
Nikolaj Bjorner
c959e28d4a remove prints, remove ability to toggle eager_eq_axioms option
NB. Spacer sets eager_eq_axioms option to false, but relevancy of this option is not clear at all as all other default paths don't use this option and theory_lra is incorrect when it is set to false.
2021-05-20 04:26:45 -07:00
Nikolaj Bjorner
cc12e3ed38 fix #5280 2021-05-19 16:52: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
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
1b503b8887 na 2021-04-06 20:09:51 -07:00
Nikolaj Bjorner
e5e663e874 fix for #5153 2021-04-06 20:09:50 -07:00
Nikolaj Bjorner
1fc9a7ba84 fix regression, fix #5115 2021-03-30 17:43:12 -07:00
Nikolaj Bjorner
c71bbb6391 fix #5136, regression when removing variable registration for mod/div operations 2021-03-30 13:45:54 -07:00
Nikolaj Bjorner
6bdf377e11 remove unneeded assertion fix #5131 2021-03-28 21:20:05 -07:00
Nikolaj Bjorner
6aa766a544 fix perf regression for new arithmetic solver, missing equality propagation #5106 2021-03-28 14:17:50 -07:00
Nikolaj Bjorner
d6691830c7 fix perf regression for new solver, missing equality propagations #5106 2021-03-28 14:17:50 -07:00
Nikolaj Bjorner
0c25d2560d improve diagnosability 2021-03-26 14:58:25 -07:00
Nikolaj Bjorner
e89071d366 #5125 2021-03-26 14:58:24 -07:00
Nikolaj Bjorner
ff0de59a70 more streamlined diagnostics to prepare for #5106 2021-03-15 16:23:35 -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
857557ad93 deal with compiler warnings 2021-03-08 20:39:19 -08:00
Nikolaj Bjorner
88fbf6510f updates to theory_lra 2021-03-08 17:19:07 -08:00
Nikolaj Bjorner
026065ff71 streamline pb solver interface and naming after removal of xor 2021-02-28 12:32:04 -08:00
Nikolaj Bjorner
823830181b butterfly effect with relevancy marking
bail out of infinite instantiation loop
2021-02-15 16:37:23 -08:00
Nikolaj Bjorner
a6dce246f6 fix #5031 2021-02-15 14:36:01 -08:00
Nikolaj Bjorner
a152bb1e80 remove template Context dependency in every trail object 2021-02-08 15:41:57 -08:00
Nikolaj Bjorner
8f577d3943 remove ast_manager get_sort method entirely 2021-02-02 13:57:01 -08:00
Nikolaj Bjorner
3ae4c6e9de refactor get_sort 2021-02-02 04:45:54 -08:00