• Keine Ergebnisse gefunden

Da es von jeder Kripke-Struktur (hier: Beh(At)) nach Beh(At) genau einen Kripke-Morphismus gibt, stimmt unfold◦Beh(At)mit der Identität aufStateüberein, d.h.

unfold◦Beh(At) =idState. (3)

Damit istBeh(At)bijektiv, wenn auch die Umkehrung gilt:

Beh(At)◦unfold=idFAt(State). (4) Beweis von (4).

Beh(At)◦unfold(2)= FAt(unfold)◦FAt(Beh(At)) =FAt(unfold◦Beh(At))

(3)= FAt(idState) =idFAt(State). o

Der Beweis von Lambeks Lemma zeigt an einem einfachen Beispiel, wie Eigenschaften von Modellen mit Hilfe von Funktionsdiagrammen ohne Bezug auf – die manchmal recht komplexen – konkreten Repräsentationen der Modelle gezeigt werden können. Das ist durchaus vergleichbar mit der Formulierung von Algorithmen in höhe-ren Programmiersprachen, die gegenüber der Implementierung in maschinenorientierten Sprachen in der Regel weitaus kompakter und überschaubarer ist.

Modelleigenschaften sollten deshalb stets auf der Basis von allen irrelevanten Details befreiter Repräsentationen ihrer zugrundeliegenden Datenstrukturen verifiziert werden. In der Folge werden nicht nur die Beweise kür-zer, nachvollziehbarer und fehlerfreier, sondern auch die Modelle flexibler, d.h. leichter an neue Anforderungen anpassbar (StichwortadaptiveundagileSoftware).

Bezogen auf die oben definierte Baumrepräsentation der Elemente vonBeh(At)besagt Lambeks Lemma, dass sich jeder Baum eindeutig zerlegen lässt in das Paar(T,A), das aus der MengeTseiner maximalen Unterbäume und seiner WurzelmarkierungAbesteht, und dass umgekehrt jedes solche Paar eindeutig einem Baum entspricht, dessen Menge maximaler Unterbäume mitTund dessen Wurzelmarkierung mitAübereinstimmt.

So gesehen, ist die Aussage von Lambeks Lemma trivial. Das Entscheidende ist aber, dass die Bijektivität von Beh(At)nicht aus der Baumrepräsentation abgeleitet wurde, sondern allein aus der Charakterisierung vonBeh(At) als finaleF-Coalgebra (s.o.). Da alle finalenF-Coalgebren Kripke-isomorph sind, gilt Lambeks Lemma also nicht nur fürBeh(At), sondern auch jede andere finaleF-Coalgebra.

Der kategorientheoretische Zugang zu Kripke-Strukturen kann ähnlich auch für Σ-Algebren (siehe Kapitel 5) gewählt werden, allerdings in dualer Weise:

Eine SignaturΣentspricht einem FunktorHΣ :Set→Set. EineΣ-Algebra mit TrägermengeAentspricht keiner HΣ-Coalgebra, sondern einerHΣ-Algebra, d.h. einer Funktionα : HΣ(A) → A.αist die Summenextension aller Operationen derΣ-Algebra.Σ-Homomorphismen zwischenΣ-Algebren entsprechen Morphismen zwischenHΣ -Algebren.

Näheres darüber in [30], Kapitel 14.

7.6 Jenseits von Kripke-Strukturen

Modallogik, Verhaltensäquivalenz, elementare Äquivalenz und das Verhaltensmodell lassen sich analog zur Ka-tegoriecoAlgFAt endlich verzweigter Kripke-Strukturen für andere Klassen von Coalgebren definieren. Intuitiv entspricht jede dieser Klassen einemAutomatentyp.

Betrachten wir als herausragendes Beispiel Moore-Automaten, die in vielen Bereichen der Informatik – vom Schaltwerksentwurf bis zum Übersetzerbau – bei der Modellierung eingesetzt werden.

EinMoore-Automatmit EingabemengeIn, AusgabemengeOutist eine Funktion M:State→G(State),

90 7 Modallogik

wobei der FunktorGwie folgt definiert ist:

Für alle MengenState,State0,f :State→State0,g:In→Stateundz∈Out, G(State) = StateIn×Out, G(f)(g,z) = (f◦g,z).

Mordnet also jedem Zustands∈Stateein Paar(g,z)zu, wobeig:In→Stateangibt, welche im Zustandsan den Automaten übergebene Eingabe zu welchem eindeutigen (!) Folgezustand führt, undzdie im Zustandserfolgte Ausgabe darstellt.

Im Gegensatz zu Kripke-Strukturen sind Moore-Automatendeterministisch. weil zwar auch hier jeder Zustand mehrere Nachfolger haben kann. Die jeweilige Eingabe legt aber fest, welcher davon ausgewählt wird. Außerdem gibt es immer einen Folgezustand.

Um Aussagen über Moore-Automaten zu formulieren, kann man die Operationen vonALverwenden und an-stelle der modalen Operationen3und 2 eine Operation hxi für jede Eingabe x ∈ In. Die Signatur logischer Operationen lautet hier also

Σ=AL∪ {hxi |x∈In}. Outist die Menge der atomaren Formeln.

Interpretiert werden alle Formeln in folgenderΣ-AlgebraPow(δ)mit Trägermenge P(State): Für allex∈In,S⊆Stateunds∈State,

s∈ hxiPow(δ)(S) ⇔def δ(s)(x)∈S.

SeiM=hδ,βi:State→G(State)ein Moore-Automat. Dann istgM :Out→ P(State)wie folgt definiert: Für alle z∈Outunds∈State,

s∈gM(z) ⇔def z=β(s). Wieder liefertgM(ϕ)die Menge der Zustände, dieϕerfüllen.

Aufgabe Wie lauten wohl die Definitionen einerM-Bisimulation, derM-Verhaltensäquivalenz und eines Moore-Morphismus?

Aufgabe Wie lautet der Minimierungsalgorithmus für Moore-Automaten?

