123
Introducci´o Sistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu Villaret IMA, UdG 05 d’octubre del 2009

Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Sistemes de Reescriptura (09-10)

Mateu Villaret

IMA, UdG

05 d’octubre del 2009

Page 2: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Resum

1 Introduccio

2 Sistemes de Reescriptura Abstractes

3 Reescriptura de Termes

Page 3: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura des de l’escola ...

(3 + 5)× (1 + 2)

Page 4: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura des de l’escola ...

(3 + 5)× (1 + 2)

8× (1 + 2) (3 + 5)× 3

Page 5: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura des de l’escola ...

(3 + 5)× (1 + 2)

8× (1 + 2) (3 + 5)× 3

(8× 1) + (8× 2) 8× 3 (3× 3) + (5× 3)

Page 6: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura des de l’escola ...

(3 + 5)× (1 + 2)

8× (1 + 2) (3 + 5)× 3

(8× 1) + (8× 2) 8× 3 (3× 3) + (5× 3)

8 + (8× 2) (8× 1) + 16 9 + (5× 3) (3× 3) + 15

Page 7: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura des de l’escola ...

(3 + 5)× (1 + 2)

8× (1 + 2) (3 + 5)× 3

(8× 1) + (8× 2) 8× 3 (3× 3) + (5× 3)

8 + (8× 2) (8× 1) + 16 9 + (5× 3) (3× 3) + 15

9 + 158 + 16

Page 8: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura des de l’escola ...

(3 + 5)× (1 + 2)

8× (1 + 2) (3 + 5)× 3

(8× 1) + (8× 2) 8× 3 (3× 3) + (5× 3)

8 + (8× 2) (8× 1) + 16 9 + (5× 3) (3× 3) + 15

9 + 158 + 16

24

Page 9: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura des de l’escola ...

D’altres de quotidians com les hores del dia:

1→ 2→ · · · → 11→ 12→ 1→ 2 . . .

Page 10: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura des de l’escola ...

D’altres de mes sofisticats:

n→ n′ on

