Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s...

84
02917 Ad- vanced Top- ics in Em- bed- ded Sys- tems Michael R. Ha 02917 Advanced Topics in Embedded Systems Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Transcript of Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s...

Page 1: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

02917 Advanced Topics in Embedded SystemsPresburger Arithmetic: Cooper’s algorithm

Michael R. Hansen

1 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 2: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Introduction

Presburger Arithmetic (introduced by Mojzesz Presburger in 1929), isthe first-order theory of natural numbers with addition.

Examples of formulas are: ∃x .2x = y and ∃x .∀y .x + y > z.

Unlike Peano Arithmetic, which also includes multiplication,Presburger Arithmetic is a decidable theory.

We shall consider the algorithm introduced by D.C Cooper in 1972.

The presentation is based on: Chapter 7: Quantified LinearArithmetic of The Calculus of Computation by Bradley and Manna.

2 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 3: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Introduction

Presburger Arithmetic (introduced by Mojzesz Presburger in 1929), isthe first-order theory of natural numbers with addition.

Examples of formulas are: ∃x .2x = y and ∃x .∀y .x + y > z.

Unlike Peano Arithmetic, which also includes multiplication,Presburger Arithmetic is a decidable theory.

We shall consider the algorithm introduced by D.C Cooper in 1972.

The presentation is based on: Chapter 7: Quantified LinearArithmetic of The Calculus of Computation by Bradley and Manna.

3 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 4: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Introduction

Presburger Arithmetic (introduced by Mojzesz Presburger in 1929), isthe first-order theory of natural numbers with addition.

Examples of formulas are: ∃x .2x = y and ∃x .∀y .x + y > z.

Unlike Peano Arithmetic, which also includes multiplication,Presburger Arithmetic is a decidable theory.

We shall consider the algorithm introduced by D.C Cooper in 1972.

The presentation is based on: Chapter 7: Quantified LinearArithmetic of The Calculus of Computation by Bradley and Manna.

4 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 5: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Introduction

Presburger Arithmetic (introduced by Mojzesz Presburger in 1929), isthe first-order theory of natural numbers with addition.

Examples of formulas are: ∃x .2x = y and ∃x .∀y .x + y > z.

Unlike Peano Arithmetic, which also includes multiplication,Presburger Arithmetic is a decidable theory.

We shall consider the algorithm introduced by D.C Cooper in 1972.

The presentation is based on: Chapter 7: Quantified LinearArithmetic of The Calculus of Computation by Bradley and Manna.

5 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 6: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Presburger terms

The terms are generated from

∙ integer constants . . . ,−2,−1, 0, 1,2, . . . and

∙ variables x , y , z, . . .

using the following operations:

∙ addition + and subtraction − and

∙ multiplication by constants: . . . , −2⋅, −1⋅, 0⋅, 1⋅, 2⋅, . . .

Notice

∙ terms are interpreted over integers

∙ the terms do not really allow multiplication as, e.g. 3 ⋅ x is equalto x + x + x

∙ a term like 3 ⋅ x is usually written 3x

6 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 7: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Presburger terms

The terms are generated from

∙ integer constants . . . ,−2,−1, 0, 1,2, . . . and

∙ variables x , y , z, . . .

using the following operations:

∙ addition + and subtraction − and

∙ multiplication by constants: . . . , −2⋅, −1⋅, 0⋅, 1⋅, 2⋅, . . .

Notice

∙ terms are interpreted over integers

∙ the terms do not really allow multiplication as, e.g. 3 ⋅ x is equalto x + x + x

∙ a term like 3 ⋅ x is usually written 3x

7 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 8: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Presburger terms

The terms are generated from

∙ integer constants . . . ,−2,−1, 0, 1,2, . . . and

∙ variables x , y , z, . . .

using the following operations:

∙ addition + and subtraction − and

∙ multiplication by constants: . . . , −2⋅, −1⋅, 0⋅, 1⋅, 2⋅, . . .

Notice

∙ terms are interpreted over integers

∙ the terms do not really allow multiplication as, e.g. 3 ⋅ x is equalto x + x + x

∙ a term like 3 ⋅ x is usually written 3x

8 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 9: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Presburger terms

The terms are generated from

∙ integer constants . . . ,−2,−1, 0, 1,2, . . . and

∙ variables x , y , z, . . .

using the following operations:

∙ addition + and subtraction − and

∙ multiplication by constants: . . . , −2⋅, −1⋅, 0⋅, 1⋅, 2⋅, . . .

Notice

∙ terms are interpreted over integers

∙ the terms do not really allow multiplication as, e.g. 3 ⋅ x is equalto x + x + x

∙ a term like 3 ⋅ x is usually written 3x

9 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 10: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Formulas

We consider formulas F ,G,F1,G1,F2 . . . of the following forms:

∙ s = t , s < t , s > t , s ≤ t , and s ≥ t (comparisons)

∙ 1∣s, 2∣s, 3∣s, . . . (divisibility constraints)

∙ ⊤ (true) and ⊥ (false) (propositional constants)

∙ F ∨ G (disjunction), F ∧ G (conjunction) and ¬F (negation)(propositional connectives)

∙ ∃x .F (reads ”there exists an x such that F ”) and∀x .F (reads ”for all x : F ”) (first-order fragment)

where s and t are terms and x is a variable.

Furthermore, We allow brackets in formulas.

Notice: The formulas are interpreted over the integers.

10 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 11: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Formulas

We consider formulas F ,G,F1,G1,F2 . . . of the following forms:

∙ s = t , s < t , s > t , s ≤ t , and s ≥ t (comparisons)

∙ 1∣s, 2∣s, 3∣s, . . . (divisibility constraints)

∙ ⊤ (true) and ⊥ (false) (propositional constants)

∙ F ∨ G (disjunction), F ∧ G (conjunction) and ¬F (negation)(propositional connectives)

∙ ∃x .F (reads ”there exists an x such that F ”) and∀x .F (reads ”for all x : F ”) (first-order fragment)

where s and t are terms and x is a variable.

Furthermore, We allow brackets in formulas.

Notice: The formulas are interpreted over the integers.

11 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 12: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Formulas

We consider formulas F ,G,F1,G1,F2 . . . of the following forms:

∙ s = t , s < t , s > t , s ≤ t , and s ≥ t (comparisons)

∙ 1∣s, 2∣s, 3∣s, . . . (divisibility constraints)

