Type Introduction for Runtime Complexity Analysis Scienza e - - PowerPoint PPT Presentation

type introduction for runtime complexity analysis
SMART_READER_LITE
LIVE PREVIEW

Type Introduction for Runtime Complexity Analysis Scienza e - - PowerPoint PPT Presentation

Type Introduction for Runtime Complexity Analysis Scienza e Ingegneria Universit degli Studi di Bologna University of Innsbruck Workshop on Termination, October 27, 2014 Martin Avanzini 1 (Joint work with Bertram Felgenhauer 2 ) 1 Dipartimento


slide-1
SLIDE 1

Type Introduction for Runtime Complexity Analysis

Martin Avanzini1 (Joint work with Bertram Felgenhauer2)

1Dipartimento di Informatica

Scienza e Ingegneria Università degli Studi di Bologna

2Institute for Computer Science

University of Innsbruck Workshop on Termination, October 27, 2014

slide-2
SLIDE 2

;

Runtime Complexity of TRSs

  • derivation height dh(t, →) := max{n | ∃ s.t →n s}
  • 1. derivational-complexity function

[Hofbauer & Lautemann, 1989] dcR(n) = max{ dh(f(⃗ s), − →R) | f(⃗ s) of size up to n }

  • 2. runtime-complexity function

[Hirokawa & Moser, 2008] rcR(n) = max{ dh(f(⃗ v), − →R) | f(⃗ v) and ⃗ v are values

  • basic term
  • f size up to n }
slide-3
SLIDE 3

;

Runtime Complexity of TRSs

  • derivation height dh(t, →) := max{n | ∃ s.t →n s}
  • 1. derivational-complexity function

[Hofbauer & Lautemann, 1989] dcR(n) = max{ dh(f(⃗ s), − →R) | f(⃗ s) of size up to n }

  • 2. runtime-complexity function

[Hirokawa & Moser, 2008] rcR(n) = max{ dh(f(⃗ v), − →R) | f(⃗ v) and ⃗ v are values

  • basic term
  • f size up to n }
slide-4
SLIDE 4

;

Runtime Complexity of TRSs

  • derivation height dh(t, →) := max{n | ∃ s.t →n s}
  • 1. derivational-complexity function

[Hofbauer & Lautemann, 1989] dcR(n) = max{ dh(f(⃗ s), − →R) | f(⃗ s) of size up to n }

  • 2. runtime-complexity function

[Hirokawa & Moser, 2008] rcR(n) = max{ dh(f(⃗ v), − →R) | f(⃗ v) and ⃗ v are values

  • basic term
  • f size up to n }
slide-5
SLIDE 5

;

Runtime Complexity of TRSs

  • derivation height dh(t, →) := max{n | ∃ s.t →n s}
  • 1. derivational-complexity function

[Hofbauer & Lautemann, 1989] dcR(n) = max{ dh(f(⃗ s), − →R) | f(⃗ s) of size up to n }

  • 2. runtime-complexity function

[Hirokawa & Moser, 2008] rcR(n) = max{ dh(f(⃗ v), − →R) | f(⃗ v) and ⃗ v are values

  • basic term
  • f size up to n }
slide-6
SLIDE 6

;

Runtime Complexity of TRSs

  • derivation height dh(t, →) := max{n | ∃ s.t →n s}
  • 1. derivational-complexity function

[Hofbauer & Lautemann, 1989] dcR(n) = max{ dh(f(⃗ s), − →R) | f(⃗ s) of size up to n }

  • 2. innermost runtime-complexity function [Hirokawa & Moser, 2008]

rci

R(n) = max{ dh(f(⃗

v),

i

− →R) | f(⃗ v) and ⃗ v are values

  • basic term
  • f size up to n }
slide-7
SLIDE 7

;

Automated Complexity Analysis of TRSs

  • part of annual termination competition since 2008
  • Tools

– AProVE http://aprove.informatik.rwth-aachen.de – Cat http://cl-informatik.uibk.ac.at/software/cat – Matchbox/Poly http://dfa.imn.htwk-leipzig.de/matchbox – T C T http://cl-informatik.uibk.ac.at/software/tct – RAML prototype http://raml.tcs.ifi.lmu.de/prototype