Das dem VerhaltensmodellBeh(At)für Kripke-Strukturen (s.o.) entsprechende VerhaltensmodellBeh(In,Out)für Moore-Automaten lässt sich als finaleG-Coalgebra darstellen, also als diejenigeG-Coalgebra, in die es von jeder G-Coalgebra aus genau einen Moore-Morphismus gibt.

Da Moore-Automaten deterministisch sind, besteht die ZustandsmengeBeh(In,Out)nicht wieBeh(At)aus (Äqui-valenzklassen von) Bäumen, sondern aus der Menge der Funktionen vonInnachOut.δundβsind darauf wie folgt definiert:

δ:OutIn → (In→OutIn) β:OutIn → Out f 7→ λx.λw.f(xw) f 7→ f(e)

Aufgabe Zeigen Sie, dassOutInim FallIn=1isomorph ist zur MengeOutNder Ströme überOut.

Aufgabe Zeigen Sie, dassOutIn im FallOut = 2 isomorph ist zur MengeP(In) der Teilmengen vonIn, die auch als Menge derSprachen überInbezeichnet wird. Moore-Automaten vom TypState → StateIn×2heißen folglich auch (Sprach-)erkennende Automaten.

7.7 Highlights 91

Mit Formeln der Modallogik für Moore-Automaten kann z.B. die Bedeutung imperativer (= befehlsorientierter) Programme beschrieben werden.Inist dann die Menge der jeweils verwendeten Sprache Zuweisungen, Proze-duraufrufe, etc.,Outdie Menge der Ausgabewerte undStatedie Menge der Belegungen von Programmvariablen mit Ausgabewerten.

Eine –Zusicherung genannte – Formel ϕ ⇒ hpiψdrückt aus, dass nach Ausführung des Programms pψgilt, falls vorherϕgalt. Z.B. besagt

(x=a) ⇒ hx:=x∗2i(x=a∗2), dass die Zuweisungx:=x∗2 den Wert der Programmvariablenxverdoppelt.

Programme, die nicht auf jeder Eingabe terminieren, lassen sich auf der Basis einer weiteren Klasse von Coalge-bren verifizieren, denpartiellen Automaten. Der entsprechende FunktorHwie folgt:

Für alle MengenState,

H(State) = (1+State)In×Out.

Hier bieten sichzweimodale Operatoren für jede Eingabe an, so dass wir Σ=AL∪ {hxi |x∈In} ∪ {[x]|x∈In}

als Signatur logischer Operationen für partielle Automaten erhalten. Outist wieder die Menge der atomaren Formeln.

Interpretiert werden alle Formeln in folgenderΣ-AlgebraPow(δ)mit Trägermenge P(State): Für allex∈In,S⊆Stateunds∈State,

s∈ hxiPow(δ)(S) ⇔def δ(s)(x)∈S, s∈[x]Pow(δ)(S) ⇔def δ(s)(x)∈1+S.

Die Zusicherungϕ⇒[p]ψbedeutet, dass

• nach Ausführung vonpψgilt, falls vorherϕgalt, oder

• pnicht terminiert,

währendϕ⇒ hpiψdie Termination vonpmiteinschließt.

Andere Automatentypen werden verwendet, um zu zeigen, dass eine gegebene Formelϕvon bestimmten Bele-gungen ihrer Variablen/Atome erfüllt wird. Das erfordert eine Semantik vonϕin Form einer TeilmengeSem(ϕ) der Menge B aller in der jeweiligen Logik möglichen Belegungen, wie z.B. B = 2At in der Aussagenlogik, B=P(State)Atin der Modallogik undB= AXin der Prädikaten- und der Gleichungslogik.

Ausgehend von einem Anfangszustand verarbeitet ein aus ϕgebildetererkennender AutomatAϕ schrittweise jede Belegung g ∈ Bso, dass der am Ende der Verarbeitung von g erreichte Zustand von Aϕangibt, ob g zu Sem(ϕ)gehört oder nicht:

g|=ϕ ⇔ Aϕerkenntg.

Der Automat Aϕ wird induktiv über dem Aufbau von ϕkonstruiert. Damit er g schrittweiseverarbeiten kann, muss auch jede Belegung vonBeine charakteristische Struktur aufweisen, an der er sich “entlanghangeln” kann.

7.7 Highlights

Signaturder Modallogik:ML=AL∪ {2,3: 1→1}

Semantikder Modallogik:ML-AlgebraPow(δ)mit TrägermengeP(State)und – von einerKripke-Struktur K=hδ,βi:State→(P(State)× P(At))

92 7 Modallogik

abhängiger – folgender Interpretation vonML: Für alleS,S0 ⊆State,

Pow(δ) = ∅,

>Pow(δ) = State,

¬Pow(δ)(S) = State\S,

Pow(δ)(S,S0) = S∩S0,

Pow(δ)(S,S0) = S∪S0,

Pow(δ)(S,S0) = (State\S)∪S0,

2Pow(δ)(S) = {s∈State| ∀s0δ(s):s0 ∈S}, 3Pow(δ)(S) = {s∈State| ∃s0δ(s):s0 ∈S}.

Die zweite Komponente vonKinduziert eine Belegung gK : At → P(State)der Atome: Für alle x ∈ Atund s∈State,

gK(x) =def {s∈State|x ∈β(s)}.

(K,s)erfülltϕoder(K,s)ist einModellvonϕ, geschrieben:K |=s ϕ, wennszugK(ϕ)gehört.

Kheißtendlich verzweigt, wenn für alles∈Stateδ(s)endlich ist.

SeiKendlich verzweigt. Die folgende Funktion

ml2al:TML(At)×State→TAL(At×State)

übersetzt modallogische in aussagenlogische Formeln: Für allex ∈At,s∈State,c∈ {⊥,>},⊗ ∈ {∨,∧,⇒}und ϕ,ψ∈TML(At),

ml2al(x,s) = (x,s), ml2al(c,s) = c,

ml2al(¬ϕ,s) = ¬ml2al(ϕ,s),