∙ ⊤ (true) and ⊥ (false) (propositional constants)

∙ F ∨ G (disjunction), F ∧ G (conjunction) and ¬F (negation)(propositional connectives)

∙ ∃x .F (reads ”there exists an x such that F ”) and∀x .F (reads ”for all x : F ”) (first-order fragment)

where s and t are terms and x is a variable.

Furthermore, We allow brackets in formulas.

Notice: The formulas are interpreted over the integers.

12 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 13: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Formulas

We consider formulas F ,G,F1,G1,F2 . . . of the following forms:

∙ s = t , s < t , s > t , s ≤ t , and s ≥ t (comparisons)

∙ 1∣s, 2∣s, 3∣s, . . . (divisibility constraints)

∙ ⊤ (true) and ⊥ (false) (propositional constants)

∙ F ∨ G (disjunction), F ∧ G (conjunction) and ¬F (negation)(propositional connectives)

∙ ∃x .F (reads ”there exists an x such that F ”) and∀x .F (reads ”for all x : F ”) (first-order fragment)

where s and t are terms and x is a variable.

Furthermore, We allow brackets in formulas.

Notice: The formulas are interpreted over the integers.

13 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 14: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Formulas

We consider formulas F ,G,F1,G1,F2 . . . of the following forms:

∙ s = t , s < t , s > t , s ≤ t , and s ≥ t (comparisons)

∙ 1∣s, 2∣s, 3∣s, . . . (divisibility constraints)

∙ ⊤ (true) and ⊥ (false) (propositional constants)

∙ F ∨ G (disjunction), F ∧ G (conjunction) and ¬F (negation)(propositional connectives)

∙ ∃x .F (reads ”there exists an x such that F ”) and∀x .F (reads ”for all x : F ”) (first-order fragment)

where s and t are terms and x is a variable.

Furthermore, We allow brackets in formulas.

Notice: The formulas are interpreted over the integers.

14 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 15: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Formulas

We consider formulas F ,G,F1,G1,F2 . . . of the following forms:

∙ s = t , s < t , s > t , s ≤ t , and s ≥ t (comparisons)

∙ 1∣s, 2∣s, 3∣s, . . . (divisibility constraints)

∙ ⊤ (true) and ⊥ (false) (propositional constants)

∙ F ∨ G (disjunction), F ∧ G (conjunction) and ¬F (negation)(propositional connectives)

∙ ∃x .F (reads ”there exists an x such that F ”) and∀x .F (reads ”for all x : F ”) (first-order fragment)

where s and t are terms and x is a variable.

Furthermore, We allow brackets in formulas.

Notice: The formulas are interpreted over the integers.

15 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 16: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Formulas

We consider formulas F ,G,F1,G1,F2 . . . of the following forms:

∙ s = t , s < t , s > t , s ≤ t , and s ≥ t (comparisons)

∙ 1∣s, 2∣s, 3∣s, . . . (divisibility constraints)

∙ ⊤ (true) and ⊥ (false) (propositional constants)

∙ F ∨ G (disjunction), F ∧ G (conjunction) and ¬F (negation)(propositional connectives)

∙ ∃x .F (reads ”there exists an x such that F ”) and∀x .F (reads ”for all x : F ”) (first-order fragment)

where s and t are terms and x is a variable.

Furthermore, We allow brackets in formulas.

Notice: The formulas are interpreted over the integers.

16 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 17: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Notational conventions

∙ Relative precedence: ¬ (highest – binds tightest), ∧, ∨ (lowest)

∙ The quantifiers ∀x and ∃x extend as far as possible to the right.

∙ ∀x1.∀x2. . . .∀xn.F is abbreviated to ∀x1, x2, . . . , xn.F

Example:∀x .∃y .¬x + 1 = 2y ∧ x > 0 ∨ y < 2

means∀x .∃y .(((¬x + 1 = 2y) ∧ x > 0) ∨ y < 2)

17 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 18: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Notational conventions

∙ Relative precedence: ¬ (highest – binds tightest), ∧, ∨ (lowest)

∙ The quantifiers ∀x and ∃x extend as far as possible to the right.

∙ ∀x1.∀x2. . . .∀xn.F is abbreviated to ∀x1, x2, . . . , xn.F

Example:∀x .∃y .¬x + 1 = 2y ∧ x > 0 ∨ y < 2

means∀x .∃y .(((¬x + 1 = 2y) ∧ x > 0) ∨ y < 2)

18 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 19: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Notational conventions

∙ Relative precedence: ¬ (highest – binds tightest), ∧, ∨ (lowest)

∙ The quantifiers ∀x and ∃x extend as far as possible to the right.

∙ ∀x1.∀x2. . . .∀xn.F is abbreviated to ∀x1, x2, . . . , xn.F

Example:∀x .∃y .¬x + 1 = 2y ∧ x > 0 ∨ y < 2

means∀x .∃y .(((¬x + 1 = 2y) ∧ x > 0) ∨ y < 2)

19 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 20: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Notational conventions

∙ Relative precedence: ¬ (highest – binds tightest), ∧, ∨ (lowest)

∙ The quantifiers ∀x and ∃x extend as far as possible to the right.

∙ ∀x1.∀x2. . . .∀xn.F is abbreviated to ∀x1, x2, . . . , xn.F

Example:∀x .∃y .¬x + 1 = 2y ∧ x > 0 ∨ y < 2

means∀x .∃y .(((¬x + 1 = 2y) ∧ x > 0) ∨ y < 2)

20 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 21: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Notational conventions

∙ Relative precedence: ¬ (highest – binds tightest), ∧, ∨ (lowest)

∙ The quantifiers ∀x and ∃x extend as far as possible to the right.

∙ ∀x1.∀x2. . . .∀xn.F is abbreviated to ∀x1, x2, . . . , xn.F

Example:∀x .∃y .¬x + 1 = 2y ∧ x > 0 ∨ y < 2

means∀x .∃y .(((¬x + 1 = 2y) ∧ x > 0) ∨ y < 2)

21 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 22: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Some concepts

∙ In ∀x .F :∙ x is called the quantified variable∙ ∀x is called the quantifier∙ F is the scope of the quantifier

The case for ∃x .F is similar.

∙ An occurrence of a variable x in a formula F is a boundoccurrence if it occurs in the scope of a quantifier ∀x or ∃x in F.Otherwise, that occurrence of x is free in F .