– automated, amortised cost analysis of functional programs – fast and powerful – theory recently reformulated in context of many-sorted TRSs [Hofmann and Moser, 2014]

slide-8
SLIDE 8

;

Automated Complexity Analysis of TRSs

  • part of annual termination competition since 2008
  • Tools

– AProVE http://aprove.informatik.rwth-aachen.de – Cat http://cl-informatik.uibk.ac.at/software/cat – Matchbox/Poly http://dfa.imn.htwk-leipzig.de/matchbox – T C T http://cl-informatik.uibk.ac.at/software/tct – RAML prototype http://raml.tcs.ifi.lmu.de/prototype

– automated, amortised cost analysis of functional programs – fast and powerful – theory recently reformulated in context of many-sorted TRSs [Hofmann and Moser, 2014]

slide-9
SLIDE 9

;

Automated Complexity Analysis of TRSs

  • part of annual termination competition since 2008
  • Tools

– AProVE http://aprove.informatik.rwth-aachen.de – Cat http://cl-informatik.uibk.ac.at/software/cat – Matchbox/Poly http://dfa.imn.htwk-leipzig.de/matchbox – T C T http://cl-informatik.uibk.ac.at/software/tct – RAML prototype http://raml.tcs.ifi.lmu.de/prototype

– automated, amortised cost analysis of functional programs – fast and powerful – theory recently reformulated in context of many-sorted TRSs [Hofmann and Moser, 2014]

slide-10
SLIDE 10

;

Persistency

Definition

property P is persistent if for all many-sorted TRS R P(R) ⇐ ⇒ P(Θ(R))

  • Θ(R) denotes un(i)sorted TRS underlying R
  • 1. confluence

✔ [Aoto and Toyama, 1997]

  • 2. termination

– non-collapsing or non-duplicating TRSs ✔ [Zantema,1994] – all variables of same sort ✔ [Aoto, 1998] – non-overlapping or locally confluent overlay TRSs ✔ [Iwama, 2003; 2004] – …

  • 3. innermost termination

✔ [Iwama, 2004]

slide-11
SLIDE 11

;

Persistency

Definition

property P is persistent if for all many-sorted TRS R P(R) ⇐ ⇒ P(Θ(R))

  • Θ(R) denotes un(i)sorted TRS underlying R
  • 1. confluence

✔ [Aoto and Toyama, 1997]

  • 2. termination

– non-collapsing or non-duplicating TRSs ✔ [Zantema,1994] – all variables of same sort ✔ [Aoto, 1998] – non-overlapping or locally confluent overlay TRSs ✔ [Iwama, 2003; 2004] – …

  • 3. innermost termination

✔ [Iwama, 2004]

slide-12
SLIDE 12

;

Persistency

Definition

property P is persistent if for all many-sorted TRS R P(R) ⇐ ⇒ P(Θ(R))

  • Θ(R) denotes un(i)sorted TRS underlying R
  • 1. confluence

✔ [Aoto and Toyama, 1997]

  • 2. termination

– non-collapsing or non-duplicating TRSs ✔ [Zantema,1994] – all variables of same sort ✔ [Aoto, 1998] – non-overlapping or locally confluent overlay TRSs ✔ [Iwama, 2003; 2004] – …

  • 3. innermost termination

✔ [Iwama, 2004]

slide-13
SLIDE 13

;

Persistency

Definition

property P is persistent if for all many-sorted TRS R P(R) ⇐ ⇒ P(Θ(R))

  • Θ(R) denotes un(i)sorted TRS underlying R
  • 1. confluence

✔ [Aoto and Toyama, 1997]

  • 2. termination

– non-collapsing or non-duplicating TRSs ✔ [Zantema,1994] – all variables of same sort ✔ [Aoto, 1998] – non-overlapping or locally confluent overlay TRSs ✔ [Iwama, 2003; 2004] – …

  • 3. innermost termination

✔ [Iwama, 2004]

