Termersetzungssysteme. Andrei Morozyuk

Termersetzungssysteme Andrei Morozyuk Andrei Morozyuk Termersetzungssysteme Verlauf 1 Grundlagen Terme Andrei Morozyuk Termersetzungssysteme ...
19 downloads 1 Views 2MB Size
Termersetzungssysteme Andrei Morozyuk

Andrei Morozyuk

Termersetzungssysteme

Verlauf

1

Grundlagen Terme

Andrei Morozyuk

Termersetzungssysteme

Verlauf

1

Grundlagen Terme Substituitonen

Andrei Morozyuk

Termersetzungssysteme

Verlauf

1

Grundlagen Terme Substituitonen Gleichungen

Andrei Morozyuk

Termersetzungssysteme

Verlauf

1

Grundlagen Terme Substituitonen Gleichungen Oparationelle und Semantische Gleihheit

Andrei Morozyuk

Termersetzungssysteme

Verlauf

1

Grundlagen Terme Substituitonen Gleichungen Oparationelle und Semantische Gleihheit

2

Termersetzungssysteme

Andrei Morozyuk

Termersetzungssysteme

Verlauf

1

Grundlagen Terme Substituitonen Gleichungen Oparationelle und Semantische Gleihheit

2

Termersetzungssysteme Regel

Andrei Morozyuk

Termersetzungssysteme

Verlauf

1

Grundlagen Terme Substituitonen Gleichungen Oparationelle und Semantische Gleihheit

2

Termersetzungssysteme Regel Rewriterelation

Andrei Morozyuk

Termersetzungssysteme

Verlauf

1

Grundlagen Terme Substituitonen Gleichungen Oparationelle und Semantische Gleihheit

2

Termersetzungssysteme Regel Rewriterelation Termination

Andrei Morozyuk

Termersetzungssysteme

Verlauf

1

Grundlagen Terme Substituitonen Gleichungen Oparationelle und Semantische Gleihheit

2

Termersetzungssysteme Regel Rewriterelation Termination Konfluenz

Andrei Morozyuk

Termersetzungssysteme

Verlauf

1

Grundlagen Terme Substituitonen Gleichungen Oparationelle und Semantische Gleihheit

2