∙ x is a free variable of F if there is some free occurrence of x inF .

∙ A formula is called closed if it contains no free variables;otherwise it is called open.

22 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 23: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Some concepts

∙ In ∀x .F :∙ x is called the quantified variable∙ ∀x is called the quantifier∙ F is the scope of the quantifier

The case for ∃x .F is similar.

∙ An occurrence of a variable x in a formula F is a boundoccurrence if it occurs in the scope of a quantifier ∀x or ∃x in F.Otherwise, that occurrence of x is free in F .

∙ x is a free variable of F if there is some free occurrence of x inF .

∙ A formula is called closed if it contains no free variables;otherwise it is called open.

23 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 24: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Some concepts

∙ In ∀x .F :∙ x is called the quantified variable∙ ∀x is called the quantifier∙ F is the scope of the quantifier

The case for ∃x .F is similar.

∙ An occurrence of a variable x in a formula F is a boundoccurrence if it occurs in the scope of a quantifier ∀x or ∃x in F.Otherwise, that occurrence of x is free in F .

∙ x is a free variable of F if there is some free occurrence of x inF .

∙ A formula is called closed if it contains no free variables;otherwise it is called open.

24 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 25: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Some concepts

∙ In ∀x .F :∙ x is called the quantified variable∙ ∀x is called the quantifier∙ F is the scope of the quantifier

The case for ∃x .F is similar.

∙ An occurrence of a variable x in a formula F is a boundoccurrence if it occurs in the scope of a quantifier ∀x or ∃x in F.Otherwise, that occurrence of x is free in F .

∙ x is a free variable of F if there is some free occurrence of x inF .

∙ A formula is called closed if it contains no free variables;otherwise it is called open.

25 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 26: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Semantics

Let ℤ denote the set of integers . . . ,−2,−1, 0,1, 2, . . ..

The operations + and − and the relations =, <,≤, >,≥ have theirstandard meaning.

A interpretation I assigns an integer I(x) ∈ ℤ to every variable x .

Let I ⊲ {x 7→ v} be the x-variant of I which is as I except that v isassigned to x .

26 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 27: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Semantics

Let ℤ denote the set of integers . . . ,−2,−1, 0,1, 2, . . ..

The operations + and − and the relations =, <,≤, >,≥ have theirstandard meaning.

A interpretation I assigns an integer I(x) ∈ ℤ to every variable x .

Let I ⊲ {x 7→ v} be the x-variant of I which is as I except that v isassigned to x .

27 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 28: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Semantics

Let ℤ denote the set of integers . . . ,−2,−1, 0,1, 2, . . ..

The operations + and − and the relations =, <,≤, >,≥ have theirstandard meaning.

A interpretation I assigns an integer I(x) ∈ ℤ to every variable x .

Let I ⊲ {x 7→ v} be the x-variant of I which is as I except that v isassigned to x .

28 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 29: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Semantics

Let ℤ denote the set of integers . . . ,−2,−1, 0,1, 2, . . ..

The operations + and − and the relations =, <,≤, >,≥ have theirstandard meaning.

A interpretation I assigns an integer I(x) ∈ ℤ to every variable x .

Let I ⊲ {x 7→ v} be the x-variant of I which is as I except that v isassigned to x .

29 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 30: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Semantics of terms

Let an assignment I be given.

The semantics of a term s is an integer I(s) ∈ ℤ defined as follows:

I(x) = I(x)I(a) = a where a ∈ ℤ

I(s + t) = I(s) + I(t)I(s − t) = I(s) − I(t)I(a ⋅ s) = a ⋅ I(s) where a ∈ ℤ

30 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 31: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Semantics of formulas

Let an assignment I be given.

The semantic relation I ∣= F is defined by structural induction onformulas:

I ∣= s < t iff I(s) < I(t) other relations are similarI ∣= a∣s iff a divides I(s) where a ∈ ℤ

I ∣= ¬F iff not (I ∣= F )I ∣= F ∨ G iff I ∣= F or I ∣= GI ∣= F ∧ G iff I ∣= F and I ∣= GI ∣= ∀x .F iff I ⊲ {x 7→ v} ∣= F for every v ∈ ℤ

I ∣= ∃x .F iff I ⊲ {x 7→ v} ∣= F for some v ∈ ℤ

31 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 32: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Concepts

A formula F is satisfiable if there is some assignment I for which theformula is true. Otherwise it is unsatisfiable.

A formula is valid if it is true for all assignments.

Notice: The truth value of a closed formula is independent of thechosen assignment. It is either valid (true for all assignments), orunsatisfiable (false for all assignments).

32 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 33: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Concepts

A formula F is satisfiable if there is some assignment I for which theformula is true. Otherwise it is unsatisfiable.

A formula is valid if it is true for all assignments.

Notice: The truth value of a closed formula is independent of thechosen assignment. It is either valid (true for all assignments), orunsatisfiable (false for all assignments).

33 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 34: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Concepts

A formula F is satisfiable if there is some assignment I for which theformula is true. Otherwise it is unsatisfiable.

A formula is valid if it is true for all assignments.

Notice: The truth value of a closed formula is independent of thechosen assignment. It is either valid (true for all assignments), orunsatisfiable (false for all assignments).

34 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 35: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Examples

∙ ∃y .x = 2y — (x is even) is satisfiable but not validalso expressible as 2∣x

∙ ∃y .x = 2y ∨ x = 2y + 1 — (x is even or x is odd) is validalso expressible as 2∣x ∨ 2∣x + 1

∙ ∃x .∀y .x ≤ y is unsatifiable (false)

∙ ∃x .∀y .x + y = y is valid (true)

35 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 36: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Examples

∙ ∃y .x = 2y — (x is even) is satisfiable but not validalso expressible as 2∣x

∙ ∃y .x = 2y ∨ x = 2y + 1 — (x is even or x is odd) is validalso expressible as 2∣x ∨ 2∣x + 1

∙ ∃x .∀y .x ≤ y is unsatifiable (false)

∙ ∃x .∀y .x + y = y is valid (true)

36 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 37: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Examples

∙ ∃y .x = 2y — (x is even) is satisfiable but not validalso expressible as 2∣x

∙ ∃y .x = 2y ∨ x = 2y + 1 — (x is even or x is odd) is validalso expressible as 2∣x ∨ 2∣x + 1

