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:
parent
87551f2bb0
commit
639d7d147b
1 changed files with 18 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue