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

polynomial invariants for affine programs
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Polynomial Invariants for Affine Programs

Ehud Hrushovski, Joël Ouaknine, Amaury Pouly, James Worrell

Max Planck Institute for Software Systems & Department of Computer Science, Oxford University & Mathematical Institute, Oxford University & Université de Paris, IRIF, CNRS

1 / 38

slide-2
SLIDE 2

Does this program halt?

Affine program

x := 2−10 y := 1 while y x do x y

  • :=

2

7 4 1 4

x y

  • 2 / 38
slide-3
SLIDE 3

Does this program halt?

Affine program

x := 2−10 y := 1 while y x do x y

  • :=

2

7 4 1 4

x y

  • y

x

2 / 38

slide-4
SLIDE 4

Does this program halt?

Affine program

x := 2−10 y := 1 while y x do x y

  • :=

2

7 4 1 4

x y

  • y

x

2 / 38

slide-5
SLIDE 5

Does this program halt?

Affine program

x := 2−10 y := 1 while y x do x y

  • :=

2

7 4 1 4

x y

  • y

x

2 / 38

slide-6
SLIDE 6

Does this program halt?

Affine program

x := 2−10 y := 1 while y x do x y

  • :=

2

7 4 1 4

x y

  • y

x

2 / 38

slide-7
SLIDE 7

Does this program halt?

Affine program

x := 2−10 y := 1 while y x do x y

  • :=

2

7 4 1 4

x y

  • y

x

2 / 38

slide-8
SLIDE 8

Does this program halt?

Affine program

x := 2−10 y := 1 while y x do x y

  • :=

2

7 4 1 4

x y

  • Certificate of non-termination:

x2y − x3 =

1023 1073741824

(1) y x

2 / 38

slide-9
SLIDE 9

Does this program halt?

Affine program

x := 2−10 y := 1 while y x do x y

  • :=

2

7 4 1 4

x y

  • Certificate of non-termination:

x2y − x3 =

1023 1073741824

(1) y x ◮ (1) is an invariant: it holds at every step

2 / 38

slide-10
SLIDE 10

Does this program halt?

Affine program

x := 2−10 y := 1 while y x do x y

  • :=

2

7 4 1 4

x y

  • Certificate of non-termination:

x2y − x3 =

1023 1073741824

(1) y x ◮ (1) is an invariant: it holds at every step ◮ (1) implies the guard is true

2 / 38

slide-11
SLIDE 11

Invariants

invariant = overapproximation of the reachable states

3 / 38

slide-12
SLIDE 12

Invariants

invariant = overapproximation of the reachable states inductive invariant = invariant preserved by the transition relation transition

3 / 38

slide-13
SLIDE 13

Inductive invariants: example

1 2 3 f1 f2 f3 f4 f5

4 / 38

slide-14
SLIDE 14

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

4 / 38

slide-15
SLIDE 15

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

4 / 38

slide-16
SLIDE 16

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

4 / 38

slide-17
SLIDE 17

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

4 / 38

slide-18
SLIDE 18

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

4 / 38

slide-19
SLIDE 19

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

4 / 38

slide-20
SLIDE 20

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

4 / 38

slide-21
SLIDE 21

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

4 / 38

slide-22
SLIDE 22

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

4 / 38

slide-23
SLIDE 23

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

4 / 38

slide-24
SLIDE 24

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

4 / 38

slide-25
SLIDE 25

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

4 / 38

slide-26
SLIDE 26

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

S1 S2 S3

S1,S2,S3 is an invariant

4 / 38

slide-27
SLIDE 27

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

S1 S2 S3

S1,S2,S3 is an inductive invariant

4 / 38

slide-28
SLIDE 28

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

I1 S1 I2 S2 I3 S3

I1,I2,I3 is an invariant

4 / 38

slide-29
SLIDE 29

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

I1 I2 I3

I1,I2,I3 is NOT an inductive invariant

4 / 38

slide-30
SLIDE 30

Inductive invariants: example

x, y, z range over Q fi : R3 → R3 1 2 3 f1 f2 f3 f4 f5

I1 I2 I3

I1,I2,I3 is an inductive invariant

4 / 38

slide-31
SLIDE 31

Why Invariants?

I S

BAD! The classical approach to the verification of temporal safety properties of programs requires the construction of inductive invariants [...]. Automation of this construction is the main challenge in program verification.

  • D. Beyer, T. Henzinger, R. Majumdar, and A. Rybalchenko

Invariant Synthesis for Combined Theories, 2007

5 / 38

slide-32
SLIDE 32

Which invariants?

6 / 38

slide-33
SLIDE 33

Which invariants?

Intervals

6 / 38

slide-34
SLIDE 34

Which invariants?

Intervals Octagons

  • 6 / 38
slide-35
SLIDE 35

Which invariants?

Intervals Octagons Affine/linear sets

  • 6 / 38
slide-36
SLIDE 36

Which invariants?

Intervals Octagons Polyhedrons Affine/linear sets

  • 6 / 38
slide-37
SLIDE 37

Which invariants?

Intervals Octagons Polyhedrons Affine/linear sets Algebraic sets = polynomial equalities

  • 6 / 38
slide-38
SLIDE 38

Which invariants?