{n′ = n/2 si n es parell (i n > 1)n′ = 3n + 1 si n es senar (i n > 1)

Page 11: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura des de l’escola ...

D’altres de mes sofisticats:

n→ n′ on

{n′ = n/2 si n es parell (i n > 1)n′ = 3n + 1 si n es senar (i n > 1)

Per exemple:

7→ 22→ 11→ 34→ 17→ 52→ 26→ 13→ . . .

Page 12: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura des de l’escola ...

D’altres de mes sofisticats:

n→ n′ on

{n′ = n/2 si n es parell (i n > 1)n′ = 3n + 1 si n es senar (i n > 1)

Per exemple:

7→ 22→ 11→ 34→ 17→ 52→ 26→ 13→ . . .→ 40→ 20→ 10→ 5→ 16→ 8→ 4→ 2→ 1

Page 13: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura des de l’escola ...

D’altres de mes sofisticats:

n→ n′ on

{n′ = n/2 si n es parell (i n > 1)n′ = 3n + 1 si n es senar (i n > 1)

Problema obert:

Es veritat, o no, que qualsevol enter s’acaba reduint a 1?(Syracusa problem= Collatz’s problem)

Page 14: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Sistemes de Reescriptura

Definition

La reescriptura es un mecanisme abstracte per a latransformacio pas a pas d’objectes d’acord amb unes regles.

La reescriptura (de termes) te aplicacions en:

Programacio funcional

Sistemes de deduccio automatica

Page 15: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: comput

La reescriptura com a mecanisme de comput

Regles aplicades en una sola direccio per calcular formesnormals.Programacio funcional.

Page 16: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: comput

Exemple

−(x , 0) → x−(s(x), s(y)) → −(x , y)÷( 0, s(y) ) → 0

÷( s(x), s(y) ) → s(÷(−(x , y), s(y) ) )

Aixı per exemple podem calcular ÷( 4, 2 ):

÷ ( 4, 2 ) → s(÷(−(3, 1), 2 ))→ s(÷(−(2, 0), 2 ))→ s(÷( 2, 2 ))→ s(s(÷(−(1, 1), 2 )))→ s(s(÷(−(0, 0), 2 )))→ s(s(÷( 0, 2 )))→ s(s(0)) = 2

Page 17: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: comput

Exemple

−(x , 0) → x−(s(x), s(y)) → −(x , y)÷( 0, s(y) ) → 0

÷( s(x), s(y) ) → s(÷(−(x , y), s(y) ) )

Aixı per exemple podem calcular ÷( 4, 2 ):

÷ ( 4, 2 ) → s(÷(−(3, 1), 2 ))

→ s(÷(−(2, 0), 2 ))→ s(÷( 2, 2 ))→ s(s(÷(−(1, 1), 2 )))→ s(s(÷(−(0, 0), 2 )))→ s(s(÷( 0, 2 )))→ s(s(0)) = 2

Page 18: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: comput

Exemple

−(x , 0) → x−(s(x), s(y)) → −(x , y)÷( 0, s(y) ) → 0

÷( s(x), s(y) ) → s(÷(−(x , y), s(y) ) )

Aixı per exemple podem calcular ÷( 4, 2 ):

÷ ( 4, 2 ) → s(÷(−(3, 1), 2 ))→ s(÷(−(2, 0), 2 ))

→ s(÷( 2, 2 ))→ s(s(÷(−(1, 1), 2 )))→ s(s(÷(−(0, 0), 2 )))→ s(s(÷( 0, 2 )))→ s(s(0)) = 2

Page 19: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: comput

Exemple

−(x , 0) → x−(s(x), s(y)) → −(x , y)÷( 0, s(y) ) → 0

÷( s(x), s(y) ) → s(÷(−(x , y), s(y) ) )

Aixı per exemple podem calcular ÷( 4, 2 ):

÷ ( 4, 2 ) → s(÷(−(3, 1), 2 ))→ s(÷(−(2, 0), 2 ))→ s(÷( 2, 2 ))

→ s(s(÷(−(1, 1), 2 )))→ s(s(÷(−(0, 0), 2 )))→ s(s(÷( 0, 2 )))→ s(s(0)) = 2

Page 20: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: comput

Exemple

−(x , 0) → x−(s(x), s(y)) → −(x , y)÷( 0, s(y) ) → 0

÷( s(x), s(y) ) → s(÷(−(x , y), s(y) ) )

Aixı per exemple podem calcular ÷( 4, 2 ):

÷ ( 4, 2 ) → s(÷(−(3, 1), 2 ))→ s(÷(−(2, 0), 2 ))→ s(÷( 2, 2 ))→ s(s(÷(−(1, 1), 2 )))

→ s(s(÷(−(0, 0), 2 )))→ s(s(÷( 0, 2 )))→ s(s(0)) = 2

Page 21: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: comput

Exemple

−(x , 0) → x−(s(x), s(y)) → −(x , y)÷( 0, s(y) ) → 0

÷( s(x), s(y) ) → s(÷(−(x , y), s(y) ) )

Aixı per exemple podem calcular ÷( 4, 2 ):

÷ ( 4, 2 ) → s(÷(−(3, 1), 2 ))→ s(÷(−(2, 0), 2 ))→ s(÷( 2, 2 ))→ s(s(÷(−(1, 1), 2 )))→ s(s(÷(−(0, 0), 2 )))

→ s(s(÷( 0, 2 )))→ s(s(0)) = 2

Page 22: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: comput

Exemple

−(x , 0) → x−(s(x), s(y)) → −(x , y)÷( 0, s(y) ) → 0

÷( s(x), s(y) ) → s(÷(−(x , y), s(y) ) )

Aixı per exemple podem calcular ÷( 4, 2 ):

÷ ( 4, 2 ) → s(÷(−(3, 1), 2 ))→ s(÷(−(2, 0), 2 ))→ s(÷( 2, 2 ))→ s(s(÷(−(1, 1), 2 )))→ s(s(÷(−(0, 0), 2 )))→ s(s(÷( 0, 2 )))

→ s(s(0)) = 2

Page 23: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: comput

Exemple

−(x , 0) → x−(s(x), s(y)) → −(x , y)÷( 0, s(y) ) → 0

÷( s(x), s(y) ) → s(÷(−(x , y), s(y) ) )

Aixı per exemple podem calcular ÷( 4, 2 ):

÷ ( 4, 2 ) → s(÷(−(3, 1), 2 ))→ s(÷(−(2, 0), 2 ))→ s(÷( 2, 2 ))→ s(s(÷(−(1, 1), 2 )))→ s(s(÷(−(0, 0), 2 )))→ s(s(÷( 0, 2 )))→ s(s(0)) = 2

Page 24: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: deduccio

La reescriptura com a mecanisme de deduccio

Regles aplicades en ambdues direccions i que defineixen classesd’equivalencia.Raonament equacional en deduccio automatica.

Page 25: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: deduccio

Exemple

En Algebra, els grups son conjunts equipats amb una operaciobinaria ◦, una d’unaria i i un element especial e que satisfan:

(G 1) (x ◦ y) ◦ z ≈ x ◦ (y ◦ z),(G 2) e ◦ x ≈ x ,(G 3) i(x) ◦ x ≈ e

Page 26: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: deduccio

Exemple

(G1) (x ◦ y) ◦ z ≈ x ◦ (y ◦ z),(G2) e ◦ x ≈ x ,(G3) i(x) ◦ x ≈ e

Podem demostrar que e ≈ x ◦ i(x)?

eG3≈ i(x ◦ i(x)) ◦ (x ◦ i(x))G2≈ i(x ◦ i(x)) ◦ (x ◦ (e ◦ i(x)))G3≈ i(x ◦ i(x)) ◦ (x ◦ ((i(x) ◦ x) ◦ i(x)))G1≈ i(x ◦ i(x)) ◦ ((x ◦ (i(x) ◦ x)) ◦ i(x))G1≈ i(x ◦ i(x)) ◦ (((x ◦ i(x)) ◦ x) ◦ i(x))G1≈ i(x ◦ i(x)) ◦ ((x ◦ i(x)) ◦ (x ◦ i(x)))G1≈ (i(x ◦ i(x)) ◦ (x ◦ i(x))) ◦ (x ◦ i(x))G3≈ e ◦ (x ◦ i(x))G2≈ x ◦ i(x)

Page 27: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: deduccio

Exemple

(G1) (x ◦ y) ◦ z ≈ x ◦ (y ◦ z),(G2) e ◦ x ≈ x ,(G3) i(x) ◦ x ≈ e

Podem demostrar que e ≈ x ◦ i(x)?

eG3≈ i(x ◦ i(x)) ◦ (x ◦ i(x))G2≈ i(x ◦ i(x)) ◦ (x ◦ (e ◦ i(x)))G3≈ i(x ◦ i(x)) ◦ (x ◦ ((i(x) ◦ x) ◦ i(x)))G1≈ i(x ◦ i(x)) ◦ ((x ◦ (i(x) ◦ x)) ◦ i(x))G1≈ i(x ◦ i(x)) ◦ (((x ◦ i(x)) ◦ x) ◦ i(x))G1≈ i(x ◦ i(x)) ◦ ((x ◦ i(x)) ◦ (x ◦ i(x)))G1≈ (i(x ◦ i(x)) ◦ (x ◦ i(x))) ◦ (x ◦ i(x))G3≈ e ◦ (x ◦ i(x))G2≈ x ◦ i(x)

Page 28: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: deduccio

Word Problem

Donat un conjunt d’identitats E i dos termes s i t, podemtransformar s en t utilitzant E com a regles de reescriptura enambdues direccions?

Agafar el conjunt d’identitats i transformar-les en sistemes dereescriptura en una direccio de manera que “simplifiquin”:

(R1) (x ◦ y) ◦ z → x ◦ (y ◦ z),(R2) e ◦ x → x ,(R3) i(x) ◦ x → e

Ara agafar s i t i mirar si tenen la mateixa forma normal.

Termes equivalents poden tenir formes normals diferents!!!(confluencia?)

Els termes poden no tenir forma normal!!! (acabament?)

Page 29: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: deduccio

Word Problem

Donat un conjunt d’identitats E i dos termes s i t, podemtransformar s en t utilitzant E com a regles de reescriptura enambdues direccions?

Agafar el conjunt d’identitats i transformar-les en sistemes dereescriptura en una direccio de manera que “simplifiquin”:

(R1) (x ◦ y) ◦ z → x ◦ (y ◦ z),(R2) e ◦ x → x ,(R3) i(x) ◦ x → e

Ara agafar s i t i mirar si tenen la mateixa forma normal.

Termes equivalents poden tenir formes normals diferents!!!(confluencia?)

Els termes poden no tenir forma normal!!! (acabament?)

Page 30: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exemples de Reescriptura: deduccio

Word Problem

Donat un conjunt d’identitats E i dos termes s i t, podemtransformar s en t utilitzant E com a regles de reescriptura enambdues direccions?

Agafar el conjunt d’identitats i transformar-les en sistemes dereescriptura en una direccio de manera que “simplifiquin”:

(R1) (x ◦ y) ◦ z → x ◦ (y ◦ z),(R2) e ◦ x → x ,(R3) i(x) ◦ x → e

Ara agafar s i t i mirar si tenen la mateixa forma normal.

Termes equivalents poden tenir formes normals diferents!!!(confluencia?)

Els termes poden no tenir forma normal!!! (acabament?)

Page 31: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Perspectiva Historica

Orıgens: 1930’s amb el λ-calcul i combinatory logic:ambdos capturen la nocio de computabilitat.

Mes endavant amb els llenguatges de programacio,l’especificacio equacional dels tipus abstractes de dades, esdesenvolupa l’estudi del TRS.

Conferencies dedicades directament: RTA, TLCA.

Open problems list! http://rtaloop.pps.jussieu.fr/

Page 32: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Resum

1 Introduccio

2 Sistemes de Reescriptura Abstractes

3 Reescriptura de Termes

Page 33: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Abstract Rewriting System: (A,→)

Reduccio= recorregut sobre un graf dirigit, execucio pas a pasd’un comput, transformacio gradual d’algun objecte, ...Matematicament parlem de relacions binaries.Un ARS es:

(A,→)

on:

A es un conjunt,

la reduccio → es una relacio binaria sobre A, →⊆ A× A,

enlloc de (a, b) ∈→, escriurem a→ b.

Example

A = N − {0, 1},→ = {(m, n)|m > n ∧ m mod n = 0}

Page 34: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Abstract Rewriting System: (A,→)

Reduccio= recorregut sobre un graf dirigit, execucio pas a pasd’un comput, transformacio gradual d’algun objecte, ...Matematicament parlem de relacions binaries.Un ARS es:

(A,→)

on:

A es un conjunt,

la reduccio → es una relacio binaria sobre A, →⊆ A× A,

enlloc de (a, b) ∈→, escriurem a→ b.

Example

A = N − {0, 1},→ = {(m, n)|m > n ∧ m mod n = 0}

Page 35: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques

Definition

Donades dues relacions R ⊆ A× B i S ⊆ B × C ,

R ◦ S = {(x , z) ∈ A× C | ∃y ∈ B. (x , y) ∈ R ∧ (y , z) ∈ S}

Page 36: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques

Definition

0→ = {(x , x)| x ∈ A} identitati+1→ =

i→ ◦ → i + 1-composicio i ≥ 0+→ = ∪i>0

i→ clausura transitiva=→ = → ∪ 0→ clausura reflexiva∗→ =

+→ ∪ 0→ clausura reflexiva i transitiva−1→ = {(y , x)| x → y} inversa

← =−1→ inversa

↔ = → ∪ ← clausura simetrica+↔ = (↔)+ clausura simetrica i transitiva∗↔ = (↔)∗ clausura reflexiva, simetrica i transitiva

Page 37: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: exemple

Definim la relacio binaria R sobre {1, 2, 3, 4, 5} com a{(1, 2), (1, 3), (2, 4)}

R = {(1, 2), (1, 3), (2, 4)}

(1,1) (1,2) (1,3) (1,4) (1,5)

(2,1) (2,2) (2,3) (2,4) (2,5)

(3,1) (3,2) (3,3) (3,4) (3,5)

(4,1) (4,2) (4,3) (4,4) (4,5)

(5,1) (5,2) (5,3) (5,4) (5,5)

Page 38: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: exemple

Definim la relacio binaria R sobre {1, 2, 3, 4, 5} com a{(1, 2), (1, 3), (2, 4)}

R+ = {(1, 2), (1, 3), (2, 4), (1, 4)}

(1,1) (1,2) (1,3) (1,4) (1,5)

(2,1) (2,2) (2,3) (2,4) (2,5)

(3,1) (3,2) (3,3) (3,4) (3,5)

(4,1) (4,2) (4,3) (4,4) (4,5)

(5,1) (5,2) (5,3) (5,4) (5,5)

Page 39: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: exemple

Definim la relacio binaria R sobre {1, 2, 3, 4, 5} com a{(1, 2), (1, 3), (2, 4)}

R0 = R∪ {(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)}

(1,1) (1,2) (1,3) (1,4) (1,5)

(2,1) (2,2) (2,3) (2,4) (2,5)

(3,1) (3,2) (3,3) (3,4) (3,5)

(4,1) (4,2) (4,3) (4,4) (4,5)

(5,1) (5,2) (5,3) (5,4) (5,5)

Page 40: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: exemple

Definim la relacio binaria R sobre {1, 2, 3, 4, 5} com a{(1, 2), (1, 3), (2, 4)}

R∗ = R∪ {(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)}

(1,1) (1,2) (1,3) (1,4) (1,5)

(2,1) (2,2) (2,3) (2,4) (2,5)

(3,1) (3,2) (3,3) (3,4) (3,5)

(4,1) (4,2) (4,3) (4,4) (4,5)

(5,1) (5,2) (5,3) (5,4) (5,5)

Page 41: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: exemple

Definim la relacio binaria R sobre {1, 2, 3, 4, 5} com a{(1, 2), (1, 3), (2, 4)}

R−1 = {(2, 1), (3, 1), (4, 2)}

(1,1) (1,2) (1,3) (1,4) (1,5)

(2,1) (2,2) (2,3) (2,4) (2,5)

(3,1) (3,2) (3,3) (3,4) (3,5)

(4,1) (4,2) (4,3) (4,4) (4,5)

(5,1) (5,2) (5,3) (5,4) (5,5)

Page 42: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: exemple

Definim la relacio binaria R sobre {1, 2, 3, 4, 5} com a{(1, 2), (1, 3), (2, 4)}

R ∪R−1 = {(1, 2), (1, 3), (2, 4), (2, 1), (3, 1), (4, 2)}

(1,1) (1,2) (1,3) (1,4) (1,5)

(2,1) (2,2) (2,3) (2,4) (2,5)

(3,1) (3,2) (3,3) (3,4) (3,5)

(4,1) (4,2) (4,3) (4,4) (4,5)

(5,1) (5,2) (5,3) (5,4) (5,5)

Page 43: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: exemple

Definim la relacio binaria R sobre {1, 2, 3, 4, 5} com a{(1, 2), (1, 3), (2, 4)}

(R∪R−1)+ = {. . . }

(1,1) (1,2) (1,3) (1,4) (1,5)

(2,1) (2,2) (2,3) (2,4) (2,5)

(3,1) (3,2) (3,3) (3,4) (3,5)

(4,1) (4,2) (4,3) (4,4) (4,5)

(5,1) (5,2) (5,3) (5,4) (5,5)

Page 44: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: exemple

Definim la relacio binaria R sobre {1, 2, 3, 4, 5} com a{(1, 2), (1, 3), (2, 4)}

(R∪R−1)∗ = {. . . }

(1,1) (1,2) (1,3) (1,4) (1,5)

(2,1) (2,2) (2,3) (2,4) (2,5)

(3,1) (3,2) (3,3) (3,4) (3,5)

(4,1) (4,2) (4,3) (4,4) (4,5)

(5,1) (5,2) (5,3) (5,4) (5,5)

Page 45: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: terminologia

Terminologia:

x es reduıble sii existeix una y tal que x → y

x esta en forma normal (irreduible) sii no es reduıble

y es una forma normal de x sii x∗→ y i y esta en forma

normal; si x te una unica forma normal determinada,aquesta s’escriu x ↓y es un successor de x sii x

+→ y

x i y es poden ajuntar (joinable) sii existeix z tal que

x∗→ z

∗← y ; ho escriurem x ↓ y

Page 46: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: terminologia

Terminologia:

x es reduıble sii existeix una y tal que x → y

x esta en forma normal (irreduible) sii no es reduıble

y es una forma normal de x sii x∗→ y i y esta en forma

normal; si x te una unica forma normal determinada,aquesta s’escriu x ↓y es un successor de x sii x

+→ y

x i y es poden ajuntar (joinable) sii existeix z tal que

x∗→ z

∗← y ; ho escriurem x ↓ y

Page 47: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: terminologia

Terminologia:

x es reduıble sii existeix una y tal que x → y

x esta en forma normal (irreduible) sii no es reduıble

y es una forma normal de x sii x∗→ y i y esta en forma

normal; si x te una unica forma normal determinada,aquesta s’escriu x ↓

y es un successor de x sii x+→ y

x i y es poden ajuntar (joinable) sii existeix z tal que

x∗→ z

∗← y ; ho escriurem x ↓ y

Page 48: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: terminologia

Terminologia:

x es reduıble sii existeix una y tal que x → y

x esta en forma normal (irreduible) sii no es reduıble

y es una forma normal de x sii x∗→ y i y esta en forma

normal; si x te una unica forma normal determinada,aquesta s’escriu x ↓y es un successor de x sii x

+→ y

x i y es poden ajuntar (joinable) sii existeix z tal que

x∗→ z

∗← y ; ho escriurem x ↓ y

Page 49: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: terminologia

Terminologia:

x es reduıble sii existeix una y tal que x → y

x esta en forma normal (irreduible) sii no es reduıble

y es una forma normal de x sii x∗→ y i y esta en forma

normal; si x te una unica forma normal determinada,aquesta s’escriu x ↓y es un successor de x sii x

+→ y

x i y es poden ajuntar (joinable) sii existeix z tal que

x∗→ z

∗← y ; ho escriurem x ↓ y

Page 50: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: continuacio de l’exemple

La relacioR = {(1, 2), (1, 3), (2, 4)}

i la seva clausura reflexiva, transitiva i simetrica, es potrepresentar tambe com un graf dirigit.

1

2 3

4 5

Page 51: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: continuacio de l’exemple

La relacioR = {(1, 2), (1, 3), (2, 4)}

i la seva clausura reflexiva, transitiva i simetrica, es potrepresentar tambe com un graf dirigit.

1

2 3

4 5

Page 52: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: nocions centrals

Definition

Una relacio → s’anomena:Church-Rosser sii x

∗↔ y =⇒ x ↓ y

confluent sii y1∗← x

∗→ y2 =⇒ y1 ↓ y2

semi-confluent sii y1 ← x∗→ y2 =⇒ y1 ↓ y2

de terminacio sii no hi ha cap cadena infinita:a0 → a1 → . . .

normalitzant sii tot element te forma normal

convergent sii es confluent i de terminacio

Page 53: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Definicions basiques: representacio grafica

En les seguent representacions grafiques, les lınies “solides”representen universals i les retallades existencials.Cada diagrama representa la implicacio de la definiciocorresponent.

Church-Rosser: Confluent: Semi-confluent:

x �∗ - y

z

∗�

∗ -

x∗- y1

?y2

∗- z

∗?

x - y1

?y2

∗- z

∗?

Page 54: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Church-Rosser: la propietat desitjada

Church-Rosser es el que anavem buscant:

Poder comprovar equivalencia mitjancant la cerca d’unsuccessor comu

Theorem (CR=Confluent)

Les seguents condicions son equivalents:

1 → es Church-Rosser

2 → es confluent

3 → es semi-confluent

Page 55: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Church-Rosser: la propietat desitjada

Church-Rosser es el que anavem buscant:

Poder comprovar equivalencia mitjancant la cerca d’unsuccessor comu

Theorem (CR=Confluent)

Les seguents condicions son equivalents:

1 → es Church-Rosser

2 → es confluent

3 → es semi-confluent

Page 56: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Church-Rosser i confluencia equivalents, diagramaticalment

Assumint confluencia i considerant l’equivalencia:

x∗↔ y ≡ x

∗← .∗→ . . .

∗← .∗→ y

. .

x

�.

-

. . .

� y

∗-

.

-

.

-

.

-

.

-

.

-

z

∗-

Page 57: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Church-Rosser i confluencia equivalents, diagramaticalment

Assumint confluencia i considerant l’equivalencia:

x∗↔ y ≡ x

∗← .∗→ . . .

∗← .∗→ y

. .

x

�.

-

. . .

� y

∗-

.

-

.

-

.

-

.

-

.

-

z

∗-

Page 58: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Church-Rosser i confluencia equivalents, diagramaticalment

Assumint confluencia i considerant l’equivalencia:

x∗↔ y ≡ x

∗← .∗→ . . .

∗← .∗→ y

. .

x

�.

-

. . .

� y

∗-

.

-

.

-

.

-

.

-

.

-

z

∗-

Page 59: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Church-Rosser i confluencia equivalents, diagramaticalment

Assumint confluencia i considerant l’equivalencia:

x∗↔ y ≡ x

∗← .∗→ . . .

∗← .∗→ y

. .

x

�.

-

. . .

� y

∗-

.

-

.

-

.

-

.

-

.

-

z

∗-

Page 60: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Demostracio

Demostracio del teorema anterior: 1⇒ 2⇒ 3⇒ 1

(1⇒ 2): si → es CR i y1∗← x

∗→ y2 llavors y1∗↔ y2 i per CR

y1 ↓ y2, per tant → es confluent.

(2⇒ 3): obvi.

(3⇒ 1): si → es semi-conf. i x∗↔ y demostrarem x ↓ y , (CR),

per induccio en la llargada de x∗↔ y .

Cas base: x = y , trivial.

Cas inductiu: x∗↔ y ↔ y ′, per HI sabem que x ↓ y , per

tant existeix z : x∗→ z

∗← y . Demostrem que x ↓ y ′ percasos:

y ← y ′: x ↓ y ′ es deriva directament ja que x ↓ yy → y ′: per semi-conf tenim z ↓ y ′ i per tant x ↓ y ′

Page 61: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Demostracio

Demostracio del teorema anterior: 1⇒ 2⇒ 3⇒ 1

(1⇒ 2): si → es CR i y1∗← x

∗→ y2 llavors y1∗↔ y2 i per CR

y1 ↓ y2, per tant → es confluent.

(2⇒ 3): obvi.

(3⇒ 1): si → es semi-conf. i x∗↔ y demostrarem x ↓ y , (CR),

per induccio en la llargada de x∗↔ y .

Cas base: x = y , trivial.

Cas inductiu: x∗↔ y ↔ y ′, per HI sabem que x ↓ y , per

tant existeix z : x∗→ z

∗← y . Demostrem que x ↓ y ′ percasos:

y ← y ′: x ↓ y ′ es deriva directament ja que x ↓ yy → y ′: per semi-conf tenim z ↓ y ′ i per tant x ↓ y ′

Page 62: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Demostracio

Demostracio del teorema anterior: 1⇒ 2⇒ 3⇒ 1

(1⇒ 2): si → es CR i y1∗← x

∗→ y2 llavors y1∗↔ y2 i per CR

y1 ↓ y2, per tant → es confluent.

(2⇒ 3): obvi.

(3⇒ 1): si → es semi-conf. i x∗↔ y demostrarem x ↓ y , (CR),

per induccio en la llargada de x∗↔ y .

Cas base: x = y , trivial.

Cas inductiu: x∗↔ y ↔ y ′, per HI sabem que x ↓ y , per

tant existeix z : x∗→ z

∗← y . Demostrem que x ↓ y ′ percasos:

y ← y ′: x ↓ y ′ es deriva directament ja que x ↓ yy → y ′: per semi-conf tenim z ↓ y ′ i per tant x ↓ y ′

Page 63: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Demostracio

Demostracio del teorema anterior: 1⇒ 2⇒ 3⇒ 1

(1⇒ 2): si → es CR i y1∗← x

∗→ y2 llavors y1∗↔ y2 i per CR

y1 ↓ y2, per tant → es confluent.

(2⇒ 3): obvi.

(3⇒ 1): si → es semi-conf. i x∗↔ y demostrarem x ↓ y , (CR),

per induccio en la llargada de x∗↔ y .

Cas base: x = y , trivial.

Cas inductiu: x∗↔ y ↔ y ′, per HI sabem que x ↓ y , per

tant existeix z : x∗→ z

∗← y . Demostrem que x ↓ y ′ percasos:

y ← y ′: x ↓ y ′ es deriva directament ja que x ↓ yy → y ′: per semi-conf tenim z ↓ y ′ i per tant x ↓ y ′

Page 64: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Demostracio

Demostracio del teorema anterior: 1⇒ 2⇒ 3⇒ 1

(1⇒ 2): si → es CR i y1∗← x

∗→ y2 llavors y1∗↔ y2 i per CR

y1 ↓ y2, per tant → es confluent.

(2⇒ 3): obvi.

(3⇒ 1): si → es semi-conf. i x∗↔ y demostrarem x ↓ y , (CR),

per induccio en la llargada de x∗↔ y .

Cas base: x = y , trivial.

Cas inductiu: x∗↔ y ↔ y ′, per HI sabem que x ↓ y , per

tant existeix z : x∗→ z

∗← y . Demostrem que x ↓ y ′ percasos:

y ← y ′: x ↓ y ′ es deriva directament ja que x ↓ yy → y ′: per semi-conf tenim z ↓ y ′ i per tant x ↓ y ′

Page 65: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Demostracio

Demostracio del teorema anterior: 1⇒ 2⇒ 3⇒ 1

(1⇒ 2): si → es CR i y1∗← x

∗→ y2 llavors y1∗↔ y2 i per CR

y1 ↓ y2, per tant → es confluent.

(2⇒ 3): obvi.

(3⇒ 1): si → es semi-conf. i x∗↔ y demostrarem x ↓ y , (CR),

per induccio en la llargada de x∗↔ y .

Cas base: x = y , trivial.

Cas inductiu: x∗↔ y ↔ y ′, per HI sabem que x ↓ y , per

tant existeix z : x∗→ z

∗← y . Demostrem que x ↓ y ′ percasos:

y ← y ′: x ↓ y ′ es deriva directament ja que x ↓ yy → y ′: per semi-conf tenim z ↓ y ′ i per tant x ↓ y ′

Page 66: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Consequencies del teorema

La confluencia sola no garanteix que sigui factible decidirequivalencia: si la relacio no es de terminacio...Els seguents resultats acaben el dibuix:

Fact

Si → es confluent, cada element te com a molt una unicaforma normal.

Si → es normalitzant i confluent, cada element te unaunica forma normal.

Theorem (Confluent i normalitzant)

Si → es confluent i normalitzant llavors x∗↔ y ⇔ x ↓= y ↓.

Page 67: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Consequencies del teorema

Aixı el test d’equivalencia tinguent confluencia es: testejar si laforma normal dels dos elements son identiques. Sera decidiblesi les formes normals son computables i la identitat tambe.La terminacio tambe ens ajuda:

Theorem

Si → es convergent llavors x∗↔ y ⇔ x ↓= y ↓.

Page 68: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exercicis (i)

Donades les seguent dues relacions de reescriptura:

1 Sigui A = N − {0, 1}. Definim

→ = {(m, n)|m > n ∧ m mod n = 0}

2 Sigui A = {a, b}∗ (les paraules sobre l’alphabet a, b).Definim

→ = {(ubav , uabv)| u, v ∈ A}

Explica que significa en cadascuna d’elles que: un elementesta en forma normal, un element es forma normal d’unaltre i que siguin “joinable”.

Digues tambe i justifica-ho, si son d’acabament,Church-Rosser i confluents.

Page 69: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Exercicis (ii)

Fes les seguents demostracions:

3 Demostra el teorema “Confluent i normalitzant” i els fetsprecedents.

4 Demostra que → es confluent i normalitzant sii cadaelement te una unica forma normal.

5 Demostra diagramaticalment els dos casos del pasd’induccio de la demo del teorema CR=Confluent.

Page 70: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Resum

1 Introduccio

2 Sistemes de Reescriptura Abstractes

3 Reescriptura de Termes

Page 71: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura de Termes

Sistemes de reescriptura de termes (de primer-ordre)(TRS).

La regla de reduccio es presenta esquematicament:

x + 0→ x

de manera que podem reduir per quasevol substitucio, p.ex.[x 7→ 1]:

1 + 0→ 1

i ho podem fer en qualsevol contexte:

1 + (3 + 0) ∗ 4→ 1 + 3 + 4

Page 72: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura de Termes

Sistemes de reescriptura de termes (de primer-ordre)(TRS).

La regla de reduccio es presenta esquematicament:

x + 0→ x

de manera que podem reduir per quasevol substitucio, p.ex.[x 7→ 1]:

1 + 0→ 1

i ho podem fer en qualsevol contexte:

1 + (3 + 0) ∗ 4→ 1 + 3 + 4

Page 73: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura de Termes

Sistemes de reescriptura de termes (de primer-ordre)(TRS).

La regla de reduccio es presenta esquematicament:

x + 0→ x

de manera que podem reduir per quasevol substitucio, p.ex.[x 7→ 1]:

1 + 0→ 1

i ho podem fer en qualsevol contexte:

1 + (3 + 0) ∗ 4→ 1 + 3 + 4

Page 74: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Reescriptura de termes

Conceptes basics: Signatura, termes, contextos,substitucions, matching, unificacio, ...

Definicio de TRS

Reduccio

Sistemes equacionals; semantica

TRS complerts i el “word problem”

Solapament i parells crıtics

Page 75: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes (i)

Definition

Una Signatura es un conjunt no buit de sımbols defuncio f , g , a, . . . amb una aritat cadascun. Els sımbols0-aris tambe s’anomenen constants.

Les variables son un conjunt infinit Var de sımbolsdisjunts de la signatura x , y , . . .

El conjunt de termes sobre una signatura Σ, T (Σ) esdefineix:

x ∈ T (Σ) per tot x ∈ Var .si f ∈ Σ es n-aria i t1, . . . , tn ∈ T (Σ) llavorsf (t1, . . . , tn) ∈ T (Σ).ti son els arguments i f el cap o arrel.Enlloc de a() escriurem a.

Page 76: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes (ii)

Definition

Termes sense variables son ground.

Termes sense variables repetides son lineals.

Var(t) son les variables que occorren a t.

La llargada o tamany d’un terme es el numerod’occurrencies de sımbols de funcio i variables del terme.

Example

Alguns termes i alguns no termes: Σ = {f2, h1, a0, b0} Termes:

f (f (x , h(a)), f (x , a)) x h(x , y) a f (f (a, b), a)

“no termes”:

f (f (a), b) x(a) f a(b)

Page 77: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes (iii)

Definicions “auxiliars”:

Definition

Un contexte es un terme C ∈ T (Σ ∪ {•}) on • es unanova constant: forat. (C [ ])

Si C te n forats i t1, . . . , tn son termes, C [t1, . . . , tn] es elterme C on es substitueixen els n forats pels n t’sd’esquerra a dreta.

Si t = C [t1, . . . , tn] i n ≥ 1 diem que C es un prefixe de ti cada ti un subterme de t, ti ≤ t (es propi si C 6= •).

sigui t un terme i t = C (s) = D(s) i C 6= D llavors soccorre com a mınim 2 cops a t: 〈s|C 〉 i 〈s|D〉.Analogament per sımbols de funcio.

Page 78: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes (iv)

Example

Considerem el terme:

t = g(

f (a, b), h(f (a, b)), f (h(a), h(a)))

Per definicio:

g(

f (•, b), h(•), f (h(a), •))[a, f (a, b), h(a)]

Aixı, el subterme a occorre diversos cops, el podem situargracies als contextes:

〈a, g(

f (•, b), h(f (a, b)), f (h(a), h(a)))〉

〈a, g(

f (a, b), h(f (•, b)), f (h(a), h(a)))〉

. . .

Page 79: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes (v)

Exercicis:

1 Definiu els contextes d’un sol forat inductivament.

2 Definiu C [t] recursivament.3 Donades dues ocurrencies 〈s|C []〉 i 〈s ′|C ′[]〉 a t, definiu:

〈s|C []〉 ≤ 〈s ′|C ′[]〉, contingut〈s|C []〉 disjunt de 〈s ′|C ′[]〉

Page 80: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Arbres (i)

Definition

Podem representar els termes com a arbres finits etiquetats:

les variables i les constants son arbres d’un sol nodeetiquetat amb la variable o constant

el terme f (t1, . . . , tn) sera un arbre amb f com a etiquetade l’arrel i t1, . . . , tn com a subarbres directes d’esquerra adreta.

Ens referim als nodes de l’arbre amb posicions especificadesamb sequencies d’enters:

la posicio arrel d’un arbre es la sequencia buida ε

sigui t un terme i f (t1, . . . , tn) un subterme de t a laposicio π, llavors ti esta a la posicio π i de t, de fett|(π i) = ti .

Page 81: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Arbres (ii)

Example

Considerem el terme:

t = g(

f (a, b), h(f (a, b)), f (h(a), h(a)))

Tenim, t|11 = a, t|21 = f (a, b) i t|32 = h(a) son subtermes det. De fet, t|31 = t|32.

Exercicis:

4 Definiu inductivament t|p.

5 Verifiqueu que t|p ≤ t|q sii q ≤ p (prefixe de paraules)

6 Demostreu que t|p q = t|p|q

Page 82: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Substitucions (i)

Definition

Una substitucio es una funcio σ : T (Σ)→ T (Σ) tal que:

σ(f (t1, . . . , tn)) = f (σ(t1), . . . , σ(tn))

i canvia les variables per termes. Tambe es defineix com a unafuncio σ : Var → T (Σ), i es descriu extensionalment com aσ = [x1 → t1, . . . , xn → tn] amb ti 6= xi , aquestes xi son eldomini de σ, Dom(σ).Si s = σ(t) diem que s es una instancia de t.

Example

Sigui σ = [x 7→ f (a, b), y 7→ h(z), z 7→ a], tenim

σ(

g( z , h(y), f (x , x) ))

=g( a, h(h(z)), f (f (a, b), f (a, b)) )

Page 83: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Substitucions (i)

Definition

Una substitucio es una funcio σ : T (Σ)→ T (Σ) tal que:

σ(f (t1, . . . , tn)) = f (σ(t1), . . . , σ(tn))

i canvia les variables per termes. Tambe es defineix com a unafuncio σ : Var → T (Σ), i es descriu extensionalment com aσ = [x1 → t1, . . . , xn → tn] amb ti 6= xi , aquestes xi son eldomini de σ, Dom(σ).Si s = σ(t) diem que s es una instancia de t.

Example

Sigui σ = [x 7→ f (a, b), y 7→ h(z), z 7→ a], tenim

σ(

g( z , h(y), f (x , x) ))

=

g( a, h(h(z)), f (f (a, b), f (a, b)) )

Page 84: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Substitucions (i)

Definition

Una substitucio es una funcio σ : T (Σ)→ T (Σ) tal que:

σ(f (t1, . . . , tn)) = f (σ(t1), . . . , σ(tn))

i canvia les variables per termes. Tambe es defineix com a unafuncio σ : Var → T (Σ), i es descriu extensionalment com aσ = [x1 → t1, . . . , xn → tn] amb ti 6= xi , aquestes xi son eldomini de σ, Dom(σ).Si s = σ(t) diem que s es una instancia de t.

Example

Sigui σ = [x 7→ f (a, b), y 7→ h(z), z 7→ a], tenim

σ(

g( z , h(y), f (x , x) ))

=g( a, h(h(z)), f (f (a, b), f (a, b)) )

Page 85: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Substitucions (ii)

Definition

La composicio de substitucions σ i τ es la substitucio σ ◦ τ :

σ ◦ τ(t) = σ(τ(t))

Una substitucio σ es mes general que τ : σ ≤ τ , si existeix unasubstitucio ρ tal que τ = ρ ◦ σ.

Page 86: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Substitucions (ii)

Definition

La composicio de substitucions σ i τ es la substitucio σ ◦ τ :

σ ◦ τ(t) = σ(τ(t))

Una substitucio σ es mes general que τ : σ ≤ τ , si existeix unasubstitucio ρ tal que τ = ρ ◦ σ.

Example

Sigui σ = [x 7→ f (a, b), y 7→ h(z), z 7→ a] i ρ = [z 7→ c]

ρ◦ σ(

g( z , h(y), f (x , x) ))

=

ρ(

σ(

g( z , h(y), f (x , x) )) )

=

ρ(

g( a, h(h(z)), f (f (a, b), f (a, b)) ))

=

g( a, h(h(c)), f (f (a, b), f (a, b)) )

Page 87: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Substitucions (ii)

Definition

La composicio de substitucions σ i τ es la substitucio σ ◦ τ :

σ ◦ τ(t) = σ(τ(t))

Una substitucio σ es mes general que τ : σ ≤ τ , si existeix unasubstitucio ρ tal que τ = ρ ◦ σ.

Example

Sigui σ = [x 7→ f (a, b), y 7→ h(z), z 7→ a] i ρ = [z 7→ c]

ρ◦ σ(

g( z , h(y), f (x , x) ))

=

ρ(

σ(

g( z , h(y), f (x , x) )) )

=

ρ(

g( a, h(h(z)), f (f (a, b), f (a, b)) ))

=

g( a, h(h(c)), f (f (a, b), f (a, b)) )

Page 88: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Substitucions (ii)

Definition

La composicio de substitucions σ i τ es la substitucio σ ◦ τ :

σ ◦ τ(t) = σ(τ(t))

Una substitucio σ es mes general que τ : σ ≤ τ , si existeix unasubstitucio ρ tal que τ = ρ ◦ σ.

Example

Sigui σ = [x 7→ f (a, b), y 7→ h(z), z 7→ a] i ρ = [z 7→ c]

ρ◦ σ(

g( z , h(y), f (x , x) ))

=

ρ(

σ(

g( z , h(y), f (x , x) )) )

=

ρ(

g( a, h(h(z)), f (f (a, b), f (a, b)) ))

=

g( a, h(h(c)), f (f (a, b), f (a, b)) )

Page 89: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Substitucions (ii)

Definition

La composicio de substitucions σ i τ es la substitucio σ ◦ τ :

σ ◦ τ(t) = σ(τ(t))

Una substitucio σ es mes general que τ : σ ≤ τ , si existeix unasubstitucio ρ tal que τ = ρ ◦ σ.

Example

Sigui σ = [x 7→ f (a, b), y 7→ h(z), z 7→ a] i ρ = [z 7→ c]

ρ◦ σ(

g( z , h(y), f (x , x) ))

=

ρ(

σ(

g( z , h(y), f (x , x) )) )

=

ρ(

g( a, h(h(z)), f (f (a, b), f (a, b)) ))

=

g( a, h(h(c)), f (f (a, b), f (a, b)) )

Page 90: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Substitucions (ii)

Definition

La composicio de substitucions σ i τ es la substitucio σ ◦ τ :

σ ◦ τ(t) = σ(τ(t))

Una substitucio σ es mes general que τ : σ ≤ τ , si existeix unasubstitucio ρ tal que τ = ρ ◦ σ.

Example

σ1 = [x1 7→ f (a, b), y1 7→ h(z1), z1 7→ a]

σ2 = [x1 7→ f (x2, x3), y1 7→ y2]

σ3 = [x1 7→ f (y3, y3)]

Com es relacionen???

Page 91: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Unificacio (i)

Definition

Una equacio es un parell (no-orientat) de termes s ?= t.

Un problema d’unificacio es un conjunt d’equacions:P = {s1

?= t1, . . . , sn?= tn}. Es solucionable (unificable)

si existeix alguna substitucio σ (unificador) tal que∀i ∈ {1..n}, σ(si ) = σ(ti ) (instancia comu).

Un unificador es l’unificador mes general (mgu) sii esmes general que qualsevol altre unificador. (unic)

Page 92: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Unificacio (ii)

Example

No unificables:

{x ?= f (z , a), z ?= f (a, x)}{f (x , x) ?= f (a, z), z ?= f (a, a)}

Unificable: {f (a, x) ?= f (y1, y2), h(f (z , z)) ?= x}un unificador:

σ = [y1 7→ a, y2 7→ h(f (b, b)), x 7→ h(f (b, b)), z 7→ b]

l’unificador mes general:

ρ = [y1 7→ a, y2 7→ h(f (z , z)), x 7→ h(f (z , z))

De fet, σ = [z 7→ b] ◦ ρ.

Page 93: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Unificacio (ii)

Example

No unificables:

{x ?= f (z , a), z ?= f (a, x)}{f (x , x) ?= f (a, z), z ?= f (a, a)}

Unificable: {f (a, x) ?= f (y1, y2), h(f (z , z)) ?= x}un unificador:

σ = [y1 7→ a, y2 7→ h(f (b, b)), x 7→ h(f (b, b)), z 7→ b]

l’unificador mes general:

ρ = [y1 7→ a, y2 7→ h(f (z , z)), x 7→ h(f (z , z))

De fet, σ = [z 7→ b] ◦ ρ.

Page 94: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Unificacio (iii)

Procediment d’unificacio, (si unifica dona el mgu):

1 P ∪ {t ?= t} =⇒ P

2 P ∪ {f (t1, . . . , tn) ?= f (s1, . . . , sn)} =⇒ P⋃

1≤i≤n{ti?= si}

3 P ∪ {f (t1, . . . , tn) ?= g(s1, . . . , sn)} =⇒ CLASH (f 6= g)

4 P ∪ {X ?= t} =⇒ {X 7→ t}(P) ∪ {X ?= t} si X ∈ vars(P) iX /∈ vars(t). Si t = Y i X o Y no apareixen a la resta delproblema, no aplicarem la regla.

5 P ∪ {X ?= t} =⇒ OCCUR-CHECK (si X ∈ vars(t) iX 6= t)

El proces acaba quan produım un OCCUR-CHECK o unCLASH, no unificables; o quan no es poden aplicar mes regles illavors l’unificador es pot obtenir del que ha quedat quenaturalment tindra la forma: {X1

?= t1, . . . ,Xm?= tm}

Page 95: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Unificacio (iv)

Unifiquem:

{p(f (X , g(X )), h(Y ),V ) ?= p(Y , h(V ), f (g(Z ),W )))}

{f (X , g(X )) ?= Y , h(Y ) ?= h(V ),V ?= f (g(Z ),W )}{Y ?= f (X , g(X )), h(f (X , g(X ))) ?= h(V ),V ?= f (g(Z ),W )}{Y ?= f (X , g(X )), f (X , g(X )) ?= V ,V ?= f (g(Z ),W )}{Y ?= f (X , g(X )),V ?= f (X , g(X )), f (X , g(X )) ?= f (g(Z ),W )}{Y ?= f (X , g(X )),V ?= f (X , g(X )),X ?= g(Z ), g(X ) ?= W }

{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ), g(g(Z )) ?= W }{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ),W ?= g(g(Z ))}

Page 96: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Unificacio (iv)

Unifiquem:

{p(f (X , g(X )), h(Y ),V ) ?= p(Y , h(V ), f (g(Z ),W )))}{f (X , g(X )) ?= Y , h(Y ) ?= h(V ),V ?= f (g(Z ),W )}

{Y ?= f (X , g(X )), h(f (X , g(X ))) ?= h(V ),V ?= f (g(Z ),W )}{Y ?= f (X , g(X )), f (X , g(X )) ?= V ,V ?= f (g(Z ),W )}{Y ?= f (X , g(X )),V ?= f (X , g(X )), f (X , g(X )) ?= f (g(Z ),W )}{Y ?= f (X , g(X )),V ?= f (X , g(X )),X ?= g(Z ), g(X ) ?= W }

{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ), g(g(Z )) ?= W }{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ),W ?= g(g(Z ))}