ml2al(ϕψ,s) = ml2al(ϕ,s)⊗ml2al(ψ,s), ml2al(2ϕ,s) = V{ml2al(ϕ,s0)|s0δ(s)}, ml2al(3ϕ,s) = W{ml2al(ϕ,s0)|s0δ(s)}. Korrektheit der Übersetzung(Satz 7.1):

K |=s ϕ ⇔ uncurry(χ◦gK)|=ml2al(ϕ,s).

Alle in der Bitalgebra gültigenAL-Gleichungen sind auch inPow(δ) gültig. Darüberhinaus erfülltPow(δ) die folgendenAL-Gleichungen:

¬3x≡2¬x ¬2x≡3¬x (negM)

3(x∨y)≡3x∨3y 2(x∧y)≡2x∧2y (distDia/distBox) SeiK0 =hδ0,β0i:State0 →(P(State0)× P(At))eine weitere Kripke-Struktur.

K,K0-Verhaltensäquivalenz:K,K0=def gfp(FK,K0), wobei

FK,K0:P(State×State0) → P(State×State0) R 7→

{(s,s0)∈State×State0|β(s) =β0(s0),

∀t∈δ(s)∃t0δ0(s0):(t,t0)∈ R,

∀t0δ0(s0)∃t∈δ(s):(t,t0)∈ R} ElementareK,K0-Äquivalenz:

K,K0=def {(s,s0)∈State2| ∀ϕ∈TML(At):K |=s ϕ⇔ K0|=s0 ϕ}

7.7 Highlights 93

Hennessy-Milner-Theorem: SindKundK0endlich verzweigt, dann gilt∼K,K0 =≈K,K0. Minimale Kripke-Struktur:

Kmin=hδmin,βmini:State/∼K → Pfin(State/∼K)× P(At) [s] 7→ ({[s0]|s0δ(s)}, β(s)) Für alles∈State,s∼K,Kmin [s].

Approximative Konstruktion derK-VerhaltensäquivalenzK =defK,K:

0 = ker(β),

n+1 = {s∼ns0 |

( ∀t∈δ(s)∃t0δ(s0):t∼nt0,

∀t0δ(s0)∃t∈δ(s):t∼nt0 )

},

ω = Tn∈Nn. Satz 7.8: IstKendlich verzweigt, dann gilt∼ω =∼K.

Satz 7.9: IstKendlich verzweigt, dann gilt∼Kmin = State/K. Minimierungdurch schrittweise Bildung von Dreiecksmatrizen:

Für allen∈Nunds,s0 ∈Statemits<s0, M0(s,s0) =

