3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 09:05:31 +00:00
Commit graph

19445 commits

Author SHA1 Message Date
Nikolaj Bjorner
4a142b0f81 fix #6623 2023-04-09 21:10:24 -07:00
Nikolaj Bjorner
e6ea81546e fix #6662 2023-04-08 17:14:39 -07:00
Nikolaj Bjorner
af9c760a68 fix #6670 2023-04-08 16:55:23 -07:00
Nikolaj Bjorner
ccb250c32b fix #6671 2023-04-08 16:39:40 -07:00
Clemens Eisenhofer
7b513b4a40
Some UP bugfixes in the new core (#6673) 2023-04-08 12:50:46 -07:00
Nikolaj Bjorner
7f3b518a71 bug fixes to bounds propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-04-05 17:53:19 -07:00
Nikolaj Bjorner
00306731f6 cosmetic updates to bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-04-05 16:40:18 -07:00
Nikolaj Bjorner
84b9204616 inherit and reset rlimit counter on children limits
addresses rlimit leak reported by @mtzguido
2023-04-05 16:39:21 -07:00
Nikolaj Bjorner
f8242c58dd fix regression from Grobner port
- scan_for_linear returns true if it finds a new linear equation. It then should break GB.
- if scan_for_linear returns false, it should still allow try_modify_eqs.
This behavior was masked by requiring scan_for_linear to always be true before
allowing try_to_modify_eqs.

based on repro from Guido Martinez @mtzguido
2023-04-04 22:29:22 -07:00
Nikolaj Bjorner
2f992a7c9f adjust bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-04-04 09:28:44 -07:00
Nikolaj Bjorner
50630bf8f5 prep for bilinear adt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-04-03 10:22:57 -07:00
Jakob Rath
9e1afc5916 Remove repropagate_units as well 2023-04-03 17:12:15 +02:00
Jakob Rath
21d315ba58 Fix try_ugt_z as well 2023-04-03 16:27:09 +02:00
Jakob Rath
76c18ee6e3 Fix try_ugt_y 2023-04-03 16:18:01 +02:00
Jakob Rath
c3c9883b0a Remove repropagate 2023-04-03 15:50:47 +02:00
Nikolaj Bjorner
9d751576bc add utility to count clauses 2023-04-02 16:12:26 -07:00
Nikolaj Bjorner
3302ab9dc5 fix bug introduced in is_valid() 2023-04-02 16:12:11 -07:00
Nikolaj Bjorner
ae57475483 fix bug in conflict::is_valid exposed by testing unit propagation 2023-04-02 14:54:20 -07:00
Nikolaj Bjorner
479f844200 fix #6661
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-04-02 11:14:20 -07:00
Nikolaj Bjorner
def83ed26e fix #6661
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-04-02 11:13:37 -07:00
Nikolaj Bjorner
5b385bd2fe fix #6665
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-04-02 10:58:21 -07:00
Hari Govind V K
6324db207b
Only print func-decl names for indexed parameters (#6663) 2023-04-02 10:39:13 -07:00
Nikolaj Bjorner
dcc87a682c disable assertion notification during shutdown 2023-04-01 14:59:35 -07:00
Nikolaj Bjorner
7b60c37ad8 remaining issue fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-04-01 10:30:49 -07:00
Nikolaj Bjorner
63ebd4fcba another unsoundness bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-31 16:13:46 -07:00
Nikolaj Bjorner
e0a066efa3 #6654
fix reflexivity for tree-order
2023-03-31 15:38:29 -07:00
Nikolaj Bjorner
7664429fda remove cast expression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-31 12:51:23 -07:00
Nikolaj Bjorner
a62e4b2893 extract multi-patterns when pattern can be decomposed
deals with fluke regression for F* reported by Guido Martinez

Background:
The automatic pattern inference facility looks for terms that contains all bound variables of a quantifier. It may end up with a term that contains all bound variables but the extracted term can be simplified.

Example. The pattern

(ApplyTT (ApplyTT @x3!1 (ApplyTT @x4!0 (:var 1))) (ApplyTT @x4!0 (:var 0)))
can be decomposed into a multi-pattern
(ApplyTT @x4!0 (:var 1))) (ApplyTT @x4!0 (:var 0))
The multi-pattern may enable a quantifier instantiation while the original pattern does not. The multi-pattern should be preferred.

The regression showed up based on a change that should not be considered harmful but turned out to be noticeable.
The change was a simplification of and-or expressions based on sorting. This played with the case split queue used by F* (smt.case_split = 3) that uses a top-level case split of clauses to avoid redundant branches. The net effect was that without sorting, the benchmarks would always choose the opportune branch that enabled matching against the larger term. With sorting it would mostly choose inopportune branches.
2023-03-31 12:45:51 -07:00
Nikolaj Bjorner
a849a29b4f fix #6659 2023-03-31 10:31:18 -07:00
Nikolaj Bjorner
6aaaa3b015 fix #6660
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-31 09:58:28 -07:00
Nikolaj Bjorner
996e5b1755 fix #6655 2023-03-31 03:25:20 -07:00
Nikolaj Bjorner
b386b84f34 #6658 2023-03-31 02:56:44 -07:00
Nikolaj Bjorner
5e0db02753 reset conflict after unsat core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-30 17:27:55 -07:00
Nikolaj Bjorner
9614e428a6 wip: enabling reinit approach
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-30 08:41:22 -07:00
Nikolaj Bjorner
bee3320ff6 put reinit-stack code path under ENALBE_REINIT_STACK macro
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-29 13:03:00 -07:00
Nikolaj Bjorner
8cefa02b0d Merge branch 'polysat' of https://github.com/z3prover/z3 into polysat 2023-03-29 09:58:46 -07:00
Nikolaj Bjorner
c0f43b9206 expose watch/unwatch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-29 09:58:44 -07:00
Jakob Rath
f9147a7dc0 remove old code/notes 2023-03-29 16:14:01 +02:00
Jakob Rath
5e16a17f90 alternative bor 2023-03-29 15:57:15 +02:00
Jakob Rath
0704f90e9f fix log in release mode 2023-03-29 15:56:50 +02:00
Jakob Rath
67a4480410 comments, minor 2023-03-29 15:53:22 +02:00
Jakob Rath
1f58a906ed no more unassigned constraints in value propagation 2023-03-29 15:49:31 +02:00
Jakob Rath
d7930b3997 Find more undetected bool/eval conflicts in viable::resolve_interval 2023-03-29 15:47:10 +02:00
Jakob Rath
810a68ace9 disable some debug output 2023-03-29 15:40:17 +02:00
Jakob Rath
64e452e086 Add some clause names 2023-03-29 15:30:05 +02:00
Jakob Rath
c516d6fe0c get_watch_level: prefer true literals at lower search index 2023-03-29 15:23:43 +02:00
권승완
6670807103
update ocaml binding to support more string apis (#6656) 2023-03-29 05:49:33 -07:00
Nikolaj Bjorner
2a11be5c39 reorder
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-28 16:27:08 -07:00
Nikolaj Bjorner
2a8c7a7cd7 build issue for linux/clang
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-28 16:02:09 -07:00
Nikolaj Bjorner
d0e016c35d elaborate on clause reinitialization code path
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-28 12:57:34 -07:00