Page 97: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Unificacio (iv)

Unifiquem:

{p(f (X , g(X )), h(Y ),V ) ?= p(Y , h(V ), f (g(Z ),W )))}{f (X , g(X )) ?= Y , h(Y ) ?= h(V ),V ?= f (g(Z ),W )}{Y ?= f (X , g(X )), h(f (X , g(X ))) ?= h(V ),V ?= f (g(Z ),W )}

{Y ?= f (X , g(X )), f (X , g(X )) ?= V ,V ?= f (g(Z ),W )}{Y ?= f (X , g(X )),V ?= f (X , g(X )), f (X , g(X )) ?= f (g(Z ),W )}{Y ?= f (X , g(X )),V ?= f (X , g(X )),X ?= g(Z ), g(X ) ?= W }

{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ), g(g(Z )) ?= W }{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ),W ?= g(g(Z ))}

Page 98: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Unificacio (iv)

Unifiquem:

{p(f (X , g(X )), h(Y ),V ) ?= p(Y , h(V ), f (g(Z ),W )))}{f (X , g(X )) ?= Y , h(Y ) ?= h(V ),V ?= f (g(Z ),W )}{Y ?= f (X , g(X )), h(f (X , g(X ))) ?= h(V ),V ?= f (g(Z ),W )}{Y ?= f (X , g(X )), f (X , g(X )) ?= V ,V ?= f (g(Z ),W )}

