Satisfiability Modulo Theories and Network Verification. Nikolaj Bjørner Microsoft Research Formal Methods and Networks Summer School Ithaca, June 10-14 2013. Lectures. Wednesday 2:00pm-2:45pm : An Introduction to SMT with Z3 Thursday 11:00am-11:45am
01 / 53Satisfiability Modulo Theories and Network Verification
1 / 17
Télécharger la présentation
Satisfiability Modulo Theories and Network Verification
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
Lectures Wednesday2:00pm-2:45pm: An Introduction to SMT with Z3 Thursday11:00am-11:45am Algorithmic underpinningsofSAT/SMT Friday 9:00am-9:45am Theories, Solvers and Applications
Plan • Progress in automated reasoning SAT, Automated Theorem Proving, SMT • An abstract account for SMT search (DPLL+T) • Integrating Theories Takeaway: Theorem Proving is cool and beautiful
SAT - Milestones Problems impossible 10 years ago are trivial today Concept 2002 2010 Millions of variables from HW designs Courtesy Daniel le Berre
FTP - Milestones • Some successstories: • Open Problems (of 25 years):XCB: X ((X Y) (Z Y)) Z)is a single axiom for equivalence • Knowledge Ontologies GBs of formulas Courtesy Andrei Voronkov, U of Manchester
SMT - Milestones Z3 (of ’07) Time On BoogieRegression 1sec Simplify (of ’01) time Z3 Time On VCC Regression Includes progress from SAT: 15KLOC + 285KLOC = Z3 Nov 08 March 09
News: SolvingR Efficiently A key idea: Use partial solution to guide the search Feasible Region x = 0.5 Extract small core DejanJojanovich & Leonardo de Moura, IJCAR 2012
News: Horn Clause Satisfiability mc(x) = x-10 if x > 100 mc(x) = mc(mc(x+11)) if x 100 assert (x ≤ 101 mc(x) = 91) mc() mc() mc() mc() mc() Solver finds solution for mc KrystofHoder & Nikolaj Bjorner, SAT 2012 Bjorner, McMillan, Rybalchenko, SMT 2012
SAT + Theory solvers x 0, y = x + 1, (y > 2 y < 1) Abstract (aka “naming” atoms) p1, p2, (p3 p4) p1 (x 0), p2 (y = x + 1), p3 (y> 2), p4 (y < 1) Basic Idea
SAT + Theory solvers x 0, y = x + 1, (y > 2 y < 1) Abstract (aka “naming” atoms) p1 (x 0), p2 (y = x + 1), p3 (y> 2), p4 (y < 1) p1, p2, (p3 p4) SAT Solver Basic Idea
SAT + Theory solvers x 0, y = x + 1, (y > 2 y < 1) Abstract (aka “naming” atoms) p1 (x 0), p2 (y = x + 1), p3 (y> 2), p4 (y < 1) p1, p2, (p3 p4) Assignment p1, p2, p3, p4 SAT Solver Basic Idea
SAT + Theory solvers x 0, y = x + 1, (y > 2 y < 1) Abstract (aka “naming” atoms) p1 (x 0), p2 (y = x + 1), p3 (y> 2), p4 (y < 1) p1, p2, (p3 p4) Assignment p1, p2, p3, p4 SAT Solver x 0, y = x + 1, (y> 2), y < 1 Basic Idea
SAT + Theory solvers x 0, y = x + 1, (y > 2 y < 1) Abstract (aka “naming” atoms) p1 (x 0), p2 (y = x + 1), p3 (y> 2), p4 (y < 1) p1, p2, (p3 p4) Assignment p1, p2, p3, p4 SAT Solver x 0, y = x + 1, (y> 2), y < 1 Theory Solver Unsatisfiable x 0, y = x + 1, y < 1 Basic Idea
SAT + Theory solvers x 0, y = x + 1, (y > 2 y < 1) Abstract (aka “naming” atoms) p1 (x 0), p2 (y = x + 1), p3 (y> 2), p4 (y < 1) p1, p2, (p3 p4) Assignment p1, p2, p3, p4 SAT Solver x 0, y = x + 1, (y> 2), y < 1 Theory Solver New Lemma p1p2p4 Unsatisfiable x 0, y = x + 1, y < 1 Basic Idea
SAT + Theory solvers Theory Solver New Lemma p1p2p4 Unsatisfiable x 0, y = x + 1, y < 1 AKA Theory conflict
Resolution Formula must be in CNF Resolution rule: Example: The result of resolution is the resolvent(clause). Original clauses are kept (not deleted). Duplicate literals are deleted from the resolvent. Note: No branching. Termination: Only finite number of possible derived clauses.
Unit & Input Resolution Unit resolution: (is subsumed by Input resolution: ( member of input F). Exercise: Set of clauses F: F has an input refutation iffF has a unit refutation.
DPLL DPLL: David Putnam Logeman Loveland = Unit resolution + split rule. split unit Ingredient of most efficient SAT solvers
Pure Literals A literal is pure if only occurs positively or negatively.
DPLL Guessing • p | p q, q r p, q | p q, q r
DPLL Deducing • p | p q, p s p, s| p q, p s
DPLL Backtracking • p, s, q | p q, s q, p q p, s | p q, s q, p q
Modern DPLL • Non-chronological backtracking (backjumping) • Lemma learning and • Efficient indexing (two-watch literal) • …
CDCL – Conflict Directed Clause Learning Lemma learning • t, p, q, s| t p q, q s, p s • t, p, q, s | t p q, q s, p s |p s • t, p, q, s | t p q, q s, p s |p q • t, p, q, s | t p q, q s, p s |p t
Core Engine in Z3: Modern DPLL/CDCL “It took me a year to understand the Mini-SAT FUIP code” Mate Soos to NiklasSörenson over ice-cream in Trento Model Proof We will nowmotivate the CDCL algorithm as a cooperative procedure between model and proof search Conflict Resolution [Nieuwenhuis, Oliveras, Tinelli J.ACM 06] customized
The Farkas Lemma Dichotomy There is an such that: There is a such that: For every matrix , vector it is the case that either (1) or (2) holds (and not both).
A Dichotomy of Models and Proofs There is a model M such that There is a proof such that For every formula F (set of clauses) it is the case that either (1) or (2) holds (and not both).
A Dichotomy of Models and Proofs There is such that There is and proof such that For every formula F (set of clauses) and partial model it is the case that either (1) or (2) holds (and not both).
A Dichotomy of Models and Proofs There is such that There isand proof such that Given can it be extended to ’ to satisfy (1)? If not, find subset to establish (2). (that is inconsistent with F)
A Dichotomy of Models and Proofs Corollary: If then it is not possible to extend to satisfy Corollary: If then - for some (or contains ) - for every , where - , - it is not possible to extend to satisfy
CDCL Search – Data structures Partial Model: Sequenceof literals Decision lits: case splits Propagation lits: only one case makes sense. Formula: set of clauses Proof: Implicit Consequences added to F Invariant: For state : Invariant: For states and where :
CDCL steps is a sufficient explanation why is not a model of
CDCL steps Recall Corollary: If then - for some (or contains ) - for every , where - , - it is not possible to extend to satisfy is a sufficientand earlier explanation why is not a model of
CDCL steps • is a sufficientexplanation why is not a model of • Prefixes of that contain cannot become a model of • FUIPFirst Unique Implication Pointstrategy when # of decision literals in is minimal. • Why is FUIP better? • Minimizes # of backtracking points before learned fact • What if implies negation of removed backtracking point? • We would forget the learned fact during backjumping. • … only to then re-learn it.
CDCL steps Re-use proof step for later: build DAG proof instead of TREE proof
CDCL steps • Don’t forget to forget: • Learned clauses could turn out to be useless. • They could hog resources • Blocked Clause Elimination: • - Remove clauses that will not be used in proofs
CDCL steps Avoid getting trapped in one part of search space [Reluctant doubling sequence: Luby, Sinclair, Zuckerman, IPL 47] Generating function [fasc6a draft chapter on SAT]
Modern DPLL - tuning • Restart frequency • Why is restarting good? • Efficient replay trick for frequent restart • Which variable to split on • Which branch to explore first • Which lemmas to learn • Blocked clause elimination • Cache binary propagations • This is just scratching the surface
Connexion au compte
Connectez-vous pour publier votre contenu sur SlideServe.