∙ ∃x .∀y .x ≤ y is unsatifiable (false)

∙ ∃x .∀y .x + y = y is valid (true)

37 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 38: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Examples

∙ ∃y .x = 2y — (x is even) is satisfiable but not validalso expressible as 2∣x

∙ ∃y .x = 2y ∨ x = 2y + 1 — (x is even or x is odd) is validalso expressible as 2∣x ∨ 2∣x + 1

∙ ∃x .∀y .x ≤ y is unsatifiable (false)

∙ ∃x .∀y .x + y = y is valid (true)

38 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 39: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Quantifier elimination

In the theory of real numbers an example of quantifier elimination is:

∃x .ax2 + bx + c = 0 is equivalent to b2 − 4ac ≥ 0

where a, b, c ∈ ℝ and a ∕= 0.

Presburger developed a method, which for an arbitrary Presburgerformula F gives to an equivalent quantifier-free formula G.

If F is a closed formula, then the truth value of G can be computed.

For example, Cooper’s algorithm for Presburger Arithmetictransforms:

∃x .(3x + 1 < 10 ∨ 7x − 6 > 7) ∧ 2∣x

to the following variable- and quantifier-free formula:⋁42

j=1(42∣j ∧ 21∣j)∨⋁42

j=1((39 + j < 63 ∨ 39 < 39 + j) ∧ 42∣39 + j ∧ 21∣39 + j)

39 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 40: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Quantifier elimination

In the theory of real numbers an example of quantifier elimination is:

∃x .ax2 + bx + c = 0 is equivalent to b2 − 4ac ≥ 0

where a, b, c ∈ ℝ and a ∕= 0.

Presburger developed a method, which for an arbitrary Presburgerformula F gives to an equivalent quantifier-free formula G.

If F is a closed formula, then the truth value of G can be computed.

For example, Cooper’s algorithm for Presburger Arithmetictransforms:

∃x .(3x + 1 < 10 ∨ 7x − 6 > 7) ∧ 2∣x

to the following variable- and quantifier-free formula:⋁42

j=1(42∣j ∧ 21∣j)∨⋁42

j=1((39 + j < 63 ∨ 39 < 39 + j) ∧ 42∣39 + j ∧ 21∣39 + j)

40 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 41: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Quantifier elimination

In the theory of real numbers an example of quantifier elimination is:

∃x .ax2 + bx + c = 0 is equivalent to b2 − 4ac ≥ 0

where a, b, c ∈ ℝ and a ∕= 0.

Presburger developed a method, which for an arbitrary Presburgerformula F gives to an equivalent quantifier-free formula G.

If F is a closed formula, then the truth value of G can be computed.

For example, Cooper’s algorithm for Presburger Arithmetictransforms:

∃x .(3x + 1 < 10 ∨ 7x − 6 > 7) ∧ 2∣x

to the following variable- and quantifier-free formula:⋁42

j=1(42∣j ∧ 21∣j)∨⋁42

j=1((39 + j < 63 ∨ 39 < 39 + j) ∧ 42∣39 + j ∧ 21∣39 + j)

41 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 42: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Quantifier elimination

In the theory of real numbers an example of quantifier elimination is:

∃x .ax2 + bx + c = 0 is equivalent to b2 − 4ac ≥ 0

where a, b, c ∈ ℝ and a ∕= 0.

Presburger developed a method, which for an arbitrary Presburgerformula F gives to an equivalent quantifier-free formula G.

If F is a closed formula, then the truth value of G can be computed.

For example, Cooper’s algorithm for Presburger Arithmetictransforms:

∃x .(3x + 1 < 10 ∨ 7x − 6 > 7) ∧ 2∣x

to the following variable- and quantifier-free formula:⋁42

j=1(42∣j ∧ 21∣j)∨⋁42

j=1((39 + j < 63 ∨ 39 < 39 + j) ∧ 42∣39 + j ∧ 21∣39 + j)

42 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 43: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Quantifier elimination

In the theory of real numbers an example of quantifier elimination is:

∃x .ax2 + bx + c = 0 is equivalent to b2 − 4ac ≥ 0

where a, b, c ∈ ℝ and a ∕= 0.

Presburger developed a method, which for an arbitrary Presburgerformula F gives to an equivalent quantifier-free formula G.

If F is a closed formula, then the truth value of G can be computed.

For example, Cooper’s algorithm for Presburger Arithmetictransforms:

∃x .(3x + 1 < 10 ∨ 7x − 6 > 7) ∧ 2∣x

to the following variable- and quantifier-free formula:⋁42

j=1(42∣j ∧ 21∣j)∨⋁42

j=1((39 + j < 63 ∨ 39 < 39 + j) ∧ 42∣39 + j ∧ 21∣39 + j)

43 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 44: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Quantifier Elimination (II)

Excluding divisible predicates a∣s from the Presburger Formulasquantifier elimination is not possible.

Lemma: If F (y) is a quantifier-free formula with one free variable y .Let

S = {n ∈ ℤ ∣ F (n) is valid}

Then eitherS ∩ ℤ

+ or ℤ+ ∖ S

is finite

Consider the formula: ∃x .2x = y .∙ S ∩ ℤ

+ is the infinite set of positive even numbers∙ ℤ

+ ∖ S is the infinite set of positive odd numbers

The addition of divisibility predicates makes quantifier eliminationpossible for Presburger Arithmetic, and, e.g.

∃x .2x = y is equivalent to 2∣y

44 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 45: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Quantifier Elimination (II)

Excluding divisible predicates a∣s from the Presburger Formulasquantifier elimination is not possible.

Lemma: If F (y) is a quantifier-free formula with one free variable y .Let

S = {n ∈ ℤ ∣ F (n) is valid}

Then eitherS ∩ ℤ

+ or ℤ+ ∖ S

is finite

Consider the formula: ∃x .2x = y .∙ S ∩ ℤ

+ is the infinite set of positive even numbers∙ ℤ

+ ∖ S is the infinite set of positive odd numbers

The addition of divisibility predicates makes quantifier eliminationpossible for Presburger Arithmetic, and, e.g.

∃x .2x = y is equivalent to 2∣y

45 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 46: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Quantifier Elimination (II)

Excluding divisible predicates a∣s from the Presburger Formulasquantifier elimination is not possible.

Lemma: If F (y) is a quantifier-free formula with one free variable y .Let