Termersetzungssysteme Regel Rewriterelation Termination Konfluenz

Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Definition Terme S Sei F = n≥0 Fn eine Menge von Funktionssymbolen(Signatur ) mit Fn ∩ Fm = ∅ und χ eine (abz¨ahlbare) Menge von Variablensymbolen so, dass χ ∩ F = ∅. Die Menge aller Terme T (F , χ) wird induktiv definiert: χ ⊆ T (F , χ) f¨ ur alle n ≥ 0 , f ∈ Fn und f¨ ur alle t1 ...tn ∈ T (F , χ) gilt: f (t1 ...tn ) ∈ T (F , χ) (n (arity) ist die Stelligkeit von f) Eigenschaften von T (F , χ) bzw. von F T (F , χ) ist die kleinste Menge die χ enth¨alt und unter Anwendung von Funktionen aus F abgeschlossen ist

Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Definition Terme S Sei F = n≥0 Fn eine Menge von Funktionssymbolen(Signatur ) mit Fn ∩ Fm = ∅ und χ eine (abz¨ahlbare) Menge von Variablensymbolen so, dass χ ∩ F = ∅. Die Menge aller Terme T (F , χ) wird induktiv definiert: χ ⊆ T (F , χ) f¨ ur alle n ≥ 0 , f ∈ Fn und f¨ ur alle t1 ...tn ∈ T (F , χ) gilt: f (t1 ...tn ) ∈ T (F , χ) (n (arity) ist die Stelligkeit von f) Eigenschaften von T (F , χ) bzw. von F T (F , χ) ist die kleinste Menge die χ enth¨alt und unter Anwendung von Funktionen aus F abgeschlossen ist Sei Var(t) die Menge aller Variablen , die in Term t vorkommen, alle Terme t mit Var (t) = ∅ bezeichnet man als Grundterme

Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Definition Terme S Sei F = n≥0 Fn eine Menge von Funktionssymbolen(Signatur ) mit Fn ∩ Fm = ∅ und χ eine (abz¨ahlbare) Menge von Variablensymbolen so, dass χ ∩ F = ∅. Die Menge aller Terme T (F , χ) wird induktiv definiert: χ ⊆ T (F , χ) f¨ ur alle n ≥ 0 , f ∈ Fn und f¨ ur alle t1 ...tn ∈ T (F , χ) gilt: f (t1 ...tn ) ∈ T (F , χ) (n (arity) ist die Stelligkeit von f) Eigenschaften von T (F , χ) bzw. von F T (F , χ) ist die kleinste Menge die χ enth¨alt und unter Anwendung von Funktionen aus F abgeschlossen ist Sei Var(t) die Menge aller Variablen , die in Term t vorkommen, alle Terme t mit Var (t) = ∅ bezeichnet man als Grundterme Funktionssymbolen mit arity 0 werden Konstanten genannt

Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Definition Terme S Sei F = n≥0 Fn eine Menge von Funktionssymbolen(Signatur ) mit Fn ∩ Fm = ∅ und χ eine (abz¨ahlbare) Menge von Variablensymbolen so, dass χ ∩ F = ∅. Die Menge aller Terme T (F , χ) wird induktiv definiert: χ ⊆ T (F , χ) f¨ ur alle n ≥ 0 , f ∈ Fn und f¨ ur alle t1 ...tn ∈ T (F , χ) gilt: f (t1 ...tn ) ∈ T (F , χ) (n (arity) ist die Stelligkeit von f) Eigenschaften von T (F , χ) bzw. von F T (F , χ) ist die kleinste Menge die χ enth¨alt und unter Anwendung von Funktionen aus F abgeschlossen ist Sei Var(t) die Menge aller Variablen , die in Term t vorkommen, alle Terme t mit Var (t) = ∅ bezeichnet man als Grundterme Funktionssymbolen mit arity 0 werden Konstanten genannt Mit t|p bezeichent man den Subterm von t an der p-ten Stelle, wobei p ist ein String u ¨ber N(kann auch leer sein) Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Definition Terme S Sei F = n≥0 Fn eine Menge von Funktionssymbolen(Signatur ) mit Fn ∩ Fm = ∅ und χ eine (abz¨ahlbare) Menge von Variablensymbolen so, dass χ ∩ F = ∅. Die Menge aller Terme T (F , χ) wird induktiv definiert: χ ⊆ T (F , χ) f¨ ur alle n ≥ 0 , f ∈ Fn und f¨ ur alle t1 ...tn ∈ T (F , χ) gilt: f (t1 ...tn ) ∈ T (F , χ) (n (arity) ist die Stelligkeit von f) Eigenschaften von T (F , χ) bzw. von F T (F , χ) ist die kleinste Menge die χ enth¨alt und unter Anwendung von Funktionen aus F abgeschlossen ist Sei Var(t) die Menge aller Variablen , die in Term t vorkommen, alle Terme t mit Var (t) = ∅ bezeichnet man als Grundterme Funktionssymbolen mit arity 0 werden Konstanten genannt Mit t|p bezeichent man den Subterm von t an der p-ten Stelle, wobei p ist ein String u ¨ber N(kann auch leer sein) Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Wie stellt man sich am besten Terme vor?

Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Substituitonen Definition:Substituition Substituiton ist eine spezielle Abbildung σ:χ → T (F , χ) , die Variablen auf Terme abbildet,wobei x 6= σ(x) nur f¨ ur eine endliche Anzahl von Variablen gelten darf Schreibweise:{x1 → s1 , ..., xn → sn } Bemerkung zur Substituitonen σ:T (F , χ) → T (F , χ) mit Eigenschaft: σ(f (t1 , ..., tn )) = f (σ(t1 ), ..., σ(tn ))f¨ ur alle Terme aus T und alle Substituitonen σ

Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Substituitonen Definition:Substituition Substituiton ist eine spezielle Abbildung σ:χ → T (F , χ) , die Variablen auf Terme abbildet,wobei x 6= σ(x) nur f¨ ur eine endliche Anzahl von Variablen gelten darf Schreibweise:{x1 → s1 , ..., xn → sn } Bemerkung zur Substituitonen σ:T (F , χ) → T (F , χ) mit Eigenschaft: σ(f (t1 , ..., tn )) = f (σ(t1 ), ..., σ(tn ))f¨ ur alle Terme aus T und alle Substituitonen σ Beispiel:Verkettung von Substituitionen σ1 = {x1 → f (y , z), x2 → 0}, σ2 = {x → y , z → 0, x1 → 1} σ2 σ1 = {x1 → f (y , 0), x2 → 0, z → 0, x → y } Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Substituitonen Definition:Substituition Substituiton ist eine spezielle Abbildung σ:χ → T (F , χ) , die Variablen auf Terme abbildet,wobei x 6= σ(x) nur f¨ ur eine endliche Anzahl von Variablen gelten darf Schreibweise:{x1 → s1 , ..., xn → sn } Bemerkung zur Substituitonen σ:T (F , χ) → T (F , χ) mit Eigenschaft: σ(f (t1 , ..., tn )) = f (σ(t1 ), ..., σ(tn ))f¨ ur alle Terme aus T und alle Substituitonen σ Beispiel:Verkettung von Substituitionen σ1 = {x1 → f (y , z), x2 → 0}, σ2 = {x → y , z → 0, x1 → 1} σ2 σ1 = {x1 → f (y , 0), x2 → 0, z → 0, x → y } Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Gleichungen , Operationelle E-Gleichheit Definition:Menge von Gleichungen u ¨ber T (F , χ) Eine Menge E von Gleichungen u ¨ber T (F , χ) ist eine Teilmenge von {{s, t} : s, t ∈ T (F , χ)} Definition:Operationelle E-Gleichheit Sei E eine Menge von Gleichungen u ¨ber T (F , χ) zwei Terme s,t ∈ T (F , χ) bezeichnet man als operationell E-gleich, Schreibweise: s ↔E t falls s = u[σ(l)]p t = u[σ(r )]p f¨ ur eine Gleichung l = r in E und eine Substitution σ.

Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Gleichungen , Operationelle E-Gleichheit Definition:Menge von Gleichungen u ¨ber T (F , χ) Eine Menge E von Gleichungen u ¨ber T (F , χ) ist eine Teilmenge von {{s, t} : s, t ∈ T (F , χ)} Definition:Operationelle E-Gleichheit Sei E eine Menge von Gleichungen u ¨ber T (F , χ) zwei Terme s,t ∈ T (F , χ) bezeichnet man als operationell E-gleich, Schreibweise: s ↔E t falls s = u[σ(l)]p t = u[σ(r )]p f¨ ur eine Gleichung l = r in E und eine Substitution σ. Beispiel zur operationellen E-Gleichheit E = {f (x, f (y , z)) = f (f (x, y ), z), f (i(e), x) = x, f (x, x) = e} f (i(e), f (e, e)) =E f (f (i(e), e), e) =E f (e, e) =E e

Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Gleichungen , Operationelle E-Gleichheit Definition:Menge von Gleichungen u ¨ber T (F , χ) Eine Menge E von Gleichungen u ¨ber T (F , χ) ist eine Teilmenge von {{s, t} : s, t ∈ T (F , χ)} Definition:Operationelle E-Gleichheit Sei E eine Menge von Gleichungen u ¨ber T (F , χ) zwei Terme s,t ∈ T (F , χ) bezeichnet man als operationell E-gleich, Schreibweise: s ↔E t falls s = u[σ(l)]p t = u[σ(r )]p f¨ ur eine Gleichung l = r in E und eine Substitution σ. Beispiel zur operationellen E-Gleichheit E = {f (x, f (y , z)) = f (f (x, y ), z), f (i(e), x) = x, f (x, x) = e} f (i(e), f (e, e)) =E f (f (i(e), e), e) =E f (e, e) =E e

