polynomial invariants for affine programs
play

Polynomial Invariants for Affine Programs Ehud Hrushovski, Jol - PowerPoint PPT Presentation

Polynomial Invariants for Affine Programs Ehud Hrushovski, Jol Ouaknine, Amaury Pouly, James Worrell Max Planck Institute for Software Systems & Department of Computer Science, Oxford University & Mathematical Institute, Oxford


  1. Main result Theorem There is an algorithm which computes, for any given affine program over Q , its strongest polynomial inductive invariant. ◮ strongest polynomial invariant ⇐ ⇒ smallest algebraic set ◮ algebraic sets = finite � and � of polynomial equalities ◮ Thus our algorithm computes all polynomial relations that always hold among program variables at each program location, in all possible executions of the program ◮ We can represent this (usually infinite) set of relations using a finite basis of polynomial equalities 13 / 38

  2. At the edge of decidability x := M 1 x x := M 2 x S x := x 0 . . . x := M k x 14 / 38

  3. At the edge of decidability x := M 1 x x := M 2 x S x := x 0 . . . x := M k x Theorem (Markov 1947 * ) There is a fixed set of 6 × 6 integer matrices M 1 , . . . , M k such that the reachability problem “y is reachable from x 0 ?” is undecidable. * Original theorems about semigroups, reformulated with affine programs. 14 / 38

  4. At the edge of decidability x := M 1 x x := M 2 x S x := x 0 . . . x := M k x Theorem (Markov 1947 * ) There is a fixed set of 6 × 6 integer matrices M 1 , . . . , M k such that the reachability problem “y is reachable from x 0 ?” is undecidable. Theorem (Paterson 1970 * ) The mortality problem “ 0 is reachable from x 0 with M 1 , . . . , M k ?” is undecidable for 3 × 3 matrices. * Original theorems about semigroups, reformulated with affine programs. 14 / 38

  5. Tools ◮ Algebraic geometry ◮ Number theory ◮ Group theory 15 / 38

  6. Tools ◮ Algebraic geometry ◮ Number theory ◮ Group theory Theorem (Derksen, Jeandel and Koiran, 2004) There is an algorithm which computes, for any given affine program over Q using only invertible transformations, its strongest polynomial inductive invariant. 15 / 38

  7. Main contribution Theorem Given a finite set of rational square matrices of the same dimension, we can compute the Zariski closure of the semigroup that they generate. Corollary Given an affine program, we can compute for each location the ideal of all polynomial relations that hold at that location. 16 / 38

  8. Summary ◮ invariant = overapproximation of reachable states ◮ invariants allow verification of safety properties ◮ affine program: ◮ nondeterministic branching, no guards, affine assignments x := 3 x − 7 y + 1 f 2 1 2 f 3 y := ∗ f 5 3 Theorem There is an algorithm which computes, for any given affine program over Q , its strongest polynomial inductive invariant. 17 / 38

  9. Introduction to Algebraic Geometry (for computer scientists) Amaury Pouly Université de Paris, IRIF, CNRS 18 / 38

  10. Overview of this tutorial A very incomplete introduction to ◮ Polynomial ideals ◮ Affine varieties ◮ Zariski topology ◮ Constructible sets ◮ Regular maps And algorithmic aspects of the above topics. Everywhere K is a field, most of the time K = C . 19 / 38

  11. Motivating examples √ √ Solutions to x 2 + x = 1? − 1 2 + 1 5 , − 1 2 − 1 ◮ S = � � 5 2 2 x 2 + x 1 x 20 / 38

  12. Motivating examples √ � � Solutions to x 3 + x = 1? � 1 3 2 ◮ S = √ 108 + 12 93 − √ 6 3 108 + 12 93 x 3 + x 1 x 20 / 38

  13. Motivating examples Solutions to x 4 + x = 1? ◮ S = { no formula } ◮ 2 isolated real roots ◮ we can approximate them ◮ algebraic numbers: arithmetic and comparisons are decidable x 4 + x 1 x 20 / 38

  14. Motivating examples ( x , 1 ◮ S = � � Solutions to xy = 1? x ) : x � = 0 Although we have a formula, the geometry is more interesting. y S x 20 / 38

  15. Motivating examples Solutions to (( x − 1 ) 2 + ( y − 1 ) 2 )( x 4 + x − 1 ) = 0? ◮ S = { no formula } y No formula in general, but geometry: ◮ one isolated point ◮ two infinite curves S Algebraic Geometry is about manipulating those objects, without x having explicit solutions. 20 / 38

  16. What is Algebraic Geometry? Study systems of multivariate polynomial equations using abstract algebraic techniques, with applications to geometry. Examples x 2 + y 2 + z 2 − 1 = 0 sphere in R 3 � 21 / 38

  17. What is Algebraic Geometry? Study systems of multivariate polynomial equations using abstract algebraic techniques, with applications to geometry. Examples x 2 + y 2 + z 2 − 1 = 0 sphere in R 3 � x 2 + y 2 + z 2 = 1 ∧ x + y + z = 1 “sliced” sphere in R 3 � 21 / 38

  18. What is Algebraic Geometry? Study systems of multivariate polynomial equations using abstract algebraic techniques, with applications to geometry. Examples x 2 + y 2 + z 2 − 1 = 0 sphere in R 3 � x 2 + y 2 + z 2 = 1 ∧ x + y + z = 1 “sliced” sphere in R 3 � x 2 + 1 = 0 ∅ in R � 21 / 38

  19. What is Algebraic Geometry? Study systems of multivariate polynomial equations using abstract algebraic techniques, with applications to geometry. Examples x 2 + y 2 + z 2 − 1 = 0 sphere in R 3 � x 2 + y 2 + z 2 = 1 ∧ x + y + z = 1 “sliced” sphere in R 3 � x 2 + 1 = 0 ∅ in R � x 2 + 1 = 0 { i , − i } in C � 21 / 38

  20. What is Algebraic Geometry? Study systems of multivariate polynomial equations using abstract algebraic techniques, with applications to geometry. Examples x 2 + y 2 + z 2 − 1 = 0 sphere in R 3 � x 2 + y 2 + z 2 = 1 ∧ x + y + z = 1 “sliced” sphere in R 3 � x 2 + 1 = 0 ∅ in R � x 2 + 1 = 0 { i , − i } in C � The field K is very important: ◮ real algebraic geometry: more “intuitive” but more difficult, really requires the study of semi-algebraic sets ◮ mainstream algebraic geometry: K is algebraically closed † , e.g. C † K is algebraically closed if every non-constant polynomial has a root in K . 21 / 38

  21. Polynomial ideals A set of polynomials I ⊆ K [ x 1 , . . . , x n ] is an ideal if ◮ ∀ f , g ∈ I . f + g ∈ I ◮ I is stable under addition ◮ ∀ f ∈ I . ∀ g ∈ K [ x 1 , . . . , x n ] : fg , gf ∈ I ◮ I absorbs multiplication 22 / 38

  22. Polynomial ideals A set of polynomials I ⊆ K [ x 1 , . . . , x n ] is an ideal if ◮ ∀ f , g ∈ I . f + g ∈ I ◮ I is stable under addition ◮ ∀ f ∈ I . ∀ g ∈ K [ x 1 , . . . , x n ] : fg , gf ∈ I ◮ I absorbs multiplication Example: I = { p ∈ K [ x ] : p ( 1 ) = 0 } ◮ if f ( 1 ) = g ( 1 ) = 0 then ( f + g )( 1 ) = f ( 1 ) + g ( 1 ) = 0 ◮ if f ( 1 ) = 0 then for any g ∈ K [ x ] , ( fg )( 1 ) = f ( 1 ) g ( 1 ) = 0 x 2 − x x − 1 x − x 3 + x 22 / 38

  23. Polynomial ideals A set of polynomials I ⊆ K [ x 1 , . . . , x n ] is an ideal if ◮ ∀ f , g ∈ I . f + g ∈ I ◮ I is stable under addition ◮ ∀ f ∈ I . ∀ g ∈ K [ x 1 , . . . , x n ] : fg , gf ∈ I ◮ I absorbs multiplication Two main ways to create ideals: ◮ The vanishing polynomials on S ⊆ K n is an ideal: I ( S ) := { f ∈ K [ x 1 , . . . , x n ] : ∀ x ∈ S . f ( x ) = 0 } Remark: I is inclusion reversing, S ⊆ S ′ ⇒ I ( S ) ⊇ I ( S ′ ) 22 / 38

  24. Polynomial ideals A set of polynomials I ⊆ K [ x 1 , . . . , x n ] is an ideal if ◮ ∀ f , g ∈ I . f + g ∈ I ◮ I is stable under addition ◮ ∀ f ∈ I . ∀ g ∈ K [ x 1 , . . . , x n ] : fg , gf ∈ I ◮ I absorbs multiplication Two main ways to create ideals: ◮ The vanishing polynomials on S ⊆ K n is an ideal: I ( S ) := { f ∈ K [ x 1 , . . . , x n ] : ∀ x ∈ S . f ( x ) = 0 } Remark: I is inclusion reversing, S ⊆ S ′ ⇒ I ( S ) ⊇ I ( S ′ ) ◮ The ideal generated by f 1 , . . . , f k ∈ K [ x 1 , . . . , x n ] is � f 1 , . . . , f k � := smallest ideal containing f 1 , . . . , f k := { p 1 f 1 + · · · + p k f k : p 1 , . . . , p k ∈ K [ x 1 , . . . , x n ] } 22 / 38

  25. Polynomial ideals A set of polynomials I ⊆ K [ x 1 , . . . , x n ] is an ideal if ◮ ∀ f , g ∈ I . f + g ∈ I ◮ I is stable under addition ◮ ∀ f ∈ I . ∀ g ∈ K [ x 1 , . . . , x n ] : fg , gf ∈ I ◮ I absorbs multiplication Two main ways to create ideals: ◮ The vanishing polynomials on S ⊆ K n is an ideal: I ( S ) := { f ∈ K [ x 1 , . . . , x n ] : ∀ x ∈ S . f ( x ) = 0 } Remark: I is inclusion reversing, S ⊆ S ′ ⇒ I ( S ) ⊇ I ( S ′ ) ◮ The ideal generated by f 1 , . . . , f k ∈ K [ x 1 , . . . , x n ] is � f 1 , . . . , f k � := smallest ideal containing f 1 , . . . , f k := { p 1 f 1 + · · · + p k f k : p 1 , . . . , p k ∈ K [ x 1 , . . . , x n ] } Example: { p ∈ K [ x ] : p ( 1 ) = 0 } = I ( { 1 } ) = � x − 1 � . 22 / 38

  26. Polynomial ideals: important facts A set of polynomials I ⊆ K [ x 1 , . . . , x n ] is an ideal if ◮ ∀ f , g ∈ I : f + g ∈ I ◮ I is stable under addition ◮ ∀ f ∈ I , ∀ g ∈ K [ x 1 , . . . , x n ] : fg , gf ∈ I ◮ I absorbs multiplication Theorem (Hilbert’s basis theorem) For any field K , K [ x 1 , . . . , x n ] is Noetherian: any chain of ideals I 1 ⊆ I 2 ⊆ I 3 ⊆ · · · eventually stabilizes: ∃ k ∈ N such that I k = I k + 1 = I k + 2 = · · · . 23 / 38

  27. Polynomial ideals: important facts A set of polynomials I ⊆ K [ x 1 , . . . , x n ] is an ideal if ◮ ∀ f , g ∈ I : f + g ∈ I ◮ I is stable under addition ◮ ∀ f ∈ I , ∀ g ∈ K [ x 1 , . . . , x n ] : fg , gf ∈ I ◮ I absorbs multiplication Theorem (Hilbert’s basis theorem) For any field K , K [ x 1 , . . . , x n ] is Noetherian: any chain of ideals I 1 ⊆ I 2 ⊆ I 3 ⊆ · · · eventually stabilizes: ∃ k ∈ N such that I k = I k + 1 = I k + 2 = · · · . Corollary Every polynomial ideal I ⊆ K [ x 1 , . . . , x n ] is finitely generated: ∃ f 1 , . . . , f k ∈ K [ x 1 , . . . , x n ] such that I = � f 1 , . . . , f k � . We can represent ideals by a finite set of generators. 23 / 38

  28. Polynomial ideals: important operations A set of polynomials I ⊆ K [ x 1 , . . . , x n ] is an ideal if ◮ ∀ f , g ∈ I . f + g ∈ I ◮ I is stable under addition ◮ ∀ f ∈ I , ∀ g ∈ K [ x 1 , . . . , x n ] : fg , gf ∈ I ◮ I absorbs multiplication Once we have some ideals, we can build new ones from them by 24 / 38

  29. Polynomial ideals: important operations A set of polynomials I ⊆ K [ x 1 , . . . , x n ] is an ideal if ◮ ∀ f , g ∈ I . f + g ∈ I ◮ I is stable under addition ◮ ∀ f ∈ I , ∀ g ∈ K [ x 1 , . . . , x n ] : fg , gf ∈ I ◮ I absorbs multiplication Once we have some ideals, we can build new ones from them by ◮ addition: I + J := { f + g : f ∈ I , g ∈ J } 24 / 38

  30. Polynomial ideals: important operations A set of polynomials I ⊆ K [ x 1 , . . . , x n ] is an ideal if ◮ ∀ f , g ∈ I . f + g ∈ I ◮ I is stable under addition ◮ ∀ f ∈ I , ∀ g ∈ K [ x 1 , . . . , x n ] : fg , gf ∈ I ◮ I absorbs multiplication Once we have some ideals, we can build new ones from them by ◮ addition: I + J := { f + g : f ∈ I , g ∈ J } ◮ intersection: I ∩ J 24 / 38

  31. Polynomial ideals: important operations A set of polynomials I ⊆ K [ x 1 , . . . , x n ] is an ideal if ◮ ∀ f , g ∈ I . f + g ∈ I ◮ I is stable under addition ◮ ∀ f ∈ I , ∀ g ∈ K [ x 1 , . . . , x n ] : fg , gf ∈ I ◮ I absorbs multiplication Once we have some ideals, we can build new ones from them by ◮ addition: I + J := { f + g : f ∈ I , g ∈ J } ◮ intersection: I ∩ J ◮ multiplication: IJ := � fg : f ∈ I , g ∈ J � 24 / 38

  32. Polynomial ideals: important operations A set of polynomials I ⊆ K [ x 1 , . . . , x n ] is an ideal if ◮ ∀ f , g ∈ I . f + g ∈ I ◮ I is stable under addition ◮ ∀ f ∈ I , ∀ g ∈ K [ x 1 , . . . , x n ] : fg , gf ∈ I ◮ I absorbs multiplication Once we have some ideals, we can build new ones from them by ◮ addition: I + J := { f + g : f ∈ I , g ∈ J } ◮ intersection: I ∩ J ◮ multiplication: IJ := � fg : f ∈ I , g ∈ J � ◮ quotient: ( I : J ) := { r : rJ ⊆ I } 24 / 38

  33. Polynomial ideals: important operations A set of polynomials I ⊆ K [ x 1 , . . . , x n ] is an ideal if ◮ ∀ f , g ∈ I . f + g ∈ I ◮ I is stable under addition ◮ ∀ f ∈ I , ∀ g ∈ K [ x 1 , . . . , x n ] : fg , gf ∈ I ◮ I absorbs multiplication Once we have some ideals, we can build new ones from them by ◮ addition: I + J := { f + g : f ∈ I , g ∈ J } ◮ intersection: I ∩ J ◮ multiplication: IJ := � fg : f ∈ I , g ∈ J � ◮ quotient: ( I : J ) := { r : rJ ⊆ I } Remark: I ∪ J is not an ideal but I + J = � I ∪ J � All these operations are effective. 24 / 38

  34. Algebraic sets Algebraic set: set of the common zeroes of polynomials V ( S ) = { x ∈ K n : ∀ p ∈ S . p ( x ) = 0 } where S ⊆ K [ x 1 , . . . , x n ] 25 / 38

  35. Algebraic sets Algebraic set: set of the common zeroes of polynomials V ( S ) = { x ∈ K n : ∀ p ∈ S . p ( x ) = 0 } where S ⊆ K [ x 1 , . . . , x n ] Examples ( x , y ) ∈ K 2 : y = x 2 � ◮ � ( x , y , z ) ∈ K 3 : x = y 2 ∧ y = z ◮ � � ◮ K n = { x ∈ K n : 0 = 0 } ◮ ∅ = { x ∈ K n : 1 = 0 } ◮ { a } = { x : x 1 − a 1 = . . . = x n − a n = 0 } 25 / 38

  36. Algebraic sets Algebraic set: set of the common zeroes of polynomials V ( S ) = { x ∈ K n : ∀ p ∈ S . p ( x ) = 0 } where S ⊆ K [ x 1 , . . . , x n ] Examples ( x , y ) ∈ K 2 : y = x 2 � ◮ � ( x , y , z ) ∈ K 3 : x = y 2 ∧ y = z ◮ � � ◮ K n = { x ∈ K n : 0 = 0 } ◮ ∅ = { x ∈ K n : 1 = 0 } ◮ { a } = { x : x 1 − a 1 = . . . = x n − a n = 0 } For arbitrary S , V ( S ) = V ( I ) where I = � S � is the ideal generated by S . � Always take S to be an ideal, this gives us a finite representation of algebraic sets. 25 / 38

  37. Algebraic sets / Zariski topology Algebraic set: set of the common zeroes of an ideal I ⊆ K [ x 1 , . . . , x n ] V ( I ) = { x ∈ K n : ∀ p ∈ I . p ( x ) = 0 } 26 / 38

  38. Algebraic sets / Zariski topology Algebraic set: set of the common zeroes of an ideal I ⊆ K [ x 1 , . . . , x n ] V ( I ) = { x ∈ K n : ∀ p ∈ I . p ( x ) = 0 } Basic properties: ◮ stable under finite unions: V ( I ) ∪ V ( J ) = V ( I ∩ J ) = V ( IJ ) ◮ stable under arbitrary intersections: ∩ i V ( I i ) = V ( ∪ i I i ) = V ( � i I i ) 26 / 38

  39. Algebraic sets / Zariski topology Algebraic set: set of the common zeroes of an ideal I ⊆ K [ x 1 , . . . , x n ] V ( I ) = { x ∈ K n : ∀ p ∈ I . p ( x ) = 0 } Basic properties: ◮ stable under finite unions: V ( I ) ∪ V ( J ) = V ( I ∩ J ) = V ( IJ ) ◮ stable under arbitrary intersections: ∩ i V ( I i ) = V ( ∪ i I i ) = V ( � i I i ) Zariski topology: the closed set are the algebraic sets Examples ( x , y ) ∈ K 2 : y = x 2 � ◮ � = V ( y − x 2 ) is closed ( x , y ) ∈ K 2 : y � = x 2 � = K 2 \ V ( y − x 2 ) is open ◮ � 26 / 38

  40. Irreducible sets Algebraic set: set of the common zeroes of an ideal I ⊆ K [ x 1 , . . . , x n ] V ( I ) = { x ∈ K n : ∀ p ∈ I . p ( x ) = 0 } Zariski topology: the closed set are the algebraic sets 27 / 38

  41. Irreducible sets Algebraic set: set of the common zeroes of an ideal I ⊆ K [ x 1 , . . . , x n ] V ( I ) = { x ∈ K n : ∀ p ∈ I . p ( x ) = 0 } Zariski topology: the closed set are the algebraic sets Y ⊆ K n is irreducible if it is not the union of two proper closed subsets. Examples ◮ � ( x , y ) : y = x 2 � is irreducible ◮ { ( x , y ) : xy = 0 } is reducible: { ( x , y ) : x = 0 } ∪ { ( x , y ) : y = 0 } x = 0 y = x 2 y = 0 27 / 38

Recommend


More recommend