( (δ(s),δ(s0)) fallsβ(s) =β(s0),

∗ sonst,

Mn+1(s,s0) =









Mn(s,s0) falls für alle(S,S0)∈ Mn(s,s0)Folgendes gilt:

∀t∈S∃t0 ∈S0 :t=t0∨Mn(min{t,t0},max{t,t0})6=∗,

∀t0∈S0∃t∈S:t=t0∨Mn(min{t,t0},max{t,t0})6=∗,

∗ sonst,

Rn = {(s,s0)∈State2|s<s0, Mn(s,s0)6=∗}.

=⇒ ∼n = State∪Rn∪R−1n . (1)

IstStateendlich, dann gibt es eine kleinste natürliche Zahl kmit Mk = Mn, also auchRk = Rn für alle n ≥ k.

Folglich stimmt dieK-Verhaltensäquivalenz wegen (1) und nach Satz 7.8 mit∆State∪Rk∪R−1k überein.

94 8 Prädikatenlogik (predicate logic, first-order logic)

8 Prädikatenlogik (predicate logic, first-order logic)

In der Prädikatenlogik sind Atome keine Variablen, sondern Ausdrückeptmit einemPrädikat pund einem Tupel t= (t1, . . . ,tn)von Termen über einer MengeXvonIndividuenvariablen.

p wird als n-stellige Relation interpretiert, Individuenvariable stehen für beliebige Elemente der Trägermenge einer AlgebraA, die die Terme interpretiert (siehe Kapitel 5). Die Erweiterung von Aum die Interpretation der Prädikate wirdStrukturgenannt.

Zu den aussagenlogischen Operationen kommen für jede Individuenvariablexdie beiden einstelligen Operatio-nen∃xund∀x (Existenz- bzw.Allquantor) hinzu, diex binden, was bedeutet, dass der Wert einer Formel∃xϕ oder∀xϕunter einer Belegungg:X→Anicht vong(x)abhängt.

Modallogisch ausgedrückt, sind die Belegungen vonXinAdieZustände, die den Wahrheitswert einer Formel be-stimmen. Dementsprechend könnte man Belegungen vonAtin 2 als aussagenlogische Zustände bezeichnen, was suggeriert, dass – zumindest von der Semantik her – Aussagenlogik und Prädikatenlogik spezielle Modallogiken sind. Was die Parameter der Auswertung einer Formel angeht, so liegt die Prädikatenlogik jedoch eherzwischen Aussagen- und Modallogik:

• In derAussagenlogikgibt es nur einen Parameter, nämlich eine Belegung der Atome durch Wahrheitswerte.

• In derModallogikhängt der Wert einer Formel von einer Kripke-Struktur ab.

• In derPrädikatenlogikgibt es drei Parameter: eine Belegung der Individuenvariablen durch Elemente (der Trägermenge) einer Algebra A, eine Interpretation der (nicht-logischen) Operationen, die in den Termen der Formel vorkommen, und eine Interpretation der Prädikate durch Relationen auf A. Die letzten beiden Parameter werden zu einerStrukturim u.g. Sinne zusammengefasst.

Syntax

SeiXeine Menge vonIndividuenvariablen.

PL=AL∪ {(∃x): 1→1|x∈X} ∪ {(∀x): 1→1|x ∈X} ist die Signatur derprädikatenlogischen Operationen.

Eine SignaturΣgemäß Kapitel 5 besteht aus Operationen. Zusätzlich kannΣjetzt auch –Prädikategenannte – Relationssymboleenthalten, die – wie die Operationen – jeweils eine feste Stelligkeit (>0) haben. Zur Unterschei-dung von Operationenf :n→1 schreiben wirp:nfür ein Prädikat mit Stelligkeitn. Ein-, zwei- bzw. dreistellige Prädikate werdenunär,binärbzw.ternärgenannt.

Ein Ausdruck der Form ptheißtΣ-Atom über X, fallsp :nein Prädikat vonΣundt = (t1, . . . ,tn)einn-Tupel vonΣ-Termen überXist.AtΣ(X)bezeichnet die Menge allerΣ-Atome überX.AtΣ=def AtΣ().

PL

prädikatenlogische Formel über X

= PL-Term über AtΣ(Χ)

p2 p3

p1

t1 t2 t3

x1 x2 y1 y2 z1 z2

Σ-Terme über Χ Prädikate von Σ Σ-Atome über Χ

Variablen von X

EinPL-TermϕüberAtΣ(X)heißt(prädikatenlogische)Σ-Formel überX.

8 Prädikatenlogik (predicate logic, first-order logic) 95

Semantik

EineΣ-StrukturAist eineΣ-Algebra, die für allen∈Njedemn-stelligen Prädikatp∈Σeinen-stellige Relation pA ⊆Anzuordnet.

Hat Adie TrägermengeTΣ(X)oder TΣund sind die Operationen vonΣ dort so interpretiert wie in Kapitel 5, dann heißtATermstrukturoderHerbrand-Struktur.

StructΣbezeichnet die Klasse allerΣ-Strukturen.

Σ-Homomorphismenh :A→BzwischenΣ-StrukturenAundBsind mit den jeweiligen Interpretationen nicht nur der Operationen, sondern auch der Prädikate vonΣverträglich, d.h. für alle Prädikatep∈Σisth(pA)⊆pB. Entsprechendes gilt fürΣ-KongruenzenRauf einerΣ-StrukturA(siehe Kapitel 5):

Neben der Verträglichkeit von∼mitΣwird gefordert, dass für alle Prädikatep:n∈Σunda1, . . . ,an,b1, . . . ,bn∈ AFolgendes gilt:

(a1b1)∈ R∧ · · · ∧(anbn)∈R ⇒ (a1, . . . ,an)∈ pA ⇔(b1, . . . ,bn)∈ pA.

Die QuotientenalgebraA/Rwird zurQuotientenstrukturerweitert, die alle PrädikatepvonΣwie folgt interpre-tiert: Für allea1, . . . ,an∈ An,

pA/R={natR(a)|a∈pA}.

In der Modallogik trat an die Stelle der Bitalgebra, auf der die Semantik aussagenlogischer Formeln aufbaut, die ML-AlgebraPow(δ), wobeiδdie Transitionsfunktion der jeweils zugrundeliegenden Kripke-StrukturKist. Hat Kdie ZustandsmengeState, dann istP(State)die Trägermenge vonPow(δ). Wie im AbschnittGleichungslogik in anderen Logikenvon Kapitel 5 erwähnt wurde, werden Zustände in der Prädikatenlogik als Belegungen vonX in einerΣ-StrukturAdargestellt.

Folglich erhält man anstelle vonPow(δ)die wie folgt definiertePL-AlgebraPow(A)mit TrägermengeP(AX): Für alleΣ-StrukturenAundS,S0⊆ AX,

Pow(A) = ∅,

>Pow(A) = AX,

¬Pow(A)(S) = AX\S,

Pow(A)(S,S0) = S∩S0,

Pow(A)(S,S0) = S∪S0,

Pow(A)(S,S0) = (AX\S)∪S0,

(∀x)Pow(A)(S) = {h∈AX| ∀a∈ A:h[a/x]∈S}, (∃x)Pow(A)(S) = {h∈AX| ∃a∈ A:h[a/x]∈S}.

DieΣ-StrukturAbestimmt die BelegunggA :AtΣ(X)→ P(AX), unter der prädikatenlogische Formeln inPow(A) – durch Anwendung der ausgAabgeleiteten AuswertungsfunktiongA(siehe Kapitel 5) – ausgewertet werden:

Für allept∈ AtΣ(X),

gA(pt) =def {h∈AX|h(t)∈pA}. (1)

AtΣ(X) incAtΣ(X)TPL(AtΣ(X))

= P(AX)

gA

≺ gA

Seiϕ,ψ∈TPL(AtΣ(X))undh:X→A.

96 8 Prädikatenlogik (predicate logic, first-order logic)

(A,h) erfüllt ϕoder ist ein Modellvon ϕ, geschrieben: A |=h ϕ, wenn h zu gA(ϕ)gehört.h heißt dann auch Lösung vonϕinA.

Aerfülltϕoder ist einModellvonϕ, geschrieben:A|=ϕ, wennA|=h ϕfür alleh ∈AX gilt. Eine Termstruktur, dieϕerfüllt, heißtTermmodell vonϕ.

Für alleΦ⊆TPL(AtΣ(X))bezeichnetStructΣ,Φdie Klasse derΣ-Strukturen, die (alle Formeln von)Φerfüllen.

Darauf aufbauend sindErfüllbarkeit,Allgemeingültigkeit,FolgerungundÄquivalenzprädikatenlogischer For-meln wie am Anfang von Kapitel 2 definiert, wobei der zugrundeliegende semantische Bereich Dgegeben ist durchStructΣbzw. die Menge aller Paare, die aus einerΣ-StrukturAund einer Variablenbelegungh : X → A bestehen.

Wir schreibenϕAh ψ, falls(A,h)genau dannϕerfüllt, wenn(A,h)ψerfüllt, undϕA ψ, falls Agenau dann ϕerfüllt, wennAψerfüllt.

Lemma 8.1(Vollständigkeit von Termstrukturen)

SeiAeineΣ-Struktur undH(A)die Termstruktur mit folgender Interpretation der Prädikatep:n∈Σ:

pH(A) =def {t∈TΣn|foldA(t)∈ pA} (2) (siehe Kapitel 5).

Seiϕeine quantorenfreieΣ-Formel mitA|=ϕ. Dann ist auchH(A)ein Modell vonϕ.

Beweis. Durch strukturelle Induktion überTAL(AtΣ(X))zeigen wir, dass für alle quantorenfreienΣ-Formeln ϕ Folgendes gilt:

gH(A)(ϕ) = {σ∈TΣX|foldAσ∈gA(ϕ)}. (3) Für allept∈ AtΣ(X),

gH(A) (pt) =gH(A)(pt)(1)= {σ∈TΣX |tσ∈ pH(A)}(2)= {σ∈TΣX|foldA(tσ)∈ pA}

Lemma5.3(i)

= {σ∈TΣX |(foldAσ)(t)∈ pA}

={σ∈TΣX |foldAσ∈ gA(pt)}={σ∈TΣX|foldAσ∈gA(pt)}. Für alleϕ,ψ∈TAL(AtΣ(X)),

gH(A)ϕ) =TΣX\gH(A)(ϕ)ind.=hyp.TΣX\ {σ∈TΣX|foldAσ∈gA(ϕ)}