Andrei Morozyuk

Termersetzungssysteme

Semantische Gleichheit

Definition: F-Algebra Sei F eine Menge von Funktionssymbole.Unter einer Algebra A versteht man eine Wertemenge(Universe) A und FA eine Menge von Abbildungen so, dass zu jedem f∈ F mit arity n ∈ N eine Abbildung fA in FA : fA : An → A zugeordnet wird. Beispiel:F-Algebra T (F , χ) als Universe mit F ist eine F-Algebra

Andrei Morozyuk

Termersetzungssysteme

Semantische Gleichheit

Definition: F-Algebra Sei F eine Menge von Funktionssymbole.Unter einer Algebra A versteht man eine Wertemenge(Universe) A und FA eine Menge von Abbildungen so, dass zu jedem f∈ F mit arity n ∈ N eine Abbildung fA in FA : fA : An → A zugeordnet wird. Beispiel:F-Algebra T (F , χ) als Universe mit F ist eine F-Algebra

Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Auswertung von Termen Beispiel:Auswertung von Termen Sei A eine F-Algebra, θ : χ → A eine Auswertung von Variabelen in A:

Andrei Morozyuk Termersetzungssysteme Figure: Beispiel der Wertzuweisung einem Term

Grundlagen:Semantische Gleichheit Definition:G¨ ultigkeit einer Gleichung Sei E eine Menge von Gleichungen u ¨ber T (F , χ) und A eine F-Algebra eine Gleichung s=t in E heißt g¨ ultig in A falls die Auswertungen φ(s) und φ(t) f¨ ur beliebige Wertenzuweisungen an Variablen in t und s in A identisch sind. Definition:Modell Sei E eine Menge von Gleichungen u ¨ber T (F , χ) und A eine F-Algebra, A ist ein Modell von E , falls jede Gleichung aus E in A g¨ ultig ist.

Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Semantische Gleichheit Definition:G¨ ultigkeit einer Gleichung Sei E eine Menge von Gleichungen u ¨ber T (F , χ) und A eine F-Algebra eine Gleichung s=t in E heißt g¨ ultig in A falls die Auswertungen φ(s) und φ(t) f¨ ur beliebige Wertenzuweisungen an Variablen in t und s in A identisch sind. Definition:Modell Sei E eine Menge von Gleichungen u ¨ber T (F , χ) und A eine F-Algebra, A ist ein Modell von E , falls jede Gleichung aus E in A g¨ ultig ist. Definition:Semantische E-Gleichheit Sei E eine Menge von Gleichungen u ¨ber T (F , χ) und A eine F-Algebra zwei Terme s und t sind genau dann semantisch E-gleich,falls s=t in allen Modellen von E g¨ ultig ist. Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Semantische Gleichheit Definition:G¨ ultigkeit einer Gleichung Sei E eine Menge von Gleichungen u ¨ber T (F , χ) und A eine F-Algebra eine Gleichung s=t in E heißt g¨ ultig in A falls die Auswertungen φ(s) und φ(t) f¨ ur beliebige Wertenzuweisungen an Variablen in t und s in A identisch sind. Definition:Modell Sei E eine Menge von Gleichungen u ¨ber T (F , χ) und A eine F-Algebra, A ist ein Modell von E , falls jede Gleichung aus E in A g¨ ultig ist. Definition:Semantische E-Gleichheit Sei E eine Menge von Gleichungen u ¨ber T (F , χ) und A eine F-Algebra zwei Terme s und t sind genau dann semantisch E-gleich,falls s=t in allen Modellen von E g¨ ultig ist. Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Semantische Gleichheit:Satz von Birkhoff

