![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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/50.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/51.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/52.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/53.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/54.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/55.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/56.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/57.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/58.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/59.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/60.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/61.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/62.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/63.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/64.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/65.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/66.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/67.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/68.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/69.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/70.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/71.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/72.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/73.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/74.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/75.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/76.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/77.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/78.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/79.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/80.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/81.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/82.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/83.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/84.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/85.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/86.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/87.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/88.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/89.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/90.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/91.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/92.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/93.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/94.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/95.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/96.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/97.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/98.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/99.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/100.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/101.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/102.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/103.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/104.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/105.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/106.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/107.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/108.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/109.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/110.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/111.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/112.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/113.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/114.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/115.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/116.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/117.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/118.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/119.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/120.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/121.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/122.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060323/5f0d9d287e708231d43b3991/html5/thumbnails/123.jpg)
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