={σ∈TΣX |foldAσ∈ AX\gA(ϕ)}={σ∈TΣX |foldAσ∈ gAϕ)}, gH(A)(ϕψ) =gH(A) (ϕ)∩gH(A) (ϕ)ind.=hyp.{σ∈TΣX |foldAσ∈ gA(ϕ)∩gA(ψ)}

={σ∈TΣX|foldAσ∈ gA(ϕψ)},

gH(A)(ϕψ) =gH(A) (ϕ)∪gH(A) (ϕ)ind.=hyp.{σ∈TΣX |foldAσ∈ gA(ϕ)∪gA(ψ)}

={σ∈TΣX|foldAσ∈ gA(ϕψ)}. Damit endet der Beweis von (3).

SeiAein Modell vonϕundσ ∈ TΣX. Dann giltgA(ϕ) = AX, also insbesonderehσ ∈ gA(ϕ)für alleh ∈ AX. Also folgt aus (3), dassσzugH(A)(ϕ)gehört. Demnach giltgH(A)(ϕ) =TΣX. Also istH(A)ein Modell vonϕ. o Seiϕeine beliebigeΣ-Formel überX.

var(ϕ)bezeichnet die Menge aller Variablen vonX, die inϕvorkommen, aber nicht nur als Teil einer Operation wie∃xoder∀x.

8 Prädikatenlogik (predicate logic, first-order logic) 97

x∈Vkommt inϕgebunden vor, wenn es eine Teilformel∃xψoder∀xψvonϕmitx∈var(ψ)gibt.

x∈Vist einefreie Variable vonϕ, wennxmindestens einmal nicht gebunden inϕvorkommt.free(ϕ)bezeichnet die Menge der freien Variablen vonϕ.

ϕheißtgeschlossen, wennfree(ϕ)leer ist.

Sei{x1, . . . ,xn}=free(ϕ).

all(ϕ)=def ∀x1. . .∀xnϕheißtAllabschluss vonϕ.

any(ϕ)=def ∃x1. . .∃xnϕheißtExistenzabschluss vonϕ.

Aufgabe Zeigen Sie (1)-(3) von Kapitel 6 für geschlossene prädikatenlogische Formeln.

Substitution von Variablen einer prädikatenlogischen Formel durch Terme Seiϕeine prädikatenlogischeΣ-Formel überXund

σ:X→TΣ(X).

DaTΣ(X)eineΣ-Algebra ist, gibt es laut Kapitel 5 denΣ-Homomorphismus

σ:TΣ(X)→TΣ(X),

der jedem TermtdieΣ-Instanz vontzuordnet, d.h. denjenigen Term, der austdurch Ersetzung der Variablen vontdurch ihre jeweiligen Bilder unterσzuordnet.

Wollen wir eine solche Ersetzung in den Termen einer prädikatenlogischen Formel durchführen, müssen wir berücksichtigen, dass Variablen durch Quantoren gebunden sein können. Diese Variablen dürfen nicht ersetzt werden!

Außerdem würde durch die Ersetzung freier Variablen durch Terme, in denen zufälligerweise Variablen vorkom-men, die in der Formel gebunden sind, eine zusätzliche Bindung entstehen, die durch die Umbenennung der gebundenen Variablen verhindert werden muss.

Die Funktion

σ:TPL(AtΣ(X))→TPL(AtΣ(X)),

die die Ersetzung durchführt und dabei die Existenz von Quantoren in obiger Weise berücksichtigt, setzt die gleichnamige Funktionσ:TΣ(X)→TΣ(X)von Termen auf Formeln fort. Sie ist wie folgt definiert:

• Für alle f :n→1∈Σundt∈TΣ(X)n,σ(f t) = fσ(t).

• Für allep:n∈Σundt∈TΣ(X)n,σ(pt) =pσ(t).

• Für alle f :n→1∈ALundϕ∈TPL(AtΣ(X))n,σ(f t) = fσ(ϕ).

• Für alleQ∈ {∃,∀},x∈Xundϕ∈TPL(AtΣ(X)),

σ(Qxϕ) =