Satz von Birkhoff Sei E eine Menge von Gleichungen u ¨ber T (F , χ), zwei Terme s,t aus T (F , χ) sind genau dann semantisch E-gleich , wenn sie operationell E-gleich sind. ”Semantische und Operationelle E-Gleichheiten stimmen u ¨berein”

Andrei Morozyuk

Termersetzungssysteme

Grundlagen:Semantische Gleichheit:Satz von Birkhoff

Satz von Birkhoff Sei E eine Menge von Gleichungen u ¨ber T (F , χ), zwei Terme s,t aus T (F , χ) sind genau dann semantisch E-gleich , wenn sie operationell E-gleich sind. ”Semantische und Operationelle E-Gleichheiten stimmen u ¨berein”

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme

Motivation Wie kann man pr¨ ufen bzw. entscheiden ob zwei Terme bzgl. eines Reduktionssystems gleich sind?

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Regeln

Definition:Regel ¨ Eine Regel ist eine Aquivalenz s=t (s,t aus T (F , χ)) wobei s keine Variable ist und Var(t)⊆ Var(s). Schreibweise: s → t Definition:Reduktionssystem, Termersetzungssystem Eine Menge von Regeln R bezeichnet man als Termersetzungssystem

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Regeln

Definition:Regel ¨ Eine Regel ist eine Aquivalenz s=t (s,t aus T (F , χ)) wobei s keine Variable ist und Var(t)⊆ Var(s). Schreibweise: s → t Definition:Reduktionssystem, Termersetzungssystem Eine Menge von Regeln R bezeichnet man als Termersetzungssystem Beispiel:Termersetzungssystem R = {f (x, f (y , z)) → f (f (x, y ), z), f (i(e), x) → x, f (x, x) → e}

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Regeln

Definition:Regel ¨ Eine Regel ist eine Aquivalenz s=t (s,t aus T (F , χ)) wobei s keine Variable ist und Var(t)⊆ Var(s). Schreibweise: s → t Definition:Reduktionssystem, Termersetzungssystem Eine Menge von Regeln R bezeichnet man als Termersetzungssystem Beispiel:Termersetzungssystem R = {f (x, f (y , z)) → f (f (x, y ), z), f (i(e), x) → x, f (x, x) → e}

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Rewriterelation Definition:Rewriterelation bzgl. R Sei R ein Termersetzungssystem und s,t ∈ T (F , χ), Term s wird zum Term t bzgl. R u ¨berschrieben Schreibweise: s →R t falls es s|p = σ(l) und t=s[σ(r )]p f¨ ur eine Regel l → r in R , eine Position p in s und eine Substituition σ Bemerkungen - Rewriterelation ist abgeschlossen unter Substitutionen und kompatibel mit F-Operationen Allgemein:Sei ≡ eine beliebige Relation auf T (F , χ) 1. ≡ ist kompatibel mit F-Operationen:f¨ ur alle t,s aus T (F , χ) t ≡ s impliziert: f (t1 , ..., ti−1 , t, ti+1 , ..., tn ) ≡ f (t1 , ...., ti−1 , s, ti+1 , ..., tn ) f¨ ur alle n ∈ N ∪ {0} ,1 ≤ i ≤ n und f¨ ur alle f aus Fn 2. ≡ ist abgeschlossen unter Substituitonen:f¨ ur alle s,t aus T (F , χ) mit t ≡ s impliziert: σ(t) ≡ σ(s) f¨ ur alle Substitutionen σ Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Rewriterelation Definition:Rewriterelation bzgl. R Sei R ein Termersetzungssystem und s,t ∈ T (F , χ), Term s wird zum Term t bzgl. R u ¨berschrieben Schreibweise: s →R t falls es s|p = σ(l) und t=s[σ(r )]p f¨ ur eine Regel l → r in R , eine Position p in s und eine Substituition σ Bemerkungen - Rewriterelation ist abgeschlossen unter Substitutionen und kompatibel mit F-Operationen Allgemein:Sei ≡ eine beliebige Relation auf T (F , χ) 1. ≡ ist kompatibel mit F-Operationen:f¨ ur alle t,s aus T (F , χ) t ≡ s impliziert: f (t1 , ..., ti−1 , t, ti+1 , ..., tn ) ≡ f (t1 , ...., ti−1 , s, ti+1 , ..., tn ) f¨ ur alle n ∈ N ∪ {0} ,1 ≤ i ≤ n und f¨ ur alle f aus Fn 2. ≡ ist abgeschlossen unter Substituitonen:f¨ ur alle s,t aus T (F , χ) mit t ≡ s impliziert: σ(t) ≡ σ(s) f¨ ur alle Substitutionen σ Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Beispiel

