1 MVD 2010 University of Iowa New York University Comparing Proof Systems for Linear Real Arithmetic Using LFSC Andrew Reynolds September 17, 2010.

Slides:



Advertisements
Similar presentations
SMELS: Sat Modulo Equality with Lazy Superposition Christopher Lynch – Clarkson Duc-Khanh Tran - MPI.
Advertisements

Demand-driven inference of loop invariants in a theorem prover
The Model Evolution Calculus with Built-in Theories Peter Baumgartner MPI Informatik, Saarbrücken
Static and User-Extensible Proof Checking Antonis StampoulisZhong Shao Yale University POPL 2012.
Satisfiability Modulo Theories (An introduction)
SMT Solvers (an extension of SAT) Kenneth Roe. Slide thanks to C. Barrett & S. A. Seshia, ICCAD 2009 Tutorial 2 Boolean Satisfiability (SAT) ⋁ ⋀ ¬ ⋁ ⋀
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
A.Darbari¹, B. Fischer², J. Marques-Silva³ ¹ARM, Cambridge ²University of Southampton ³University College Dublin Industrial-Strength.
March 4, 2005Susmit Sarkar 1 A Cost-Effective Foundational Certified Code System Susmit Sarkar Thesis Proposal.
Logic.
Interpolants from Z3 proofs Ken McMillan Microsoft Research TexPoint fonts used in EMF: A A A A A.
Panel on Decision Procedures Panel on Decision Procedures Randal E. Bryant Lintao Zhang Nils Klarlund Harald Ruess Sergey Berezin Rajeev Joshi.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
Proof translation from CVC3 to Hol light Yeting Ge Acsys Mar 5, 2008.
PROOF TRANSLATION AND SMT LIB CERTIFICATION Yeting Ge Clark Barrett SMT 2008 July 7 Princeton.
Plan for today Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Interpolants [Craig 1957] G(y,z) F(x,y)
1 Satisfiability Modulo Theories Sinan Hanay. 2 Boolean Satisfiability (SAT) Is there an assignment to the p 1, p 2, …, p n variables such that  evaluates.
Proof-system search ( ` ) Interpretation search ( ² ) Main search strategy DPLL Backtracking Incremental SAT Natural deduction Sequents Resolution Main.
SAT-Based Decision Procedures for Subsets of First-Order Logic
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
1 A propositional world Ofer Strichman School of Computer Science, Carnegie Mellon University.
1 A Combination Method for Generating Interpolants by G. Yorsh and M. Masuvathi Presentation by: Emilia Katz.
On Solving Presburger and Linear Arithmetic with SAT Ofer Strichman Carnegie Mellon University.
1 First order theories. 2 Satisfiability The classic SAT problem: given a propositional formula , is  satisfiable ? Example:  Let x 1,x 2 be propositional.
Finding Minimum Type Error Sources Zvonimir Pavlinovic Tim King Thomas Wies New York University.
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
Deciding a Combination of Theories - Decision Procedure - Changki pswlab Combination of Theories Daniel Kroening, Ofer Strichman Presented by Changki.
Logics for Data and Knowledge Representation Propositional Logic: Reasoning Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto.
On Bridging Simulation and Formal Verification Eugene Goldberg Cadence Research Labs (USA) VMCAI-2008, San Francisco, USA.
Quantified Formulas - Decision Procedure Daniel Kroening, Ofer Strichman Presented by Changki Hong 07 NOV 08.
CMU, Oct 4 DPLL-based Checkers for Satisfiability Modulo Theories Cesare Tinelli Department of Computer Science The University of Iowa Joint work with.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
Introduction to Satisfiability Modulo Theories
BIT-VECTOR REWRITING WITH AUTOMATIC RULE GENERATION Alexander Nadel Intel Haifa, Israel CAV 2014 Vienna, Austria July 22 th, 2014.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Automated tactics for separation logic VeriML Reconstruct Z3 Proof Safe incremental type checker Certifying code transformation Proof carrying hardware.
Symbolic and Concolic Execution of Programs Information Security, CS 526 Omar Chowdhury 10/7/2015Information Security, CS 5261.
Nikolaj Bjørner Microsoft Research DTU Winter course January 2 nd 2012 Organized by Flemming Nielson & Hanne Riis Nielson.
1 First order theories (Chapter 1, Sections 1.4 – 1.5) From the slides for the book “Decision procedures” by D.Kroening and O.Strichman.
Theory-Aided Model Checking of Concurrent Transition Systems Guy Katz, Clark Barrett, David Harel New York University Weizmann Institute of Science.
SAFE KERNEL EXTENSIONS WITHOUT RUN-TIME CHECKING George C. Necula Peter Lee Carnegie Mellon U.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding Combined Theories.
Finding Conflicting Instances of Quantified Formulas in SMT Andrew Reynolds Cesare Tinelli Leonardo De Moura July 18, 2014.
Selected Decision Procedures and Techniques for SMT More on combination – theories sharing sets – convex theory Un-interpreted function symbols (quantifier-free.
1 A framework for eager encoding Daniel Kroening ETH, Switzerland Ofer Strichman Technion, Israel (Executive summary) (submitted to: Formal Aspects of.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
Computer Systems Laboratory Stanford University Clark W. Barrett David L. Dill Aaron Stump A Framework for Cooperating Decision Procedures.
Certifying and Synthesizing Membership Equational Proofs Patrick Lincoln (SRI) joint work with Steven Eker (SRI), Jose Meseguer (Urbana) and Grigore Rosu.
Satisfiability Modulo Theories and DPLL(T) Andrew Reynolds March 18, 2015.
Chapter 7. Propositional and Predicate Logic
Computability and Complexity
Lazy Proofs for DPLL(T)-Based SMT Solvers
Solving Linear Arithmetic with SAT-based MC
Jared Davis CyberTrust Meeting March 1, 2006
Lecture 2 Propositional Logic
Satisfiability Modulo Theories
Propositional Calculus: Boolean Algebra and Simplification
Complexity 6-1 The Class P Complexity Andrei Bulatov.
Resolution Proofs for Combinational Equivalence
Canonical Computation without Canonical Data Structure
Chapter 7. Propositional and Predicate Logic
Canonical Computation without Canonical Data Structure
The SMT-LIB Initiative
Invertibility Conditions for Floating Point Formulas
Presentation transcript:

1 MVD 2010 University of Iowa New York University Comparing Proof Systems for Linear Real Arithmetic Using LFSC Andrew Reynolds September 17, 2010

2 University of Iowa Andrew Reynolds, Cesare Tinelli, Aaron Stump New York University Liana Hadarean, Yeting Ge, Clark Barrett University of Iowa New York University Acknowledgements MVD 2010

3 SMT solvers are difficult to verify – Code may be complex (10k+ loc) – Code is subject to change Alternatively, solvers can justify answers with proofs There is need for third party certification – Must ensure that proof is valid University of Iowa New York University Motivation for this work MVD 2010

4 For “satisfiable”: – Provide a satisfying assignment For “unsatisfiable”: – Provide a proof of unsatisfiability University of Iowa New York University Certifying SMT Solver’s Answers MVD 2010

5 Proof ValidProof Invalid..... sat unsat University of Iowa New York University Architecture Solver Proof Checker AssignmentProof of Unsatisfiability MVD 2010

6 Flexibility – Different solvers have different needs – Solvers can change over time – Many different theories Speed – Practical for use with solvers – Measured time against solving time University of Iowa New York University Proof Checking: Challenges MVD 2010

7 Certification of proofs in QF_LRA – Use LFSC for proof checking Experiments with QF_LRA proof systems – Examine declarative vs computational – Use CVC3 for proof generation University of Iowa New York University Overview MVD 2010

8 Edinburgh Logical Framework (LF) [Harper et al 1993] – Based on type theory – Meta framework for defining logical systems LF with side conditions (LFSC) [Stump et al 2008] – Meta-logical proof checker – Side Conditions – Support for Integer, Rational arithmetic – If proof term type-checks, Then proof is considered valid University of Iowa New York University Proof Checking in LFSC MVD 2010

9 (declare and_intro (! f1 formula (! f2 formula (! p1 (proof f1) (! p2 (proof f2) (proof (and f1 f2))))))) University of Iowa New York University Example proof rule MVD 2010

10 (declare ineq_contradiction (! p poly (! p1 (proof (> p 0)) (! s (^ (is_positive (simplify p)) ff) false)))) University of Iowa New York University Proof rule with side condition MVD 2010

11 Side conditions – Written in simply typed functional language – Most are concise (less than 10 loc) University of Iowa New York University Proof rule with side condition MVD 2010

12 (program simplify ((p poly)) real (match p ((poly c' l') (match (is_zero l') (tt c') (ff fail))))) … (^ (is_positive (simplify p)) ff) University of Iowa New York University Proof rule with side condition MVD 2010

13 Mirror high-performance solver inferences More Efficient – Smaller Proof Size – Faster Checking time Amount can be fine tuned Fully DeclarativeFully Computational University of Iowa New York University Why side conditions? MVD 2010

14 Incremental Checking – Proof checking occurs while reading proof Deferred Resolution – Efficient to check boolean inferences Compiled Side Condition Code – Compiled instead of interpreted code University of Iowa New York University LFSC Optimizations [Oe et al 2009] MVD 2010

15 Demonstrate capabilities of LFSC – Flexibility in: Handling new logic (QF_LRA) Defining multiple proof systems for this logic Developed LFSC signatures for QF_LRA Instrumented CVC3 to produce proofs in system Comparative analysis University of Iowa New York University Contributions of this work [2010] MVD 2010

16 Refutation based prover for SMT Support for many different logics – Integer/Real, Arrays, Data types, etc. – Support for quantifiers Proof generation – Native format University of Iowa New York University CVC3 MVD 2010

17 Did not modify CVC3 core Translated CVC3 Proofs to LFSC – Opportunity to test different translations unsat sat ….. University of Iowa New York University CVC3 to LFSC proofs CVC3 Proof of Unsatisfiability LFSC Proof of Unsatisfiability LFSC CVC3 MVD 2010

18 Literal translation (Lit) – Mimics the structure of CVC3 proofs Liberal translation (Lib) – Compacts portions of proof to side conditions – Limits compaction to QF_LRA theory lemmas Aggressive Liberal translation (Lib-A) – Extends compaction to equality reasoning proof fragments DeclarativeComputational LitLibLib-A University of Iowa New York University Approaches MVD 2010

19 Proof derives false from: – Input formulas – Theory Lemmas i.e. ( x+1 > x ) Proof Rules – Many rules (100+) – Rewrite axioms – Mostly Declarative University of Iowa New York University CVC3 Proofs MVD 2010

20 Theory lemmas in QF_LRA – Ex:  ( 2x>2y )   ( y>x+5 ) – Proof of unsatisfiability from assumptions University of Iowa New York University Compaction from CVC3 to LFSC MVD 2010

21 Theory lemmas in QF_LRA – Ex:  ( 2x>2y )   ( y>x+5 ) – Can be done by finding set of coefficients 2x > 2y y > x + 5 ½* 1 * x + y > y + x > 5  University of Iowa New York University Compaction from CVC3 to LFSC MVD 2010

22 LFSC proofs use polynomial formulas – Ex: Instead of 2x > 2y, (2x – 2y)  > 0 Proof of theory lemmas are always of the form: Intuition: For each CVC3 rule, determine corresponding coefficient to multiply each premise by to obtain contradictory polynomial c p University of Iowa New York University Compaction from CVC3 to LFSC MVD 2010

23 CVC3 rules mapped to polynomial operations Applies to all proof rules for theory lemmas – However, not applicable to boolean portions Compaction occurs because: – Condense redundant operations – Eliminate trivial subproofs, such as those involving only rewrite axioms University of Iowa New York University Compaction from CVC3 to LFSC MVD 2010

24 Theory lemma example: 2x > 2y y > x + 5 ½* 1 * x + y > y + x > 5  University of Iowa New York University Proof Compaction Example MVD 2010

25 Map to operations on polynomials University of Iowa New York University Proof Compaction step 1 MVD 2010

26 Remove redundant operations University of Iowa New York University Proof Compaction step 2 MVD 2010

27 Attempt to compact all theory inferences When conversion gets stuck, Switch to literal translation University of Iowa New York University Aggressive Liberal translation Compact Translation Literal Translation MVD 2010

28 Tested 201 unsatisfiable QF_LRA/QF_RDL benchmarks – Each solved ≤ 900s by CVC3 – Proof generation ≤ 900s Configurations – CVC3 native proof (CVC3) – Literal (Lit) – Liberal (Lib) – Aggressive Liberal (Lib-A) University of Iowa New York University Experimental results MVD 2010

29 University of Iowa New York University Proof size CVC3 vs Lit MVD 2010

30 Lit vs Lib University of Iowa New York University Proof size Lit vs Lib-A MVD 2010

31 University of Iowa New York University Proof checking time Lit vs LibLit vs Lib-A MVD 2010

32 Solving vs LitSolving vs Lib University of Iowa New York University Proof checking vs Solving MVD 2010

33 Theory content 8.3% on average For theory heavy benchmarks – Lib compresses proof sizes 32% – Lib-A compresses proofs sizes 35% (1% overhead on non-theory benchmarks) Lib is the most effective method overall with an average compression of 17% University of Iowa New York University Analysis MVD 2010

34 When isolated to theory component – Lib compresses proof sizes factor of 5.34 – Lib improves proof checking factor of 2.33 Overall, Lib proof checking is factor of 9.4 faster than solving time University of Iowa New York University Analysis continued MVD 2010

35 LFSC is a pragmatic approach to proof checking – Efficient Checking times fast w.r.t. solving – Trustworthy Small/not complex side condition code Clear definition of trusted components – Flexible Signature is separate from checker Effective for different proof systems University of Iowa New York University Conclusions MVD 2010

36 Integration with CVC4 – New decision procedures – New logics (arrays etc.) Public release of LFSC – Tool for signature creation – LFSC proof generation library Interpolant generating proofs University of Iowa New York University Future work MVD 2010

37 University of Iowa New York University Questions? MVD 2010