Intervals Octagons Polyhedrons Affine/linear sets Algebraic sets = polynomial equalities Semialgebraic sets

  • 6 / 38
slide-39
SLIDE 39

Affine programs

1 2 3 f1 f2 f3 f4 f5

7 / 38

slide-40
SLIDE 40

Affine programs

◮ Nondeterministic branching (no guards) 1 2 3 f1 f2 f3 f4 f5

7 / 38

slide-41
SLIDE 41

Affine programs

◮ Nondeterministic branching (no guards) ◮ All assignments are affine 1 2 3 x := 3x − 7y + 1 f2 f3 f4 f5

7 / 38

slide-42
SLIDE 42

Affine programs

◮ Nondeterministic branching (no guards) ◮ All assignments are affine ◮ Allow nondeterministic assignments (x := ∗) 1 2 3 x := 3x − 7y + 1 f2 f3 y := ∗ f5

7 / 38

slide-43
SLIDE 43

Affine programs

◮ Nondeterministic branching (no guards) ◮ All assignments are affine ◮ Allow nondeterministic assignments (x := ∗) 1 2 3 x := 3x − 7y + 1 f2 f3 y := ∗ f5 ◮ Can overapproximate complex programs

7 / 38

slide-44
SLIDE 44

Affine programs

◮ Nondeterministic branching (no guards) ◮ All assignments are affine ◮ Allow nondeterministic assignments (x := ∗) 1 2 3 x := 3x − 7y + 1 f2 f3 y := ∗ f5 ◮ Can overapproximate complex programs ◮ Covers existing formalisms: probabilistic, quantum, quantitative automata

7 / 38

slide-45
SLIDE 45

Karr’s Algorithm

Theorem (Karr 76)

There is an algorithm which computes, for any given affine program

  • ver Q, its strongest affine inductive invariant.

8 / 38

slide-46
SLIDE 46

Randomized Karr’s Algorithm @ POPL 2003

9 / 38

slide-47
SLIDE 47

Some polynomial invariants

Theorem (ICALP 2004)

There is an algorithm which computes, for any given affine program

  • ver Q, all its polynomial inductive invariants up to any fixed degree d.

10 / 38

slide-48
SLIDE 48

A challenge: finding all polynomial invariants

11 / 38

slide-49
SLIDE 49

A challenge: finding all polynomial invariants

11 / 38

slide-50
SLIDE 50

Why fixed degree is not enough

12 / 38

slide-51
SLIDE 51

Why fixed degree is not enough

◮ Paraboloid z = x2 + y2

12 / 38

slide-52
SLIDE 52

Why fixed degree is not enough

◮ Paraboloid z = x2 + y2

12 / 38

slide-53
SLIDE 53

Why fixed degree is not enough

◮ Paraboloid z = x2 + y2 ◮ Union of 3 hyperplanes (x − y)(10y + x)(y + 10x) = 0

12 / 38

slide-54
SLIDE 54

Why fixed degree is not enough

◮ Paraboloid z = x2 + y2 ◮ Union of 3 hyperplanes (x − y)(10y + x)(y + 10x) = 0

12 / 38

slide-55
SLIDE 55

Why fixed degree is not enough

◮ Paraboloid z = x2 + y2 ◮ Union of 3 hyperplanes (x − y)(10y + x)(y + 10x) = 0

12 / 38

slide-56
SLIDE 56

Main result

Theorem

There is an algorithm which computes, for any given affine program

  • ver Q, its strongest polynomial inductive invariant.

13 / 38

slide-57
SLIDE 57

Main result

Theorem

There is an algorithm which computes, for any given affine program

  • ver Q, its strongest polynomial inductive invariant.

◮ strongest polynomial invariant ⇐ ⇒ smallest algebraic set

13 / 38

slide-58
SLIDE 58

Main result

Theorem

There is an algorithm which computes, for any given affine program

  • ver Q, its strongest polynomial inductive invariant.

◮ strongest polynomial invariant ⇐ ⇒ smallest algebraic set

◮ algebraic sets = finite and of polynomial equalities

13 / 38

slide-59
SLIDE 59

Main result

Theorem

There is an algorithm which computes, for any given affine program

  • ver 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

13 / 38

slide-60
SLIDE 60

Main result

Theorem

There is an algorithm which computes, for any given affine program

  • ver 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

slide-61
SLIDE 61

At the edge of decidability

x:=x0

x := M1x x := M2x . . . x := Mkx

S

14 / 38

slide-62
SLIDE 62

At the edge of decidability

x:=x0

x := M1x x := M2x . . . x := Mkx

S Theorem (Markov 1947*)

There is a fixed set of 6 × 6 integer matrices M1, . . . , Mk such that the reachability problem “y is reachable from x0?” is undecidable.

*Original theorems about semigroups, reformulated with affine programs. 14 / 38

slide-63
SLIDE 63

At the edge of decidability

x:=x0

x := M1x x := M2x . . . x := Mkx

S Theorem (Markov 1947*)

There is a fixed set of 6 × 6 integer matrices M1, . . . , Mk such that the reachability problem “y is reachable from x0?” is undecidable.

Theorem (Paterson 1970*)

The mortality problem “ 0 is reachable from x0 with M1, . . . , Mk?” is undecidable for 3 × 3 matrices.

*Original theorems about semigroups, reformulated with affine programs. 14 / 38