R = {f (x, f (y , z)) → f (f (x, y ), z), f (i(e), x) → x, f (x, x) → e} f (i(e), f (e, e)) →R f (f (i(e), e), e) →R f (e, e) →R e

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Beispiel

R = {f (x, f (y , z)) → f (f (x, y ), z), f (i(e), x) → x, f (x, x) → e} f (i(e), f (e, e)) →R f (f (i(e), e), e) →R f (e, e) →R e Definition:Normalform Sei R ein Termersetzungssystem u ¨ber T (F , χ) und t ein Term aus T (F , χ) die Normalform wird genau dann erreicht, wenn es keine Stelle p in t exestiert an der die Reduktion stattfinden kann.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Beispiel

R = {f (x, f (y , z)) → f (f (x, y ), z), f (i(e), x) → x, f (x, x) → e} f (i(e), f (e, e)) →R f (f (i(e), e), e) →R f (e, e) →R e Definition:Normalform Sei R ein Termersetzungssystem u ¨ber T (F , χ) und t ein Term aus T (F , χ) die Normalform wird genau dann erreicht, wenn es keine Stelle p in t exestiert an der die Reduktion stattfinden kann. Bemerkungen -Eine Normalform muss nicht immer existieren -es kann mehrere Normalformen von einem Term geben

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Beispiel

R = {f (x, f (y , z)) → f (f (x, y ), z), f (i(e), x) → x, f (x, x) → e} f (i(e), f (e, e)) →R f (f (i(e), e), e) →R f (e, e) →R e Definition:Normalform Sei R ein Termersetzungssystem u ¨ber T (F , χ) und t ein Term aus T (F , χ) die Normalform wird genau dann erreicht, wenn es keine Stelle p in t exestiert an der die Reduktion stattfinden kann. Bemerkungen -Eine Normalform muss nicht immer existieren -es kann mehrere Normalformen von einem Term geben

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konvergenz Definition:Konvergenz Ein Termersetzungssystem R heißt konvergent genau dann, wenn es konfluent und terminierend ist.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konvergenz Definition:Konvergenz Ein Termersetzungssystem R heißt konvergent genau dann, wenn es konfluent und terminierend ist. Definition:Termination Ein Termersetuzungsystem R u ¨ber T (F , χ)heißt terminierend falls es keine unenliche Kette t1 →R t2 →R t3 ..., ti ∈ T (F , χ)i ≥ 1.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konvergenz Definition:Konvergenz Ein Termersetzungssystem R heißt konvergent genau dann, wenn es konfluent und terminierend ist. Definition:Termination Ein Termersetuzungsystem R u ¨ber T (F , χ)heißt terminierend falls es keine unenliche Kette t1 →R t2 →R t3 ..., ti ∈ T (F , χ)i ≥ 1. Definiton: Konfluenz Sei R ein Termersetzungssystem u ¨ber T (F , χ) heißt konfluent falls ∗ ∗ es f¨ ur alle s,t,r ∈ T (F , χ) mit s→R t,s→R r dann ist r↓t.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konvergenz Definition:Konvergenz Ein Termersetzungssystem R heißt konvergent genau dann, wenn es konfluent und terminierend ist. Definition:Termination Ein Termersetuzungsystem R u ¨ber T (F , χ)heißt terminierend falls es keine unenliche Kette t1 →R t2 →R t3 ..., ti ∈ T (F , χ)i ≥ 1. Definiton: Konfluenz Sei R ein Termersetzungssystem u ¨ber T (F , χ) heißt konfluent falls ∗ ∗ es f¨ ur alle s,t,r ∈ T (F , χ) mit s→R t,s→R r dann ist r↓t. Bemerkungen Konvergenz bedeutet Existenz genau einer Normalform Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konvergenz Definition:Konvergenz Ein Termersetzungssystem R heißt konvergent genau dann, wenn es konfluent und terminierend ist. Definition:Termination Ein Termersetuzungsystem R u ¨ber T (F , χ)heißt terminierend falls es keine unenliche Kette t1 →R t2 →R t3 ..., ti ∈ T (F , χ)i ≥ 1. Definiton: Konfluenz Sei R ein Termersetzungssystem u ¨ber T (F , χ) heißt konfluent falls ∗ ∗ es f¨ ur alle s,t,r ∈ T (F , χ) mit s→R t,s→R r dann ist r↓t. Bemerkungen Konvergenz bedeutet Existenz genau einer Normalform Andrei Morozyuk