{Y ?= f (X , g(X )),V ?= f (X , g(X )), f (X , g(X )) ?= f (g(Z ),W )}{Y ?= f (X , g(X )),V ?= f (X , g(X )),X ?= g(Z ), g(X ) ?= W }

{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ), g(g(Z )) ?= W }{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ),W ?= g(g(Z ))}

Page 99: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Unificacio (iv)

Unifiquem:

{p(f (X , g(X )), h(Y ),V ) ?= p(Y , h(V ), f (g(Z ),W )))}{f (X , g(X )) ?= Y , h(Y ) ?= h(V ),V ?= f (g(Z ),W )}{Y ?= f (X , g(X )), h(f (X , g(X ))) ?= h(V ),V ?= f (g(Z ),W )}{Y ?= f (X , g(X )), f (X , g(X )) ?= V ,V ?= f (g(Z ),W )}{Y ?= f (X , g(X )),V ?= f (X , g(X )), f (X , g(X )) ?= f (g(Z ),W )}

{Y ?= f (X , g(X )),V ?= f (X , g(X )),X ?= g(Z ), g(X ) ?= W }{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ), g(g(Z )) ?= W }{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ),W ?= g(g(Z ))}

Page 100: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Unificacio (iv)

Unifiquem:

{p(f (X , g(X )), h(Y ),V ) ?= p(Y , h(V ), f (g(Z ),W )))}{f (X , g(X )) ?= Y , h(Y ) ?= h(V ),V ?= f (g(Z ),W )}{Y ?= f (X , g(X )), h(f (X , g(X ))) ?= h(V ),V ?= f (g(Z ),W )}{Y ?= f (X , g(X )), f (X , g(X )) ?= V ,V ?= f (g(Z ),W )}{Y ?= f (X , g(X )),V ?= f (X , g(X )), f (X , g(X )) ?= f (g(Z ),W )}{Y ?= f (X , g(X )),V ?= f (X , g(X )),X ?= g(Z ), g(X ) ?= W }