slide-64
SLIDE 64

Tools

◮ Algebraic geometry ◮ Number theory ◮ Group theory

15 / 38

slide-65
SLIDE 65

Tools

◮ Algebraic geometry ◮ Number theory ◮ Group theory

Theorem (Derksen, Jeandel and Koiran, 2004)

There is an algorithm which computes, for any given affine program

  • ver Q using only invertible transformations, its strongest polynomial

inductive invariant.

15 / 38

slide-66
SLIDE 66

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

slide-67
SLIDE 67

Summary

◮ invariant = overapproximation of reachable states ◮ invariants allow verification of safety properties ◮ affine program:

◮ nondeterministic branching, no guards, affine assignments

1 2 3 x := 3x − 7y + 1 f2 f3 y := ∗ f5

Theorem

There is an algorithm which computes, for any given affine program

  • ver Q, its strongest polynomial inductive invariant.

17 / 38

slide-68
SLIDE 68

Introduction to Algebraic Geometry (for computer scientists)

Amaury Pouly

Université de Paris, IRIF, CNRS

18 / 38

slide-69
SLIDE 69

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

slide-70
SLIDE 70

Motivating examples

Solutions to x2 + x = 1? ◮ S =

  • − 1

2 + 1 2

√ 5, − 1

2 − 1 2

√ 5

  • x

x2 + x 1

20 / 38

slide-71
SLIDE 71

Motivating examples

Solutions to x3 + x = 1? ◮ S =

  • 1

6

3

  • 108 + 12

√ 93 −

2

3

108+12 √ 93

  • x

x3 + x 1

20 / 38

slide-72
SLIDE 72

Motivating examples

Solutions to x4 + x = 1? ◮ S = {no formula} ◮ 2 isolated real roots ◮ we can approximate them ◮ algebraic numbers: arithmetic and comparisons are decidable x x4 + x 1

20 / 38

slide-73
SLIDE 73

Motivating examples

Solutions to xy = 1? ◮ S =

  • (x, 1

x ) : x = 0

  • Although we have a formula, the geometry is more interesting.

y x S

20 / 38

slide-74
SLIDE 74

Motivating examples

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

20 / 38

slide-75
SLIDE 75

What is Algebraic Geometry?

Study systems of multivariate polynomial equations using abstract algebraic techniques, with applications to geometry. Examples x2 + y2 + z2 − 1 = 0

  • sphere in R3

21 / 38

slide-76
SLIDE 76

What is Algebraic Geometry?

Study systems of multivariate polynomial equations using abstract algebraic techniques, with applications to geometry. Examples x2 + y2 + z2 − 1 = 0

  • sphere in R3

x2 + y2 + z2 = 1 ∧ x + y + z = 1

  • “sliced” sphere in R3

21 / 38

slide-77
SLIDE 77

What is Algebraic Geometry?

Study systems of multivariate polynomial equations using abstract algebraic techniques, with applications to geometry. Examples x2 + y2 + z2 − 1 = 0

  • sphere in R3

x2 + y2 + z2 = 1 ∧ x + y + z = 1

  • “sliced” sphere in R3

x2 + 1 = 0

  • ∅ in R

21 / 38

slide-78
SLIDE 78

What is Algebraic Geometry?

Study systems of multivariate polynomial equations using abstract algebraic techniques, with applications to geometry. Examples x2 + y2 + z2 − 1 = 0

  • sphere in R3

x2 + y2 + z2 = 1 ∧ x + y + z = 1

  • “sliced” sphere in R3

x2 + 1 = 0

  • ∅ in R

x2 + 1 = 0

  • {i, −i} in C

21 / 38

slide-79
SLIDE 79

What is Algebraic Geometry?

Study systems of multivariate polynomial equations using abstract algebraic techniques, with applications to geometry. Examples x2 + y2 + z2 − 1 = 0

  • sphere in R3

x2 + y2 + z2 = 1 ∧ x + y + z = 1

  • “sliced” sphere in R3

x2 + 1 = 0

  • ∅ in R

x2 + 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

slide-80
SLIDE 80

Polynomial ideals

A set of polynomials I ⊆ K[x1, . . . , xn] is an ideal if ◮ ∀f, g ∈ I. f + g ∈ I ◮ I is stable under addition ◮ ∀f ∈ I. ∀g ∈ K[x1, . . . , xn] : fg, gf ∈ I ◮ I absorbs multiplication

22 / 38

slide-81
SLIDE 81

Polynomial ideals

A set of polynomials I ⊆ K[x1, . . . , xn] is an ideal if ◮ ∀f, g ∈ I. f + g ∈ I ◮ I is stable under addition ◮ ∀f ∈ I. ∀g ∈ K[x1, . . . , xn] : 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 x − 1 x2 − x −x3 + x

22 / 38

slide-82
SLIDE 82

Polynomial ideals

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

22 / 38

slide-83
SLIDE 83

Polynomial ideals

