Download presentation
Presentation is loading. Please wait.
1
Quantifier Elimination Procedures in Z3 Support for Non-linear arithmetic Fixed-points – features and a preview
2
Option: ELIM_QUANTIFIERS=true LRA – Linear real arithmetic LIA – Linear integer arithemtic D – Algebraic Datatypes Booleans & Bit-vectors – (All-SAT) NRA 2 – Quadratic (using virtual substitutions) Arrays – ad hoc
7
Domain Closure: Eliminate accessors: Solve equalities: Virtual substitution:
9
Analysis Tool Logic Engine Z3
10
SLAyer SAGE Predicate Based MC Sep. Logic Interpolating MC BDD MC Fixed-PointMethodology Abstract Interpretation SimulationRelationSimulationRelation Logic Programming HavocHoudiniHoudini DatalogDatalog GateKeeper SummariesSummaries AbstractionRefinementAbstractionRefinement
11
Ships with Z3 Online demo BDD table sample in distribution Mostly developed by Krystof Hoder
12
Recall the basic sausage* rule: Variant for Connoisseurs: Is valid? Is satisfiable? * “sausage” terminology by Andrey Rybalchenko
13
Efficient Datalog Engine Finite Tables Symbolic Tables Composable Abstract Relations: Use abstract interpretation domains. Use SMT as a domain. Reduced product operators for sharing Efficient Algorithms from Symbolic MC Modulo Theories I will give a taste of this later. Is satisfiable? BDD packages Abstract Domains Interpolation Tools
14
Results Execution Compilation Rule transformations Early preprocessing Rule normalization Late preprocessing Parser Restarts Compilation Relational Algebra Abstract Machine
15
Results Execution Compilation Rule transformations Early preprocessing Rule normalization Late preprocessing Parser Restarts Plugin architecture: New domains added using plugins implementing Relational Algebra operations.
16
TablesHash-tableBDDBit-vectorsRelationsSMTExplanationsExternalAbstractionsIntervalsBoundsCompositions Finite product Relation product xx yy zz 1 0 1 0 + = Intervals Bounds Pentagons =+
17
TablesHash-tableBDDBit-vectorsRelationsSMTExplanationsExternalAbstractionsIntervalsBoundsCompositions Finite product Relation product xx yy zz 1 0 1 0 Intervals Bounds Product: Table x Table Indexed Relation: Table x Relation Reduced Product: Relation x Relation
18
Is valid? Is satisfiable?
20
PDR works for linear Transformers Generalize to non-linear PDR works with a single Transformer Work with multiple transformers. A Solver for Datalog/Boolean Programs PDR is for propositional logic Search Modulo Theories (with McMillan’s FociZ3 and other methods)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.