slide-14
SLIDE 14

;

Persistency

Definition

property P is persistent if for all many-sorted TRS R P(R) ⇐ ⇒ P(Θ(R))

  • Θ(R) denotes un(i)sorted TRS underlying R
  • 1. confluence

✔ [Aoto and Toyama, 1997]

  • 2. termination

– non-collapsing or non-duplicating TRSs ✔ [Zantema,1994] – all variables of same sort ✔ [Aoto, 1998] – non-overlapping or locally confluent overlay TRSs ✔ [Iwama, 2003; 2004] – …

  • 3. innermost termination

✔ [Iwama, 2004]

slide-15
SLIDE 15

;

Sorted Rewriting

notations (i)

  • 1. finite set of sorts S
  • 2. for each sort α ∈ S, set of sorted variables Vα = {xα, yα, . . . }
  • 3. function symbols are equipped with sort declaration

f :: (α1, . . . , αk) → α

  • 4. term is well-sorted according to rules

x ∈ Vα x :: α (Var) t1 :: α1 . . . tk :: αk f :: (α1, . . . , αk) → α f(t1, . . . , tk) :: α (Fun)

slide-16
SLIDE 16

;

Sorted Rewriting

notations (i)

  • 1. finite set of sorts S
  • 2. for each sort α ∈ S, set of sorted variables Vα = {xα, yα, . . . }
  • 3. function symbols are equipped with sort declaration

f :: (α1, . . . , αk) → α

  • 4. term is well-sorted according to rules

x ∈ Vα x :: α (Var) t1 :: α1 . . . tk :: αk f :: (α1, . . . , αk) → α f(t1, . . . , tk) :: α (Fun)

slide-17
SLIDE 17

;

Sorted Rewriting

notations (ii)

  • 5. many-sorted TRS R satisfies for each l → r ∈ R:

l :: α and r :: α for some sort α ∈ S

  • 6. rewrite relation −

→R defined on well-sorted terms only

slide-18
SLIDE 18

;

Sorted Rewriting

notations (ii)

  • 5. many-sorted TRS R satisfies for each l → r ∈ R:

l :: α and r :: α for some sort α ∈ S

  • 6. rewrite relation −

→R defined on well-sorted terms only

slide-19
SLIDE 19

;

Main Result

Theorem

The (innermost) runtime-complexity functions of R and Θ(R) coincide.

proof outline.

  • rc(i)

Θ(R)(n) ⩽ rc(i) R (n):

every reduction f(v1, . . . , vn)

(i)

− →Θ(R) t1

(i)

− →Θ(R) t2

(i)

− →Θ(R) · · · simulated stepwise by f(v′

1, . . . , v′ n) (i)

− →R t′

1 (i)

− →R t′

2 (i)

− →R · · · where |v′

i| ⩽ |vi|.

  • rc(i)

Θ(R)(n) ⩾ rc(i) R (n): trivial

slide-20
SLIDE 20

;

Main Result

Theorem

The (innermost) runtime-complexity functions of R and Θ(R) coincide.

proof outline.

  • rc(i)

Θ(R)(n) ⩽ rc(i) R (n):

every reduction f(v1, . . . , vn)

(i)

− →Θ(R) t1

(i)

− →Θ(R) t2

(i)

− →Θ(R) · · · simulated stepwise by f(v′

1, . . . , v′ n) (i)

− →R t′

1 (i)

− →R t′

2 (i)

− →R · · · where |v′

i| ⩽ |vi|.

  • rc(i)

Θ(R)(n) ⩾ rc(i) R (n): trivial

slide-21
SLIDE 21

;

Persistency

Toyama’s example

Example

TRS RT consists of f(0, 1, x) → f(x, x, x) g(y, z) → y g(y, z) → z where 0 :: • 1 :: • f :: (•, •, •) → • g :: (•, •) → ⋆

  • uni-sorted variant Θ(RT) gives cycle

f(0, 1, g(0, 1)) − →Θ(RT) f(g(0, 1), g(0, 1), g(0, 1)) − →Θ(RT) f(0, g(0, 1), g(0, 1)) − →Θ(RT) f(0, 1, g(0, 1))

  • RT is terminating