( Qx0σ[x0/x](ϕ) fallsx∈Vϕ,σ,x=def Svar(σ(free(ϕ)\ {x})), Qxσ[x/x](ϕ) sonst.

Wegenσ[x/x](x) =xverhindertσ[x/x]die Ersetzung vonxdurchσ(x).

98 8 Prädikatenlogik (predicate logic, first-order logic)

σ(y) x

Q x

y

x z

σ(y) x

Q x'

σ*

x'

σ(z) σ(z)

φ φ

Offenbar gehörtxgenau dann zuVϕ,σ,x, wennxin einem Termtvorkommt, der bei der Anwendung vonσ[x/x] auf ϕeine freie Variable von ϕsubstituiert und damit ein neues gebundenes Vorkommen vonxin ϕeinführen würde, wenn wirxnicht durchx0ersetzen würden. Wie folgendes Beispiel zeigt, kann das bewirken, dassQxϕ erfüllbar ist, dieσ-Instanz vonQxϕjedoch nicht!

Seiϕ∈TPL(AtΣ(X))undσ,σ1, . . . ,σn :X→TΣ(X). Fortan schreiben wir analog zu Kapitel 5

ϕσ anstelle von σ(ϕ),

σ1. . .σn anstelle von σn◦ · · · ◦σ2σ1. (Kleisli-Komposition) Beispiel 8.2

Seiϕ=∃xp(x,y),A={a,b},pA={(a,b)}undh=λz.b. Wir erhalten A|=h ϕ⇔h∈gA(ϕ) ⇔ {h[a/x],h[b/x]} ∩gA(p(x,y))6=∅

⇔ {h[a/x],h[b/x]} ∩ {h0 ∈AX|(h0(x),h0(y))∈pA} 6=

⇔ {(h[a/x](x),h[a/x](y)),(h[b/x](x),h[b/x](y))} ∩pA 6=∅

⇔ {(a,b),(b,b)} ∩pA 6=∅. (1) Aus der Gültigkeit von (1) folgt

A|=h ϕ. (2)

Seiσ={x/y}(siehe Abschnitt 5.2). Dann istVϕ,σ,x={x}. Ohne Umbenennung erhält man A|=h ϕσ⇔h∈gA(ϕσ) =gA((∃xp(x,y))σ)=!! gA(∃xp(x,y)σ[x/x]) =gA(∃xp(x,x))

⇔ {h[a/x],h[b/x]} ∩gA(p(x,x))6=∅

⇔ {h[a/x],h[b/x]} ∩ {h0 ∈ AX|(h0(x),h0(x))∈ pA} 6=

⇔ {(h[a/x](x),h[a/x](x)),(h[b/x](x),h[b/x](x))} ∩pA 6=

⇔ {(a,a),(b,b)} ∩pA 6=∅. (3) Da (3) nicht gilt, ist auchA6|=hϕσverletzt.

/

Mit Umbenennung gilt jedoch:

A|=hϕσ⇔h∈gA(ϕσ) =gA((∃xp(x,y))σ)=!! gA(∃x0p(x,y)σ[x0/x]) =gA(∃x0p(x0,x))

⇔ {h[a/x0],h[b/x0]} ∩ {h0 ∈ AX|(h0(x0),h0(x))∈pA} 6=∅

⇔ {(h[a/x0](x0),h[a/x0](x)),(h[b/x0](x0),h[b/x0](x))} ∩pA6=∅

⇔ {(a,b),(b,b)} ∩pA6=∅. (4)

Aus der Gültigkeit von (4) folgtA|=h ϕσ.

,

8 Prädikatenlogik (predicate logic, first-order logic) 99

Daheine konstante Funktion ist, gilth=hσ, also wegen (2) auchA|=hσ ϕ. o

Lemma 8.3 (Substitutionslemma für prädikatenlogische Formeln; vgl. Lemma 5.3) Für alleΣ-StrukturenA,h:X→A,σ:X→TΣ(X)undϕ∈TPL(AtΣ(X)),

A|=hϕσ ⇔ A|=hσ ϕ. (1)

Beweis. Wir zeigen zunächst, dass für alle ϕ ∈ TPL(AtΣ(X)),x ∈ X, y ∈ X\Vϕ,σ,x, z ∈ free(ϕ) unda ∈ A Folgendes gilt:

(h[a/y]σ[y/x])(z) = (hσ)[a/x](z). (2) Fall 1: z=x. Wegen

(h[a/y]σ[y/x])(x) =h[a/y](σ[y/x](x)) =h[a/y](y) =h[a/y](y) =a= (hσ)[a/x](x) gilt (2).

Fall 2: z∈free(ϕ)\ {x}. Ausvar(σ(z))⊆Vϕ,σ,xundy6∈Vϕ,σ,xfolgty6∈var(σ(z)), also auch (2):

(h[a/y]σ[y/x])(z) =h[a/y](σ[y/x](z))x6=z= h[a/y](σ(z))y6∈var(σ(z))

= h(σ(z))

= (hσ)(z)x6=z= (hσ)[a/x](z).

Nun zeigen wir (1) durch strukturelle Induktion überTPL(AtΣ(X)). Für allept∈ AtΣ(X),

A|=h ptσ ⇔ h∈gA(ptσ) =gA(ptσ) ⇔ (hσ)(t)Lemma=5.3(i)h(tσ)∈pA

⇔ hσ∈gA(pt) =gA(pt) ⇔ A|=h◦σ pt.

Für alleϕ,ψ∈TPL(AtΣ(X)),

A|=h¬ϕσ ⇔ h∈gAϕσ) =AX\gA(ϕσ)ind.hyp.hσ∈ AX\gA(ϕ) =gAϕ)

⇔ A|=h◦σ¬ϕ,

A|=h(ϕψ)σ ⇔ h∈gA((ϕψ)σ) =gA(ϕσ)∩gA(ψσ)

ind.hyp.

⇔ hσ∈gA(ϕ)∩gA(ψ) =gA(ϕψ) ⇔ A|=hσ ϕψ und analog A|=h(ϕψ)σ ⇔ A|=hσ ϕψ.

Seix∈ Xundϕ∈ TPL(AtΣ(X)).

Nach Definition vonσgibt es eine Variabley∈X\V∀xϕ,σ,xmit(∀xϕ)σ=∀yϕσ[y/x]. Daraus folgt A|=h(∀xϕ)σ ⇔ h∈gA((∀xϕ)σ) =gA(∀yϕσ[y/x])

⇔ ∀a∈ A:h[a/y]∈gA(ϕσ[y/x])ind.hyp.∀a∈A:h[a/y]σ[y/x]∈gA(ϕ)