S = {n ∈ ℤ ∣ F (n) is valid}

Then eitherS ∩ ℤ

+ or ℤ+ ∖ S

is finite

Consider the formula: ∃x .2x = y .∙ S ∩ ℤ

+ is the infinite set of positive even numbers∙ ℤ

+ ∖ S is the infinite set of positive odd numbers

The addition of divisibility predicates makes quantifier eliminationpossible for Presburger Arithmetic, and, e.g.

∃x .2x = y is equivalent to 2∣y

46 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 47: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Quantifier Elimination (II)

Excluding divisible predicates a∣s from the Presburger Formulasquantifier elimination is not possible.

Lemma: If F (y) is a quantifier-free formula with one free variable y .Let

S = {n ∈ ℤ ∣ F (n) is valid}

Then eitherS ∩ ℤ

+ or ℤ+ ∖ S

is finite

Consider the formula: ∃x .2x = y .∙ S ∩ ℤ

+ is the infinite set of positive even numbers∙ ℤ

+ ∖ S is the infinite set of positive odd numbers

The addition of divisibility predicates makes quantifier eliminationpossible for Presburger Arithmetic, and, e.g.

∃x .2x = y is equivalent to 2∣y

47 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 48: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Quantifier Elimination (II)

Excluding divisible predicates a∣s from the Presburger Formulasquantifier elimination is not possible.

Lemma: If F (y) is a quantifier-free formula with one free variable y .Let

S = {n ∈ ℤ ∣ F (n) is valid}

Then eitherS ∩ ℤ

+ or ℤ+ ∖ S

is finite

Consider the formula: ∃x .2x = y .∙ S ∩ ℤ

+ is the infinite set of positive even numbers∙ ℤ

+ ∖ S is the infinite set of positive odd numbers

The addition of divisibility predicates makes quantifier eliminationpossible for Presburger Arithmetic, and, e.g.

∃x .2x = y is equivalent to 2∣y

48 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 49: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Quantifier Elimination (II)

Excluding divisible predicates a∣s from the Presburger Formulasquantifier elimination is not possible.

Lemma: If F (y) is a quantifier-free formula with one free variable y .Let

S = {n ∈ ℤ ∣ F (n) is valid}

Then eitherS ∩ ℤ

+ or ℤ+ ∖ S

is finite

Consider the formula: ∃x .2x = y .∙ S ∩ ℤ

+ is the infinite set of positive even numbers∙ ℤ

+ ∖ S is the infinite set of positive odd numbers

The addition of divisibility predicates makes quantifier eliminationpossible for Presburger Arithmetic, and, e.g.

∃x .2x = y is equivalent to 2∣y

49 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 50: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Cooper’s procedure - main idea

Consider a formula ∃x .F [x], where F is quantifier free.Main steps:

∙ Put F [x] on negation normal form, yielding F1[x]

∙ Normalize F1[x] to use < as the only comparison operator,yielding F2[x]

∙ Normalize F2[x] so that atomic formulas have one occurrence ofx (at most), yielding F3[x]

∙ Normalize F3[x] so that the coefficients of x is 1 (in atomicformulas containing x), yielding F4[x ′]

∙ Construct from F4[x ′] a quantifier-free formula F5 which isequivalent to ∃x .F [x]

50 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 51: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Cooper’s procedure - main idea

Consider a formula ∃x .F [x], where F is quantifier free.Main steps:

∙ Put F [x] on negation normal form, yielding F1[x]

∙ Normalize F1[x] to use < as the only comparison operator,yielding F2[x]

∙ Normalize F2[x] so that atomic formulas have one occurrence ofx (at most), yielding F3[x]

∙ Normalize F3[x] so that the coefficients of x is 1 (in atomicformulas containing x), yielding F4[x ′]

∙ Construct from F4[x ′] a quantifier-free formula F5 which isequivalent to ∃x .F [x]

51 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 52: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Cooper’s procedure - main idea

Consider a formula ∃x .F [x], where F is quantifier free.Main steps:

∙ Put F [x] on negation normal form, yielding F1[x]

∙ Normalize F1[x] to use < as the only comparison operator,yielding F2[x]

∙ Normalize F2[x] so that atomic formulas have one occurrence ofx (at most), yielding F3[x]

∙ Normalize F3[x] so that the coefficients of x is 1 (in atomicformulas containing x), yielding F4[x ′]

∙ Construct from F4[x ′] a quantifier-free formula F5 which isequivalent to ∃x .F [x]

52 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 53: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Cooper’s procedure - main idea

Consider a formula ∃x .F [x], where F is quantifier free.Main steps:

∙ Put F [x] on negation normal form, yielding F1[x]

∙ Normalize F1[x] to use < as the only comparison operator,yielding F2[x]

∙ Normalize F2[x] so that atomic formulas have one occurrence ofx (at most), yielding F3[x]

∙ Normalize F3[x] so that the coefficients of x is 1 (in atomicformulas containing x), yielding F4[x ′]

∙ Construct from F4[x ′] a quantifier-free formula F5 which isequivalent to ∃x .F [x]

53 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 54: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Cooper’s procedure - main idea

Consider a formula ∃x .F [x], where F is quantifier free.Main steps:

∙ Put F [x] on negation normal form, yielding F1[x]

∙ Normalize F1[x] to use < as the only comparison operator,yielding F2[x]

∙ Normalize F2[x] so that atomic formulas have one occurrence ofx (at most), yielding F3[x]

∙ Normalize F3[x] so that the coefficients of x is 1 (in atomicformulas containing x), yielding F4[x ′]

∙ Construct from F4[x ′] a quantifier-free formula F5 which isequivalent to ∃x .F [x]

54 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 55: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Negation Normal Form

Input: A quantifier-free formula F [x].

Output: A formula F1[x], where negation is used on literals only.

Technique: Apply de Morgan’s laws

¬(F ∨ G) ⇐⇒ ¬F ∧ ¬G¬(F ∧ G) ⇐⇒ ¬F ∨ ¬G

from left to right, together with:

¬¬F ⇐⇒ F¬⊤ ⇐⇒ ⊥¬⊥ ⇐⇒ ⊤

until no further application is possible.

55 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 56: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Negation Normal Form

Input: A quantifier-free formula F [x].

Output: A formula F1[x], where negation is used on literals only.

Technique: Apply de Morgan’s laws

