Present and Future of Proving Termination of Rewriting Albert Rubio - - PowerPoint PPT Presentation

present and future of proving termination of rewriting
SMART_READER_LITE
LIVE PREVIEW

Present and Future of Proving Termination of Rewriting Albert Rubio - - PowerPoint PPT Presentation

Present and Future of Proving Termination of Rewriting Albert Rubio Universitat Polit` ecnica de Catalunya Barcelona Albert Rubio - UPC RTA 2008 p.1/31 Overview of the talk Albert Rubio - UPC RTA 2008 p.1/31 Overview of the talk


slide-1
SLIDE 1

Albert Rubio - UPC

Present and Future of Proving Termination of Rewriting

Albert Rubio Universitat Polit` ecnica de Catalunya Barcelona

RTA 2008– p.1/31

slide-2
SLIDE 2

Albert Rubio - UPC

Overview of the talk

RTA 2008– p.1/31

slide-3
SLIDE 3

Albert Rubio - UPC

Overview of the talk

Introduction Rewriting Termination Motivation

RTA 2008– p.1/31

slide-4
SLIDE 4

Albert Rubio - UPC

Overview of the talk

Introduction

RTA 2008– p.1/31

slide-5
SLIDE 5

Albert Rubio - UPC

Overview of the talk

Introduction A bit of history

RTA 2008– p.1/31

slide-6
SLIDE 6

Albert Rubio - UPC

Overview of the talk

Introduction A bit of history Reduction Orderings Polynomial Interpretations Path Orderings

RTA 2008– p.1/31

slide-7
SLIDE 7

Albert Rubio - UPC

Overview of the talk

Introduction A bit of history Reduction Orderings

RTA 2008– p.1/31

slide-8
SLIDE 8

Albert Rubio - UPC

Overview of the talk

Introduction A bit of history Reduction Orderings Powerful automatable methods Dependency Pairs Monotonic Semantic Path Ordering

RTA 2008– p.1/31

slide-9
SLIDE 9

Albert Rubio - UPC

Overview of the talk

Introduction A bit of history Reduction Orderings Powerful automatable methods

RTA 2008– p.1/31

slide-10
SLIDE 10

Albert Rubio - UPC

Overview of the talk

Introduction A bit of history Reduction Orderings Powerful automatable methods XXI century motivation

RTA 2008– p.1/31

slide-11
SLIDE 11

Albert Rubio - UPC

Overview of the talk

Introduction A bit of history Reduction Orderings Powerful automatable methods XXI century motivation Potential sources of improvement

RTA 2008– p.1/31

slide-12
SLIDE 12

Albert Rubio - UPC

Overview of the talk

Introduction A bit of history Reduction Orderings Powerful automatable methods XXI century motivation Potential sources of improvement Conclusions

RTA 2008– p.1/31

slide-13
SLIDE 13

Albert Rubio - UPC

Rewriting

Computing the product of positive integers

RTA 2008– p.2/31

slide-14
SLIDE 14

Albert Rubio - UPC

Rewriting

Computing the product of positive integers

prod(2, 4) = 8 prod(s(s(0)), s(s(s(s(0))))) = s(s(s(s(s(s(s(s(0))))))))

RTA 2008– p.2/31

slide-15
SLIDE 15

Albert Rubio - UPC

Rewriting

Computing the product of positive integers

prod(2, 4) = 8 int prod (int n, int m) { if (n==0) return(0); else return(prod(n-1,m)+m);

}

prod(s(s(0)), s(s(s(s(0))))) = s(s(s(s(s(s(s(s(0)))))))) prod(0,m)

prod(s(n′), m)

prod(n′, m) + m

RTA 2008– p.2/31

slide-16
SLIDE 16

Albert Rubio - UPC

Rewriting

Computing the product of positive integers

prod(2, 4) = 8 int prod (int n, int m) { if (n==0) return(0); else return(prod(n-1,m)+m);

}

int prod ( int n, int m) { int p= 0; while (n!=0) { p+=m; n- -;

}

return(p);

}

prod(s(s(0)), s(s(s(s(0))))) = s(s(s(s(s(s(s(s(0)))))))) prod(0,m)

prod(s(n′), m)

prod(n′, m) + m prod(n,m)

prod1(n,m, 0) prod1(0,m, p)

p prod1(s(n′), m, p)

prod1(n′, m, p + m)

RTA 2008– p.2/31

slide-17
SLIDE 17

Albert Rubio - UPC

Rewriting (cont.)

A special rule: β-reduction

RTA 2008– p.3/31

slide-18
SLIDE 18

Albert Rubio - UPC

Rewriting (cont.)

A special rule: β-reduction

( λx.u ) v →β u{x:=v}

RTA 2008– p.3/31

slide-19
SLIDE 19

Albert Rubio - UPC

Rewriting (cont.)

A special rule: β-reduction @(λx.u,v) →β u{x:=v}

RTA 2008– p.3/31

slide-20
SLIDE 20

Albert Rubio - UPC

Rewriting (cont.)

A special rule: β-reduction @(λx.u,v) →β u{x:=v} @( @(λx.λy. x + y , 3 ) , 5)

RTA 2008– p.3/31

slide-21
SLIDE 21

Albert Rubio - UPC

Rewriting (cont.)

A special rule: β-reduction @(λx.u,v) →β u{x:=v} @(

  • @(λx.λy. x + y
  • λx.u

, 3

  • v

) , 5) →β

RTA 2008– p.3/31

slide-22
SLIDE 22

Albert Rubio - UPC

Rewriting (cont.)

A special rule: β-reduction @(λx.u,v) →β u{x:=v} @(

  • @(λx.λy. x + y
  • λx.u

, 3

  • v

) , 5) →β

@(λy. 3 + y , 5 )

RTA 2008– p.3/31

slide-23
SLIDE 23

Albert Rubio - UPC

Rewriting (cont.)

A special rule: β-reduction @(λx.u,v) →β u{x:=v} @(

  • @(λx.λy. x + y
  • λx.u

, 3

  • v

) , 5) →β

  • @(λy. 3 + y
  • λx.u

, 5

  • v

) →β

RTA 2008– p.3/31

slide-24
SLIDE 24

Albert Rubio - UPC

Rewriting (cont.)

A special rule: β-reduction @(λx.u,v) →β u{x:=v} @(

  • @(λx.λy. x + y
  • λx.u

, 3

  • v

) , 5) →β

  • @(λy. 3 + y
  • λx.u

, 5

  • v

) →β

3 + 5

RTA 2008– p.3/31

slide-25
SLIDE 25

Albert Rubio - UPC

Rewriting (cont.)

β-reduction may not terminate.

RTA 2008– p.4/31

slide-26
SLIDE 26

Albert Rubio - UPC

Rewriting (cont.)

β-reduction may not terminate. @(λx. @(x, x) , λx. @(x, x))

RTA 2008– p.4/31

slide-27
SLIDE 27

Albert Rubio - UPC

Rewriting (cont.)

