• Keine Ergebnisse gefunden

Prädikatenlogische Formeln

Im Dokument Partner datenverarbeitender Services (Seite 91-95)

Synthese von Partnern

11.1. Prädikatenlogische Formeln

In Abschnitt 2.1 haben wir ein Prädikat als Menge von Belegungen definiert. Dabei haben wir zunächst bewusst offen gelassen, in welchem Formalismus die Prädikate dargestellt werden. Je nach betrachteter Automatenklasse und Fragestellung sind unterschiedliche Darstellungen sinnvoll. Die konkrete Darstellung können wir jeweils passend zur verwen-deten Analysemethode oder Berechnungsmethode wählen.

In diesem Abschnitt definieren wir zunächst allgemein die prädikatenlogischen For-meln der Prädikatenlogik erster Stufe. In der Prädikatenlogik erster Stufe können wir die Presburger-Arithmetik formulieren. Presburger-Arithmetik ist eine entscheidbare Theo-rie. Für diesen Spezialfall ist es algorithmisch möglich, die prädikatenlogischen Formeln auf Erfüllbarkeit zu prüfen. Der mit der Prädikatenlogik erster Stufe vertraute Leser kann diesen Abschnitt überspringen und bei Bedarf zu einem späteren Zeitpunkt lesen.

Die Terme und Formeln der Prädikatenlogik erster Stufe werden über der Signatur gebildet, die aus den folgenden Zeichen besteht:

• den Quantoren ∀und ∃,

• den logischen Operatoren ∧,∨, =⇒, ⇐⇒ und¬,

• den logischen Konstanten TRUE und FALSE

• den Klammersymbolen ( und )

• dem Gleichheitszeichen =,

• einer Menge von Variablen X ={x0, x1, . . .},

• einer Menge von Funktionssymbolen F ={F0, F1, . . .}.

• einer Menge von Relationssymbolen R={R0, R1, . . .}.

Jedes Funktionssymbol Fi und jedes Relationssymbol Ri hat eine Stelligkeit n ∈ N. Funktionssymbole der Stelligkeit 0 nennen wirKonstanten.

Über dieser Signatur bilden wir die Menge der Terme. Im Rahmen dieser Arbeit be-schränken wir uns auf eine Prädikatenlogik mit nur einer Sorte, d. h. alle Terme haben den gleichen Typ. Dies schränkt die Möglichkeiten bei der Modellierung von Serviceau-tomaten stark ein, ist aber für die in der Arbeit behandelten Probleme ausreichend.

Definition 11.1 (Term) Die Menge TERMder Terme ist induktiv definiert.

Sei x∈ X eine Variable. Dann ist x ein Term.

Sei F ein n-stelliges Funktionssymbol, T1, . . . , Tn Terme. Dann ist F(T1, . . . Tn) ein Term.

Aus den Termen bilden wirFormeln. Wie üblich bezeichnen wir eine Variable in einem Term alsfrei, wenn sie im Geltungsbereich keines Quantors vorkommt.

Definition 11.2 (Formel) Die Menge FORM der Formeln ist wie folgt definiert.

• TRUE und FALSE sind Formeln.

Seien T1, T2 ∈TERM. Dann ist T1=T2 eine Formel.

SeienT1, . . . , Tn∈TERM,Reinn-stelliges Relationssymbol. Dann istR(T1, . . . , Tn) eine Formel.

Seien T1, T2 Formeln. Dann sind T1T2, T1T2, T1 =⇒ T2 und T1 ⇐⇒ T2

Formeln.

Sei T eine Formel. Dann ist ¬T eine Formel.

SeiT eine Formel, x eine Variable, die frei inT vorkommt. Dann sind∀x:T und

∃x:T Formeln.

Die Bedeutung der Funktionssymbole in F und Relationssymbole in R ist abhängig von ihrer Interpretation. Die booleschen Verknüpfungen werden stets mit der üblichen Semantik interpretiert.

Definition 11.3 (Interpretation) Eine Interpretation I ist ein Zuordnung, die eine Menge U, das Universum fixiert und

jedem n-stelligen Funktionssymbol F ∈ F eine n-stellige Funktion FI :Un → U und

jedem n-stelligen Relationssymbol R eine n-stellige Relation RI ⊆ Un zuordnet.

Die Menge aller FunktionenFI und die Menge aller RelationenRI bildet zusammen mit der TrägermengeU eineStruktur.

Für eine gegebene Interpretation evaluiert ein Term für eine Belegung zu einem Ele-ment in U und eine Formel zu einem der Wahrheitswerte true oder false.

