Presentation is loading. Please wait.

Presentation is loading. Please wait.

Quantifier Elimination Procedures in Z3 Support for Non-linear arithmetic Fixed-points – features and a preview.

Similar presentations


Presentation on theme: "Quantifier Elimination Procedures in Z3 Support for Non-linear arithmetic Fixed-points – features and a preview."— Presentation transcript:

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

3

4

5

6

7 Domain Closure: Eliminate accessors: Solve equalities: Virtual substitution:

8

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?

19

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)

21


Download ppt "Quantifier Elimination Procedures in Z3 Support for Non-linear arithmetic Fixed-points – features and a preview."

Similar presentations


Ads by Google