β-reduction may not terminate.

  • @(λx. @(x, x)
  • λx.u

, λx. @(x, x)

  • v

) →β

RTA 2008– p.4/31

slide-28
SLIDE 28

Albert Rubio - UPC

Rewriting (cont.)

β-reduction may not terminate.

  • @(λx. @(x, x)
  • λx.u

, λx. @(x, x)

  • v

) →β

@(λx. @(x, x) , λx. @(x, x))

RTA 2008– p.4/31

slide-29
SLIDE 29

Albert Rubio - UPC

Rewriting (cont.)

β-reduction may not terminate.

  • @(λx. @(x, x)
  • λx.u

, λx. @(x, x)

  • v

) →β

@(λx. @(x, x) , λx. @(x, x)) →β . . .

RTA 2008– p.4/31

slide-30
SLIDE 30

Albert Rubio - UPC

Rewriting (cont.)

β-reduction may not terminate.

  • @(λx. @(x, x)
  • λx.u

, λx. @(x, x)

  • v

) →β

@(λx. @(x, x) , λx. @(x, x)) →β . . . To ensure termination: Typed λ-calculus

RTA 2008– p.4/31

slide-31
SLIDE 31

Albert Rubio - UPC

Rewriting (cont.)

β-reduction may not terminate.

  • @(λx. @(x, x)
  • λx.u

, λx. @(x, x)

  • v

) →β

@(λx. @(x, x) , λx. @(x, x)) →β . . . To ensure termination: Typed λ-calculus

{x : I

N, y : I N} ⊢ x : I N

{x : I

N, y : I N} ⊢ y : I N

RTA 2008– p.4/31

slide-32
SLIDE 32

Albert Rubio - UPC

Rewriting (cont.)

β-reduction may not terminate.

  • @(λx. @(x, x)
  • λx.u

, λx. @(x, x)

  • v

) →β

@(λx. @(x, x) , λx. @(x, x)) →β . . . To ensure termination: Typed λ-calculus

{x : I

N, y : I N} ⊢ x : I N

{x : I

N, y : I N} ⊢ y : I N

{x : I

N, y : I N} ⊢ x + y : I N

RTA 2008– p.4/31

slide-33
SLIDE 33

Albert Rubio - UPC

Rewriting (cont.)

β-reduction may not terminate.

  • @(λx. @(x, x)
  • λx.u

, λx. @(x, x)

  • v

) →β

@(λx. @(x, x) , λx. @(x, x)) →β . . . To ensure termination: Typed λ-calculus

{x : I

N, y : I N} ⊢ x : I N

{x : I

N, y : I N} ⊢ y : I N

{x : I

N, y : I N} ⊢ x + y : I N

{} ⊢ λx:I

  • N. λy:I
  • N. x + y : I

N → I N → I N

RTA 2008– p.4/31

slide-34
SLIDE 34

Albert Rubio - UPC

Rewriting (cont.)

β-reduction may not terminate.

  • @(λx. @(x, x)
  • λx.u

, λx. @(x, x)

  • v

) →β

@(λx. @(x, x) , λx. @(x, x)) →β . . . To ensure termination: Typed λ-calculus

{x : I

N, y : I N} ⊢ x : I N

{x : I

N, y : I N} ⊢ y : I N

{x : I

N, y : I N} ⊢ x + y : I N

{} ⊢ λx:I

  • N. λy:I
  • N. x + y : I

N → I N → I N

{} ⊢ @( @( λx:I

  • N. λy:I
  • N. x + y , 3 ) , 5 ) : I

N

RTA 2008– p.4/31

slide-35
SLIDE 35

Albert Rubio - UPC

Higher-Order rewriting

Combining rewriting and β-reduction.

RTA 2008– p.5/31

slide-36
SLIDE 36

Albert Rubio - UPC

Higher-Order rewriting

Combining rewriting and β-reduction. With lambdas:

RTA 2008– p.5/31

slide-37
SLIDE 37

Albert Rubio - UPC

Higher-Order rewriting

Combining rewriting and β-reduction. With lambdas: rewriting union β-reduction

RTA 2008– p.5/31

slide-38
SLIDE 38

Albert Rubio - UPC

Higher-Order rewriting

Combining rewriting and β-reduction. With lambdas: rewriting union β-reduction rewriting over β-normalized terms

RTA 2008– p.5/31

slide-39
SLIDE 39

Albert Rubio - UPC

Termination

Absence of infinite computations

RTA 2008– p.6/31

slide-40
SLIDE 40

Albert Rubio - UPC

Termination

Absence of infinite computations Example of non-termination of higher-order rewriting

RTA 2008– p.6/31

slide-41
SLIDE 41

Albert Rubio - UPC

Termination

Absence of infinite computations Let f : α × α ⇒ α and g : (α → α) ⇒ α in

{x : α → α} ⊢ f (g(x), g(x)) : α → @(x, g(x)) : α

RTA 2008– p.6/31

slide-42
SLIDE 42

Albert Rubio - UPC

Termination

Absence of infinite computations Let f : α × α ⇒ α and g : (α → α) ⇒ α in

{x : α → α} ⊢ f (g(x), g(x)) : α → @(x, g(x)) : α

f (g(λy.f (y, y)) , g(λy.f (y, y))) : α

RTA 2008– p.6/31

slide-43
SLIDE 43

Albert Rubio - UPC

Termination

Absence of infinite computations Let f : α × α ⇒ α and g : (α → α) ⇒ α in

{x : α → α} ⊢ f (g(x), g(x)) : α → @(x, g(x)) : α

  • f (g(λy.f (y, y)
  • x

) , g(λy.f (y, y)

  • x

)) : α →

RTA 2008– p.6/31

slide-44
SLIDE 44

Albert Rubio - UPC

Termination

Absence of infinite computations Let f : α × α ⇒ α and g : (α → α) ⇒ α in

{x : α → α} ⊢ f (g(x), g(x)) : α → @(x, g(x)) : α

  • f (g(λy.f (y, y)
  • x

) , g(λy.f (y, y)

  • x

)) : α →

@(λy.f (y, y) , g(λy.f (y, y))) : α

RTA 2008– p.6/31

slide-45
SLIDE 45

Albert Rubio - UPC

Termination

Absence of infinite computations Let f : α × α ⇒ α and g : (α → α) ⇒ α in

{x : α → α} ⊢ f (g(x), g(x)) : α → @(x, g(x)) : α

  • f (g(λy.f (y, y)
  • x

) , g(λy.f (y, y)

  • x

)) : α →

  • @(λy.f (y, y)
  • λy.u

, g(

)

  • v

) : α →β

λy.f (y, y)

RTA 2008– p.6/31

slide-46
SLIDE 46

Albert Rubio - UPC

Termination

Absence of infinite computations Let f : α × α ⇒ α and g : (α → α) ⇒ α in