slide-22
SLIDE 22

;

Persistency

Toyama’s example

Example

TRS RT consists of f(0, 1, x) → f(x, x, x) g(y, z) → y g(y, z) → z where 0 :: • 1 :: • f :: (•, •, •) → • g :: (•, •) → ⋆

  • uni-sorted variant Θ(RT) gives cycle

f(0, 1, g(0, 1)) − →Θ(RT) f(g(0, 1), g(0, 1), g(0, 1)) − →Θ(RT) f(0, g(0, 1), g(0, 1)) − →Θ(RT) f(0, 1, g(0, 1))

  • RT is terminating

alien

slide-23
SLIDE 23

;

Observations

  • 1. “alien s of t contributes to reduction of t only if s itself reducible”
  • 2. “no new aliens are created during reduction”
slide-24
SLIDE 24

;

Observations

  • 1. “alien s of t contributes to reduction of t only if s itself reducible”
  • 2. “no new aliens are created during reduction”
slide-25
SLIDE 25

;

Observations

  • 1. “alien s of t contributes to reduction of t only if s itself reducible”
  • 2. “no new aliens are created during reduction”

Example

TRS Rsum consists of 0 + y → y sum([ ]) → [ ] s(x) + y → s(x + y) sum(x : xs) → x + sum(xs) where 0 :: N [ ] :: L (+) :: (N, N) → N s :: N → N (:) :: (N, L) → L sum :: L → N sum(s([ ]) : (0 : [ ]) : s([ ])) − →Θ(Rsum) s([ ]) + sum((0 : [ ]) : s([ ])) − →Θ(Rsum) s([ ]) + (0 : [ ]) + sum(s([ ])) − →Θ(Rsum) s([ ] + (0 : [ ]) + sum(s([ ])))

slide-26
SLIDE 26

;

Observations

  • 1. “alien s of t contributes to reduction of t only if s itself reducible”
  • 2. “no new aliens are created during reduction”

Example

TRS Rsum consists of 0 + y → y sum([ ]) → [ ] s(x) + y → s(x + y) sum(x : xs) → x + sum(xs) where 0 :: N [ ] :: L (+) :: (N, N) → N s :: N → N (:) :: (N, L) → L sum :: L → N sum(s(xN) : xN : xL) − →Rsum s(xN) + sum(xN : xL) − →Rsum s(xN) + xN + sum(xL) − →Rsum s(xN + xN + sum(xL))

slide-27
SLIDE 27

;

Simulating “ill-sorted” Reductions

  • 1. “alien s of t contributes to reduction of t only if s itself reducible”
  • 2. “no new aliens are created during reduction”
  • Cs1, . . . , sk := C[s1, . . . , sk] where

– s1, . . . , sk are the aliens – C maximal, well-sorted context

  • s −

→Θ(R) t called outer if does not takes place in an alien

Lemma (Step Lemma I)

For outer step s = Cs1, . . . , sk − →Θ(R) Dt1, . . . , tl = t, either

slide-28
SLIDE 28

;

Simulating “ill-sorted” Reductions

  • 1. “alien s of t contributes to reduction of t only if s itself reducible”
  • 2. “no new aliens are created during reduction”
  • Cs1, . . . , sk := C[s1, . . . , sk] where

– s1, . . . , sk are the aliens – C maximal, well-sorted context

  • s −

→Θ(R) t called outer if does not takes place in an alien

Lemma (Step Lemma I)

For outer step s = Cs1, . . . , sk − →Θ(R) Dt1, . . . , tl = t, either

slide-29
SLIDE 29

;

Simulating “ill-sorted” Reductions

  • 1. “alien s of t contributes to reduction of t only if s itself reducible”
  • 2. “no new aliens are created during reduction”
  • Cs1, . . . , sk := C[s1, . . . , sk] where

– s1, . . . , sk are the aliens – C maximal, well-sorted context

  • s −

→Θ(R) t called outer if does not takes place in an alien

