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