{x : α → α} ⊢ f (g(x), g(x)) : α → @(x, g(x)) : α

  • f (g(λy.f (y, y)
  • x

) , g(λy.f (y, y)

  • x

)) : α →

  • @(λy.f (y, y)
  • λy.u

, g(

)

  • v

) : α →β

λy.f (y, y) f (g(λy.f (y, y)) , g(λy.f (y, y))) : α → . . .

RTA 2008– p.6/31

slide-47
SLIDE 47

Albert Rubio - UPC

Motivation

Why studing termination (early days)?

RTA 2008– p.7/31

slide-48
SLIDE 48

Albert Rubio - UPC

Motivation

Why studing termination (early days)? Knuth-Bendix completion and theorem proving

RTA 2008– p.7/31

slide-49
SLIDE 49

Albert Rubio - UPC

Motivation

Why studing termination (early days)? Knuth-Bendix completion and theorem proving Termination of some particular TRS

RTA 2008– p.7/31

slide-50
SLIDE 50

Albert Rubio - UPC

Motivation

Why studing termination (early days)? Knuth-Bendix completion and theorem proving Termination of some particular TRS rule-based algorithms

RTA 2008– p.7/31

slide-51
SLIDE 51

Albert Rubio - UPC

Motivation

Why studing termination (early days)? Knuth-Bendix completion and theorem proving Termination of some particular TRS rule-based algorithms rule-based specification

RTA 2008– p.7/31

slide-52
SLIDE 52

Albert Rubio - UPC

A bit of history

The beginings 1970, Manna and Ness. Reference for reduction orderings. One

  • f the first papers on termination of rewriting.

RTA 2008– p.8/31

slide-53
SLIDE 53

Albert Rubio - UPC

A bit of history

The beginings 1970, Manna and Ness. Reference for reduction orderings. One

  • f the first papers on termination of rewriting.

1970, Knuth and Bendix. Knuth Bendix Ordering (KBO).

RTA 2008– p.8/31

slide-54
SLIDE 54

Albert Rubio - UPC

A bit of history

The beginings 1970, Manna and Ness. Reference for reduction orderings. One

  • f the first papers on termination of rewriting.

1970, Knuth and Bendix. Knuth Bendix Ordering (KBO). 1978, Huet and Lankford. Undecidability of the termination of Term Rewriting Systems.

RTA 2008– p.8/31

slide-55
SLIDE 55

Albert Rubio - UPC

A bit of history

The beginings 1970, Manna and Ness. Reference for reduction orderings. One

  • f the first papers on termination of rewriting.

1970, Knuth and Bendix. Knuth Bendix Ordering (KBO). 1978, Huet and Lankford. Undecidability of the termination of Term Rewriting Systems. 1979, Dershowitz. Recursive Path Ordering (RPO).

RTA 2008– p.8/31

slide-56
SLIDE 56

Albert Rubio - UPC

A bit of history

The beginings 1970, Manna and Ness. Reference for reduction orderings. One

  • f the first papers on termination of rewriting.

1970, Knuth and Bendix. Knuth Bendix Ordering (KBO). 1978, Huet and Lankford. Undecidability of the termination of Term Rewriting Systems. 1979, Dershowitz. Recursive Path Ordering (RPO). 1979, Dershowitz Manna. Multiset ordering.

RTA 2008– p.8/31

slide-57
SLIDE 57

Albert Rubio - UPC

A bit of history

The beginings 1970, Manna and Ness. Reference for reduction orderings. One

  • f the first papers on termination of rewriting.

1970, Knuth and Bendix. Knuth Bendix Ordering (KBO). 1978, Huet and Lankford. Undecidability of the termination of Term Rewriting Systems. 1979, Dershowitz. Recursive Path Ordering (RPO). 1979, Dershowitz Manna. Multiset ordering. 1979, Lankford. One of the first references on polynomial interpretations.

RTA 2008– p.8/31

slide-58
SLIDE 58

Albert Rubio - UPC

A bit of history

The beginings 1970, Manna and Ness. Reference for reduction orderings. One

  • f the first papers on termination of rewriting.

1970, Knuth and Bendix. Knuth Bendix Ordering (KBO). 1978, Huet and Lankford. Undecidability of the termination of Term Rewriting Systems. 1979, Dershowitz. Recursive Path Ordering (RPO). 1979, Dershowitz Manna. Multiset ordering. 1979, Lankford. One of the first references on polynomial interpretations. 1980, Kamin and Levy. Lexicographic Path Ordering (LPO) and Semantic Path Ordering (SPO).

RTA 2008– p.8/31

slide-59
SLIDE 59

Albert Rubio - UPC

Reduction Orderings

s(s(

  • s(s(0)
  • n

) + s(s(s(s(0))))

  • m

)) → s(s(

  • s(s(0)
  • n

+ s(s(s(s(0))))

  • m

) ))

s(n) + m → s(n + m)

RTA 2008– p.9/31

slide-60
SLIDE 60

Albert Rubio - UPC

Reduction Orderings

s(s(

  • s(s(0)
  • n

) + s(s(s(s(0))))

  • m

)) → s(s(

  • s(s(0)
  • n

+ s(s(s(s(0))))

  • m

) ))

s(n) + m → s(n + m) s(n) + m ≻ s(n + m)

RTA 2008– p.9/31

slide-61
SLIDE 61

Albert Rubio - UPC

Reduction Orderings

s(s(

  • s(s(0)
  • n

) + s(s(s(s(0))))

  • m

)) → s(s(

  • s(s(0)
  • n

+ s(s(s(s(0))))

  • m

) ))

s(n) + m → s(n + m) s(n) + m ≻ s(n + m) s(s(0)

  • n

) + s(s(s(s(0))))

  • m

≻ s(s(0)

  • n

+ s(s(s(s(0))))

  • m

)

stable under substitution

RTA 2008– p.9/31

slide-62
SLIDE 62

Albert Rubio - UPC

Reduction Orderings

s(s(

  • s(s(0)
  • n

) + s(s(s(s(0))))

  • m

)) → s(s(

  • s(s(0)
  • n

+ s(s(s(s(0))))

  • m

) ))

s(n) + m → s(n + m) s(n) + m ≻ s(n + m) s(s(0)

  • n

) + s(s(s(s(0))))

  • m

≻ s(s(0)

  • n

+ s(s(s(s(0))))

  • m

)

stable under substitution s(s(

  • s(s(0)
  • n

) + s(s(s(s(0))))

  • m

)) ≻ s(s(

  • s(s(0)
  • n

+ s(s(s(s(0))))

  • m

) )) monotonic

RTA 2008– p.9/31

slide-63
SLIDE 63

Albert Rubio - UPC

Reduction Orderings (cont.)

≻ is a reduction ordering if it’s

well-founded

∃t1 ≻ t2 ≻ t3 ≻ . . .

stable under sustitution s ≻ t implies sσ ≻ tσ for every substitution σ monotonic s ≻ t implies u[s] ≻ u[t] for every context u[ ]

RTA 2008– p.10/31

slide-64
SLIDE 64

Albert Rubio - UPC

