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

18703 commits

Author SHA1 Message Date
Jakob Rath
cd83a6ec69 Remove bailout state from conflict 2022-11-14 15:15:35 +01:00
Jakob Rath
e2804c3db2 Remove bail_vars 2022-11-14 15:02:58 +01:00
Jakob Rath
eec8e8ebe4 Fix name: value propagation -> evaluation (for boolean literals) 2022-11-14 14:58:20 +01:00
Jakob Rath
436881c18c print lemmas 2022-11-14 14:51:54 +01:00
Jakob Rath
01af25ca02 Remove backjump state from conflict 2022-11-14 14:33:19 +01:00
Nikolaj Bjorner
3d2bf13577 streamline statistics, fix bug in updating goals 2022-11-13 20:30:00 -08:00
Nikolaj Bjorner
ce6cfeaa68 fix bug in euf-completion relating to missed normalization 2022-11-13 18:01:17 -08:00
Nikolaj Bjorner
3fa81d6527 bug fixes to elim-uncnstr2 tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-13 13:25:19 -08:00
Nikolaj Bjorner
38cde14e08 wip missing updates 2022-11-13 12:10:43 -08:00
Nikolaj Bjorner
196788a091 bug fix for equality solving 2022-11-13 12:09:56 -08:00
Nikolaj Bjorner
ce76e3138d streamlining expr-inverter code 2022-11-13 11:48:32 -08:00
Nikolaj Bjorner
3d570aaa0a add missing process_eq
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-12 18:43:57 -08:00
Nikolaj Bjorner
0b83732b82 missing override specifier 2022-11-12 18:35:41 -08:00
Nikolaj Bjorner
343603f643 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-12 18:34:04 -08:00
Nikolaj Bjorner
e33e66212c propagate values should not flatten and/or
also, elim_uncstr should only be disabled on recursive functions
2022-11-12 18:03:47 -08:00
Nikolaj Bjorner
f4e17ecc65 add logging and diagnostics 2022-11-12 18:03:47 -08:00
Nikolaj Bjorner
9d09064ad0 add comments to elim_unconstrained and remove unused function 2022-11-12 18:01:38 -08:00
Nikolaj Bjorner
efbe0a6554 wip - updated version of elim_uncstr_tactic
- remove reduce_invertible. It is subsumed by reduce_uncstr(2)
- introduce a simplifier for reduce_unconstrained. It uses reference counting to deal with inefficiency bug of legacy reduce_uncstr. It decomposes theory plugins into expr_inverter.

reduce_invertible is a tactic used in most built-in scenarios. It is useful for removing subterms that can be eliminated using "cheap" quantifier elimination. Specifically variables that occur only once can be removed in many cases by computing an expression that represents the effect computing a value for the eliminated occurrence.

The theory plugins for variable elimination are very partial and should be augmented by extensions, esp. for the case of bit-vectors where the invertibility conditions are thoroughly documented by Niemetz and Preiner.
2022-11-12 17:56:45 -08:00
Jakob Rath
406696f0a3 Remove unused code 2022-11-11 10:25:49 +01:00
Nikolaj Bjorner
689af3b4df add comments to elim_unconstr_tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-10 16:42:09 -08:00
Jakob Rath
fc773ef19e Remove old file 2022-11-10 14:42:55 +01:00
Jakob Rath
d3f70c0fb8 Rename: explain -> superposition 2022-11-10 14:42:13 +01:00
Nikolaj Bjorner
27f8b8d13a inline definition in header file
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-09 09:55:05 -08:00
Nikolaj Bjorner
a98502b62f weaken assertion, remove dependency on hash_compare in unittest for hashtables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-09 09:28:49 -08:00
Nikolaj Bjorner
15be80c954 remove dependency on hash_compare 2022-11-09 09:06:34 -08:00
Jakob Rath
4b146a61ff minor 2022-11-09 17:00:27 +01:00
Jakob Rath
abc4cc5295 Simplify boolean propagation level 2022-11-09 16:59:51 +01:00
Jakob Rath
27d65df70b Use correct level for pvar propagations (v := val) 2022-11-09 16:58:34 +01:00
Jakob Rath
c08866dcec Disable simplify_clause::try_recognize_bailout for now 2022-11-09 14:30:33 +01:00
Jakob Rath
596a53c14b Fix axioms 2022-11-09 12:03:27 +01:00
Nikolaj Bjorner
8da13ae24a add statistics to verbose output of asserted formulas 2022-11-08 18:37:30 -08:00
Nikolaj Bjorner
9a656772b4 fix #6446 2022-11-08 18:37:16 -08:00
Nikolaj Bjorner
4d86d73942 disable also tests for Windows x86, does not work with CI pipeline 2022-11-08 17:15:59 -08:00
Nikolaj Bjorner
ff68df3451 update output of z3 doc 2022-11-08 16:10:50 -08:00
Nikolaj Bjorner
254f7b97ef cleanup state to clear model trail during calls. 2022-11-08 15:56:10 -08:00
Nikolaj Bjorner
823cd23ecc building x64 windows tests during ci is too slow, skipping tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-08 15:37:56 -08:00
Nikolaj Bjorner
3faca52c40 re-enable new solve_eqs with bug fixes 2022-11-08 14:17:17 -08:00
Nikolaj Bjorner
9ef78fcfa7 revert new solve-eqs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-08 13:57:58 -08:00
Nikolaj Bjorner
3a37cfca30 switch to solve_eqs2 tactic 2022-11-08 12:23:36 -08:00
Nikolaj Bjorner
f769e2f1f6 have bool rewriter use flat_and_or, and integrate hoist rewriter 2022-11-08 12:21:50 -08:00
Nikolaj Bjorner
238ea0a264 add shorthands for concatentation 2022-11-08 12:21:25 -08:00
Nikolaj Bjorner
3a4b8e2334 add rewrite rules to bv-rewriter 2022-11-08 12:20:51 -08:00
Nikolaj Bjorner
a34701471f clean up hoist rewriter 2022-11-08 12:20:25 -08:00
Nikolaj Bjorner
ab36f86843 add handler for reporting statistics 2022-11-08 12:19:48 -08:00
Nikolaj Bjorner
8afec86fe8 add option for flat_and_or 2022-11-08 12:19:27 -08:00
Nikolaj Bjorner
10fb71cf93 better error description for configuring restart 2022-11-08 12:18:45 -08:00
Jakob Rath
89a2700e5f Print table of unit test results 2022-11-08 17:17:02 +01:00
Jakob Rath
05ddac5ddc Allow disabling log messages 2022-11-08 17:15:56 +01:00
Jakob Rath
1d805807e9 Allow setting a default debug action
Helps avoiding user interaction when running a batch of unit tests.
2022-11-08 17:13:36 +01:00
Jakob Rath
eaf38abf17 Normalize to 0 < 0 instead of 1 <= 0 2022-11-07 15:32:34 +01:00