(2)⇔ ∀a∈ A:(hσ)[a/x]∈ gA(ϕ) ⇔ hσ∈ gA(∀xϕ) ⇔ A|=h◦σ ∀xϕ.

Analog erhält man A|=h(∃xϕ)σ ⇔ A|=hσ∃xϕ. o

Lemma 8.4 (Äquivalenzlemma für prädikatenlogische Formeln) Seiϕ∈TPL(AtΣ(X))undAeineΣ-Struktur.

(i)Für alleσ,τ:X→TΣ(X)mitσA τgiltϕσA ϕτ.

(ii)Für alleΣ-Kongruenzen∼auf Aundh,h0 ∈AX gilt:

A|=h ϕ ∧ h∼h0 ⇒ A|=h0 ϕ.

100 8 Prädikatenlogik (predicate logic, first-order logic)

Beweis.

(i): Seih:X→A.σA τimpliziert

(hσ)(x) =h(σ(x)) =h(τ(x)) = (hτ)(x) (3) für allex∈X. Daraus folgt

A|=h ϕσ (1)⇔ A|=h◦σ ϕ(3) A|=h◦τ ϕ (1)⇔ A|=h ϕτ, alsoϕσA ϕτ.

(ii) erhält man durch strukturelle Induktion überTPL(AtΣ(X)). Seih∼h0. Für allept= p(t1, . . . ,tn)∈ AtΣ(X)und 1≤i≤ngilth(ti)∼h0∗(ti), also

A|=h pt ⇔ h∈gA(pt) =gA(pt) ⇔ h(t)∈ pA ⇔ h0∗(t)∈pA

⇔ h0∈gA(pt) =gA(pt) ⇔ A|=h0 pt.

Die Induktionsschritte ergeben sich analog zum Beweis von (1) aus der induktiven Definition vongA. o

8.1 Normalformen

Die Normalisierung prädikatenlogischer Formeln zielt darauf ab, sie in erfüllbarkeitsäquivalente aussagenlogi-sche Formeln überAtΣ(X)umzuwandeln, so dass ihre Erfüllbarkeit mit Hilfe zu prädikatenlogischen Verallge-meinerungen aussagenlogischer Schnitt- oder Tableau-Ableitungen überprüft werden kann.

Wir werden hier nur Schnittableitungen verallgemeinern. Tableau-Kalküle für prädikatenlogische Formeln wer-den in [7], [21] und [37] vorgestellt.

Aufgabe Sei Aeine Σ-Struktur, x,y ∈ X,Q ∈ {∃,∀} undϕ,ψ,ϑ Σ-Formeln mit x 6∈ free(ϑ). Zeigen Sie, dass Pow(A)folgendePL-Gleichungen erfüllt:

¬∃xϕ≡ ∀x¬ϕ ¬∀xϕ≡ ∃x¬ϕ (negQ)

∃x(ϕψ)≡ ∃xϕ∨ ∃xψ

∃x(ϕϑ)≡ ∃xϕϑ ∃x(ϑϕ)≡ϑ∧ ∃xϕ

(distEx)

∀x(ϕψ)≡ ∀xϕ∧ ∀xψ

∀x(ϕϑ)≡ ∀xϕϑ ∀x(ϑϕ)≡ϑ∨ ∀xϕ

(distAll)

Qxϑ≡ϑ (removeQ)

Qxϕ≡Qy(ϕ{y/x}) (rename)

EineΣ-Formel heißtNegationsnormalform überAtΣ(X)(NNF), wenn⇒in ihr nicht vorkommt und¬nur direkt vor Atomen.

SeienΣ,Σ0Signaturen mitΣ⊆Σ0undAeineΣ0-Struktur.

DasΣ-ReduktA|Σvon Aist dieΣ-Struktur mit derselben Trägermenge und Interpretation der Symbole vonΣ wieA.

Die Normalisierung einer prädikatenlogischen Formel zielt vor allem auf die Eliminierung ihrer Existenzquanto-ren ab. Wegen der dazu erforderlichen Einführung zusätzlicher Operationen in die Formel (s.u.) ist die normali-sierte zur ursprünglichen nur in folgendem Sinne äquivalent:

EineΣ-Formelϕund eineΣ0-Formelψheißenerfüllbarkeitsäquivalent bzgl.Σ, geschrieben:ϕΣψ, wenn es für alleΣ-Strukturen Aundh ∈ AX eineΣ0-StrukturBgibt, derenΣ-Redukt mitAübereinstimmt und die folgende

8.1 Normalformen 101

Äquivalenz erfüllt:

A|=h ϕ ⇔ B|=hψ.

Aufgabe Zeigen Sie, dass die Erfüllbarkeitsäquivalenz bzgl.Σ0(!) mit der Äquivalenz in allenΣ0-Strukturen

über-einstimmt. o

Satz 8.6

Seix ∈X,ϕ∈ TPL(AtΣ(X)),{x1, . . . ,xn}=free(ϕ)\ {x}, f eine –Skolemfunktiongenannte –n-stellige Opera-tion,Σ0=Σ] {f}undσ={f(x1, . . . ,xn)/x}.

(i)∃xϕΣ ϕσ.

x

φ

x

≈Σ f

φ

x

1 . . .

x

n

x

1 . . .

x

n

x

1 . . .

x

n

(ii) Seiϑ∈TPL(AtΣ(X))undz∈X. Dann gilt:

ϑ{∃xϕ/z} ≈Σ ϑ{ϕσ/z}. Beweis von(i).

SeiBeineΣ0-Struktur mitB|Σ=A,h∈ AXunda= fB(h(x1), . . . ,h(xn)). Wir zeigen zunächst:

hσ = h[a/x]. (4)

Nach Definition vonhgilt

h(σ(x)) =h(f(x1, . . . ,xn)) = fB(h(x1), . . . ,h(xn)) =a=h[a/x](x) undh(σ(y)) =h(y) =h[a/x](y)für alley∈X\ {x}. Also gilt (4). Daraus folgt