Reduction Orderings (cont.)

≻ is a reduction ordering if it’s

well-founded

∃t1 ≻ t2 ≻ t3 ≻ . . .

stable under sustitution s ≻ t implies sσ ≻ tσ for every substitution σ monotonic s ≻ t implies u[s] ≻ u[t] for every context u[ ] R terminates if and only if l ≻ r for all l → r ∈ R for some reduction ordering ≻.

RTA 2008– p.10/31

slide-65
SLIDE 65

Albert Rubio - UPC

Reduction Orderings (cont.)

≻ is a higher-order reduction ordering if it’s

well-founded

∃t1 ≻ t2 ≻ t3 ≻ . . .

stable under substitution s ≻ t implies sσ ≻ tσ for all substitution σ monotonic s ≻ t implies u[s] ≻ u[t] for all context u[ ]

RTA 2008– p.11/31

slide-66
SLIDE 66

Albert Rubio - UPC

Reduction Orderings (cont.)

≻ is a higher-order reduction ordering if it’s

well-founded

∃t1 ≻ t2 ≻ t3 ≻ . . .

stable under substitution s ≻ t implies sσ ≻ tσ for all substitution σ monotonic s ≻ t implies u[s] ≻ u[t] for all context u[ ] functional s →β t implies s ≻ t

RTA 2008– p.11/31

slide-67
SLIDE 67

Albert Rubio - UPC

Reduction Orderings (cont.)

≻ is a higher-order reduction ordering if it’s

well-founded

∃t1 ≻ t2 ≻ t3 ≻ . . .

stable under substitution s ≻ t implies sσ ≻ tσ for all substitution σ monotonic s ≻ t implies u[s] ≻ u[t] for all context u[ ] functional s →β t implies s ≻ t R terminates if and only if l ≻ r for all l → r ∈ R for some higher-order reduction ordering ≻.

RTA 2008– p.11/31

slide-68
SLIDE 68

Albert Rubio - UPC

Polynomial Interpretations

RTA 2008– p.12/31

slide-69
SLIDE 69

Albert Rubio - UPC

Polynomial Interpretations

Interprets every function symbol as a (linear) polynomial:

[f ] = Ak − → A

where A is often the positive integers or the reals.

RTA 2008– p.12/31

slide-70
SLIDE 70

Albert Rubio - UPC

Polynomial Interpretations

Interprets every function symbol as a (linear) polynomial:

[f ] = Ak − → A

where A is often the positive integers or the reals. Interpret terms by: Pol(f (t1, . . . , tn)) = [f ](Pol(t1), . . . , Pol(tn))

RTA 2008– p.12/31

slide-71
SLIDE 71

Albert Rubio - UPC

Polynomial Interpretations

Interprets every function symbol as a (linear) polynomial:

[f ] = Ak − → A

where A is often the positive integers or the reals. Interpret terms by: Pol(f (t1, . . . , tn)) = [f ](Pol(t1), . . . , Pol(tn)) Then a reduction ordering is obtained by s ≻ t if Pol(s) − Pol(t) > 0 if all coeficients are strictly positive. If there are zero coeficients then it is just weakly monotonic.

RTA 2008– p.12/31

slide-72
SLIDE 72

Albert Rubio - UPC

Therecursive path ordering

RTA 2008– p.13/31

slide-73
SLIDE 73

Albert Rubio - UPC

Therecursive path ordering

compares terms by extending an ordering on function symbols.

RTA 2008– p.13/31

slide-74
SLIDE 74

Albert Rubio - UPC

Therecursive path ordering

compares terms by extending an ordering on function symbols. Let ≻F be a (well-founded) ordering on the function symbols For instance: prod ≻F + ≻F s ≻F 0

RTA 2008– p.13/31

slide-75
SLIDE 75

Albert Rubio - UPC

Therecursive path ordering

compares terms by extending an ordering on function symbols. Let ≻F be a (well-founded) ordering on the function symbols For instance: prod ≻F + ≻F s ≻F 0 s = f (s1, . . . , sn) ≻rpo t if and only if

  • 1. si rpo t for some 1 ≤ i ≤ n.
  • 2. t = g(t1, . . . , tm),

f ≻F g and s ≻rpo tj for all 1 ≤ j ≤ m.

  • 3. t = f (t1, . . . , tm)

and

{s1, . . . , sn} ≻≻rpo {t1, . . . , tm}

RTA 2008– p.13/31

slide-76
SLIDE 76

Albert Rubio - UPC

The recursive path ordering (cont.)

s = f (s1, . . . , sn) ≻rpo t if and only if

  • 1. si rpo t for some 1 ≤ i ≤ n.
  • 2. t = g(t1, . . . , tm),

f ≻F g and s ≻rpo tj for all 1 ≤ j ≤ m.

  • 3. t = f (t1, . . . , tm)

and

{s1, . . . , sn} ≻≻rpo {t1, . . . , tm}

Let prod ≻F + ≻F s ≻F 0

RTA 2008– p.14/31

slide-77
SLIDE 77

Albert Rubio - UPC

The recursive path ordering (cont.)

s = f (s1, . . . , sn) ≻rpo t if and only if

  • 1. si rpo t for some 1 ≤ i ≤ n.
  • 2. t = g(t1, . . . , tm),

f ≻F g and s ≻rpo tj for all 1 ≤ j ≤ m.

  • 3. t = f (t1, . . . , tm)

and

{s1, . . . , sn} ≻≻rpo {t1, . . . , tm}

Let prod ≻F + ≻F s ≻F 0 prod(s(n), m) ≻rpo s(prod(n, m))

RTA 2008– p.14/31

slide-78
SLIDE 78

Albert Rubio - UPC

The recursive path ordering (cont.)

s = f (s1, . . . , sn) ≻rpo t if and only if

  • 1. si rpo t for some 1 ≤ i ≤ n.
  • 2. t = g(t1, . . . , tm),

f ≻F g and s ≻rpo tj for all 1 ≤ j ≤ m.

  • 3. t = f (t1, . . . , tm)

and

{s1, . . . , sn} ≻≻rpo {t1, . . . , tm}

Let prod ≻F + ≻F s ≻F 0 prod(s(n), m) ≻rpo s(prod(n, m)) Case 2 prod(s(n), m) ≻rpo prod(n, m)

RTA 2008– p.14/31

slide-79
SLIDE 79

Albert Rubio - UPC

The recursive path ordering (cont.)

s = f (s1, . . . , sn) ≻rpo t if and only if

  • 1. si rpo t for some 1 ≤ i ≤ n.
  • 2. t = g(t1, . . . , tm),

f ≻F g and s ≻rpo tj for all 1 ≤ j ≤ m.

  • 3. t = f (t1, . . . , tm)

and

{s1, . . . , sn} ≻≻rpo {t1, . . . , tm}

Let prod ≻F + ≻F s ≻F 0 prod(s(n), m) ≻rpo s(prod(n, m)) Case 2 prod(s(n), m) ≻rpo prod(n, m) Case 3

