3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-07-02 13:26:10 +00:00
Commit graph

149 commits

Author SHA1 Message Date
CEisenhofer
7d7199dec6 use expr id when doing model construction and not internal id 2026-05-28 18:02:41 +02:00
CEisenhofer
2bbd75a186 We should not bypass checking primitive constraints being empty 2026-05-28 15:29:43 +02:00
CEisenhofer
0fa1e75f3f Remove redundant function 2026-05-27 17:27:48 +02:00
CEisenhofer
e74b235d87 Solve disequalities lazily 2026-05-27 17:25:39 +02:00
CEisenhofer
4cd908345a Prevent expressions in partial dfa being freed to early 2026-05-26 13:07:38 +02:00
CEisenhofer
c18aa647e1 Removed recursion from regex unwinding 2026-05-22 15:15:48 +02:00
CEisenhofer
cedb13d045 First check for conflict and then sat 2026-05-22 14:38:07 +02:00
CEisenhofer
2ea1c74071 Make var-nielsen case non-recursive 2026-05-21 19:12:15 +02:00
CEisenhofer
dafa3cf5bd Added feature (?) to SAT core to prefer the Nielsen assumptions during splitting 2026-05-21 19:06:45 +02:00
CEisenhofer
ca12eae670 WIP: Undid internal constraints 2026-05-21 17:17:49 +02:00
CEisenhofer
315a09aea8 [WIP] Try to replace "recursive reusage" of variables by seq.slice 2026-05-20 17:24:57 +02:00
CEisenhofer
dd00dd7362 First step towards not-reusing variables 2026-05-20 10:11:50 +02:00
CEisenhofer
9bb0f7e337 Fix some IDE warnings 2026-05-19 16:03:21 +02:00
CEisenhofer
0d1ee09e62 Keep most of the Nielsen graph and do a hot-restart when only external literals changed 2026-05-19 15:33:20 +02:00
Nikolaj Bjorner
2a36b9a68e split into context and sub-solver, move length force predicates to context-solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-05-17 19:01:03 -07:00
Nikolaj Bjorner
9d4feed0ae remove expr_ref from dependencies, only use literals that are true.
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-05-17 13:28:12 -07:00
Nikolaj Bjorner
b75acc5c14 replace seq::le by generic expr_ref
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-05-16 23:10:44 -07:00
CEisenhofer
71d7d70080 Missing dependency bug. Still not fixed, but better now 2026-05-12 14:00:50 +02:00
CEisenhofer
c9fb432191 The side-condition of the "if"-split belongs on the edges 2026-05-12 10:30:29 +02:00
CEisenhofer
fb6b05aa83 Fixed the "partial automaton" after we push regex unwinding to ITE splitting 2026-05-11 17:57:06 +02:00
CEisenhofer
f7f2ee8f74 Using only one solver 2026-05-07 15:49:16 +02:00
Nikolaj Bjorner
8c02ec087b fix crash with D:\\bench\\inputs\\QF_S\\20240318-omark\\cyclic-xy.smt2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-05-05 10:53:12 -07:00
CEisenhofer
e7cc24d7ea Next step towards partial automata 2026-05-05 13:58:15 +02:00
CEisenhofer
e2e876c7a9 Removed legacy code 2026-05-04 20:16:13 +02:00
CEisenhofer
5b3d734ecb Fixed regex factorization again 2026-05-04 19:25:07 +02:00
CEisenhofer
adb9ca4305 Some steps towards partial automatons 2026-05-04 18:31:38 +02:00
Nikolaj Bjorner
266008e81f update seq_model draft
redo seq_model to be compatible with model_generator
2026-05-03 13:57:56 -07:00
Nikolaj Bjorner
014315764d re-fix the same bug pointed out to an earlier version
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-26 08:16:37 -07:00
Nikolaj Bjorner
abbe36561d cleanup service
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-24 17:22:04 -07:00
Nikolaj Bjorner
cedd896ea5 redo length re-computation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-24 15:49:19 -07:00
Nikolaj Bjorner
1cf5e3e300 remove unused function
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-23 13:04:02 -07:00
Nikolaj Bjorner
ace4105a90 fix test build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-23 08:06:15 -07:00
CEisenhofer
3873f387be Model construction has to respect the length constraints 2026-04-22 19:51:09 +02:00
CEisenhofer
0a1eb26952 Avoid Skolem functions for length and symbolic characters introduced during Nielsen saturation (power exponents are still Skolem functions) 2026-04-22 11:06:55 +02:00
Nikolaj Bjorner
b2fa00ecf4 fix vector<le, false> to vector<le> we need the copy and destructor semantics for expr_ref
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-21 18:37:23 +02:00
CEisenhofer
03c990e0e1 Push substitutions back to base solver 2026-04-21 18:29:40 +02:00
CEisenhofer
ec92a532b8 Use dedicated string variables based on mod. count 2026-04-21 10:53:35 +02:00
Nikolaj Bjorner
352b14fe2b fix and optimize not-contains and regex equalities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-21 09:16:00 +02:00
CEisenhofer
41412293fe Let's try to justify bounds 2026-04-20 15:52:35 +02:00
Nikolaj Bjorner
c97aebe2b6 remove spurious ref
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-16 04:53:39 +02:00
CEisenhofer
82df1afeaf tentative solution: use existing nullability check (we might want to check in the future which guards of the ITE are actually true) 2026-04-14 18:07:03 +02:00
CEisenhofer
2db99473a3 Removed irrelevant information from membership constraints 2026-04-14 16:27:50 +02:00
CEisenhofer
3fdd903373 Bug if uninternalized literal becomes internalized and immediately false 2026-04-14 15:48:13 +02:00
Nikolaj Bjorner
53cc320efa deps
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-14 00:29:58 -07:00
Nikolaj Bjorner
68d7917653 debug printing for widening
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-13 12:16:03 -07:00
Nikolaj Bjorner
035ea95faa add pp methods
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-13 11:41:58 -07:00
CEisenhofer
9155ce85bb Removed unused function 2026-04-13 15:05:41 +02:00
CEisenhofer
d620f20c63 Simplify code 2026-04-13 14:06:16 +02:00
CEisenhofer
a36254f104 Some more bug fixes 2026-04-09 13:47:29 +02:00
CEisenhofer
684f93bed4 We should not stop eagerly on local conflicts 2026-04-08 20:13:54 +02:00