Lev Nachmanson
e9fa7db96c
revert smt_enode
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-12-20 14:03:27 -10:00
Nuno Lopes
c4fa719751
revert last two commits; MSVC doesn't like to statically allocate flexible arrays
2023-12-20 19:10:05 +00:00
Nuno Lopes
c9c53b7c65
tmp_enode: don't heap allocate an app. store it inline instead.
...
Saves heap allocations and double indirections
2023-12-20 18:19:20 +00:00
Nikolaj Bjorner
61319ffd85
cache is_shared information in the enode
...
observed perf overhead for QF_NIA is that assume_eqs in theory_lra incurs significant overhead when calling is_relevant_and_shared. The call to context::is_shared and the loop checking for beta redexes is a main bottleneck. The bottleneck is avoided by caching the result if is_shared inside the enode. It is invalidated for every merge/unmerge.
2023-09-23 17:19:06 -07:00
Nuno Lopes
70bcf0b51d
reduce sizeof(enode) from 120 to 112 bytes by swapping the order of fields
...
Yes, those 8 bytes are yours now, use responsibly.
2022-06-17 12:07:15 +01:00
Nikolaj Bjorner
51ed13f96a
update topological sort to use arrays instead of hash tables, expose Context over Z3Object for programmability
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-08 06:28:24 -07:00
Nikolaj Bjorner
592b1d7f65
#5752
2022-01-06 13:32:50 -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
830f314a3f
fixes to dt_solver and related
2021-02-27 11:03:20 -08:00
Nikolaj Bjorner
f4e8205aca
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-10 04:39:43 -07:00
Nikolaj Bjorner
d4e92d4aca
move theory_var_list into id_var_list and utilities from smt-enode into it, prepare for theory variables in egraph
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-01 04:26:31 -07:00
Nikolaj Bjorner
dc1783aafa
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-24 02:02:49 -07:00
Nikolaj Bjorner
65e6d942ac
euf
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-24 01:55:13 -07:00
Nuno Lopes
ca97bfb4b8
fix build
2020-07-05 11:44:12 +01:00
Nikolaj Bjorner
d0e20e44ff
booyah
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Nikolaj Bjorner
a884201d62
remove using insert_if_not_there2
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-25 15:08:51 -07:00
Nikolaj Bjorner
95a78b2450
updates to seq and bug fixes ( #4056 )
...
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix #4037
* nicer output for skolem functions
* more overhaul of seq, some bug fixes
* na
* added offset_eq file
* na
* fix #4044
* fix #4040
* fix #4045
* updated ignore
* new rewrites for indexof based on #4036
* add shortcuts
* updated ne solver for seq, fix #4025
* use pair vectors for equalities that are reduced by seq_rewriter
* use erase_and_swap
* remove unit-walk
* na
* add check for #3200
* nits
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* name a type
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove fp check
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove unsound axiom instantiation for non-contains
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix rewrites
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix #4053
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix #4052
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-22 13:18:55 -07:00
Nikolaj Bjorner
1e0c1cefd6
add definitions for under-specified cases of arithmetic operators #2663 #2676 #2679
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-06 18:24:22 +01:00
nilsbecker
1e4f524a22
Merge branch 'master' of https://github.com/Z3Prover/z3
2018-11-25 16:58:09 +01:00
Florian Pigorsch
326bf401b9
Fix some spelling errors (mostly in comments).
2018-10-20 17:07:41 +02:00
nilsbecker
547fbd4764
avoid rechecking whether equality explanations are already logged
2018-10-09 16:42:10 +02:00
nilsbecker
3c464071f7
adding comments
2018-06-06 19:24:29 +02:00
nilsbecker
f7b50ef796
merge with Z3Prover/z3/master
2018-06-06 08:09:57 +02:00
nilsbecker
1aeffa2e01
fixing issue where argument equalities for congruence explanations were not updated
...
explaining equalities added by theories
2018-05-24 19:25:59 +02:00
Nikolaj Bjorner
371880da04
n/a
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-01 07:13:03 -07:00
nilsbecker
b3aed5987c
Merge branch 'master' of https://github.com/Nils-Becker/z3
2018-04-08 18:27:21 +02:00
Nils Becker
7585f28dec
Improved quantifier instantiation logging
2018-04-08 18:18:02 +02:00
Nikolaj Bjorner
3b78bdc8e5
shorthands in enode to access args and partents
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-06 14:01:09 -07:00
Bruce Mitchener
76eb7b9ede
Use nullptr.
2018-02-12 14:05:55 +07:00
Christoph M. Wintersteiger
00651f8f21
Tabs, formatting.
2017-09-17 14:54:09 +01:00
Nikolaj Bjorner
b19f94ae5b
make include paths uniformly use path relative to src. #534
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 13:24:11 -07:00
Nikolaj Bjorner
0c2334417c
fix build warnigs with && vs ||, tuning seq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-07 06:53:00 -08:00
Nikolaj Bjorner
aec5a38b14
fix memory leak in SAT solver exposed by regression tests
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-06 11:44:55 -08:00
Nikolaj Bjorner
77c423b9aa
annotate enode hash as signed character to address issue #210
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-09-29 14:14:29 -07:00
Nikolaj Bjorner
4bc044c982
update header guards to be C++ style. Fixes issue #9
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-07-08 23:18:40 -07:00
Ken McMillan
4763532501
adding compile-time option to replace arrays with maps in smt (define SPARSE_MAP)
2014-09-30 11:25:47 -07:00
Leonardo de Moura
add684d8e9
checkpoint
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-21 13:32:12 -07:00