{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ), g(g(Z )) ?= W }{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ),W ?= g(g(Z ))}

Page 101: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Unificacio (iv)

Unifiquem:

{p(f (X , g(X )), h(Y ),V ) ?= p(Y , h(V ), f (g(Z ),W )))}{f (X , g(X )) ?= Y , h(Y ) ?= h(V ),V ?= f (g(Z ),W )}{Y ?= f (X , g(X )), h(f (X , g(X ))) ?= h(V ),V ?= f (g(Z ),W )}{Y ?= f (X , g(X )), f (X , g(X )) ?= V ,V ?= f (g(Z ),W )}{Y ?= f (X , g(X )),V ?= f (X , g(X )), f (X , g(X )) ?= f (g(Z ),W )}{Y ?= f (X , g(X )),V ?= f (X , g(X )),X ?= g(Z ), g(X ) ?= W }

{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ), g(g(Z )) ?= W }

{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ),W ?= g(g(Z ))}

Page 102: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Unificacio (iv)

Unifiquem:

{p(f (X , g(X )), h(Y ),V ) ?= p(Y , h(V ), f (g(Z ),W )))}{f (X , g(X )) ?= Y , h(Y ) ?= h(V ),V ?= f (g(Z ),W )}{Y ?= f (X , g(X )), h(f (X , g(X ))) ?= h(V ),V ?= f (g(Z ),W )}{Y ?= f (X , g(X )), f (X , g(X )) ?= V ,V ?= f (g(Z ),W )}{Y ?= f (X , g(X )),V ?= f (X , g(X )), f (X , g(X )) ?= f (g(Z ),W )}{Y ?= f (X , g(X )),V ?= f (X , g(X )),X ?= g(Z ), g(X ) ?= W }