Termersetzungssysteme

Termersetzungsysteme:Church-RosserEigenschaft,Konfluenz

Definition:Church-Rosser-Eigenschaft ∗

Church-Rosser Eignschaft x ↔R y ⇔ x ↓ y Satz Church-Rosser-Eigenschaft Konfluenz.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungsysteme:Church-RosserEigenschaft,Konfluenz

Definition:Church-Rosser-Eigenschaft ∗

Church-Rosser Eignschaft x ↔R y ⇔ x ↓ y Satz Church-Rosser-Eigenschaft Konfluenz. ∗

Falls R konvergent und endlich ist ⇒ dann ist ↔R entscheidbar.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungsysteme:Church-RosserEigenschaft,Konfluenz

Definition:Church-Rosser-Eigenschaft ∗

Church-Rosser Eignschaft x ↔R y ⇔ x ↓ y Satz Church-Rosser-Eigenschaft Konfluenz. ∗

Falls R konvergent und endlich ist ⇒ dann ist ↔R entscheidbar.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Termination

Die Frage ob ein endliches Termersetzungssystem Terminiert ist unentscheidbar Satz:Spezialfall Sei R ein endliches right-ground Termersetzungssystem d.h. R = {l1 → r1 , l2 → r2 , ..., ln → rn } mit Var (ri ) = ∅ ∀ i ∈ {1...n} dann sind folgende Aussagen ¨aquivalent: 1.R terminiert nicht 2. Es exestiert eine Regel li → ri in R so, dass ri →+ R t[ri ]p

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Termination

Die Frage ob ein endliches Termersetzungssystem Terminiert ist unentscheidbar Satz:Spezialfall Sei R ein endliches right-ground Termersetzungssystem d.h. R = {l1 → r1 , l2 → r2 , ..., ln → rn } mit Var (ri ) = ∅ ∀ i ∈ {1...n} dann sind folgende Aussagen ¨aquivalent: 1.R terminiert nicht 2. Es exestiert eine Regel li → ri in R so, dass ri →+ R t[ri ]p

Andrei Morozyuk

Termersetzungssysteme

Termersetzungsysteme:Termination:Spezialfall Bei einem right-ground Termersetzungssystem R ist Termination entscheidbar. ¨ Algorithmus zur Uberpr¨ ufung der Terination eines right-ground Termersetzungssystems k=1 1

Generiere alle Reduktionsfolgen der L¨ange k beginnend mit ri , 1...n

Andrei Morozyuk

Termersetzungssysteme

Termersetzungsysteme:Termination:Spezialfall Bei einem right-ground Termersetzungssystem R ist Termination entscheidbar. ¨ Algorithmus zur Uberpr¨ ufung der Terination eines right-ground Termersetzungssystems k=1 1

Generiere alle Reduktionsfolgen der L¨ange k beginnend mit ri , 1...n

2

Falls es keine Folgen generierbar sind , dann STOP, R terminiert sonst:

Andrei Morozyuk

Termersetzungssysteme

Termersetzungsysteme:Termination:Spezialfall Bei einem right-ground Termersetzungssystem R ist Termination entscheidbar. ¨ Algorithmus zur Uberpr¨ ufung der Terination eines right-ground Termersetzungssystems k=1 1

Generiere alle Reduktionsfolgen der L¨ange k beginnend mit ri , 1...n

2

Falls es keine Folgen generierbar sind , dann STOP, R terminiert sonst:

3

Falls es doch Folgen der L¨ange k exestieren,pr¨ ufe ob es eine Folge exestiert, die 2. (aus dem Satz:Speziallfall) erf¨ ullt, falls JA dann STOP, R terminiert nicht sonst k := k + 1 gehe zu 1.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungsysteme:Termination:Spezialfall Bei einem right-ground Termersetzungssystem R ist Termination entscheidbar. ¨ Algorithmus zur Uberpr¨ ufung der Terination eines right-ground Termersetzungssystems k=1 1

