3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 03:15:50 +00:00

A slice solver option for interactive use case

A slice solver prunes the set of active assertions based on symbol occurrences in a goal that is tracked as a @query.
Ground assertions that have symbols intersecting with the query are included in the solver state, and quantifiers that with patterns that intersect with the slice are included. The slice is the fixedpoint of including symbols from all included assertions.
Enable the functionality for command-line use by setting solver.slice=true
This commit is contained in:
Nikolaj Bjorner 2024-10-08 09:22:10 -07:00
parent 0fec7efc7b
commit 8a95dd4d65
4 changed files with 465 additions and 0 deletions

View file

@ -8,6 +8,7 @@ def_module_params('solver',
('lemmas2console', BOOL, False, 'print lemmas during search'),
('instantiations2console', BOOL, False, 'print quantifier instantiations to the console'),
('axioms2files', BOOL, False, 'print negated theory axioms to separate files during search'),
('slice', BOOL, False, 'use slice solver that filters assertions to use symbols occuring in @query formulas'),
('proof.log', SYMBOL, '', 'log clause proof trail into a file'),
('proof.check', BOOL, True, 'check proof logs'),
('proof.check_rup', BOOL, True, 'check proof RUP inference in proof logs'),