¬(F ∨ G) ⇐⇒ ¬F ∧ ¬G¬(F ∧ G) ⇐⇒ ¬F ∨ ¬G

from left to right, together with:

¬¬F ⇐⇒ F¬⊤ ⇐⇒ ⊥¬⊥ ⇐⇒ ⊤

until no further application is possible.

56 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 57: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Construction of F2[x ]

Output: A formula F2[x] containing comparison < only, and wherenegation is applied to divisibility constraints only.

Technique: Use

s = t ⇐⇒ s < t + 1 ∧ t < s + 1¬(s = t) ⇐⇒ s < t ∨ t < s¬(s < t) ⇐⇒ t < s + 1

The other comparisons ≤,≥, > can also be treated.

57 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 58: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Construction of F3[x ]

Output: A formula F3[x], where atomic formulas contain oneoccurrence of x at most.

Technique: Use linear arithmetic to bring each atomic formulacontaining x on the form

hx < t or t < hx or k ∣hx + t

where h, k ∈ ℤ+ and x does not occur in t .

Example:6x + z < 4x + 3y − 5

is transformed to2x < 3y − z − 5

58 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 59: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Construction of F3[x ]

Output: A formula F3[x], where atomic formulas contain oneoccurrence of x at most.

Technique: Use linear arithmetic to bring each atomic formulacontaining x on the form

hx < t or t < hx or k ∣hx + t

where h, k ∈ ℤ+ and x does not occur in t .

Example:6x + z < 4x + 3y − 5

is transformed to2x < 3y − z − 5

59 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 60: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Construction of F4[x ′]

Output: A formula F4[x ′], where coefficients to x ′ are all 1 and

∃x .F [x] is equivalent to ∃x ′.F [x ′]

Let � be the least common multiple (lcm) of all coefficients to x .

Normalize each constraint so that � is the coefficient of x . Theresulting formula is F ′

3[�x]. F4[x ′] is F ′

3[x′] ∧ �∣x ′

Example:

2x < z + 6 ∧ y − 1 < 3x ∧ 4∣5x + 1

is transformed to F ′

3[30x]

30x < 15z + 90 ∧ 10y − 10 < 30x ∧ 24∣30x + 6

as 30 = lcm{2, 3,5}, and F4[x ′] is

x ′< 15z + 90 ∧ 10y − 10 < x ′ ∧ 24∣x ′ + 6 ∧ 30∣x ′

60 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 61: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Construction of F4[x ′]

Output: A formula F4[x ′], where coefficients to x ′ are all 1 and

∃x .F [x] is equivalent to ∃x ′.F [x ′]

Let � be the least common multiple (lcm) of all coefficients to x .

Normalize each constraint so that � is the coefficient of x . Theresulting formula is F ′

3[�x]. F4[x ′] is F ′

3[x′] ∧ �∣x ′

Example:

2x < z + 6 ∧ y − 1 < 3x ∧ 4∣5x + 1

is transformed to F ′

3[30x]

30x < 15z + 90 ∧ 10y − 10 < 30x ∧ 24∣30x + 6

as 30 = lcm{2, 3,5}, and F4[x ′] is

x ′< 15z + 90 ∧ 10y − 10 < x ′ ∧ 24∣x ′ + 6 ∧ 30∣x ′

61 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 62: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Construction of F4[x ′]

Output: A formula F4[x ′], where coefficients to x ′ are all 1 and

∃x .F [x] is equivalent to ∃x ′.F [x ′]

Let � be the least common multiple (lcm) of all coefficients to x .

Normalize each constraint so that � is the coefficient of x . Theresulting formula is F ′

3[�x]. F4[x ′] is F ′

3[x′] ∧ �∣x ′

Example:

2x < z + 6 ∧ y − 1 < 3x ∧ 4∣5x + 1

is transformed to F ′

3[30x]

30x < 15z + 90 ∧ 10y − 10 < 30x ∧ 24∣30x + 6

as 30 = lcm{2, 3,5}, and F4[x ′] is

x ′< 15z + 90 ∧ 10y − 10 < x ′ ∧ 24∣x ′ + 6 ∧ 30∣x ′

62 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 63: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Construction of F4[x ′]

Output: A formula F4[x ′], where coefficients to x ′ are all 1 and

∃x .F [x] is equivalent to ∃x ′.F [x ′]

Let � be the least common multiple (lcm) of all coefficients to x .

Normalize each constraint so that � is the coefficient of x . Theresulting formula is F ′

3[�x]. F4[x ′] is F ′

3[x′] ∧ �∣x ′

Example:

2x < z + 6 ∧ y − 1 < 3x ∧ 4∣5x + 1

is transformed to F ′

3[30x]

30x < 15z + 90 ∧ 10y − 10 < 30x ∧ 24∣30x + 6

as 30 = lcm{2, 3,5}, and F4[x ′] is

x ′< 15z + 90 ∧ 10y − 10 < x ′ ∧ 24∣x ′ + 6 ∧ 30∣x ′

63 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 64: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Construction of F5 – part 1

Output: A quantifier-free formula F5 which is equivalent to ∃x .F [x](and to ∃x ′.F4[x ′])

Each literal in F4[x ′] containing x ′ has one of the forms:(A) x ′ < a, (B) b < x ′, (C) h∣x ′ + c, (D) ¬(h∣x ′ + c)

We distinguish two cases.

Case 1: there are infinitely many small satisfying assignments to x ′.

Let F−∞[x ′] be obtained from F4[x ′] by replacing:∙ (A)-literals by ⊤ and∙ (B)-literals by ⊥.

Let� = lcm{h ∣ h∣x + c is a divisibility constraint in a (C) or (D) literal}.

Let F51 be�⋁

j=1

F−∞[j]

All possible combinations of divisibility constraints are tested.64 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 65: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Construction of F5 – part 1

Output: A quantifier-free formula F5 which is equivalent to ∃x .F [x](and to ∃x ′.F4[x ′])

Each literal in F4[x ′] containing x ′ has one of the forms:(A) x ′ < a, (B) b < x ′, (C) h∣x ′ + c, (D) ¬(h∣x ′ + c)

We distinguish two cases.

Case 1: there are infinitely many small satisfying assignments to x ′.

Let F−∞[x ′] be obtained from F4[x ′] by replacing:∙ (A)-literals by ⊤ and∙ (B)-literals by ⊥.