A set of polynomials I ⊆ K[x1, . . . , xn] is an ideal if ◮ ∀f, g ∈ I. f + g ∈ I ◮ I is stable under addition ◮ ∀f ∈ I. ∀g ∈ K[x1, . . . , xn] : fg, gf ∈ I ◮ I absorbs multiplication Two main ways to create ideals: ◮ The vanishing polynomials on S ⊆ Kn is an ideal: I(S) := {f ∈ K[x1, . . . , xn] : ∀x ∈ S. f(x) = 0} Remark: I is inclusion reversing, S ⊆ S′ ⇒ I(S) ⊇ I(S′) ◮ The ideal generated by f1, . . . , fk ∈ K[x1, . . . , xn] is f1, . . . , fk := smallest ideal containing f1, . . . , fk := {p1f1 + · · · + pkfk : p1, . . . , pk ∈ K[x1, . . . , xn]}

22 / 38

slide-84
SLIDE 84

Polynomial ideals

A set of polynomials I ⊆ K[x1, . . . , xn] is an ideal if ◮ ∀f, g ∈ I. f + g ∈ I ◮ I is stable under addition ◮ ∀f ∈ I. ∀g ∈ K[x1, . . . , xn] : fg, gf ∈ I ◮ I absorbs multiplication Two main ways to create ideals: ◮ The vanishing polynomials on S ⊆ Kn is an ideal: I(S) := {f ∈ K[x1, . . . , xn] : ∀x ∈ S. f(x) = 0} Remark: I is inclusion reversing, S ⊆ S′ ⇒ I(S) ⊇ I(S′) ◮ The ideal generated by f1, . . . , fk ∈ K[x1, . . . , xn] is f1, . . . , fk := smallest ideal containing f1, . . . , fk := {p1f1 + · · · + pkfk : p1, . . . , pk ∈ K[x1, . . . , xn]} Example: {p ∈ K[x] : p(1) = 0} = I({1}) = x − 1.

22 / 38

slide-85
SLIDE 85

Polynomial ideals: important facts

A set of polynomials I ⊆ K[x1, . . . , xn] is an ideal if ◮ ∀f, g ∈ I : f + g ∈ I ◮ I is stable under addition ◮ ∀f ∈ I, ∀g ∈ K[x1, . . . , xn] : fg, gf ∈ I ◮ I absorbs multiplication

Theorem (Hilbert’s basis theorem)

For any field K, K[x1, . . . , xn] is Noetherian: any chain of ideals I1 ⊆ I2 ⊆ I3 ⊆ · · · eventually stabilizes: ∃k ∈ N such that Ik = Ik+1 = Ik+2 = · · · .

23 / 38

slide-86
SLIDE 86

Polynomial ideals: important facts

A set of polynomials I ⊆ K[x1, . . . , xn] is an ideal if ◮ ∀f, g ∈ I : f + g ∈ I ◮ I is stable under addition ◮ ∀f ∈ I, ∀g ∈ K[x1, . . . , xn] : fg, gf ∈ I ◮ I absorbs multiplication

Theorem (Hilbert’s basis theorem)

For any field K, K[x1, . . . , xn] is Noetherian: any chain of ideals I1 ⊆ I2 ⊆ I3 ⊆ · · · eventually stabilizes: ∃k ∈ N such that Ik = Ik+1 = Ik+2 = · · · .

Corollary

Every polynomial ideal I ⊆ K[x1, . . . , xn] is finitely generated: ∃f1, . . . , fk ∈ K[x1, . . . , xn] such that I = f1, . . . , fk. We can represent ideals by a finite set of generators.

23 / 38

slide-87
SLIDE 87

Polynomial ideals: important operations

A set of polynomials I ⊆ K[x1, . . . , xn] is an ideal if ◮ ∀f, g ∈ I. f + g ∈ I ◮ I is stable under addition ◮ ∀f ∈ I, ∀g ∈ K[x1, . . . , xn] : fg, gf ∈ I ◮ I absorbs multiplication Once we have some ideals, we can build new ones from them by

24 / 38

slide-88
SLIDE 88

Polynomial ideals: important operations

A set of polynomials I ⊆ K[x1, . . . , xn] is an ideal if ◮ ∀f, g ∈ I. f + g ∈ I ◮ I is stable under addition ◮ ∀f ∈ I, ∀g ∈ K[x1, . . . , xn] : 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

slide-89
SLIDE 89

Polynomial ideals: important operations

A set of polynomials I ⊆ K[x1, . . . , xn] is an ideal if ◮ ∀f, g ∈ I. f + g ∈ I ◮ I is stable under addition ◮ ∀f ∈ I, ∀g ∈ K[x1, . . . , xn] : 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

slide-90
SLIDE 90

Polynomial ideals: important operations

A set of polynomials I ⊆ K[x1, . . . , xn] is an ideal if ◮ ∀f, g ∈ I. f + g ∈ I ◮ I is stable under addition ◮ ∀f ∈ I, ∀g ∈ K[x1, . . . , xn] : 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

slide-91
SLIDE 91

Polynomial ideals: important operations

A set of polynomials I ⊆ K[x1, . . . , xn] is an ideal if ◮ ∀f, g ∈ I. f + g ∈ I ◮ I is stable under addition ◮ ∀f ∈ I, ∀g ∈ K[x1, . . . , xn] : 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

slide-92
SLIDE 92

Polynomial ideals: important operations

A set of polynomials I ⊆ K[x1, . . . , xn] is an ideal if ◮ ∀f, g ∈ I. f + g ∈ I ◮ I is stable under addition ◮ ∀f ∈ I, ∀g ∈ K[x1, . . . , xn] : 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

