3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-08-02 12:13:25 +00:00

Update seq_monadic.cpp

This commit is contained in:
Nikolaj Bjorner 2026-07-30 20:20:32 -07:00 committed by GitHub
parent 87551f2bb0
commit 639d7d147b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -18,6 +18,24 @@ Abstract:
{true,false,=,<=,and,or,not} grammar the derivatives emit). The same guard algebra
yields the concrete element used to build a witness sequence.
TODOs:
- track unsat cores and expose them as explain functionality
- if perf suffers: use DFS backtracking search instead of DNF expansion (space overhead)
- create a validation harness: expose certificates for correctness that can be checked.
- handle transitions into unions and concatenations over unions
- establish a perf harness
- extend with lower and upper bound constraints
- encapsulate within general interface:
create: undo_trail x dependency_manager x ast_manager -> regex_membership
add_constraint : expr* x expr* x dependency* -> void
add_lo: expr* x unsigned * dependency* -> void
add_hi: expr* x unsigned * dependency* ->void
check: void -> lbool
explain: void -> dependency*
model: void -> (expr* x expr*) vector or value: expr* -> expr*
perhaps:
substitute: expr* x expr* x dependency* -> void
Author:
Nikolaj Bjorner / Margus Veanes 2026