3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-07-15 11:35:42 +00:00
z3/src
Margus Veanes 22eb098cd9 WIP seq_split: derivative-based complement split (NOT for merge - soundness bug)
Prototype of the notes.md redesign: Split(~a) for star-free a via r = E(~a) | RE(LF(delta(~a))) using brz_derivative_cofactors, of_pred(lambda) char-classes, per-iterator memo (threaded through head_normalize) + De Morgan fallback at ~(R*)/cyclic revisit.

RESULT: De Morgan split blow-up ELIMINATED (L15: complement/max-split-set 65536 -> 0), validating the core idea. BUT: (1) SOUNDNESS BUG - concat membership over a derivative-split complement returns spurious unsat ((x.y) in ~([0-9]^2): default sat, nseq unsat; single-var x in ~([0-9]^2) is correct). Split-set not collapsed (49 splits) so of_pred not empty-dropped; fault is downstream handling of of_pred(lambda) char-classes in the concat split/primitive path. (2) bottleneck moved to DFS nodes (7 -> 33071). FIX DIRECTION: represent the cofactor char-class as range/union-of-ranges nseq fully supports, not of_pred(lambda). Do not build on this until fixed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-03 22:33:29 +03:00
..
ackermannization block ackermann over nested selects 2026-06-19 10:41:56 -07:00
api Go bindings: enable concurrent dec_ref for GC-driven finalizers (#10002) 2026-06-29 13:14:41 -06:00
ast WIP seq_split: derivative-based complement split (NOT for merge - soundness bug) 2026-07-03 22:33:29 +03:00
cmd_context bug fixes 2026-06-30 20:18:41 -07:00
math nlsat/anum: share mutation-aware merge sort in one helper (#10006) 2026-06-30 08:40:33 -07:00
model Term enumeration (#9908) 2026-06-20 18:14:44 -06:00
muz Add rlimit support in fixedpoint parameters (#9798) 2026-06-10 15:13:05 -07:00
nlsat nlsat/anum: share mutation-aware merge sort in one helper (#10006) 2026-06-30 08:40:33 -07:00
opt Fixes necessary to compile z3 included in clang-tidy via FetchContents. (#9768) 2026-06-08 19:44:01 -07:00
params Merge remote-tracking branch 'origin/master' into c3 2026-07-01 17:18:21 +02:00
parsers Fix off-by-one column after comment lines in SMT2 scanner (#9808) 2026-06-10 06:49:31 -07:00
qe Fix qe-lite de Bruijn reindexing after bounded quantifier expansion (#9996) 2026-06-29 09:53:02 -07:00
sat Parallel tactic (#9824) (#9825) 2026-06-26 10:36:15 -06:00
shell Fixes necessary to compile z3 included in clang-tidy via FetchContents. (#9768) 2026-06-08 19:44:01 -07:00
smt seq_split: dedup identical <D,N> pairs in intersect (sound, memory-only) 2026-07-03 19:40:26 +03:00
solver change calculation of threads to use total threads indicated by parameter or processor count, subtract from worker threads based on backbone and core threads 2026-06-28 12:43:58 -07:00
tactic Parallel tactic (#9824) (#9825) 2026-06-26 10:36:15 -06:00
test Merge remote-tracking branch 'origin/master' into c3 2026-07-01 17:18:21 +02:00
util Merge remote-tracking branch 'origin/master' into c3 2026-07-01 17:18:21 +02:00
CMakeLists.txt Move seq_nielsen from src/ast/rewriter to src/smt/seq with new smt_seq component 2026-03-03 00:17:10 +00:00