3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-05-25 11:26:21 +00:00
Commit graph

22530 commits

Author SHA1 Message Date
CEisenhofer
c18aa647e1 Removed recursion from regex unwinding 2026-05-22 15:15:48 +02:00
CEisenhofer
5dcc5efcdd Remove recursive paths from model construction 2026-05-22 14:56:17 +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
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
CEisenhofer
6321a7c479 Implemented fast path for still satisfied Nielsen nodes 2026-05-18 14:42:06 +02:00
CEisenhofer
c512dd1de1 Model construction 2026-05-18 11:18:31 +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
Nikolaj Bjorner
e72c082818 use vector with object destructor 2026-05-16 22:32:29 -07:00
Nikolaj Bjorner
a12be9670c remove print 2026-05-16 17:05:51 -07:00
Nikolaj Bjorner
1198d9aaa5 templatize vector for dependencies 2026-05-16 16:22:56 -07:00
Nikolaj Bjorner
d99f0ce230 use shrink instead of pop in a loop 2026-05-16 16:22:56 -07:00
Nikolaj Bjorner
5ca32d65bd use shrink instead of pop in a loop 2026-05-16 16:22:56 -07:00
Nikolaj Bjorner
b8052d67cb simplification to value reconstruction
use the fact that dependencies are already present in the model-value object.
There is no need for fragile code to reconstruct the mapping from enodes to values.
2026-05-16 16:22:51 -07:00
CEisenhofer
b77d2b3360 We need a better witness during model construction 2026-05-16 16:21:57 +02:00
CEisenhofer
501462b494 Fix for model construction (?) 2026-05-16 15:27:30 +02:00
CEisenhofer
723e19b435 Updated string benchmark script 2026-05-16 14:39:44 +02:00
Nikolaj Bjorner
1405547dc0 iterate on model construction
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-05-13 11:38:02 -07:00
Copilot
27cd086d24
Fix python build: remove circular smt_enode.h include from seq_nielsen.cpp (#9508)
Agent-Logs-Url: https://github.com/Z3Prover/z3/sessions/e0d3c96d-3caa-4c0b-a723-d0fb4a9db3c9

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-05-12 13:33:02 -04: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
bb639af485 Bit more pp 2026-05-12 09:29:49 +02:00
CEisenhofer
22583a7abd Typo in pp: lt != le 2026-05-12 09:08:47 +02:00
CEisenhofer
55ea1929e9 A bit more "dot" improvements 2026-05-11 19:22:45 +02:00
CEisenhofer
d20a27e1df Make dot output a bit more readable 2026-05-11 19:17:00 +02:00
CEisenhofer
fb6b05aa83 Fixed the "partial automaton" after we push regex unwinding to ITE splitting 2026-05-11 17:57:06 +02:00
Nikolaj Bjorner
7ec3bf55ff merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-05-07 10:48:03 -04:00
CEisenhofer
50f471a95b For membership constraints just unwind 2026-05-07 16:20:04 +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
57692811fa reduce set of assumptions passed into m_core_solver 2026-05-06 03:58:29 -07:00
CEisenhofer
11ff3ccae7 Power unwinding was unsound 2026-05-06 10:22:39 +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
b65f22ef3b Bug fix 2026-05-05 14:58:42 +02:00
CEisenhofer
e7cc24d7ea Next step towards partial automata 2026-05-05 13:58:15 +02:00
CEisenhofer
bfa9d17408 We need new variables 2026-05-05 10:48:49 +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
af2769dbc0 more logging for when arith_value fails
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-05-04 14:07:49 -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
e2e876c7a9 Removed legacy code 2026-05-04 20:16:13 +02:00