3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00
Commit graph

18831 commits

Author SHA1 Message Date
Jakob Rath
adc9f7abe4 Add basic implementation of left shift 2022-11-17 17:37:52 +01:00
Jakob Rath
68707eefe7 Fix lshr axioms 2022-11-17 17:37:52 +01:00
Jakob Rath
80a2ac64de Remove tst_polysat_argv 2022-11-17 17:37:52 +01:00
Jakob Rath
81150f433a test 2022-11-17 17:37:52 +01:00
Jakob Rath
d9cb06114e Print partial test results table on interrupt 2022-11-17 17:37:52 +01:00
Jakob Rath
f12ae0af12 clause_builder: rename push to insert 2022-11-17 17:37:52 +01:00
Jakob Rath
dbe814d568 Add forbidden interval lemma separately 2022-11-17 15:00:16 +01:00
Jakob Rath
b4ee8cef1a Add helper for creating op_constraints 2022-11-17 12:59:37 +01:00
Jakob Rath
38a43bd087 Remove conflict_kind 2022-11-17 12:25:28 +01:00
Jakob Rath
00e8c53f9a Remove unused code 2022-11-17 12:22:40 +01:00
Jakob Rath
097454cf37 Fix eval_lshr 2022-11-17 11:47:12 +01:00
Nikolaj Bjorner
59b7845c7d reset visited (fast mark) to not clash with occurs 2022-11-17 17:36:21 +09:00
Nikolaj Bjorner
6662afdd26 perf improvements to solve-eqs and euf-completion 2022-11-16 22:15:02 -08:00
Jakob Rath
2c4e3184d7 For now, do not delete variables. 2022-11-16 15:49:58 +01:00
Nikolaj Bjorner
2c7799939e wip - tuning and fixes to euf-completion 2022-11-16 03:47:38 -08:00
Nikolaj Bjorner
98fc8c99db add shortcut to equality mk utility 2022-11-16 03:47:01 -08:00
Nikolaj Bjorner
55ab7778f4 fix perf bug in new solve_eqs. 2022-11-16 03:46:17 -08:00
Nikolaj Bjorner
d70dbdad50 wip euf-completion - debugging 2022-11-15 20:17:39 -08:00
Nikolaj Bjorner
255414f4a9 fix regression crash
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-15 11:20:12 -08:00
Nikolaj Bjorner
9845c33236 add shortcuts in rewriter, eliminate redundancies in dependent_expr tactic 2022-11-15 09:13:13 -08:00
Nikolaj Bjorner
bfae8b2162 set flat_and_or to false in bv rewriter 2022-11-15 05:47:28 -08:00
Nikolaj Bjorner
041b5f9ef0 rename away solve_eqs2 to solve_eqs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-14 20:01:37 -08:00
Nikolaj Bjorner
48c0f8694f euf-completion bug fix, streamline name to solve_eqs 2022-11-14 20:01:00 -08:00
Nikolaj Bjorner
3eeb59db34 fix #6451 missing occurrence marking when there is an unsafe equality already
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-14 19:23:27 -08:00
Nikolaj Bjorner
95e07ffe8e disable unsound context equality solving
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-14 19:14:51 -08:00
Nikolaj Bjorner
6297c001ee remove legacy solve_eqs_tactic entirely
also, bug fixes to elim_unconstrained (elim_uncnstr2) which is to replace legacy tactic for eliminating unconstrained constants.
2022-11-14 18:57:16 -08:00
Nikolaj Bjorner
3f2bbe5589 harness del_object #6452
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-14 08:54:08 -08:00
Jakob Rath
aa59de9056 Track max jump level from side lemmas 2022-11-14 15:43:46 +01:00
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