{s(n), m} ≻≻rpo {n, m}

RTA 2008– p.14/31

slide-80
SLIDE 80

Albert Rubio - UPC

The recursive path ordering (cont.)

s = f (s1, . . . , sn) ≻rpo t if and only if

  • 1. si rpo t for some 1 ≤ i ≤ n.
  • 2. t = g(t1, . . . , tm),

f ≻F g and s ≻rpo tj for all 1 ≤ j ≤ m.

  • 3. t = f (t1, . . . , tm)

and

{s1, . . . , sn} ≻≻rpo {t1, . . . , tm}

Let prod ≻F + ≻F s ≻F 0 prod(s(n), m) ≻rpo s(prod(n, m)) Case 2 prod(s(n), m) ≻rpo prod(n, m) Case 3

{s(n), m} ≻≻rpo {n, m}

multiset comparison

RTA 2008– p.14/31

slide-81
SLIDE 81

Albert Rubio - UPC

The recursive path ordering (cont.)

s = f (s1, . . . , sn) ≻rpo t if and only if

  • 1. si rpo t for some 1 ≤ i ≤ n.
  • 2. t = g(t1, . . . , tm),

f ≻F g and s ≻rpo tj for all 1 ≤ j ≤ m.

  • 3. t = f (t1, . . . , tm)

and

{s1, . . . , sn} ≻≻rpo {t1, . . . , tm}

Let prod ≻F + ≻F s ≻F 0 prod(s(n), m) ≻rpo s(prod(n, m)) Case 2 prod(s(n), m) ≻rpo prod(n, m) Case 3

{s(n), m} ≻≻rpo {n, m}

multiset comparison s(n) ≻rpo n

RTA 2008– p.14/31

slide-82
SLIDE 82

Albert Rubio - UPC

The recursive path ordering (cont.)

s = f (s1, . . . , sn) ≻rpo t if and only if

  • 1. si rpo t for some 1 ≤ i ≤ n.
  • 2. t = g(t1, . . . , tm),

f ≻F g and s ≻rpo tj for all 1 ≤ j ≤ m.

  • 3. t = f (t1, . . . , tm)

and

{s1, . . . , sn} ≻≻rpo {t1, . . . , tm}

Let prod ≻F + ≻F s ≻F 0 prod(s(n), m) ≻rpo s(prod(n, m)) Case 2 prod(s(n), m) ≻rpo prod(n, m) Case 3

{s(n), m} ≻≻rpo {n, m}

multiset comparison s(n) ≻rpo n Case 1

RTA 2008– p.14/31

slide-83
SLIDE 83

Albert Rubio - UPC

Powerful automatable methods

Methods that can be fully automated Can handle hard examples.

RTA 2008– p.15/31

slide-84
SLIDE 84

Albert Rubio - UPC

Powerful automatable methods

Methods that can be fully automated Can handle hard examples. Only two will be considered in this talk: The Dependency Pair Method The Monotonic Semantic Path Ordering

RTA 2008– p.15/31

slide-85
SLIDE 85

Albert Rubio - UPC

The Dependency Pair Method (cont.)

(Arts and Giesl 1997) Basically, it transforms the rewrite system into a new reduction system which is simpler to analyze and (dis)prove termination.

RTA 2008– p.16/31

slide-86
SLIDE 86

Albert Rubio - UPC

The Dependency Pair Method (cont.)

(Arts and Giesl 1997) Basically, it transforms the rewrite system into a new reduction system which is simpler to analyze and (dis)prove termination.

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) PROD(s(n),m)

SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m)

SUM(n,m)

RTA 2008– p.16/31

slide-87
SLIDE 87

Albert Rubio - UPC

The Dependency Pair Method (cont.)

(Arts and Giesl 1997) Basically, it transforms the rewrite system into a new reduction system which is simpler to analyze and (dis)prove termination.

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) PROD(s(n),m)

SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m)

SUM(n,m)

PROD(s(n),m) PROD(s(n),m) PROD(n,m) SUM(PROD(n,m)) SUM(n,m) SUM(s(n),m)

RTA 2008– p.16/31

slide-88
SLIDE 88

Albert Rubio - UPC

The Dependency Pair Method (cont.)

(Arts and Giesl 1997) Basically, it transforms the rewrite system into a new reduction system which is simpler to analyze and (dis)prove termination.

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) prod(0,m)

ZERO PROD(s(n),m)

SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m)

SUM(n,m) SUM(s(n),m)

SUC(n + m)

RTA 2008– p.16/31

slide-89
SLIDE 89

Albert Rubio - UPC

The Dependency Pair Method (cont.)

(Arts and Giesl 1997) Basically, it transforms the rewrite system into a new reduction system which is simpler to analyze and (dis)prove termination.

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) prod(0,m)

ZERO PROD(s(n),m)

SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m)

SUM(n,m) SUM(s(n),m)

SUC(n + m)

PROD(s(n),m) PROD(s(n),m) PROD(n,m) ZERO SUM(prod(n,m)) SUM(n,m) SUM(s(n),m) SUM(s(n),m) SUC(n+m) PROD(s(n),m)

Does not change the potential cycles!!!

RTA 2008– p.16/31

slide-90
SLIDE 90

Albert Rubio - UPC

The Dependency Pair Method (cont.)

(Arts and Giesl 1997) Basically, it transforms the rewrite system into a new reduction system which is simpler to analyze and (dis)prove termination.

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) prod(0,m)

ZERO PROD(s(n),m)

SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m)

SUM(n,m) SUM(s(n),m)

SUC(n + m)

PROD(s(n),m) PROD(s(n),m) PROD(n,m) ZERO SUM(prod(n,m)) SUM(n,m) SUM(s(n),m) SUM(s(n),m) SUC(n+m) PROD(s(n),m)

RTA 2008– p.16/31

slide-91
SLIDE 91

Albert Rubio - UPC

The Dependency Pair Method (cont.)

(Arts and Giesl 1997) Basically, it transforms the rewrite system into a new reduction system which is simpler to analyze and (dis)prove termination.

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) prod(0,m)

ZERO PROD(s(n),m)

SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m)

SUM(n,m) SUM(s(n),m)

SUC(n + m)

PROD(s(n),m) PROD(s(n),m) PROD(n,m) ZERO SUM(prod(n,m)) SUM(n,m) SUM(s(n),m) SUM(s(n),m) SUC(n+m) PROD(s(n),m)

RTA 2008– p.16/31

slide-92
SLIDE 92

Albert Rubio - UPC

The Dependency Pair Method (cont.)

(Arts and Giesl 1997) Basically, it transforms the rewrite system into a new reduction system which is simpler to analyze and (dis)prove termination.

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) prod(0,m)

ZERO PROD(s(n),m)

SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m)

SUM(n,m) SUM(s(n),m)

SUC(n + m)

PROD(s(n),m) PROD(s(n),m) PROD(n,m) SUM(PROD(n,m)) SUM(n,m) SUM(s(n),m)

