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

311 commits

Author SHA1 Message Date
CEisenhofer
63a668a71f Give up with we have nasty replace_all or friends (otw. we would be unsound due to Nielsen saturation) 2026-06-26 15:14:44 +02:00
CEisenhofer
d2db79e1a7 For whatever reason int-extraction got moved into an assertion
Cleanup
2026-06-26 10:38:08 +02:00
CEisenhofer
af0c0efae9 Branch on all minterms to speed up partial automata construction 2026-06-25 17:03:29 +02:00
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
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
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
2da7c7b3db Cache result of Z3 emptiness checks 2026-06-01 17:53:28 +02:00
CEisenhofer
1637b006c5 Output automaton 2026-06-01 17:29:09 +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
7d7199dec6 use expr id when doing model construction and not internal id 2026-05-28 18:02:41 +02:00
CEisenhofer
8f74296cf2 Output substitutions in dot 2026-05-28 16:29:33 +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
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