Generiere alle Reduktionsfolgen der L¨ange k beginnend mit ri , 1...n

2

Falls es keine Folgen generierbar sind , dann STOP, R terminiert sonst:

3

Falls es doch Folgen der L¨ange k exestieren,pr¨ ufe ob es eine Folge exestiert, die 2. (aus dem Satz:Speziallfall) erf¨ ullt, falls JA dann STOP, R terminiert nicht sonst k := k + 1 gehe zu 1.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Termination:Rewriteorder Definition:Rewriteorder Sei F eine Signatur und χ eine Variablenmenge(abz¨ahlbar unendlich) eine strenge Ordnungngsrelation > auf T (F , χ) heißt Rewriteorder genau dann wenn: 1. > ist kompatibel mit F-Operationen 2. > ist abgeschlossen unter Substitutionen Defintion:Reductionorder Ein Reductionorder ist ein wellfounded Rewriteorder d.h.: es exestiert keine unednliche Kette t1 > t2 > t3 > ....

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Termination:Rewriteorder Definition:Rewriteorder Sei F eine Signatur und χ eine Variablenmenge(abz¨ahlbar unendlich) eine strenge Ordnungngsrelation > auf T (F , χ) heißt Rewriteorder genau dann wenn: 1. > ist kompatibel mit F-Operationen 2. > ist abgeschlossen unter Substitutionen Defintion:Reductionorder Ein Reductionorder ist ein wellfounded Rewriteorder d.h.: es exestiert keine unednliche Kette t1 > t2 > t3 > .... Satz:Kriterium f¨ ur Termination Ein Termersetzungssystem R terminiert genau dann , wenn es ein Reductionorder > exestiert, so dass l > r f¨ ur alle Regeln l → r in R gilt. Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Termination:Rewriteorder Definition:Rewriteorder Sei F eine Signatur und χ eine Variablenmenge(abz¨ahlbar unendlich) eine strenge Ordnungngsrelation > auf T (F , χ) heißt Rewriteorder genau dann wenn: 1. > ist kompatibel mit F-Operationen 2. > ist abgeschlossen unter Substitutionen Defintion:Reductionorder Ein Reductionorder ist ein wellfounded Rewriteorder d.h.: es exestiert keine unednliche Kette t1 > t2 > t3 > .... Satz:Kriterium f¨ ur Termination Ein Termersetzungssystem R terminiert genau dann , wenn es ein Reductionorder > exestiert, so dass l > r f¨ ur alle Regeln l → r in R gilt. Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Termination:Reductionorder: Beispiel f¨ur ein Reductionorder

f¨ ur alle s,t ∈ T (F , χ): s>t |s| > |t| und f¨ ur alle x ∈ χ gilt |s|x ≥ |t|x

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Termination:Reductionorder: Beispiel f¨ur ein Reductionorder

f¨ ur alle s,t ∈ T (F , χ): s>t |s| > |t| und f¨ ur alle x ∈ χ gilt |s|x ≥ |t|x

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz

Das Problem festzustellen ob ein endliches Termersetzungssystem Konfluent ist, ist unentscheidbar

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz

Das Problem festzustellen ob ein endliches Termersetzungssystem Konfluent ist, ist unentscheidbar Definition:Lokale Konfluenz R heißt lokal konfluent f¨ ur alle x,y,z ∈T (F , χ) x →R y , x→R z ⇒ y↓ z

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz

Das Problem festzustellen ob ein endliches Termersetzungssystem Konfluent ist, ist unentscheidbar Definition:Lokale Konfluenz R heißt lokal konfluent f¨ ur alle x,y,z ∈T (F , χ) x →R y , x→R z ⇒ y↓ z

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz

Newman’s Lemma Ein terminierendes Termersetzungssystem R ist konfluent R ist lokal konfluent.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz

Newman’s Lemma Ein terminierendes Termersetzungssystem R ist konfluent R ist lokal konfluent.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen

Impliziert: ∗



t1 = s[σ1 (r1 )]p1 → s[t]p1 ← s[(σ1 (l1 ))[σ2 (r2 )]p ]p1 = s[σ2 (r2 )]p2 = = t2

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen

Impliziert: ∗



t1 = s[σ1 (r1 )]p1 → s[t]p1 ← s[(σ1 (l1 ))[σ2 (r2 )]p ]p1 = s[σ2 (r2 )]p2 = = t2

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen:Nichtkritischer Fall

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen:Kritischer Fall

Kritischer Fall l1 |p ∈ / χ und σ1 (l1 |p ) = σ2 (l2 )

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen:Kritischer Fall