RTA 2008– p.16/31

slide-93
SLIDE 93

Albert Rubio - UPC

The Dependency Pair Method (cont.)

(Arts and Giesl 1997) Basically, it transforms the rewrite system into a new reduction system which is simpler to analyze and (dis)prove termination.

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) PROD(s(n),m)

SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m)

SUM(n,m)

PROD(s(n),m) PROD(s(n),m) PROD(n,m) SUM(PROD(n,m)) SUM(n,m) SUM(s(n),m)

RTA 2008– p.16/31

slide-94
SLIDE 94

Albert Rubio - UPC

The Dependency Pair Method (cont.)

(Arts and Giesl 1997) Basically, it transforms the rewrite system into a new reduction system which is simpler to analyze and (dis)prove termination.

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) PROD(s(n),m)

SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m)

SUM(n,m)

PROD(s(n),m) PROD(s(n),m) PROD(n,m) SUM(prod(n,m)) SUM(n,m) SUM(s(n),m)

RTA 2008– p.16/31

slide-95
SLIDE 95

Albert Rubio - UPC

The Dependency Pair Method (cont.)

(Arts and Giesl 1997) Basically, it transforms the rewrite system into a new reduction system which is simpler to analyze and (dis)prove termination.

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) PROD(s(n),m)

SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m)

SUM(n,m)

PROD(s(n),m) PROD(n,m) SUM(n,m) SUM(s(n),m)

RTA 2008– p.16/31

slide-96
SLIDE 96

Albert Rubio - UPC

The Dependency Pair Method (cont.)

(Arts and Giesl 1997) Basically, it transforms the rewrite system into a new reduction system which is simpler to analyze and (dis)prove termination.

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) PROD(s(n),m)

SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m)

SUM(n,m)

The first phase its a simple rewriting trace analysis. This method was a breakthrough in the development of automated termination provers for term rewriting

RTA 2008– p.16/31

slide-97
SLIDE 97

Albert Rubio - UPC

The Dependency Pair Method (cont.)

After simplifying the graph we have to show that all pontential cycles are finite. Solve the ordering constraints ensuring that all cycles in the graph are strictly decreasing. Find an ordering satisfying the constraint: Polynomial Interpretations. RPO-like orderings with argument filterings. ...

RTA 2008– p.17/31

slide-98
SLIDE 98

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000)

RTA 2008– p.18/31

slide-99
SLIDE 99

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000) s = f (s1, . . . , sn) ≻rpo t if and only if

  • 1. si rpo t for some 1 ≤ i ≤ n.
  • 2. t = g(t1, . . . , tm),

f ≻F g and s ≻rpo tj for all 1 ≤ j ≤ m.

  • 3. t = f (t1, . . . , tm)

and

{s1, . . . , sn} ≻≻rpo {t1, . . . , tm}

RTA 2008– p.18/31

slide-100
SLIDE 100

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000) s = f (s1, . . . , sn) ≻spo t if and only if

  • 1. si spo t for some 1 ≤ i ≤ n.
  • 2. t = g(t1, . . . , tm), s ❂ t and s ≻spo tj for all 1 ≤ j ≤ m.
  • 3. t = g(t1, . . . , tm), s ⊒ t and {s1, . . . , sn} ≻≻spo {t1, . . . , tm}

in addition you need s ⊒ t to ensure monotonicity, where ⊒ is monotonic.

RTA 2008– p.18/31

slide-101
SLIDE 101

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000) s = f (s1, . . . , sn) ≻spo t if and only if

  • 1. si spo t for some 1 ≤ i ≤ n.
  • 2. s ❂ t and s ≻spo tj for all 1 ≤ j ≤ m.
  • 3. s ⊒ t and {s1, . . . , sn} ≻≻spo {t1, . . . , tm}

in addition you need s ⊒ t to ensure monotonicity, where ⊒ is monotonic.

RTA 2008– p.18/31

slide-102
SLIDE 102

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000) s = f (s1, . . . , sn) ≻spo t if and only if

  • 1. si spo t for some 1 ≤ i ≤ n.
  • 2. s ❂ t and s ≻spo tj for all 1 ≤ j ≤ m.

in addition you need s ⊒ t to ensure monotonicity, where ⊒ is monotonic.

RTA 2008– p.18/31

slide-103
SLIDE 103

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000) s = f (s1, . . . , sn) ≻spo t if and only if

  • 1. si spo t for some 1 ≤ i ≤ n.
  • 2. s ❂ t and s ≻spo tj for all 1 ≤ j ≤ m.

RTA 2008– p.19/31

slide-104
SLIDE 104

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000) s = f (s1, . . . , sn) ≻spo t if and only if

  • 1. si spo t for some 1 ≤ i ≤ n.
  • 2. s ❂ t and s ≻spo tj for all 1 ≤ j ≤ m.

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) prod(0, m) ❂ ZERO PROD(s(n),m) ❂ SUM(prod(n,m), m) PROD(s(n),m) ❂ PROD(n,m) SUM(s(n),m) ❂ SUM(n,m) SUM(s(n),m) ❂ SUC(n + m)

RTA 2008– p.19/31

slide-105
SLIDE 105

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000)

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) prod(0, m) ❂ ZERO PROD(s(n),m) ❂ SUM(prod(n,m), m) PROD(s(n),m) ❂ PROD(n,m) SUM(s(n),m) ❂ SUM(n,m) SUM(s(n),m) ❂ SUC(n + m)

PROD(s(n),m) PROD(s(n),m) ZERO SUM(n,m) SUM(s(n),m) SUM(s(n),m) SUC(n+m) PROD(s(n),m) PROD(n,m) SUM(prod(n,m))

RTA 2008– p.19/31

slide-106
SLIDE 106

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000)

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) prod(0, m) ❂ ZERO PROD(s(n),m) ❂ SUM(prod(n,m), m) PROD(s(n),m) ❂ PROD(n,m) SUM(s(n),m) ❂ SUM(n,m) SUM(s(n),m) ❂ SUC(n + m)

PROD(s(n),m) PROD(s(n),m) ZERO SUM(n,m) SUM(s(n),m) SUM(s(n),m) SUC(n+m) PROD(s(n),m) PROD(n,m) SUM(prod(n,m))

RTA 2008– p.19/31

slide-107
SLIDE 107

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000)

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) prod(0, m) ❂ ZERO PROD(s(n),m) ❂ SUM(prod(n,m), m) PROD(s(n),m) ❂ PROD(n,m) SUM(s(n),m) ❂ SUM(n,m) SUM(s(n),m) ❂ SUC(n + m)

PROD(s(n),m) SUM(n,m) SUM(s(n),m) PROD(n,m)

RTA 2008– p.19/31

slide-108
SLIDE 108

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000) s = f (s1, . . . , sn) ≻spo t if and only if

  • 1. si spo t for some 1 ≤ i ≤ n.
  • 2. s ❂ t and s ≻spo tj for all 1 ≤ j ≤ m.
  • 3. s ⊒ t and {s1, . . . , sn} ≻≻spo {t1, . . . , tm}