Lemma (Step Lemma I)

For outer step s = Cs1, . . . , sk − →Θ(R) Dt1, . . . , tl = t, either

  • 1. C −

→R D and alien(t) ⊆ alien(s); or

  • 2. C −

→R □αi and t ∈ alien(s)

slide-30
SLIDE 30

;

Simulating “ill-sorted” Reductions

  • 1. “alien s of t contributes to reduction of t only if s itself reducible”
  • 2. “no new aliens are created during reduction”
  • Cs1, . . . , sk := C[s1, . . . , sk] where

– s1, . . . , sk are the aliens – C maximal, well-sorted context

  • s −

→Θ(R) t called outer if does not takes place in an alien

Lemma (Step Lemma I)

For outer step s = Cs1, . . . , sk − →Θ(R) Dt1, . . . , tl = t, either

  • 1. C[xα1, . . . , xαk] −

→R D[xαi1, . . . , xαil] and alien(t) ⊆ alien(s); or

  • 2. C[xα1, . . . , xαk] −

→R xαi and t ∈ alien(s)

slide-31
SLIDE 31

;

Simulating “ill-sorted” Innermost Reductions

Example

f :: (•, •) → • g :: • → • a :: ⋆ b :: ⋆ f(x, x) → x g(f(x, y)) → g(f(x, y))

  • Θ(R) gives rise to infinite reduction

g(f(a, b))

i

− →Θ(R) g(f(a, b))

i

− →Θ(R) g(f(a, b))

i

− →Θ(R) . . .

  • corresponding reduction

g(f(x•, x•)) − →R g(f(x•, x•)) − →R g(f(x•, x•)) − →R . . . not innermost

slide-32
SLIDE 32

;

Simulating “ill-sorted” Innermost Reductions

Example

f :: (•, •) → • g :: • → • a :: ⋆ b :: ⋆ f(x, x) → x g(f(x, y)) → g(f(x, y))

  • Θ(R) gives rise to infinite reduction

g(f(a, b))

i

− →Θ(R) g(f(a, b))

i

− →Θ(R) g(f(a, b))

i

− →Θ(R) . . .

  • corresponding reduction

g(f(x•

a, x• b)) −

→R g(f(x•

a, x• b)) −

→R g(f(x•

a, x• b)) −

→R . . . not innermost

slide-33
SLIDE 33

;

Simulating “ill-sorted” Innermost Reductions

Lemma (Step Lemma II)

For outer step s = Cs1, . . . , sk (i) − →Θ(R) Dt1, . . . , tl = t, either

  • 1. C[xα1

s1 , . . . , xαk sk ] (i)

− →R D[xβ1

t1 , . . . , xβl tl ] and alien(t) ⊆ alien(s); or

  • 2. C[xα1

s1 , . . . , xαk sk ] (i)

− →R xαi

si and t ∈ alien(s)

slide-34
SLIDE 34

;

Simulating “ill-sorted” Innermost Reductions

Lemma (Step Lemma II)

For outer step s = Cs1, . . . , sk (i) − →Θ(R) Dt1, . . . , tl = t, either

  • 1. C[xα1

s1 , . . . , xαk sk ] (i)

− →R D[xβ1

t1 , . . . , xβl tl ] and alien(t) ⊆ alien(s); or

  • 2. C[xα1

s1 , . . . , xαk sk ] (i)

− →R xαi

si and t ∈ alien(s)

Definition

t⇂ := C[xα1

t1 , . . . , xαk tk ] where t = Ct1, . . . , tk

slide-35
SLIDE 35

;

Simulating “ill-sorted” Innermost Reductions

Lemma (Step Lemma II)

For outer step s = Cs1, . . . , sk (i) − →Θ(R) Dt1, . . . , tl = t, either

  • 1. s⇂ (i)

− →R t⇂ and alien(t) ⊆ alien(s); or

  • 2. s⇂ (i)

− →R xαi

si and t ∈ alien(s)

Definition

t⇂ := C[xα1

t1 , . . . , xαk tk ] where t = Ct1, . . . , tk

