3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-06-27 19:08:49 +00:00
Commit graph

272 commits

Author SHA1 Message Date
CEisenhofer
2aa1d1ee01 Memorize previous conflicts 2026-06-25 15:40:53 +02:00
CEisenhofer
64fed10e86 Projection operator => view 2026-06-25 10:48:20 +02:00
CEisenhofer
fd8100475c Eliminate top-level nonsense cases from regex decomposition 2026-06-11 16:01:08 +02:00
CEisenhofer
be627007e1 Use lookahead for regex decomposition
Make snode const
2026-06-11 15:34:25 +02:00
CEisenhofer
2dbefbcd56 Lookahead for regex splits applied to membership constraints
Rewriting constraint/prefix/suffix with constant strings to regexes
2026-06-10 20:35:36 +02:00
CEisenhofer
dbb3f70873 Moved the regex splitting into rewriter
Added some simplifications
2026-06-10 15:00:58 +02:00
CEisenhofer
294ee984b8 Remove cyclic dependency 2026-06-10 13:56:58 +02:00
CEisenhofer
9f44a9cce8 Flatten concat when deciding if it is constant 2026-06-09 16:39:09 +02:00
CEisenhofer
2e4c165a16 Misclassified giving-up on decomposition as conflict 2026-06-09 16:22:41 +02:00
CEisenhofer
64f422abc5 sigma of full_seq was missing 2026-06-09 15:49:41 +02:00
CEisenhofer
069068ce5e Don't use enodes for justifying disequality conflicts 2026-06-09 15:40:28 +02:00
CEisenhofer
3c39fc4238 Complement 2026-06-09 15:12:50 +02:00
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
c20bc0e631 First attempt for monadic decomposition 2026-06-05 18:40:36 +02:00
CEisenhofer
e94b6db8e5 Removed assertion to make the build dependencies acyclic 2026-06-03 10:58:25 +02:00
CEisenhofer
5b41c6eb9f Better tracking for debugging 2026-06-01 19:50:34 +02:00
CEisenhofer
cebe57dffa Avoid unnecessary regex cycle splits 2026-05-29 19:14:08 +02:00
CEisenhofer
70031b674c Added real projection operator 2026-05-29 15:51:35 +02:00
CEisenhofer
ff99cb442a Unique name for decomposed regex 2026-05-28 18:45:48 +02:00
CEisenhofer
e5d5b493d3 Remove trivial membership constraints also after simplifications 2026-05-28 18:26:50 +02:00
CEisenhofer
2bbd75a186 We should not bypass checking primitive constraints being empty 2026-05-28 15:29:43 +02:00
CEisenhofer
54782e68e0 Disequalities over units can be processed differently 2026-05-27 18:59:00 +02:00
CEisenhofer
4fffc267ec Trivial constraint != satisfied 2026-05-27 18:20:03 +02:00
CEisenhofer
dc7c94a3ac le != lt 2026-05-27 17:37:39 +02:00
CEisenhofer
b7f9019a6e Duplicate function signature 2026-05-27 17:29:06 +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
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
Nikolaj Bjorner
e72c082818 use vector with object destructor 2026-05-16 22:32:29 -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
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