RTA 2008– p.20/31

slide-109
SLIDE 109

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000) s = f (s1, . . . , sn) ≻spo t if and only if

  • 1. si spo t for some 1 ≤ i ≤ n.
  • 2. s ❂ t and s ≻spo tj for all 1 ≤ j ≤ m.
  • 3. s ⊒ t and {s1, . . . , sn} ≻≻spo {t1, . . . , tm}

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) prod(0,m) ❂ ZERO PROD(s(n),m) ❂ SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m) ❂ SUM(n,m) SUM(s(n),m)

SUC(n + m)

RTA 2008– p.20/31

slide-110
SLIDE 110

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000)

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) prod(0,m) ❂ ZERO PROD(s(n),m) ❂ SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m) ❂ SUM(n,m) SUM(s(n),m)

SUC(n + m)

PROD(s(n),m) PROD(s(n),m) ZERO SUM(n,m) SUM(s(n),m) SUM(s(n),m) SUC(n+m) PROD(s(n),m) PROD(n,m) SUM(prod(n,m))

RTA 2008– p.20/31

slide-111
SLIDE 111

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000)

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) prod(0,m) ❂ ZERO PROD(s(n),m) ❂ SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m) ❂ SUM(n,m) SUM(s(n),m)

SUC(n + m)

PROD(s(n),m) SUM(n,m) SUM(s(n),m) PROD(n,m)

RTA 2008– p.20/31

slide-112
SLIDE 112

Albert Rubio - UPC

The (Monotonic) Semantic Path Ordering

(Borralleras, Ferreira and Rubio 2000)

prod(0,m)

prod(s(n),m)

prod(n,m) + m 0 + m

m s(n) + m

s(n + m) prod(0,m) ❂ ZERO PROD(s(n),m) ❂ SUM(prod(n,m), m) PROD(s(n),m)

PROD(n,m) SUM(s(n),m) ❂ SUM(n,m) SUM(s(n),m)

SUC(n + m)

Different pathes provide different constraints to be solved. The Dependency Pair constraint is one of them It is unkown whether there are, in general, better constraints than the one used by the Dependency Pair Method.

RTA 2008– p.20/31

slide-113
SLIDE 113

Albert Rubio - UPC

Comparison of both methods

Monotonic Semantic Path Ordering Dependency Pairs Positive Positive Easy to extend Conceptually simple AC-case [Borralleras Thesis 2003]* CS-case [Borralleras Thesis 2003] HO-case [Borralleras Thesis 2003]* Constraint Framework Constraint Framework [Borralleras Thesis 2003]* [GTS2004]

RTA 2008– p.21/31

slide-114
SLIDE 114

Albert Rubio - UPC

Comparison of both methods

Monotonic Semantic Path Ordering Dependency Pairs Negative Negative Conceptualy more difficult Harder to extend e.g. HO-case

RTA 2008– p.22/31

slide-115
SLIDE 115

Albert Rubio - UPC

XXI century motivation

Present and Future Our main goal should be to provide termination tools for

RTA 2008– p.23/31

slide-116
SLIDE 116

Albert Rubio - UPC

XXI century motivation

Present and Future Our main goal should be to provide termination tools for programming languages logic programs (PROLOG [SGST2006]; AProVE) functional programs (Haskell [GSST2006]; AProVE) imperative programs (e.g. recent work [FK2008])

RTA 2008– p.23/31

slide-117
SLIDE 117

Albert Rubio - UPC

XXI century motivation

Present and Future Our main goal should be to provide termination tools for programming languages logic programs (PROLOG [SGST2006]; AProVE) functional programs (Haskell [GSST2006]; AProVE) imperative programs (e.g. recent work [FK2008]) logical frameworks Maude (AProVE amd Mu-Term) Isabelle (normal HO-rewriting with lambdas) Coq (HO-rewriting with lambdas)

RTA 2008– p.23/31

slide-118
SLIDE 118

Albert Rubio - UPC

XXI century motivation

Present and Future Our main goal should be to provide termination tools for programming languages logic programs (PROLOG [SGST2006]; AProVE) functional programs (Haskell [GSST2006]; AProVE) imperative programs (e.g. recent work [FK2008]) logical frameworks Maude (AProVE amd Mu-Term) Isabelle (normal HO-rewriting with lambdas) Coq (HO-rewriting with lambdas) Making a lot of plublicity of performance results. Certified Termination. Keep existing successful known tools alive: e.g. CiME

RTA 2008– p.23/31

slide-119
SLIDE 119

Albert Rubio - UPC

XXI century motivation

Discourage risks We have to avoid being a small closed community, making it accessible for users, developers and researchers. We need new fresh ideas from time to time.

RTA 2008– p.24/31

slide-120
SLIDE 120

Albert Rubio - UPC

XXI century motivation

Discourage risks We have to avoid being a small closed community, making it accessible for users, developers and researchers. We need new fresh ideas from time to time. Are there too many paper on termination of rewriting?

RTA 2008– p.24/31

slide-121
SLIDE 121

Albert Rubio - UPC

XXI century motivation

Discourage risks We have to avoid being a small closed community, making it accessible for users, developers and researchers. We need new fresh ideas from time to time. Are there too many paper on termination of rewriting? The numbers are the following (only for RTA):

RTA 2008– p.24/31

slide-122
SLIDE 122

Albert Rubio - UPC

XXI century motivation

Discourage risks We have to avoid being a small closed community, making it accessible for users, developers and researchers. We need new fresh ideas from time to time. Are there too many paper on termination of rewriting? The numbers are the following (only for RTA): RTA 2008: one third of the papers are on termination. RTA 2005-2008: it is the 30 % of the papers (34 papers). RTA 2001-2004: it is the 18 % of the papers (18.5 papers).

RTA 2008– p.24/31

slide-123
SLIDE 123

Albert Rubio - UPC

XXI century motivation

Discourage risks We have to avoid being a small closed community, making it accessible for users, developers and researchers. We need new fresh ideas from time to time. Are there too many paper on termination of rewriting? The numbers are the following (only for RTA): RTA 2008: one third of the papers are on termination. RTA 2005-2008: it is the 30 % of the papers (34 papers). RTA 2001-2004: it is the 18 % of the papers (18.5 papers). It’s hard to compare the real progress in two periods, but, at least it’s a bit surprising.

RTA 2008– p.24/31

slide-124
SLIDE 124

Albert Rubio - UPC

XXI century motivation

Discourage risks

RTA 2008– p.25/31

slide-125
SLIDE 125

Albert Rubio - UPC

XXI century motivation

Discourage risks Attacking undecidable problems has a risk of always finding an example to handle by a new improvement

RTA 2008– p.25/31

slide-126
SLIDE 126

Albert Rubio - UPC

XXI century motivation

Discourage risks Attacking undecidable problems has a risk of always finding an example to handle by a new improvement Research on first-order theorem proving has had a different behavior even though they also have a competition, a large list of problems and an undecidable problem.