slide-36
SLIDE 36

;

Simulating “ill-sorted” Innermost Reductions

Lemma (Step Lemma II)

For outer step s = Cs1, . . . , sk (i) − →Θ(R) Dt1, . . . , tl = t, either

  • 1. s⇂ (i)

− →R t⇂ and alien(t) ⊆ alien(s); or

  • 2. s⇂ (i)

− →R xαi

si and t ∈ alien(s)

Proof of Main Result.

  • consider t0 whose aliens are in normal form

t0

(i)

− →Θ(R) t1

(i)

− →Θ(R) t2

(i)

− →Θ(R) · · ·

(i)

− →Θ(R) tl t′

l

t0⇂

i

t

i

t

i i

slide-37
SLIDE 37

;

Simulating “ill-sorted” Innermost Reductions

Lemma (Step Lemma II)

For outer step s = Cs1, . . . , sk (i) − →Θ(R) Dt1, . . . , tl = t, either

  • 1. s⇂ (i)

− →R t⇂ and alien(t) ⊆ alien(s); or

  • 2. s⇂ (i)

− →R xαi

si and t ∈ alien(s)

Proof of Main Result.

  • consider t0 whose aliens are in normal form

t0

(i)

− →Θ(R) t1

(i)

− →Θ(R) t2

(i)

− →Θ(R) · · ·

(i)

− →Θ(R) tl t′

l

t0⇂

(i)

− →R t′

1 i

t

i i

slide-38
SLIDE 38

;

Simulating “ill-sorted” Innermost Reductions

Lemma (Step Lemma II)

For outer step s = Cs1, . . . , sk (i) − →Θ(R) Dt1, . . . , tl = t, either

  • 1. s⇂ (i)

− →R t⇂ and alien(t) ⊆ alien(s); or

  • 2. s⇂ (i)

− →R xαi

si and t ∈ alien(s)

Proof of Main Result.

  • consider t0 whose aliens are in normal form

t0

(i)

− →Θ(R) t1

(i)

− →Θ(R) t2

(i)

− →Θ(R) · · ·

(i)

− →Θ(R) tl t′

l

t0⇂

(i)

− →R t1⇂

i

t

i i

slide-39
SLIDE 39

;

Simulating “ill-sorted” Innermost Reductions

Lemma (Step Lemma II)

For outer step s = Cs1, . . . , sk (i) − →Θ(R) Dt1, . . . , tl = t, either

  • 1. s⇂ (i)

− →R t⇂ and alien(t) ⊆ alien(s); or

  • 2. s⇂ (i)

− →R xαi

si and t ∈ alien(s)

Proof of Main Result.

  • consider t0 whose aliens are in normal form

t0

(i)

− →Θ(R) t1

(i)

− →Θ(R) t2

(i)

− →Θ(R) · · ·

(i)

− →Θ(R) tl t′

l

t0⇂

(i)

− →R t1⇂

(i)

− →R t′

2 i i

slide-40
SLIDE 40

;

Simulating “ill-sorted” Innermost Reductions

Lemma (Step Lemma II)

For outer step s = Cs1, . . . , sk (i) − →Θ(R) Dt1, . . . , tl = t, either

  • 1. s⇂ (i)

− →R t⇂ and alien(t) ⊆ alien(s); or

  • 2. s⇂ (i)

− →R xαi

si and t ∈ alien(s)

Proof of Main Result.

  • consider t0 whose aliens are in normal form

t0

(i)

− →Θ(R) t1

(i)

− →Θ(R) t2

(i)

− →Θ(R) · · ·

(i)

− →Θ(R) tl t′

l

t0⇂

(i)

− →R t1⇂

(i)

− →R t2⇂

(i)

− →R · · ·

(i)

− →R

slide-41
SLIDE 41

;

Lesson Learned…

“sorting is not a limiting factor”

slide-42
SLIDE 42

;

Applications

  • formative rules

[Fuhs and Kop, 2014]

  • interpretations

p(|f(v1, . . . , vk)|) ⩾ f(v1, . . . , vk) ⩾ dh(f(v1, . . . , vk), →)