slide-93
SLIDE 93

Algebraic sets

Algebraic set: set of the common zeroes of polynomials V(S) = {x ∈ Kn : ∀p ∈ S. p(x) = 0} where S ⊆ K[x1, . . . , xn]

25 / 38

slide-94
SLIDE 94

Algebraic sets

Algebraic set: set of the common zeroes of polynomials V(S) = {x ∈ Kn : ∀p ∈ S. p(x) = 0} where S ⊆ K[x1, . . . , xn] Examples ◮ (x, y) ∈ K2 : y = x2 ◮ (x, y, z) ∈ K3 : x = y2 ∧ y = z

  • ◮ Kn = {x ∈ Kn : 0 = 0}

◮ ∅ = {x ∈ Kn : 1 = 0} ◮ {a} = {x : x1 − a1 = . . . = xn − an = 0}

25 / 38

slide-95
SLIDE 95

Algebraic sets

Algebraic set: set of the common zeroes of polynomials V(S) = {x ∈ Kn : ∀p ∈ S. p(x) = 0} where S ⊆ K[x1, . . . , xn] Examples ◮ (x, y) ∈ K2 : y = x2 ◮ (x, y, z) ∈ K3 : x = y2 ∧ y = z

  • ◮ Kn = {x ∈ Kn : 0 = 0}

