3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-06-20 15:40:37 +00:00
Commit graph

127 commits

Author SHA1 Message Date
CEisenhofer
7c7ca27822 Sounder? 2026-06-06 15:24:25 +02:00
CEisenhofer
eee5a9dcef A bit of cleanup 2026-06-05 20:26:58 +02:00
CEisenhofer
67906da97a Corrected string extraction 2026-06-05 19:57:00 +02:00
CEisenhofer
8ac7a242eb Z3 arguments got ignored in the Nielsen graph 2026-06-05 19:19:08 +02:00
CEisenhofer
c20bc0e631 First attempt for monadic decomposition 2026-06-05 18:40:36 +02:00
CEisenhofer
9de196b3cb Some signatures changed after merging in master 2026-06-03 17:39:09 +02:00
CEisenhofer
2bbd75a186 We should not bypass checking primitive constraints being empty 2026-05-28 15:29:43 +02:00
CEisenhofer
c640bf2a2b Disequalities prevent a fast-check 2026-05-27 17:59:14 +02:00
CEisenhofer
e74b235d87 Solve disequalities lazily 2026-05-27 17:25:39 +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
7ede1b9c3d re.plus is a regex as well 2026-05-22 14:03:22 +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
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
CEisenhofer
6321a7c479 Implemented fast path for still satisfied Nielsen nodes 2026-05-18 14:42:06 +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
b77d2b3360 We need a better witness during model construction 2026-05-16 16:21:57 +02:00
CEisenhofer
c9fb432191 The side-condition of the "if"-split belongs on the edges 2026-05-12 10:30:29 +02:00
CEisenhofer
f7f2ee8f74 Using only one solver 2026-05-07 15:49:16 +02:00
CEisenhofer
712cd68e8c Don't add duplicate equations and membership constraints to Nielsen root 2026-05-06 16:38:26 +02:00
CEisenhofer
e62ba9b60b stoi lemmas might have been forgotten so we need to reassert 2026-05-06 15:46:53 +02:00
CEisenhofer
6fa354102a A new axiomatization for "stoi" 2026-05-06 15:30:09 +02:00
Nikolaj Bjorner
e242257070 avoid disequalities from str.at axioms
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-05-04 16:33:12 -07:00
Nikolaj Bjorner
a5c01dcddb move to new model construction instead of original
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-05-04 13:53:33 -07:00
CEisenhofer
5b3d734ecb Fixed regex factorization again 2026-05-04 19:25:07 +02:00
Nikolaj Bjorner
b28f83e2e0 add initial scaffolding for using assumption literals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-25 08:09:25 -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
5f7e14315d fix tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-22 10:54:06 -07:00
CEisenhofer
3873f387be Model construction has to respect the length constraints 2026-04-22 19:51:09 +02:00
Nikolaj Bjorner
aed76af2b5 deal with code smells/duplicate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-21 18:57:25 +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
Nikolaj Bjorner
4446705eae clean up conflict generation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-21 18:28:25 +02:00
Nikolaj Bjorner
8cc85a7d7b code simplification, fix conflict in new_diseq_eh
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-21 10:17:43 +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
Nikolaj Bjorner
c18188cba8 avoid crashes in cases like wildcard-matching-regex-67.smt2, need regex constraint solving
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-21 05:44:53 +02:00
CEisenhofer
41412293fe Let's try to justify bounds 2026-04-20 15:52:35 +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
Nikolaj Bjorner
f09f6d5097 add internalization as fallback option
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-14 08:47:55 -07:00
Nikolaj Bjorner
725b13680e na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-14 08:39:22 -07:00
CEisenhofer
2db99473a3 Removed irrelevant information from membership constraints 2026-04-14 16:27:50 +02:00
CEisenhofer
195f2caf25 Removed strange code that caused the solver to give up when finding a model instantly 2026-04-14 16:06:03 +02:00
CEisenhofer
3fdd903373 Bug if uninternalized literal becomes internalized and immediately false 2026-04-14 15:48:13 +02:00
CEisenhofer
ed4387c70e Log to file 2026-04-14 11:47:26 +02:00
CEisenhofer
d620f20c63 Simplify code 2026-04-13 14:06:16 +02:00
Nikolaj Bjorner
276b9c38af log conflict
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-04-13 04:41:38 -07:00