– consider interpretation where x : xs := 2 · x – define tn = [[. . . [

n

0 ] . . . ]] = ⇒ tn = 2n · 0

c :: (α1, . . . , αk, β, . . . , β) → β c(u1, . . . , uk

  • non-recursive

; v1, . . . , vl

  • recursive

) = pc(u1, . . . , uk) + ∑

i

vi

slide-43
SLIDE 43

;

Applications

  • formative rules

[Fuhs and Kop, 2014]

  • interpretations

p(|f(v1, . . . , vk)|) ⩾ f(v1, . . . , vk) ⩾ dh(f(v1, . . . , vk), →)

– consider interpretation where x : xs := 2 · x – define tn = [[. . . [

n

0 ] . . . ]] = ⇒ tn = 2n · 0

c :: (α1, . . . , αk, β, . . . , β) → β c(u1, . . . , uk

  • non-recursive

; v1, . . . , vl

  • recursive

) = pc(u1, . . . , uk) + ∑

i

vi

slide-44
SLIDE 44

;

Applications

  • formative rules

[Fuhs and Kop, 2014]

  • interpretations

p(|f(v1, . . . , vk)|) ⩾ f(v1, . . . , vk) ⩾ dh(f(v1, . . . , vk), →)

– consider interpretation where x : xs := 2 · x – define tn = [[. . . [

n

0 ] . . . ]] = ⇒ tn = 2n · 0

c :: (α1, . . . , αk, β, . . . , β) → β c(u1, . . . , uk

  • non-recursive

; v1, . . . , vl

  • recursive

) = pc(u1, . . . , uk) + ∑

i

vi

slide-45
SLIDE 45

;

Applications

  • formative rules

[Fuhs and Kop, 2014]

  • interpretations

p(|f(v1, . . . , vk)|) ⩾ f(v1, . . . , vk) ⩾ dh(f(v1, . . . , vk), →)

– consider interpretation where x : xs := 2 · x – define tn = [[. . . [

n

0 ] . . . ]] = ⇒ tn = 2n · 0

c :: (α1, . . . , αk, β, . . . , β) → β c(u1, . . . , uk

  • non-recursive

; v1, . . . , vl

  • recursive

) = pc(u1, . . . , uk) + ∑

i

vi

slide-46
SLIDE 46

;

Applications

  • formative rules

[Fuhs and Kop, 2014]

  • interpretations

p(|f(v1, . . . , vk)|) ⩾ f(v1, . . . , vk) ⩾ dh(f(v1, . . . , vk), →)

– consider interpretation where x : xs := 2 · x – define tn = [[. . . [

n

0 ] . . . ]] = ⇒ tn = 2n · 0

c :: (α1, . . . , αk, β, . . . , β) → β c(u1, . . . , uk

  • non-recursive

; v1, . . . , vl

  • recursive

) = pc(u1, . . . , uk) + ∑

i

vi

slide-47
SLIDE 47

;

Applications

  • formative rules

[Fuhs and Kop, 2014]

  • interpretations

p(|f(v1, . . . , vk)|) ⩾ f(v1, . . . , vk) ⩾ dh(f(v1, . . . , vk), →)

– consider interpretation where x : xs := 2 · x – define tn = [[. . . [

n

0 ] . . . ]] = ⇒ tn = 2n · 0

c :: (α1, . . . , αk, β, . . . , β) → β c(u1, . . . , uk

  • non-recursive

; v1, . . . , vl

  • recursive

) = pc(u1, . . . , uk) + ∑

i

vi

slide-48
SLIDE 48

;

Future Work

  • extensions
  • 1. order-sorted rewriting

α ⩾S β

  • 2. “polymorphism”

rev :: List(α) → List(α)

  • 3. …
  • development of techniques for sorted rewrite systems
slide-49
SLIDE 49

;

Future Work

  • extensions
  • 1. order-sorted rewriting

α ⩾S β

  • 2. “polymorphism”

rev :: List(α) → List(α)

  • 3. …
  • development of techniques for sorted rewrite systems