real world verification
play

Real World Verification Andr Platzer 1 Jan-David Quesel 2 Philipp - PowerPoint PPT Presentation

Real World Verification Andr Platzer 1 Jan-David Quesel 2 Philipp Rmmer 3 1 Carnegie Mellon University, Computer Science Department 2 University of Oldenburg, Department of Computing Science 3 Oxford University Computing Laboratory 22nd


  1. Real World Verification André Platzer 1 Jan-David Quesel 2 Philipp Rümmer 3 1 Carnegie Mellon University, Computer Science Department 2 University of Oldenburg, Department of Computing Science 3 Oxford University Computing Laboratory 22nd International Conference on Automated Deduction 7 August 2009 1 / 18

  2. Outline Motivation, real world applications Survey of real world methods New procedure: Gröbner bases for the Real Nullstellensatz decides quantifier-free real arithmetic Empirical evaluation: Comparison of various decision procedures for real arithmetic Conclusion 2 / 18

  3. Motivation + applications Verification in the KeYmaera system: Hybrid systems Mathematical algorithms in real or floating-point arithmetic Geometric problems ¯ ϑ y 2 ̟ ω e x 2 d x 1 y 1 3 / 18

  4. KeYmaera 4 / 18

  5. Overall verification approach 5 / 18

  6. Overall verification approach 5 / 18

  7. Short history of symbolic methods in real arithmetic 1930 First quantifier elimination procedure by Tarski (Non-elementary) 1965 Buchberger introduces Gröbner bases 1973 Real Nullstellensatz and Positivstellensatz by Stengle 1975 Cylindrical algebraic decomposition (CAD) by Collins (Doubly exponential) 1983 Cohen-Hörmander elimination procedure 2003 Parrilo introduces semidefinite programming for the Posi- tivstellensatz (Later refined by Harrison) 2005 Tiwari’s polynomial simplex method 6 / 18

  8. Short history of symbolic methods in real arithmetic 1930 First quantifier elimination procedure by Tarski (Non-elementary) 1965 Buchberger introduces Gröbner bases 1973 Real Nullstellensatz and Positivstellensatz by Stengle 1975 Cylindrical algebraic decomposition (CAD) by Collins (Doubly exponential) 1983 Cohen-Hörmander elimination procedure 2003 Parrilo introduces semidefinite programming for the Posi- tivstellensatz (Later refined by Harrison) 2005 Tiwari’s polynomial simplex method 6 / 18

  9. Gröbner bases for quantifier-free real arithmetic 7 / 18

  10. Gröbner bases for quantifier-free real arithmetic Inequalities and disequations can be eliminated: f � = g ≡ ∃ z . ( f − g ) z = 1 ∃ z . f − g = z 2 f ≥ g ≡ ∃ z . ( f − g ) z 2 = 1 f > g ≡ 7 / 18

  11. Gröbner bases for quantifier-free real arithmetic Goal: prove unsatisfiability of: � t i = 0 i 7 / 18

  12. Gröbner bases for quantifier-free real arithmetic Witnesses for unsatisfiability: � � � � s i t i = 1 = ⇒ t i = 0 unsatisfiable i i How to determine coefficients s i ? 7 / 18

  13. Gröbner bases for quantifier-free real arithmetic Witnesses for unsatisfiability: � � � � s i t i = 1 = ⇒ t i = 0 unsatisfiable i i How to determine coefficients s i ? Need some more notation: Ideal generated by { t 1 , . . . , t n } ⊆ ◗ [ X 1 , . . . , X n ] : � � � ( t 1 , . . . , t n ) = s i t i | s 1 , . . . , s n ∈ ◗ [ X 1 , . . . , X n ] i 7 / 18

  14. Gröbner bases for quantifier-free real arithmetic Gröbner bases to solve the ideal membership problem: Monomial ordering ≺ : admissible total well-founded ordering on monomials Reduction of a polynomial s w.r.t. B = { t 1 , . . . , t n } : s ≻ s + u 1 t i 1 ≻ s + u 1 t i 1 + u 2 t i 2 ≻ · · · ≻ red B s B is called Gröbner basis if red B s = 0 for all s ∈ ( B ) 7 / 18

  15. Gröbner bases for quantifier-free real arithmetic Gröbner bases to solve the ideal membership problem: Monomial ordering ≺ : admissible total well-founded ordering on monomials Reduction of a polynomial s w.r.t. B = { t 1 , . . . , t n } : s ≻ s + u 1 t i 1 ≻ s + u 1 t i 1 + u 2 t i 2 ≻ · · · ≻ red B s B is called Gröbner basis if red B s = 0 for all s ∈ ( B ) 7 / 18

  16. The Nullstellensatz Method is sound and complete over complex numbers: Theorem (Hilbert’s Nullstellensatz) � ¬∃ x ∈ ❈ n : t i ( x ) = 0 iff 1 ∈ ( t 1 , . . . , t n ) i ⇒ Method cannot be complete over reals: x 2 + 1 = 0 e.g. is unsatisfiable ( x 2 + 1 ) but does not contain a unit We present an extension that is complete over the reals 8 / 18

  17. The Real Nullstellensatz Theorem (Stengle’s Real Nullstellensatz, 1973) � ¬∃ x ∈ ❘ n : t i ( x ) = 0 iff i ∃ s 1 , . . . , s k ∈ ❘ [ X 1 , . . . , X m ] : 1 + s 2 1 + · · · + s 2 k ∈ ( t 1 , . . . , t n ) 9 / 18

  18. The Real Nullstellensatz Theorem (Stengle’s Real Nullstellensatz, 1973) � ¬∃ x ∈ ❘ n : t i ( x ) = 0 iff i ∃ s 1 , . . . , s k ∈ ❘ [ X 1 , . . . , X m ] : 1 + s 2 1 + · · · + s 2 k ∈ ( t 1 , . . . , t n ) 9 / 18

  19. The Real Nullstellensatz Theorem (Stengle’s Real Nullstellensatz, 1973) � ¬∃ x ∈ ❘ n : t i ( x ) = 0 iff i ∃ s 1 , . . . , s k ∈ ❘ [ X 1 , . . . , X m ] : 1 + s 2 1 + · · · + s 2 k ∈ ( t 1 , . . . , t n ) How to pick sum of squares s 2 1 + · · · + s 2 n ? 9 / 18

  20. The Real Nullstellensatz Observation: [Parrilo, 2003] Sums of squares can be represented as scalar products E.g. � � t � � � � x 2 − 1 x 2 x 2 − 2 xy + y 2 = x 2 + ( x − y ) 2 = y − 1 1 y 9 / 18

  21. The Real Nullstellensatz Lemma Every sum of squares can be represented as p t Xp, where p ∈ ❘ [ X 1 , . . . , X m ] k and X is positive semi-definite (and vice versa). Matrix X is called positive semi-definite if X is symmetric x t Xx ≥ 0 for all x ∈ ❘ n . 9 / 18

  22. The Real Nullstellensatz Lemma Every sum of squares can be represented as p t Xp, where p ∈ ❘ [ X 1 , . . . , X m ] k and X is positive semi-definite (and vice versa). Matrix X is called positive semi-definite if X is symmetric x t Xx ≥ 0 for all x ∈ ❘ n . 9 / 18

  23. The Real Nullstellensatz Constraint solving by semidefinite programming (convex optimisation): Has been used successfully in combination with Positivstellensatz [Parrilo, 2003; Harrison, 2007] 9 / 18

  24. Example Prove unsatisfiability of: x ≥ y , z ≥ 0 , yz > xz 10 / 18

  25. Example Prove unsatisfiability of: x ≥ y , z ≥ 0 , yz > xz Translated to system of equations: x − y = a 2 , z = b 2 , ( yz − xz ) c 2 = 1 10 / 18

  26. Example Prove unsatisfiability of: x ≥ y , z ≥ 0 , yz > xz Translated to system of equations: x − y = a 2 , z = b 2 , ( yz − xz ) c 2 = 1 Corresponding Gröbner basis: B = { a 2 − x + y , b 2 − z , xzc 2 − yzc 2 + 1 } 10 / 18

  27. Example Prove unsatisfiability of: x ≥ y , z ≥ 0 , yz > xz Translated to system of equations: x − y = a 2 , z = b 2 , ( yz − xz ) c 2 = 1 Corresponding Gröbner basis: B = { a 2 − x + y , b 2 − z , xzc 2 − yzc 2 + 1 } Pick basis monomials and symmetric matrix Q :     1 q 1 , 1 q 1 , 2 q 1 , 3  a 2    p = Q = q 1 , 2 q 2 , 2 q 2 , 3     abc q 1 , 3 q 2 , 3 q 3 , 3 p t Qp = q 1 , 1 1 2 + 2 q 1 , 2 a 2 + 2 q 1 , 3 abc + 2 q 2 , 3 a 3 bc + q 3 , 3 a 2 b 2 c 2 10 / 18

  28. Example (2) p t Qp = q 1 , 1 1 2 + 2 q 1 , 2 a 2 + 2 q 1 , 3 abc + 2 q 2 , 3 a 3 bc + q 3 , 3 a 2 b 2 c 2 11 / 18

  29. Example (2) p t Qp = q 1 , 1 1 2 + 2 q 1 , 2 a 2 + 2 q 1 , 3 abc + 2 q 2 , 3 a 3 bc + q 3 , 3 a 2 b 2 c 2 Reduce 1 + p t Qp w.r.t. B : red B ( 1 + p t Qp ) = 1 + q 1 , 1 − q 3 , 3 + 2 q 1 , 2 x − 2 q 1 , 2 y + 2 q 1 , 3 abc + 2 q 2 , 3 abcx − 2 q 2 , 3 abcy 11 / 18

  30. Example (2) p t Qp = q 1 , 1 1 2 + 2 q 1 , 2 a 2 + 2 q 1 , 3 abc + 2 q 2 , 3 a 3 bc + q 3 , 3 a 2 b 2 c 2 Reduce 1 + p t Qp w.r.t. B : red B ( 1 + p t Qp ) = 1 + q 1 , 1 − q 3 , 3 + 2 q 1 , 2 x − 2 q 1 , 2 y + 2 q 1 , 3 abc + 2 q 2 , 3 abcx − 2 q 2 , 3 abcy Set up semidefinite program red B ( 1 + p t Qp ) = 0: 1 + q 1 , 1 − q 3 , 3 = 0 − 2 q 1 , 2 = 0 2 q 2 , 3 = 0 2 q 1 , 2 = 0 2 q 1 , 3 = 0 − 2 q 2 , 3 = 0 11 / 18

  31. Example (2) p t Qp = q 1 , 1 1 2 + 2 q 1 , 2 a 2 + 2 q 1 , 3 abc + 2 q 2 , 3 a 3 bc + q 3 , 3 a 2 b 2 c 2 Reduce 1 + p t Qp w.r.t. B : red B ( 1 + p t Qp ) = 1 + q 1 , 1 − q 3 , 3 + 2 q 1 , 2 x − 2 q 1 , 2 y + 2 q 1 , 3 abc + 2 q 2 , 3 abcx − 2 q 2 , 3 abcy Set up semidefinite program red B ( 1 + p t Qp ) = 0: 1 + q 1 , 1 − q 3 , 3 = 0 − 2 q 1 , 2 = 0 2 q 2 , 3 = 0 2 q 1 , 2 = 0 2 q 1 , 3 = 0 − 2 q 2 , 3 = 0 Solve the program: q 3 , 3 = 1 and q i , j = 0 for all ( i , j ) � = ( 3 , 3 ) 1 + p t Qp = 1 + ( abc ) 2 ∈ ( B ) � �� � Witness for unsatisfiability 11 / 18

  32. Gröbner bases for the Real Nullstellensatz (GRN) Properties of the procedure Sound + complete method for quantifier-free real arithmetic Sums of squares as certificates (“proof producing”) Termination criteria can be given → decision procedure In practice: We enumerate basis monomials with ascending degree Numerical issues Existing solvers for semidefinite programming are numeric (we use CSDP) Solution: Solve program numerically, then round to exact solution [Harrison, 2007] 12 / 18

  33. Optimisations Pre-processing of Gröbner basis is a good idea: Rewriting with polynomials x + t Rewriting with polynomials x 2 − α 1 m 2 1 − · · · − α n m 2 n (with α i > 0) Elimination of polynomials xy − 1, x n + t Splitting polynomials α 1 m 2 1 + · · · + α n m 2 n ∈ B with α i > 0 13 / 18

Recommend


More recommend