Kritischer Fall l1 |p ∈ / χ und σ1 (l1 |p ) = σ2 (l2 ) Definition:Kritische Paare Seien li → ri i = 1, 2 zwei Regeln aus R mit Var (l1 , r2 ) ∩ Var (l2 , r2 ) = ∅.Weiter sei p eine Position in l1 so , dass l1 |p ∈ / χ und θ ein mgu(most general unifier) von l1 |p =? l2 dann wird ein kritisches Paar definiert hθ(r1 ), (θ(l1 ))[θ(r2 )]p i Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen:Kritischer Fall

Kritischer Fall l1 |p ∈ / χ und σ1 (l1 |p ) = σ2 (l2 ) Definition:Kritische Paare Seien li → ri i = 1, 2 zwei Regeln aus R mit Var (l1 , r2 ) ∩ Var (l2 , r2 ) = ∅.Weiter sei p eine Position in l1 so , dass l1 |p ∈ / χ und θ ein mgu(most general unifier) von l1 |p =? l2 dann wird ein kritisches Paar definiert hθ(r1 ), (θ(l1 ))[θ(r2 )]p i Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen:Kritische Paare Kritisches Paar 1 f(f(x,y),z)→ f(x,f(y,z)) 2

f (i(x1 ), x1 ) → e

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen:Kritische Paare Kritisches Paar 1 f(f(x,y),z)→ f(x,f(y,z)) 2

f (i(x1 ), x1 ) → e

Kritisches Paar Lemma Falls s→R ti i = 1, 2 dann ist entweder t1 ↓ t2 oder ti = s[ui ]p , i = 1, 2 mit hu1 , u2 i oder hu2 , u1 i ist eine Instanz eines kritischen Paares von R.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen:Kritische Paare Kritisches Paar 1 f(f(x,y),z)→ f(x,f(y,z)) 2

f (i(x1 ), x1 ) → e

Kritisches Paar Lemma Falls s→R ti i = 1, 2 dann ist entweder t1 ↓ t2 oder ti = s[ui ]p , i = 1, 2 mit hu1 , u2 i oder hu2 , u1 i ist eine Instanz eines kritischen Paares von R. Satz Ein Termersetzungssystem R ist lokal konfluent jedes kritisches Paar von R ist vereinbar.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen:Kritische Paare Kritisches Paar 1 f(f(x,y),z)→ f(x,f(y,z)) 2

f (i(x1 ), x1 ) → e

Kritisches Paar Lemma Falls s→R ti i = 1, 2 dann ist entweder t1 ↓ t2 oder ti = s[ui ]p , i = 1, 2 mit hu1 , u2 i oder hu2 , u1 i ist eine Instanz eines kritischen Paares von R. Satz Ein Termersetzungssystem R ist lokal konfluent jedes kritisches Paar von R ist vereinbar.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen:Kritische Paare Satz Ein terminierendes Termersetzungssystem ist konfluent jedes kritisches Paar ist vereinbar.

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen:Kritische Paare Satz Ein terminierendes Termersetzungssystem ist konfluent jedes kritisches Paar ist vereinbar. Konfluenz eines endlichen , terminierenden Termersetzungssystems R ist entscheidbar

Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen:Kritische Paare Satz Ein terminierendes Termersetzungssystem ist konfluent jedes kritisches Paar ist vereinbar. Konfluenz eines endlichen , terminierenden Termersetzungssystems R ist entscheidbar ¨ Algorithmus zur Uberpr¨ ufung von Konfluenz im Spezialfall 1

f¨ ur jedes Paar l1 → r1 ,l2 → r2 aus R und f¨ ur jede Position p in l1 |p ∈ / χ pr¨ ufe ob variablendisjunkte Varianten von l1 |p und l2 unifizierbar sind

2

f¨ ur jedes Kritisches Paar Pr¨ ufe ob ihre Normalformen syntaktisch gleich sind Andrei Morozyuk

Termersetzungssysteme

Termersetzungssysteme:Konfluenz: Untersuchung lokaler Divergenzen:Kritische Paare Satz Ein terminierendes Termersetzungssystem ist konfluent jedes kritisches Paar ist vereinbar. Konfluenz eines endlichen , terminierenden Termersetzungssystems R ist entscheidbar ¨ Algorithmus zur Uberpr¨ ufung von Konfluenz im Spezialfall 1

f¨ ur jedes Paar l1 → r1 ,l2 → r2 aus R und f¨ ur jede Position p in l1 |p ∈ / χ pr¨ ufe ob variablendisjunkte Varianten von l1 |p und l2 unifizierbar sind

2

f¨ ur jedes Kritisches Paar Pr¨ ufe ob ihre Normalformen syntaktisch gleich sind Andrei Morozyuk

Termersetzungssysteme

Informationsquellen:

Zur Verf¨ ugung gestellter Skript von Professor Dr. Tim Hoffmann Term Rewriting and All That, Franz Baader, Tobias Nipkow Reduktionssysteme, J¨ urgen Avenhaus

Andrei Morozyuk

Termersetzungssysteme

Suggest Documents