{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ), g(g(Z )) ?= W }{Y ?= f (g(Z ), g(g(Z ))),V ?= f (g(Z ), g(g(Z ))),X ?= g(Z ),W ?= g(g(Z ))}

Page 103: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Unificacio (iv)

Exercicis:7 Resol les seguents equacions:

h(x , h(x , f (y))) ?= h(h(g(y), y), z)

h(h(g(x), f (y)), f (z)) ?= h(h(g(z), f (f (x))), f (y))

8 Demostra que la “instancia comu” mınima d’un problemad’unificacio pot tenir tamany exponencial. (dona unaequacio amb solucio exponencial)

9 Quina es la complexitat de l’algorisme d’unificacio que ushem donat?

Page 104: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Unificacio (v)

Problema obert:

Si a les equacions, a part de variables de termes, permetemvariables de contextes, que denotin contextes, estem davant delproblema d’unificacio de contextes.Existeix algun algorisme per a decidir unificabilitat de qualsevolequacio?

F (f (a, b)) ?= f (F (a), b)

Page 105: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Unificacio (vi)

Definition

Un problema de matching es un conjunt d’equacions:P = {s1

?= t1, . . . , sn?= tn}.

Es solucionable si existeix alguna substitucio σ(unificador) tal que ∀i ∈ {1..n}, σ(si ) = ti .