RTA 2008– p.25/31

slide-127
SLIDE 127

Albert Rubio - UPC

Potential sources of improvement

Constraint Solving techniques Finding orderings to ensure that all cycles decrease it’s a key ingredient in all provers Like, for instance, SAT solvers or SMT solvers in many verification tools. There have been several recent results on finding: RPO, LPO, KBO polynomial interpretations (integers and reals) matrix interpretations by translating the problem into SAT or integer programming.

RTA 2008– p.26/31

slide-128
SLIDE 128

Albert Rubio - UPC

Potential sources of improvement

Constraint Solving techniques These solvers can be used as an ingredient for the termination tool, and it is possible to use them as a black box. Termination tools for other languages can also make use of them.

RTA 2008– p.27/31

slide-129
SLIDE 129

Albert Rubio - UPC

Potential sources of improvement

Constraint Solving techniques These solvers can be used as an ingredient for the termination tool, and it is possible to use them as a black box. Termination tools for other languages can also make use of them. How can we compare them? Are there other useful functionalities?

RTA 2008– p.27/31

slide-130
SLIDE 130

Albert Rubio - UPC

Potential sources of improvement

Constraint Solving techniques These solvers can be used as an ingredient for the termination tool, and it is possible to use them as a black box. Termination tools for other languages can also make use of them. How can we compare them? Are there other useful functionalities? being incremental, i.e. adding new constraints

RTA 2008– p.27/31

slide-131
SLIDE 131

Albert Rubio - UPC

Potential sources of improvement

Constraint Solving techniques These solvers can be used as an ingredient for the termination tool, and it is possible to use them as a black box. Termination tools for other languages can also make use of them. How can we compare them? Are there other useful functionalities? being incremental, i.e. adding new constraints being backtrackable, i.e. removing the last added constraints reusing the work done in previous stages.

RTA 2008– p.27/31

slide-132
SLIDE 132

Albert Rubio - UPC

Potential sources of improvement

Constraint Solving techniques These solvers can be used as an ingredient for the termination tool, and it is possible to use them as a black box. Termination tools for other languages can also make use of them. How can we compare them? Are there other useful functionalities? being incremental, i.e. adding new constraints being backtrackable, i.e. removing the last added constraints reusing the work done in previous stages. These solvers, in particular the ones on polynomial interpretations, may be useful in other contexts.

RTA 2008– p.27/31

slide-133
SLIDE 133

Albert Rubio - UPC

Potential sources of improvement

Constraint Solving techniques Like in 2003 with the termination on competition, I have a proposal to start a competion on solving these constraints.

RTA 2008– p.28/31

slide-134
SLIDE 134

Albert Rubio - UPC

Potential sources of improvement

Constraint Solving techniques Like in 2003 with the termination on competition, I have a proposal to start a competion on solving these constraints. For instance, finding RPOs finding polynomial interpretations over the integers finding polynomial interpretations over the reals ....

RTA 2008– p.28/31

slide-135
SLIDE 135

Albert Rubio - UPC

Potential sources of improvement

Constraint Solving techniques Like in 2003 with the termination on competition, I have a proposal to start a competion on solving these constraints. For instance, finding RPOs finding polynomial interpretations over the integers finding polynomial interpretations over the reals .... The existing systems can provide the problems to be solved. There is no need to implement a full competitive termination prover. It can be atractive for new participants. It can be done together with the termination competition or not

RTA 2008– p.28/31

slide-136
SLIDE 136

Albert Rubio - UPC

Potential sources of improvement

Trace analysis In all currently existing methods potentially looping traces are detected by analyzing the dependency graph. There exist many other techniques, for instance in program analysis, for approximating exectution traces, and so detecting potential loops. I don’t know about any work on termination of rewriting using, for instance, predicate abstraction techniques. New techniques need to be scalable to large programs. This would be an alternative way of obtaining ordering constraints to ensure termination of all potential loops. These constraints can be solved by the same solvers we have just described.

RTA 2008– p.29/31

slide-137
SLIDE 137

Albert Rubio - UPC

Potential sources of improvement

Built-in theories This is a crucial matter in other verification tools. Only very recently [FK2008] there has been an attempt to handle built-in intergers and other theories when proving termination of rewriting. Having built-in integers is mandatory for many aplications. We need to study how it combines with existing and new trace analysis techniques and the constraint solving techniques. Maybe constraint solving should be restricted to polynomial interpretations, but not necessarily.

RTA 2008– p.30/31

slide-138
SLIDE 138

Albert Rubio - UPC

Conclusion

How termination will be in 10 years? We have to make it more accessible to other communities.

RTA 2008– p.31/31

slide-139
SLIDE 139

Albert Rubio - UPC

Conclusion

How termination will be in 10 years? We have to make it more accessible to other communities. Make solvers useful for other purposes, and use this to make publicity of our termination tools.

RTA 2008– p.31/31

slide-140
SLIDE 140

Albert Rubio - UPC

Conclusion

How termination will be in 10 years? We have to make it more accessible to other communities. Make solvers useful for other purposes, and use this to make publicity of our termination tools. Find new fresh ideas maybe coming from other areas.

RTA 2008– p.31/31

slide-141
SLIDE 141

Albert Rubio - UPC

Conclusion

How termination will be in 10 years? We have to make it more accessible to other communities. Make solvers useful for other purposes, and use this to make publicity of our termination tools. Find new fresh ideas maybe coming from other areas. Make a lot of publicity of real code termination proofs (better if there are thousands of lines!).

RTA 2008– p.31/31

slide-142
SLIDE 142

Albert Rubio - UPC

Conclusion

How termination will be in 10 years? We have to make it more accessible to other communities. Make solvers useful for other purposes, and use this to make publicity of our termination tools. Find new fresh ideas maybe coming from other areas. Make a lot of publicity of real code termination proofs (better if there are thousands of lines!). Make our tools available for logical frameworks: Maude, Isabelle, Coq, ...

RTA 2008– p.31/31

slide-143
SLIDE 143

Albert Rubio - UPC

Conclusion

How termination will be in 10 years? We have to make it more accessible to other communities. Make solvers useful for other purposes, and use this to make publicity of our termination tools. Find new fresh ideas maybe coming from other areas. Make a lot of publicity of real code termination proofs (better if there are thousands of lines!). Make our tools available for logical frameworks: Maude, Isabelle, Coq, ... Look for a new breakthrough!

RTA 2008– p.31/31

slide-144
SLIDE 144

Albert Rubio - UPC

Conclusion

How termination will be in 10 years? We have to make it more accessible to other communities. Make solvers useful for other purposes, and use this to make publicity of our termination tools. Find new fresh ideas maybe coming from other areas. Make a lot of publicity of real code termination proofs (better if there are thousands of lines!). Make our tools available for logical frameworks: Maude, Isabelle, Coq, ... Look for a new breakthrough! and will see....

RTA 2008– p.31/31