Let� = lcm{h ∣ h∣x + c is a divisibility constraint in a (C) or (D) literal}.

Let F51 be�⋁

j=1

F−∞[j]

All possible combinations of divisibility constraints are tested.65 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 66: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Construction of F5 – part 1

Output: A quantifier-free formula F5 which is equivalent to ∃x .F [x](and to ∃x ′.F4[x ′])

Each literal in F4[x ′] containing x ′ has one of the forms:(A) x ′ < a, (B) b < x ′, (C) h∣x ′ + c, (D) ¬(h∣x ′ + c)

We distinguish two cases.

Case 1: there are infinitely many small satisfying assignments to x ′.

Let F−∞[x ′] be obtained from F4[x ′] by replacing:∙ (A)-literals by ⊤ and∙ (B)-literals by ⊥.

Let� = lcm{h ∣ h∣x + c is a divisibility constraint in a (C) or (D) literal}.

Let F51 be�⋁

j=1

F−∞[j]

All possible combinations of divisibility constraints are tested.66 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 67: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Construction of F5 – part 1

Output: A quantifier-free formula F5 which is equivalent to ∃x .F [x](and to ∃x ′.F4[x ′])

Each literal in F4[x ′] containing x ′ has one of the forms:(A) x ′ < a, (B) b < x ′, (C) h∣x ′ + c, (D) ¬(h∣x ′ + c)

We distinguish two cases.

Case 1: there are infinitely many small satisfying assignments to x ′.

Let F−∞[x ′] be obtained from F4[x ′] by replacing:∙ (A)-literals by ⊤ and∙ (B)-literals by ⊥.

Let� = lcm{h ∣ h∣x + c is a divisibility constraint in a (C) or (D) literal}.

Let F51 be�⋁

j=1

F−∞[j]

All possible combinations of divisibility constraints are tested.67 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 68: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Construction of F5 – part 2

Each literal in F4[x ′] containing x ′ has one of the forms:(A) x ′ < a, (B) b < x ′, (C) h∣x ′ + c, (D) ¬(h∣x ′ + c)

Case 2: there is a least satisfying assignments to x ′.

For that assignment an (B) literal is true and for smaller assignmentsto x ′ the formula is false.

Let B = {b∣b < x ′ is a (B) literal}

Then F52 is:�⋁

j=1

b∈B

F4[b + j]

Then F5 is F51 ∨ F52 i.e.

�⋁

j=1

F−∞[j] ∨�⋁

j=1

b∈B

F4[b + j]

68 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 69: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Construction of F5 – part 2

Each literal in F4[x ′] containing x ′ has one of the forms:(A) x ′ < a, (B) b < x ′, (C) h∣x ′ + c, (D) ¬(h∣x ′ + c)

Case 2: there is a least satisfying assignments to x ′.

For that assignment an (B) literal is true and for smaller assignmentsto x ′ the formula is false.

Let B = {b∣b < x ′ is a (B) literal}

Then F52 is:�⋁

j=1

b∈B

F4[b + j]

Then F5 is F51 ∨ F52 i.e.

�⋁

j=1

F−∞[j] ∨�⋁

j=1

b∈B

F4[b + j]

69 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 70: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Construction of F5 – part 2

Each literal in F4[x ′] containing x ′ has one of the forms:(A) x ′ < a, (B) b < x ′, (C) h∣x ′ + c, (D) ¬(h∣x ′ + c)

Case 2: there is a least satisfying assignments to x ′.

For that assignment an (B) literal is true and for smaller assignmentsto x ′ the formula is false.

Let B = {b∣b < x ′ is a (B) literal}

Then F52 is:�⋁

j=1

b∈B

F4[b + j]

Then F5 is F51 ∨ F52 i.e.

�⋁

j=1

F−∞[j] ∨�⋁

j=1

b∈B

F4[b + j]

70 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 71: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Example (I)

∃x . (3x + 1 < 10 ∨ 7x − 6 > 7) ∧ 2∣x︸ ︷︷ ︸

F [x ]

F [x] is on Negation Normal Form. Isolate x and use < only:

∃x . (3x < 9 ∨ 13 < 7x) ∧ 2∣x︸ ︷︷ ︸

F3 [x ]

Normalize coefficient to x , part 1:

∃x . (21x < 63 ∨ 39 < 21x) ∧ 42∣21x︸ ︷︷ ︸

F ′

3 [21x ]

Normalize coefficient to x , part 2:

∃x ′. (x ′

< 63 ∨ 39 < x ′) ∧ 42∣x ′ ∧ 21∣x ′

︸ ︷︷ ︸

F4 [x′ ]

71 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 72: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Example (I)

∃x . (3x + 1 < 10 ∨ 7x − 6 > 7) ∧ 2∣x︸ ︷︷ ︸

F [x ]

F [x] is on Negation Normal Form. Isolate x and use < only:

∃x . (3x < 9 ∨ 13 < 7x) ∧ 2∣x︸ ︷︷ ︸

F3 [x ]

Normalize coefficient to x , part 1:

∃x . (21x < 63 ∨ 39 < 21x) ∧ 42∣21x︸ ︷︷ ︸

F ′

3 [21x ]

Normalize coefficient to x , part 2:

∃x ′. (x ′

< 63 ∨ 39 < x ′) ∧ 42∣x ′ ∧ 21∣x ′

︸ ︷︷ ︸

F4 [x′ ]

72 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 73: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Example (I)

∃x . (3x + 1 < 10 ∨ 7x − 6 > 7) ∧ 2∣x︸ ︷︷ ︸

F [x ]

F [x] is on Negation Normal Form. Isolate x and use < only:

∃x . (3x < 9 ∨ 13 < 7x) ∧ 2∣x︸ ︷︷ ︸

F3 [x ]

Normalize coefficient to x , part 1:

∃x . (21x < 63 ∨ 39 < 21x) ∧ 42∣21x︸ ︷︷ ︸

F ′

3 [21x ]

Normalize coefficient to x , part 2:

∃x ′. (x ′

< 63 ∨ 39 < x ′) ∧ 42∣x ′ ∧ 21∣x ′

︸ ︷︷ ︸

F4 [x′ ]

73 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 74: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Example (I)

∃x . (3x + 1 < 10 ∨ 7x − 6 > 7) ∧ 2∣x︸ ︷︷ ︸

F [x ]