El matching tambe es defineix de vegades com a unproblema d’unificacio on “cada equacio te un costatground”.

Tant el problema de la unificacio com del matching tenencomplexitat lineal pero, naturalment, el matching es moltmes facil d’implementar.

Page 106: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Termes-Unificacio (vii)

Procediment de matching:

1 P ∪ {t ?= t} =⇒ P

2 P ∪ {f (t1, . . . , tn) ?= f (s1, . . . , sn)} =⇒ P⋃

1≤i≤n{ti?= si}

3 P ∪ {f (t1, . . . , tn) ?= g(s1, . . . , sn)} =⇒ FAIL (f 6= g)

4 P ∪ {f (t1, . . . , tn) ?= x} =⇒ FAIL

5 P ∪ {x ?= t1} =⇒ FAIL si x ?= t2 ∈ P i tenim t1 6= t2

El proces acaba quan produım una fallada, no “matchables”; oquan no es poden aplicar mes regles i llavors l’unificador es potobtenir del que ha quedat que naturalment tindra la forma:{X1

?= t1, . . . ,Xm?= tm}

Page 107: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Term Rewriting Systems (TRS) (i)

Example

Un conjunt de regles de reescriptura:

r1 : f (a, x) → g(x , x)r2 : b → f (b, b)

Page 108: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Term Rewriting Systems (TRS) (i)