B|=h ϕσ

(1)⇔B|=hσ ϕ

(4) B|=h[a/x] ϕ. (5)

Sei nunA|=h∃xϕ. Dann gibt esa∈AmitA|=h[a/x] ϕ. Wir definieren eineΣ0-StrukturBwie folgt:B|Σ=Aund für alle(a1, . . . ,an)∈ An, fB(a1, . . . ,an) =a. Daf inϕnicht vorkommt, giltB|=h[a/x] ϕ, alsoB|=h ϕσwegen (5).

SeiB |=h ϕσunda = fB(h(x1), . . . ,h(xn)). (5) impliziertB |=h[a/x] ϕ, also A |=h[a/x] ϕ, weil f in ϕnicht vor-kommt. Daraus folgtA|=h∃xϕ.

(ii) folgt aus (i), weil≈ΣmitPLverträglich ist. o

Eine prädikatenlogische Formel∀x1. . .∀xnϕheißtSkolemnormalform (SNF), wennϕeine implikative Normal-form überAtΣ(X)ist (siehe Kapitel 6).

Satz 8.7 Jede prädikatenlogische Formelψhat eine erfüllbarkeitsäquivalente Skolemnormalform.

Beweis. Zunächst wirdψdurch Anwendung vonnegAL- undnegQ-Gleichungen in eine NNFψ1überführt. Dann werden die Quantoren vonψ1durch Anwendung vondistEx-,distAll-,removeQ- undrename-Gleichungen soweit wie möglich nach rechts geschoben.

102 8 Prädikatenlogik (predicate logic, first-order logic)

Anschließend wird die resultierende Formelψ2durch Anwendung von Gleichungen der Form

ϑ{∃xϕ/z} ≡ ϑ{ϕσ/z}, (6)

deren Komponenten die Bedingungen von Satz 8.6 (ii) erfüllen, in eine zuψ2erfüllbarkeitsäquivalente Formelψ3 ohne Existenzquantoren transformiert.

Durch Anwendung vonrename-Gleichungen und Inversen vondistAll-Gleichungen werden die Allquantoren von ψ3nach links geschoben, bis eine äquivalente Formel

∀x1. . .∀xnψ4

mit paarweise verschiedenen Variablenx1, . . . ,xnund quantorenfreier Formelψ4entsteht.

ψ4 wird durch die Anwendung gültigerAL-Gleichungen (siehe Kapitel 6) in eine äquivalente KNFψ5 transfor-miert und diese in die INFψ6=inf(ψ5)(siehe Satz 6.1 (11)).

Zusammengefasst ergibt sich folgende Kette von Äquivalenzen, wobeiAeineΣ-Struktur,h∈ AX0die durch die Anwendungen von (6) definierte Erweiterung vonΣundBdie gemäß Satz 8.6 (i) aus(A,h)gebildeteΣ0-Struktur ist:

ψhA ψ1hA ψ2Σ ψ3Bh ∀x1. . .∀xnψ4Bh ∀x1. . .∀xnψ5

hB ∀x1. . .∀xnψ6.

∀x1. . .∀xnψ6ist also die gewünschte Skolemnormalform.

(6) könnte auch an anderer Stelle des Normalisierungsprozesses angewendet werden. Die hier genannte Schritt-folge stellt jedoch sicher, dass bei jeder Anwendung von (6) die Teilformelϕmöglichst klein ist und daher die auf der rechten Seite von (6) eingeführte Operation f (siehe Satz 8.6 (i)) eine möglichst niedrige Stelligkeit hat. o

8.2 Schnittkalkül

Während die aussagenlogische Schnittregel das gleiche Atom aus zwei Gentzenformeln herausschneidet, ist die unten definierte prädikatenlogische Schnittregel auch auf zwei verschieden Atome anwendbar, sofern diese uni-fizierbarsind, d.h. eine gemeinsame Instanz haben (siehe Kapitel 5):

Seiσ,τ:X→TΣ(X).σsubsumiertτ, geschrieben:στ, wenn esρ:X→TΣ(X)mitσρ=τgibt.

Seient,uAtome oder Terme.σunifiziertoder ist einUnifikatorvontundu, wenntσ=uσgilt.

Subsumiert ein Unifikator vontundualle Unifikatoren vontundu, dann nennen wir ihn einenallgemeinster Unifikator(most general unifier;mgu) vontundu.

Die folgenden Funktionen

unify:(AtΣ(X)∪TΣ(X))2 → 1+TΣ(X)X, unify0 :(TΣ(X))2 → 1+TΣ(X)X

berechnen einen mgu zweier Atome oder Terme bzw. zweier gleichlanger Termtupel, sofern diese unifizierbar sind.

Funktionen eines Typs der Form A → 1+Bwerden auf besondere Weise komponiert. Sei f : A → 1+Bund g:B→1+C. Dann istgf :A→1+Cwie folgt definiert: Für allea∈ A,

(gf)(a) =

( g(f(a)) falls f(a)6=∗,

∗ falls f(a) =∗.

unifyund unify0 liefern den Wert∗, wenn die zu unifizierenden Ausdrücke an der gleichen Baumposition mit verschiedenen Operationen oder Prädikaten markiert sind oder deroccur checkx∈var(f t)(s.u.) erfolgreich ist.

Er verhindert, dass eine Variablexdurch einen Termtersetzt wird, der keine Variable ist, aberxenthält. Wenn sie

8.2 Schnittkalkül 103

nicht verhindert wird, würde sich eine solche Ersetzung unendlich oft wiederholen. M.a.W.: Ein Unifikator vonx undtmüsstexundtdenunendlichenTermt{t/x}{t/x}. . . zuweisen. Der gehört aber nicht zuTΣ(X).

nicht verhindert wird, würde sich eine solche Ersetzung unendlich oft wiederholen. M.a.W.: Ein Unifikator vonx undtmüsstexundtdenunendlichenTermt{t/x}{t/x}. . . zuweisen. Der gehört aber nicht zuTΣ(X).