Definition 11.4 (Evaluierungsfunktion) SeienI eine Interpretation undβ eine Be-legung. Die Evaluierungsfunktion evalI,β ist für Terme wie folgt induktiv definiert:

evalI,β(x) =β(x) für x∈ X

evalI,β(F(T1, . . . , Tn)) =FI(evalI,β(T1), . . . ,evalI,β(Tn))

Die Anwendung vonevalI,β auf eine Formel ergibt einen Wahrheitswert nach der üblichen Semantik.

Wenn die InterpretationI im gegebenen Kontext klar ist, schreiben wir kurz evalβ für evalI,β.

Definition 11.5 (Erfüllbarkeit) Eine Belegung β erfüllt eine Formel Φ für eine ge-gebene Interpretation, wenn die Evaluierungsformel für diese zu true auswertet. Eine solche Belegung nennen wir auch Modell von Φ. Eine Formel Φ heißt erfüllbar, wenn sie mindestens ein Modell hat.

Terme, die für jede Belegung zum gleichen Wert evaluieren, nennen wir semantisch äquivalent.

Definition 11.6 (Termäquivalenz) SeienT1, T2 Terme undI eine Interpretation.T1

und T2 heißen semantisch äquivalent(T1IT2), wennevalI,β(T1) = evalI,β(T2)für jede Belegung β.

Wenn die InterpretationI im gegebenen Kontext klar ist, schreiben wir kurz≡für ≡I. Semantisch äquivalente Terme identifizieren wir miteinander. Insbesondere mit Blick auf Lesbarkeit und Verständlichkeit ist diese Identifikation sinnvoll, da sie uns erlaubt, komplizierte Terme durch einfachere äquivalente Terme zu ersetzen.

11.2. Formelautomaten

Wir werden nun eine Klasse von Serviceautomaten definieren, die wir mit Hilfe von Entscheidungsverfahren für Formeln der Prädikatenlogik erster Stufe analysieren kön-nen. Einen Serviceautomaten, dessen Guards wir mit Formeln der Prädikatenlogik erster Stufe darstellen können, nennen wirFormelautomat.

Definition 11.7 (Formelautomat) Sei A ein Serviceautomat, so dass es zu jedem Guard G eine prädikatenlogische Formel ΦG gibt, so dass G die Menge der erfüllenden Belegungen vonΦG ist. Dann nennen wir A Formelautomat.

Die in Kapitel 2 allgemein für Serviceautomaten definierten Operationen können im speziellen auch auf Formelautomaten angewendet werden. Für die Operationen, die dikate des Serviceautomaten verändern, müssen wir zeigen, dass die resultierenden Prä-dikate wieder als präPrä-dikatenlogische Formeln darstellbar sind. Diese ist aber bei allen vorgestellten Operationen meist durch einfache boolesche Verknüpfungen möglich. Jeder Guard einer Kante des Kreuzproduktes zweier Formelautomaten entsteht z. B. durch Konjunktion zweier Guards der verknüpften Formelautomaten.

Korollar 11.1 Das Kreuzprodukt zweier Formelautomaten ist wieder ein Formelauto-mat.

In den folgenden Beispielen werden wir bevorzugtPresburger-Arithmetik[74] als Inter-pretation für unsere Beispiele verwenden. Die in dieser Arbeit vorgestellten Ergebnisse sind jedoch nicht spezifisch für Presburger-Artithmetik. Jede der in [67] aufgeführten entscheidbaren Theorien wäre eine ebenso geeignete Wahl. Presburger-Arithmetik ist ei-ne Theorie der ganzen Zahlen mit Addition. Auf der TrägermengeZsind die Funktionen + und− sowie die Relationen <,≤ und = mit ihrer Standardbedeutung definiert. Ein Beispiel für eine Formel in Presburger-Arithmetik ist z. B.

∃x: 3x+yzx=y

Die Erfüllbarkeit einer Presburger-Formel kann durch Quantorenelimination [16] oder automatenbasierte [44] Ansätze entschieden werden. Die Laufzeitkomplexität der Ent-scheidungsverfahren wächst stark mit der Anzahl der Quantoren in einer Formel [24].

Formelautomaten, deren Formeln in Presburger-Arithmetik darstellbar sind, nennen wir kurz Presburgerautomaten. Die Serviceautomaten in Abb. 11.1 und Abb. 11.2 sind Presburgerautomaten.

Im Dokument Partner datenverarbeitender Services (Seite 91-95)