Example

Un conjunt de regles de reescriptura:

r1 : f (a, x) → g(x , x)r2 : b → f (b, b)

ens permet reescriure el terme g(f (a, b), f (a, b)):

g(f (a, b), f (a, b))→ g(g(b, b), f (a, b))

Page 109: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Term Rewriting Systems (TRS) (i)

Example

Un conjunt de regles de reescriptura:

r1 : f (a, x) → g(x , x)r2 : b → f (b, b)

ens permet reescriure el terme g(f (a, b), f (a, b)):

g(f (a, b), f (a, b))→ g(g(b, b), f (a, b))

utilitzant la regla r1 amb la substitucio {x 7→ b} en el subterme〈f (a, b) | g(•, f (a, b))〉. (fem matching!)

Page 110: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Term Rewriting Systems (TRS) (ii)

Definition

Una regla de reescriptura es un parell de termes l , r querepresentarem l → r .

l no pot ser una variableVar(r) ⊆ Var(l)

Un sistema de reescriptura de termes (TRS) es unparell (signatura, conjunt de regles de reescriptura):R = (Σ,R)

Un pas de reescriptura d’una regla r1 : l → r en unterme t consisteix en reduir una ocurrencia de σ(l) (redex)en un determinat contexte C [ ] de t, tal com segueix:

t = C [σ(l)]→r1 C [σ(r)]

Page 111: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Term Rewriting Systems (TRS) (ii)

Definition

Una regla de reescriptura es un parell de termes l , r querepresentarem l → r .

l no pot ser una variableVar(r) ⊆ Var(l)

Un sistema de reescriptura de termes (TRS) es unparell (signatura, conjunt de regles de reescriptura):R = (Σ,R)

Un pas de reescriptura d’una regla r1 : l → r en unterme t consisteix en reduir una ocurrencia de σ(l) (redex)en un determinat contexte C [ ] de t, tal com segueix:

t = C [σ(l)]→r1 C [σ(r)]

Page 112: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Term Rewriting Systems (TRS) (ii)

Definition

Una regla de reescriptura es un parell de termes l , r querepresentarem l → r .

l no pot ser una variableVar(r) ⊆ Var(l)

Un sistema de reescriptura de termes (TRS) es unparell (signatura, conjunt de regles de reescriptura):R = (Σ,R)

Un pas de reescriptura d’una regla r1 : l → r en unterme t consisteix en reduir una ocurrencia de σ(l) (redex)en un determinat contexte C [ ] de t, tal com segueix:

t = C [σ(l)]→r1 C [σ(r)]

Page 113: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Term Rewriting Systems (TRS) (iii)

Identificarem R = {Σ,R} amb l’ARS (T (Σ),→) on→= ∪{→ρ∈ R}.S’hereden tots els conceptes dels ARS: CR, C, SN, T,...

Tipus de regles (generalitzable a TRS):

una regla es left(/right)-linear si el terme esquerra(/dret)es linealuna regla es non-duplicating si cap variable occorre mescops a la dreta que a l’esquerrauna regla es non-erasing si tota variable de l’esquerraocorre a la dretauna regla es collapsing si el terme dret es una variable

Page 114: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Sistemes equacionals (i)

Un conjunt d’equacions ens permet especificar tipus de dades:naturals amb suma i producte:

e1 : suma(x , 0) = xe2 : suma(x , s(y)) = s(suma(x , y))e3 : per(x , 0) = 0e4 : per(x , s(y)) = suma(per(x , y), x)

Page 115: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Sistemes equacionals (i)

Un conjunt d’equacions ens permet especificar tipus de dades:naturals amb suma i producte:

e1 : suma(x , 0) → xe2 : suma(x , s(y)) → s(suma(x , y))e3 : per(x , 0) → 0e4 : per(x , s(y)) → suma(per(x , y), x)

Tıpicament per resoldre el word problem: donada una teoria idos termes decidir si aquests son iguals segons la teoria, interessatraduir equacions a regles de reescriptura, obtenint un sistemaconvergent, pero com?Que passa amb:?

suma(x , y) = suma(y , x)

Page 116: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Sistemes equacionals (ii)

Definition

Un sistema equacional es un parell E : (Σ,E ) on E es unconjunt d’equacions s = t on s, t ∈ T (Σ).

Donat E : (Σ,E ), denotem E↔ el pseudo-TRS (Σ,E↔) onE↔ = {s → t | s = t ∈ E ∨ t = s ∈ E}.Una reduccio a (Σ,E↔) es una conversio. Escriurems =E t si existeix una conversio de s a t amb E↔.

El mes important es que la reescriptura respecti el significat(soundness).

Theorem

Sigui A |= E , llavors t =E s ⇒ A |= t = s.

P. ex.: interpretem la teoria dels nats, la suma i el producte, lareescriptura transforma iguals per iguals en els naturals.

Page 117: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Sistemes equacionals (ii)

Definition

Un sistema equacional es un parell E : (Σ,E ) on E es unconjunt d’equacions s = t on s, t ∈ T (Σ).

Donat E : (Σ,E ), denotem E↔ el pseudo-TRS (Σ,E↔) onE↔ = {s → t | s = t ∈ E ∨ t = s ∈ E}.Una reduccio a (Σ,E↔) es una conversio. Escriurems =E t si existeix una conversio de s a t amb E↔.

El mes important es que la reescriptura respecti el significat(soundness).

Theorem

Sigui A |= E , llavors t =E s ⇒ A |= t = s.

P. ex.: interpretem la teoria dels nats, la suma i el producte, lareescriptura transforma iguals per iguals en els naturals.

Page 118: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Sistemes equacionals (iii)

Per a resoldre el word problem d’un sistema equacional E vo-lem un TRS R complet: strongly-normalizing (de terminacio) iChurch-rosser de manera que:

t =R s ⇔ t =E s

L’algorisme es: trobar t ↓ i s ↓ i mirar si son iguals.

Compte!

Que passa quan els TRS no son complets?

Page 119: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Sistemes equacionals (iii)

Per a resoldre el word problem d’un sistema equacional E vo-lem un TRS R complet: strongly-normalizing (de terminacio) iChurch-rosser de manera que:

t =R s ⇔ t =E s

L’algorisme es: trobar t ↓ i s ↓ i mirar si son iguals.

Compte!

Que passa quan els TRS no son complets?

Page 120: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Sistemes equacionals (iv)

Especificacio equacional dels booleans:

e1 : ¬(true) = falsee2 : ¬(¬(x)) = xe3 : and(true, x) = xe4 : and(false, x) = falsee5 : or(x , y) = ¬(and(¬(x),¬(y)))

Page 121: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Sistemes equacionals (iv)

En construim un TRS que es strongly-normalizing pero...

r1 : ¬(true) → falser2 : ¬(¬(x)) → xr3 : and(true, x) → xr4 : and(false, x) → falser5 : or(x , y) → ¬(and(¬(x),¬(y)))

Page 122: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Sistemes equacionals (iv)

En construim un TRS que es strongly-normalizing pero...

r1 : ¬(true) → falser2 : ¬(¬(x)) → xr3 : and(true, x) → xr4 : and(false, x) → falser5 : or(x , y) → ¬(and(¬(x),¬(y)))

no es Church-Rosser...

¬(false) ←r1 ¬(¬(true)) →r2 true

Direm que ¬(false) i true son critical pairs...

Page 123: Sistemes de Reescriptura (09-10)ima.udg.es › ~villaret › sistemes_reescriptura.pdfSistemes de Reescriptura Abstractes Reescriptura de Termes Sistemes de Reescriptura (09-10) Mateu

Introduccio

Sistemes deReescripturaAbstractes

Reescripturade Termes

Sistemes equacionals (iv)

Usant Critical pairs podem completar el TRS:

r1 : ¬(true) → falser2 : ¬(¬(x)) → xr3 : and(true, x) → xr4 : and(false, x) → falser5 : or(x , y) → ¬(and(¬(x),¬(y)))r6 : ¬(false) → true