F [x] is on Negation Normal Form. Isolate x and use < only:

∃x . (3x < 9 ∨ 13 < 7x) ∧ 2∣x︸ ︷︷ ︸

F3 [x ]

Normalize coefficient to x , part 1:

∃x . (21x < 63 ∨ 39 < 21x) ∧ 42∣21x︸ ︷︷ ︸

F ′

3 [21x ]

Normalize coefficient to x , part 2:

∃x ′. (x ′

< 63 ∨ 39 < x ′) ∧ 42∣x ′ ∧ 21∣x ′

︸ ︷︷ ︸

F4 [x′ ]

74 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 75: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Example (II)

∃x ′. (x ′

< 63 ∨ 39 < x ′) ∧ 42∣x ′ ∧ 21∣x ′

︸ ︷︷ ︸

F4 [x′ ]

Eliminate the quantifier:

F−∞[x ′] : (⊤ ∨ ⊥) ∧ 42∣x ′ ∧ 21∣x ′

� = lcm{21, 42} = 42

B = {39}

⋁42j=1(42∣j ∧ 21∣j)

∨⋁42

j=1((39 + j < 63 ∨ 39 < 39 + j) ∧ 42∣39 + j ∧ 21∣39 + j)

This formula is true and so is

∃x . (3x + 1 < 10 ∨ 7x − 6 > 7) ∧ 2∣x︸ ︷︷ ︸

F [x ]

75 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 76: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Example (II)

∃x ′. (x ′

< 63 ∨ 39 < x ′) ∧ 42∣x ′ ∧ 21∣x ′

︸ ︷︷ ︸

F4 [x′ ]

Eliminate the quantifier:

F−∞[x ′] : (⊤ ∨ ⊥) ∧ 42∣x ′ ∧ 21∣x ′

� = lcm{21, 42} = 42

B = {39}

⋁42j=1(42∣j ∧ 21∣j)

∨⋁42

j=1((39 + j < 63 ∨ 39 < 39 + j) ∧ 42∣39 + j ∧ 21∣39 + j)

This formula is true and so is

∃x . (3x + 1 < 10 ∨ 7x − 6 > 7) ∧ 2∣x︸ ︷︷ ︸

F [x ]

76 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 77: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Example (II)

∃x ′. (x ′

< 63 ∨ 39 < x ′) ∧ 42∣x ′ ∧ 21∣x ′

︸ ︷︷ ︸

F4 [x′ ]

Eliminate the quantifier:

F−∞[x ′] : (⊤ ∨ ⊥) ∧ 42∣x ′ ∧ 21∣x ′

� = lcm{21, 42} = 42

B = {39}

⋁42j=1(42∣j ∧ 21∣j)

∨⋁42

j=1((39 + j < 63 ∨ 39 < 39 + j) ∧ 42∣39 + j ∧ 21∣39 + j)

This formula is true and so is

∃x . (3x + 1 < 10 ∨ 7x − 6 > 7) ∧ 2∣x︸ ︷︷ ︸

F [x ]

77 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 78: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Summary (I)

∙ Cooper’s algorithm can decide arbitrary formulas of PresbrugerArithmetic – even in the presence of arbitrary quantifications.

∙ The problem has a double exponential lower bound and a tripleexponential upper bound.

∙ Cooper’s algorithm has a triple exponential upper bound.

∙ Many optimizations are possible.

78 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 79: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Summary (I)

∙ Cooper’s algorithm can decide arbitrary formulas of PresbrugerArithmetic – even in the presence of arbitrary quantifications.

∙ The problem has a double exponential lower bound and a tripleexponential upper bound.

∙ Cooper’s algorithm has a triple exponential upper bound.

∙ Many optimizations are possible.

79 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 80: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Summary (I)

∙ Cooper’s algorithm can decide arbitrary formulas of PresbrugerArithmetic – even in the presence of arbitrary quantifications.

∙ The problem has a double exponential lower bound and a tripleexponential upper bound.

∙ Cooper’s algorithm has a triple exponential upper bound.

∙ Many optimizations are possible.

80 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 81: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Summary (I)

∙ Cooper’s algorithm can decide arbitrary formulas of PresbrugerArithmetic – even in the presence of arbitrary quantifications.

∙ The problem has a double exponential lower bound and a tripleexponential upper bound.

∙ Cooper’s algorithm has a triple exponential upper bound.

∙ Many optimizations are possible.

81 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 82: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Summary (II)

The advantage with Cooper’s algorithm is that it does not requirenormal form, as some other decision methods do. Quantifierelimination in connection with DNF or CNF hurts a lot.

A disadvantage with Cooper’s algorithm is that constants obtainedusing lcm may be large.

Ongoing work: Experiments with a declarative implementation of thealgorithm including many optimizations aiming at:

∙ including techniques from other decision methods, and

∙ a parallel implementation on a multi-core platform

striving for a very efficient backend for DC-modelchecking.

82 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 83: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Summary (II)

The advantage with Cooper’s algorithm is that it does not requirenormal form, as some other decision methods do. Quantifierelimination in connection with DNF or CNF hurts a lot.

A disadvantage with Cooper’s algorithm is that constants obtainedusing lcm may be large.

Ongoing work: Experiments with a declarative implementation of thealgorithm including many optimizations aiming at:

∙ including techniques from other decision methods, and

∙ a parallel implementation on a multi-core platform

striving for a very efficient backend for DC-modelchecking.

83 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010

Page 84: Presburger Arithmetic: Cooper’s algorithm Top- ics in Em ... · Presburger Arithmetic: Cooper’s algorithm Michael R. Hansen 1 DTU Informatics, Technical University of Denmark

02917Ad-

vancedTop-ics inEm-bed-dedSys-tems

Michael R. Hansen

Summary (II)

The advantage with Cooper’s algorithm is that it does not requirenormal form, as some other decision methods do. Quantifierelimination in connection with DNF or CNF hurts a lot.

A disadvantage with Cooper’s algorithm is that constants obtainedusing lcm may be large.

Ongoing work: Experiments with a declarative implementation of thealgorithm including many optimizations aiming at:

∙ including techniques from other decision methods, and

∙ a parallel implementation on a multi-core platform

striving for a very efficient backend for DC-modelchecking.

84 DTU Informatics, Technical University of Denmark Presburger Arithmetic: Cooper’s algorithm MRH 17/06/2010