◮ ∅ = {x ∈ Kn : 1 = 0} ◮ {a} = {x : x1 − a1 = . . . = xn − an = 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

slide-96
SLIDE 96

Algebraic sets / Zariski topology

Algebraic set: set of the common zeroes of an ideal I ⊆ K[x1, . . . , xn] V(I) = {x ∈ Kn : ∀p ∈ I. p(x) = 0}

26 / 38

slide-97
SLIDE 97

Algebraic sets / Zariski topology

Algebraic set: set of the common zeroes of an ideal I ⊆ K[x1, . . . , xn] V(I) = {x ∈ Kn : ∀p ∈ I. p(x) = 0} Basic properties: ◮ stable under finite unions: V(I) ∪ V(J) = V(I ∩ J) = V(IJ) ◮ stable under arbitrary intersections: ∩iV(Ii) = V(∪iIi) = V(

i Ii)

26 / 38

slide-98
SLIDE 98

Algebraic sets / Zariski topology

Algebraic set: set of the common zeroes of an ideal I ⊆ K[x1, . . . , xn] V(I) = {x ∈ Kn : ∀p ∈ I. p(x) = 0} Basic properties: ◮ stable under finite unions: V(I) ∪ V(J) = V(I ∩ J) = V(IJ) ◮ stable under arbitrary intersections: ∩iV(Ii) = V(∪iIi) = V(

i Ii)

Zariski topology: the closed set are the algebraic sets Examples ◮ (x, y) ∈ K2 : y = x2 = V(y − x2) is closed ◮ (x, y) ∈ K2 : y = x2 = K2 \ V(y − x2) is open

26 / 38

slide-99
SLIDE 99

Irreducible sets

Algebraic set: set of the common zeroes of an ideal I ⊆ K[x1, . . . , xn] V(I) = {x ∈ Kn : ∀p ∈ I. p(x) = 0} Zariski topology: the closed set are the algebraic sets

27 / 38

slide-100
SLIDE 100

Irreducible sets

Algebraic set: set of the common zeroes of an ideal I ⊆ K[x1, . . . , xn] V(I) = {x ∈ Kn : ∀p ∈ I. p(x) = 0} Zariski topology: the closed set are the algebraic sets Y ⊆ Kn is irreducible if it is not the union of two proper closed subsets. Examples ◮ (x, y) : y = x2 is irreducible ◮ {(x, y) : xy = 0} is reducible: {(x, y) : x = 0} ∪ {(x, y) : y = 0} y = 0 x = 0 y = x2

27 / 38

slide-101
SLIDE 101

Irreducible sets

Algebraic set: set of the common zeroes of an ideal I ⊆ K[x1, . . . , xn] V(I) = {x ∈ Kn : ∀p ∈ I. p(x) = 0} Zariski topology: the closed set are the algebraic sets Y ⊆ Kn is irreducible if it is not the union of two proper closed subsets. Examples ◮ (x, y) : y = x2 is irreducible ◮ {(x, y) : xy = 0} is reducible: {(x, y) : x = 0} ∪ {(x, y) : y = 0}

Theorem

Any algebraic set can be written as the finite union of irreducible algebraic sets.

27 / 38

slide-102
SLIDE 102

Ascending/Descending chains

Polynomial ideals satisfy the ascending chain condition (ACC): there is no infinite chain of strictly increasing ideals I1 I2 · · · Ik · · ·

28 / 38

slide-103
SLIDE 103

Ascending/Descending chains

Polynomial ideals satisfy the ascending chain condition (ACC): there is no infinite chain of strictly increasing ideals I1 I2 · · · Ik · · · Algebraic sets satisfy the descending chain condition (DCC): there is no infinite chain of strictly decreasing algebraic sets V1 V2 · · · Vk · · ·

28 / 38

slide-104
SLIDE 104

Ascending/Descending chains

Polynomial ideals satisfy the ascending chain condition (ACC): there is no infinite chain of strictly increasing ideals I1 I2 · · · Ik · · · Algebraic sets satisfy the descending chain condition (DCC): there is no infinite chain of strictly decreasing algebraic sets V1 V2 · · · Vk · · · Irreducible algebraic sets satisfy the ACC: there is no infinite chain of strictly increasing irreducible algebraic sets: V1 V2 · · · Vk · · ·

28 / 38

slide-105
SLIDE 105

Ascending/Descending chains

Polynomial ideals satisfy the ascending chain condition (ACC): there is no infinite chain of strictly increasing ideals I1 I2 · · · Ik · · · Algebraic sets satisfy the descending chain condition (DCC): there is no infinite chain of strictly decreasing algebraic sets V1 V2 · · · Vk · · · Irreducible algebraic sets satisfy the ACC: there is no infinite chain of strictly increasing irreducible algebraic sets: V1 V2 · · · Vk · · · Remark: the last fact comes from the notion of dimension of an algebraic set. It is geometrically “what one would expect”: a curve has dimension 1, a hypersurface n − 1, the whole space n.

28 / 38

slide-106
SLIDE 106

Affine varieties

Algebraic set: set of the common zeroes of an ideal I ⊆ K[x1, . . . , xn] V(I) = {x ∈ Kn : ∀p ∈ I. p(x) = 0} Zariski topology: the closed set are the algebraic sets

29 / 38

slide-107
SLIDE 107

Affine varieties

Algebraic set: set of the common zeroes of an ideal I ⊆ K[x1, . . . , xn] V(I) = {x ∈ Kn : ∀p ∈ I. p(x) = 0} Zariski topology: the closed set are the algebraic sets Y ⊆ Kn is irreducible if it is not the union of two proper closed subsets.

29 / 38

slide-108
SLIDE 108

Affine varieties

Algebraic set: set of the common zeroes of an ideal I ⊆ K[x1, . . . , xn] V(I) = {x ∈ Kn : ∀p ∈ I. p(x) = 0} Zariski topology: the closed set are the algebraic sets Y ⊆ Kn is irreducible if it is not the union of two proper closed subsets. ! The term affine variety is ambiguous, it can mean ◮ algebraic set ◮ irreducible algebraic set

In this lecture

affine variety = algebraic set

29 / 38

slide-109
SLIDE 109

Zariski topology / Zariski closure

Let X ⊆ Kn be a variety. The Zariski topology on X has as closed sets the subvarieties of X: the sets A ⊆ X that are varieties in Kn. Examples ◮ X =

  • (x, y, z) ∈ R3 : x2 + y2 + z2 = 1
  • is closed in R3

◮ S = X ∩

  • (x, y, z) ∈ R3 : x + y + z = 1
  • is closed in X

30 / 38

slide-110
SLIDE 110

Zariski topology / Zariski closure

Let X ⊆ Kn be a variety. The Zariski topology on X has as closed sets the subvarieties of X: the sets A ⊆ X that are varieties in Kn. Examples ◮ X =

  • (x, y, z) ∈ R3 : x2 + y2 + z2 = 1
  • is closed in R3

◮ S = X ∩

  • (x, y, z) ∈ R3 : x + y + z = 1
  • is closed in X

Given a set S ⊆ X, its Zariski closure S

X (or just S) is the closure in

the above topology: the smallest closed set containing S.

30 / 38

slide-111
SLIDE 111

Zariski topology / Zariski closure

Let X ⊆ Kn be a variety. The Zariski topology on X has as closed sets the subvarieties of X: the sets A ⊆ X that are varieties in Kn. Examples ◮ X =

  • (x, y, z) ∈ R3 : x2 + y2 + z2 = 1
  • is closed in R3

◮ S = X ∩

  • (x, y, z) ∈ R3 : x + y + z = 1
  • is closed in X

Given a set S ⊆ X, its Zariski closure S

X (or just S) is the closure in

the above topology: the smallest closed set containing S. Examples ◮ [−1, 1]

R = R

◮ N

R = R

◮ (x, y) ∈ R2 : x 0 ∧ x = y2R =

  • (x, y) ∈ R2 : x = y2

30 / 38

slide-112
SLIDE 112

A quick summary of what we have seen so far

◮ ideal: set of polynomials, stable under +, absorbing × ◮ algebraic set: common zeroes of a set of polynomials/ideal ◮ irreducible set: not the union of two proper algebraic subsets ◮ affine variety: (irreducible) algebraic set (author dependent) ◮ Zariski topology: the closed sets are the algebraic sets ◮ Zariski closure: S = smallest closed set containing X ◮ effective operations: union and intersection of closed sets

31 / 38

slide-113
SLIDE 113

Quantifier Elimination (QE): R vs C

Let S =

  • (x, y) ∈ K2 : x2 + y2 = 1
  • .

y x S

32 / 38

slide-114
SLIDE 114

Quantifier Elimination (QE): R vs C

Let S =

  • (x, y) ∈ K2 : x2 + y2 = 1
  • .

Projection of S on x: S′ = {x ∈ K : ∃y : (x, y) ∈ S} y x S

32 / 38

slide-115
SLIDE 115

Quantifier Elimination (QE): R vs C

Let S =

  • (x, y) ∈ K2 : x2 + y2 = 1
  • .

Projection of S on x: S′ = {x ∈ K : ∃y : (x, y) ∈ S} Two very different behaviors: ◮ For K = R: S′ = [−1, 1] =

  • x ∈ R : x2 1
  • ◮ For K = C:

S′ = C In R we need to introduce inequalities. y x S S′

32 / 38

slide-116
SLIDE 116

Quantifier Elimination (QE): R vs C

Let S =

  • (x, y) ∈ K2 : x2 + y2 = 1
  • .

Projection of S on x: S′ = {x ∈ K : ∃y : (x, y) ∈ S} Two very different behaviors: ◮ For K = R: S′ = [−1, 1] =

  • x ∈ R : x2 1
  • ◮ For K = C:

S′ = C In R we need to introduce inequalities. y x S S′

Theorem (QE over R)

(R, +, ×, 0, 1, ) admits QE.

Theorem (QE over C)

(C, +, ×, 0, 1, =) admits QE.

32 / 38

slide-117
SLIDE 117

Definable/Constructible sets: motivation

S =

  • (x, y) ∈ R2 : xy = 1

variety/closed set y x S

33 / 38

slide-118
SLIDE 118

Definable/Constructible sets: motivation

S =

  • (x, y) ∈ R2 : xy = 1

variety/closed set p(x, y) = x ◮ “nice” function (polynomial) y x S

33 / 38

slide-119
SLIDE 119

Definable/Constructible sets: motivation

S =

  • (x, y) ∈ R2 : xy = 1

variety/closed set p(x, y) = x ◮ “nice” function (polynomial) S′ = p(S) = {x : x = 0} = R \ {0} ◮ open subset of R y x S S′

33 / 38

slide-120
SLIDE 120

Definable/Constructible sets: motivation

S =

  • (x, y) ∈ R2 : xy = 1

variety/closed set p(x, y) = x ◮ “nice” function (polynomial) S′ = p(S) = {x : x = 0} = R \ {0} ◮ open subset of R q(x, y) = (x, xy) ◮ “nice” function (polynomial) y x S S′

33 / 38

slide-121
SLIDE 121

Definable/Constructible sets: motivation

S =

  • (x, y) ∈ R2 : xy = 1

variety/closed set p(x, y) = x ◮ “nice” function (polynomial) S′ = p(S) = {x : x = 0} = R \ {0} ◮ open subset of R q(x, y) = (x, xy) ◮ “nice” function (polynomial) S′′ = q(S) = {(x, 1) : x = 0} ◮ not open, not closed in R2 y x S S′ S′′

33 / 38

slide-122
SLIDE 122

Definable/Constructible sets: motivation

S =

  • (x, y) ∈ R2 : xy = 1

variety/closed set p(x, y) = x ◮ “nice” function (polynomial) S′ = p(S) = {x : x = 0} = R \ {0} ◮ open subset of R q(x, y) = (x, xy) ◮ “nice” function (polynomial) S′′ = q(S) = {(x, 1) : x = 0} ◮ not open, not closed in R2 y x S S′ S′′ We need something more general than varieties: the above sets are ◮ definable: {x ∈ Kn : φ(x)} ◮ constructible: intersections/unions of open/closed sets

33 / 38

slide-123
SLIDE 123

Constructible/Definable sets

A set S is definable if S = {x ∈ Kn : φ(x)} for φ first-order formula‡. Examples ◮ any variety: φ(x) ≡

i pi(x) = 0

◮ any open set: φ(x) ≡ ¬

i pi(x) = 0

◮ S = {(x, y) : y = 1 ∧ x = 0} ◮ S = {x : ∃y. xy = 1}

‡On the signature (K, +, ×, 0, 1, =): we have ∃, ∀, ¬ and equality of polynomials. 34 / 38

slide-124
SLIDE 124

Constructible/Definable sets

A set S is definable if S = {x ∈ Kn : φ(x)} for φ first-order formula‡. Examples ◮ any variety: φ(x) ≡

i pi(x) = 0

◮ any open set: φ(x) ≡ ¬

i pi(x) = 0

◮ S = {(x, y) : y = 1 ∧ x = 0} ◮ S = {x : ∃y. xy = 1} The constructible sets are all Boolean combinations (including complementation) of Zariski closed sets. Examples ◮ any closed or open set ◮ S = {(x, 1) : x = 0} = {(x, y) : y = 1} ∩ {(x, y) : x = 0}∁ ◮ S = {(x, y) : x = 0}∁ ∪ {(0, 0)}

‡On the signature (K, +, ×, 0, 1, =): we have ∃, ∀, ¬ and equality of polynomials. 34 / 38

slide-125
SLIDE 125

Constructible/Definable sets (continued)

A set S is definable if S = {x ∈ Kn : φ(x)} for φ first-order formula. The constructible sets are all Boolean combinations (including complementation) of Zariski closed sets.

Theorem (Consequence of quantifier elimination)

For K = C, the constructible sets are exactly the definable sets.

35 / 38

slide-126
SLIDE 126

Constructible/Definable sets (continued)

A set S is definable if S = {x ∈ Kn : φ(x)} for φ first-order formula. The constructible sets are all Boolean combinations (including complementation) of Zariski closed sets.

Theorem (Consequence of quantifier elimination)

For K = C, the constructible sets are exactly the definable sets.

In this lecture

We use constructible sets over C everywhere.

35 / 38

slide-127
SLIDE 127

Constructible/Definable sets (continued)

A set S is definable if S = {x ∈ Kn : φ(x)} for φ first-order formula. The constructible sets are all Boolean combinations (including complementation) of Zariski closed sets.

Theorem (Consequence of quantifier elimination)

For K = C, the constructible sets are exactly the definable sets.

In this lecture

We use constructible sets over C everywhere.

Theorem (Chevalley)

The image of a constructible set under a polynomial map is constructible. (also follows from quantifier elimination)

35 / 38

slide-128
SLIDE 128

Algorithmic aspects of constructible sets

The constructible sets are all Boolean combinations (including complementation) of Zariski closed sets. effective representation

36 / 38

slide-129
SLIDE 129

Algorithmic aspects of constructible sets

The constructible sets are all Boolean combinations (including complementation) of Zariski closed sets. effective representation Effective operations: ◮ union, intersection, complementation (trivial)

36 / 38

slide-130
SLIDE 130

Algorithmic aspects of constructible sets

The constructible sets are all Boolean combinations (including complementation) of Zariski closed sets. effective representation Effective operations: ◮ union, intersection, complementation (trivial) ◮ any first-order definition (by quantifier elimination) Example: {x ∈ C : ∃y ∈ C.(x, y) ∈ S} where S constructible

36 / 38

slide-131
SLIDE 131

Algorithmic aspects of constructible sets

The constructible sets are all Boolean combinations (including complementation) of Zariski closed sets. effective representation Effective operations: ◮ union, intersection, complementation (trivial) ◮ any first-order definition (by quantifier elimination) Example: {x ∈ C : ∃y ∈ C.(x, y) ∈ S} where S constructible ◮ image under a polynomial map§ Example: p(S) where S constructible and p(x, y) = x

§Important special case of first-order definition. The two examples are the same. 36 / 38

slide-132
SLIDE 132

Algorithmic aspects of constructible sets

The constructible sets are all Boolean combinations (including complementation) of Zariski closed sets. effective representation Effective operations: ◮ union, intersection, complementation (trivial) ◮ any first-order definition (by quantifier elimination) Example: {x ∈ C : ∃y ∈ C.(x, y) ∈ S} where S constructible ◮ image under a polynomial map§ Example: p(S) where S constructible and p(x, y) = x ◮ Zariski closure: S where S constructible Common use: p(S) where S constructible and p polynomial

§Important special case of first-order definition. The two examples are the same. 36 / 38

slide-133
SLIDE 133

Constructible sets: decomposition and application

The constructible sets are all Boolean combinations (including complementation) of Zariski closed sets.

Lemma

If X is constructible then ∃A1, . . . , Ak irreducible and B1, . . . , Bk closed, X =

k

  • i=1

Ai \ Bi

37 / 38

slide-134
SLIDE 134

Constructible sets: decomposition and application

The constructible sets are all Boolean combinations (including complementation) of Zariski closed sets.

Lemma

If X is constructible then ∃A1, . . . , Ak irreducible and B1, . . . , Bk closed, X =

k

  • i=1

Ai \ Bi Exercice: if A irreducible, B closed and A \ B = ∅ then A \ B = A A = (A \ B) ∪ (A ∩ B) A = A \ B ∪ (A ∩ B) then use irreducibility

37 / 38

slide-135
SLIDE 135

Constructible sets: decomposition and application

The constructible sets are all Boolean combinations (including complementation) of Zariski closed sets.

Lemma

If X is constructible then ∃A1, . . . , Ak irreducible and B1, . . . , Bk closed, X =

k

  • i=1

Ai \ Bi Exercice: if A irreducible, B closed and A \ B = ∅ then A \ B = A A = (A \ B) ∪ (A ∩ B) A = A \ B ∪ (A ∩ B) then use irreducibility Application: Zariski closure of a constructible set X X =

k

  • i=1

Ai \ Bi =

k

  • i=1

Ai \ Bi =

k

  • i=1

Ai assuming Ai \ Bi = ∅

37 / 38

slide-136
SLIDE 136

Summary

◮ ideal: set of polynomials, stable under +, absorbing × ◮ algebraic set: common zeroes of a set of polynomials/ideal ◮ irreducible set: not the union of two proper algebraic subsets ◮ affine variety: (irreducible) algebraic set (author dependent) ◮ Zariski topology: the closed sets are the algebraic sets ◮ Zariski closure: S = smallest closed set containing X ◮ effective operations: union and intersection of closed sets

38 / 38

slide-137
SLIDE 137

Summary

◮ ideal: set of polynomials, stable under +, absorbing × ◮ algebraic set: common zeroes of a set of polynomials/ideal ◮ irreducible set: not the union of two proper algebraic subsets ◮ affine variety: (irreducible) algebraic set (author dependent) ◮ Zariski topology: the closed sets are the algebraic sets ◮ Zariski closure: S = smallest closed set containing X ◮ effective operations: union and intersection of closed sets ◮ constructible set: Boolean combinations of closed sets ◮ definable set: first-order definable with equality ◮ effective operations: union, intersection, complementation, first-order definition, image under polynomial map, Zariski closure

38 / 38