10.07.2015 Aufrufe

Defaults in deduktiven Datenbanken

Defaults in deduktiven Datenbanken

Defaults in deduktiven Datenbanken

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

iiiDanksagungIch möchte Herrn Prof. Dr. Udo W. Lipeck für viele hilfreiche H<strong>in</strong>weise und fruchtbareDiskussionen während der letzten dreie<strong>in</strong>halb Jahre danken.Herrn Prof. Dr. Hans-Dieter Ehrich möchte ich für die Übernahme des Zweitgutachtensdanken, sowie für die Betreuung me<strong>in</strong>er Diplomarbeit, durch die ich zu e<strong>in</strong>er <strong>in</strong>tensiverenBeschäftigung mit dem Themenkreis Logik und <strong>Datenbanken</strong>“ gefunden habe.”Kommentare zu Vorversionen und andere nützliche H<strong>in</strong>weise habe ich bekommenvon: Dr. Gerhard Brewka, Arno Br<strong>in</strong>kmann, Dr. François Bry, Dr. Bernhard Convent,Dr. Hendrik Decker, Francisco Miguel Dionisio, Jürgen Dix, Dr. Klaus Drosten,Michael Gertz, Prof. Dr. Ralf Hartmut Güt<strong>in</strong>g, Gerhard Koschorreck, Prof. Dr. GeorgLausen, Prof. Dr. Wiktor Marek, Dr. Mark Ryan, Prof. Dr. Yehoshua Sagiv, Prof. Dr. PeterH. Schmitt, Prof. Dr. Bernhard Thalheim und He<strong>in</strong>z Uphoff. Dafür möchte ich andieser Stelle noch e<strong>in</strong>mal herzlich danken.Nützlich waren auch die Kontakte <strong>in</strong> der Forschungsgruppe IS-CORE ( Information”Systems — COrrectness and REusability“, koord<strong>in</strong>iert von Prof. Dr. Amílcar Sernadas).


Inhaltsverzeichnis1 E<strong>in</strong>führung 12 Deduktive <strong>Datenbanken</strong> 112.1 Die verwendete Logik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 Intendierte Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.3 Anfragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Anwendungsbeispiele 493.1 Implizite Negation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.2 Vererbung <strong>in</strong> objekt-orientierten Ansätzen . . . . . . . . . . . . . . . . . . 593.3 Formalisierung von Änderungsoperationen . . . . . . . . . . . . . . . . . . 644 Eigenschaften von Vervollständigungen 714.1 Folgerungsregeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.2 Modelltheoretische Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . 814.3 Vervollständigungen als Semantik von <strong>Defaults</strong> . . . . . . . . . . . . . . . . 835 Semantik von <strong>Defaults</strong> 895.1 M<strong>in</strong>imale Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.2 Die vorsichtige CWA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015.3 Weitere Semantiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1115.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206 Berechnung von Antworten 1256.1 Bottom-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1266.2 Top-Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1517 Ausblick 167Symbolverzeichnis 171Literaturverzeichnis 175Index 193v


Kapitel 1E<strong>in</strong>führungZiel dieser Arbeit ist es, deduktive <strong>Datenbanken</strong> um <strong>Defaults</strong> zu erweitern. Damit ist sieim Zwischenfeld der Theorie von <strong>Datenbanken</strong>, der logischen Programmierung und derkünstlichen Intelligenz e<strong>in</strong>zuordnen.Deduktive <strong>Datenbanken</strong> [Rei78, GMN84, Rei85, Ull88, Ull89] dienen dazu, logischeFormeln abzuspeichern. Die Anfragebeantwortung geschieht dann mit Techniken des automatischenBeweisens. Typischerweise läßt man nur e<strong>in</strong>geschränkte Formeln zu (etwaHornklauseln), so daß die Anfragebeantwortung h<strong>in</strong>reichend effizient möglich ist.<strong>Defaults</strong> [Rei80, Bes88, Bre91] erlauben die Annahme von Formeln, sofern nichtsGegenteiliges bekannt ist. So ist es etwa üblich, bei der Anfragebeantwortung davonauszugehen, daß nicht ableitbare Fakten falsch s<strong>in</strong>d [Rei78, Cla78]. Daher muß man nurdie positive Information explizit repräsentieren, die im allgeme<strong>in</strong>en wesentlich kürzer unde<strong>in</strong>facher zu notieren ist als die gesamte, bei der Anfragebeantwortung zu verwendendeInformation. Außerdem kann man nur so die bewährten relationalen <strong>Datenbanken</strong> als aufatomare Formeln beschränkte deduktive <strong>Datenbanken</strong> verstehen. <strong>Defaults</strong> wurden alsoschon immer <strong>in</strong> <strong>deduktiven</strong> <strong>Datenbanken</strong> verwendet. Dabei waren die zu verwendenden<strong>Defaults</strong> aber fest <strong>in</strong> die Anfragebeantwortung e<strong>in</strong>gebaut, und es handelte sich um dieklassische Annahme von Negationen.Ziel dieser Arbeit ist es, die explizite Angabe beliebiger <strong>Defaults</strong> zu erlauben, undsowohl ihre Semantik zu untersuchen (was ist e<strong>in</strong>e korrekte Antwort?) als auch passendeAntwortalgorithmen anzugeben (wie berechnet man korrekte Antworten?).Damit e<strong>in</strong>her geht die Erweiterung deduktiver <strong>Datenbanken</strong> auf beliebige Klauseln(anstelle der e<strong>in</strong>geschränkten Hornklauseln); denn gerade hier s<strong>in</strong>d explizite <strong>Defaults</strong>besonders wichtig. Läßt man nämlich auch Disjunktionen zu, etwa um unvollständigeInformation darzustellen, so ist die Semantik der impliziten Negation ke<strong>in</strong>eswegs mehrklar [M<strong>in</strong>82, MP84, YH85, GP86, GPP86, BH86, RT88, Dec91]. <strong>Defaults</strong> erlauben dem<strong>Datenbanken</strong>twerfer nun, die gewünschte Art der Negation zu spezifizieren [BL89].<strong>Defaults</strong> s<strong>in</strong>d aber nicht nur für die implizite Negation nützlich, wenn dies auch bisherihre wichtigste Anwendung war. In letzter Zeit wird aber e<strong>in</strong>e Integration von <strong>deduktiven</strong>und objekt-orientierten <strong>Datenbanken</strong> angestrebt [KNN90, KLW90]. Hier kann dieVererbung von Informationen ganz direkt mit <strong>Defaults</strong> formalisiert werden [BL91].1


2 KAPITEL 1. EINFÜHRUNGNatürlich s<strong>in</strong>d allgeme<strong>in</strong>e <strong>Defaults</strong> an sich ke<strong>in</strong>e neue Erf<strong>in</strong>dung. Sie wurden auchschon <strong>in</strong> der künstlichen Intelligenz untersucht bei dem Versuch, Schlußweisen des gesundenMenschenverstandes zu formalisieren [McC80, Rei80, Moo85, McC86]. Allerd<strong>in</strong>gswerden dort meist recht komplizierte Arten von <strong>Defaults</strong> betrachtet oder neue Logiken,was zu zahlreichen Problemen führt. Im Datenbankbereich sche<strong>in</strong>en dagegen e<strong>in</strong>facheprädikatenlogische Formeln als <strong>Defaults</strong> auszureichen [Poo88, BL89], und durch dieseBeschränkung wird alles wesentlich e<strong>in</strong>facher und übersichtlicher. Dagegen haben sichPrioritäten zwischen den <strong>Defaults</strong> als sehr nützlich erwiesen. Sie erlauben, zu spezifizieren,welcher Default vorgezogen werden soll, wenn e<strong>in</strong> Konflikt zwischen zwei <strong>Defaults</strong>besteht.E<strong>in</strong> Ziel der vorliegenden Arbeit ist es nun, für solche e<strong>in</strong>fachen <strong>Defaults</strong> mit Prioritätene<strong>in</strong>e Semantik zu entwickeln. Dazu werden mehrere Vorschläge untersucht undverglichen: In der Hauptsache s<strong>in</strong>d dies die m<strong>in</strong>imale Modelle“-Semantik [McC80] verallgeme<strong>in</strong>ertauf partiell geordnete <strong>Defaults</strong>, und e<strong>in</strong>e neue vorsichtige CWA“, die die””GCWA [M<strong>in</strong>82] als Spezialfall enthält. Außerdem wird gezeigt, daß die konstruktive Semantik[Bre91] bei partiell geordneten <strong>Defaults</strong> nicht mehr äquivalent zu den m<strong>in</strong>imalenModellen ist (e<strong>in</strong> etwas überraschendes Ergebnis). Auch e<strong>in</strong>e passend verallgeme<strong>in</strong>erteVersion der orig<strong>in</strong>alen CWA [Rei78] wird zum Vergleich herangezogen.Es sollen aber nicht nur diese vier Semantiken e<strong>in</strong>facher <strong>Defaults</strong> untersucht werden,sondern es soll e<strong>in</strong> Überblick über alle denkbaren Semantiken gewonnen werden. Der semantischeBereich für <strong>Defaults</strong> s<strong>in</strong>d Vervollständigungen, die das explizit aufgeschriebeneWissen um implizite Annahmen erweitern. Sie können auf drei Arten formalisiert werden:als Auswahlfunktion auf den Modellen, als syntaktische Erweiterung der Formelmenge,oder als neue Folgerungsrelation. Auch dieser allgeme<strong>in</strong>e Rahmen für die Untersuchungvon Default-Semantiken ist e<strong>in</strong> wesentlicher Beitrag der vorliegenden Arbeit.Natürlich gibt es <strong>in</strong> der künstlichen Intelligenz schon Untersuchungen über abstrakte,nicht-monotone Folgerungsrelationen, etwa [Gab85, Mak89, KLM90, Dix91]. Der dieserArbeit zugrunde liegende Ansatz [Bra90a] unterscheidet sich davon hauptsächlich <strong>in</strong> derBetonung des modelltheoretischen Aspektes. Die hier betrachteten Folgerungsrelationens<strong>in</strong>d gegenüber denen <strong>in</strong> der Literatur so e<strong>in</strong>geschränkt, daß es möglich ist, sie äquivalentdurch Auswahlfunktionen auf prädikatenlogischen Modellen zu beschreiben. Dies iste<strong>in</strong>erseits wesentlich übersichtlicher, da im Datenbankbereich modelltheoretische Sichtweisenja ohneh<strong>in</strong> üblicher s<strong>in</strong>d (etwa beim relationalen Datenmodell).Andererseits s<strong>in</strong>d solche Auswahlfunktionen aber auch <strong>in</strong> der mathematischen Theorieder Wahlverfahren ausführlich untersucht worden (e<strong>in</strong>e Übersicht gibt [Mou85]). Es istüberraschend, daß trotz des gänzlich anderen <strong>in</strong>tuitiven H<strong>in</strong>tergrunds <strong>in</strong> den beiden Gebietenviele äquivalente Eigenschaften untersucht worden s<strong>in</strong>d. Durch den hier angegebenenallgeme<strong>in</strong>en Rahmen ist es möglich, zwischen beiden Formulierungen umzurechnen, undes wird auf diesem Wege <strong>in</strong>sbesondere e<strong>in</strong>e Charakterisierung der m<strong>in</strong>imale Modelle“-”Vervollständigungen gewonnen [Bra90a]. In der Literatur s<strong>in</strong>d bisher Resultate aus derTheorie der Wahlverfahren nur sehr vere<strong>in</strong>zelt herangezogen worden [DW91].Neben den speziellen Default-Semantiken und dem allgeme<strong>in</strong>en Rahmen ist der dritte


3Beitrag dieser Arbeit e<strong>in</strong>e Untersuchung der Grundlagen von Antwortalgorithmen. Dennnatürlich sollen <strong>Defaults</strong> auch praktisch bei der Anfragebearbeitung <strong>in</strong> <strong>deduktiven</strong> <strong>Datenbanken</strong>verwendet werden. Hierfür werden zwei Algorithmen vorgeschlagen: E<strong>in</strong>erseitse<strong>in</strong> ”top-down“ Verfahren [Bra92b], das im Unterschied zu Beweisern für die Circumscription[Prz89, G<strong>in</strong>89, BG89] die Anwendbarkeit von <strong>Defaults</strong> so früh wie möglich prüft. Damithat es e<strong>in</strong>e gewisse Ähnlichkeit mit der <strong>in</strong> der logischen Programmierung bewährtenSLDNF-Resolventenmethode [Cla78, Llo87], so daß man auf deutliche Effizienzgew<strong>in</strong>nehoffen kann. Andererseits wird auch e<strong>in</strong> ”bottom-up“ Verfahren vorgeschlagen [BL92], mitdem man das bei <strong>deduktiven</strong> <strong>Datenbanken</strong> wichtige mengenorientierte Verhalten erhält.Warum s<strong>in</strong>d deduktive <strong>Datenbanken</strong> wünschenswert?Zunächst e<strong>in</strong>mal s<strong>in</strong>d deduktive <strong>Datenbanken</strong> e<strong>in</strong>e Verallgeme<strong>in</strong>erung der relationalen<strong>Datenbanken</strong>, die sich <strong>in</strong> der Praxis bewährt haben. E<strong>in</strong>e relationale Datenbank läßt sichganz direkt <strong>in</strong> e<strong>in</strong>e Faktenmenge übersetzen [Rei78, GMN84, Rei85].Daneben können deduktive <strong>Datenbanken</strong> aber auch Regeln enthalten. Um die Nützlichkeitvon Regeln e<strong>in</strong>zusehen, vergleiche man etwa die Regel ”der Intercity von Hannovernach Dortmund fährt von 7 01 bis 21 01 jede Stunde“ mit e<strong>in</strong>em entsprechenden Fahrplanauszug.Regeln mit Ausnahmen können sehr e<strong>in</strong>fach mit <strong>Defaults</strong> dargestellt werden.Außerdem hat sich gezeigt, daß die Darstellung von unvollständiger Information (etwaNullwerten) <strong>in</strong> relationalen <strong>Datenbanken</strong> schwierig ist: Es gibt sehr viele unterschiedlicheVorschläge für die Semantik solcher Nullwerte und die Antwortalgorithmen s<strong>in</strong>d sounübersichtlich, daß auch nach e<strong>in</strong>er ganzen Zeit noch Fehler gefunden werden [Kle91].Die Auffassung des Datenbankzustands als Formelmenge liefert dagegen e<strong>in</strong>e solide theoretischeGrundlage für die Behandlung von unvollständiger Information.E<strong>in</strong> weiterer Vorteil deduktiver <strong>Datenbanken</strong> ist, daß man <strong>in</strong> der Logik e<strong>in</strong>e e<strong>in</strong>heitlicheSprache für Daten, Programme, Anfragen, Sichten und Integritätsbed<strong>in</strong>gungen hat.Damit lösen deduktive <strong>Datenbanken</strong> <strong>in</strong> eleganter Weise das bekannte ”impedance mismatchproblem“ beim Übergang von der mengenorientierten, relationalen Darstellung zue<strong>in</strong>er tupelweisen Verarbeitung <strong>in</strong> Anwendungsprogrammen.Schließlich sei noch bemerkt, daß die Logik ja e<strong>in</strong> vergleichsweise sehr alter Formalismuszur Wissensrepräsentation ist. Sie verfügt damit über e<strong>in</strong> ausgereiftes theoretischesFundament, so daß es sich anbietet, auch andere Formalismen zur Wissensrepräsentation<strong>in</strong> die Sprache der Logik zu übersetzen, um e<strong>in</strong>en geme<strong>in</strong>samen Bezugspunkt für e<strong>in</strong>enVergleich zu haben. Passend verallgeme<strong>in</strong>erte deduktive <strong>Datenbanken</strong> können dann auchdie Grundlage von Expertensystemen bilden [App85, Pup91].Warum braucht man <strong>Defaults</strong> zur Negation?Mit <strong>Defaults</strong> werden die Formulierungen e<strong>in</strong>facher und natürlicher, <strong>in</strong>sbesondere auch für


4 KAPITEL 1. EINFÜHRUNGNicht-Logiker. Es ist etwa naheliegend, e<strong>in</strong>e Tabelle als Menge von Fakten zu notieren:bestellung(meier, taschenlampe).bestellung(schmidt, radio).bestellung(schmidt, batterien).Angenommen, man fragt nun nach den Kunden, die e<strong>in</strong>e Taschenlampe, aber ke<strong>in</strong>e Batterienbestellt haben:bestellung(X, taschenlampe) ∧ ¬bestellung(X, batterien).Logisch gesehen würde diese Aussage für X = meier nicht folgen. Dazu müßte manerst spezifizieren, daß die explizit angegebenen Tupel die e<strong>in</strong>zigen s<strong>in</strong>d, also das positiveWissen über die Tabelle vollständig ist.Natürlich kann man das <strong>in</strong> der Logik formulieren, es ist nur etwas komplizierter:bestellung(X, Y ) ↔ X = meier ∧ Y = taschenlampe∨ X = schmidt ∧ Y = radio∨ X = schmidt ∧ Y = batterien.Diese Formulierung ist allerd<strong>in</strong>gs tatsächlich noch nicht ausreichend. Man muß erst nochangeben, daß je zwei verschiedene Namen auch verschiedene Objekte bezeichnen, also daßetwameier ≠ schmidt.Dies ist, obwohl pr<strong>in</strong>zipiell möglich, doch praktisch etwas mühsam (die Anzahl der Formelndieser Art wächst quadratisch <strong>in</strong> der Anzahl der Konstanten).Natürlich könnte man Abkürzungen verwenden. Die e<strong>in</strong>fachste Abkürzung wäre wohl,für alle nicht explizit genannten Paare von Kunden und Waren die entsprechende Negationzu ergänzen, also z.B.¬bestellung(meier, batterien).Aber das wäre ja gerade wieder e<strong>in</strong> Default.Warum sollten <strong>Defaults</strong> explizit spezifiziert werden?Nachdem man sich von der Nützlichkeit der Negations-<strong>Defaults</strong> überzeugt hat, könnteman sie natürlich e<strong>in</strong>fach fest <strong>in</strong> den Antwortalgorithmus e<strong>in</strong>bauen (das ist die momentanübliche Lösung). Allerd<strong>in</strong>gs ist die genaue Semantik nicht mehr so klar, wenn man denBereich der Hornklauseln verläßt. Es reicht dann nämlich nicht mehr aus, e<strong>in</strong>fach dieNegation jedes nicht implizierten Faktums anzunehmen. Dies würde zu Widersprüchenführen [Rei78]. E<strong>in</strong> Beispiel istkann fliegen(X) ← vogel(X) ∧ ¬ausnahme(X).vogel(tweety).Hier folgt weder kann fliegen(tweety) (tweety könnte e<strong>in</strong>e Ausnahme se<strong>in</strong>, beispielsweisee<strong>in</strong> P<strong>in</strong>gu<strong>in</strong>) noch ausnahme(tweety) (darüber ist <strong>in</strong> der Datenbank nichts gesagt). Trotzdemkann man nicht gleichzeitig ¬kann fliegen(tweety) und ¬ausnahme(tweety) annehmen,denn dies widerspricht der angegebenen Regel.


5Prolog löst dieses Problem, <strong>in</strong>dem es die Schreibweise der Regel auswertet und demNegationsdefault für das im Kopf auftretende Prädikat ger<strong>in</strong>gere Priorität gibt als denender Rumpfprädikate. In diesem Fall würde sich also ¬ausnahme(tweety) durchsetzen.Hätte man die Regel dagegen <strong>in</strong> der logisch äquivalenten Schreibweiseausnahme(X) ← vogel(X) ∧ ¬kann fliegen(X)formuliert, so wäre es gerade umgekehrt, es würde ausnahme(tweety) angenommen.Es f<strong>in</strong>det also auch bisher schon e<strong>in</strong>e Spezifikation der <strong>Defaults</strong> statt, wenn auch nurihrer Prioritäten. Diese Spezifikation ist aber implizit und <strong>in</strong> den Regeln verborgen, redundantund möglicherweise <strong>in</strong>konsistent. Dabei ist es doch eher dem Prädikat ausnahmezuzuordnen, daß Ausnahmen eben selten s<strong>in</strong>d. Die zweite Schreibweise sollte dem ke<strong>in</strong>enAbbruch tun.Wesentlich größer s<strong>in</strong>d die Schwierigkeiten bei der Darstellung von unvollständigerInformation. Es gibt e<strong>in</strong>e ganze Reihe unterschiedlicher Vorschläge für die Semantik derimpliziten Negation. Explizite <strong>Defaults</strong> helfen nun e<strong>in</strong>erseits, diese Vorschläge zu erklärenund mite<strong>in</strong>ander zu vergleichen, und andererseits, dem Benutzer oder <strong>Datenbanken</strong>twerferdie Wahl zu lassen, welche Vervollständigung er verwenden will (entsprechend derjeweiligen Anwendung).Wozu s<strong>in</strong>d <strong>Defaults</strong> noch nützlich?Die implizite Negation ist aber ke<strong>in</strong>eswegs die e<strong>in</strong>zige Anwendung von <strong>Defaults</strong>.<strong>Defaults</strong> können etwa auch e<strong>in</strong> Mittel zur Erklärung se<strong>in</strong>. Es ist ja durchaus üblich,erst die allgeme<strong>in</strong>e Regel anzugeben, und dann die Ausnahmen. So sagt man etwa ”Vögelkönnen fliegen“:kann fliegen(X) ← vogel(X).Das ist natürlich e<strong>in</strong>e stark vergröberte Aussage, da es zahlreiche Ausnahmen gibt:¬kann fliegen(X) ← p<strong>in</strong>gu<strong>in</strong>(X).¬kann fliegen(X) ← strauss(X).¬kann fliegen(X) ← flügel gebrochen(X).Trotzdem ist die Trennung <strong>in</strong> die allgeme<strong>in</strong>e Regel und <strong>in</strong> ihre Ausnahmen sehr hilfreichfür die Darstellung (vermutlich s<strong>in</strong>d die genannten Ausnahmen ja noch nicht e<strong>in</strong>malvollständig). Mit <strong>Defaults</strong> kann man dieses Beispiel so aufschreiben wie hier gezeigt. Manhat nur darauf zu achten, daß e<strong>in</strong>e Ausnahme e<strong>in</strong>e höhere Priorität als die allgeme<strong>in</strong>e Regelhat, so daß sie sich durchsetzt, wenn beide anwendbar s<strong>in</strong>d.Wenn man nun nicht mehr die e<strong>in</strong>zelnen Regeln betrachtet, sondern die spezifiziertenObjekte, so entspricht dies e<strong>in</strong>er Spezialisierung. Man geht aus von e<strong>in</strong>er e<strong>in</strong>fachenSpezifikation e<strong>in</strong>es ”typischen Vogels“ und verfe<strong>in</strong>ert sie schrittweise zu e<strong>in</strong>em typischenP<strong>in</strong>gu<strong>in</strong>, zu e<strong>in</strong>em typischen Neuseeländischen Goldschopfp<strong>in</strong>gu<strong>in</strong>, und schließlich zu e<strong>in</strong>emspeziellen Exemplar dieser Art.


6 KAPITEL 1. EINFÜHRUNGIn objekt-orientierten Sprachen wurde zur Unterstützung solcher Vorgehensweisender Mechanismus der Vererbung e<strong>in</strong>geführt. Die Klasse der P<strong>in</strong>gu<strong>in</strong>e sollte etwa vonder Oberklasse der Vögel die Eigenschaft erben, Federn zu haben. Dagegen wird dieEigenschaft, fliegen zu können, überschrieben“.”Allerd<strong>in</strong>gs ist die Programmierung <strong>in</strong> objekt-orientierten Systemen doch eher operational,und es fehlt e<strong>in</strong>e formale Semantik. Daher besteht der Wunsch, die deklarativeVorgehensweise deduktiver <strong>Datenbanken</strong> mit den Strukturierungsmöglichkeiten objektorientierterSysteme zu komb<strong>in</strong>ieren. Als formale Semantik für die Vererbung bieten sichdabei <strong>Defaults</strong> an.E<strong>in</strong> weiterer Anwendungsbereich ist die Formalisierung von Änderungs-Operationen.Wenn man die Auswirkung e<strong>in</strong>er Aktion beschreibt, erklärt man natürlich nur die Änderung,und geht davon aus, daß alle nicht erwähnten D<strong>in</strong>ge unverändert bleiben (Rahmenregel).E<strong>in</strong>e genaue Formalisierung ist aber überraschend schwierig, und hier können<strong>Defaults</strong> mit e<strong>in</strong>er präzisen Semantik e<strong>in</strong>e große Hilfe se<strong>in</strong>.<strong>Defaults</strong> unterscheiden sich von normalen Formeln dar<strong>in</strong>, daß auch <strong>in</strong>konsistente Mengenoder triviale Folgerungen noch e<strong>in</strong>en Informationsgehalt haben. Auf diese Weise kannman Vorkehrungen zur Fehlertoleranz treffen. E<strong>in</strong> Beispiel wären die beiden Aussagen” Der Zug aus Dortmund kommt <strong>in</strong> Hannover um 959 an“ und Falls der Zug aus Dortmund”nicht um 9 59 ankommt, wartet der Anschlußzug nach Braunschweig maximal 10 M<strong>in</strong>uten“.Logisch gesehen wäre die zweite Aussage redundant. Handelt es sich aber um <strong>Defaults</strong>,enthält sie e<strong>in</strong>e wesentliche Information für den Fall, daß die erste Aussage überschriebenwird.Auch im Zusammenhang mit unvollständiger Information s<strong>in</strong>d <strong>Defaults</strong> wichtig. Hierist es ja häufig nötig, Folgerungen zu ziehen und tätig zu werden, obwohl man sich nichtdavon überzeugen kann, daß die Ausnahmen tatsächlich nicht zutreffen. Vielleicht kenntman nicht e<strong>in</strong>mal alle Ausnahmen.Warum sollte man allgeme<strong>in</strong>e Vervollständigungen betrachten?Sobald man mehr als e<strong>in</strong>e Semantik für <strong>Defaults</strong> kennt, ist die Frage naheliegend, ob esnoch weitere gibt, die vielleicht <strong>in</strong> irgende<strong>in</strong>em S<strong>in</strong>ne besser s<strong>in</strong>d.Die e<strong>in</strong>zige systematische Art, an diese Frage heranzugehen, ist doch offenbar zunächstden ganzen Bereich zu betrachten, aus dem die Semantiken stammen können, eben dieVervollständigungen. Diesen Bereich muß man nun mit Hilfe von Eigenschaften ”filtern“,bis nur noch wenige Vervollständigungen übrig bleiben, oder man zum<strong>in</strong>dest e<strong>in</strong>en gewissenÜberblick gewonnen hat.Solche Eigenschaften können darüber h<strong>in</strong>aus auch nützlich se<strong>in</strong>, die bekannten Semantikenzu bewerten oder zu vergleichen.Schließlich kann man sich aber auch umgekehrt die Frage stellen, ob die hier betrachteten<strong>Defaults</strong> überhaupt das geeignete Mittel s<strong>in</strong>d, Vervollständigungen zu beschreiben.Man kann ja auch Vervollständigungen als den grundlegenderen Begriff ansehen, dennsie beschreiben direkt, wie die Anfragen beantwortet werden sollen. In dieser Sichtweise


7wären die <strong>Defaults</strong> e<strong>in</strong> bloßes Mittel, um Vervollständigungen aufzuschreiben. Es stellensich dann solche Fragen wie ”Können alle vernünftigen Vervollständigungen durch <strong>Defaults</strong>beschrieben werden?“ Dies ist <strong>in</strong>sbesondere <strong>in</strong>teressant, weil <strong>in</strong> der Literatur auchandere Formalismen für nichtmonotones Schließen vorgeschlagen wurden, die nicht auf<strong>Defaults</strong> <strong>in</strong> dem hier zugrundegelegten S<strong>in</strong>n basieren.Ist diese Theorie auch praktisch e<strong>in</strong>setzbar?Lange Zeit schien es so, als wäre der praktische E<strong>in</strong>satz allgeme<strong>in</strong>er Formeln und <strong>Defaults</strong>aufgrund des viel zu hohen Aufwands unmöglich. Auf der anderen Seite haben siche<strong>in</strong>geschränkte Formeln und <strong>Defaults</strong> bei <strong>deduktiven</strong> <strong>Datenbanken</strong> und <strong>in</strong> der logischenProgrammierung bewährt. Daraus ergeben sich zwei mögliche Lösungsansätze:E<strong>in</strong>erseits kann man allgeme<strong>in</strong>e Formeln und <strong>Defaults</strong> als Mittel der Spezifikationansehen. Durch die mächtigen Ausdrucksmöglichkeiten werden die Formulierungen wesentliche<strong>in</strong>facher, so daß es sich also auszahlt, beim Entwurf deduktiver <strong>Datenbanken</strong> oderanderer wissensbasierter Systeme mehrstufig vorzugehen: Zuerst entwirft man das System<strong>in</strong> e<strong>in</strong>er mächtigen Logik. Nachdem die mit dem Anwendungsbereich zusammenhängendenProbleme gelöst s<strong>in</strong>d, kann man sich auf die Implementierung konzentrieren. Diegeschieht <strong>in</strong> e<strong>in</strong>er effizienten Logik. Es ist dabei nur sicherzustellen, daß die Transformationzwischen den beiden Ebenen die Bedeutung erhält. E<strong>in</strong> entsprechender Ansatz zurÜberwachung temporaler Integritätsbed<strong>in</strong>gungen wurde <strong>in</strong> [Lip89] vorgeschlagen. E<strong>in</strong> ersterVersuch, allgeme<strong>in</strong>e Klauseln und e<strong>in</strong>e mächtigere Vervollständigung nach Prolog zuübersetzen, ist [GL89]. Allerd<strong>in</strong>gs ist dieser Ansatz noch recht e<strong>in</strong>geschränkt. Trotzdemist klar, daß e<strong>in</strong>e solche Transformation pr<strong>in</strong>zipiell möglich se<strong>in</strong> muß; schlimmstenfalls istdas Transformationsergebnis e<strong>in</strong> allgeme<strong>in</strong>er Beweiser, formuliert <strong>in</strong> Prolog, zusammenmit den unveränderten Klauseln als E<strong>in</strong>gabedaten. Von hier aus kann man jetzt versuchen,den Beweiser immer weiter auf die tatsächliche E<strong>in</strong>gabe zu spezialisieren (partielleAuswertung).Der andere Lösungsansatz ist, Antwortalgorithmen zu entwickeln, die den bewährtenAnsätzen aus der logischen Programmierung und den <strong>deduktiven</strong> <strong>Datenbanken</strong> möglichstähnlich s<strong>in</strong>d. Tatsächlich werden ja auch <strong>in</strong> e<strong>in</strong>er Logik mit den erweiterten Möglichkeitengroße Teile der Spezifikation aus den Standard-Hornklauseln bestehen. Ziel muß esalso se<strong>in</strong>, daß der Antwortalgorithmus für die e<strong>in</strong>geschränkte Logik kaum Mehraufwandbedeutet, und e<strong>in</strong>e sparsame Verwendung der neuen Möglichkeiten auch nur ger<strong>in</strong>ge Effizienzverlustemit sich br<strong>in</strong>gt ( Stetigkeit“).”In der vorliegenden Arbeit wird dieser zweite Lösungsansatz angestrebt. Es gibt aberenge Beziehungen zwischen beiden Vorgehensweisen: Hat man e<strong>in</strong>en Algorithmus, der dieAnteile der e<strong>in</strong>fachen Logik effizient behandelt, so müßte man nicht die ganze Spezifikationtransformieren, sondern könnte sich je nach Effizienzanforderung auf die wichtigsten Teilebeschränken. Außerdem bleibt die Spezifikation nach jeder Teiltransformation ausführbarund kann damit gestestet werden. Andererseits wäre e<strong>in</strong>e automatische Transformationnach Prolog natürlich e<strong>in</strong> Algorithmus im S<strong>in</strong>ne des zweiten Lösungsansatzes.


8 KAPITEL 1. EINFÜHRUNGNatürlich können hier nur e<strong>in</strong>ige Grundlagen entwickelt werden, da es bis zum skizziertenZiel vermutlich noch e<strong>in</strong> weiter Weg ist.Konkret werden hier zwei Algorithmen vorgeschlagen: Der erste ist der bottom-up“”Methode der Anfrageauswertung <strong>in</strong> <strong>deduktiven</strong> <strong>Datenbanken</strong> recht ähnlich, <strong>in</strong>sbesonderegeht er also mengenorientiert vor und vermeidet dadurch Mehrfacharbeit. Im Gegensatzzur klassischen bottom-up“ Methode arbeitet er aber mit allgeme<strong>in</strong>en Klauseln und”expliziten <strong>Defaults</strong>.Der zweite Algorithmus ist e<strong>in</strong> top-down“ Beweiser, arbeitet also zielgerichtet. Er”weist gewisse Ähnlichkeiten zur SLDNF-Resolventenmethode von Prolog auf. In der Literaturgibt es schon e<strong>in</strong>ige vergleichbare Algorithmen [Prz89, G<strong>in</strong>89, BG89]. Der hier vorgeschlageneAnsatz hat den Vorteil, die Anwendbarkeit der <strong>Defaults</strong> so früh wie möglichzu testen (entsprechend der Auswertung der Negationen <strong>in</strong> Prolog). Dies ist auch nötig,um disjunktive Antworten berechnen zu können, denn diese Antworten können geradedurch Fallunterscheidungen bei den <strong>Defaults</strong> zustande kommen. Außerdem ist der hierangegebene Algorithmus auch auf die vorsichtige CWA“ anwendbar, und es wird skizziert,wie er sich auf partiell geordnete <strong>Defaults</strong> erweitern läßt.”Von dem top-down“ Ansatz gibt es schon erste Implementierungen [Ern92, Bra92a],”e<strong>in</strong>e Implementierung des bottom-up“ Verfahrens ist momentan <strong>in</strong> der Entstehung begriffen[Bri92]. E<strong>in</strong>e Untersuchung anderer nichtmonotoner Beweissysteme [DDFM90]”zeigt, daß solche Implementierungen dr<strong>in</strong>gend nötig s<strong>in</strong>d, denn bisher sche<strong>in</strong>t die Praxish<strong>in</strong>ter der Theorie doch deutlich zurück zu se<strong>in</strong>.Gliederung der ArbeitIm Kapitel 2 werden Grundbegriffe verallgeme<strong>in</strong>erter deduktiver <strong>Datenbanken</strong> e<strong>in</strong>geführt.Es werden dabei häufig auch Alternativen diskutiert, um den hier verfolgten Ansatz <strong>in</strong>e<strong>in</strong>en größeren Rahmen e<strong>in</strong>zubetten. Für die Semantik der <strong>Defaults</strong> wird der Begriff derVervollständigung mit drei äquivalenten Formalisierungen e<strong>in</strong>geführt. Die Frage, welcheVervollständigungen e<strong>in</strong>er gegebenen Menge von <strong>Defaults</strong> zugeordnet werden soll, istgerade der Gegenstand späterer Untersuchungen.Kapitel 3 enthält e<strong>in</strong>ige Anwendungsbeispiele für <strong>Defaults</strong> aus den drei Bereichenimplizite Negation, Vererbung <strong>in</strong> objekt-orientierten Ansätzen und Semantik von Änderungsoperationen.Damit soll motiviert werden, daß <strong>Defaults</strong> <strong>in</strong> <strong>deduktiven</strong> <strong>Datenbanken</strong>und ihren Erweiterungen nützlich s<strong>in</strong>d. Außerdem wird klar werden, daß es mehr als e<strong>in</strong>evernünftige Semantik von <strong>Defaults</strong> gibt, so daß also e<strong>in</strong>e echte Auswahl möglich ist, diee<strong>in</strong>en genaueren Vergleich erfordert.In Kapitel 4 werden zunächst abstrakt alle denkbaren Semantiken von <strong>Defaults</strong> betrachtet,und e<strong>in</strong>ige Anforderungen an vernünftige Semantiken aufgestellt. So wird manetwa wünschen, daß typische Ableitungsregeln der logischen Folgerung gültig bleiben.Auch gibt es e<strong>in</strong>ige unstrittige Eigenschaften für die Berücksichtigung von <strong>Defaults</strong>.In Kapitel 5 werden dann im wesentlichen zwei Semantiken für <strong>Defaults</strong> vorgeschlagen,die m<strong>in</strong>imale Modelle“-Semantik und die vorsichtige CWA“. Es werden die Eigenschaf-” ”


9ten dieser Semantiken untersucht und ihre Beziehung zue<strong>in</strong>ander geklärt. Zum Vergleichwerden schließlich auch noch weitere Semantiken def<strong>in</strong>iert, unter anderem e<strong>in</strong>e Verallgeme<strong>in</strong>erungder orig<strong>in</strong>alen CWA.Im Kapitel 6 werden zwei Antwort-Algorithmen vorgestellt, wobei e<strong>in</strong>er ”top-down“arbeitet (entsprechend Prolog) und e<strong>in</strong>er ”bottom-up“ (wie üblich bei <strong>deduktiven</strong> <strong>Datenbanken</strong>).Diese Algorithmen s<strong>in</strong>d sowohl auf die ”m<strong>in</strong>imale Modelle“-Semantik als auchdie ”vorsichtige CWA“ anwendbar.Schließlich werden <strong>in</strong> Kapitel 7 e<strong>in</strong>ige Perspektiven für die zukünftige Arbeit aufgezeigt.Allgeme<strong>in</strong>e Literaturh<strong>in</strong>weiseLehrbücher der mathematischen Logik s<strong>in</strong>d etwa [BN77, EFT86, Sch87, BW91]. Grundkenntnisseim automatischen Beweisen werden <strong>in</strong> [CL73, Sch87, HK89] vermittelt.Übersichtsartikel und Lehrbücher zu <strong>deduktiven</strong> <strong>Datenbanken</strong> s<strong>in</strong>d [GMN84, Rei84,Ull88, Ull89, HPRV89, NT89, CGT90, Gog90].Die Grundlagen des logischen Programmierens f<strong>in</strong>den sich <strong>in</strong> [Llo87, She88], etwasknapper auch <strong>in</strong> manchen Prolog-Lehrbüchern, z.B. [NM90]. Die neueren Vorschläge zurSemantik der Negation s<strong>in</strong>d etwa <strong>in</strong> [VGRS91, Prz91] beschrieben.Zu den verschiedenen Formalismen des nichtmonotonen Schließens gibt es <strong>in</strong>zwischene<strong>in</strong>e ganze Reihe von Monographien [Rei85, Bes88, Bra88, Eth88, ̷Luk90, Bre91]. Allediese Bücher basieren aber nicht auf e<strong>in</strong>em solchen abstrakten Ansatz, wie er hier verfolgtwird. Die Zielsetzung ist auch e<strong>in</strong>e andere: In der vorliegenden Arbeit wird ke<strong>in</strong> Überblicküber die bekannten nichtmonotonen Logiken angestrebt, sondern es wird e<strong>in</strong>e Semantikfür e<strong>in</strong>fache <strong>Defaults</strong> gesucht.


Kapitel 2Deduktive <strong>Datenbanken</strong>Ziel dieses Kapitels ist es, Syntax und Semantik e<strong>in</strong>es erweiterten <strong>deduktiven</strong> Datenbanksystemszu beschreiben. Im e<strong>in</strong>zelnen s<strong>in</strong>d also Begriffe wie Signatur, Formel, Default,Anfrage und korrekte Antwort zu def<strong>in</strong>ieren.Für die Semantik der <strong>Defaults</strong> wird hier mit dem Begriff der Vervollständigung nure<strong>in</strong> allgeme<strong>in</strong>er Rahmen angegeben, der dann als Grundlage für die Untersuchungen <strong>in</strong>späteren Kapiteln dient. Es ist ja gerade der Gegenstand dieser Arbeit, verschiedeneSemantiken von <strong>Defaults</strong> zu vergleichen.2.1 Die verwendete LogikBei e<strong>in</strong>er <strong>deduktiven</strong> Datenbank s<strong>in</strong>d fast alles logische Formeln: die Axiome, die <strong>Defaults</strong>und die Anfragen. Daher muß zunächst geklärt werden, welche Logik diesen Formelnzugrunde liegen soll.Die Auswahl ist hier <strong>in</strong>zwischen recht groß, <strong>in</strong>sbesondere <strong>in</strong> den Bereichen komplexeObjekte [NT89, GZC89, HS90, Kos90], Typ-Systeme [KW91, YS91], Dynamik[Lip89, BRL91, Ger91], epistemische Quantoren ( es ist bekannt, . . .“) [Moo85, Rei88]”und deontische Konstrukte ( es ist erlaubt, . . .“) [MWW89, FM91].”Ziel dieser Arbeit ist allerd<strong>in</strong>gs die Untersuchung von <strong>Defaults</strong>, und nicht von besondersmächtigen oder benutzerfreundlichen Logiken. Daher wurde e<strong>in</strong>e weitgehendklassische“ Logik gewählt, nämlich mehrsortige Prädikatenlogik, e<strong>in</strong>geschränkt auf quantorenfreieFormeln ohne Funktionssymbole, aber mit e<strong>in</strong>gebauten“ Prädikaten wie =“” ””und


12 KAPITEL 2. DEDUKTIVE DATENBANKENdaß sie zum<strong>in</strong>dest zum jetzigen Zeitpunkt noch ke<strong>in</strong>e stabile Basis für Erweiterungendarstellen.E<strong>in</strong>e Alternative wäre natürlich gewesen, <strong>Defaults</strong> unabhängig von der verwendetenLogik zu untersuchen, so wie das etwa <strong>in</strong> [BRL91] geschehen ist. Diese Allgeme<strong>in</strong>heitmuß aber mit E<strong>in</strong>schränkungen <strong>in</strong> anderer H<strong>in</strong>sicht erkauft werden: So kann man etwanicht voraussetzen, daß die Logik über Junktoren wie ∧“ und ∨“ verfügt, die aber für” ”die Eigenschaften <strong>in</strong> Kapitel 4 dr<strong>in</strong>gend benötigt werden. Außerdem basieren die Deduktionsalgorithmen,die <strong>in</strong> Kapitel 6 zur Anfrage-Auswertung e<strong>in</strong>gesetzt werden, auf derPrädikatenlogik. Natürlich könnte man versuchen, die Eigenschaften und die Algorithmenentsprechend zu parametrisieren, aber die größere Allgeme<strong>in</strong>heit würde ke<strong>in</strong>eswegszu e<strong>in</strong>er größeren Übersichtlichkeit beitragen.Der Verzicht auf Funktionssymbole ist im Datenbankbereich nicht unüblich. DasHauptproblem von Funktionssymbolen ist, daß sie zu unendlichen Bereichen führen. Dannist aber nicht mehr jede Menge von Interpretationen durch e<strong>in</strong>e Formelmenge zu beschreiben,was zu Schwierigkeiten bei der modelltheoretische Sichtweise e<strong>in</strong>er Vervollständigungführt. Die eigentlich wesentlichen Ergebnisse würden dann durch viele Zusatzannahmenverschleiert. Auch bei der Anfrage-Auswertung käme es zu zahlreichen Schwierigkeiten;so wären etwa die korrekten Antworten ohne weitere E<strong>in</strong>schränkungen nicht mehr rekursivaufzählbar. E<strong>in</strong>e E<strong>in</strong>schränkung der zulässigen Axiome, <strong>Defaults</strong> und Anfragenkann sicherlich viele dieser Probleme ausschließen. Für Prolog existieren schon zahlreicheentsprechende Vorschläge, wie z.B. [Plü90].In e<strong>in</strong>igen Punkten geht die hier verwendete Logik aber auch über das M<strong>in</strong>destmaßh<strong>in</strong>aus. Zunächst s<strong>in</strong>d beliebige Klauseln zugelassen (sogar beliebige quantorenfreie Formeln),nicht nur def<strong>in</strong>ite Hornklauseln wie <strong>in</strong> re<strong>in</strong>em Prolog. Der Grund hierfür ist, daßDisjunktionen zur Repräsentation von unvollständiger Information nötig s<strong>in</strong>d, außerdemkönnen auch re<strong>in</strong> negative Klauseln sehr natürlich se<strong>in</strong> (z.B. P<strong>in</strong>gu<strong>in</strong>e können nicht fliegen“).Schließlich s<strong>in</strong>d <strong>Defaults</strong> nur <strong>in</strong>teressant, wenn sie den Axiomen und anderen”<strong>Defaults</strong> widersprechen können. E<strong>in</strong>e Menge von def<strong>in</strong>iten Hornklauseln ist aber immerkonsistent.Die zweite Erweiterung ist die Mehrsortigkeit, die zum<strong>in</strong>dest im Datenbankbereichüblich ist. Sie erlaubt e<strong>in</strong>e e<strong>in</strong>fache syntaktische Typprüfung, reduziert also das Risiko vonE<strong>in</strong>gabefehlern. Es ist auch möglich, stattdessen Typprädikate“ zu verwenden [Llo87],”die Mehrsortigkeit ist also ke<strong>in</strong>e echte Steigerung der Ausdrucksfähigkeit. Aber es iste<strong>in</strong>facher, e<strong>in</strong>en speziellen Mechanismus für die Typprüfung zu verwenden als sich auf dieallgeme<strong>in</strong>e Deduktion abstützen zu müssen. Außerdem führt sie zu ke<strong>in</strong>en zusätzlichenSchwierigkeiten.Die dritte Erweiterung ist die Berücksichtigung von Datentypen und e<strong>in</strong>gebautenPrädikaten, <strong>in</strong>sbesondere der Gleichheit. E<strong>in</strong>erseits s<strong>in</strong>d Datentypen wichtig, wenn man<strong>in</strong> den <strong>deduktiven</strong> <strong>Datenbanken</strong> e<strong>in</strong>e direkte Verallgeme<strong>in</strong>erung der relationalen sehenwill. Standardprädikate wie


2.1. DIE VERWENDETE LOGIK 13Zahlen). Hier hilft e<strong>in</strong>e E<strong>in</strong>schränkung der zulässigen Anfragen, Axiome und <strong>Defaults</strong> aufsogenannte bereichsbeschränkte“ Formeln. Dies ist im Datenbankbereich üblich, aber”dieser Begriff muß hier natürlich an die Erweiterung auf quantorenfreie Formeln undallgeme<strong>in</strong>e <strong>Defaults</strong> angepaßt werden. Im Endeffekt kann man dann beweisen, daß esgenügt, Herbrandmodelle über den aktuell vorkommenden Konstanten zu betrachten.Damit ist die E<strong>in</strong>führung der Datentypen ke<strong>in</strong>e echte Verallgeme<strong>in</strong>erung, aber doch vongroßem praktischen Nutzen.Die Gleichheit wird hier als e<strong>in</strong>gebautes Prädikat behandelt. Sie ist wichtig, umSchlüsselbed<strong>in</strong>gungen formulieren zu können. In relationalen <strong>Datenbanken</strong> ist diese Formvon Integritätsbed<strong>in</strong>gungen ja vielfach bewährt, und natürlich s<strong>in</strong>d sie <strong>in</strong> <strong>deduktiven</strong> <strong>Datenbanken</strong>m<strong>in</strong>destens ebenso nützlich. Man erhält so die Möglichkeit, nicht-generierendeFunktionssymbole (etwa vater von“) durch Prädikate zu simulieren. Es sei an dieser”Stelle noch bemerkt, daß <strong>Defaults</strong> die Berücksichtigung von Integritätsbed<strong>in</strong>gungen auchbei der Anfrage-Auswertung erfordern, nicht nur bei Änderungsoperationen. Der Grundist, daß <strong>Defaults</strong> Integritätsbed<strong>in</strong>gungen widersprechen können, und dann natürlich nichtangenommen werden dürfen. Bisher werden Integritätsbed<strong>in</strong>gungen höchstens im Rahmender Optimierung [Wüt91] bei der Anfrageauswertung berücksichtigt.Natürlich wäre es auch möglich, e<strong>in</strong> benutzerdef<strong>in</strong>iertes Prädikat equal“ e<strong>in</strong>zuführen,”dem mit Axiomen die Bedeutung der Gleichheit gegeben wird. Dies führt aber zu erheblichemAufwand bei der Anfrageauswertung, so daß das Gleichheitsprädikat <strong>in</strong> automatischenBeweisern normalerweise mit e<strong>in</strong>er speziellen Deduktionsregel behandelt wird, derParamodulation [CL73]. Außerdem vere<strong>in</strong>facht es die Spezifikationsarbeit, wenn e<strong>in</strong> gewisserGrundstock fest <strong>in</strong>terpretiert wird, also nicht durch Formeln unabsichtlich geändertwerden kann. Aus demselben Grund ist hier die Sortierung der Prädikate und Konstanten<strong>in</strong> die Logik e<strong>in</strong>gebaut.E<strong>in</strong>e Logik hat im allgeme<strong>in</strong>en vier Komponenten [GB84]: die Signaturen, die Interpretationen,die Formeln, und die erfüllt“-Relation zwischen Interpretationen und”Formeln. Diese Komponenten sollen nun für die hier verwendete Logik def<strong>in</strong>iert werden,wobei besonders auf die Bedeutung aus Datenbanksicht e<strong>in</strong>gegangen wird.SignaturenIn den Formeln e<strong>in</strong>er <strong>deduktiven</strong> Datenbank kommen Bezeichner wie angestellter“ vor,”mit denen der Bezug zur Anwendungswelt hergestellt werden soll. Die Deklaration dieserBezeichner geschieht <strong>in</strong> Form e<strong>in</strong>er Signatur. Zur Vere<strong>in</strong>fachung der Def<strong>in</strong>itionen enthaltendie Signaturen hier auch die vordef<strong>in</strong>ierten Symbole der Datentypen. Natürlichwürden diese <strong>in</strong> e<strong>in</strong>er praktischen Spezifikationssprache nicht explizit deklariert.In der Prädikatenlogik muß e<strong>in</strong>e Signatur offensichtlich m<strong>in</strong>destens die Prädikate (Relationssymbole)festlegen, die <strong>in</strong> den Formeln verwendet werden können. Dies ist auchbei e<strong>in</strong>em relationalen Datenbanksystem erforderlich. Dagegen werden hier ke<strong>in</strong>e Attributnamenbenötigt, weil die Argumente der Prädikate wie im Bereichskalkül über ihrePosition identifiziert werden.


14 KAPITEL 2. DEDUKTIVE DATENBANKENNatürlich können <strong>in</strong> den Formeln Konstanten auftreten, wie etwa Zeichenketten oderZahlen. Neben diesen Datentyp-Konstanten ist es möglich, Konstanten für Objekte derAnwendungswelt e<strong>in</strong>zuführen (etwa für Personen, Waren, usw.). Dies ist im relationalenModell nicht vorgesehen und entspricht der Möglichkeit des Entity-Relationship“-”Modells, über diese Objekte selbst reden zu können und nicht nur über ihre Namen.Solche Konstanten können zu Sorten wie person“ oder ware“ zusammengefaßt werden.Zusammen mit den für die Prädikate spezifizierten Argumentsorten ist so e<strong>in</strong>e” ”Typprüfung möglich. Zur Vere<strong>in</strong>fachung ist hier für jedes Prädikat nur e<strong>in</strong>e Sortenangabezulässig, praktische Implementierungen werden wohl überladene Bezeichner anbieten.Es werden hier nur bereichsbeschränkte“ Formeln (s.u.) zugelassen, um nur endliche”Modelle betrachten zu müssen. Für ihre Def<strong>in</strong>ition ist die Unterscheidung zwischen positiv,negativ oder gar nicht b<strong>in</strong>denden Prädikaten nötig. Der klassische Fall s<strong>in</strong>d dabeidie positiv b<strong>in</strong>denden Prädikate — sie können so <strong>in</strong>terpretiert werden, daß sie höchstensfür die explizit vorkommenden Konstanten wahr s<strong>in</strong>d. E<strong>in</strong> Beispiel für e<strong>in</strong> nicht b<strong>in</strong>dendesPrädikat wäre


2.1. DIE VERWENDETE LOGIK 15Umgekehrt könnte man die <strong>in</strong> der Datenbank abgespeicherten Formeln (s.u.) alsDatenbankzustand“ ansehen. Aber auch das ist nur bed<strong>in</strong>gt richtig, denn normalerweisewerden sich nur die Fakten ändern, die Regeln für abgeleitete Prädikate bleiben”meist konstant. Die Unterscheidung zwischen Schema und Zustand kann also nur vom<strong>Datenbanken</strong>twerfer vorgenommen werden.Def<strong>in</strong>ition 2.1.3 (Teilsignatur): E<strong>in</strong>e Signatur Σ 1 = 〈S 1 , C 1 , P 1 , γ 1 , π 1 , β 1 〉 heißtTeilsignatur e<strong>in</strong>er Signatur Σ 2 = 〈S 2 , C 2 , P 2 , γ 2 , π 2 , β 2 〉 (Σ 1 ⊆ Σ 2 ) genau dann, wenn• S 1 ⊆ S 2 , C 1 ⊆ C 2 , P 1 ⊆ P 2 ,• γ 1 (c) = γ 2 (c) für alle c ∈ C 1 ,• π 1 (p) = π 2 (p) für alle p ∈ P 1 und• β 1 (p) = β 2 (p) für alle p ∈ P 1 .Zwei Signaturen Σ 1 und Σ 2 heißen kompatibel, wenn es e<strong>in</strong>e geme<strong>in</strong>same Teilsignatur Σvon Σ 1 und Σ 2 gibt mit(S ∪ C ∪ P ) = (S 1 ∪ C 1 ∪ P 1 ) ∩ (S 2 ∪ C 2 ∪ P 2 ).Dann heißt Σ der Schnitt von Σ 1 und Σ 2 .Es sei nun e<strong>in</strong>e Signatur Σ D der Datentyp-Konstanten und Prädikate gegeben, wobei allePrädikate den B<strong>in</strong>dungstyp ”∗“ haben (sie beschreiben ja normalerweise auch unendlicheRelationen).Im folgenden kann davon ausgegangen werden, daß alle auftretenden Signaturen Σmit Σ D kompatibel s<strong>in</strong>d (die Resultate gelten sowohl mit dieser E<strong>in</strong>schränkung als auchohne sie).Naheliegender wäre die Forderung Σ D ⊆ Σ. Dies ist aber problematisch, da Σ Dtypischerweise unendlich ist und man <strong>in</strong>sbesondere die endliche Signatur der explizit vorkommendenKonstanten betrachten möchte.InterpretationenDie Semantik e<strong>in</strong>er Signatur Σ ist die Menge der Interpretationen von Σ, die den Zeichender Signatur e<strong>in</strong>e Bedeutung zuordnen. Dabei werden wie üblich Sorten als Mengen<strong>in</strong>terpretiert, Konstanten als Elemente dieser Mengen und Prädikate als Relationen aufdiesen Mengen.Unter den Interpretationen sollten sich auch die Entsprechungen zu Zuständen desAusschnitts der realen Welt bef<strong>in</strong>den, der mit der Datenbank modelliert werden soll.Interpretationen, die ke<strong>in</strong>em möglichen Zustand der realen Welt entsprechen, könneneventuell noch über Integritätsbed<strong>in</strong>gungen ausgeschlossen werden (s.u.).


16 KAPITEL 2. DEDUKTIVE DATENBANKENDef<strong>in</strong>ition 2.1.4 (Interpretation):E<strong>in</strong>e Σ-Interpretation I bestimmt• e<strong>in</strong>e Menge I [s] für jede Sorte s ∈ S, wobei I [s 1 ] ∩ I [s 2 ] = ∅ für s 1 ≠ s 2 ,• e<strong>in</strong> Element I [c] ∈ I [s] für jede Konstante c ∈ C mit γ(c) = s — dabei sei für zweiverschiedene Konstanten c 1 , c 2 ∈ C auch I [c 1 ] ≠ I [c 2 ] — und• e<strong>in</strong>e Relation I [p] ⊆ I [s 1 ]×· · ·×I [s n ] für jedes Prädikat p ∈ P mit π(p) = s 1 . . . s n .Man beachte, daß nicht (wie sonst <strong>in</strong> der Logik üblich) gefordert wird, daß die Mengen I [s]nichtleer s<strong>in</strong>d. Es ist ja im Datenbankbereich sehr wohl möglich, daß zunächst noch garke<strong>in</strong>e Personen oder Waren e<strong>in</strong>getragen s<strong>in</strong>d. Allerd<strong>in</strong>gs muß man dann berücksichtigen,daß bestimmte Schlüsse nicht mehr möglich s<strong>in</strong>d. So ist etwa {p(X), ¬p(X)} nicht mehr<strong>in</strong>konsistent, sondern kann von e<strong>in</strong>em Modell mit leerem Individuenbereich erfüllt werden.Hier hilft aber die Bereichsbeschränkung (s.u.), die gerade solche Fälle verbietet.Von den Konstanten wird verlangt, daß sie als verschiedene Elemente <strong>in</strong>terpretiert werden,d.h. es werden e<strong>in</strong>deutige Namen vorausgesetzt (UNA, ”unique names assumption“).Dies ist <strong>in</strong> erster L<strong>in</strong>ie e<strong>in</strong>e Hilfe bei der Spezifikation, um so bestimmte Überraschungenim Zusammenspiel mit den <strong>Defaults</strong> auszuschließen. Bei Nullwerten oder Skolemkonstantengilt diese Annahme allerd<strong>in</strong>gs nicht, hier kann man sich mit e<strong>in</strong>em benutzerdef<strong>in</strong>iertenGleichheitsprädikat helfen.E<strong>in</strong>e letzte Forderung <strong>in</strong> der Def<strong>in</strong>ition von Interpretation ist schließlich noch, daßdie Sorten disjunkt s<strong>in</strong>d. Der Grund hierfür ist, daß man nur so Formeln mit Typfehlernwirklich als s<strong>in</strong>nlos zurückweisen kann.Da nur Allaussagen betrachtet werden (s.u.), brauchen nur Herbrand-Interpretationenbetrachtet werden, bei denen die Interpretation der Sorten und Konstanten fest vorgegebenist. Es ist jedoch trotzdem nützlich, den allgeme<strong>in</strong>en Begriff der Interpretation zukennen, da nur diese direkt den Situationen <strong>in</strong> der Anwendungswelt entsprechen.Def<strong>in</strong>ition 2.1.5 (Herbrand-Interpretation): E<strong>in</strong>e Interpretation I heißt Herbrand-Interpretation, wenn• I [s] = {c ∈ C | γ(c) = s} für alle s ∈ S, und• I [c] = c für alle c ∈ C.Die Menge aller Herbrand-Interpretationen über Σ wird mit I Σ bezeichnet.Herbrand-Interpretationen lassen also nur die Interpretation der Prädikate offen. Dahier ohneh<strong>in</strong> e<strong>in</strong>deutige Namen vorausgesetzt werden, unterscheiden sich allgeme<strong>in</strong>e Σ-Interpretation und Herbrand-Interpretation bis auf Isomorphie nur dar<strong>in</strong>, daß allgeme<strong>in</strong>eInterpretationen größere Individuenbereiche I [s] haben können.Für die Folgerungsbeziehung und die Konsistenz von Formelmengen reicht es aus,nur Herbrand-Interpretationen zu betrachten. Der Grund hierfür ist die E<strong>in</strong>schränkungauf quantorenfreie Formeln (also Allaussagen) — schränkt man die Individuenbereichee<strong>in</strong>es Modells e<strong>in</strong>, so s<strong>in</strong>d die Allaussagen ja erst recht erfüllt, man erhält also wieder e<strong>in</strong>Modell.Bei Herbrand-Interpretationen entspricht dies e<strong>in</strong>er E<strong>in</strong>schränkung der Signatur:


2.1. DIE VERWENDETE LOGIK 17Def<strong>in</strong>ition 2.1.6 (Redukt von Herbrand-Interpretationen): Seien Σ ⊆ Σ ′ zweiSignaturen und I ′ e<strong>in</strong>e Σ ′ -Herbrand-Interpretation. Das Σ-Redukt von I ′ ist die Σ-Herbrand-Interpretation I mitI [p] := { (c 1 , . . . , c n ) ∣ c i ∈ C, γ(c i ) = s i , (c 1 , . . . , c n ) ∈ I ′ [p] }für alle p ∈ P und s 1 . . . s n = π(p).Bei der Erweiterung der Individuenbereiche bzw. der Signatur werden dagegen nicht unbed<strong>in</strong>gtaus Modellen wieder Modelle. Bei bereichsbeschränkten Formeln (s.u.) gilt diesaber, wenn man die positiv b<strong>in</strong>denden Prädikate für neue Konstanten als falsch und dienegativ b<strong>in</strong>denden Prädikate als wahr <strong>in</strong>terpretiert.Def<strong>in</strong>ition 2.1.7 (Erweiterung von Herbrand-Interpretationen): Seien Σ ⊆ Σ ′zwei Signaturen und I e<strong>in</strong>e Σ-Herbrand-Interpretation. E<strong>in</strong> Σ ′ -Herbrand-Interpretation I ′heißt Σ ′ -Erweiterung von I genau dann, wenn das Σ-Redukt von I ′ gerade I ist.E<strong>in</strong>e Σ ′ -Erweiterung I ′ heißt Standard-Erweiterung genau dann, wenn für alle Predikatep ′ ∈ P ′ mit β ′ (p) = + und sortengerechte Konstanten c ′ 1, . . . , c ′ n ∈ C ′ gilt:c ′ i ∉ C für m<strong>in</strong>destens e<strong>in</strong> i =⇒ (c ′ 1, . . . , c ′ n) ∉ I ′ [p ′ ]und entsprechend für alle p ′ ∈ P ′ mit β ′ (p ′ ) = −:c ′ i ∉ C für m<strong>in</strong>destens e<strong>in</strong> i =⇒ (c ′ 1, . . . , c ′ n) ∈ I ′ [p ′ ].Natürlich sollten alle Interpretationen die Datentyp-Prädikate richtig <strong>in</strong>terpretieren. Dazusei e<strong>in</strong>e Σ D -Herbrand-Interpretation I D gegeben, die gerade die übliche Interpretationdieser Symbole beschreibt (bzw. e<strong>in</strong> isomorphes Bild). Es kann im folgenden von allenΣ-Herbrand-Interpretationen I vorausgesetzt werden, daß das Σ ∩ Σ D -Redukt von I mitdem Σ ∩ Σ D -Redukt von I D übere<strong>in</strong>stimmt.FormelnFormeln treten <strong>in</strong> <strong>deduktiven</strong> <strong>Datenbanken</strong> als Axiome (Fakten und Regeln), <strong>Defaults</strong>,Anfragen und Integritätsbed<strong>in</strong>gungen auf.Es werden hier beliebige quantorenfreie Formeln zugelassen. Dies ist e<strong>in</strong>erseits vonpraktischem Nutzen, andererseits aber auch für die <strong>in</strong> Kapitel 4 betrachteten Eigenschaftennötig (<strong>in</strong>sbesondere die Umrechnung zwischen modelltheoretischer und syntaktischerFormulierung wäre sonst nicht möglich).Für die Algorithmen wird natürlich wird die übliche Klausel-Darstellung angestrebt,dazu ist allerd<strong>in</strong>gs bei Anfragen und <strong>Defaults</strong> e<strong>in</strong>e Erweiterung der Signatur nötig (s.u.).Die Def<strong>in</strong>itionen von Formeln und Klauseln folgen dem üblichen Aufbau. Dabei wirdversucht, zwischen der mathematischen Struktur ( ”abstrakte Syntax“) und der Repräsentationals Zeichenkette ( ”konkrete Syntax“) zu unterscheiden.Def<strong>in</strong>ition 2.1.8 (Variablendeklaration): E<strong>in</strong>e Variablendeklaration für X ⊆ A Ve<strong>in</strong>e Abbildung Ξ: X → S. Dabei sei X endlich.ist


18 KAPITEL 2. DEDUKTIVE DATENBANKENDef<strong>in</strong>ition 2.1.9 (Term):• e<strong>in</strong>e Konstante c ∈ C mit γ(c) = s oder• e<strong>in</strong>e Variable X ∈ X mit Ξ(X) = s.E<strong>in</strong> (Σ, Ξ)-Term der Sorte s ist entwederDef<strong>in</strong>ition 2.1.10 (Atomare Formel): E<strong>in</strong>e (Σ, Ξ)-atomare Formel besteht aus e<strong>in</strong>emPrädikat p∈P und e<strong>in</strong>er Liste t 1 . . . t n von (Σ, Ξ)-Termen der Sorten s 1 . . . s n = π(p).Atomare Formeln werden meist <strong>in</strong> der Form p(t 1 , . . . , t n ) geschrieben. Bei e<strong>in</strong>gebautenPrädikaten ist e<strong>in</strong>e Infix-Darstellung üblicher, z.B. t 1 < t 2 oder t 1 = t 2 + t 3 . In objektorientiertenSprachen wird auch die Schreibweise t 1 .p(t 2 , . . . , t n ) verwendet, wobei derPräfix entfallen kann, wenn er aus dem Kontext bekannt ist.Def<strong>in</strong>ition 2.1.11 (Formel):• e<strong>in</strong>e der logischen Konstanten true, false oder• e<strong>in</strong>e atomare (Σ, Ξ)-Formel oderE<strong>in</strong>e (Σ, Ξ)-Formel (der Stufe i ∈ IN) ist• e<strong>in</strong>e negierte Formel, bestehend aus dem Junktor ¬ und e<strong>in</strong>er (Σ, Ξ)-Formel (e<strong>in</strong>erStufe < i) oder• e<strong>in</strong>e zusammengesetzte Formel, bestehend aus e<strong>in</strong>em der Junktoren ∧, ∨, →, ←, ↔und zwei (Σ, Ξ)-Formeln (e<strong>in</strong>er Stufe < i).E<strong>in</strong>e Σ-Formel besteht aus e<strong>in</strong>er Variablendeklaration Ξ und e<strong>in</strong>er (Σ, Ξ)-Formel (e<strong>in</strong>erStufe i ∈ IN).Die Menge aller Σ-Formeln wird mit L Σ bezeichnet, die Menge der variablenfreienΣ-Formeln mit L ∗ Σ .Man beachte, daß ke<strong>in</strong>e ∀, ∃-Quantoren zugelassen s<strong>in</strong>d (alle Variablen s<strong>in</strong>d implizit allquantifiziert).Die Stufung dient nur dazu, unendliche Formeln auszuschließen.Formeln werden aufgeschrieben, <strong>in</strong>dem der Junktor bei zusammengesetzten Formelnzwischen die beiden Teilformeln gesetzt wird und sie gegebenenfalls <strong>in</strong> Klammern e<strong>in</strong>geschlossenwerden. Üblicherweise b<strong>in</strong>det ¬ am stärksten, danach ∧, anschließend ∨ undzuletzt →, ←, ↔. Die Variablendeklaration wird meist nicht explizit aufgeschrieben, wennsie sich aus der Verwendung der Variablen ergibt.Modell-BeziehungDie Modell-Beziehung zwischen Interpretationen und Formeln wird wie üblich def<strong>in</strong>iert:Def<strong>in</strong>ition 2.1.12 (Variablenbelegung): E<strong>in</strong>e Variablenbelegung zu e<strong>in</strong>er VariablendeklarationΞ: X → S und e<strong>in</strong>er Interpretation I ist e<strong>in</strong>e Abbildung α, die jeder VariablenX ∈ X e<strong>in</strong>en Wert α(X) ∈ I [Ξ(X)] zuordnet.


2.1. DIE VERWENDETE LOGIK 19Def<strong>in</strong>ition 2.1.13 (Auswertung von Termen): Der Wert (I, α)[t] e<strong>in</strong>es (Σ, Ξ)-Terms t <strong>in</strong> e<strong>in</strong>er Interpretation I unter e<strong>in</strong>er Variablenbelegung α ist• I [c], falls t e<strong>in</strong>e Konstante c ist,• α(X), falls t e<strong>in</strong>e Variable X ist.Def<strong>in</strong>ition 2.1.14 (Modell-Beziehung): E<strong>in</strong>e Interpretation I erfüllt e<strong>in</strong>e (Σ, Ξ)-Formel ϕ unter der Variablenbelegung α ((I, α) |= ϕ) genau dann, wenn• falls ϕ e<strong>in</strong>e logische Konstante ϕ 0 ist:(I, α) |= ϕ :⇐⇒ ϕ 0 = true,• falls ϕ e<strong>in</strong>e atomare Formel mit Prädikat p und Argumentliste t 1 . . . t n ist:(I, α) |= ϕ :⇐⇒ ( (I, α)[t 1 ], . . . , (I, α)[t n ] ) ∈ I [p],• falls ϕ e<strong>in</strong>e negierte Formel mit Teilformel ϕ 0 ist:(I, α) |= ϕ :⇐⇒ (I, α) ̸|= ϕ 0 ,• falls ϕ e<strong>in</strong>e zusammengesetzte Formel mit Teilformeln ϕ 1 und ϕ 2 ist:ϕ 1 ϕ 2 ϕ 1 ∧ ϕ 2 ϕ 1 ∨ ϕ 2 ϕ 1 → ϕ 2 ϕ 1 ← ϕ 2 ϕ 1 ↔ ϕ 2— — — — • • •— • — • • — —• — — • — • —• • • • • • •( ”•“ bedeute, daß die angegebene Formel <strong>in</strong> I unter α gilt).E<strong>in</strong>e Σ-Formel ϕ gilt <strong>in</strong> I (I |= ϕ) genau dann, wenn (I, α) |= ϕ für alle Variablenbelegungenα zu der Variablendeklaration von ϕ.Def<strong>in</strong>ition 2.1.15 (Modellbeziehung, abgeleitete Begriffe):• I ist Modell e<strong>in</strong>er Formelmenge Φ (I |= Φ) genau dann, wenn I |= ϕ für alle ϕ ∈ Φ.• Mit Mod(Φ) werde die Menge der Herbrand-Modelle von Φ bezeichnet.• Umgekehrt sei für e<strong>in</strong>e Menge I von Herbrand-Interpretationen Th(I) die Mengeder variablenfreien Σ-Formeln Φ mit I |= Φ für alle I ∈ I.• Ist Σ endlich, so sei th(I) e<strong>in</strong>e variablenfreie Σ-Formel ϕ mit Mod(ϕ) = I.• E<strong>in</strong>e variablenfreie Formel ψ folgt logisch aus e<strong>in</strong>er Formelmenge Φ (Φ ⊢ ψ) genaudann, wenn I |= ψ für jedes Herbrand-Modell I von Φ.• Zwei Formeln oder Formelmengen Φ 1 und Φ 2 s<strong>in</strong>d logisch äquivalent (Φ 1∼ = Φ2 )genau dann, wenn I |= Φ 1 ⇐⇒ I |= Φ 2 für alle Herbrand-Interpretationen I.• E<strong>in</strong>e Formelmenge Φ heißt konsistent genau dann, wenn Mod(Φ) ≠ ∅.Die syntaktische Entsprechung zu Variablenbelegungen s<strong>in</strong>d Substitutionen:


20 KAPITEL 2. DEDUKTIVE DATENBANKENDef<strong>in</strong>ition 2.1.16 (Substitution): E<strong>in</strong>e Σ-(Grund-)Substitution zu e<strong>in</strong>er VariablendeklarationΞ: X → S ist e<strong>in</strong>e Abbildung θ: X → C mit γ ( θ(X) ) = Ξ(X) für alle X ∈ X .Bei den hier betrachteten Herbrand-Interpretationen besteht zwischen Variablenbelegungenund Substitutionen eigentlich gar ke<strong>in</strong> Unterschied. Allerd<strong>in</strong>gs werden Variablenbelegungenbei der Modellbeziehung berücksichtigt, während Substitutionen auf Formelnangewendet werden:Def<strong>in</strong>ition 2.1.17 (Anwendung e<strong>in</strong>er Substitution): Sei ϕ e<strong>in</strong>e (Σ, Ξ)-Formel und θe<strong>in</strong>e Σ-Substitution zu Ξ. Dann ist das Ergebnis der Anwendung von θ auf ϕ, geschriebenϕθ def<strong>in</strong>iert als:• Ist ϕ e<strong>in</strong>e logische Konstante, so sei ϕθ := ϕ.• Ist ϕ e<strong>in</strong>e atomare Formel mit Prädikat p und Argumentliste t 1 , . . . , t n , so sei ϕθ dieatomare Formel mit Prädikat p und Argumentliste t ′ 1, . . . , t ′ n, wobei{t ′ θ(Xi ) falls ti :=i e<strong>in</strong>e Variable X i istsonst.t i• Ist ϕ e<strong>in</strong>e negierte Formel mit Teilformel ϕ 0 , so sei ϕθ die negierte Formel mitTeilformel ϕ 0 θ.• Ist ϕ e<strong>in</strong>e zusammengesetzte Formel mit Junktor ∗ und Teilformeln ϕ 1 und ϕ 2 , sosei ϕθ die zusammengesetzte Formel mit Junktor ∗ und Teilformeln ϕ 1 θ und ϕ 2 θ.Man kann nun zeigen, daß zwischen Variablenbelegungen und Substitutionen auch semantischke<strong>in</strong> wesentlicher Unterschied besteht, denn es gilt(I, α) |= ϕ ⇐⇒ I |= ϕθ,wenn α und θ dieselbe Abbildung s<strong>in</strong>d.Bereichsbeschränkte FormelnEs ist aus verschiedenen Gründen nützlich, nur bereichsbeschränkte Formeln zuzulassen.So braucht man nur endliche Modelle zu betrachten, die Menge der korrekten Antwortenist immer endlich und unabhängig von der Signatur, und die Term<strong>in</strong>ierung der Anfragebearbeitungkann sichergestellt werden.Technisch gesehen garantiert die Bereichsbeschränkung gerade, daß die oben angegebeneStandard-Erweiterung e<strong>in</strong>es Herbrandmodells auf e<strong>in</strong>e größere Signatur e<strong>in</strong> Modellbleibt.Die folgende Def<strong>in</strong>ition ist relativ aufwendig, weil sie auf beliebige quantorenfreie Formelnanwendbar se<strong>in</strong> muß. Im Fall von Prolog-Klauseln mit positiv b<strong>in</strong>denden Prädikatenist sie aber äquivalent zu der klassischen Def<strong>in</strong>ition, daß jede Variable <strong>in</strong> e<strong>in</strong>em positivenRumpf-Literal vorkommt (s.u.).


2.1. DIE VERWENDETE LOGIK 21Def<strong>in</strong>ition 2.1.18 (Gebundene und ungebundene Variablen): Die Menge der <strong>in</strong>e<strong>in</strong>er Formel ϕ gebundenen Variablen, B + (ϕ)/B − (ϕ), und die Menge der <strong>in</strong> ϕ ungebundenenVariablen, U + (ϕ)/U − (ϕ), werden wie folgt def<strong>in</strong>iert:• Ist ϕ e<strong>in</strong>e logische Konstante, so sei:B + (ϕ) := ∅, B − (ϕ) := ∅, U + (ϕ) := ∅, U − (ϕ) := ∅.• Ist ϕ e<strong>in</strong>e atomare Formel mit Prädikat p und Argumentliste t 1 . . . t n :{ { X falls β(p) = −X falls β(p) = +B + (ϕ) :=B − (ϕ) :=∅ sonst∅ sonst{ { ∅ falls β(p) = −∅ falls β(p) = +U + (ϕ) :=U − (ϕ) :=X sonstX sonstdabei sei X := {X i | t i ist e<strong>in</strong>e Variable X i }.• Ist ϕ e<strong>in</strong>e negierte Formel mit Teilformel ϕ 0 :B + (ϕ) := B − (ϕ 0 ), B − (ϕ) := B + (ϕ 0 ),U + (ϕ) := U − (ϕ 0 ), U − (ϕ) := U + (ϕ 0 ).• Ist ϕ e<strong>in</strong>e zusammengesetzte Formel mit Junktor ∗ und Teilformeln ϕ 1 und ϕ 2 :∗ B + (ϕ)/B − (ϕ) U + (ϕ)/U − (ϕ)∧ B + (ϕ 1 ) ∩ B + (ϕ 2 ) U + (ϕ 1 ) ∪ U + (ϕ 2 )B − (ϕ 1 ) ∪ B − (ϕ 2 ) ( U − (ϕ 1 ) ∪ U − (ϕ 2 ) ) − ( B − (ϕ 1 ) ∪ B − (ϕ 2 ) )∨ B + (ϕ 1 ) ∪ B + (ϕ 2 ) ( U + (ϕ 1 ) ∪ U + (ϕ 2 ) ) − ( B + (ϕ 1 ) ∪ B + (ϕ 2 ) )B − (ϕ 1 ) ∩ B − (ϕ 2 ) U − (ϕ 1 ) ∪ U − (ϕ 2 )→ B − (ϕ 1 ) ∪ B + (ϕ 2 ) ( U − (ϕ 1 ) ∪ U + (ϕ 2 ) ) − ( B − (ϕ 1 ) ∪ B + (ϕ 2 ) )B + (ϕ 1 ) ∩ B − (ϕ 2 ) U + (ϕ 1 ) ∪ U − (ϕ 2 )← B + (ϕ 1 ) ∪ B − (ϕ 2 ) ( U + (ϕ 1 ) ∪ U − (ϕ 2 ) ) − ( B + (ϕ 1 ) ∪ B − (ϕ 2 ) )B − (ϕ 1 ) ∩ B + (ϕ 2 ) U − (ϕ 1 ) ∪ U + (ϕ 2 )Der Ausdruck für ”↔“ ergibt sich aus ϕ 1 ↔ ϕ 2∼ = (ϕ1 → ϕ 2 ) ∧ (ϕ 1 ← ϕ 2 ).Def<strong>in</strong>ition 2.1.19 (Bereichsbeschränkte Formel): E<strong>in</strong>e Formel ϕ heißt bereichsbeschränktgenau dann, wenn U + (ϕ) = ∅ ist. Die Menge der bereichsbeschränkten Σ-Formeln werde mit L + Σ bezeichnet.E<strong>in</strong>e Formel ϕ heißt stark bereichsbeschränkt bzw. negativ stark bereichsbeschränktgenau dann, wenn X ∈ B + (ϕ) bzw. X ∈ B − (ϕ) für jede <strong>in</strong> ϕ vorkommende Variable X.Der Unterschied zwischen bereichsbeschränkten und stark bereichsbeschränkten Formelntritt im klassischen Fall (Klauseln) nicht auf. E<strong>in</strong> Beispiel ist etwa die Formelϕ := ( p 1 (X) ← p 2 (X) ) ∧ ( q 1 (Y ) ← q 2 (Y ) )(alle Prädikate seien positiv b<strong>in</strong>dend). Diese Formel ist bereichsbeschränkt (U + (ϕ) = ∅),aber nicht stark bereichsbeschränkt (B + (ϕ) = ∅).


22 KAPITEL 2. DEDUKTIVE DATENBANKENIm wesentlichen garantieren bereichsbeschränkte Formeln, daß aus Modellen bei derStandard-Erweiterung wieder Modelle werden, während stark bereichsbeschränkte Formelnfür die neuen Konstanten auf jeden Fall gelten:Lemma 2.1.20: Seien Σ ⊆ Σ ′ , I e<strong>in</strong>e Σ-Herbrand<strong>in</strong>terpretation und I ′ e<strong>in</strong>e Standard-Erweiterung von I auf Σ ′ . Dann gilt für alle Σ-Formeln ϕ und I ′ -Variablenbelegungen α ′ :• Gibt es X ∈ B + (ϕ) mit α ′ (X) ∈ C ′ − C, so gilt (I ′ , α ′ ) |= ϕ.• Gibt es X ∈ B − (ϕ) mit α ′ (X) ∈ C ′ − C, so gilt (I ′ , α ′ ) ̸|= ϕ.Beweis: Der Beweis erfolgt durch Induktion über dem Aufbau von ϕ. Es wird jeweils nur derBeweis für den ersten Teil ausgeführt, der zweite Teil kann analog bewiesen werden.• Für logische Konstanten ist B + (ϕ) leer, die Voraussetzung der Behauptung ist also immerfalsch.• Für atomare Formeln ist B + (ϕ) nur dann nicht leer, wenn es sich um e<strong>in</strong> negativ b<strong>in</strong>dendesPrädikat handelt. Dann stellt die Konstruktion von I ′ sicher, daß (I ′ , α ′ ) |= ϕ gilt.• Für negierte Formeln folgt die Behauptung direkt aus der Induktionsannahme.• Sei ϕ e<strong>in</strong>e zusammengesetzte Formel mit Junktor ∧ und Teilformeln ϕ 1 und ϕ 2 . Gelte nunα ′ (X) ∉ C für e<strong>in</strong> X ∈ B + (ϕ). Wegen B + (ϕ) = B + (ϕ 1 ) ∩ B + (ϕ 2 ) ist X also <strong>in</strong> beidenMengen enthalten, und die Induktionsannahme liefert (I ′ , α ′ ) |= ϕ 1 und (I ′ , α ′ ) |= ϕ 2 .Daraus folgt die Behauptung (I ′ , α ′ ) |= ϕ.• Sei ϕ e<strong>in</strong>e zusammengesetzte Formel mit Junktor ∨ und Teilformeln ϕ 1 und ϕ 2 und gelteα ′ (X) ∉ C ′ − C für e<strong>in</strong> X ∈ B + (ϕ). Da B + (ϕ) = B + (ϕ 1 ) ∪ B + (ϕ 2 ), ist X <strong>in</strong> e<strong>in</strong>er derbeiden Mengen enthalten; gelte etwa X ∈ B + (ϕ 1 ). Dann liefert die Induktionsannahme(I ′ , α ′ ) |= ϕ 1 . Daraus folgt natürlich sofort (I ′ , α ′ ) |= ϕ.• Der Beweis für die anderen Junktoren verläuft analog.Lemma 2.1.21: Seien Σ ⊆ Σ ′ , I e<strong>in</strong>e Σ-Herbrand<strong>in</strong>terpretation und I ′ e<strong>in</strong>e Standard-Erweiterung von I auf Σ ′ . Dann gilt für alle Σ-Formeln ϕ und alle Variablenbelegungen αzu I und α ′ zu I ′ :• Gilt für alle X mit α ′ (X) ≠ α(X), daß X ∉ U + (ϕ) und α ′ (X) ∈ C ′ − C, dann gilt:(I, α) |= ϕ =⇒ (I ′ , α ′ ) |= ϕ.• Gilt für alle X mit α ′ (X) ≠ α(X), daß X ∉ U − (ϕ) und α ′ (X) ∈ C ′ − C, dann gilt:(I, α) ̸|= ϕ =⇒ (I ′ , α ′ ) ̸|= ϕ.Beweis: Die Behauptung wird mit Induktion über den Aufbau von ϕ bewiesen. Es wird jeweilsnur der Beweis der ersten Aussage ausgeführt, die zweite kann analog bewiesen werden.• Für logische Konstanten gilt die Behauptung trivialerweise.• Sei ϕ nun e<strong>in</strong>e atomare Formel. Gilt α ′ (X) = α(X) für alle vorkommenden Variablen, sofolgt (I, α) |= ϕ ⇐⇒ (I ′ , α ′ ) |= ϕ.Andernfalls gibt es also e<strong>in</strong>e <strong>in</strong> ϕ vorkommende Variable X mit α ′ (X) = α(X), unddaher X ∉ U + (ϕ). Für atomare Formeln impliziert das X ∈ B + (ϕ), die Folgerung(I ′ , α ′ ) |= ϕ gilt also nach Lemma 2.1.20.✷


2.1. DIE VERWENDETE LOGIK 23• Ist ϕ e<strong>in</strong>e negierte Formel mit Teilformel ϕ 0 , so gilt(I, α) |= ϕ ⇐⇒ (I, α) ̸|= ϕ 0 =⇒ (I ′ , α ′ ) ̸|= ϕ 0 ⇐⇒ (I ′ , α ′ ) |= ϕ,wobei im mittleren Schritt gerade die Induktionsannahme verwendet wurde (es ist jaU − (ϕ 0 ) = U + (ϕ)).• Sei ϕ e<strong>in</strong>e zusammengesetzte Formel mit Junktor ∧ und Teilformeln ϕ 1 und ϕ 2 . NachVoraussetzung gelten beide Teilformeln <strong>in</strong> (I, α). Ist X ∉ U + (ϕ), so ist wegenU + (ϕ) = U + (ϕ 1 ) ∪ U + (ϕ 2 )natürlich X ∉ U + (ϕ 1 ) und X ∉ U + (ϕ 2 ). Die Induktionsannahme kann dann ganz direktverwendet werden.• Sei ϕ nun e<strong>in</strong>e zusammengesetzte Formel mit Junktor ∨ und Teilformeln ϕ 1 und ϕ 2 . NachVorausetzung gilt e<strong>in</strong>e der beiden Teilformeln <strong>in</strong> (I, α), etwa ϕ 1 . Für alle Variablen Xmit α ′ (X) ≠ α(X) gilt nach Voraussetzung α ′ (X) ∈ C ′ − C und X ∉ U + (ϕ). Gilt auchX ∉ U + (ϕ 1 ) für alle solchen X, so kann man direkt die Induktionsannahme anwenden.Falls dies aber nicht gilt, so folgt X ∈ ( B + (ϕ 1 ) ∪ B + (ϕ 2 ) ) (nach der Def<strong>in</strong>ition von U + ).Nun liefert aber Lemma 2.1.20, daß die betreffende Teilformel <strong>in</strong> (I ′ , α ′ ) gilt, und damitnatürlich auch die Disjunktion.• Der Beweis für die übrigen Junktoren verläuft analog.Satz 2.1.22: Seien Σ ⊆ Σ ′ , Φ e<strong>in</strong>e Menge von bereichsbeschränkten Σ-Formeln, I e<strong>in</strong>Σ-Herbrandmodell von Φ und I ′ e<strong>in</strong>e Standard-Erweiterung von I auf Σ ′ . Dann ist I ′ e<strong>in</strong>Modell von Φ.Beweis: Zu zeigen ist (I ′ , α ′ ) |= ϕ für alle ϕ ∈ Φ und alle Variablenbelegungen α ′ zu I ′ . Sei αe<strong>in</strong>e Variablenbelegung zu I mit α(X) = α ′ (X) für alle X mit α ′ (X) ∈ C. Nach Voraussetzunggilt (I, α) |= ϕ und U + (ϕ) = ∅, daher liefert die erste Aussage von Lemma 2.1.21 die Behauptung(I ′ , α ′ ) |= ϕ. ✷Korollar 2.1.23: Sei Φ e<strong>in</strong>e konsistente Menge bereichsbeschränkter Formeln und ψe<strong>in</strong>e negativ stark bereichsbeschränkte Formel. Gilt Φ ⊢ ψ, so ist ψ variablenfrei.Beweis: Angenommen, ψ enthält e<strong>in</strong>e freie Variable X. Dann ist nach VoraussetzungX ∈ B − (ψ). Als konsistente Menge quantorenfreier Formeln hat Φ e<strong>in</strong> Σ-Herbrandmodell I.Entstehe nun Σ ′ aus Σ durch H<strong>in</strong>zufügen e<strong>in</strong>er Konstante c. Nach Satz 2.1.22 ist die Standard-Erweiterung I ′ von I auf Σ ′ Modell von Φ. Sei α ′ nun e<strong>in</strong>e beliebige Variablenblegung mitα ′ (X) := c. Dann gilt nach Lemma 2.1.20: (I ′ , α ′ ) ̸|= ψ. Vergißt“ man nun die Interpretation”von c, so hat man e<strong>in</strong> Σ-Modell von Φ (ke<strong>in</strong> Herbrandmodell), das nicht Modell von ψ ist, undes folgt Φ ⊬ ψ.✷Natürlich ist der hier e<strong>in</strong>geführte Begriff von ”bereichsbeschränkter Formel“ nicht diee<strong>in</strong>zige Möglichkeit, und <strong>in</strong> mancher H<strong>in</strong>sicht ist er noch recht e<strong>in</strong>schränkend. Verbesserungenh<strong>in</strong>sichtlich der Praxisnähe würden aber wohl zu noch komplizierteren Def<strong>in</strong>itionenführen. In dieser Arbeit werden daher im folgenden nur e<strong>in</strong>ige Beispiele aufgelistet, diepraktische Systeme behandeln können sollten.✷


24 KAPITEL 2. DEDUKTIVE DATENBANKENE<strong>in</strong> erstes Beispiel ist die Regelequal(X, Y ) ← X = Y.Hiermit soll equal als Synonym für ”=“ e<strong>in</strong>geführt werden (dazu ist natürlich noch derDefault ¬equal(X, Y ) erforderlich). Natürlich muß equal dann auch als nicht-b<strong>in</strong>dendesPrädikat deklariert werden. Trotzdem ist diese Klausel nicht bereichsbeschränkt, dennnach der Def<strong>in</strong>ition muß jede Variable gebunden se<strong>in</strong>. Man könnte auf die Idee kommen,nur zu verlangen, daß Variablen gebunden werden müssen, die <strong>in</strong> Literalen mit b<strong>in</strong>dendemPrädikat vorkommen. Dies ist aber nicht mehr h<strong>in</strong>reichend für die Signatur-Unabhängigkeit,wie <strong>in</strong> Beispiel 2.3.3 gezeigt wird.Auch die folgende Regel zur Berechnung des Briefportos <strong>in</strong> Abhängigkeit vom Gewichtist nicht bereichsbeschränkt (X ist nicht gebunden):porto(X, 100) ← X < 20.Dabei wäre die Verwendung als ”Makro“ im Kontext e<strong>in</strong>er bereichsbeschränkten Regeloder Anfrage problemlos.Zur Fortpflanzung von Variablenb<strong>in</strong>dungen lassen sich Gleichungen wie Y = X leichtausnutzen (siehe [Ull88]). Schwieriger wird es bei Regeln, die neue Werte bzw. Konstantengenerieren:plusMwSt(X, Y ) ← Y = X ∗ 1.14.Dies sollte natürlich zulässig se<strong>in</strong>, denn entsprechende Anfragen oder Sichten s<strong>in</strong>d <strong>in</strong>relationalen <strong>Datenbanken</strong> auch möglich. Andererseits muß man verh<strong>in</strong>dern, daß solcheRegeln rekursiv verwendet werden, denn sonst bekommt man sofort wieder unendlicheBereiche.S<strong>in</strong>d bei Prädikaten wie = ∗ zwei der Argumente schon gebunden, b<strong>in</strong>det diesesPrädikat das dritte Argument. Die e<strong>in</strong>fache Dreiteilung <strong>in</strong> positiv, negativ oder überhauptnicht b<strong>in</strong>dend reicht hier also nicht mehr aus. Eventuell könnte e<strong>in</strong>e Verallgeme<strong>in</strong>erungdes Ansatzes aus [KRS88] helfen.KlausellogikFür automatische Beweiser ist nützlich, Formeln <strong>in</strong> e<strong>in</strong>e e<strong>in</strong>fache Normalform zu br<strong>in</strong>gen.Bewährt hat sich hier besonders die Darstellung e<strong>in</strong>er Formel als Menge von Klauseln:Def<strong>in</strong>ition 2.1.24 (Literal): E<strong>in</strong> (Σ, Ξ)-Literal besteht aus e<strong>in</strong>er atomaren Formel unde<strong>in</strong>em Vorzeichen (positives oder negatives Literal).Mit ∼ ϕ wird das Literal umgekehrten Vorzeichens zu ϕ bezeichnet.E<strong>in</strong> Grundliteral ist e<strong>in</strong> Literal, das ke<strong>in</strong>e Variablen enthält.Wird die zugehörige atomare Formel ϕ als ϕ ′ repräsentiert, so wird das positive Literalebenfalls als ϕ ′ aufgeschrieben, das negative aber als ¬ϕ ′ .


2.1. DIE VERWENDETE LOGIK 25Def<strong>in</strong>ition 2.1.25 (Klausel): E<strong>in</strong>e Σ-Klausel besteht aus e<strong>in</strong>er Variablendeklaration Ξund e<strong>in</strong>er endlichen Menge von (Σ, Ξ)-Literalen.Die leere Klausel werde mit ✷ bezeichnet.Klauseln mit den Literalen ϕ 1 , . . . , ϕ n werden meist <strong>in</strong> folgender Form notiert:ϕ ′ 1 ∨ · · · ∨ ϕ ′ m ← ϕ ′ m+1 ∧ · · · ∧ ϕ ′ n,dabei sei ϕ ′ i die Repräsentation von ϕ i (1 ≤ i ≤ m) bzw. ∼ ϕ i (m + 1 ≤ i ≤ n).Hieran sieht man schon die Entsprechung zwischen Klauseln und Disjunktionen. BeliebigeFormeln können daher <strong>in</strong> e<strong>in</strong>e Konjunktion oder Menge von Klauseln umgerechnetwerden:Def<strong>in</strong>ition 2.1.26 (Umrechnung von Formeln <strong>in</strong> Klauselmengen): Die KlauselmengeCl + (ϕ) zu e<strong>in</strong>er (Σ, Ξ)-Formel ϕ und die Klauselmenge Cl − (ϕ) zu ¬ϕ werdenrekursiv entsprechend dem Aufbau von Φ def<strong>in</strong>iert:• Ist ϕ die logische Konstante true, so sei Cl + (ϕ) := ∅, Cl − (ϕ) := {✷}.logische Konstante false sei Cl + (ϕ) := {✷} und Cl − (ϕ) := ∅.Für die• Ist ϕ e<strong>in</strong>e atomare Formel, so bestehe Cl + (ϕ) aus der Klausel mit dem ϕ entsprechendenpositiven Literal und Cl − (ϕ) aus der Klausel mit dem negativen Literal.• Ist ϕ e<strong>in</strong>e negierte Formel mit Teilformel ϕ 0 , so seiCl + (ϕ) := Cl − (ϕ 0 ), Cl − (ϕ) := Cl + (ϕ 0 ).• Ist ϕ e<strong>in</strong>e zusammengesetzte Formel mit Junktor ∗ und Teilformeln ϕ 1 und ϕ 2 :∗ Cl + (ϕ) Cl − (ϕ)∧ Cl + (ϕ 1 ) ∪ Cl + (ϕ 2 ) Cl − (ϕ 1 ) ◦ Cl − (ϕ 2 )∨ Cl + (ϕ 1 ) ◦ Cl + (ϕ 2 ) Cl − (ϕ 1 ) ∪ Cl − (ϕ 2 )→ Cl − (ϕ 1 ) ◦ Cl + (ϕ 2 ) Cl + (ϕ 1 ) ∪ Cl − (ϕ 2 )← Cl + (ϕ 1 ) ◦ Cl − (ϕ 2 ) Cl − (ϕ 1 ) ∪ Cl + (ϕ 2 )(↔ Cl + (ϕ 1 ) ◦ Cl − (ϕ 2 ) Cl − (ϕ 1 ) ∪ Cl + (ϕ 2 ) )∪ Cl − (ϕ 1 ) ◦ Cl + (ϕ 2 ) ◦ ( Cl + (ϕ 1 ) ∪ Cl − (ϕ 2 ) )Dabei sei für zwei Klauselmengen Φ 1 und Φ 2 :Φ 1 ◦ Φ 2 := { (Ξ, ϕ 1 ∪ ϕ 2 ) ∣ ∣ (Ξ, ϕ 1 ) ∈ Φ 1 , (Ξ, ϕ 2 ) ∈ Φ 2}.Def<strong>in</strong>ition 2.1.27 (Modell-Beziehung für Klauseln): E<strong>in</strong>e Klausel mit VariablendeklarationΞ und Literalen {ϕ 1 , . . . , ϕ n } gilt <strong>in</strong> (I, α) genau dann, wenn es ϕ i gibt mit:• ϕ i ist e<strong>in</strong> positives Literal mit atomarer Formel ϕ ′ i und es gilt (I, α) |= ϕ ′ i.• ϕ i ist e<strong>in</strong> negatives Literal mit atomarer Formel ϕ ′ i und es gilt (I, α) ̸|= ϕ ′ i.Sie gilt <strong>in</strong> I genau dann, wenn sie für jede Variablenbelegung α zu Ξ <strong>in</strong> (I, α) gilt.Man kann nun zeigen, daß die Umrechnung zwischen Formeln und Klauseln verträglichmit der Modell-Beziehung ist, d.h. I |= ϕ ⇐⇒ I |= Cl + (ϕ).


26 KAPITEL 2. DEDUKTIVE DATENBANKENDef<strong>in</strong>ition 2.1.28 (Bereichsbeschränkte Klausel): E<strong>in</strong>e Klausel heißt bereichsbeschränktgenau dann, wenn jede vorkommende Variable auch <strong>in</strong> e<strong>in</strong>em negativen Literalmit positiv b<strong>in</strong>dendem Prädikat vorkommt oder <strong>in</strong> e<strong>in</strong>em positiven Literal mit negativb<strong>in</strong>dendem Prädikat.Auch hier kann man e<strong>in</strong>e Verträglichkeit mit der Umrechnung von Formeln <strong>in</strong> Klauselmengenzeigen, d.h. e<strong>in</strong>e bereichsbeschränkte Formel liefert e<strong>in</strong>e Menge bereichsbeschränkterKlauseln.2.2 Intendierte ModelleDas Ziel e<strong>in</strong>er jeden Datenbank ist natürlich, Anfragen zu beantworten. Dazu muß dieDatenbank über e<strong>in</strong> mathematisches Modell des Bereichs verfügen, aus dem die Anfragenstammen können. In dem hier verfolgten Ansatz ist das e<strong>in</strong>e Menge von Interpretationen,die den möglichen Situationen des zu modellierenden Ausschnitts der realen Welt entsprechen.Falls die zur Verfügung stehende Information vollständig ist, wird das bis aufIsomorphie nur e<strong>in</strong>e Interpretation se<strong>in</strong>; s<strong>in</strong>d dagegen gewisse Fakten unbekannt, kann dieDatenbank auch mehrere verschiedene Modelle enthalten.Die Struktur solcher Modelle wird beim <strong>Datenbanken</strong>twurf über e<strong>in</strong>e Signatur Σ bestimmt;der Inhalt wird mit Axiomen und <strong>Defaults</strong> festgelegt, wobei die Semantik der<strong>Defaults</strong> e<strong>in</strong>e Vervollständigung ist. Schließlich gibt es noch Integritätsbed<strong>in</strong>gungen, diedazu dienen, Fehler <strong>in</strong> den Axiomen und <strong>Defaults</strong> zu erkennen.E<strong>in</strong>e deduktive Datenbank besteht also aus den vier Komponenten Signatur, Axiome,Vervollständigung (gegeben durch die <strong>Defaults</strong>) und Integritätsbed<strong>in</strong>gungen. Diese legenzusammen die Menge der <strong>in</strong>tendierten Modelle fest, die e<strong>in</strong> möglichst getreues Abbild derrealen Welt ist und als Grundlage für die Anfragebearbeitung dient.AxiomeDie Fakten und Regeln e<strong>in</strong>er <strong>deduktiven</strong> Datenbank werden hier als Axiome bezeichnet,um sie von den <strong>Defaults</strong> abzusetzen (und um den Begriff Datenbankzustand“ zu vermeiden,s.o.). Sie müssen von den <strong>in</strong>tendierten Modellen auf jeden Fall vollständig erfüllt”werden, während <strong>Defaults</strong> nur partiell, soweit wie möglich erfüllt werden.Es ist allerd<strong>in</strong>gs teilweise e<strong>in</strong>e Stilfrage, was man als Default und was als Axiomnotiert. Im Extremfall könnte man alle angenommenen <strong>Defaults</strong> als Axiom angeben(sofern diese Menge nicht unendlich ist). Dies wäre natürlich sehr unbequem, zeigt aber,daß es nicht angemessen ist, Axiome als den gesicherten“ Anteil des abzuspeichernden”Wissens anzusehen, und <strong>Defaults</strong> nur für unsichere Informationen zu verwenden.Andererseits könnte man auch ganz ohne Axiome auskommen, und die Axiome als<strong>Defaults</strong> (höchster Priorität) formulieren. Dies schlägt etwa Brewka <strong>in</strong> se<strong>in</strong>en Preferred ”Subtheories“ [Bre91] vor. Der Unterschied ist, daß e<strong>in</strong>e Menge von <strong>Defaults</strong> im Gegensatz


2.2. INTENDIERTE MODELLE 27zu e<strong>in</strong>er Menge von Axiomen durchaus <strong>in</strong>konsistent se<strong>in</strong> kann; es werden dann eben nichtalle <strong>Defaults</strong> angenommen. Die Inkonsistenz e<strong>in</strong>er Menge von Axiomen kann also dazudienen, Fehler zu erkennen. So können e<strong>in</strong>ige der klassischen Integritätsbed<strong>in</strong>gungendurchaus als Axiom formuliert werden (s.u.).Es gibt aber noch andere Gründe für die Trennung <strong>in</strong> Axiome und <strong>Defaults</strong>: E<strong>in</strong>erseitswird die Berechnung korrekter Antworten vere<strong>in</strong>facht, wenn Axiome ohne zusätzlichenTest angenommen werden können. Andererseits bestehen die typischen Änderungsoperationenim E<strong>in</strong>fügen und Löschen von Fakten, während die <strong>Defaults</strong> meist stabil s<strong>in</strong>d.Vor diesem H<strong>in</strong>tergrund sche<strong>in</strong>t die Zweiteilung <strong>in</strong> die vorgegebenen Fakten und die sichanpassenden <strong>Defaults</strong> s<strong>in</strong>nvoll.Zusammenfassend kann also gesagt werden, daß die E<strong>in</strong>teilung <strong>in</strong> Axiome und <strong>Defaults</strong>Gegenstand des <strong>Datenbanken</strong>twurfs ist (neben vielen anderen Fragen). E<strong>in</strong>e Faustregelist vielleicht, alles was sich e<strong>in</strong>fach als Axiom formulieren läßt, auch als Axiom zuspezifizieren.Def<strong>in</strong>ition 2.2.1 (Axiomenmenge): Die Axiomenmenge Φ e<strong>in</strong>er <strong>deduktiven</strong> Datenbankmit Signatur Σ ist e<strong>in</strong>e endliche und konsistente Menge von bereichsbeschränktenΣ-Formeln.<strong>Defaults</strong><strong>Defaults</strong> haben syntaktisch dieselbe Struktur wie Axiome — es s<strong>in</strong>d Formeln. Nur dieSemantik ist anders, sie müssen nicht unbed<strong>in</strong>gt vollständig erfüllt werden, sondern nur,soweit es die Axiome und die anderen <strong>Defaults</strong> zulassen.Es ist natürlich e<strong>in</strong>e wichtige Entscheidung, nur <strong>Defaults</strong> dieser Art zu betrachten.Die möglichen Alternativen s<strong>in</strong>d zahlreich:Auf der e<strong>in</strong>en Seite s<strong>in</strong>d viele Ansätze stärker e<strong>in</strong>geschränkt, <strong>in</strong>dem sie nur Negationenmit diversen Zusatzangaben betrachten. Diese Ansätze s<strong>in</strong>d nahezu alle Spezialfälleder hier betrachteten <strong>Defaults</strong>, wie <strong>in</strong> Kapitel 3 näher erläutert wird. Die Vielzahl derverschiedenen Vervollständigungen dieser Art legt es natürlich nahe, nach e<strong>in</strong>er geme<strong>in</strong>samenVerallgeme<strong>in</strong>erung zu suchen, so daß die e<strong>in</strong>zelne Vervollständigung durch e<strong>in</strong>enParameter spezifiziert werden kann. Das ist mit dem hier verfolgten Ansatz möglich.Auf der anderen Seite gibt es e<strong>in</strong>e ganze Reihe von Vorschlägen für allgeme<strong>in</strong>ere<strong>Defaults</strong>. So bestehen etwa Reiter’s <strong>Defaults</strong> [Rei80] aus drei Komponenten: Der Vorbed<strong>in</strong>gungfür die Annahme des <strong>Defaults</strong>, der konsistent annehmbaren Rechtfertigung,und der Folgerung, die dann tatsächlich angenommen wird. Die hier betrachteten <strong>Defaults</strong>entsprechen den ”supernormalen“ <strong>Defaults</strong> von Reiter, bei denen Rechtfertigungund Folgerung übere<strong>in</strong>stimmen, und die Vorbed<strong>in</strong>gung leer (true) ist. Die größere Ausdrucksfähigkeithat aber e<strong>in</strong>ige unerwünschte Konsequenzen: So kann es etwa passieren,daß die <strong>Defaults</strong> zu Inkonsistenzen führen, oder Anomalien bei E<strong>in</strong>fügungen und Löschungenauftreten (Verletzung grundlegender Eigenschaften aus Kapitel 4). Es sche<strong>in</strong>t auchso, als wäre dies ke<strong>in</strong> Mangel <strong>in</strong> Reiter’s Semantik der <strong>Defaults</strong>, sondern e<strong>in</strong> <strong>in</strong>härentes


28 KAPITEL 2. DEDUKTIVE DATENBANKENProblem der großen Ausdrucksfähigkeit. E<strong>in</strong>e gegensätzliche Me<strong>in</strong>ung wird <strong>in</strong> [Bre91] vertreten;dort wird aber zur Lösung dieses Problems die zugrundeliegende Logik geändert.E<strong>in</strong> anderer momentan viel beachteter Vorschlag, allgeme<strong>in</strong>ere Default-Aussagen zuermöglichen, ist Moore’s autoepistemische Logik [Moo85]. Die hier betrachteten <strong>Defaults</strong>würden <strong>in</strong> dieser Logik formuliert als ”wenn ich nicht weiß, daß der Default nichtgilt, dann gilt er“. Wie Konolige gezeigt hat [Kon88], ist diese Logik aber im wesentlichenäquivalent zu Reiter’s Default Logik (man kann die Formeln <strong>in</strong> autoepistemischerLogik <strong>in</strong> e<strong>in</strong>e Normalform überführen, die Reiter’s <strong>Defaults</strong> entspricht). Daher ist esnicht überraschend, daß die autoepistemische Logik dieselben Probleme wie die Default-Logik hat.Man muß sich aber fragen, ob man die größere Ausdrucksfähigkeit überhaupt braucht,oder ob die zusätzlichen Probleme den Nutzen nicht überwiegen. Wie <strong>in</strong> Kapitel 3 belegtwird, kann man zum<strong>in</strong>dest sehr viele Beispiele für die Anwendung von <strong>Defaults</strong> auch mitden hier betrachteten e<strong>in</strong>fachen <strong>Defaults</strong> formulieren.Im Gegensatz dazu sche<strong>in</strong>t die zusätzliche Ausdrucksfähigkeit gegenüber Systemen,die nur Negationen als <strong>Defaults</strong> zulassen, ke<strong>in</strong>e pr<strong>in</strong>zipiellen Schwierigkeiten mit sich zubr<strong>in</strong>gen.Def<strong>in</strong>ition 2.2.2 (<strong>Defaults</strong>): E<strong>in</strong>e Menge von <strong>Defaults</strong> ∆ e<strong>in</strong>er <strong>deduktiven</strong> Datenbankmit Signatur Σ ist e<strong>in</strong>e endliche Menge von stark bereichsbeschränkten Σ-Formeln.Dabei darf es nicht δ 1 , δ 2 ∈ ∆, δ 1 ≠ δ 2 und Substitutionen θ 1 , θ 2 geben, so daßδ 1 θ 1 = δ 2 θ 2 (s.u.).Von großem praktischen Nutzen ist schließlich noch die E<strong>in</strong>führung von Prioritäten zwischenden <strong>Defaults</strong>. <strong>Defaults</strong> s<strong>in</strong>d ja im wesentlichen Regeln mit Ausnahmen, und eskommt nun durchaus vor, daß man zu den Ausnahmen nochmals Ausnahmen spezifizierenmuß (das ist ja das Grundpr<strong>in</strong>zip von Vererbungs-Hierarchien).Wenn e<strong>in</strong> Default e<strong>in</strong>em Axiom widerspricht, setzt sich natürlich das Axiom durch.Aber was ist, wenn sich zwei <strong>Defaults</strong> wiedersprechen? Hier hat man die Gelegenheit, überPrioritäten zu spezifizieren, welcher Default angenommen und welcher verworfen werdensoll. Falls ke<strong>in</strong>e Prioritäten spezifiziert s<strong>in</strong>d, spielt die genaue Semantik der <strong>Defaults</strong> (derVervollständigungsmechanismus) e<strong>in</strong>e Rolle. Manche Vervollständigungen nehmen dannke<strong>in</strong>en von beiden <strong>Defaults</strong> an, manche ihre Disjunktion.Die Prioritäten zwischen den <strong>Defaults</strong> können als partielle Ordnung ❁ spezifiziertwerden; dabei bedeute δ 1 ❁ δ 2 , daß δ 1 die höhere Priorität hat. Diese Richtung der Ordnungverlangt wohl noch e<strong>in</strong>en Kommentar, da sie der Intuition zunächst zu widersprechensche<strong>in</strong>t. Aber sie stimmt mit der Subtypen/klassen-Beziehung <strong>in</strong> objekt-orientiertenAnsätzen übere<strong>in</strong> (der wichtigsten Anwendung für partiell geordnete <strong>Defaults</strong>): Hier überschreibendie Regeln für Subsorten ja die ererbten Regeln.Häufig ist aber ke<strong>in</strong>e allgeme<strong>in</strong>e partielle Ordnung nötig, sondern es reicht, die <strong>Defaults</strong><strong>in</strong> Prioritätsstufen e<strong>in</strong>zuteilen, d.h. jedem Default δ e<strong>in</strong>e natürliche Zahl l(δ) zuzuordnen.Auch hier sollen die kle<strong>in</strong>eren Zahlwerte e<strong>in</strong>e höhere Priorität bedeuten. Da-


2.2. INTENDIERTE MODELLE 29durch kann man die Stratifizierungsstufen e<strong>in</strong>er stratifizierten Klauselmenge direkt alsPrioritätsstufen verwenden (siehe Beispiel 3.1.3 und die anschließende Diskussion).Def<strong>in</strong>ition 2.2.3 (Prioritäten):• E<strong>in</strong>e Prioritätsrelation ❁ auf ∆ ist e<strong>in</strong>e beliebige (strikte) partielle Ordnung (transitivund irreflexiv).• E<strong>in</strong>e Stufene<strong>in</strong>teilung von ∆ ist e<strong>in</strong>e Abbildung l: ∆ → IN.• Die durch e<strong>in</strong>e Stufene<strong>in</strong>teilung l gegebene Prioritätsrelation ❁ istδ 1 ❁ δ 2 :⇐⇒ l(δ 1 ) < l(δ 2 ).In dieser Arbeit wird davon ausgegangen, daß <strong>Defaults</strong> höherer Priorität grundsätzlichVorrang vor beliebig vielen <strong>Defaults</strong> niedrigerer Priorität haben. Dies muß nicht unbed<strong>in</strong>gtso se<strong>in</strong>, man könnte auch eher numerische Ansätze wählen.Default-AusprägungenBekanntlich können <strong>Defaults</strong> nicht immer vollständig erfüllt werden, der Default ¬p(X)etwa nicht für alle X, sondern nur für e<strong>in</strong>ige. Zum Verständnis von Default-Semantiken istdaher der Begriff der Default-Ausprägungen ( <strong>in</strong>stances“) nützlich. Bei ¬p(X) könnten”die Ausprägungen etwa ¬p(c 1 ), ¬p(c 2 ), . . . se<strong>in</strong>. Diese Ausprägungen s<strong>in</strong>d dann dieE<strong>in</strong>heiten für die Entscheidung, welche Teile e<strong>in</strong>er Default-Regel“ aus ∆ angenommen”werden und welche nicht.Gewissermaßen legt der Ausprägungs-Mechanismus also die Granularität der Default-Regeln fest. Im Extremfall wäre p(X) selbst die e<strong>in</strong>zige Ausprägung von p(X), dannkönnte der Default nur als Ganzes angenommen werden. Außer dieser Möglichkeit undder Ersetzung der Variablen durch Konstanten gibt es aber noch weitere. So könnteman etwa Disjunktionen der Ausprägungen zulassen. Auch die natural consequences“”von [Rya91] lassen sich als Ausprägungsmechanismus mit e<strong>in</strong>er besonders fe<strong>in</strong>en Granularitätverstehen.Ausprägungsmechanismen müssen nicht notwendigerweise syntaktisch se<strong>in</strong>, man kannauch Paare aus Formel und Variablenbelegung als Ausprägung verwenden [BL91]. Diesist besonders dann wünschenswert, wenn man die Annahme der e<strong>in</strong>deutigen Namen nichtverwendet oder ke<strong>in</strong>e Bereichsbeschränkung der Formeln voraussetzen kann.In dieser Arbeit wird allerd<strong>in</strong>gs nur der Ausprägungsmechanismus betrachtet, der dieVariablen durch Konstanten ersetzt. Tatsächlich würden aber die Def<strong>in</strong>itionen und fastalle Resultate auch mit e<strong>in</strong>em beliebigen anderen Ausprägungsmechanismus funktionieren,weil sie ohneh<strong>in</strong> nur auf die Menge der Default-Ausprägungen Bezug nehmen und nichtauf die Menge der Default-Regeln. In dieser H<strong>in</strong>sicht kann man die Default-Regeln alsoals Abkürzung für die Menge ihrer Ausprägungen auffassen. Im folgenden wird das Wort” Default“ auch meist als synonym zu Default-Ausprägung“ verwendet. Die Antwortalgorithmen<strong>in</strong> Kapitel 6 funktionieren jedoch nur mit diesem Ausprägungsmechanismus,”denn sie müssen soweit wie möglich mit den Default-Regeln arbeiten.


30 KAPITEL 2. DEDUKTIVE DATENBANKENDef<strong>in</strong>ition 2.2.4 (Default-Ausprägungen): Sei ∆ e<strong>in</strong>e Menge von <strong>Defaults</strong> e<strong>in</strong>er<strong>deduktiven</strong> Datenbank mit Signatur Σ. Dann sei ∆ ∗ die Menge der variablenfreien Σ-Formeln, die aus Formeln aus ∆ entstehen, <strong>in</strong>dem die Variablen durch Konstanten passenderSorte ersetzt werden.Die für die Default-Regeln spezifizierten Prioritäten werden auf die Ausprägungen vererbt.Dabei tritt noch das Problem auf, daß e<strong>in</strong>e Default-Ausprägung zu mehreren Default-Regeln gehören kann, was eventuell die Eigenschaft der partiellen Ordnung zerstört. DerE<strong>in</strong>fachheit halber wurde dieser Fall hier ausgeschlossen (<strong>in</strong> Def<strong>in</strong>ition 2.2.2). Dies istke<strong>in</strong>e wesentliche E<strong>in</strong>schränkung, da man diese Bed<strong>in</strong>gung etwa durch Anhängen von“∨false“ erreichen kann.Def<strong>in</strong>ition 2.2.5 (Prioritäten auf Default-Ausprägungen): E<strong>in</strong>e Prioritätsrelation❁ auf ∆ wird folgendermaßen auf ∆ ∗ erweitert: S<strong>in</strong>d δ1 ∗ und δ2 ∗ Ausprägungen von δ 1und δ 2 , so gelte δ1 ∗ ❁ δ2 ∗ ⇐⇒ δ 1 ❁ δ 2 .Man beachte, daß δ ∗ 1 und δ ∗ 2 nicht über dieselbe Substitution def<strong>in</strong>iert se<strong>in</strong> müssen; dieVariablen werden also lokal zu den <strong>Defaults</strong> <strong>in</strong>terpretiert. Es könnte allerd<strong>in</strong>gs nützlichse<strong>in</strong>, für bestimmte Variablen die gleiche E<strong>in</strong>setzung auf beiden Seiten zu verlangen.Es ist auch nicht selbstverständlich, daß die Ausprägungen e<strong>in</strong>er Default-Regel alledieselbe Priorität haben. So sollte die Rahmenregel bei zeitlichen Änderungen im Zweifelsfalleher für frühere Zustandsübergänge angenommen werden (siehe Kapitel 3).Modelltheoretische VervollständigungenDie Semantik e<strong>in</strong>er Menge von Default-Regeln mit Prioritäten ist e<strong>in</strong>e Vervollständigung.Die Abbildung von e<strong>in</strong>er Default-Spezifikation auf e<strong>in</strong>e bestimmte Vervollständigung istGegenstand späterer Kapitel (<strong>in</strong>sbesondere Kapitel 5). In diesem Abschnitt soll nunzunächst der semantische Bereich aller Vervollständigungen untersucht werden.Was ist also e<strong>in</strong>e Vervollständigung? Modelltheoretisch gesehen, beschreibt die Mengeder Axiome Φ e<strong>in</strong>e Menge I von Σ-Interpretationen. Davon wählen die <strong>Defaults</strong> e<strong>in</strong>eTeilmenge aus, die <strong>in</strong>tendierten Modelle, die die <strong>Defaults</strong> am besten erfüllen.Wenn man die Semantik der <strong>Defaults</strong> unabhängig von den Axiomen beschreiben will,also die Axiome Φ als variabel ansieht, dann ist e<strong>in</strong>e Vervollständigung e<strong>in</strong>e Auswahlfunktionauf den Σ-Interpretationen: Die E<strong>in</strong>gabe s<strong>in</strong>d die Modelle I von Φ, die Ausgabes<strong>in</strong>d die <strong>in</strong>tendierten Modelle:E<strong>in</strong>e modelltheoreti-Def<strong>in</strong>ition 2.2.6 (Modelltheoretische Vervollständigung):sche Vervollständigung ist e<strong>in</strong>e Abbildung sel: 2 I Σ→ 2 I Σmit• sel(I) ⊆ I für alle I ⊆ I Σ ( ke<strong>in</strong> Informationsverlust“).”


2.2. INTENDIERTE MODELLE 31E<strong>in</strong> typisches Beispiel für e<strong>in</strong>e modelltheoretische Vervollständigung ist die Auswahl vonm<strong>in</strong>imalen Modellen bezüglich e<strong>in</strong>er Präferenzrelation ≺ auf I Σ . Auch hier ist die Ordnungaus historischen Gründen ”verkehrt herum“: I 1 ≺ I 2 bedeutet, daß I 1 die <strong>Defaults</strong>besser als I 2 erfüllt. Die ≺-m<strong>in</strong>imalen Elemente der Modellmenge I von Φ erfüllen die<strong>Defaults</strong> dann also am besten (unter den durch Φ gegebenen E<strong>in</strong>schränkungen). DieseArt von Vervollständigungen wird noch ausführlich <strong>in</strong> Kapitel 5 untersucht.Solche Auswahlfunktionen s<strong>in</strong>d natürlich besonders übersichtlich, wenn I Σ endlich ist,was hier durch die Beschränkung auf Herbrand<strong>in</strong>terpretationen und die Signatur aus dentatsächlich vorkommenden Symbolen erreicht wird (s.u.).Dann läßt sich jede Vervollständigung als e<strong>in</strong>e Tabelle beschreiben, <strong>in</strong> der für jedeTeilmenge von I Σ die ausgewählten Modelle angegeben werden. Natürlich ist dies nur fürsehr kle<strong>in</strong>e Signaturen Σ praktisch durchführbar, denn für e<strong>in</strong>e Signatur mit n Aussagenvariablenhat I Σ schon 2 n Elemente (mögliche Interpretationen). Dann gibt es also 2 2nTeilmengen von I Σ , d.h. E<strong>in</strong>gaben I für sel (die nicht-äquivalenten Axiomenmengen Φentsprechen).Wenn die Signatur etwa zwei Aussagenvariablen p und q enthält, so gibt es vier Herbrandmodelle:[pq] (p und q s<strong>in</strong>d wahr), [p¯q] (p wahr, q falsch), [¯pq] (umgekehrt) und [¯p¯q](beide falsch). In der tabellarischen Darstellung s<strong>in</strong>d nun für jede der 16 Teilmengen Ijeweils die <strong>in</strong>tendierten Modelle (sel(I)) mit • und die übrigen Modelle (I − sel(I))mit ◦ gekennzeichnet. Zur besseren Übersicht s<strong>in</strong>d zusätzlich noch Formelmengen Φ mitMod(Φ) = I und comp(Φ) mit Mod ( comp(Φ) ) = sel(I) angegeben, diese s<strong>in</strong>d natürlichnur bis auf Äquivalenz e<strong>in</strong>deutig.So könnte man die m<strong>in</strong>imalen Modelle (siehe Kapitel 5) mit den <strong>Defaults</strong> ¬p und ¬qdurch folgende Tabelle beschreiben:Φ [pq] [p¯q] [¯pq] [¯p¯q] comp(Φ)falsefalse¬p, ¬q • ¬p, ¬q¬p, q • ¬p, q¬p ◦ • ¬p, ¬qp, ¬q • p, ¬q¬q ◦ • ¬p, ¬qp ↔ ¬q • • p ↔ ¬q¬p ∨ ¬q ◦ ◦ • ¬p, ¬qp, q • p, qp ↔ q ◦ • ¬p, ¬qq ◦ • ¬p, q¬p ∨ q ◦ ◦ • ¬p, ¬qp ◦ • p, ¬qp ∨ ¬q ◦ ◦ • ¬p, ¬qp ∨ q ◦ • • p ↔ ¬qtrue ◦ ◦ ◦ • ¬p, ¬q✓ ✏[pq]✒✁ ✁ ✑❆❆✓✁✏ ✓❆[¯pq] [p¯q]✒ ✑ ✒✁ ❆❆ ✁✓ ❆ ✁✏[¯p¯q]✒ ✑✏✑


32 KAPITEL 2. DEDUKTIVE DATENBANKENSo hat etwa Φ := {p} die beiden Herbrandmodelle [pq] und [p¯q]. Von diesen beidenModellen wird [p¯q] ausgewählt, während [pq] nicht <strong>in</strong>tendiert ist; dies entspricht der Formelmengecomp(Φ) := {p, ¬q}.Man kann nun auch e<strong>in</strong>fache Aufzählungsprogramme schreiben, die alle Vervollständigungenzu e<strong>in</strong>er gegebenen (sehr kle<strong>in</strong>en) Signatur auf bestimmte Eigenschaften prüfen.Wenn man vorher mit vielen e<strong>in</strong>zelnen Vervollständigungen gearbeitet hat, ist es schon begeisternd,plötzlich alle Vervollständigungen <strong>in</strong> diesem S<strong>in</strong>n im Griff zu haben. Natürlichfunktioniert das nur bei ”Spielzeug-Signaturen“, aber wenn man sich für die Eigenschaftenvon Vervollständigungen und die Zusammenhänge dazwischen <strong>in</strong>teressiert, ist das schone<strong>in</strong>e große Hilfe.Wie oben erläutert, legen die Vervollständigungen bei n-Aussagenvariablen 2 2n Funktionswertefest. Wie viele Vervollständigungen gibt es aber nun?Satz 2.2.7: Es gibt 2 2(2n +n−1)verschiedene modelltheoretische Vervollständigungen beie<strong>in</strong>er Signatur mit n Aussagenvariablen. Davon haben2 n ∏k=1(2 k − 1 ) ( 2n k )die Eigenschaft, daß sel(I) = ∅ nur für I = ∅ gilt (Konsistenzerhaltung).Beweis: E<strong>in</strong>e Vervollständigung legt zu jeder Teilmenge I der 2 n Interpretationen I Σ e<strong>in</strong>eTeilmenge sel(I) ⊆ I fest. Es gibt ( )2 n k Teilmengen I von IΣ der Größe k. Ist so e<strong>in</strong> I derGröße k gegeben, so hat man 2 k Möglichkeiten, sel(I) auszuwählen. Damit ergibt sich:2 n ∏k=0(2k ) ( 2n k) =2 n ∏k=0∑2 n k∗(2 (k∗2n k ) 2n k )= 2 k=0 .Der Exponent kann nun vere<strong>in</strong>facht werden zu:∑2 n ( ) 2n ∑2 n (k ∗ = k ∗ 2n 2 n )kk ∗ − 1= 2 n ∗k − 1k=0k=12∑n −1k ′ =0( 2 n )− 1k ′ = 2 n ∗ 2 2n−1 = 2 2n +n−1 .Die Behauptung über die Anzahl konsistenzerhaltender Vervollständigungen ergibt sich ganzdirekt aus demselben Ansatz, man hat bei k-elementigen I (k > 0) allerd<strong>in</strong>gs e<strong>in</strong>e Möglichkeitweniger für sel(I).✷Diese Zahl ist natürlich auch für Aufzählungsprogramme zu groß, selbst bei sehr kle<strong>in</strong>emn. Für n = 2 gibt es 2 32 Vervollständigungen, davon s<strong>in</strong>d 26 254 935 konsistenzerhaltend(diese Zahl liegt zwischen 2 24 und 2 25 ). Glücklicherweise ergibt sich e<strong>in</strong>e drastischeReduzierung, wenn man weitere M<strong>in</strong>destanforderungen an die Vervollständigungenstellt. So gibt es (für n = 2) nur noch 71 638 kumulierende und konsistenzerhaltendeVervollständigungen (die Kumulation wird <strong>in</strong> Kapitel 4 erklärt). Davon lassen sich 219durch Präferenzrelationen auf den Modellen beschreiben und 749 als CWA (diese Zahlenwurden mit e<strong>in</strong>em solchen Aufzählungsprogramm ermittelt).


2.2. INTENDIERTE MODELLE 33Offene Frage 2.2.8: Kann man e<strong>in</strong>en geschlossenen Ausdruck für die Anzahl derkumulierenden und konsistenzerhaltenen Vervollständigungen angeben? Die gleiche Fragestellt sich natürlich auch für andere Komb<strong>in</strong>ationen von Eigenschaften aus Kapitel 4 oderRepräsentations-Formalismen aus Kapitel 5.Es ist im Pr<strong>in</strong>zip denkbar, solche Aufzählungsprogramme für den Entwurf von Vervollständigungendurch Beispiele e<strong>in</strong>zusetzen. Hat man etwa für e<strong>in</strong>ige AxiomenmengenΦ die <strong>in</strong>tendierten Modelle ausgezeichnet, und setzt man darüber h<strong>in</strong>aus e<strong>in</strong>e gewisseStruktur der Vervollständigung voraus, so führt das zu e<strong>in</strong>er drastischen E<strong>in</strong>schränkungder möglichen Vervollständigungen. Betrachtet man etwa nur Vervollständigungen vomTyp m<strong>in</strong>imale Modelle“, so ist die obige Vervollständigung e<strong>in</strong>deutig durch die Angaben”der folgenden Beispiele bestimmt:Φ comp(Φ)∅ ¬p, ¬qp p, ¬qq q, ¬pp ∨ q p ∨ q, ¬p ∨ ¬qM<strong>in</strong>destens für besonders kritische Teile des Entwurfs, wo die verwendeten <strong>Defaults</strong> nichtoffensichtlich s<strong>in</strong>d, könnte e<strong>in</strong>e solche Vorgehensweise hilfreich se<strong>in</strong>. Sie ist also demWissenserwerb und dem masch<strong>in</strong>ellen Lernen zuzurechnen. Auch zur Überprüfung e<strong>in</strong>erVervollständigung, d.h. der Auswahl von Testfällen Φ, könnten solche Überlegungenbeitragen.Solche Auswahlfunktionen haben e<strong>in</strong>e e<strong>in</strong>fache mathematische Struktur und treten nichtnur bei Vervollständigungen auf. Insbesondere s<strong>in</strong>d sie schon <strong>in</strong> der Theorie der Wahlverfahren( social choice theory“) untersucht worden, e<strong>in</strong>em geme<strong>in</strong>samen Teilgebiet von”Mathematik, Wirtschafts- und Sozialwissenschaften [Mou85].Hier wird statt I Σ e<strong>in</strong>e beliebige Menge von möglichen Alternativen betrachtet. Dieskönnten etwa Personen se<strong>in</strong>, die für e<strong>in</strong> Amt <strong>in</strong> Frage kommen, oder Rechnermodelle,von denen e<strong>in</strong>es beschafft werden soll (es müssen ja ständig irgendwelche Entscheidungengetroffen werden).Zur Auswahl steht aber jeweils nicht die ganze Menge der möglichen Alternativen,sondern nur e<strong>in</strong>e Teilmenge. In den Beispielen wären das die Menge der Personen, dietatsächlich kandidieren, oder die Menge der Rechnermodelle, die unter e<strong>in</strong>er gewissenPreisgrenze liegen. Zu jeder solchen Kandidatenmenge bestimmt die Auswahlfunktionwieder e<strong>in</strong>e Teilmenge, nämlich die Alternativen, zu deren Gunsten die Entscheidungfällt. Da im allgeme<strong>in</strong>en nur e<strong>in</strong>e Alternative realisiert werden kann, muß bei Bedarf dasLos geworfen werden.Diese Theorie untersucht nun e<strong>in</strong>en speziellen Aspekt solcher Entscheidungsprozesse,nämlich die Abhängigkeit der Entscheidung von der Kandidatenmenge. So wäre es dochetwa unlogisch, wenn dadurch, daß e<strong>in</strong> Verlierer se<strong>in</strong>e Kandidatur zurückzieht, sich das


34 KAPITEL 2. DEDUKTIVE DATENBANKENErgebnis der Wahl ändern würde. In dem Beispiel mit der Rechnerauswahl liegen diegenaue Preisgrenze und andere M<strong>in</strong>destanforderungen ja auch nicht von vornehere<strong>in</strong> fest,und trotzdem könnte man sagen wenn ich die Auswahl zwischen den Rechnern A, B”und C hätte, dann würde ich A oder B wählen, aber nicht C“.Die Ähnlichkeit zu den modelltheoretischen Vervollständigungen ist offensichtlich: dieKandidaten entsprechen den Modellen I der Axiome Φ und die Gew<strong>in</strong>ner den <strong>in</strong>tendiertenModellen sel(I). Obwohl der <strong>in</strong>tuitive H<strong>in</strong>tergrund zunächst also recht unterschiedlich ist,stimmen die beiden Begriffe formal übere<strong>in</strong>. Und es wird sich zeigen, daß sich tatsächlichviele der Eigenschaften und Ergebnisse der Theorie der Wahlverfahren auch auf Vervollständigungenübertragen lassen. So s<strong>in</strong>d dort etwa Eigenschaften, die der Kumulationentsprechen, schon untersucht worden, bevor sie unabhängig davon für Vervollständigungenentdeckt wurden.In [Bra90a] wurde auf die Ähnlichkeit zwischen beiden Gebieten h<strong>in</strong>gewiesen, und eswurden systematisch Eigenschaften und Ergebnisse umformuliert. Insbesondere konntedadurch e<strong>in</strong>e Charakterisierung der m<strong>in</strong>imale Modelle“-Vervollständigungen gewonnen”werden. In [DW91] wurde dieser Zusammenhang auch ausgenutzt, allerd<strong>in</strong>gs nur derbekannte Satz von Arrow.Andere Formalisierungen des Begriffs der VervollständigungE<strong>in</strong>e Vervollständigung läßt sich aber nicht nur als Auswahlfunktion auf den Modellenbeschreiben. Als Alternative zu diesen ”modelltheoretischen Vervollständigungen“ sollennun die ”syntaktischen Vervollständigungen“ und die ”vervollständigten Folgerungsrelationen“e<strong>in</strong>geführt werden. Selbstverständlich s<strong>in</strong>d die drei Formalisierungen äquivalent,d.h. man kann zwischen ihnen umrechnen, ohne daß sich der Begriff der korrekten Antwort(s.u.) ändert. Diese verschiedenen Blickrichtungen auf denselben Gegenstand tragenaber sicher zu e<strong>in</strong>em besseren Verständnis bei.Außerdem lassen sich die bekannten Vervollständigungen <strong>in</strong> unterschiedlichen Formalismenverschieden gut beschreiben. Obwohl die Umrechnung dazwischen immer möglichist, führt sie nicht notwendigerweise zu e<strong>in</strong>em e<strong>in</strong>fachen und übersichtlichen Ergebnis.Die Eigenschaften <strong>in</strong> Kapitel 4 werden auch jeweils für alle drei Arten von Vervollständigungenformuliert. Man kann sich dann die für die betrachtete Vervollständigungpassendste Formulierung aussuchen; außerdem gilt auch hier wieder, daß verschiedeneäquivalente Beschreibungen hilfreich für das Verständnis s<strong>in</strong>d.Die drei Formalisierungen von Vervollständigungen mit den Umrechnungen dazwischenwurden <strong>in</strong> [Bra90a] e<strong>in</strong>geführt; natürlich gab es davor schon Beispiele für jede derdrei Arten von Vervollständigungen [Rei78, McC80, Rei80], und auch Versuche e<strong>in</strong>er allgeme<strong>in</strong>enTheorie von Folgerungsrelationen [Gab85].Häufig werden Vervollständigungen die Axiomenmenge Φ e<strong>in</strong>fach um die angenommenenDefault-Ausprägungen aus ∆ ∗ erweitern, und so e<strong>in</strong>e Obermenge comp(Φ) ⊇ Φ konstruieren,die als Grundlage der Anfragebearbeitung dient (so wie die <strong>in</strong>tendierten Modelle bei


2.2. INTENDIERTE MODELLE 35modelltheoretischen Vervollständigungen). Allgeme<strong>in</strong> muß comp(Φ) nicht e<strong>in</strong>e Teilmengevon Φ ∪ ∆ ∗ se<strong>in</strong>; schon deswegen nicht, weil die verschiedenen Vervollständigungen unterschiedlicheAusprägungsmechanismen verwenden können. Das Ziel von comp ist jedochimmer gleich, nämlich die impliziten Annahmen bei der Anfrageauswertung explizit zumachen.Beispiele für Vervollständigungen dieser Art s<strong>in</strong>d etwa die CWA-Vervollständigungen[Rei78, M<strong>in</strong>82, YH85, GP86] und die verschiedenen Versionen der ”first-order“-Circumscription[McC80, Lif85, McC86].E<strong>in</strong>e syntaktische Vervoll-Def<strong>in</strong>ition 2.2.9 (Syntaktische Vervollständigung):ständigung ist e<strong>in</strong>e Abbildung comp: 2 L Σ→ 2 L Σmit• Φ ⊆ comp(Φ) für alle Φ ⊆ L Σ ( ”ke<strong>in</strong> Informationsverlust“),• comp(Φ 1 ) und comp(Φ 2 ) s<strong>in</strong>d äquivalent für jedes Paar Φ 1 , Φ 2 von äquivalentenAxiomenmengen ( Äquivalenzerhaltung“).”Die erste Forderung Φ ⊆ comp(Φ)“ ist wohl unstrittig, sie entspricht gerade sel(I) ⊆ I“” ”bei modelltheoretischen Vervollständigungen. Höchstens wenn man von Vervollständigungenerwartet, daß sie <strong>in</strong>konsistente Formelmengen reparieren“, könnte man auf diese”Eigenschaft verzichten.Die zweite Forderung Φ ” 1∼ = Φ2 =⇒ comp(Φ 1 ) ∼ = comp(Φ 2 )“ ist jedoch schon e<strong>in</strong>schränkender:Prolog-Semantiken erfüllen diese Forderung nicht, weil dort die Regelngerichtet s<strong>in</strong>d, also außer ihrem logischen Inhalt noch weitere Informationen tragen. Sobedeuten etwa p ← ¬q und q ← ¬p etwas ganz unterschiedliches, obwohl beide Regelnlogisch äquivalent zu p ∨ q s<strong>in</strong>d (was man <strong>in</strong> Prolog nicht aufschreiben kann). E<strong>in</strong>anderes Beispiel ist p(X) ← p(X), was logisch äquivalent zu true ist, aber nach derCDB-Semantik [Cla78] verh<strong>in</strong>dert, daß Negationen über p angenommen werden können.Bei Prolog ist das Problem, daß die Vervollständigung über die Schreibweise der Regelnimplizit mitspezifiziert wird (zusammen mit anderen Steuer<strong>in</strong>formationen). Demhier verfolgten Ansatz liegt jedoch die Annahme zugrunde, daß es besser ist, den logischenGehalt, die Vervollständigung und die Steuer<strong>in</strong>formation explizit und getrenntvon e<strong>in</strong>ander zu spezifizieren. Dann könnte e<strong>in</strong> <strong>in</strong>telligenter Optimierer das überflüssigeAxiom p(X) ← p(X) weglassen oder beliebige andere logische Umformungen vornehmen.Dies war ja wohl auch der ursprüngliche S<strong>in</strong>n e<strong>in</strong>er Verwendung der Logik, von der mansich dann aus Effizienzgesichtspunkten doch recht weit entfernt hat.Allerd<strong>in</strong>gs ist auch bei Prolog-Semantiken e<strong>in</strong>e Entwicklung <strong>in</strong> Richtung des hier verfolgtenAnsatzes zu erkennen. Neuere Semantiken behandeln die Regel p(X) ← p(X)tatsächlich wie true, und bei stratifizierten Klauselmengen läßt sich die <strong>in</strong> den Regelnverborgene Zusatz<strong>in</strong>formation für die Vervollständigung (die Stratifizierung) leicht mechanischextrahieren. Falls man also e<strong>in</strong>e entsprechende Umschreibphase vorschaltet, passenProlog-Semantiken doch <strong>in</strong> den hier angegebenen allgeme<strong>in</strong>en Rahmen. E<strong>in</strong>e Möglichkeithierzu ist auch, Prädikatsymbole zu verdoppeln, also etwa zu jedem Prädikat p e<strong>in</strong>Prädikat not p e<strong>in</strong>zuführen [Prz91]. Auf diese Weise können sogar Semantiken behandelt


36 KAPITEL 2. DEDUKTIVE DATENBANKENwerden, die eigentlich auf e<strong>in</strong>er dreiwertigen Logik basieren.E<strong>in</strong> technischer Grund für die Forderung nach Äquivalenzerhaltung ist schließlichnoch, daß nur so die syntaktischen Vervollständigungen äquivalent zu den modelltheoretischens<strong>in</strong>d: Die modelltheoretischen Vervollständigungen bekommen die Axiome Φ jagar nicht mehr zu sehen, sondern nur ihre Modelle. Daher können sie natürlich ke<strong>in</strong>enUnterschied zwischen logisch äquivalenten Formulierungen machen.Die dritte Art von Vervollständigungen s<strong>in</strong>d schließlich die vervollständigten Folgerungsrelationen⊢ c . Ihnen liegt der Gedanke zugrunde, daß Vervollständigungen ja eigentlichnur dazu verwendet werden, die korrekten Antworten zu bestimmen. Für boolesche Anfragenψ (e<strong>in</strong>e variablenfreie Formel) wird man die Antwort ja“ als logisch korrekt ansehen,”wenn Φ ⊢ ψ gilt. Nun berücksichtigt dies freilich noch nicht die <strong>Defaults</strong>, so daß dieAntwort ja“ häufig <strong>in</strong>tuitiv korrekt, aber nicht logisch korrekt ist. Da beliebige Anfragen”auf solche booleschen Anfragen zurückgeführt werden können (s.u.), liegt es nahe, e<strong>in</strong>fachden Begriff der Folgerungsrelation zu verallgeme<strong>in</strong>ern. Dafür gibt es e<strong>in</strong>e ganze Reihe vonVorschlägen [Gab85, KLM90]. Die hier angegebene Def<strong>in</strong>ition hat den Vorteil, äquivalentzu den anderen Arten von Vervollständigungen zu se<strong>in</strong>:Def<strong>in</strong>ition 2.2.10 (Vervollständigte Folgerungsrelation):Folgerungsrelation ist e<strong>in</strong>e Relation ⊢ c ⊆ 2 L Σ× L ∗ Σ mit• Φ ⊢ ψ =⇒ Φ ⊢ c ψ ( ke<strong>in</strong> Informationsverlust“),”• Φ ⊢ c ψ 1 , Φ ⊢ c ψ 2 =⇒ Φ ⊢ c ψ 1 ∧ ψ 2 ( Abschluß unter ∧“),”• Φ ⊢ c ψ, {ψ} ⊢ ψ ′ =⇒ Φ ⊢ c ψ ′ ( Abschluß unter ⊢“),”• Φ 1 ⊢ c ψ, Φ 1∼ = Φ2 =⇒ Φ 2 ⊢ c ψ ( Äquivalenzerhaltung“).”E<strong>in</strong>e vervollständigteAls Folgerungen s<strong>in</strong>d hier nur Formeln ohne Variablen <strong>in</strong>teressant, da Antworten immeralle Variablen der Anfragen b<strong>in</strong>den sollen (aufgrund der Bereichsbeschränkung könntenandere Antworten zum<strong>in</strong>dest niemals logisch korrekt se<strong>in</strong>, siehe Korollar 2.1.23). Eswürden sich auch wesentliche technische Schwierigkeiten ergeben, da es zur Folgerungvon Formeln mit Variablen nicht mehr ausreicht, nur Herbrand-Modelle zu betrachten.Die Forderungen ke<strong>in</strong> Informationsverlust“ und Äquivalenzerhaltung“ wurden oben” ”schon kommentiert.Die Forderung nach dem Abschluß unter ∧“ ist eigentlich auch sehr naheliegend:”Wenn ψ 1 und ψ 2 e<strong>in</strong>zeln mit ja“ beantwortet werden, dann sollte auch ψ ” 1 ∧ ψ 2 mit ja“ ”beantwortet werden — dies ist schließlich die <strong>in</strong>tuitive Semantik der Konjunktion. DieseForderung wurde schon <strong>in</strong> [BS85] aufgestellt.Sie gilt aber nicht für alle <strong>in</strong> der Literatur vorgeschlagenen Default-Semantiken. Sonimmt der leichtgläubige“ ( credulous“) Ansatz e<strong>in</strong>fach e<strong>in</strong>e konsistente Menge von” ”Default-Ausprägungen an, mit der er die Anfrage herleiten kann. Falls es Konfliktezwischen <strong>Defaults</strong> gibt, kann es durchaus passieren, daß sowohl p als auch ¬p mit ja“ ”beantwortet wird, aber nicht p ∧ ¬p (d.h. false).Der Abschluß unter logischen Folgerungen impliziert u.a. die Umkehrung: Wennψ 1 ∧ ψ 2 mit ja“ beantwortet wird, sollten natürlich auch ψ ” 1 und ψ 2 e<strong>in</strong>zeln mit ja“ ”


2.2. INTENDIERTE MODELLE 37beantwortet werden. Außerdem bewirkt der Abschluß unter logischen Folgerungen auch,daß logisch äquivalente Anfragen gleich beantwortet werden. Falls etwa ψ 1 ∧ ψ 2 mit ”ja“beantwortet wird, sollte dies ja wohl auch für ψ 2 ∧ ψ 1 gelten.Schließlich sei noch bemerkt, daß man den Abschluß unter ”∧“ und den unter ”⊢“zusammenfassen kann alsΦ ⊢ c ψ 1 , . . . , Φ ⊢ c ψ n , {ψ 1 , . . . , ψ n } ⊢ ψ =⇒ Φ ⊢ c ψ.Dies wurde <strong>in</strong> der obigen Def<strong>in</strong>ition nicht getan, um das Problem beim leichtgläubigenAnsatz genauer herauszuarbeiten (er ist unter ⊢ abgeschlossen, aber nicht unter ∧).Jetzt bleibt noch, die Äquivalenz der drei Formalisierungen zu zeigen. Dazu wird zuerstgezeigt, wie man von modelltheoretischen bzw. syntaktischen Vervollständigungen zuvervollständigten Folgerungsrelationen kommt:Def<strong>in</strong>ition 2.2.11 (Folgerungsrelation zu e<strong>in</strong>er Vervollständigung):• Sei sel e<strong>in</strong>e modelltheoretische Vervollständigung. Dann ist ⊢ c sel def<strong>in</strong>iert durchΦ ⊢ c sel ψ :⇐⇒ sel ( Mod(Φ) ) ⊆ Mod(ψ).• Sei comp e<strong>in</strong>e syntaktische Vervollständigung. Dann ist ⊢ c comp def<strong>in</strong>iert durchLemma 2.2.12:Φ ⊢ c comp ψ :⇐⇒ comp(Φ) ⊢ ψ.• ⊢ c sel ist e<strong>in</strong>e vervollständigte Folgerungsrelation.• ⊢ c comp ist e<strong>in</strong>e vervollständigte Folgerungsrelation.Beweis:• - Wenn Φ ⊢ ψ, gilt Mod(Φ) ⊆ Mod(ψ); zusammen mit sel ( Mod(Φ) ) ⊆ Mod(Φ) folgtalso sel ( Mod(Φ) ) ⊆ Mod(ψ), und damit Φ ⊢ c sel ψ.- Aus Φ ⊢ c selψ 1 und Φ ⊢ c selψ 2 , d.h. sel ( Mod(Φ) ) ⊆ Mod(ψ i ) für i = 1, 2 folgtsel ( Mod(Φ) ) ⊆ Mod(ψ 1 ) ∩ Mod(ψ 2 ), also sel ( Mod(Φ) ) ⊆ Mod(ψ 1 ∧ ψ 2 ) und daherΦ ⊢ c sel ψ 1 ∧ ψ 2 .- Beim Abschluß unter ⊢ c bedeuten die Voraussetzungen sel ( Mod(Φ) ) ⊆ Mod(ψ) undMod(ψ) ⊆ Mod(ψ ′ ). Hieraus ergibt sich sel ( Mod(Φ) ) ⊆ Mod(ψ ′ ), d.h. Φ ⊢ c sel ψ′ .- Die Äquivalenzerhaltung folgt direkt aus der Konstruktion, Φ 1∼ = Φ2 bedeutet jaMod(Φ 1 ) = Mod(Φ 2 ). Dann gilt natürlich auch sel ( Mod(Φ 1 ) ) = sel ( Mod(Φ 2 ) ) .• - Gilt Φ ⊢ ψ, so folgt wegen Φ ⊆ comp(Φ) auch comp(Φ) ⊢ ψ, d.h. Φ ⊢ c comp ψ.- Gilt Φ ⊢ c comp ψ 1 und Φ ⊢ c comp ψ 2 , d.h. comp(Φ) ⊢ ψ 1 und comp(Φ) ⊢ ψ 2 , so folgtcomp(Φ) ⊢ ψ 1 ∧ ψ 2 (⊢ ist unter ∧ abgeschlossen) und damit Φ ⊢ c comp ψ 1 ∧ ψ 2 .- Aus comp(Φ) ⊢ ψ und {ψ} ⊢ ψ ′ folgt comp(Φ) ⊢ ψ ′ (⊢ ist transitiv).- S<strong>in</strong>d Φ 1 und Φ 2 äquivalent, so auch comp(Φ 1 ) und comp(Φ 2 ) (wegen der Äquivalenzerhaltungvon comp). Dann haben sie natürlich auch dieselben Folgerungen. ✷


38 KAPITEL 2. DEDUKTIVE DATENBANKENIn der anderen Richtung ist noch zu zeigen, daß vervollständigte Folgerungsrelationennicht allgeme<strong>in</strong>er s<strong>in</strong>d als die anderen beiden Arten von Vervollständigungen, daß esalso zu jeder vervollständigten Folgerungsrelation auch e<strong>in</strong>e passende modelltheoretischebzw. syntaktische Vervollständigung gibt.Lemma 2.2.13:• Für jede vervollständigte Folgerungsrelation ⊢ c gibt es e<strong>in</strong>e modelltheoretische Vervollständigungsel mit ⊢ c sel = ⊢ c .• Für jede vervollständigte Folgerungsrelation ⊢ c gibt es e<strong>in</strong>e syntaktische Vervollständigungcomp mit ⊢ c comp = ⊢ c .Beweis:• Sei sel def<strong>in</strong>iert durch:sel(I) := Mod ( {ψ ′ ∈ L Σ ∗ | Th(I) ⊢ c ψ ′ } ) ∩ I.(Der Schnitt mit I ist nötig, denn solange unendliche Modelle betrachtet werden, kannnicht vorausgesetzt werden, daß Mod ( Th(I) ) = I gilt.)Falls Φ ⊢ c ψ, folgt aus der Konstruktion von sel sofort Φ ⊢ c sel ψ: Da Th( Mod(Φ) ) ∼ = Φauch bei unendlichen Modellen gilt, damit vere<strong>in</strong>facht sich die Def<strong>in</strong>ition zusel ( Mod(Φ) ) = Mod ( {ψ ′ ∈ L Σ ∗ | Φ ⊢ c ψ ′ } ∪ Φ ) ,also gilt sel ( Mod(Φ) ) ⊆ Mod(ψ).Gilt umgekehrt Φ ⊢ c selψ, so bedeutet das nach der KonstruktionΦ ∪ {ψ ′ ∈ L Σ ∗ | Φ ⊢ c ψ ′ } ⊢ ψ.Nach dem Kompaktheitssatz gibt es dann aber schon e<strong>in</strong>e endliche Teilmenge{ψ ′ 1, . . . , ψ ′ n} ⊆ {ψ ′ ∈ L Σ ∗ | Φ ⊢ c ψ ′ }mit {ψ ′ 1 , . . . , ψ′ n} ⊢ ψ. (Die Formeln aus Φ s<strong>in</strong>d tatsächlich nicht nötig, ihre Grundbeispieleaus L Σ ∗ reichen aus, da ja e<strong>in</strong>e variablenfreie Formel abgeleitet werden soll.) Dann folgtaber aus dem Abschluß von ⊢ c unter ∧ und ⊢, daß Φ ⊢ c ψ.• Die Konstruktion e<strong>in</strong>er entsprechenden syntaktischen Vervollständigung funktioniert ganzähnlich:comp(Φ) = {ψ ′ ∈ L Σ ∗ | Φ ⊢ c ψ ′ } ∪ Φ.Gilt also Φ ⊢ c ψ, so ist ψ ∈ comp(Φ), und daher gilt Φ ⊢ c comp ψ. Der umgekehrte Schlußfunktioniert wie oben mit dem Kompaktheitssatz und dem Abschluß von ⊢ c unter ∧ und ⊢.✷Daher muß jetzt nicht mehr zwischen den verschiedenen Formalisierungen des Begriffsder Vervollständigung unterschieden werden, jede ist gleichermaßen als Bedeutung e<strong>in</strong>erDefault-Spezifikation (∆, ❁) geeignet. Gegenstand der Untersuchungen <strong>in</strong> dieser Arbeits<strong>in</strong>d jetzt aber nicht so sehr e<strong>in</strong>zelne Vervollständigungen, als vielmehr die Beziehungzwischen Default-Spezifikationen und Vervollständigungen:


2.3. ANFRAGEN UND ANTWORTEN 39Def<strong>in</strong>ition 2.2.14 (Default-Semantik): E<strong>in</strong>e Default-Semantik ist e<strong>in</strong>e Abbildung,die jeder Default-Spezifikation (∆, ❁) über e<strong>in</strong>er beliebigen Signatur Σ e<strong>in</strong>e (modelltheoretischeoder syntaktische) Σ-Vervollständigung sel bzw. comp oder e<strong>in</strong>e vervollständigteFolgerungsrelation ⊢ c zuordnet.2.3 Anfragen und AntwortenE<strong>in</strong>e deduktive Datenbank besteht also aus den Komponenten Signatur, Axiome und<strong>Defaults</strong> mit Prioritäten (und Integritätsbed<strong>in</strong>gungen, s.u.). Die Semantik der Signaturist die Menge aller entsprechend strukturierten Interpretationen, die Semantik der Axiomewählt davon e<strong>in</strong>e Teilmenge aus (die Modelle), und die Semantik der <strong>Defaults</strong> bestimmtschließlich nochmals e<strong>in</strong>e Teilmenge (die <strong>in</strong>tendierten Modelle).Damit sollte es jetzt auch möglich se<strong>in</strong>, den Hauptzweck e<strong>in</strong>er Datenbank zu erfüllen,nämlich Anfragen zu beantworten.Def<strong>in</strong>itionenDef<strong>in</strong>ition 2.3.1 (Anfrage): E<strong>in</strong>e Anfrage ist e<strong>in</strong>e Σ-Formel ψ, die negativ starkbereichsbeschränkt ist. Die vorkommenden Variablen heißen die Ergebnisvariablen von ψ.Die häufigste Art von Anfragen s<strong>in</strong>d Konjunktionen von Literalen:p 1 (. . .) ∧ · · · ∧ p m (. . .) ∧ ¬q 1 (. . .) ∧ · · · ∧ ¬q n (. . .).Die Bereichsbeschränkung bedeutet bei Anfragen dieser Form, daß jede Variable <strong>in</strong> e<strong>in</strong>empositiven Literal mit positiv b<strong>in</strong>dendem Prädikat vorkommen muß (oder <strong>in</strong> e<strong>in</strong>em negativenLiteral mit negativ b<strong>in</strong>dendem Prädikat). Allgeme<strong>in</strong> bewirkt diese Forderung gerade,daßanswer(X 1 , . . . , X n ) ← ψe<strong>in</strong>e bereichsbeschränkte Formel ist, wenn X 1 , . . . , X n die Ergebnisvariablen von ψ s<strong>in</strong>dund answer e<strong>in</strong> neues (positiv b<strong>in</strong>dendes) Prädikat.Da man jede Formel äquivalent <strong>in</strong> disjunktive Normalform br<strong>in</strong>gen kann, besteht dieVerallgeme<strong>in</strong>erung nun dar<strong>in</strong>, daß auch Disjunktionen von solchen konjunktiven Anfragenerlaubt s<strong>in</strong>d. Dies ersche<strong>in</strong>t im Kontext unvollständiger Information angemessen, dennsolche Disjunktionen können auch <strong>in</strong> der Datenbank abspeichert werden.Es ist relativ e<strong>in</strong>fach, auch Existenzquantoren am Anfang der Anfrage zu erlauben[Rei78], dann kann man etwa Projektionen direkt formulieren (ohne die Axiomezu erweitern). Mit Allquantoren ist es dagegen etwas schwieriger, hier sei auf [LT84]verwiesen.Natürlich kann man immer e<strong>in</strong>e Erweiterung von Φ um e<strong>in</strong> Anfrageprogramm“ vornehmen,dann kommt man mit e<strong>in</strong>er festen Anfrage der Form answer(X 1 , . . . , X n ) aus.”Aber dann hat man nicht mehr die Ähnlichkeit von Anfragebearbeitung und logischer


40 KAPITEL 2. DEDUKTIVE DATENBANKENFolgerung; außerdem bräuchte man dazu eigentlich e<strong>in</strong>en Modulbegriff, denn natürlichsollen diese neuen Axiome den Inhalt der Datenbank nicht ändern.Def<strong>in</strong>ition 2.3.2 (Korrekte Antwort): E<strong>in</strong>e nichtleere Menge {θ 1 , . . . , θ n } von Σ-Grundsubstitutionen für die Ergebnisvariablen e<strong>in</strong>er Anfrage ψ heißt korrekte Antwortauf ψ genau dann, wennΦ ⊢ c ψθ 1 ∨ · · · ∨ ψθ n .E<strong>in</strong>e korrekte Antwort heißt def<strong>in</strong>it, wenn sie aus genau e<strong>in</strong>em Element besteht. E<strong>in</strong>e korrekteAntwort heißt m<strong>in</strong>imal, wenn ke<strong>in</strong>e echte Teilmenge von ihr ebenfalls e<strong>in</strong>e korrekteAntwort ist.E<strong>in</strong>e Antwort soll also Werte (Konstanten) für die Ergebnisvariablen der Anfrage bestimmen,derart, daß die entstehende Formel aus den Informationen <strong>in</strong> der Datenbank folgt.Dabei wird e<strong>in</strong>e vervollständigte Folgerungsbeziehung ⊢ c verwendet, um die <strong>Defaults</strong> zuberücksichtigen. Natürlich kann ⊢ c auch durch e<strong>in</strong>e modelltheoretische oder syntaktischeVervollständigung gegeben se<strong>in</strong>, wie oben beschrieben.Außerdem s<strong>in</strong>d disjunktive Antworten zulässig, die mehr als e<strong>in</strong>e Substitution angeben[Gre69, Rei78]. Dies erlaubt es, disjunktive Informationen <strong>in</strong> der Datenbank direktabzufragen. Würde es ke<strong>in</strong>e disjunktiven Antworten geben, müßte man entsprechend disjunktiveAnfragen aufschreiben und könnte niemals sicher se<strong>in</strong>, auch ausreichend vieleDisjunktionsglieder aufgeschrieben zu haben. Natürlich s<strong>in</strong>d nur m<strong>in</strong>imale disjunktiveAntworten <strong>in</strong>teressant.Schließlich beachte man noch, daß Antworten hier alle Variablen mit Konstantenbelegen müssen (da es sich um Grundsubstitutionen handelt). Dies ist e<strong>in</strong> Unterschiedzu Prolog, wo die Antworten auch Variablen enthalten können. Tatsächlich ist dieseForderung aber bei bereichsbeschränkten Formeln sehr natürlich, denn solche Antwortenkönnten niemals logisch korrekt se<strong>in</strong> (Korollar 2.1.23). Bei Vervollständigungen ist diesdagegen nur e<strong>in</strong>e Festlegung (nicht beweisbar).Natürlich gibt es e<strong>in</strong>e ganze Reihe von Alternativen zu dieser Def<strong>in</strong>ition von korrekterAntwort. So kann man etwa den Begriff der Substitution vermeiden, wenn man stattdessendie Gleichheit verwendet (siehe etwa [Bra88]). Interessant ist auch die Def<strong>in</strong>ition<strong>in</strong> [CGS89]: Hier ist e<strong>in</strong>e Antwort auf e<strong>in</strong>e disjunktive Anfrage ψ 1 ∨ · · · ∨ ψ n e<strong>in</strong>e Disjunktionvon Grundbeispielen der ψ i , also e<strong>in</strong>e Formel der Art ψ i1 θ 1 ∨· · ·∨ψ im θ m . Dies hat denEffekt, daß die Antwort spezifischer se<strong>in</strong> kann als die Anfrage (m < n), denn man erfährtauch, welche Disjunktionsglieder erfüllt s<strong>in</strong>d. Allerd<strong>in</strong>gs dürfte <strong>in</strong> dem typischen Fall e<strong>in</strong>ernicht-disjunktiven Anfrage diese Art von Antworten länger und unübersichtlicher se<strong>in</strong> alsdie oben def<strong>in</strong>ierten.Unabhängigkeit von der SignaturDie Korrektheit e<strong>in</strong>er Antwort sollte nicht davon abhängen, ob die Signatur außer den<strong>in</strong> den Axiomen und <strong>Defaults</strong> explizit auftretenden Konstanten noch weitere enthält.


2.3. ANFRAGEN UND ANTWORTEN 41Sonst kann es beim E<strong>in</strong>fügen und Löschen von Axiomen oder <strong>Defaults</strong> zu überraschendenEffekten kommen:Beispiel 2.3.3: Sei Φ := {p(X) ∨ q, p(c 1 )} und ∆ := {¬p(X), ¬q}, dabei habeder erste Default höhere Priorität. Diese Formeln s<strong>in</strong>d nicht bereichsbeschränkt: Nachden Axiomen könnte p noch e<strong>in</strong> negativ b<strong>in</strong>dendes Prädikat se<strong>in</strong>, aber dann wäre derDefault ¬p(X) nicht bereichsbeschränkt.Ist c 1 nun die e<strong>in</strong>zige Konstante, so ist ¬p(c 1 ) die e<strong>in</strong>zige Ausprägung von ¬p(X).Sie kann aber sicherlich nicht angenommen werden, da genau das Gegenteil als Axiomspezifiziert ist. Also hat der Default ¬q ke<strong>in</strong>e Konkurrenten, er sollte jedenfalls von jedervernünftigen Semantik angenommen werden. Daher ist die Antwort ”ja“ e<strong>in</strong>e korrekteAntwort auf die Anfrage ¬q.Die Situation ändert sich, wenn es e<strong>in</strong>e weitere Konstante c 2 gibt. Denn nun stehendie Default-Ausprägungen ¬p(c 2 ) und ¬q im Konflikt mite<strong>in</strong>ander. Da ¬p(c 2 ) höherePriorität hat, wird dieser Default also angenommen. Die Anfrage ¬q kann jetzt nichtmehr mit ja“ beantwortet werden, tatsächlich folgt ja sogar ihre Negation. ✷”Zunächst ist es <strong>in</strong>teressant, festzuhalten, daß diese Probleme von der Vervollständigungverursacht werden. Bei der logischen Folgerung ist die Unabhängigkeit von der Signaturimmer gegeben, selbst wenn man nicht bereichsbeschränkte Axiome zuläßt:Satz 2.3.4: Seien Σ ⊆ Σ ′ Signaturen, die zu jeder Sorte m<strong>in</strong>destens e<strong>in</strong>e Konstanteenthalten, aber ke<strong>in</strong>e vordef<strong>in</strong>ierten Prädikate. Sei weiter Φ e<strong>in</strong>e Menge von Σ-Formelnund ψ e<strong>in</strong>e variablenfreie Σ-Formel. Dann giltΦ ⊢ Σ ψ ⇐⇒ Φ ⊢ Σ ′ ψ(Dabei bedeute Φ ⊢ Σ ψ, daß alle Σ-Herbrandmodelle von Φ auch Modelle von ψ s<strong>in</strong>d.)Beweis:• ”=⇒ “: Gelte nicht Φ ⊢ Σ ′ ψ. Dann gibt es e<strong>in</strong> Σ ′ -Herbrandmodell I ′ von Φ mit I ′ ̸|= ψ.Sei I das Σ-Redukt von I ′ . Da Φ ke<strong>in</strong>e Existenzaussagen enthält, gilt I |= Φ (wäre e<strong>in</strong>Σ-Grundbeispiel ϕ <strong>in</strong> I nicht erfüllt, so ist es natürlich auch nicht <strong>in</strong> I ′ erfüllt). Weil ψvariablenfrei ist, hat es <strong>in</strong> I denselben Wahrheitswert wie <strong>in</strong> I ′ , d.h. I ̸|= ψ.• ”⇐= “: Sei umgekehrt I e<strong>in</strong> Σ-Herbrandmodell von Φ mit I ̸|= ψ. Dieses Herbrandmodellmuß nun zu e<strong>in</strong>em Σ ′ -Herbrandmodell I ′ erweitert werden. Die oben def<strong>in</strong>ierte Standard-Erweiterung eignet sich nur für bereichsbeschränkte Formeln. Hier kann man aber auche<strong>in</strong>fach die neuen Konstanten als Synonyme für alte <strong>in</strong>terpretieren. Sei also f: C ′ → Ce<strong>in</strong>e Abbildung mit f(c) = c für alle c ∈ C (an dieser Stelle wird benötigt, daß es <strong>in</strong> Σe<strong>in</strong>e Konstante jeder Sorte gibt, von der es <strong>in</strong> Σ ′ Konstanten gibt). Dann sei I ′ das Σ ′ -Herbrandmodell mit(c 1 , . . . , c n ) ∈ I ′ [p] :⇐⇒ ( f(c 1 ), . . . , f(c n ) ) ∈ I [p](diese Def<strong>in</strong>ition ist nur möglich, wenn p ke<strong>in</strong> vordef<strong>in</strong>iertes Prädikat ist). Würde nun e<strong>in</strong>Σ ′ -Grundbeispiel ϕ e<strong>in</strong>er Formel aus Φ <strong>in</strong> I ′ nicht erfüllt, so würde es nach Anwendung


42 KAPITEL 2. DEDUKTIVE DATENBANKENvon f <strong>in</strong> I nicht erfüllt, im Widerspruch zur Voraussetzung. Die variablenfreie Formel ψwird wieder <strong>in</strong> I und I ′ gleich ausgewertet, also gilt I ′ ̸|= ψ.✷Die beiden E<strong>in</strong>schränkungen s<strong>in</strong>d auch wirklich nötig, wie man an Φ := {p(X), ¬p(X)}bzw. Φ := {X = c} sieht: In beiden Fällen würde die Erweiterung auf Signaturen mitmehr Konstanten nicht funktionieren. Natürlich treten diese Probleme bei bereichsbeschränktenFormeln nicht auf.Warum ist die Situation im Zusammenhang mit <strong>Defaults</strong> nun so viel komplizierter?Die e<strong>in</strong>fachste Erklärung ist wohl, daß über die Default-Ausprägungen automatisch e<strong>in</strong>eAbhängigkeit von der Signatur entsteht — ∆ ∗ enthält ja die Grundbeispiele bezüglich derjeweils betrachteten Signatur. Dadurch gilt nicht mehr, daß das Redukt e<strong>in</strong>es <strong>in</strong>tendiertenModells auch e<strong>in</strong> <strong>in</strong>tendiertes Modell ist, oder umgekehrt e<strong>in</strong> <strong>in</strong>tendiertes Modell sich zue<strong>in</strong>em <strong>in</strong>tendierten Modell erweitern läßt. Das Problem s<strong>in</strong>d hier die Konflikte zwischenneuen und alten Default-Ausprägungen. Bereichsbeschränkte Axiome und <strong>Defaults</strong> habennun den Vorteil, daß sie für neue Konstanten auf jeden Fall gelten, sie können also ke<strong>in</strong>eKonflikte verursachen.Natürlich kann man aus der obigen Def<strong>in</strong>ition von Vervollständigung die Signatur-Unabhängigkeit nicht herleiten, schon deshalb nicht, weil dies ke<strong>in</strong>e Anforderung an e<strong>in</strong>ee<strong>in</strong>zelne Vervollständigung ist, diese basiert ja auf e<strong>in</strong>er festen Signatur. Vielmehr ist diese<strong>in</strong>e Anforderung an die Default-Semantik, die also e<strong>in</strong>er Default-Spezifikation (∆, ❁) e<strong>in</strong>eVervollständigung zuordnet.Def<strong>in</strong>ition 2.3.5 (Unabhängig von der Signatur): E<strong>in</strong>e Default-Semantik heißtunabhängig von der Signatur, wenn für alle Signaturen Σ ⊆ Σ ′ und alle Σ-Default-Spezifikationen (∆, ❁) die zugeordneten Vervollständigungen ⊢ c Σ und ⊢c Σ ′ folgende Eigenschafthaben:Φ ⊢ c Σ ψ ⇐⇒ Φ ⊢ c Σ ′ ψ.Natürlich möchte man diese Eigenschaft auch für syntaktische und modelltheoretischeVervollständigungen formulieren. Hier werden nur h<strong>in</strong>reichende Kriterien angegeben, weildiese e<strong>in</strong>facher s<strong>in</strong>d:Lemma 2.3.6: Sei Σ ⊆ Σ ′ , sel e<strong>in</strong>e modelltheoretische Σ-Vervollständigung und sel ′e<strong>in</strong>e Σ ′ -Vervollständigung, die folgende Bed<strong>in</strong>gungen erfüllt:• Ist I ∈ sel ( Mod Σ (Φ) ) , so gibt es e<strong>in</strong>e Erweiterung I ′ mit I ′ ∈ sel ′( Mod Σ ′(Φ) ) .• Ist I ′ ∈ sel ′( Mod Σ ′(Φ) ) , so gilt für das Σ-Redukt I von I ′ : I ∈ sel ( Mod Σ (Φ) ) .Dann gilt: Φ ⊢ sel ψ ⇐⇒ Φ ⊢ sel ′ ψ.Beweis: Gilt Φ ⊬ sel ψ, so gibt es I ∈ sel ( Mod Σ (Φ) ) mit I ̸|= ψ. Dazu gibt es nach der erstenBed<strong>in</strong>gung e<strong>in</strong>e Σ ′ -Erweiterung I ′ ∈ sel ′( Mod Σ ′(Φ) ) , für die dann natürlich auch I ′ ̸|= ψ gilt.Die umgekehrte Richtung folgt ebenso direkt aus der zweiten Bed<strong>in</strong>gung.✷


2.3. ANFRAGEN UND ANTWORTEN 43Lemma 2.3.7: Sei Σ ⊆ Σ ′ und seien comp/comp ′ syntaktische Σ/Σ ′ -Vervollständigungen,die folgende Bed<strong>in</strong>gungen erfüllen:• comp(Φ) = comp ′ (Φ) ∩ L + Σ ,• comp(Φ) ∪ (∆ ∗ Σ ′ − ∆∗ Σ ) ⊢ comp′ (Φ).Dann gilt Φ ⊢ comp ψ ⇐⇒ Φ ⊢ comp ′ ψ.Beweis: Gelte comp(Φ) ⊬ Σ ψ und sei I e<strong>in</strong> Σ-Herbrand-Modell von comp(Φ) mit I ̸|= ψ. Sei I ′e<strong>in</strong>e Standard-Erweiterung von I auf Σ ′ . Nach Lemma 2.1.20 erfüllt I ′ die Formeln aus ∆ ∗ Σ ′ −∆ ∗ Σ ,nach der zweiten Bed<strong>in</strong>gung ist I ′ dann Modell von comp ′ (Φ). Also gilt comp ′ (Φ) ⊬ Σ ′ ψ.Gelte umgekehrt comp ′ (Φ) ⊬ Σ ′ ψ und sei I ′ e<strong>in</strong> Σ ′ -Herbrand-Modell von comp ′ (Φ). Nachder ersten Bed<strong>in</strong>gung ist I ′ dann auch Modell von comp(Φ). Da es sich um Allaussagen handelt,ist auch das Σ-Redukt I von I ′ e<strong>in</strong> Modell von comp(Φ). Damit folgt aber comp(Φ) ⊬ Σ ψ. ✷Alle <strong>in</strong> Kapitel 5 vorgeschlagenen Default-Semantiken garantieren die Unabhängigkeitvon der Signatur. Der Grund hierfür ist, daß für die Entscheidung, welche <strong>Defaults</strong> angenommenwerden, nur maximale konsistente Mengen von Default-Ausprägungen relevants<strong>in</strong>d (bei diesen Semantiken). Diese Mengen bezüglich Σ ′ s<strong>in</strong>d aber gerade die Mengenbezüglich Σ vere<strong>in</strong>igt mit den neuen Default-Ausprägungen ∆ ∗ Σ − ′ ∆∗ Σ . Alle dieseDefault-Semantiken haben nun die Eigenschaft, daß so e<strong>in</strong> konstanter Anteil von Default-Ausprägungen ke<strong>in</strong>en E<strong>in</strong>fluß auf die Auswahl der übrigen hat.Endlichkeit der AntwortmengeDie Menge der korrekten Antworten sollte immer endlich se<strong>in</strong>, denn von e<strong>in</strong>er Datenbankwird erwartet, daß sie mengenorientiert arbeitet, d.h. <strong>in</strong>sbesondere die Menge derkorrekten Antworten als Ganzes ausgibt. Das ist aber offensichtlich unmöglich, wenndiese Menge unendlich ist. E<strong>in</strong> Beispiel wären die folgenden (nicht bereichsbeschränkten)Regeln, die die Menge der Zweierpotenzen def<strong>in</strong>ieren:zweierPotenz(1).zweierPotenz(X) ← zweierPotenz(Y ) ∧ X = Y + Y.Die zweite Regel ist nicht bereichsbeschränkt, weil X nicht gebunden ist. Bei Prolog trittdieses Problem nicht auf, da hier immer nur e<strong>in</strong>e Antwort auf e<strong>in</strong>mal ausgegeben wird.Außerdem sollten <strong>in</strong> den korrekten Antworten nur Konstanten vorkommen, die auch<strong>in</strong> den Axiomen oder <strong>Defaults</strong> vorkommen. Dies impliziert natürlich sofort die erste Forderung(<strong>in</strong> den Axiomen und <strong>Defaults</strong> können ja nur endlich viele Konstanten vorkommen).Def<strong>in</strong>ition 2.3.8 (Beschränkung der Antworten): E<strong>in</strong>e Σ ′ -Vervollständigung ⊢ cerzeugt ke<strong>in</strong>e Antworten außerhalb von Σ 0 , wenn für alle Signaturen Σ mit Σ 0 ⊆ Σ ⊆ Σ ′und alle Σ-Axiomenmengen Φ, Σ-Anfragen ψ, Σ ′ -Antwortsubstitutionen θ 1 , . . . , θ n gilt:Φ ⊢ c ψθ 1 ∨ · · · ∨ ψθ n =⇒ Φ ⊢ c ψθ 1 ∨ · · · ∨ ψθ m ,dabei seien θ 1 , . . . , θ m (m < n) die Substitutionen, die nur Σ-Konstanten enthalten.


44 KAPITEL 2. DEDUKTIVE DATENBANKENDie untere Schranke Σ 0 ist nötig, weil auch die <strong>in</strong> den <strong>Defaults</strong> vorkommenden Konstantenberücksichtigt werden müssen. So ist der Default p(c) natürlich stark bereichsbeschränkt,denn er enthält ja ke<strong>in</strong>e Variablen. Aufgrund dieses <strong>Defaults</strong> ist aber die Antwort 〈X⊳ c〉auf die Anfrage p(X) möglich, selbst wenn c nicht <strong>in</strong> den Axiomen vorkommt.Lemma 2.3.9: Sei sel e<strong>in</strong>e modelltheoretische Σ ′ -Vervollständigung, ∆ e<strong>in</strong>e Σ 0 ⊆ Σ ′ -Defaultmenge und gelte:• Ist I 1 ∈ sel(I) und I 2 ∈ I mit { ∣δ ∈ ∆ ∗ Σ I ′ 1 |= δ } ⊆ { ∣δ ∈ ∆ ∗ Σ I ′ 2 |= δ } , so istI 2 ∈ sel(I).Dann erzeugt ⊢ sel ke<strong>in</strong>e Antworten außerhalb von Σ 0 .Beweis: Wäre ψθ m+1 ∨ · · · ∨ ψθ n <strong>in</strong> der Disjunktion nötig, so müßte es I 1 ∈ sel ( Mod(Φ) )geben mit I 1 ̸|= ψθ i für i = 1, . . . , m. Sei nun folgende Σ-Formelmenge betrachtet:Φ ∪ { δ ∈ ∆ ∗ ∣Σ I 1 |= δ }(hier wird benötigt, daß ∆ e<strong>in</strong>e Σ 0 ⊆ Σ-Formelmenge ist). Natürlich ist I 1 e<strong>in</strong> Σ ′ -Modell dieserFormelmenge, und daher ist das Σ-Redukt I von I 1 e<strong>in</strong> Σ-Modell. Sei nun I 2 e<strong>in</strong>e Standard-Erweiterung von I auf Σ ′ . Dann gilt{ δ ∈ ∆∗ ∣ Σ ′ I 1 |= δ } ⊆ { δ ∈ ∆ ∗ ∣ Σ ′ I 2 |= δ } ,denn von den Default-Ausprägungen aus ∆ ∗ Σ erfüllt I 2 dieselben wie I 1 , und die übrigen Default-Ausprägungen ∆ ∗ Σ− ∆ ∗ ′ Σ erfüllt I 2 nach Lemma 2.1.20 alle. Also ist I 2 ∈ sel ( Mod(Φ) ) .Ebenfalls nach Lemma 2.1.20 gilt aber I 2 ̸|= ψθ j für j = m + 1, . . . , n (dies ist ja äquivalentzu (I 2 , θ j ) ̸|= ψ). Da I 2 mit I 1 auf Σ übere<strong>in</strong>stimmt gilt natürlich auch I 2 ̸|= ψθ i für i = 1, . . . , m.Das bedeutet aber Φ ⊬ sel ψθ 1 ∨ · · · ∨ ψθ n .✷Diese Eigenschaft wird <strong>in</strong> Kapitel 4 noch gründlicher untersucht (Eigenschaft SCD). Alle<strong>in</strong> Kapitel 5 def<strong>in</strong>ierten Default-Semantiken haben diese Eigenschaft.Lemma 2.3.10: Sei comp e<strong>in</strong>e modelltheoretische Σ ′ -Vervollständigung und ∆ e<strong>in</strong>eΣ 0 ⊆ Σ ′ -Defaultmenge mit:• comp(Φ) − Φ ist äquivalent zu e<strong>in</strong>er Menge von ∧/∨-Verknüpfungen von Default-Ausprägungen ∆ ∗ Σ ′.Dann erzeugt ⊢ comp ke<strong>in</strong>e Antworten außerhalb von Σ 0 .Beweis: Der Beweis verläuft ganz entsprechend zu dem von Lemma 2.3.9. ✷Hat man die Unabhängigkeit von der Signatur und diese Eigenschaft, so reicht es aus,nur die Signatur Σ aus den <strong>in</strong> Φ und ∆ wirklich vorkommenden Symbolen zu betrachten(anstelle der eigentlich vere<strong>in</strong>barten Signatur Σ ′ ). Antworten, die Konstanten aus Σ ′ − Σenthalten, s<strong>in</strong>d auf jeden Fall nicht m<strong>in</strong>imal. Die Unabhängigkeit von der Signatur erlaubtes, zur Überprüfung der Korrektheit der übrigen Antworten nur Σ zu betrachten.Da Φ und ∆ endlich s<strong>in</strong>d, ist Σ endlich. Dann ist aber auch die Menge aller Herbrand-Interpretationen I Σ endlich. Dies erlaubt es etwa, jede Teilmenge I ⊆ I Σ durch e<strong>in</strong>eFormel th(I) zu beschreiben.Im folgenden (Kapitel 4 und 5) werden daher nur noch endliche Signaturen betrachtet.


2.3. ANFRAGEN UND ANTWORTEN 45NormalformsätzeDie meisten automatische Beweiser basieren auf der Resolutionsmethode und arbeitennur mit Klauseln. Deswegen ist es wichtig, allgeme<strong>in</strong>e Axiomenmengen, Anfragen und<strong>Defaults</strong> <strong>in</strong> e<strong>in</strong>e Klauseldarstellung zu überführen.Bei den Axiomenmengen ist dies ke<strong>in</strong> Problem, die Klauseldarstellung ist ja logischäquivalent und Vervollständigungen müssen solche Äquivalenzumformungen zulassen. BeiAnfragen und <strong>Defaults</strong> ist dagegen e<strong>in</strong>e Erweiterung der Signatur erforderlich:Def<strong>in</strong>ition 2.3.11 (Normalform): Seien e<strong>in</strong>e Signatur Σ, e<strong>in</strong>e Axiomenmenge Φ, e<strong>in</strong>eAnfrage ψ und e<strong>in</strong>e Default-Spezifikation (∆, ❁) gegeben. Dann ist die Normalform dieserDatenbank-Anwendung wie folgt bestimmt:• Σ ′ sei e<strong>in</strong>e Erweiterung von Σ um neue Prädikate:- answer (positiv b<strong>in</strong>dend) mit Argumentsorten entsprechend den Ergebnisvariablenvon ψ,- default δ (negativ b<strong>in</strong>dend) für jeden Default δ ∈ ∆, wobei die Argumentsortenden <strong>in</strong> δ vorkommenden Variablen entsprechen.• Φ ′ sei die Erweiterung von Φ um folgende Formeln:- answer(X 1 , . . . , X n ) ← ψ, dabei seien X 1 , . . . , X n die Ergebnisvariablen von ψ,- δ ← default δ (X 1 , . . . , X n ), dabei seien X 1 , . . . , X n die Variablen <strong>in</strong> δ.• ψ ′ sei die Anfrage answer(X 1 , . . . , X n ).• ∆ ′ bestehe aus default δ (X 1 , . . . , X n ) für jeden Default δ ∈ ∆.• ❁ ′ sei def<strong>in</strong>iert durch default δ1(. . .) ❁ ′ default δ2(. . .) :⇐⇒ δ 1 ❁ δ 2 .Natürlich kann man auch statt den <strong>Defaults</strong> default δ (X 1 , . . . , X n ) die typischen Negationen¬blocked δ (X 1 , . . . , X n ) verwenden, die entsprechenden Axiome s<strong>in</strong>d dann:δ ← ¬blocked δ (X 1 , . . . , X n ).In diesem S<strong>in</strong>ne ist es also ke<strong>in</strong>e echte Verallgeme<strong>in</strong>erung, beliebige Formeln als <strong>Defaults</strong>zuzulassen und nicht nur Negationen.Allerd<strong>in</strong>gs ist diese Normalformbildung hier nur e<strong>in</strong> Implementierungstrick, für denBenutzer ist es schon übersichtlicher, allgeme<strong>in</strong>e Formeln als <strong>Defaults</strong> verwenden zukönnen. Diese Normalformbildung würde von dem Defaultkann fliegen(X) ← vogel(X)zu dem Axiom(kann fliegen(X) ← vogel(X))← ¬blocked(X)und dem Default ¬blocked(X) führen. Das Axiom ist äquivalent zukann fliegen(X) ← vogel(X) ∧ ¬blocked(X).Es ist wohl schon e<strong>in</strong>e Hilfe für den Entwerfer, wenn e<strong>in</strong>e solche Umformung automatischgeschieht.


46 KAPITEL 2. DEDUKTIVE DATENBANKENAußerdem darf man aus der Möglichkeit e<strong>in</strong>er solchen Normalform nicht den voreiligenSchluß ziehen, daß man mit dem hier vorgestellten Ansatz doch nichts gegenüber Prologgewonnen hat. So können hier die Axiome beliebige Gestalt haben, etwa¬kann fliegen(X) ← p<strong>in</strong>gu<strong>in</strong>(X).Bei Prolog müßte man nun Resolutionsschritte vorab berechnen, um etwa aufblocked(X) ← p<strong>in</strong>gu<strong>in</strong>(X)zu kommen (das ist im allgeme<strong>in</strong>en nicht so e<strong>in</strong>fach wie <strong>in</strong> diesem Beispiel, siehe [GL89]).Man muß sich beim Aufschreiben dieser Regel also über den Konflikt zu dem Defaultbewußt se<strong>in</strong>, während die Aussage ”P<strong>in</strong>gu<strong>in</strong>e können nicht fliegen“ auch unabhängig vondem Default S<strong>in</strong>n macht.Schließlich beachte man noch, daß diese Normalform nicht für beliebige PrädikateNegationen annimmt. Auch dies ist e<strong>in</strong> Unterschied zu e<strong>in</strong>fachen Negations-Semantiken.Def<strong>in</strong>ition 2.3.12 (Erlaubt Normalformbildung): E<strong>in</strong>e Default-Semantik erlaubtdie Normalformbildung, wenn für alle Σ, Φ, ψ, ∆, ❁ mit Normalform Σ ′ , Φ ′ , ψ ′ , ∆ ′ , ❁ ′ undalle Σ-Grundsubstitutionen θ 1 , . . . , θ k (für die Ergebnisvariablen von ψ bzw. ψ ′ ) gilt:Φ ⊢ c Σ,∆,❁ ψθ 1 ∨ · · · ∨ ψθ k ⇐⇒ Φ ′ ⊢ c Σ ′ ,∆ ′ ,❁ ′ ψ′ θ 1 ∨ · · · ∨ ψ ′ θ k .Alle <strong>in</strong> Kapitel 5 behandelten Default-Semantiken außer der starken CWA erlauben dieNormalformbildung. Der Grund hierfür ist, daß die Default-Semantiken eigentlich garnicht die Struktur der Axiome und der <strong>Defaults</strong> betrachten oder gar die Namen derPrädikate. Es ist e<strong>in</strong>zig und alle<strong>in</strong> wichtig, welche Mengen von Default-Ausprägungenkonsistent angenommen werden können. Falls diese Mengen nun isomorph s<strong>in</strong>d (wie esdie obige Normalformbildung gerade garantiert), dann verhält sich die Default-Semantikim wesentlichen auch gleich.Technisch ist das allerd<strong>in</strong>gs ziemlich aufwendig zu formalisieren und wird hier nur fürmodelltheoretische Vervollständigungen durchgeführt. Für syntaktische Vervollständigungengilt e<strong>in</strong>e ganz entsprechende Aussage.Def<strong>in</strong>ition 2.3.13 (Ähnliche Modellmengen): Seien (∆ 1 , ❁ 1 ) und (∆ 2 , ❁ 2 ) Default-Spezifikationen über Σ 1 und Σ 2 und f: ∆ ∗ 1 → ∆ ∗ 2 e<strong>in</strong>e bijektive Abbildung mitδ ❁ 1 δ ′ ⇐⇒ f(δ) ❁ 2 f(δ ′ ).Zwei Mengen I 1 und I 2 von Σ 1 - und Σ 2 -Interpretation heißen f-ähnlich, wenn• für alle I 1 ∈I 1 gibt es I 2 ∈I 2 mit { f(δ 1 ) ∣ ∣ δ 1 ∈∆ ∗ 1, I 1 |= δ 1}⊆{δ2∣ ∣ δ 2 ∈∆ ∗ 2, I 2 |= δ 2},• für alle I 2 ∈I 2 gibt es I 1 ∈I 1 mit { f(δ 1 ) ∣ ∣ δ 1 ∈∆ ∗ 1, I 1 |= δ 1}⊇{δ2∣ ∣ δ 2 ∈∆ ∗ 2, I 2 |= δ 2}.Def<strong>in</strong>ition 2.3.14 (rational): E<strong>in</strong>e Default-Semantik heißt rational, wenn für alleDefault-Spezifikationen (∆ 1 , ❁ 1 ) über Σ 1 und (∆ 2 , ❁ 2 ) über Σ 2 , die zugehörigen modelltheoretischenVervollständigungen sel 1 und sel 2 , und alle I 1 ⊆ I Σ1 und I 2 ⊆ I Σ2 folgendesgilt:


2.3. ANFRAGEN UND ANTWORTEN 47Wenn für e<strong>in</strong> f die Mengen I 1 und I 2 f-ähnlich s<strong>in</strong>d, dann gilt für alle I 1 ∈ I 1und I 2 ∈ I 2 mit { f(δ 1 ) ∣ ∣ δ 1 ∈ ∆ ∗ 1, I 1 |= δ 1}⊆{δ2∣ ∣ δ 2 ∈ ∆ ∗ 2, I 2 |= δ 2}:I 1 ∈ sel 1 (I 1 ) =⇒ I 2 ∈ sel 2 (I 2 ).Satz 2.3.15:Ist e<strong>in</strong>e Default-Semantik rational, so erlaubt sie die Normalformbildung.Beweis:Die bijektive Abbildung zwischen den Default-Ausprägungen seif(δθ) := default δ (X 1 , . . . , X n )θ.Man kann nun leicht aus jedem Σ-Modell I von Φ e<strong>in</strong>e Σ ′ -Modell I ′ von Φ ′ machen, das diebezüglich f entsprechenden Default-Ausprägungen erfüllt. Dazu def<strong>in</strong>iert manI ′ [default δ ] := { (c 1 , . . . , c n ) ∣ ∣ I |= δ〈X 1 ⊳ c 1 , . . . , X n ⊳ c n 〉 } ,I ′ [answer ] := { (c 1 , . . . , c n ) ∣ ∣ I |= ψ〈X 1 ⊳ c 1 , . . . , X n ⊳ c n 〉 } .Umgekehrt erfüllt das Σ-Redukt I e<strong>in</strong>es Modells I ′ von Φ ′ m<strong>in</strong>destens die bezüglich f −1 entsprechendenDefault-Ausprägungen, denn Φ ′ enthält die Formelnδ ← default δ (X 1 , . . . , X n ).Damit ist die Voraussetzung der obigen Bed<strong>in</strong>gung erfüllt.Gelte Φ ⊬ sel ψθ 1 ∨ · · · ∨ ψθ k . Dann gibt es also I ∈ sel ( Mod(Φ) ) mit I ̸|= ψθ 1 ∨ · · · ∨ ψθ k .Das oben konstruierte Modell I ′ von Φ ′ erfüllt gerade die f-entsprechenden <strong>Defaults</strong>, es ist alsonach der obigen Bed<strong>in</strong>gung e<strong>in</strong> <strong>in</strong>tendiertes Modell von Φ ′ . Nach der Konstruktion gilt natürlichI ′ ̸|= ψ ′ θ 1 ∨ · · · ∨ ψ ′ θ k , damit folgt Φ ′ ⊬ sel ′ ψ ′ θ 1 ∨ · · · ∨ ψ ′ θ k .Gelte umgekehrt Φ ′ ⊬ sel ′ ψ ′ θ 1 ∨ · · · ∨ ψ ′ θ k und sei I ′ das entsprechende <strong>in</strong>tendierte Modell.Das Σ-Redukt I von I ′ erfüllt m<strong>in</strong>destens dieselben <strong>Defaults</strong> (unter f −1 ), ist also e<strong>in</strong> <strong>in</strong>tendiertesModell von Φ. Außerdem enthält Φ ′ die Formelanswer(X 1 , . . . , X n ) ← ψ.Wegen I ′ ̸|= ψθ 1 ∨ · · · ∨ ψθ k gilt I ̸|= ψθ 1 ∨ · · · ∨ ψθ k und damit Φ ⊬ sel ψθ 1 ∨ · · · ∨ ψθ k .✷Integritätsbed<strong>in</strong>gungenZum Abschluß dieses Kapitels sollen noch e<strong>in</strong>ige <strong>in</strong>formale Bemerkungen zu Integritätsbed<strong>in</strong>gungengemacht werden, da sie zwar zu <strong>deduktiven</strong> <strong>Datenbanken</strong> dazugehören, aberim weiteren Verlauf dieser Arbeit nicht wichtig s<strong>in</strong>d.Integritätsbed<strong>in</strong>gungen s<strong>in</strong>d Formeln, die die zulässigen Axiomenmengen (und <strong>Defaults</strong>)e<strong>in</strong>schränken sollen, so daß Fehler erkannt werden. Der Maßstab für Fehler s<strong>in</strong>ddabei die möglichen Zustände der realen Welt. Wenn die Datenbank etwa Geburts- undTodesjahr historischer Persönlichkeiten enthält, dann sollte die Differenz nicht-negativund kle<strong>in</strong>er als 120 se<strong>in</strong>. Manche Integritätsbed<strong>in</strong>gungen werden auch erst durch E<strong>in</strong>schränkungenbei den angebotenen Datenstrukturen nötig. So hat etwa jede Person genaue<strong>in</strong>e Blutgruppe. Dies ließe sich direkt mit e<strong>in</strong>em (nicht-generierenden) Funktionssymbolformulieren. Hier muß man jedoch e<strong>in</strong> zweistelliges Prädikat und passende Integritätsbed<strong>in</strong>gungenverwenden.


48 KAPITEL 2. DEDUKTIVE DATENBANKENFür die Erfüllung von Integritätsbed<strong>in</strong>gungen gibt es verschiedene Formalisierungen:Erstens kann man sie e<strong>in</strong>fach <strong>in</strong> die Axiomenmenge Φ e<strong>in</strong>fügen, deren Konsistenz jaohneh<strong>in</strong> als überwacht vorausgesetzt ist.Zweitens kann man fordern, daß die Integritätsbed<strong>in</strong>gungen mit der Axiomenmenge Φkonsistent s<strong>in</strong>d. Dies bewirkt e<strong>in</strong>erseits, daß die Integritätsbed<strong>in</strong>gungen nicht bei derAnfragebearbeitung genutzt werden. Das ist nicht besonders wünschenswert, da es sichja um zusätzliches Wissen“ <strong>in</strong> der <strong>deduktiven</strong> Datenbank handelt, was natürlich auch”abfragbar se<strong>in</strong> sollte. Andererseits werden nur die Axiome überwacht, die <strong>Defaults</strong> könnenaber durchaus gegen die Bed<strong>in</strong>gungen verstoßen. Aus diesen beiden Gründen ist die ersteLösung vorzuziehen.Drittens kann man verlangen, daß die Integritätsbed<strong>in</strong>gungen mit der Vervollständigungcomp(Φ) der Axiomenmenge konsistent s<strong>in</strong>d. Das bedeutet, daß die Menge derkorrekten Antworten auf die Negation der Integritätsbed<strong>in</strong>gungen leer se<strong>in</strong> sollte. So läßtsich etwa e<strong>in</strong>e Fremdschlüsselbed<strong>in</strong>gung aufgrund der E<strong>in</strong>schränkung auf quantorenfreieFormeln nicht als Axiom formulieren, wohl aber als Anfrage:bestellung(X, Y ) ∧ ¬angebot(X).Dies liefert alle Aufträge über Waren, die gar nicht angeboten werden.Viertens kann man auch fordern, daß die Integritätsbed<strong>in</strong>gungen als Anfrage mit ”ja“beantwortet werden, also vervollständigt impliziert werden. Das Problem ist dabei, daßIntegritätsbed<strong>in</strong>gungen typischerweise Allaussagen s<strong>in</strong>d, als Anfragen aber gerade nurExistenzaussagen zulässig s<strong>in</strong>d. Wäre aber e<strong>in</strong>e Anfrage der Form∀X, Y ( bestellung(X, Y ) → angebot(X) )erlaubt, so wäre sie im Fall von unvollständiger Information e<strong>in</strong>e strengere E<strong>in</strong>schränkungals die dritte Formalisierung. Hier wird bei unvollständiger Information angenommen, daßdie Integritätsbed<strong>in</strong>gung verletzt ist, während oben im Zweifelsfall davon ausgegangenwird, daß sie erfüllt ist. Mit neuen Prädikaten und entsprechenden Vervollständigungenist aber wohl e<strong>in</strong>e Umrechnung zwischen beiden Formalisierungen möglich.Der Unterschied zur ersten Lösung ist, daß sich dort die <strong>Defaults</strong> automatisch andie Integritätsbed<strong>in</strong>gungen anpassen, während sie beim dritten und vierten Vorschlag zue<strong>in</strong>er Integritäts-Verletzung führen können.Neben den hier betrachteten statischen Integritätsbed<strong>in</strong>gungen, die sich auf jedene<strong>in</strong>zelnen Zustand der Datenbank beziehen, gibt es auch dynamische oder temporale Integritätsbed<strong>in</strong>gungen,die Zustandsübergänge bzw. Zustandsfolgen e<strong>in</strong>schränken [Lip89].Dort wird auch auf die Überwachung von Integritätsbed<strong>in</strong>gungen mittels entsprechendangepaßter Transaktionen e<strong>in</strong>gegangen. Für e<strong>in</strong>en Vorschlag zur direkten Überwachungstatischer Integritätsbed<strong>in</strong>gungen sei etwa auf [BDM88, GL90] verwiesen.


Kapitel 3AnwendungsbeispieleIn diesem Kapitel werden e<strong>in</strong>ige Anwendungsbeispiele besprochen. Das Ziel ist, dieBrauchbarkeit allgeme<strong>in</strong>er <strong>Defaults</strong> zu motivieren, und zu zeigen, wie sie <strong>in</strong> konkretenAnwendungen gewählt würden. So wird am Beispiel schon die Semantik der <strong>Defaults</strong>geklärt, die dann <strong>in</strong> späteren Kapiteln formal def<strong>in</strong>iert wird. Damit hat man e<strong>in</strong>en Maßstabfür die Korrektheit dieser Def<strong>in</strong>ition — es sollten ja m<strong>in</strong>destens die Beispiele sobehandelt werden, wie es hier <strong>in</strong>tuitiv richtig ersche<strong>in</strong>t.Es wird sich aber auch zeigen, daß die Anforderungen manchmal widersprüchlichs<strong>in</strong>d, es also verschiedene Semantiken für <strong>Defaults</strong> geben kann. Dies motiviert den hierverfolgten Ansatz, e<strong>in</strong>en Überblick über alle möglichen Semantiken anzustreben.In diesem Kapitel werden auch Anwendungen betrachtet, die üblicherweise <strong>in</strong> anderenLogiken spezifiziert werden, etwa dynamischen oder objekt-orientierten. Hier wirdnatürlich e<strong>in</strong>e Fassung <strong>in</strong> der aus Kapitel 2 bekannten Logik zugrunde gelegt, aber eswird damit zum<strong>in</strong>dest angedeutet, daß sich die Ergebnisse dieser Arbeit auch auf andereLogiken übertragen lassen. Teilweise handelt es sich nur um syntaktischen Zucker“, der”<strong>in</strong> praktischen Spezifikationen sehr wichtig ist, aber leicht mechanisch entfernt werdenkann.3.1 Implizite NegationDie klassische Verwendung von <strong>Defaults</strong> ist die implizite Negation, die also auf <strong>Defaults</strong>der folgenden Form basiert:¬p(X 1 , . . . , X n ).Im Datenbankbereich wurden solche <strong>Defaults</strong> erstmals verwendet, als man feststellte, daßsich bei der Auffassung e<strong>in</strong>er relationalen Datenbank als Menge von Formeln ( ”Theorie-Ansatz“) Unterschiede zum üblichen Modell-Ansatz ergaben. Hier waren die betrachtetenAxiome zunächst Fakten, die dann auf Hornklauseln und Klauseln mit stratifizierter Negationerweitert wurden. In allen diesen Fällen gibt es bis auf Isomorphie nur e<strong>in</strong> <strong>in</strong>tendiertesModell, d.h. für jede Formel ψ gilt, daß entweder ψ oder ¬ψ vervollständigt folgen. Dierepräsentierte Information ist dann also vollständig.49


50 KAPITEL 3. ANWENDUNGSBEISPIELEIm Datenbankbereich gibt es aber seit langem den Wunsch, auch unvollständige Informationdarstellen zu können, etwa mit Hilfe von Nullwerten. Es ist sicher e<strong>in</strong>er derVorteile des Theorie-Ansatzes, daß sich hier verschiedene Arten von unvollständiger Informationauf e<strong>in</strong>fache Weise beschreiben lassen. Natürlich muß die Semantik der Negations-<strong>Defaults</strong> entsprechend angepaßt werden, und es wird sich zeigen, daß die verschiedenenBeispiele hier unterschiedliche Semantiken verlangen.Faktenmengen und HornklauselnBeispiel 3.1.1: E<strong>in</strong>e relationale Datenbank kann als Menge von Fakten verstandenwerden. Dies wurde schon <strong>in</strong> der E<strong>in</strong>leitung am Beispiel e<strong>in</strong>er Auftrags-Relation gezeigt:bestellungkunde waremeier taschenlampeschmidt radioschmidt batterienSie entspricht der Menge Φ mit folgenden Axiomen:bestellung(meier, taschenlampe),bestellung(schmidt, radio),bestellung(schmidt, batterien).Es sei nun nach den Kunden gefragt, die e<strong>in</strong>e Taschenlampe ohne die zugehörigen Batterienbestellt haben, d.h. ψ ist folgende Formel:bestellung(X, taschenlampe) ∧ ¬bestellung(X, batterien).Natürlich ist die Antwort 〈X ⊳ meier〉 <strong>in</strong>tuitiv korrekt. Dazu müßte für die verwendeteVervollständigung <strong>in</strong>sbesondereΦ ⊢ c ¬bestellung(meier, batterien)gelten. Da e<strong>in</strong>e Vervollständigung m<strong>in</strong>destens die logischen Folgerungen liefern muß, giltnatürlich Φ ⊢ c bestellung(meier, taschenlampe). Die Formel ψ〈X⊳ meier〉 folgt dann, weil⊢ c unter ∧ abgeschlossen ist.✷Das <strong>in</strong> diesem Beispiel gewünschte Verhalten läßt sich natürlich leicht auf beliebige FaktenmengenΦ verallgeme<strong>in</strong>ern: Offenbar ist die Intuition, daß Grundliterale ausgewertetwerden sollen, <strong>in</strong>dem <strong>in</strong> den Tabellen nachgeschaut wird. Die <strong>in</strong>tendierte Vervollständigungist also:comp(Φ) := Φ ∪ {¬ϕ | ϕ ist e<strong>in</strong> positives Grundliteral mit ϕ ∉ Φ}.Dies ist e<strong>in</strong> Spezialfall der orig<strong>in</strong>alen CWA, die 1978 von Raymond Reiter vorgeschlagenwurde:cwa orig (Φ) := Φ ∪ {¬ϕ | ϕ ist e<strong>in</strong> positives Grundliteral mit Φ ⊬ ϕ}.Sie funktioniert für Mengen von Hornklauseln:


3.1. IMPLIZITE NEGATION 51Beispiel 3.1.2: Im obigen Beispiel könnte man etwa die Menge der bestellten Warenfolgendermaßen def<strong>in</strong>ieren:bestellt(X) ← bestellung(Y, X).Seien außerdem die angebotenen Waren <strong>in</strong> e<strong>in</strong>er Relation angebot abgespeichert:angebot(taschenlampe), angebot(batterien), angebot(radio), angebot(fernseher).Man kann nun etwa nach den Waren fragen, die nicht bestellt s<strong>in</strong>d:angebot(X) ∧ ¬bestellt(X).Hier muß die Vervollständigung das negative Grundliteral ¬bestellt(fernseher) liefern. ✷Man kann die orig<strong>in</strong>ale CWA leicht auf beliebige <strong>Defaults</strong> erweitern:cwa naiv (Φ) := Φ ∪ {δ ∈ ∆ ∗ | Φ ⊬ ¬δ}.Auf diese Art wird also ganz direkt formalisiert, daß e<strong>in</strong> Default angenommen werdensoll, wenn ke<strong>in</strong>e gegenteilige Information vorliegt. Besteht ∆ aus den Formeln derForm ¬p(X 1 , . . . , X n ) für jedes Prädikat p, so erhält man gerade die orig<strong>in</strong>ale CWA.Diese Default-Semantik ist allerd<strong>in</strong>gs noch etwas naiv. Sie zerstört die Konsistenzgenau dann, wenn es Konflikte zwischen <strong>Defaults</strong> gibt, d.h. wenn es δ 1 , . . . , δ n ∈ ∆ ∗ gibtmit Φ ⊢ ¬δ 1 ∨· · ·∨¬δ n , n ≥ 2 und Φ ⊬ ¬δ i für i = 1, . . . , n. Im Fall von Hornklauseln undNegations-<strong>Defaults</strong> kann dies nicht geschehen, denn der ”Schnitt“ zweier Herbrandmodelleist wieder e<strong>in</strong> Modell, d.h. wenn zwei negative Grundliterale e<strong>in</strong>zeln angenommen werdenkönnen, so können sie auch geme<strong>in</strong>sam angenommen werden.Stratifizierte NegationBeispiel 3.1.3:Es sei das Mittagessen für die Teilnehmer e<strong>in</strong>er Tagung zu planen:teilnehmer(meier), teilnehmer(schmidt), . . . , vegetarier(schmidt).Natürlich kann man die Anfrage stellen, welche der Teilnehmer ke<strong>in</strong>e Vegetarier s<strong>in</strong>d:teilnehmer(X) ∧ ¬vegetarier(X).Wenn man die Negation also <strong>in</strong> Anfragen verwenden darf, möchte man sie natürlich ganzentsprechend <strong>in</strong> den Regeln e<strong>in</strong>setzen können:normalkost(X) ← teilnehmer(X) ∧ ¬vegetarier(X).Das Problem ist nun, daß die Regel logisch äquivalent ist zunormalkost(X) ∨ vegetarier(X) ← teilnehmer(X)und sogar zuvegetarier(X) ← teilnehmer(X) ∧ ¬normalkost(X).Die <strong>in</strong>tendierte Semantik ist dagegen nicht symmetrisch <strong>in</strong> den beiden Prädikaten. Es solletwa ¬vegetarier(meier) angenommen werden und nicht ¬normalkost(meier), obwohl


52 KAPITEL 3. ANWENDUNGSBEISPIELEbeides (e<strong>in</strong>zeln) möglich wäre. Man kann dies auch so verstehen, daß die Intention desBenutzers hier ist, das Prädikat normalkost zu def<strong>in</strong>ieren. Dagegen soll die Semantik desPrädikates “vegetarier” durch diese Regel nicht verändert werden.Dies ist aber e<strong>in</strong>e Entwurfsentscheidung. Würde es mehr Vegetarier geben, so wärees günstiger, die Teilnehmer mit Normalkost explizit abzuspeichern und die Regel <strong>in</strong> deranderen Richtung zu benutzen.✷In Kapitel 2 wurde gefordert, daß Vervollständigungen logisch äquivalente Axiome gleichbehandeln sollen. Es genügt daher nicht, diese Entwurfsentscheidung nur durch dieSchreibweise der Regel zum Ausdruck zu br<strong>in</strong>gen.Hier hilft die E<strong>in</strong>führung von Prioritäten zwischen den <strong>Defaults</strong>: Man möchte ja, daßim Zweifelsfall ¬vegetarier(X) angenommen wird, und nicht ¬normalkost(X). Der ersteDefault hat also e<strong>in</strong>e höhere Priorität.Man kann dies auch so verstehen, daß die Vervollständigung stufenweise berechnetwird. Zunächst werden die <strong>Defaults</strong> der Form ¬vegetarier(X) angenommen, soweit diesmöglich ist, und erst danach bekommen die <strong>Defaults</strong> der Form ¬normalkost(X) ihreChance. Dies entspricht der Vorstellung, daß die Regelnormalkost(X) ← teilnehmer(X) ∧ ¬vegetarier(X)das Prädikat vegetarier benutzt, um das Prädikat normalkost zu def<strong>in</strong>ieren. Also solltedas benutzte Prädikat zuerst ”berechnet“ werden (durch Anwendung der <strong>Defaults</strong>). Wennman also die Prioritäten aus der Schreibweise der Regeln ableiten will, so muß man denbenutzten Prädikaten jeweils e<strong>in</strong>e höhere Priorität (kle<strong>in</strong>erer l-Wert) geben.In dieser strengen Form könnte man nur hierarchische Klauselmengen behandeln, e<strong>in</strong>rekursiv def<strong>in</strong>iertes Prädikat, das sich also selbst benutzt, wäre verboten. Hier hilft dieErkenntnis, daß es wie bei den Hornklauseln ke<strong>in</strong>e Konflikte zwischen Negations-<strong>Defaults</strong>gibt, solange das Prädikat nicht negativ von sich selbst abhängt. Die allgeme<strong>in</strong>e Regel istalso, daß bei e<strong>in</strong>er Regel der Formp(. . .) ← q 1 (. . .) ∧ · · · ∧ q n (. . .) ∧ ¬r 1 (. . .) ∧ · · · ∧ r m (. . .)l ( ¬q i (. . .) ) ≤ l ( ¬p(. . .) ) und l ( ¬r i (. . .) ) < l ( ¬p(. . .) ) gelten muß. Falls solche Prioritätsstufenfür e<strong>in</strong>e Regelmenge Φ konsistent vergeben werden können, heißt Φ stratifiziert.Für stratifizierte Regelmengen ist e<strong>in</strong>e stufenweise Version der naiven CWA die <strong>in</strong>tendierteSemantik.cwa 0 (Φ) := Φcwa i (Φ) := cwa i−1 (Φ) ∪ { δ ∈ ∆ ∗ ∣ ∣ l(δ) = i, cwa i−1 (Φ) ⊬ ¬δ } .Es werden hier also zunächst die <strong>Defaults</strong> der höchsten Prioritätsstufe 1 angenommen,dann die der Stufe 2 und so weiter.Indem man die Prioritäten auf diese Weise aus der Schreibweise der Regeln ableitet,hat man natürlich die E<strong>in</strong>schränkung umgangen, daß Vervollständigungen äquivalenteAxiomenmengen gleich behandeln müssen: Durch unterschiedliche Schreibweisenbekommt man hier verschiedene Prioritäten, die dann auch verschiedene Vervollständigungenliefern.


3.1. IMPLIZITE NEGATION 53Es handelt sich dabei aber nicht nur um e<strong>in</strong>en Trick zur Behandlung derartiger Beispiele.Man hat vielmehr jetzt die <strong>in</strong> den Regeln verborgene Zusatz<strong>in</strong>formation explizitgemacht, so daß nun wieder beliebige logische Umformungen zulässig s<strong>in</strong>d. Außerdemhat diese Zusatz<strong>in</strong>formation auch e<strong>in</strong>e natürliche Interpretation als ”Import“-Beziehungzwischen den verschiedenen Prädikat-Def<strong>in</strong>itionen.Beispiel 3.1.4: Es s<strong>in</strong>d allerd<strong>in</strong>gs nicht alle Axiomenmengen stratifiziert. FolgendeRegel würde etwa beim Nim-Spiel die Spielzustände beschreiben, bei denen der Gew<strong>in</strong>nerzwungen werden kann:gew<strong>in</strong>n(X) ← zug(X, Y ) ∧ ¬gew<strong>in</strong>n(Y ).Bei diesem Spiel nehmen die beiden Spieler abwechselnd 1 oder 2 Streichhölzer aus e<strong>in</strong>emVorrat von anfangs z.B. 7 Hölzern. Verloren hat, wer ke<strong>in</strong>en Zug mehr machen kann (weilke<strong>in</strong>e Hölzer übrig s<strong>in</strong>d).Bei diesem Beispiel müssen die Default-Instanzen ¬gew<strong>in</strong>n(n) umso höhere Prioritäthaben, je kle<strong>in</strong>er n (die Anzahl noch verbliebener Streichhölzer) ist. Dann kann man alsozunächst ¬gew<strong>in</strong>n(0) annehmen, dies impliziert gew<strong>in</strong>n(1) und gew<strong>in</strong>n(2). Als nächstenDefault kann man dann ¬gew<strong>in</strong>n(3) annehmen, und so weiter.Das Problem bei diesem Beispiel ist, daß das Wissen über die richtigen Prioritäten <strong>in</strong>dem Prädikat zug verborgen ist, also nicht über e<strong>in</strong>e e<strong>in</strong>fache syntaktische Analyse derRegeln ermittelt werden kann.✷In der logischen Programmierung s<strong>in</strong>d e<strong>in</strong>e ganze Reihe von Negations-Semantiken entwickeltworden, die dieses und ähnliche Beispiele direkt behanden können, etwa [VGRS91].Allerd<strong>in</strong>gs ist bei diesem Beispiel wichtig, daß zug ke<strong>in</strong>e Zyklen enthält, sonst zerstörenauch diese Semantiken die Konsistenz oder liefern nur e<strong>in</strong> partielles (dreiwertiges) Modell.Bei <strong>deduktiven</strong> <strong>Datenbanken</strong> s<strong>in</strong>d nun Änderungen der Fakten recht häufig. In diesemBeispiel könnte man durch e<strong>in</strong>e E<strong>in</strong>fügung <strong>in</strong> zug e<strong>in</strong>en Zustand erreichen, bei dem dieNegationssemantik zusammenbricht. Aus diesem Grund sche<strong>in</strong>t es bei <strong>deduktiven</strong> <strong>Datenbanken</strong>im Unterschied zu logischen Programmen besser, die Steuerungs<strong>in</strong>formationgetrennt vom logischen Inhalt zu formulieren. Bei <strong>deduktiven</strong> <strong>Datenbanken</strong> ist die E<strong>in</strong>schränkungauf stratifizierte Formelmengen also üblich. Anfragen der Relationenalgebraan Faktenmengen kann man sogar <strong>in</strong> hierarchische (d.h. nicht-rekursive) Formelmengenübersetzten.Disjunktive InformationBeispiel 3.1.5: In e<strong>in</strong>em Expertensystem zur Fehlerdiagnose von Computern könnteman etwa schließen: Wenn die Versorgungsspannung fehlt, s<strong>in</strong>d die Sicherungen durchgebranntoder das ist Netzteil defekt“ (möglicherweise auch ”beides).defekt(sicherung) ∨ defekt(netzteil) ← symptom(ke<strong>in</strong>e versorgungsspannung).


54 KAPITEL 3. ANWENDUNGSBEISPIELEDie orig<strong>in</strong>ale CWA würde hier ¬defekt(sicherung) und ¬defekt(netzteil) annehmen (dennes folgt ja weder defekt(sicherung) noch defekt(netzteil)). Damit wird natürlich die Konsistenzzerstört.Zunächst kann man es natürlich als zu optimistisch ansehen, überhaupt Negations-<strong>Defaults</strong> für defekt anzunehmen. Das bestärkt natürlich den hier verfolgten Ansatz, daß<strong>Defaults</strong> Gegenstand des <strong>Datenbanken</strong>twurfs se<strong>in</strong> sollten, und nicht fest <strong>in</strong> die Anfragebeantwortunge<strong>in</strong>gebaut.In diesem Beispiel wäre es allerd<strong>in</strong>gs sehr unökonomisch, jedes Teil prüfen zu wollen,wenn man den Fehler schon soweit lokalisiert hat, daß die Versorgungsspannung ausgefallenist. Weiß man dagegen nur, daß der Computer defekt ist, so hat man e<strong>in</strong>e großeDisjunktiondefekt(cpu) ∨ defekt(hauptspeicher) ∨ · · · ∨ defekt(tastatur).Diese Disjunktion sollte die Anwendung der betreffenden Negations-<strong>Defaults</strong> verh<strong>in</strong>dern,aber nur, solange man nicht gleichzeitig spezifischere Informationen hat. Dies ist e<strong>in</strong>wesentlicher Unterschied zu Semantiken disjunktiver logischer Programme [RT88], diee<strong>in</strong>fach alle entsprechenden Negations-<strong>Defaults</strong> blockieren, wenn syntaktisch e<strong>in</strong>e solcheDisjunktion aufgeschrieben ist.Natürlich wäre es <strong>in</strong> diesem Beispiel wohl noch realistischer, wenn man auch typischeFolgefehler berücksichtigen würde. Wenn man etwa erzw<strong>in</strong>gen möchte, daß die Sicherungenüberprüft werden, wenn das Netzteil defekt war, so könnte man folgenden Defaultverwenden:defekt(sicherung) ← defekt(netzteil).Dies ist natürlich nur e<strong>in</strong> Default, es ist auch möglich, daß das Netzteil defekt ist, ohnedaß die Sicherungen <strong>in</strong> Mitleidenschaft gezogen wurden. Aber dieser Default steht imKonflikt mit ¬defekt(sicherung), so daß sich die beiden <strong>Defaults</strong> gegenseitig blockieren(falls das Netzteil defekt ist).Damit wurde jetzt erstmals der Bereich der re<strong>in</strong>en Negations-<strong>Defaults</strong> verlassen. Beider Fehler-Diagnose gibt es noch viele weitere solcher Faustregeln, die sich sehr natürlichals <strong>Defaults</strong> formulieren lassen.✷In diesem Beispiel möchte man also diejenigen Negations-<strong>Defaults</strong> annehmen, die nichtan e<strong>in</strong>er m<strong>in</strong>imalen positiven Grundklausel beteiligt s<strong>in</strong>d, die aus den Axiomen Φ folgt(m<strong>in</strong>imal <strong>in</strong> dem S<strong>in</strong>ne, daß ke<strong>in</strong>e Teilklausel auch aus Φ folgt). Dies liefert geradedie GCWA [M<strong>in</strong>82]. Die Verallgeme<strong>in</strong>erung der GCWA auf beliebige <strong>Defaults</strong> ist dievorsichtige CWA, die <strong>in</strong> Kapitel 5 behandelt wird.Dies ist aber nicht die e<strong>in</strong>zige mögliche Negations-Semantik bei disjunktiver Information:Beispiel 3.1.6: Disjunktive Information entsteht auch bei Regeln über (biologische)Vererbung, etwa bei Blutgruppen:blutgruppe(X, a) ∨ blutgruppe(X, 0 ) ←eltern(X, Y 1 , Y 2 ) ∧ blutgruppe(Y 1 , a) ∧ blutgruppe(Y 2 , 0 ).


3.1. IMPLIZITE NEGATION 55Haben die Eltern die Blutgruppen a und 0 , so kann auch das K<strong>in</strong>d nur e<strong>in</strong>e dieser Blutgruppenhaben.Falls für e<strong>in</strong>e Person X, etwa anton, die Voraussetzungen erfüllt s<strong>in</strong>d, so könnennatürlich die beiden Negations-<strong>Defaults</strong> ¬blutgruppe(anton, a) und ¬blutgruppe(anton, 0 )nicht angenommen werden (es sei denn, man hätte genauere Information über die Blutgruppevon anton). Es ist aber durchaus möglich und wünschenswert, ihre Disjunktionanzunehmen:¬blutgruppe(anton, a) ∨ ¬blutgruppe(anton, 0 ).Damit wird aus dem ”oder“ also e<strong>in</strong> ”exklusives oder“.Bei diesem Beispiel könnte man natürlich anstelle der <strong>Defaults</strong> e<strong>in</strong>fach die Schlüsselbed<strong>in</strong>gungblutgruppe(X, Y 1 ) ∧ blutgruppe(X, Y 2 ) → Y 1 = Y 2verwenden (jede Person hat genau e<strong>in</strong>e Blutgruppe). Bei dem nächsten Beispiel ist diesanders:Beispiel 3.1.7: Auch Vorschriften enthalten häufig disjunktive Information. Wennman etwa abspeichert, welche Übungssche<strong>in</strong>e welche Studenten gemacht haben, so ist e<strong>in</strong>Negations-Default angemessen:sche<strong>in</strong>(anton, programmieren 1 ), sche<strong>in</strong>(anton, algebra), . . .Hier würde e<strong>in</strong>e Schlüssel-Bed<strong>in</strong>gung also schon nicht mehr anwendbar se<strong>in</strong>.Die Vordiploms-Ordnung kann jetzt verlangen, daß e<strong>in</strong> Sche<strong>in</strong> für das Programmierpraktikum<strong>in</strong> Modula oder das <strong>in</strong> Assembler erworben wird:sche<strong>in</strong>(X, prakt modula) ∨ sche<strong>in</strong>(X, prakt assembler) ← vordiplom(X).Hier ist die Disjunktion¬sche<strong>in</strong>(anton, prakt modula) ∨ ¬sche<strong>in</strong>(anton, prakt assembler)natürlich sehr wahrsche<strong>in</strong>lich.Natürlich könnte man zunächst auf die Idee kommen, daß der <strong>Datenbanken</strong>twerfer ebenentsprechende disjunktive <strong>Defaults</strong> explizit aufschreiben sollte. Dies wäre jedoch m<strong>in</strong>destenssehr umständlich, im allgeme<strong>in</strong>en kann man die Länge der benötigten Disjunktionenauch gar nicht vorhersehen (weil sie abhängig von später e<strong>in</strong>gefügten Fakten ist). Daherersche<strong>in</strong>t es s<strong>in</strong>nvoll, daß die Default-Semantik dem Entwerfer diese Arbeit abnimmt.Tatsächlich gibt es auch e<strong>in</strong>e sehr natürliche Semantik mit dieser Eigenschaft, undzwar die ”m<strong>in</strong>imalen Modelle“ [McC80]. Ziel der Negations-<strong>Defaults</strong> ist ja, daß die Interpretationder Prädikate ke<strong>in</strong>e überflüssigen Tupel enthalten, also m<strong>in</strong>imal s<strong>in</strong>d <strong>in</strong> demS<strong>in</strong>n, daß ohne Verletzung der Axiome ke<strong>in</strong>e Tupel herausgenommen werden können.Die m<strong>in</strong>imalen Modelle und ihre Verallgeme<strong>in</strong>erung auf beliebige <strong>Defaults</strong> werden nochausführlich <strong>in</strong> Kapitel 5 untersucht.✷✷


56 KAPITEL 3. ANWENDUNGSBEISPIELEUnvollständige Relationen und unsichere InformationE<strong>in</strong>e Tabelle (d.h. e<strong>in</strong>e Menge von Fakten) kann auch so unvollständig se<strong>in</strong>, daß man sichauf re<strong>in</strong> logische Folgerungen beschränken möchte (im Gegensatz zu der obigen Annahme,daß jedes nicht explizit aufgeführte Faktum auch nicht gilt):Beispiel 3.1.8:auftreten:Dieser Fall kann etwa bei e<strong>in</strong>em unvollständigen TelefonverzeichnisΦ := {telefon(anton, 1111), telefon(berta, 2222)}.Hier sollte natürlich nicht ¬telefon(cäsar, 3333) folgen, denn es kann nicht ausgeschlossenwerden, daß cäsar wirklich diese Telefonnummer hat.Allerd<strong>in</strong>gs ist auch bei e<strong>in</strong>er so unvollständigen Telefonliste die re<strong>in</strong> logische Folgerungnicht unbed<strong>in</strong>gt die beste Vervollständigung. So wäre bei der Anfrage telefon(anton, 3333)die Antwort ne<strong>in</strong>“ <strong>in</strong>tuitiv korrekt, die logische Folgerung würde aber unbekannt“ liefern.Der Grund ist, daß man nicht explizit vermerkt hat, daß e<strong>in</strong>e Person nur e<strong>in</strong>e” ”Telefonnummer hat. Natürlich könnte man e<strong>in</strong>e solche Schlüsselbed<strong>in</strong>gung h<strong>in</strong>zufügen,dann wäre es aber unmöglich, mehrere Telefonnummern für e<strong>in</strong>e Person e<strong>in</strong>zutragen (etwadienstlich/privat). Die Lösung ist, daß man die Schlüsselbed<strong>in</strong>gung nicht als Axiom, sondernals Default formuliert:telefon(X, Y 1 ) ∧ telefon(X, Y 2 ) → Y 1 = Y 2 .Umgekehrt gehört zu e<strong>in</strong>er Telefonnummer meist auch nur e<strong>in</strong>e Person, obwohl es auchhier Ausnahmen gibt (Angehörige derselben Familie).✷Beispiel 3.1.9: Wenn man über e<strong>in</strong> Prädikat nur logische Folgerungen zulassen möchte,ergeben sich manchmal Schwierigkeiten im Zusammenspiel mit <strong>Defaults</strong> über anderePrädikate. Angenommen, man erweitert das Telefonverzeichnis um Vorwahlnummerntelefon(anton, 011, 1111), telefon(berta, 022, 2222)und def<strong>in</strong>iert dann, wer außerhalb wohnt:außerhalb(X) ← telefon(X, Y 1 , Y 2 ) ∧ Y 1 ≠ 011.Nimmt man nun Negations-<strong>Defaults</strong> über außerhalb an, so folgt mit dieser Regel¬telefon(cäsar, 022, 3333).Abhilfe verschaffen hier die zunächst vielleicht s<strong>in</strong>nlos ersche<strong>in</strong>enden <strong>Defaults</strong>telefon(X, Y 1 , Y 2 ), ¬telefon(X, Y 1 , Y 2 ).Diese <strong>Defaults</strong> blockieren sich natürlich gegenseitig, aber sie blockieren auch jeden anderenDefault, der neue Information über telefon liefern würde.✷Diese Technik kann man allgeme<strong>in</strong> benutzen, um e<strong>in</strong>e Art Modularisierung zu erreichen.Wenn etwa e<strong>in</strong> Modul A das Modul B benutzt, so kann man den <strong>Defaults</strong> über B höchstePriorität geben, dann e<strong>in</strong>e Schicht von solchen blockierenden <strong>Defaults</strong> e<strong>in</strong>ziehen, undanschließend die <strong>Defaults</strong> von A verwenden. Auf diese Art wird verh<strong>in</strong>dert, daß die


3.1. IMPLIZITE NEGATION 57<strong>Defaults</strong> von A irgendwelche Rückwirkungen auf die Prädikate von B haben können, dasbenutzende und das def<strong>in</strong>ierende Vorkommen ist hier klar getrennt.Natürlich kann man mit dieser Technik nicht verh<strong>in</strong>dern, daß Axiome <strong>in</strong> A neue Informationüber die Prädikate von B liefern. Das kann man aber durch entsprechende syntaktischeE<strong>in</strong>schränkungen erreichen, wie etwa, daß jedes Axiom <strong>in</strong> A e<strong>in</strong> positives Literalmit e<strong>in</strong>em Prädikat aus A enthalten muß. Dann kann jedes Modell der Prädikate aus Bzu e<strong>in</strong>em Modell aller Prädikate erweitert werden. Diese syntaktische E<strong>in</strong>schränkung istganz üblich. Typischerweise s<strong>in</strong>d es nur die Negations-<strong>Defaults</strong>, die die Anwendung derKontraposition e<strong>in</strong>er Regel gestatten.Beispiel 3.1.10: Es kommt auch vor, daß man zwar Negations-<strong>Defaults</strong> über e<strong>in</strong>eRelation annehmen möchte, sie aber für bestimmte Ausnahmetupel blockieren muß.So könnte etwa dora früher die Telefonnummer 4444 gehabt haben, aber sie hat immerdavon gesprochen, daß sie ihr Telefon eigentlich abmelden wollte. Also sollte man dieAnfrage telefon(dora, 4444) mit unbekannt“ beantworten, für jede andere Telefonnummer”sollte jedoch e<strong>in</strong> Negations-Default angenommen werden.Hat man nur diese e<strong>in</strong>e Ausnahme, so kann man e<strong>in</strong>fach den Defaulttelefon(dora, 4444)verwenden, um die Ausprägung ¬telefon(dora, 4444) des allgeme<strong>in</strong>en Negations-<strong>Defaults</strong>¬telefon(X, Y ) zu neutralisieren.Gibt es mehr Ausnahmen, so kann man sie <strong>in</strong> e<strong>in</strong>er Relation unsichere nummer abspeichernund dann die Default-Regeltelefon(X, Y ) ← unsichere nummer(X, Y )verwenden. Wieder blockieren sich die <strong>Defaults</strong> gegenseitig.Mit dieser Technik kann man auch die <strong>in</strong> [RT88] vorgeschlagene Semantik für disjunktivelogische Programme simulieren. Das Problem ist hier, daß bei e<strong>in</strong>er Regel der Formp 1 (X) ∨ p 2 (X) ← q(X)die Negations-<strong>Defaults</strong> ¬p 1 (X) und ¬p 2 (X) für alle X mit q(X) blockiert s<strong>in</strong>d, selbstdann, wenn etwa p 1 (X) mit e<strong>in</strong>er anderen Regel beweisbar wäre. Beispielsweise würdebei Φ 1 := {p(a) ∨ p(b), p(a)} der Negations-Default ¬p(b) nicht angenommen werden, beider logisch äquivalententen Formelmenge Φ 2 := {p(a)} aber schon.Der Trick besteht nun dar<strong>in</strong>, alle Prädikate zu verdoppeln und die obige Regel (automatisch)umzuschreiben <strong>in</strong> folgende Regeln:p 1 (X) ∨ p 2 (X) ← q(X).möglich p 1 (X) ← q(X).möglich p 2 (X) ← q(X).Mit den Negations-<strong>Defaults</strong> für alle Prädikate und den Default-Regelnp i (X) ← möglich p i (X)erhält man nun das gewünschte Verhalten.✷


58 KAPITEL 3. ANWENDUNGSBEISPIELENullwerteRelationale <strong>Datenbanken</strong> bieten häufig Nullwerte an, um unvollständige Information abzuspeichern.Nullwerte können allerd<strong>in</strong>gs sehr unterschiedliche Bedeutungen haben, etwa” unbekannt“, ” ke<strong>in</strong>e Information vorhanden“, ” nicht anwendbar“, ” beliebig“ oder ” ke<strong>in</strong>Wert vorhanden“. Relationale <strong>Datenbanken</strong> bieten meist nur Nullwerte mit e<strong>in</strong>er festenBedeutung, die allerd<strong>in</strong>gs nicht immer völlig klar ist (<strong>in</strong>sbesondere wird dabei von e<strong>in</strong>erdreiwertigen Logik Gebrauch gemacht, hauptsächlich um e<strong>in</strong>e effiziente Auswertung derAnfragen zu erlauben).Beispiel 3.1.11: Es sei wieder e<strong>in</strong>e Liste von Telefonnummern abzuspeichern <strong>in</strong> derFormΦ := { telefon(anton, 1111), telefon(berta, 2222) } .Falls die Telefonliste so unvollständig ist, daß man über nicht e<strong>in</strong>getragene Personenke<strong>in</strong>e Aussage machen möchte, muß man explizit e<strong>in</strong>tragen, wenn bekannt ist, daß e<strong>in</strong>ebestimmte Person ke<strong>in</strong> Telefon hat. Dies könnte mit e<strong>in</strong>em Nullwert geschehen <strong>in</strong> derForm telefon(cäsar, —). Geme<strong>in</strong>t ist aber die Aussage¬telefon(cäsar, X),die logisch gesehen wesentlich klarer ist. Der Nullwert <strong>in</strong> der Bedeutung ke<strong>in</strong> Wert ”vorhanden“ ist also nur dann nötig, wenn solche Formeln <strong>in</strong> der zugrundeliegenden Logiknicht zulässig s<strong>in</strong>d. Allgeme<strong>in</strong> ist die Vielzahl verschiedener Nullwerte wohl nur aus demZwang entstanden, <strong>in</strong> e<strong>in</strong>em relationalen System alles als Tabelle notieren zu müssen. ✷Beispiel 3.1.12: Das Telefonverzeichnis sei im folgenden so vollständig, daß man dieüblichen Negations-<strong>Defaults</strong> annehmen kann. Dann muß man natürlich mögliche Lückenim Wissen explizit vermerken. Wenn man etwa nicht weiß, ob cäsar e<strong>in</strong> Telefon hat, sokann man das mit e<strong>in</strong>em Nullwert <strong>in</strong> der Bedeutung von ke<strong>in</strong>e Information vorhanden“”tun: telefon(cäsar, —). Solche Nullwerte kann man mit der <strong>in</strong> Beispiel 3.1.10 gezeigtenTechnik behandeln, man hat ja hier nur alle Negations-<strong>Defaults</strong> der Form¬telefon(cäsar, X)zu blockieren.Beispiel 3.1.13: Am <strong>in</strong>teressantesten s<strong>in</strong>d natürlich Nullwerte <strong>in</strong> der Bedeutung unbekannt“.Es handelt sich hier um e<strong>in</strong>e ”Existenzaussage∃X ( telefon(cäsar, X) ) .Allerd<strong>in</strong>gs kann man <strong>in</strong> der Logik aus Kapitel 2 ke<strong>in</strong>e Existenzaussagen formulieren.Die Standard-Lösung ist, e<strong>in</strong>e neue Konstante ( ”Skolemkonstante“) für diesen Wert e<strong>in</strong>zuführen:telefon(cäsar, c).Aber auch dies funktioniert so noch nicht, weil hier generell angenommen wird, daß verschiedeneKonstanten auch verschiedene Werte bezeichnen. Aus diesem Grund kann etwa✷


3.2. VERERBUNG IN OBJEKT-ORIENTIERTEN ANSÄTZEN 59der Default ¬telefon(cäsar, 3333) angenommen werden, obwohl cäsar ja eventuell geradediese Telefonnummer hat. E<strong>in</strong>e Annäherung an die Bedeutung des Nullwerts wäre es,die entsprechenden Negations-<strong>Defaults</strong> wie oben gezeigt zu blockieren, etwa mit Hilfe derDefault-Regeltelefon(X, Y ) ← telefon(X, c).Dies br<strong>in</strong>gt natürlich noch nicht zum Ausdruck, daß c und 3333 möglicherweise gleichs<strong>in</strong>d.E<strong>in</strong>e etwas aufwendige, aber korrekte Lösung wäre es, die Annahme e<strong>in</strong>deutiger Namenwieder aufzuheben, <strong>in</strong>dem man e<strong>in</strong> eigenes Gleichheitsprädikat equal e<strong>in</strong>führt. Insbesonderemüßte man die Verträglichkeit mit den Prädikaten fordern:telefon(X, Y ′ ) ← telefon(X, Y ) ∧ equal(Y, Y ′ ).Ohne weitere <strong>Defaults</strong> wirkt sich das noch nicht aus, weil weiterh<strong>in</strong> Negationsdefaultsüber telefon angenommen werden können, sie implizieren dann e<strong>in</strong>fach neue Informationüber equal. Im Extremfall kann man dies völlig ausschließen mit den nun schon bekannten<strong>Defaults</strong>equal(X, Y ), ¬equal(X, Y ).Dann müßte man aber die Axiome der e<strong>in</strong>deutigen Namen für die normalen Konstantenexplizit aufschreiben, etwa ¬equal(1111, 2222). Geschickter ist es, neue Information überdas Gleichheitsprädikat nur für die Nullwerte wie c zu verbieten.Wenn man equal nur dazu verwendet, <strong>in</strong> konsistenter Weise Negations-<strong>Defaults</strong> zublockieren, so braucht man es auch nicht ganz als Gleichheitsprädikat zu spezifizieren.Insbesondere ist die Reflexivität überflüssig, die ja e<strong>in</strong>en enormen Aufwand erzeugenwürde.✷3.2 Vererbung <strong>in</strong> objekt-orientierten AnsätzenWie <strong>in</strong> der E<strong>in</strong>leitung schon erwähnt wurde, ist es wünschenswert, objekt-orientierteStrukturierungsmöglichkeiten <strong>in</strong> deduktive <strong>Datenbanken</strong> zu <strong>in</strong>tegrieren.E<strong>in</strong>er der Ursprünge der Objekt-Orientierung ist das Modul-Konzept <strong>in</strong> Programmiersprachen.Daher ersche<strong>in</strong>t es recht offensichtlich, daß bei e<strong>in</strong>er solchen Integration jedesObjekt e<strong>in</strong>e eigene kle<strong>in</strong>e deduktive Datenbank enthalten sollte. Insbesondere sollte esalso möglich se<strong>in</strong>, Regeln <strong>in</strong> den Objekten abzuspeichern. Momentan s<strong>in</strong>d viele Ansätzedagegen zweistufig: Auf der unteren Ebene hat man e<strong>in</strong>e Objekt-Datenbank und auf deroberen Ebene Regeln über diese Objekte.E<strong>in</strong> anderer Ursprung der Objekt-Orientierung ist der Wunsch, Programmcode wiederzuverwenden,also Software auf e<strong>in</strong>e differentielle Art zu entwickeln, <strong>in</strong>dem e<strong>in</strong> Modulaus e<strong>in</strong>er Bibliothek ausgewählt wird, e<strong>in</strong>ige neue Funktionen h<strong>in</strong>zugefügt und e<strong>in</strong>ige alteüberschrieben werden. Dies führte zu den bekannten Vererbungs-Hierarchien <strong>in</strong> objektorientiertenSpezifikationen.


60 KAPITEL 3. ANWENDUNGSBEISPIELEEs gibt verschiedene Möglichkeiten, e<strong>in</strong>en solchen Vererbungs-Mechanismus <strong>in</strong> deduktive<strong>Datenbanken</strong> zu <strong>in</strong>tegrieren. E<strong>in</strong> offensichtlicher syntaktischer Weg wäre es, demBenutzer zu erlauben, die Vererbung von Regeln gezielt zu unterdrücken. Dies wärenatürlich e<strong>in</strong>erseits etwas unbequem, weil man häufig genau angeben muß, welche Regelnman ausschließen will (automatisch könnte man ja wohl nur alle Regeln über e<strong>in</strong> Prädikatelim<strong>in</strong>ieren). Andererseits ist die Ebene der Regeln meist auch schon zu hoch, denntypischerweise will man nur e<strong>in</strong>ige wenige, möglicherweise bed<strong>in</strong>gte Ausnahmen zu denRegeln angeben, und sie nicht völlig neu formulieren.In dieser Situation ist es naheliegend, die vererbten Regeln als <strong>Defaults</strong> anzusehen,die von spezifischerer Information überschrieben werden können.Beispiel 3.2.1: E<strong>in</strong> e<strong>in</strong>faches Beispiel s<strong>in</strong>d die unterschiedlichen Rabatte, die verschiedeneKlassen von Kunden bekommen. So bekommen allgeme<strong>in</strong>e Kunden typischerweise0% auf alle Produkte. Der Subtyp der Universitäts-Kunden bekommt dagegen 30% aufHardware und 50% auf Software. Diesen Kunden wird vermutlich erst später klar, daßes außer Hardware und Software auch noch den Bereich der Dienstleistungen (z.B. Wartungsverträge)gibt, auf den sie die ererbten 0% bekommen. Für e<strong>in</strong>en speziellen Kundenmit ausreichendem Verhandlungsgeschick können natürlich alle Rabatte noch e<strong>in</strong>malüberschrieben werden.kunderabatt(X, 0) ← produkt(X)uni kunderabatt(X, 30) ← hardware(X)rabatt(X, 50) ← software(X)uni hannoverrabatt(risc500 , 40)Formulierungen wie die obigen s<strong>in</strong>d noch objekt-lokal, man möchte natürlich mehrereKunden <strong>in</strong> der Datenbank haben. Wenn man ke<strong>in</strong>e spezielle Logik e<strong>in</strong>setzt, muß manzunächst das Prädikat rabatt um e<strong>in</strong> zusätzliches Argument für das aktuelle Objekt (denKunden) erweitern.Außerdem hat die <strong>in</strong> Kapitel 2 e<strong>in</strong>geführte Logik ke<strong>in</strong>e Subtypen, man kann sie abermit Prädikaten wie etwa uni kunde simulieren. Die betrachteten <strong>Defaults</strong> lauten alsorabatt(X, Y, 0) ← produkt(Y ) ∧ kunde(X).rabatt(X, Y, 30) ← hardware(Y ) ∧ uni kunde(X).rabatt(X, Y, 50) ← software(Y ) ∧ uni kunde(X).


3.2. VERERBUNG IN OBJEKT-ORIENTIERTEN ANSÄTZEN 61Dabei hat der erste niedrigere Priorität (also e<strong>in</strong>en höheren l-Wert), weil er aus demSupertyp stammt und daher weniger spezifisch ist. Die <strong>in</strong> den Objekten spezifiziertenFakten werden <strong>in</strong> Axiome übersetzt:rabatt(uni hannover, risc500 , 40).H<strong>in</strong>zu kommt noch die Typisierungs-Information:kunde(X) ← uni kunde(X).uni kunde(uni hannover).Außerdem ist e<strong>in</strong>e Schlüssel-Bed<strong>in</strong>gung für rabatt nötig:rabatt(X 1 , X 2 , Y ) ∧ rabatt(X 1 , X 2 , Y ′ ) → Y = Y ′ .Trägt man nun noch Fakten über die Produkte e<strong>in</strong>, so hat diese Spezifikation unter derstufenweisen CWA das gewünschte Verhalten.Zur objekt-lokalen Notation ist schließlich noch zu bemerken, daß mit e<strong>in</strong>er Schreibweisewie X.software auf e<strong>in</strong> anderes Objekt Bezug genommen werden kann. Dies wirdmit e<strong>in</strong>er analogen Transformation wie für rabatt <strong>in</strong> software(X) übersetzt. Oben wurdezur Vere<strong>in</strong>fachung bereits dieses Ergebnis e<strong>in</strong>gesetzt.✷Man kann jetzt natürlich auch ”mehrfache Vererbung“ betrachten, also Objekttypen mitmehr als e<strong>in</strong>em Obertyp. Hier werden erstmals partiell geordnete <strong>Defaults</strong> nötig, wie mansich leicht an folgender Typ-Struktur klar machen kann:C 2B❅❅C 1 AHier soll ke<strong>in</strong>e Priorität zwischen den <strong>in</strong> B und C 1 spezifizierten <strong>Defaults</strong> bestehen, undauch ke<strong>in</strong>e Priorität zwischen denjenigen aus B und C 2 . Alle diese <strong>Defaults</strong> müßten alsodenselben l-Wert haben. Andererseits sollen die <strong>Defaults</strong> aus C 1 die <strong>Defaults</strong> aus C 2überschreiben, müssen also e<strong>in</strong>en echt kle<strong>in</strong>eren l-Wert haben. Daher gibt es ke<strong>in</strong>e Stufene<strong>in</strong>teilungl der <strong>Defaults</strong>, die die gewünschten Prioritäten zum Ausdruck br<strong>in</strong>gt.Es ist nun naheliegend, die Subtyp-Beziehung direkt als Prioritätsrelation e<strong>in</strong>zusetzen.Dies ist auch möglich, weil Prioritätsrelationen beliebige partielle Ordnungen se<strong>in</strong> können(ebenso wie die Subtyp-Beziehung).Beispiel 3.2.2: Mehrfache Vererbung führt natürlich zu unvollständiger Information,wenn die ererbten Formeln sich widersprechen. Es gibt dann wieder die oben erwähntenunterschiedlichen Möglichkeiten:Sei <strong>in</strong> Beispiel 3.2.1 noch der Objekttyp Großkunde“ e<strong>in</strong>geführt, der auf Hardware30%, auf Software 40% und auf Dienstleistungen 20% Rabatt bekommt. Es kann”dann natürlich auch Universitäten geben, die Großkunden s<strong>in</strong>d.


62 KAPITEL 3. ANWENDUNGSBEISPIELEuni kunderabatt(X, 30) ← hardware(X)rabatt(X, 50) ← software(X)kunderabatt(X, 0) ← produkt(X) ❅❅❅❅ uni hannoverrabatt(risc500 , 40)groß kunderabatt(X, 30) ← hardware(X)rabatt(X, 40) ← software(X)rabatt(X, 20) ← dienstleistungen(X)Da man Rabatte im allgeme<strong>in</strong>en nicht addieren kann, werden solche Kunden wohl 20% aufDienstleistungen, 30% auf Hardware und 50% auf Software bekommen. Natürlich kannman von der Default-Semantik nicht erwarten, daß sie dies völlig automatisch erkennt.Klar ist, daß jede vernünftige Default-Semantik die 30% auf Hardware liefern sollte,denn hier unterscheiden sich die geerbten Werte nicht. Wählt man nun die m<strong>in</strong>imaleModelle“-Semantik, so erhält man für Software wenigstens die Disjunktion, also ”40% oder 50%. Für Dienstleistungen erhält man dagegen die 20% von den Großkunden,denn Universitäten haben ihre 0% von den allgeme<strong>in</strong>en Kunden geerbt, diese s<strong>in</strong>d abere<strong>in</strong> Obertyp von Großkunden. An dieser Stelle könnten andere Vererbungssemantikennatürlich auch e<strong>in</strong>e Disjunktion 0% oder 20% liefern.Man könnte natürlich auch e<strong>in</strong>e stärkere Auslöschung wünschen, falls man die Disjunktion40% oder 50% auf Software für zu unsicher hält. Die <strong>in</strong> Kapitel 5 vorgestelltevorsichtige CWA“ würde gerade alle Informationen über den Rabatt auf Software löschen.”Die Rabatte auf Hardware und Dienstleistungen bleiben dabei erhalten.✷Beispiel 3.2.3: Es ist noch <strong>in</strong>teressant, festzuhalten, daß bei der Default-Semantikder Vererbung e<strong>in</strong>mal überschriebene Regeln später wieder zum Zuge kommen können.Angenommen, man hat e<strong>in</strong> e<strong>in</strong>stelliges Prädikat p mit e<strong>in</strong>er Schlüsseldeklarationp(X) ∧ p(X ′ ) → X = X ′ .Dieses Prädikat kann also nur e<strong>in</strong>en Wert annehmen. Sei nun folgende Spezifikation mitdrei Objekttypen A, B, C betrachtet:A :B :C :p(a)p(b)p(a) ∨ p(c)


3.2. VERERBUNG IN OBJEKT-ORIENTIERTEN ANSÄTZEN 63Da sich die <strong>in</strong> A und B spezifizierten Formeln widersprechen, wird p(a) überschrieben.Die <strong>in</strong> C spezifizierte Disjunktion überschreibt wiederum p(b). Da es nun aber möglichist, p(a) anzunehmen, wird diese Formel aus A wieder wirksam: Für Objekte des Typs Cgilt p(a) und ¬p(c).✷Beispiel 3.2.4: Bei der Vererbung werden aus den Regeln <strong>Defaults</strong>. Wenn man aberzuläßt, daß außerdem noch <strong>Defaults</strong> explizit angegeben werden, so s<strong>in</strong>d die Prioritätennicht mehr so klar. Beispielsweise könnte man <strong>in</strong> e<strong>in</strong>em Obertyp die Prädikate p und qdurch Aufzählung von Fakten def<strong>in</strong>iert haben:p(a), q(a), q(b).H<strong>in</strong>zu kommen natürlich noch die üblichen Negations-<strong>Defaults</strong>:¬p(X), ¬q(X).In e<strong>in</strong>em Untertyp def<strong>in</strong>iert man nun e<strong>in</strong> zusätzliches Prädikat r durch folgende Regel:r(X) ← ¬p(X) ∧ q(X)zusammen mit dem Negations-Default ¬r(X). Gibt man nun diesem Default höherePriorität als dem entsprechenden Default ¬p(X) aus dem Obertyp, so verändert man <strong>in</strong>vermutlich nicht beabsichtigter Weise das Prädikat p: Der Default ¬r(b) wird hier demDefault ¬p(b) vorgezogen, es folgt also plötzlich p(b).Das Problem ist hier, daß die von der Vererbungshierarchie und die von der Stratifizierungstammenden Prioritäten sich widersprechen. Man kommt hier nicht ohne Hilfevom <strong>Datenbanken</strong>twerfer aus, denn <strong>in</strong> anderen Situationen wäre es sehr wohl denkbar,daß das ererbte Prädikat p überschrieben werden soll, und zwar unter Verwendung desneu e<strong>in</strong>geführten Prädikates r. Man muß vom <strong>Datenbanken</strong>twerfer also wohl verlangen,daß er relative Prioritäten zu den ererbten Prioritäten spezifiziert. Alternativ könnte erauch angeben, daß bestimmte Prädikate bei der Vererbung nicht überschrieben werdensollen.✷Die Semantik der Vererbung logischer Formeln ist e<strong>in</strong> <strong>in</strong>teressantes Forschungsthema. Indem Vorschlag aus [KLW90] werden im wesentlichen Werte vererbt und nicht Formeln;spezifiziert man <strong>in</strong> e<strong>in</strong>er ”Objektklasse“ etwa e<strong>in</strong>e (exklusive) Disjunktion, so haben entwederalle Instanzen den e<strong>in</strong>en Wert, oder alle haben den anderen Wert (sofern ke<strong>in</strong>espezifischere Information vorliegt). In [LU92] wird diese Semantik weiter untersucht, <strong>in</strong>sbesondereauch ihre algorithmische Seite. Der Ansatz von [LV91] berücksichtigt sehr starkdie Schreibweise der Formeln als Implikationen, dadurch werden unter Umständen Formelnvorgezogen, die wesentlich höher <strong>in</strong> der Objekthierarchie spezifiziert s<strong>in</strong>d. Schließlichsei noch auf die Theorie der Vererbungsnetze verwiesen, e<strong>in</strong>e Beziehung zum nichtmonotonenSchließen wird etwa <strong>in</strong> [Eth88, Mak92] hergestellt.Es gibt natürlich noch viele weitere Aspekte e<strong>in</strong>er Integration von Objekt-Orientierungund Logik. Zum e<strong>in</strong>en ist das Lokalitätspr<strong>in</strong>zip zu nennen: Ke<strong>in</strong> Objekt sollte Aussagenüber andere Objekte enthalten. E<strong>in</strong>ige erste Untersuchungen hierzu f<strong>in</strong>den sich <strong>in</strong> [BL91].


64 KAPITEL 3. ANWENDUNGSBEISPIELEAndererseits ist wohl e<strong>in</strong>e wesentlich reichere Typstruktur wünschenswert, wie sie <strong>in</strong>sbesonderevon der F-Logik [KLW90] geboten wird. Schließlich haben Objekte auch noche<strong>in</strong>en <strong>in</strong>neren Zustand, der über Änderungsoperationen modifiziert werden kann.3.3 Formalisierung von ÄnderungsoperationenE<strong>in</strong>e wichtige Anwendung von <strong>Defaults</strong> ist auch die Formalisierung der Rahmenregel beiÄnderungsoperationen. Normalerweise wird nur explizit angegeben, was sich bei derAusführung e<strong>in</strong>er Aktion ändert. Man geht dann davon aus, daß alles andere unverändertbleibt. Oft läßt sich aber nicht e<strong>in</strong>fach syntaktisch feststellen, was genau alles andere“”ist. Zusätzliche Schwierigkeiten treten bei nichtdeterm<strong>in</strong>istischen Aktionen auf, derenNachbed<strong>in</strong>gung also Disjunktionen enthält. Die naheliegende Lösung ist nun, e<strong>in</strong>en Defaultder Art alles bleibt, wie es ist“ zu verwenden. Auf diese Weise erzw<strong>in</strong>gt man, daß”nur e<strong>in</strong>e m<strong>in</strong>imale Änderung durchgeführt wird, um die Aktions-Spezifikation zu erfüllen.ZustandsübergängeBeispiel 3.3.1: Als Beispiel sei e<strong>in</strong> rudimentäres Abenteuerspiel betrachtet. DiesesSpiel hat nur zwei ”Räume“: e<strong>in</strong>en Wald und e<strong>in</strong>e Höhle (richtige Spiele haben etwa100 Räume). Die Aufgabe ist nun, im Wald den Honig zu nehmen und damit den Bären<strong>in</strong> der Höhle zu füttern. E<strong>in</strong> Zustand des Spiels ist also durch die Information beschrieben,• <strong>in</strong> welchem Raum sich der Spieler bef<strong>in</strong>det (Wald oder Höhle),• wo sich der Honig bef<strong>in</strong>det (möglicherweise <strong>in</strong> der Tasche des Spielers),• ob der Bär noch hungrig ist.Der Spieler kann den Zustand nun durch se<strong>in</strong>e Züge verändern, so kann er etwa mit denKommandos ”gehe nach Norden“ und ”gehe nach Süden“ zwischen den beiden Räumenwechseln, er kann den Honig nehmen und den Bär füttern (gute Abenteuerspiele habene<strong>in</strong>en Wortschatz von über 1000 Worten).Beispielsweise sei die Operation ”nimm den Honig“ zu spezifizieren. Die Vorbed<strong>in</strong>gungist, daß sich der Spieler im selben Raum wie der Honig bef<strong>in</strong>det:<strong>in</strong>(spieler, X) ∧ <strong>in</strong>(honig, X).Die Nachbed<strong>in</strong>gung ist, daß der Spieler den Honig <strong>in</strong> se<strong>in</strong>er Tasche hat:<strong>in</strong>(honig, tasche).Solche Vor- und Nachbed<strong>in</strong>gungen lassen sich e<strong>in</strong>fach <strong>in</strong> die Prädikatenlogik übersetzen,wenn man jedes Prädikat verdoppelt (e<strong>in</strong>e Version für den Vorzustand und e<strong>in</strong>e für denNachzustand, siehe auch [Ger91]). Das Kommando ”nimm den Honig“ hat also folgendeAuswirkung:<strong>in</strong> old (spieler, X) ∧ <strong>in</strong> old (honig, X) → <strong>in</strong> new (honig, tasche).


3.3. FORMALISIERUNG VON ÄNDERUNGSOPERATIONEN 65Es sei nun folgender Vorzustand betrachtet:<strong>in</strong> old (spieler, wald).<strong>in</strong> old (honig, wald).hungrig old (bär).Außerdem kann sich jeder Gegenstand immer nur an e<strong>in</strong>em Ort bef<strong>in</strong>den, d.h. man brauchte<strong>in</strong>e Schlüsselbed<strong>in</strong>gung, die natürlich für beide Zustände gelten soll:<strong>in</strong> old (X, Y ) ∧ <strong>in</strong> old (X, Y ′ ) → Y = Y ′ .<strong>in</strong> new (X, Y ) ∧ <strong>in</strong> new (X, Y ′ ) → Y = Y ′ .Über die Vor- und Nachbed<strong>in</strong>gungen wird nur angegeben, was sich ändert. Dahers<strong>in</strong>d noch <strong>Defaults</strong> nötig, die e<strong>in</strong>e m<strong>in</strong>imale Änderung erzw<strong>in</strong>gen ( ”Rahmenregel“):<strong>in</strong> old (X, Y ) ↔ <strong>in</strong> new (X, Y ).hungrig old (X) ↔ hungrig new (X).Intuitiv sollten folgende Formeln aus dieser Spezifikation folgen:<strong>in</strong> new (spieler, wald).<strong>in</strong> new (honig, tasche).hungrig new (bär).Tatsächlich gilt dies auch für jede vernünftige Default-Semantik, denn <strong>in</strong> diesem Fallwäre schon die naive CWA konsistent. Sie enthält <strong>in</strong>sbesondere folgende Formeln:<strong>in</strong> old (spieler, wald) ↔ <strong>in</strong> new (spieler, wald).hungrig old (bär) ↔ hungrig new (bär).Die e<strong>in</strong>zige Default-Ausprägung, die nicht angenommen werden kann, wird schon von denAxiomen widerlegt:<strong>in</strong> old (honig, wald) ↔ <strong>in</strong> new (honig, wald).Weil also ke<strong>in</strong>e Konflikte zwischen <strong>Defaults</strong> auftreten, ist dieses Beispiel recht e<strong>in</strong>fach. ✷Beispiel 3.3.2: Angenommen, man möchte das Spiel nun etwas <strong>in</strong>teressanter gestaltenund den Honig an unterschiedlichen Orten verstecken (über e<strong>in</strong>en Zufallszahlengeneratorbestimmt). Die Spezifikation enthält dann nur die Disjunktion<strong>in</strong> old (honig, wald 1 ) ∨ <strong>in</strong> old (honig, wald 2 ).Der Spieler bef<strong>in</strong>de sich <strong>in</strong> wald 1 . Natürlich kann er den Honig nur dann nehmen, wenndieser auch <strong>in</strong> wald 1 ist (sonst gibt es e<strong>in</strong>e Fehlermeldung und der Zustand bleibt unverändert).Ansonsten seien dieselben Regeln und <strong>Defaults</strong> wie <strong>in</strong> Beispiel 3.3.1 verwendet.Überraschenderweise folgt aus dieser Spezifikation nun, daß der Honig im Vorzustand<strong>in</strong> Raum wald 2 ist: <strong>in</strong> old (honig, wald 2 ). Der Grund ist, daß diesem Fall alle Default-Ausprägungen angenommen werden können, denn wenn die Vorbed<strong>in</strong>gung nicht erfülltist, s<strong>in</strong>d auch ke<strong>in</strong>e Änderungen nötig. Hat man nun die folgende Default-Ausprägung<strong>in</strong> old (honig, tasche) ↔ <strong>in</strong> new (honig, tasche),


66 KAPITEL 3. ANWENDUNGSBEISPIELEso erhält man aus der Disjunktion und der Schlüsselbed<strong>in</strong>gung ¬<strong>in</strong> old (honig, tasche), hiermitalso ¬<strong>in</strong> new (honig, tasche). Daher folgt aus<strong>in</strong> old (spieler, wald 1 ) ∧ <strong>in</strong> old (honig, wald 1 ) → <strong>in</strong> new (honig, tasche),daß ¬<strong>in</strong> old (honig, wald 1 ) und damit schließlich <strong>in</strong> old (honig, wald 2 ).Natürlich wird man von jeder korrekten Formalisierung der Änderungsoperation erwarten,daß die Redukte auf den old-Anteil gerade die Modelle der Beschreibung desVorzustandes liefern. Das ist hier nicht der Fall.Man kann dieses Problem mit Hilfe folgender <strong>Defaults</strong> lösen:<strong>in</strong> old (X, Y ), ¬<strong>in</strong> old (X, Y ), hungrig old (X), ¬hungrig old (X).Diese <strong>Defaults</strong> blockieren sich gegenseitig, aber auch jeden anderen Default, der neueInformationen über den Vorzustand liefern würde. Man kann dies auch so verstehen, daßdie m<strong>in</strong>imale Änderung von jedem möglichen Vorzustand aus e<strong>in</strong>zeln ausgeführt werdensoll. Diese <strong>Defaults</strong> selektieren nun jeweils e<strong>in</strong>en Vorzustand und halten ihn während derAnwendung der übrigen <strong>Defaults</strong> fest.✷Es ist nun noch <strong>in</strong>teressant, festzuhalten, daß auch umgekehrt e<strong>in</strong>e Änderungs-Semantike<strong>in</strong>e Default-Semantik bestimmt.Man kann als Vorzustand e<strong>in</strong>fach die Menge der <strong>Defaults</strong> verwenden (sofern sie konsistentist), als Vorbed<strong>in</strong>gung true und als Nachbed<strong>in</strong>gung die Konjunktion der Formelnaus Φ. Die m<strong>in</strong>imale Änderung bedeutet nun, daß nur möglichst wenig von den <strong>Defaults</strong>zurückgenommen wird, um die Axiome zu erfüllen. Anfragen an den Nachzustandentsprechen dann Folgerungen aus der Vervollständigung.ZustandsfolgenBeispiel 3.3.3: Natürlich möchte man nicht nur e<strong>in</strong>zelne Zustandsübergänge betrachten,sondern den ganzen Verlauf des Spiels. Dann reicht es also nicht mehr aus, zwei Versionender Prädikate zu haben, sondern man muß sie um e<strong>in</strong> zusätzliches Argument für denZustand erweitern. Die Zustände seien mit den Zahlen 1 bis 10 benannt (nach 10 Zügenist der Bär so hungrig, daß er den Spieler auffrißt). Die Startsituation ist dann:<strong>in</strong>(1, spieler, wald).<strong>in</strong>(1, honig, wald).hungrig(1, bär).Der Spieler kann nun mit den Kommandos gehe nördlich und gehe südlich zwischen denbeiden Räumen wechseln, mit dem Kommando nimm honig den Honig nehmen und mitdem Kommando gib honig den Bären füttern. Die Züge werden <strong>in</strong> e<strong>in</strong>em Prädikat zugabgespeichert, e<strong>in</strong>e direkte Lösung des Spiels braucht nur drei Züge:zug(1, nimm honig).zug(2, gehe nördlich).zug(3, gib honig).


3.3. FORMALISIERUNG VON ÄNDERUNGSOPERATIONEN 67Man muß jetzt noch die Abfolge der Züge spezifizieren:succ(1, 2).. . .succ(9, 10).Dies ist ebenso wie die Maximallänge nur aufgrund der Bereichsbeschränkung nötig, sonstkönnte man natürlich e<strong>in</strong> e<strong>in</strong>gebautes Prädikat verwenden. Man braucht schließlich nochfolgende Schlüssel-Deklarationen:<strong>in</strong>(X 1 , X 2 , Y ) ∧ <strong>in</strong>(X 1 , X 2 , Y ′ ) → Y = Y ′ .zug(X, Y ) ∧ zug(X, Y ′ ) → Y = Y ′ .succ(X, Y ) ∧ succ(X, Y ′ ) → Y = Y ′ .Am <strong>in</strong>teressantesten ist nun natürlich die Spezifikation der Auswirkung der Züge:<strong>in</strong>(X, spieler, wald) ∧ zug(X, gehe nördlich) ∧ succ(X, X ′ ) →<strong>in</strong>(X ′ , spieler, höhle).<strong>in</strong>(X, spieler, höhle) ∧ zug(X, gehe südlich) ∧ succ(X, X ′ ) →<strong>in</strong>(X ′ , spieler, wald).<strong>in</strong>(X, honig, Y ) ∧ <strong>in</strong>(X, spieler, Y ) ∧ zug(X, nimm honig) ∧ succ(X, X ′ ) →<strong>in</strong>(X ′ , honig, tasche).<strong>in</strong>(X, honig, tasche) ∧ <strong>in</strong>(X, spieler, höhle) ∧ zug(X, gib honig) ∧ succ(X, X ′ ) →¬hungrig(X ′ , bär) ∧ <strong>in</strong>(X ′ , honig, bär).In der Prädikatenlogik ist dies recht mühsam aufzuschreiben, übersichtlicher geht ist <strong>in</strong>e<strong>in</strong>er dynamischen Logik:<strong>in</strong>(spieler, wald) → [gehe nördlich]<strong>in</strong>(spieler, höhle).<strong>in</strong>(spieler, höhle) → [gehe südlich]<strong>in</strong>(spieler, wald).<strong>in</strong>(honig, Y ) ∧ <strong>in</strong>(X, spieler, Y ) → [nimm honig]<strong>in</strong>(honig, tasche).<strong>in</strong>(honig, tasche) ∧ <strong>in</strong>(spieler, höhle) →[gib honig] ( ¬hungrig(bär) ∧ <strong>in</strong>(honig, bär) ) .Natürlich braucht man wieder <strong>Defaults</strong>, die e<strong>in</strong>e m<strong>in</strong>imale Änderung erzw<strong>in</strong>gen. Da dasPrädikat <strong>in</strong> aufgrund der Schlüsseldeklaration im wesentlichen e<strong>in</strong>e Funktion ist, brauchtman hierfür nur zu fordern, daß sich der alte Wert auf den neuen Zustand fortschreibt:succ(X, X ′ ) ∧ <strong>in</strong>(X, Y 1 , Y 2 ) → <strong>in</strong>(X ′ , Y 1 , Y 2 ).Bei dem echten Prädikat hungrig müssen entsprechend die beiden Wahrheitswerte trueund false andauern:succ(X, X ′ ) ∧ hungrig(X, Y ) → hungrig(X ′ , Y ).succ(X, X ′ ) ∧ ¬hungrig(X, Y ) → ¬hungrig(X ′ , Y ).Überraschenderweise ist diese Spezifikation so noch nicht korrekt, <strong>in</strong>sbesondere folgt nichtdie Formel ¬hungrig(4, bär). Um dies zu verstehen, muß man die maximalen Mengenvon Default-Ausprägungen betrachten, die angenommen werden können. Dies entsprichtalso e<strong>in</strong>er möglichst kle<strong>in</strong>en Menge von Ausnahmen, d.h. nicht geltenden <strong>Defaults</strong>. Bei


68 KAPITEL 3. ANWENDUNGSBEISPIELEder <strong>in</strong>tendierten Zustandsabfolge werden alle außer den folgenden Default-Ausprägungenangenommen:succ(1, 2) ∧ <strong>in</strong>(1, honig, wald) → <strong>in</strong>(2, honig, wald).succ(2, 3) ∧ <strong>in</strong>(2, spieler, wald) → <strong>in</strong>(3, spieler, wald).succ(3, 4) ∧ <strong>in</strong>(3, honig, tasche) → <strong>in</strong>(4, honig, tasche).succ(3, 4) ∧ hungrig(3, bär) → hungrig(4, bär).Es gibt aber auch die Möglichkeit, vorausschauend Änderungen durchzuführen, die bewirken,daß später die Vorbed<strong>in</strong>gungen nicht erfüllt s<strong>in</strong>d, so daß dann Änderungen e<strong>in</strong>gespartwerden. Der Spieler könnte etwa bei dem Fußmarsch vom Wald zur Höhle den Honig verlieren,dadurch kann er den Bären später nicht füttern:succ(1, 2) ∧ <strong>in</strong>(1, honig, wald) → <strong>in</strong>(2, honig, wald).succ(2, 3) ∧ <strong>in</strong>(2, spieler, wald) → <strong>in</strong>(3, spieler, wald).succ(2, 3) ∧ <strong>in</strong>(2, honig, tasche) → <strong>in</strong>(3, honig, tasche).Natürlich steht von dieser Möglichkeit nichts <strong>in</strong> der Spezifikation, aber es ist auch nichtexplizit ausgeschlossen.Das Problem ist hier, daß die Änderungen global m<strong>in</strong>imiert werden (über die ganzeZustandsfolge gesehen). Dadurch geht die Kausalität der Änderungen verloren. Manmöchte natürlich, daß die Änderungen bei jedem Zustandsübergang e<strong>in</strong>zeln m<strong>in</strong>imiertwerden, <strong>in</strong>sbesondere sollen nicht spätere Zustandsübergänge Rückwirkungen auf früherehaben. Es liegt daher nahe, den <strong>Defaults</strong> für frühere Zustandsübergänge höhere Prioritätzu geben, also notwendige Änderungen so spät wie möglich auszuführen.✷Dies ist e<strong>in</strong>e Variante des bekannten ”Yale Shoot<strong>in</strong>g“ Problems [HM87]. (Dort s<strong>in</strong>d die dreiAktionen ”laden“, ”warten“, ”schießen“. Beispiel 3.3.3 ist etwas tierfreundlicher, obwohlja auch beim orig<strong>in</strong>alen Beispiel das Ergebnis gerade ist, daß sich die Fl<strong>in</strong>te möglicherweisewährend des Wartens auf magische Art entladen hat.)Man beachte noch, daß die <strong>in</strong> Beispiel 3.3.2 aufgezeigten Probleme mit unvollständigerInformation natürlich auch hier auftreten, man muß also die entsprechenden <strong>Defaults</strong> nochh<strong>in</strong>zunehmen.Allerd<strong>in</strong>gs funktioniert das Pr<strong>in</strong>zip, Änderungen so spät wie möglich durchzuführen,nur bei Anfragen nach der Gültigkeit e<strong>in</strong>er Aussage <strong>in</strong> e<strong>in</strong>em bestimmten Zustand ( ”temporaleProjektion“).Angenommen, man gibt stattdessen den Zielzustand vor und fragt, welche Aktionendorth<strong>in</strong> geführt haben können (e<strong>in</strong>e Planungsaufgabe). Nach dem Pr<strong>in</strong>zip, Änderungen sospät wie möglich durchzuführen, geschieht die ganze Zeit gar nichts, nur bei dem letztenZustandsübergang wird der Zielzustand erreicht, ohne daß es e<strong>in</strong>e Erklärung dafür gebenwürde.Angesichts dieser Probleme muß man sich natürlich fragen, ob man es nicht ohne<strong>Defaults</strong> leichter hätte, <strong>in</strong>dem man also nur die Logik erster Stufe benutzt. E<strong>in</strong> solcherAnsatz wird von Raymond Reiter [Rei92] vertreten. Man müßte dann also Formelnder Art aufschreiben, daß sich der Ort e<strong>in</strong>es Gegenstandes nur dann ändern kann, wenn


3.3. FORMALISIERUNG VON ÄNDERUNGSOPERATIONEN 69e<strong>in</strong>e entsprechende Aktion ausgeführt wird und deren Vorbed<strong>in</strong>gungen erfüllt s<strong>in</strong>d. Diesist natürlich gerade bei e<strong>in</strong>er größeren Anzahl von Aktionen recht mühsam. Vor allemaber können auf diese Art nur Spezialfälle behandelt werden, denn im allgeme<strong>in</strong>en Fallkönnte man ja gerade <strong>Defaults</strong> simulieren, so daß dies e<strong>in</strong>fach nur e<strong>in</strong> spezieller Vervollständigungs-Mechanismuswäre.Beispiel 3.3.4: Da man mit e<strong>in</strong>fachen Zustandsübergängen unpriorisierte <strong>Defaults</strong>simulieren kann, liegt es nahe, daß man mit Zustandsfolgen gerade die Prioritäten erhält.Das ist aber nicht richtig: Hat man etwa die <strong>Defaults</strong> ¬p und ¬q, wobei der erste höherePriorität hat, und das Axiom p∨q, so würde man erst ¬q e<strong>in</strong>fügen, dann ¬p und schließlichdas Axiom. Bei priorisierten <strong>Defaults</strong> sollte sich natürlich ¬p durchsetzen. Änderungs-Semantiken s<strong>in</strong>d dagegen im allgeme<strong>in</strong>en geschichtslos: Wenn das Axiom e<strong>in</strong>gefügt wird,ist der vorliegende Zustand {¬p, ¬q}, die m<strong>in</strong>imale Änderung liefert dann {¬p∨¬q, p∨q}.(Beobachtung von Mark Ryan.)✷


Kapitel 4Eigenschaften vonVervollständigungenIn diesem Kapitel wird die Menge der Vervollständigungen betrachtet, um e<strong>in</strong>en Überblicküber alle möglichen Semantiken für <strong>Defaults</strong> zu gew<strong>in</strong>nen. Eigenschaften von Vervollständigungendienen dazu, diese Menge zu strukturieren und die <strong>in</strong>teressanten <strong>Defaults</strong>emantikenherauszufiltern. Sie werden hier def<strong>in</strong>iert und motiviert, und es werdendie Beziehungen zwischen ihnen untersucht.Solche Eigenschaften können e<strong>in</strong> Maß für die Strukturiertheit“ oder Gutartigkeit“” ”e<strong>in</strong>er Vervollständigung se<strong>in</strong>. Umgekehrt können Anwendungen erfordern, daß bestimmteEigenschaften verletzt werden. Auch dann s<strong>in</strong>d die Eigenschaften e<strong>in</strong>e Hilfe für die Auswahlder richtigen“ Vervollständigung.”Schließlich können die Eigenschaften auch als Rechenregeln“ für die Vervollständigungengesehen werden, mit dem man also Paare (Φ, ψ) mit Φ ⊢ c ψ ableiten kann. Im”Gegensatz zu den Resolutions-Algorithmen <strong>in</strong> Kapitel 6 ähnelt dies eher e<strong>in</strong>em System ”des natürlichen Schließens“.Daher sollte zuerst überprüft werden, <strong>in</strong>wieweit man die Erfüllung von Folgerungsregelnder klassischen Prädikatenlogik fordern kann (Abschnitt 4.1). Falls man alle Folgerungsregelnfordert, bekommt man natürlich nur die logische Folgerung. Aus diesemGrund müssen häufig Abschwächungen der klassischen Regeln betrachtet werden. SolcheFolgerungsregeln wurden auch <strong>in</strong> der Literatur zum nicht-monotonen Schließen betrachtet[Gab85, Mak89, KLM90, Dix91, Mak92]. Hier wird aber e<strong>in</strong>e modelltheoretischeFormulierung angegeben, die häufig zusätzliche E<strong>in</strong>sichten vermittelt (und die Beziehungzur Theorie der Wahlverfahren aufzeigt).Als nächstes werden weitere Struktureigenschaften betrachtet, die nicht direkt imZusammenhang mit Folgerungsregeln stehen, aber modelltheoretisch gesehen sehr e<strong>in</strong>leuchtends<strong>in</strong>d (Abschnitt 4.2). Auch Begriffe für den Vergleich von Vervollständigungenwerden e<strong>in</strong>geführt.Im Abschnitt 4.3 werden dann Eigenschaften untersucht, die sich auf <strong>Defaults</strong> beziehen.E<strong>in</strong> Ziel dieser Arbeit ist ja, e<strong>in</strong>e Abbildung von <strong>Defaults</strong> auf Vervollständigungenauszuzeichnen.71


72 KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGEN4.1 FolgerungsregelnFolgerungsregeln für beliebige VervollständigungenDa die vervollständigte Folgerungsrelation ⊢ c e<strong>in</strong>e Verallgeme<strong>in</strong>erung der logischen Folgerung⊢ ist, kann man sich fragen, welche der bekannten Ableitungsregeln noch gelten.Zunächst gelten e<strong>in</strong>e ganze Reihe von Regeln für beliebige Vervollständigungen ⊢ c ,und zwar s<strong>in</strong>d dies die ”l<strong>in</strong>ksstabilen“ Folgerungsregeln, die sich nur auf e<strong>in</strong>e feste AxiomenmengeΦ beziehen, also die folgende Form haben:Φ ⊢ c ψ 1 , . . . , Φ ⊢ c ψ n =⇒ Φ ⊢ c ψ.Gilt e<strong>in</strong>e solche Regel für die logische Folgerung, so erhält man für Φ := {ψ 1 ∧ · · · ∧ ψ n }(die Voraussetzungen s<strong>in</strong>d trivialerweise erfüllt):{ψ 1 ∧ · · · ∧ ψ n } ⊢ ψ.Dann überträgt sich die Regel aber sofort auf beliebige Vervollständigungen ⊢ c , denn ⊢ cist def<strong>in</strong>itionsgemäß unter ∧ und ⊢ abgeschlossen.Satz 4.1.1:• Φ ⊢ c ψ 1 , Φ ⊢ c ψ 2• Φ ⊢ c ψ 1 ∧ ψ 2Jede vervollständigte Folgerungsrelation ⊢ c erfüllt• Φ ⊢ c ψ 1 oder Φ ⊢ c ψ 2=⇒ Φ ⊢ c ψ 1 ∧ ψ 2 ( ”E<strong>in</strong>führung der Konjunktion“),=⇒ Φ ⊢ c ψ 1 , Φ ⊢ c ψ 2 . ( ”Elim<strong>in</strong>ierung der Konjunktion“),=⇒ Φ ⊢ c ψ 1 ∨ ψ 2 ( ”E<strong>in</strong>führung der Disjunktion“),• Φ ⊢ c ψ 1 → ψ 2 , Φ ⊢ c ψ 1 =⇒ Φ ⊢ c ψ 2 ( ”Elim<strong>in</strong>ierung der Implikation“, ”modusponens“).Beweis: Diese Regeln folgen direkt aus dem Abschluß unter ∧ und ⊢. ✷KonsistenzerhaltungDie Folgerungsregel von der Elim<strong>in</strong>ierung der Negation, d.h. das Pr<strong>in</strong>zip des <strong>in</strong>direktenBeweises, gilt dagegen nicht für beliebige Vervollständigungen:Φ ∪ {¬ψ} ⊢ c false =⇒ Φ ⊢ c ψ.Das ist eigentlich auch nicht überraschend, da die Def<strong>in</strong>ition von ⊢ c ke<strong>in</strong>e Anforderungenenthält, die zwei verschiedene (nicht-äquivalente) Mengen von Voraussetzungen Φ und Φ ′<strong>in</strong> Beziehung setzen.Beispiel 4.1.2:Negationen:Φ [p] [¯p] comp(Φ)false false¬p ◦ falsep ◦ falsetrue • • trueFolgende Vervollständigung erlaubt nicht die die Elim<strong>in</strong>ierung von


4.1. FOLGERUNGSREGELN 73Diese Tabelle def<strong>in</strong>iert e<strong>in</strong>e Vervollständigung über e<strong>in</strong>er Signatur mit e<strong>in</strong>er e<strong>in</strong>zigen Aussage(d.h. argumentlosen Prädikat) p. Im mittleren Teil ist die Vervollständigung modelltheoretischbeschrieben, d.h. für jede Axiomenmenge (gegeben durch ihre Modelle [p]und [¯p]) s<strong>in</strong>d die <strong>in</strong>tendierten Modelle mit • gekennzeichnet und die nicht <strong>in</strong>tendiertenmit ◦. In l<strong>in</strong>ken Teil ist e<strong>in</strong> Repräsentant Φ der jeweiligen Äquivalenzklasse von Axiomenmengenangegeben, im rechten Teil ihre syntaktische Vervollständigung (bis auf Äquivalenz).Sei nun Φ = {true}. Die Vervollständigung zerstört für Φ ′ = Φ∪{¬p} die Konsistenz,da sie das e<strong>in</strong>zige vorhandene Modell [¯p] nicht auswählt. Es gilt also Φ ∪ {¬p} ⊢ c false.Nach der Regel von der Elim<strong>in</strong>ierung der Negation müßte nun Φ ⊢ c p gelten. Das ist abernicht der Fall.✷Die Vervollständigung aus dem Beispiel ist natürlich sehr merkwürdig, e<strong>in</strong>e solche Vervollständigungmöchte man auf ke<strong>in</strong>en Fall als Semantik e<strong>in</strong>er Default-Spezifikation haben.E<strong>in</strong> Grund, diese Vervollständigung auszuschließen, ist die Zerstörung der Konsistenz: DieAxiomenmenge {¬p} enthält ja durchaus noch Information, aber bei der Vervollständigungfalse ist diese Information verloren gegangen — beliebige Anfragen werden mit ”ja“beantwortet.Def<strong>in</strong>ition 4.1.3 (konsistenzerhaltend):konsistenzerhaltend (CON) genau dann, wenn• Φ konsistent =⇒ comp(Φ) konsistent,• Φ konsistent, Φ ⊢ c ψ =⇒ Φ ⊬ c ¬ψ,• I ≠ ∅ =⇒ sel(I) ≠ ∅.E<strong>in</strong>e Vervollständigung comp/⊢ c /sel istDiese Def<strong>in</strong>ition ist so zu lesen, daß für jede der drei Formalisierungen von Vervollständigunggetrennt def<strong>in</strong>iert wird, was konsistenzerhaltend bedeutet. Die Festlegungen s<strong>in</strong>dverträglich mit der Umrechnung zwischen den verschiedenen Arten von Vervollständigungen,wie <strong>in</strong> dem nächsten Lemma bewiesen wird.Bei dieser wie bei allen weiteren Eigenschaften sollen die Bed<strong>in</strong>gungen für alle Φ ⊆ L + Σ ,alle ψ ∈ L ∗ Σ und alle I ⊆ I Σ gelten.Lemma 4.1.4:• E<strong>in</strong>e syntaktische Vervollständigung comp ist genau dann konsistenzerhaltend, wenn⊢ comp konsistenzerhaltend ist.• E<strong>in</strong>e semantische Vervollständigung sel ist genau dann konsistenzerhaltend, wenn⊢ sel konsistenzerhaltend ist.Beweis:• Die syntaktisch vervollständigte Menge der Axiome comp(Φ) ist genau dann <strong>in</strong>konsistent,wenn comp(Φ) ⊢ ψ und comp(Φ) ⊢ ¬ψ für e<strong>in</strong> ψ gilt. Das ist aber die Def<strong>in</strong>ition fürΦ ⊢ comp ψ und Φ ⊢ comp ¬ψ.


74 KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGEN• E<strong>in</strong>e modelltheoretische Vervollständigung verletzt die Konsistenzerhaltung für I (I ≠ ∅,sel(I) = ∅) genau dann, wenn ⊢ sel sie für Th(I) verletzt: Th(I) ist konsistent, abersel(I) ⊆ Mod(ψ) und sel(I) ⊆ Mod(ψ), d.h. Th(I) ⊢ sel ψ und Th(I) ⊢ sel ¬ψ. ✷E<strong>in</strong>e ganze Reihe der <strong>in</strong> der Literatur vorgeschlagenen Vervollständigungen ist im allgeme<strong>in</strong>ennicht konsistenzerhaltend, so etwa die orig<strong>in</strong>ale CWA [Rei78], die Circumscriptionbei unendlichen Bereichen [EMR85] und die Default-Logik [Rei80]. Offensichtlich ist diesesVerhalten aber nicht beabsichtigt. Die e<strong>in</strong>zige Lösung ist, daß man die betreffendenMengen von Axiomen und <strong>Defaults</strong> ausschließt, wobei aber häufig nur h<strong>in</strong>reichende Kriterienfür die Konsistenzerhaltung bekannt s<strong>in</strong>d.Hat man e<strong>in</strong>e konsistenzerhaltende Vervollständigung, so kann man sofort die Regelzur Elim<strong>in</strong>ierung von Negationen anwenden:Satz 4.1.5:Für e<strong>in</strong>e konsistenzerhaltende Vervollständigung ⊢ c gilt:Φ ∪ {¬ψ} ⊢ c false =⇒ Φ ⊢ c ψ.Beweis: Da ⊢ c konsistenzerhaltend ist, muß Φ ∪ {¬ψ} <strong>in</strong>konsistent se<strong>in</strong>. Dann gilt aber Φ ⊢ ψ,folglich auch Φ ⊢ c ψ.✷Daß die Umkehrung dieses Satzes nicht gilt, sieht man an der Vervollständigung ohne<strong>in</strong>tendierte Modelle, d.h. es gilt Φ ⊢ c ψ für beliebige Φ und ψ. Diese Vervollständigungerfüllt natürlich die Regel von der Elim<strong>in</strong>ierung der Negation, aber sie ist nicht konsistenzerhaltend.KumulierungE<strong>in</strong>e Folgerungsregel, von der man nicht erwarten kann, daß sie für Vervollständigungengilt, ist die Monotonie:Φ ⊢ c ψ =⇒ Φ ∪ {ϕ} ⊢ c ψ.Vervollständigungen s<strong>in</strong>d ja gerade bekannt als nichtmonotone Logiken. So könnte ψ etwae<strong>in</strong> Default se<strong>in</strong>, der angenommen wird, da Φ ke<strong>in</strong>e gegenteilige Information enthält. Dieh<strong>in</strong>zugenommene Formel ϕ könnte nun gerade diese gegenteilige Information liefern, alsoz.B. ϕ := ¬ψ. Würde jetzt noch ψ folgen, so wäre die Konsistenz zerstört. Dies gilt auchganz allgeme<strong>in</strong>:Satz 4.1.6:Die e<strong>in</strong>zige konsistenzerhaltende Vervollständigung mitΦ ⊢ c ψ =⇒ Φ ∪ {ϕ} ⊢ c ψ(Monotonie) ist die logische Folgerung ⊢.Beweis: Angenommen, es gäbe e<strong>in</strong>e monotone und konsistenzerhaltende Vervollständigung ⊢ cverschieden von der logischen Folgerung. Da Φ ⊢ ψ =⇒ Φ ⊢ c ψ nach Def<strong>in</strong>ition, muß es alsoΦ und ψ geben mit Φ ⊬ ψ, aber Φ ⊢ c ψ. Nun müßte Φ ∪ {¬ψ} ⊢ c ψ nach der Monotoniegelten, andererseits gilt natürlich auch Φ ∪ {¬ψ} ⊢ c ¬ψ. Damit ist aber die Konsistenzerhaltungverletzt, denn Φ ∪ {¬ψ} ist wegen Φ ⊬ ψ konsistent.✷


4.1. FOLGERUNGSREGELN 75Es ist dagegen möglich und sehr s<strong>in</strong>nvoll, die folgende beschränkte Version der Monotoniezu fordern:Def<strong>in</strong>ition 4.1.7 (beschränkt monoton): E<strong>in</strong>e Vervollständigung comp/⊢ c /sel istbeschränkt monoton (RMON) genau dann, wenn• comp(Φ) ⊢ ϕ, comp(Φ) ⊢ ψ =⇒ comp(Φ ∪ {ϕ}) ⊢ ψ,• Φ ⊢ c ϕ, Φ ⊢ c ψ =⇒ Φ ∪ {ϕ} ⊢ c ψ,• sel(I 1 ) ⊆ I 2 ⊆ I 1 =⇒ sel(I 1 ) ⊇ sel(I 2 ).Die Beschränkung besteht hier also dar<strong>in</strong>, daß nur solche Formeln zu den VoraussetzungenΦ h<strong>in</strong>zugenommen werden dürfen, die ohneh<strong>in</strong> schon vervollständigt aus ihnen folgen.Lemma 4.1.8: E<strong>in</strong>e syntaktische bzw. modelltheoretische Vervollständigung ist genaudann beschränkt monoton, wenn die zugehörige vervollständigte Folgerungsrelationbeschränkt monoton ist.Beweis: Im Falle der syntaktischen Vervollständigung ist die Übere<strong>in</strong>stimmung offensichtlich.Zu zeigen ist also nur noch: sel beschränkt monoton ⇐⇒ ⊢ ” sel beschränkt monoton“.• ”=⇒ “: Gelte also Φ ⊢ sel ϕ und Φ ⊢ sel ψ, und sei zur Abkürzung I Φ := Mod(Φ),I ϕ := Mod(ϕ) und I ψ := Mod(ψ). Dann gilt sel(I Φ ) ⊆ I Φ ∩I ϕ ⊆ I Φ (wegen sel(I Φ ) ⊆ I ϕ ).Also folgt sel(I Φ ) ⊇ sel(I Φ ∩ I ϕ ). Nun gilt aber nach Voraussetzung sel(I Φ ) ⊆ I ψ , damitgilt erst recht sel(I Φ ∩ I ϕ ) ⊆ I ψ , d.h. Φ ∪ {ϕ} ⊢ sel ψ.• ⇐= “: Gelte sel(I ” 1 ) ⊆ I 2 ⊆ I 1 . Für Φ := Th(I 1 ), ϕ := th(I 2 ) und ψ := th ( sel(I 1 ) ) giltdann gerade Φ ⊢ sel ϕ und Φ ⊢ sel ψ, also Φ ∪ {ϕ} ⊢ sel ψ, d.h. sel(I 1 ∩ I 2 ) ⊆ sel(I 1 ), alsoschließlich sel(I 2 ) ⊆ sel(I 1 ).✷Die teilweise Umkehrung der beschränkten Monotonie ist folgende Schlußregel:Φ ⊢ c ϕ, Φ ∪ {ϕ} ⊢ c ψ =⇒ Φ ⊢ c ψ.Sie ist e<strong>in</strong> Spezialfall der bekannten Schnittregel:Φ 1 ⊢ c ϕ ′ ∨ ϕ, Φ 2 ∪ {ϕ} ⊢ c ψ =⇒ Φ 1 ∪ Φ 2 ⊢ c ϕ ′ ∨ ψ(für Φ 1 := Φ 2 := Φ und ϕ ′ := false). Die allgeme<strong>in</strong>e Schnittregel kann man nicht erwarten,denn sie impliziert die Monotonie (für ϕ := false und ψ := false)Φ 1 ⊢ c ϕ ′ =⇒ Φ 1 ∪ Φ 2 ⊢ c ϕ ′ ,gilt also nach Satz 4.1.6 nur für die logische Folgerung ⊢. Die beschränkte Schnittregelist dagegen e<strong>in</strong>e s<strong>in</strong>nvolle Eigenschaft von Vervollständigungen:Def<strong>in</strong>ition 4.1.9 (Beschränkte Schnittregel): E<strong>in</strong>e Vervollständigung comp/⊢ c /selerfüllt die beschränkte Schnittregel (RCUT) genau dann, wenn• comp(Φ) ⊢ ϕ, comp(Φ ∪ {ϕ}) ⊢ ψ =⇒ comp(Φ) ⊢ ψ,• Φ ⊢ c ϕ, Φ ∪ {ϕ} ⊢ c ψ =⇒ Φ ⊢ c ψ,• sel(I 1 ) ⊆ I 2 ⊆ I 1 =⇒ sel(I 1 ) ⊆ sel(I 2 ).


76 KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGENLemma 4.1.10: E<strong>in</strong>e syntaktische bzw. modelltheoretische Vervollständigung erfüllt diebeschränkte Schnittregel genau dann, wenn die zugehörige vervollständigte Folgerungsrelationsie erfüllt.Beweis: Im Falle der syntaktischen Vervollständigung ist die Übere<strong>in</strong>stimmung wieder offensichtlich.Zu zeigen ist also nur noch: sel erfüllt RCUT ⇐⇒ ⊢ ” sel erfüllt RCUT“.• ”=⇒ “: Aus Φ ⊢ sel ϕ folgt mit den üblichen Abkürzungen wieder sel(I Φ ) ⊆ I Φ ∩ I ϕ ⊆ I Φ .Da sel die Eigenschaft RCUT nach Voraussetzung erfüllt, gilt also sel(I Φ ) ⊆ I Φ ∩ I ϕ .Zusammen mit Φ ∪ {ϕ} ⊢ sel ψ, d.h. sel(I Φ ∩ I ϕ ) ⊆ I ψ , folgt sel(I Φ ) ⊆ I ψ , d.h. Φ ⊢ sel ψ.• ⇐= “: Gelte sel(I ” 1 ) ⊆ I 2 ⊆ I 1 und sei Φ := Th(I 1 ), ϕ := th(I 2 ) und ψ := th ( sel(I 2 ) ) .Dann folgt Φ ⊢ sel ϕ. Außerdem gilt wegen I 1 ∩ I 2 = I 2 trivialerweise Φ ∪ {ϕ} ⊢ sel ψ. Da⊢ sel die Eigenschaft RCUT hat, folgt Φ ⊢ sel ψ, d.h. sel(I 1 ) ⊆ sel(I 2 ).✷Die beschränkte Schnittregel impliziert übrigens die Idempotenz von sel, d.h.sel ( sel(I) ) = sel(I)(man setze I 2 := sel(I 1 )). Es ist ja auch sehr naheliegend, zu fordern, daß nach Auswahlder <strong>in</strong>tendierten Modelle e<strong>in</strong>e weitere Anwendung von sel wirkungslos bleiben sollte.E<strong>in</strong>e Verallgeme<strong>in</strong>erung davon, die Zusammenfassung der beschränkten Monotonieund der beschränkten Schnittregel ergibt nun die Kumulierung. Sie ist e<strong>in</strong>e grundlegendeund sehr nützliche Eigenschaft von Vervollständigungen:E<strong>in</strong>e Vervollständigung comp/⊢ c /sel ist kumulie-Def<strong>in</strong>ition 4.1.11 (kumulierend):rend (CUM) genau dann, wenn• comp(Φ) ⊢ ϕ =⇒ comp(Φ ∪ {ϕ}) ∼ = comp(Φ),• Φ ⊢ c ϕ =⇒ ( Φ ∪ {ϕ} ⊢ c ψ ⇐⇒ Φ ⊢ c ψ ) ,• sel(I 1 ) ⊆ I 2 ⊆ I 1 =⇒ sel(I 1 ) = sel(I 2 ).Aus der modelltheoretischen Sicht bedeutet diese Eigenschaft, daß sich die Menge der<strong>in</strong>tendierten Modelle nicht dadurch ändern sollte, daß ohneh<strong>in</strong> nicht <strong>in</strong>tendierte Modelleexplizit ausgeschlossen werden.Bei <strong>Datenbanken</strong> entspricht das der ”Materialisierung e<strong>in</strong>er Sicht“: Wenn e<strong>in</strong>ige Folgerungenaus der vervollständigten Axiomenmenge sehr häufig berechnet werden, bietetes sich an, sie <strong>in</strong> der Datenbank explizit abzuspeichern. Die Kumulation besagt nun, daßdies möglich ist, ohne das Antwortverhalten der Datenbank zu ändern.Die Kumulation ist also ähnlich wie die Konsistenzerhaltung e<strong>in</strong>e Eigenschaft, die e<strong>in</strong>egute Vervollständigung unbed<strong>in</strong>gt haben sollte.Lemma 4.1.12: E<strong>in</strong>e syntaktische bzw. modelltheoretische Vervollständigung ist genaudann kumulierend, wenn die zugehörige vervollständigte Folgerungsrelation kumulierendist.Beweis: Da die Kumulation e<strong>in</strong>e offensichtliche Zusammensetzung der Eigenschaften RMONund RCUT ist, folgt die Behauptung direkt aus Lemma 4.1.8 und Lemma 4.1.10.✷


4.1. FOLGERUNGSREGELN 77Die Folgerungsregeln beschränkte Monotonie und beschränkte Schnittregel wurden <strong>in</strong>[Gab85] e<strong>in</strong>geführt, die Kumulierung <strong>in</strong> [Mak89]. Dort wurde auch gezeigt, daß etwadie Default-Logik nicht immer kumulierend ist. In [Bra90b] wurde gezeigt, daß auch dieCircumscription erster Stufe diese Regel verletzen kann. In der Theorie der Wahlverfahrenist e<strong>in</strong>e Eigenschaft, die der beschränkten Monotonie entspricht, schon seit m<strong>in</strong>destens1975 bekannt [Mou85] ( Aizerman-Eigenschaft“).”Die Deduktions-EigenschaftAls nächstes sei die Regel von der E<strong>in</strong>führung der Implikation ”→“ untersucht:Φ ∪ {ψ 1 } ⊢ c ψ 2 =⇒ Φ ⊢ c ψ 1 → ψ 2 .Dies ist auch das Deduktionstheorems [BN77] (bzw. die e<strong>in</strong>e Richtung davon [BW91]).Da diese Regel nicht l<strong>in</strong>ksstabil ist, ist es auch nicht überraschend, daß sie nichtfür beliebige Vervollständigungen gilt. Es wird sich aber herausstellen, daß es sowohlvernünftige Vervollständigungen gibt, für die sie gilt (nämlich die m<strong>in</strong>imalen Modelle),als auch solche, für die sie nicht gilt (z.B. die GCWA). Damit kann diese Regel also zurKlassifikation von Vervollständigungen dienen, und nicht (wie Konsistenzerhaltung undKumulierung) zur Ausscheidung ungeeigneter Vervollständigungen.Beispiel 4.1.13: Wie oben schon erwähnt, verletzt die GCWA [M<strong>in</strong>82] diese Regel.Die zugrundeliegenden <strong>Defaults</strong> s<strong>in</strong>d hier ¬p und ¬q. Die e<strong>in</strong>zige Besonderheit trittbei Φ := {p ∨ q} auf, dort stehen die beiden <strong>Defaults</strong> im Konflikt mite<strong>in</strong>ander und es wirdke<strong>in</strong>er von beiden angenommen.Φ [pq] [p¯q] [¯pq] [¯p¯q] comp(Φ)falsefalse¬p, ¬q • ¬p, ¬q¬p, q • ¬p, q¬p ◦ • ¬p, ¬qp, ¬q • p, ¬q¬q ◦ • ¬p, ¬qp ↔ ¬q • • p ↔ ¬q¬p ∨ ¬q ◦ ◦ • ¬p, ¬qp, q • p, qp ↔ q ◦ • ¬p, ¬qq ◦ • ¬p, q¬p ∨ q ◦ ◦ • ¬p, ¬qp ◦ • p, ¬qp ∨ ¬q ◦ ◦ • ¬p, ¬qp ∨ q • • • p ∨ qtrue ◦ ◦ ◦ • ¬p, ¬qWie <strong>in</strong> Beispiel 4.1.2 wird hier die Vervollständigung durch Auflisten der Selektionsfunk-


78 KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGENtion auf den Modellen def<strong>in</strong>iert: Für jede Menge von Modellen s<strong>in</strong>d die <strong>in</strong>tendiertenModelle mit • gekennzeichnet und die übrigen mit ◦. Für diese Vervollständigung (dieGCWA) gilt{p ∨ q} ∪ {p} ⊢ c ¬q ({p ∨ q} ∪ {p} ∼ = {p}),aber es gilt nicht{p ∨ q} ⊢ c p → ¬q (p → ¬q ∼ = ¬p ∨ ¬q),was nach dieser Regel gefolgert werden könnte.Man beachte, daß das Verhalten für {p ∨ q} notwendig ist, wenn man echte Disjunktionenwünscht (und ke<strong>in</strong> exklusiv oder“). Andererseits ist das Verhalten für {p} gerade”die Annahme von negativen Grundliteralen als Default, die ja auch sehr natürlich ist.Und die Gleichbehandlung äquivalenter <strong>Datenbanken</strong> {p ∨ q, p} und {p} ist für logischeVervollständigungen unbed<strong>in</strong>gt wünschenswert, wie <strong>in</strong> Kapitel 2 erläutert wurde. ✷Def<strong>in</strong>ition 4.1.14 (Deduktions-Eigenschaft): E<strong>in</strong>e Vervollständigung comp/⊢ c /selhat die Deduktions-Eigenschaft (DED) genau dann, wenn (ϕ sei hier e<strong>in</strong>e variablenfreieFormel)• comp ( Φ ∪ {ϕ} ) ⊢ ψ =⇒ comp(Φ) ⊢ ϕ → ψ.• Φ ∪ {ϕ} ⊢ c ψ =⇒ Φ ⊢ c ϕ → ψ.• sel(I 1 ) ∩ I 2 ⊆ sel(I 1 ∩ I 2 ).Aus modelltheoretischer Sicht bedeutet diese Eigenschaft also, daß Modelle, die auchbei e<strong>in</strong>er größeren Menge von ”Konkurrenten“ (I 1 ) als <strong>in</strong>tendierte Modelle ausgewähltwerden, erst recht <strong>in</strong> e<strong>in</strong>er kle<strong>in</strong>eren Menge (I 1 ∩ I 2 ) ausgewählt werden.Für <strong>Datenbanken</strong> wird durch diese Eigenschaft die Information e<strong>in</strong>geschränkt, diebei e<strong>in</strong>er E<strong>in</strong>fügung h<strong>in</strong>zukommen bzw. bei e<strong>in</strong>er Löschung verloren gehen kann: Wennnach der E<strong>in</strong>fügung von ϕ die Anfrage ψ mit ”Ja“ beantwortet wird, dann muß vor derE<strong>in</strong>fügung schon ϕ → ψ mit ”Ja“ beantwortet worden se<strong>in</strong>.Wie immer ist noch die Äquivalenz der verschiedenen Formalisierungen zu zeigen:Lemma 4.1.15: E<strong>in</strong>e syntaktische bzw. modelltheoretische Vervollständigung hat dieDeduktions-Eigenschaft genau dann, wenn die zugehörige vervollständigte Folgerungsrelationsie hat.Beweis: Die Äquivalenz der Forderungen für syntaktische und abstrakte Vervollständigungenist offensichtlich. Ebenso offensichtlich ist die Äquivalenz zu der Forderungsel(I 1 ∩ I 2 ) ⊆ I =⇒ sel(I 1 ) ⊆ I 2 ∪ Ifür modelltheoretische Vervollständigungen (I 2 ist hier das Komplement von I 2 bezüglich I Σ ,d.h. I Σ − I 2 ). Diese Forderung kann sofort äquivalent umgeformt werden <strong>in</strong>sel(I 1 ∩ I 2 ) ⊆ I =⇒ sel(I 1 ) ∩ I 2 ⊆ I.Wenn dies für alle I gilt, gilt es natürlich <strong>in</strong>sbesondere auch für I := sel(I 1 ∩I 2 ) und man erhält(da die Voraussetzung trivialerweise erfüllt ist):sel(I 1 ) ∩ I 2 ⊆ sel(I 1 ∩ I 2 ).


4.1. FOLGERUNGSREGELN 79Hat man umgekehrt diese Eigenschaft und die Voraussetzung sel(I 1 ∩I 2 ) ⊆ I, dann folgt darausdirekt sel(I 1 ) ∩ I 2 ⊆ I.✷Die logische Folgerung erfüllt auch die Umkehrung der Deduktions-Eigenschaft. Für andereVervollständigungen kann man diese Umkehrung aber nicht verlangen:Satz 4.1.16:Die e<strong>in</strong>zige konsistenzerhaltende Vervollständigung ⊢ c mitΦ ⊢ c ϕ → ψ =⇒ Φ ∪ {ϕ} ⊢ c ψist die logische Folgerung ⊢.Beweis: Sei ⊢ c verschieden von ⊢. Dann gibt es also Φ und ϕ ′ mit Φ ⊢ c ϕ ′ , aber Φ ⊬ ϕ ′ . Fürϕ := ¬ϕ ′ gilt dann also Φ ⊢ c ¬ϕ, und daher Φ ⊢ c ϕ → false. Nach der geforderten Eigenschaftgilt dann Φ ∪ {ϕ} ⊢ c false. Andererseits ist Φ ∪ {ϕ} aber konsistent wegen Φ ⊬ ¬ϕ. Also ist ⊢ cnicht konsistenzerhaltend.✷Die Deduktions-Eigenschaft selbst ist dagegen sehr nützlich. So läßt sie etwa e<strong>in</strong>e ganzeReihe unterschiedlicher Formulierungen zu, die allesamt äquivalent s<strong>in</strong>d.E<strong>in</strong> Beispiel ist die Folgerungsregel von der Elim<strong>in</strong>ierung der Disjunktionen:Satz 4.1.17: E<strong>in</strong>e Vervollständigung comp/⊢ c /sel hat die Deduktions-Eigenschaft genaudann, wenn gilt (Eigenschaft DIS, ϕ 1 und ϕ 2 seien variablenfreie Formeln):• comp(Φ) ⊢ ϕ 1 ∨ ϕ 2 , comp(Φ ∪ {ϕ 1 }) ⊢ ψ, comp(Φ) ∪ {ϕ 2 } ⊢ ψ =⇒ comp(Φ) ⊢ ψ.• Φ ⊢ c ϕ 1 ∨ ϕ 2 , Φ ∪ {ϕ 1 } ⊢ c ψ, Φ ∪ {ϕ 2 } ⊢ c ψ =⇒ Φ ⊢ c ψ.• sel(I 1 ∪ I 2 ) ⊆ sel(I 1 ) ∪ sel(I 2 ).Beweis: Die Äquivalenz der Formulierung für vervollständigte Folgerungsrelationen und syntaktischeFolgerungsrelationen ist <strong>in</strong> beiden Fällen offensichtlich, folgt also aus der Behauptungfür ⊢ c .Sei also zunächst die Aussage für vervollständigte Folgerungsrelationen bewiesen:• ”DIS =⇒ DED“: Es gilt Φ ⊢ c (ϕ → ψ) ∨ ϕ, denn (ϕ → ψ) ∨ ϕ ist äquivalent zu¬ϕ ∨ ψ ∨ ϕ und damit zu true, wird also von beliebigem Φ schon logisch impliziert. NachVoraussetzung gilt Φ ∪ {ϕ} ⊢ c ψ, und daher Φ ∪ {ϕ} ⊢ c ϕ → ψ. Außerdem gilt natürlichΦ ∪ {ϕ → ψ} ⊢ c ϕ → ψ. Wendet man die Regel DIS auf diese drei Voraussetzungen an, soerhält man die Behauptung Φ ⊢ c ϕ → ψ.• DED =⇒ DIS“: Nach Voraussetzung gelten Φ ⊢ c ϕ ” 1 ∨ ϕ 2 , Φ ∪ {ϕ 1 } ⊢ c ψ undΦ ∪ {ϕ 2 } ⊢ c ψ. Die zweite und dritte Forderung kann man mit DED umformen zuΦ ⊢ c ϕ 1 → ψ und Φ ⊢ c ϕ 2 → ψ. Nun folgt aber ϕ ⊢ c ψ aus dem Abschluß unter ∧und ⊢ c , denn {ϕ 1 ∨ ϕ 2 , ϕ 1 → ψ, ϕ 2 → ψ} ⊢ ψ.Nun ist die Aussage noch für modelltheoretische Vervollständigungen zu beweisen:• ”DIS =⇒ DED“: E<strong>in</strong> Spezialfall der Eigenschaft DIS istsel ( (I 1 ∩ I 2 ) ∪ (I 1 ∩ I 2 ) ) ⊆ sel(I 1 ∩ I 2 ) ∪ sel(I 1 ∩ I 2 ).Offensichtlich kann man die l<strong>in</strong>ke Seite zu sel(I 1 ) vere<strong>in</strong>fachen. Schneidet man nun aufbeiden Seiten mit I 2 , so ergibt sich die Behauptung:sel(I 1 ) ∩ I 2 ⊆ sel(I 1 ∩ I 2 )


80 KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGEN(wegen sel(I 1 ∩ I 2 ) ⊆ I 2 kann der entsprechende Teilterm entfallen).• ”DED =⇒ DIS“: Zwei Spezialfälle der Eigenschaft DED s<strong>in</strong>d:sel(I 1 ∪ I 2 ) ∩ I 1 ⊆ sel ( (I 1 ∪ I 2 ) ∩ I 1 ) ) ,sel(I 1 ∪ I 2 ) ∩ I 2 ⊆ sel ( (I 1 ∪ I 2 ) ∩ I 2 ) ) .Vere<strong>in</strong>igt man die l<strong>in</strong>ken und rechten Seiten und nimmt die offensichtlichen Vere<strong>in</strong>fachungenvor, so erhält mansel(I 1 ∪ I 2 ) ∩ (I 1 ∪ I 2 ) ⊆ sel(I 1 ) ∪ sel(I 2 ).Nun ist aber ohneh<strong>in</strong> sel(I 1 ∪ I 2 ) ⊆ I 1 ∪ I 2 , man kann die l<strong>in</strong>ke Seite also noch weiter zusel(I 1 ∪ I 2 ) vere<strong>in</strong>fachen und erhält damit gerade die Eigenschaft DIS.✷E<strong>in</strong> Spezialfall der Elim<strong>in</strong>ierung der Disjunktion ist das Beweisschema der Fallunterscheidung.Tatsächlich ist es aber im Kontext von Vervollständigungen sogar äquivalent zurDeduktions-Eigenschaft:Satz 4.1.18: E<strong>in</strong>e Vervollständigung ⊢ c hat die Deduktions-Eigenschaft genau dann,wennΦ ∪ {ϕ} ⊢ c ψ, Φ ∪ {¬ϕ} ⊢ c ψ =⇒ Φ ⊢ c ψ(dabei sei ϕ wieder e<strong>in</strong>e vriablenfreie Formel).Beweis:• Offensichtlich impliziert die Eigenschaft DIS diese Folgerungsregel (für ϕ 1ϕ 2 := ¬ϕ gilt trivialerweise Φ ⊢ c ϕ 1 ∨ ϕ 2 ).:= ϕ und• Übersetzt man diese Folgerungsregel <strong>in</strong> die modelltheoretische Sprechweise, so erhält mansel(I Φ ∩ I ϕ ) ⊆ I ψ , sel(I Φ ⊆ I ϕ ) ⊆ I ψ=⇒ sel(I Φ ) ⊆ I ψ .Für I ψ := sel(I Φ ∩ I ϕ ) ∪ sel(I Φ ⊆ I ϕ ) s<strong>in</strong>d die Voraussetzungen trivialerweise erfüllt, undes ergibt sichsel(I Φ ) ⊆ sel(I Φ ∩ I ϕ ) ∪ sel(I Φ ∩ I ϕ ).Schneidet man nun auf beiden Seiten mit I ϕ , so ergibt sichsel(I Φ ) ∩ I ϕ ⊆ sel(I Φ ∩ I ϕ ),also die Deduktions-Eigenschaft.✷Wieder wird also die Information beschränkt, die verloren geht, wenn e<strong>in</strong>e Formel aus derDatenbank gelöscht wird: Wenn es für e<strong>in</strong>e Anfrage ψ ke<strong>in</strong>en Unterschied macht, ob dieFormel ϕ oder ihre Negation ¬ϕ <strong>in</strong> der Datenbank enthalten s<strong>in</strong>d, dann sollte es auchmöglich se<strong>in</strong>, diese Formel ganz zu löschen.Es gibt noch e<strong>in</strong>e ganze Reihe weiterer äquivalenter Formulierungen. So kann manetwa die Eigenschaft DIS vere<strong>in</strong>fachen zuΦ ∪ {ϕ 1 } ⊢ c ψ, Φ ∪ {ϕ 2 } ⊢ c ψ =⇒ Φ ∪ {ϕ 1 ∨ ϕ 2 } ⊢ c ψ.


4.2. MODELLTHEORETISCHE EIGENSCHAFTEN 81Auch muß die Formulierung für syntaktische Vervollständigungen sich nicht immer an derFormulierung für vervollständigte Folgerungsrelationen orientieren, so kann man etwacomp(Φ) ∪ {ϕ} ⊢ comp ( Φ ∪ {ϕ} )direkt aus der modelltheoretischen Fassung der Eigenschaft DED ableiten. Diese letzteEigenschaft besagt, daß alle <strong>Defaults</strong>, die beim Vorliegen von mehr Information (Φ∪{ϕ})angenommen werden, erst recht bei weniger Information angenommen werden (Φ). Diesist <strong>in</strong>sofern natürlich, als <strong>Defaults</strong> ja gerade aufgrund von mangelnder Information angenommenwerden sollen.Die Deduktions-Eigenschaft wurde <strong>in</strong> [Sho87] betrachtet. In der Theorie der Wahlverfahrenwurde e<strong>in</strong>e entsprechende Eigenschaft 1954 von Chernoff e<strong>in</strong>geführt [Mou85].4.2 Modelltheoretische EigenschaftenIm folgenden werden noch e<strong>in</strong>ige Eigenschaften betrachtet, die ke<strong>in</strong>e direkte Beziehungzu Folgerungsregeln haben, aber <strong>in</strong> der modelltheoretischen Sichtweise recht e<strong>in</strong>leuchtends<strong>in</strong>d. Auch Beziehungen zwischen Vervollständigungen werden untersucht.Die Expansions-EigenschaftWährend die Deduktions-Eigenschaft die Information begrenzt, die verloren geht, wenndie Voraussetzungen Φ schwächer werden, begrenzt die folgende Eigenschaft die Information,die <strong>in</strong> diesem Fall gewonnen werden kann. Es mag zunächst nicht <strong>in</strong>tuitiv e<strong>in</strong>leuchten,daß <strong>in</strong> diesem Fall überhaupt Information gewonnen werden kann, aber das liegtan dem nichtmonotonen Charakter der Vervollständigungen: Wenn die gelöschte Formeletwa gerade e<strong>in</strong>en Default blockierte, kann dieser anschließend angenommen werden.Def<strong>in</strong>ition 4.2.1 (Expansions-Eigenschaft): E<strong>in</strong>e Vervollständigung comp/⊢ c /selhat die Expansions-Eigenschaft (EXP) genau dann, wenn gilt:• comp ( Φ ∪ {ϕ 1 } ) ∪ comp ( Φ ∪ {ϕ 2 } ) ⊢ comp ( Φ ∪ {ϕ 1 ∨ ϕ 2 } ) .• Φ ∪ {ϕ 1 ∨ ϕ 2 } ⊢ c ψ =⇒ es gibt ψ 1 , ψ 2 ∈ L ∗ Σ mit ψ 1 ∧ ψ 2∼ = ψ undΦ ∪ {ϕ 1 } ⊢ c ψ 1 , Φ ∪ {ϕ 2 } ⊢ c ψ 2 .• sel(I 1 ) ∩ sel(I 2 ) ⊆ sel(I 1 ∪ I 2 ).In der modelltheoretischen Sicht besagt diese Eigenschaft, daß e<strong>in</strong> Modell, das sowohlim Vergleich mit e<strong>in</strong>er Menge I 1 von alternativen Modellen <strong>in</strong>tendiert ist, als auch imVergleich mit I 2 , dann auch <strong>in</strong> ihrer Vere<strong>in</strong>igung ausgewählt werden sollte.Lemma 4.2.2: E<strong>in</strong>e syntaktische bzw. modelltheoretische Vervollständigung hat genaudann die Eigenschaft EXP, wenn die zugehörige vervollständigte Folgerungsrelation dieEigenschaft EXP hat.


82 KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGENBeweis:• Habe comp die Expansions-Eigenschaft und gelte Φ ∪ {ϕ 1 ∨ ϕ 2 } ⊢ comp ψ. Dies bedeutetdef<strong>in</strong>itionsgemäß comp ( Φ ∪ {ϕ 1 ∨ ϕ 2 } ) ⊢ ψ. Dann gilt natürlichcomp ( Φ ∪ {ϕ 1 } ) ∪ comp ( Φ ∪ {ϕ 2 } ) ⊢ ψ,und ψ folgt schon aus e<strong>in</strong>er endlichen Teilmenge. Sei ψ i ′ die Konjunktion der benötigtenFormeln aus comp ( Φ ∪ {ϕ i } ) (i = 1, 2). Dann gilt Φ ∪ {ϕ 1 } ⊢ c ψ 1 ′ , Φ ∪ {ϕ 2} ⊢ c ψ 2 ′ und{ψ 1 ′ ∧ ψ′ 2 } ⊢ ψ. Die Behauptung folgt nun für ψ i := ψ i ′ ∨ ψ.Habe umgekehrt ⊢ comp die Eigenschaft EXP und sei ψ ∈ comp ( Φ∪{ϕ 1 ∨ϕ 2 } ) beliebig.Dann gilt Φ ∪ {ϕ 1 ∨ ϕ 2 } ⊢ comp ψ und daher gibt es ψ 1 und ψ 2 mit Φ ∪ {ϕ 1 } ⊢ comp ψ 1 ,Φ ∪ {ϕ 2 } ⊢ comp ψ 2 und ψ 1 ∧ ψ 2∼ = ψ, also comp(Φ ∪ {ϕ1 } ) ∪ comp ( Φ ∪ {ϕ 2 } ) ⊢ ψ.• Habe sel die Expansions-Eigenschaft und gelte Φ ∪ {ϕ 1 ∨ ϕ 2 } ⊢ sel ψ. Sei zur AbkürzungI Φ := Mod(Φ), I 1 := Mod(ϕ 1 ), I 2 := Mod(ϕ 2 ) und I ψ := Mod(ψ). Damit bedeutet dieVoraussetzung:sel ( I Φ ∩ (I 1 ∪ I 2 ) ) = sel ( (I Φ ∩ I 1 ) ∪ (I Φ ∩ I 2 ) ) ⊆ I ψ .Nach der Expansionseigenschaft ist nunsel(I Φ ∩ I 1 ) ∩ sel(I Φ ∩ I 2 ) ⊆ sel ( (I Φ ∩ I 1 ) ∪ (I Φ ∩ I 2 ) ) ⊆ I ψ .Daher gilt die Behauptung für ψ i := th ( sel(I Φ ∩ I i ) ) (i = 1, 2).Habe umgekehrt ⊢ sel die Expansions-Eigenschaft. Trivialerweise gilt für Φ := ∅,ϕ 1 := th(I 1 ), ϕ 2 := th(I 2 ) und ψ := th ( sel(I 1 ∪ I 2 ) ) , daß Φ ∪ {ϕ 1 ∨ ϕ 2 } ⊢ sel ψ. NachVoraussetzung gibt es nun ψ 1 und ψ 2 mitΦ ∪ {ϕ 1 } ⊢ sel ψ 1 , Φ ∪ {ϕ 2 } ⊢ sel ψ 2 , {ψ 1 ∧ ψ 2 } ⊢ ψ.Dann gilt aber sel(I 1 ) ∩ sel(I 2 ) ⊆ Mod(ψ 1 ) ∩ Mod(ψ 2 ) ⊆ sel(I 1 ∪ I 2 ).✷Die Expansions-Eigenschaft ist wichtig, weil sie es gestattet, von der Auswahl e<strong>in</strong>es Modells<strong>in</strong> kle<strong>in</strong>eren Modellmengen auf die Auswahl des Modells <strong>in</strong> größeren Mengen zuschließen. Die Deduktions-Eigenschaft leistet gerade das Umgekehrte, zusammen hatman:sel(I 1 ) ∩ sel(I 2 ) ⊆ sel(I 1 ∪ I 2 ) ⊆ sel(I 1 ) ∪ sel(I 2 ),also e<strong>in</strong>e obere und e<strong>in</strong>e untere Schranke für sel(I 1 ∪ I 2 ).Vergleich der Stärke von VervollständigungenNatürlich ist es auch wichtig, das Verhalten verschiedener Default-Semantiken für dieselbeDefault-Spezifikation zu vergleichen.E<strong>in</strong> e<strong>in</strong>facher Zusammenhang ist hier, daß die <strong>in</strong>tendierten Modelle bezüglich der e<strong>in</strong>enVervollständigung immer e<strong>in</strong>e Teilmenge der <strong>in</strong>tendierten Modelle bezüglich der anderenVervollständigung s<strong>in</strong>d:


4.3. VERVOLLSTÄNDIGUNGEN ALS SEMANTIK VON DEFAULTS 83Def<strong>in</strong>ition 4.2.3 (Stärker als): E<strong>in</strong>e Vervollständigung comp 1 /⊢ c 1/sel 1 ist stärker alse<strong>in</strong>e Vervollständigung comp 2 /⊢ c 2/sel 2 genau dann, wenn gilt:• comp 1 (Φ) ⊢ comp 2 (Φ).• Φ ⊢ c 2 ψ =⇒ Φ ⊢ c 1 ψ.• sel 1 (I) ⊆ sel 2 (I).In diesem Fall heißt comp 2 /⊢ c 2/sel 2 schwächer als comp 1 /⊢ c 1/sel 1 . Echt stärker heißt e<strong>in</strong>eVervollständigung, wenn sie stärker ist, aber nicht schwächer.Lemma 4.2.4: E<strong>in</strong>e syntaktische bzw. modelltheoretische Vervollständigung ist genaudann stärker als e<strong>in</strong>e andere, wenn dies auch für die zugehörigen vervollständigtenFolgerungsrelationen gilt.Beweis:• Sei comp 1 stärker als comp 2 . Gelte Φ ⊢ comp2 ψ, d.h. comp 2 (Φ) ⊢ ψ. Da comp 1 stärkerals comp 2 ist, gilt comp 1 (Φ) ⊢ comp 2 (Φ) und damit comp 1 (Φ) ⊢ ψ, also Φ ⊢ comp1 ψ.• Sei ⊢ comp1 stärker als ⊢ comp2 . Sei ψ ∈ comp 2 (Φ). Natürlich gilt Φ ⊢ comp2 ψ, dann alsoauch Φ ⊢ comp1 ψ und daher comp 1 (Φ) ⊢ ψ. Da dies für alle ψ ∈ comp 2 (Φ) gilt, folgtcomp 1 (Φ) ⊢ comp 2 (Φ).• Sei sel 1 stärker als sel 2 . Gilt Φ ⊢ sel 2ψ, d.h. sel 2(Mod(Φ))⊆ Mod(ψ), so gilt wegensel 1(Mod(Φ))⊆ sel 2(Mod(Φ))auch sel 1(Mod(Φ))⊆ Mod(ψ), d.h. Φ ⊢sel 1ψ.• Sei ⊢ sel 1stärker als ⊢ sel 2. Dann wähle man Φ := Th(I) und ψ := th ( sel 2 (I) ) . Natürlichgilt Φ ⊢ sel 2ψ, also auch Φ ⊢ sel 1ψ, dies bedeutet aber sel 1 (I) ⊆ sel 2 (I).✷Die schwächste aller Vervollständigungen ist die logische Folgerung, die stärkste ist dieüberall <strong>in</strong>konsistente Vervollständigung. Interessanter werden solche extremalen Vervollständigungennatürlich, wenn man zusätzlich noch andere Eigenschaften fordert.4.3 Vervollständigungen als Semantik von <strong>Defaults</strong>Ziel dieser Untersuchungen ist ja e<strong>in</strong>e Abbildung von Default-Spezifikationen (∆, ❁) aufVervollständigungen, die also die Semantik der <strong>Defaults</strong> def<strong>in</strong>iert. Bisher wurde nur derWertebereich dieser Abbildung untersucht. So möchte man etwa für beliebige Default-Spezifikationen garantieren können, daß die zugehörige Vervollständigung konsistenzerhaltendund kumulierend ist.Die Def<strong>in</strong>ition spezieller solcher Abbildungen ist Gegenstand von Kapitel 5. Washier noch zu tun bleibt, ist Anforderungen an solche Abbildungen zu sammeln. Solangeman sich dabei nur auf e<strong>in</strong> Paar von E<strong>in</strong>gabe (Default-Spezifikation) und Ausgabe (Vervollständigung)bezieht, kann man dies auch als e<strong>in</strong>e Eigenschaft von Vervollständigungenauffassen, die mit e<strong>in</strong>er Default-Spezifikation parametrisiert ist.Obwohl der Ausprägungs-Mechanismus für die <strong>Defaults</strong> eigentlich Bestandteil derVervollständigung ist, wird er auch <strong>in</strong> den hier betrachteten Eigenschaften benötigt. Man


84 KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGENkann ihn entweder als e<strong>in</strong>en weiteren Parameter der Eigenschaften ansehen, oder e<strong>in</strong>enfesten Ausprägungs-Mechanismus (die Grundbeispiel-Bildung) zugrunde legen.<strong>Defaults</strong> als e<strong>in</strong>ziges UnterscheidungskriteriumSei e<strong>in</strong>e Menge ∆ ∗ von Default-Ausprägungen gegeben (die Prioritätsrelation spielt <strong>in</strong>diesem Unterabschnitt ke<strong>in</strong>e Rolle). Man kann nun zwei Modelle als äquivalent ansehen,wenn sie sich nicht <strong>in</strong> den Wahrheitswerten der δ ∈ ∆ ∗ unterscheiden:Def<strong>in</strong>ition 4.3.1 (Äquivalenz bezüglich <strong>Defaults</strong>): Zwei Interpretationen I 1 und I 2heißen äquivalent bezüglich ∆ ∗ (I 1∼ =∆ ∗ I 2 ) genau dann, wennI 1 |= δ ⇐⇒ I 2 |= δfür alle δ ∈ ∆ ∗ gilt.Wenn e<strong>in</strong>e Vervollständigung auf ∆ ∗ basiert, so wird man erwarten, daß sie mit dieserÄquivalenzrelation verträglich ist, also äquivalente Modelle entweder beide auswählt oderbeide ausscheidet.Diese Forderung ist modelltheoretisch sehr e<strong>in</strong>leuchtend. Bezogen auf syntaktischeVervollständigungen besagt sie, daß die Vervollständigung durch e<strong>in</strong>e aussagenlogischeVerknüpfung von Default-Ausprägungen geschieht:Def<strong>in</strong>ition 4.3.2 (Verträglich mit <strong>Defaults</strong>): E<strong>in</strong>e Vervollständigung comp/⊢ c /selheißt verträglich mit Default-Ausprägungen ∆ ∗ ( compatible with defaults“, CD) genau”dann, wenn• Für alle Φ gibt es e<strong>in</strong>e Menge E(Φ) von aussagenlogischen Verknüpfungen von Elementenaus ∆ ∗ , so daß comp(Φ) ∼ = Φ ∪ E(Φ).• Für alle Φ gibt es e<strong>in</strong>e Menge E(Φ) von aussagenlogischen Verknüpfungen von Elementenaus ∆ ∗ , so daß Φ ⊢ c ψ ⇐⇒ Φ ∪ E(Φ) ⊢ ψ.• Für alle I 1 , I 2 ∈ I: I 1∼ =∆ ∗ I 2 =⇒ ( I 1 ∈ sel(I) ⇐⇒ I 2 ∈ sel(I) ) .Lemma 4.3.3: E<strong>in</strong>e syntaktische bzw. modelltheoretische Vervollständigung ist genaudann verträglich mit ∆ ∗ , wenn dies auch für die zugehörige vervollständigte Folgerungsrelationgilt.Beweis: Die Äquivalenz zwischen der Formulierung für syntaktische Vervollständigungen undvervollständigte Folgerungsrelationen ist offensichtlich.• Sei ⊢ sel verträglich mit ∆ ∗ , und seien I 1 , I 2 ∈ I mit I 1∼ =∆ ∗ I 2 . Es gibt nun e<strong>in</strong>e aussagenlogischeVerknüpfung der <strong>Defaults</strong> E ( Th(I) ) , so daßTh(I) ⊢ sel ψ ⇐⇒ Th(I) ∪ E ( Th(I) ) ⊢ ψ.Sei ψ i := th ( I Σ − {I i } ) für i = 1, 2. Dann giltTh(I) ⊢ sel ψ i⇐⇒ I i ∉ sel(I).


4.3. VERVOLLSTÄNDIGUNGEN ALS SEMANTIK VON DEFAULTS 85Andererseits giltTh(I) ⊢ sel ψ i ⇐⇒ I i ̸|= E ( Th(I) ) .Da I 1 und I 2 sich nicht <strong>in</strong> den Wahrheitswerten der <strong>Defaults</strong> unterscheiden, gilt diesnatürlich auch für Mengen aussagenlogischer Verknüpfungen, alsoI 1 ̸|= E ( Th(I) ) ⇐⇒ I 2 ̸|= E ( Th(I) ) .Zusammen mit den übrigen Äquivalenzen folgt I 1 ∉ sel(I) ⇐⇒ I 2 ∉ sel(I).• Sei umgekehrt sel verträglich mit ∆ ∗ und sei Φ gegeben. Man konstruiert E(Φ) folgendermaßen:Für jedes Modell I ∈ sel ( Mod(Φ) ) sei E(I) die Konjunktion aller δ ∈ ∆ ∗mit I |= δ und aller ¬δ mit I ̸|= δ. Dann bestehe E(Φ) aus der Disjunktion aller dieserFormeln. Da sel verträglich mit ∆ ∗ ist, gilt für jedes I ∈ Mod(Φ) nach KonstruktionI |= E(Φ) =⇒ I ∈ sel ( Mod(Φ) ) . Daraus folgt aberΦ ⊢ sel ψ ⇐⇒ Φ ∪ E(Φ) ⊢ ψ,denn die l<strong>in</strong>ke Seite bedeutet nach Def<strong>in</strong>ition: sel ( Mod(Φ) ) ⊆ Mod(ψ).✷Eigenschaften dieser Art wurden <strong>in</strong> der Literatur offenbar noch nicht betrachtet; es standimmer entweder die allgeme<strong>in</strong>e Folgerungsrelation oder die spezielle Default-Semantik imVordergrund.Ist ∆ ∗ leer, so ist <strong>in</strong>tuitiv die e<strong>in</strong>zige vernünftige Semantik die logische Folgerung.Dies kann auch formal mit dieser Eigenschaft begründet werden: Die logische Folgerungdie e<strong>in</strong>zige mit ∅ verträgliche konsistenzerhaltende Vervollständigung.Man kann die Eigenschaft CD noch verstärken, wenn man statt der Äquivalenzrelatione<strong>in</strong>e Ordnung auf den Modellen betrachtet. Wird I 1 ausgewählt und erfüllt I 2 m<strong>in</strong>destensdieselben <strong>Defaults</strong>, so sollte I 2 erst recht ausgewählt werden.Def<strong>in</strong>ition 4.3.4 (erfüllt <strong>Defaults</strong> ebenso gut wie): E<strong>in</strong>e Interpretation I 1 erfülltdie Default-Ausprägungen ∆ ∗ m<strong>in</strong>destens ebenso gut wie I 2 (I 1 ≼ ∆ ∗ I 2 ) genau dann, wennI 2 |= δ =⇒ I 1 |= δfür alle δ ∈ ∆ ∗ gilt.Im Unterschied zu der <strong>in</strong> Kapitel 5 def<strong>in</strong>ierten Ordnung ist diese Relation nur transitivund nicht irreflexiv (verschiedene Modelle können dieselben <strong>Defaults</strong> erfüllen). Allerd<strong>in</strong>gsist die dort für <strong>Defaults</strong> ohne Prioritäten def<strong>in</strong>ierte Ordnung gerade der irreflexive Anteildieser Ordnung. Für <strong>Defaults</strong> mit Prioritäten ist die dort def<strong>in</strong>ierte Ordnung e<strong>in</strong>eObermenge, so daß diese Eigenschaft noch stärker würde. Hier sollen aber nur völlig unstrittigeForderungen aufgestellt werden, so daß die Semantik der Prioritäten besser nochnicht festgelegt wird. Aber natürlich müssen Vervollständigungen mit Prioritäten erstrecht diese Eigenschaft erfüllen (es ist ja ke<strong>in</strong>e Entscheidung zwischen konkurrierenden<strong>Defaults</strong> zu fällen):


86 KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGENDef<strong>in</strong>ition 4.3.5 (Stark verträglich): E<strong>in</strong>e Vervollständigung comp/⊢ c /sel heißtstark verträglich mit Default-Ausprägungen ∆ ∗ (Eigenschaft SCD) genau dann, wenn• Für alle Φ gibt es e<strong>in</strong>e Menge E(Φ) von ∧/∨-Verknüpfungen von Elementen aus ∆ ∗ ,so daß comp(Φ) ∼ = Φ ∪ E(Φ).• Für alle Φ gibt es e<strong>in</strong>e Menge E(Φ) von ∧/∨-Verknüpfungen von Elementen aus ∆ ∗ ,so daß Φ ⊢ c ψ ⇐⇒ Φ ∪ E(Φ) ⊢ c ψ.• Für alle I 1 , I 2 ∈ I: I 1 ∈ sel(I), I 2 ≼ ∆ ∗ I 1=⇒ I 2 ∈ sel(I).Lemma 4.3.6: E<strong>in</strong>e syntaktische bzw. modelltheoretische Vervollständigung ist genaudann stark verträglich mit ∆ ∗ , wenn dies auch für die zugehörige vervollständigteFolgerungsrelation gilt.Beweis:Der Beweis ist sehr ähnlich zu dem von Lemma 4.3.3. Die Unterschiede s<strong>in</strong>d:• In der Richtung von ⊢ sel nach sel hat man jetzt nur noch die Implikation:I 1 ̸|= E ( Th(I) ) ⇐= I 2 ̸|= E ( Th(I) ) .• In der anderen Richtung enthält E(I) jetzt nur noch die Konjunktion aller δ ∈ ∆ ∗ mitI |= δ.✷Die naive CWADie orig<strong>in</strong>ale CWA [Rei78] nimmt e<strong>in</strong> negatives Grundliteral an, wenn das entsprechendepositive Grundliteral nicht aus den Axiomen folgt (siehe Kapitel 3). Die Verallgeme<strong>in</strong>erungauf beliebige <strong>Defaults</strong> und Prioritäten wird hier die naive CWA genannt, weilsie verglichen mit den anderen Default-Semantiken so e<strong>in</strong>fach ist (und um sie von dervorsichtigen CWA <strong>in</strong> Kapitel 5 zu unterscheiden).Diese E<strong>in</strong>fachheit hat bekanntlich den Preis, daß die naive CWA nicht konsistenzerhaltendist, wenn zwei <strong>Defaults</strong> gleicher Priorität im Konflikt mite<strong>in</strong>ander stehen (sie werdendann beide angenommen). Andererseits ist diese E<strong>in</strong>fachheit ihre große Stärke: Sie ist soe<strong>in</strong>leuchtend, daß im Konsistenzfall jede gute Default-Semantik mit ihr übere<strong>in</strong>stimmensollte. Diese Eigenschaft wird NCWA-Eigenschaft genannt.Falls ke<strong>in</strong>e Prioritäten spezifiziert s<strong>in</strong>d, ist die naive CWA e<strong>in</strong>fachncwa ∆ (Φ) := Φ ∪ {δ ∈ ∆ ∗ | Φ ⊬ ¬δ}.Bei Prioritätsstufen wird diese Konstruktion entsprechend iteriert, im allgeme<strong>in</strong>en Fallergibt sich folgende Def<strong>in</strong>ition:Def<strong>in</strong>ition 4.3.7 (Naive CWA):Elemente von ∆ ∗ def<strong>in</strong>iert:• Ist ∆ ∗ leer, so ist ncwa (∆ ∗ ,❁)(Φ) := Φ.Die naive CWA wird <strong>in</strong>duktiv über der Anzahl der• Sonst sei ∆ ∗ δ := {δ 0 ∈ ∆ ∗ | δ 0 ❁ δ} die Menge der <strong>Defaults</strong> echt höherer Prioritätals δ ∈ ∆ ∗ , und ❁ δ sei die Restriktion von ❁ auf ∆ ∗ δ . Da diese Menge m<strong>in</strong>destens


4.3. VERVOLLSTÄNDIGUNGEN ALS SEMANTIK VON DEFAULTS 87e<strong>in</strong>en Default weniger enthält (δ), ist ncwa (∆ ∗δ ,❁ δ ) schon def<strong>in</strong>iert. Nun se<strong>in</strong>cwa (∆ ∗ ,❁)(Φ) := Φ ∪ {δ ∈ ∆ ∗ | ncwa (∆ ∗δ ,❁ δ ) ⊬ ¬δ}.Schließlich sei ncwa (∆,❁) := ncwa (∆ ∗ ,❁).Falls es ke<strong>in</strong>e Prioritäten gibt, ist ∆ ∗ δncwa ∆ (Φ) := Φ ∪ {δ ∈ ∆ ∗ | Φ ⊬ ¬δ}leer, und die Def<strong>in</strong>ition vere<strong>in</strong>facht sich zu(wie bereits <strong>in</strong> Kapitel 3 angegeben). Es ist auch möglich, die naive CWA modelltheoretischzu def<strong>in</strong>ieren, zur Vere<strong>in</strong>fachung wird hier nur die Version ohne Prioritäten angegeben:⋂ncwa ∆ (I) := I ∩Mod(δ).{δ∈∆ ∗ |Mod(δ)∩I≠∅}In Ab-Die Äquivalenz und die Verallgeme<strong>in</strong>erung auf Prioritäten s<strong>in</strong>d offensichtlich.schnitt 5.1 wird e<strong>in</strong>e Charakterisierung mittels m<strong>in</strong>imaler Modelle angegeben.Def<strong>in</strong>ition 4.3.8 (NCWA-Eigenschaft): E<strong>in</strong>e Vervollständigung comp/⊢ c /sel hat fürgegebenes (∆, ❁) die NCWA-Eigenschaft genau dann, wenn• Ist ncwa (∆,❁) (Φ) konsistent, so gilt comp(Φ) ∼ = ncwa (∆,❁) (Φ).• Ist ncwa (∆,❁) (Φ) konsistent, so gilt Φ ⊢ c ψ ⇐⇒ ncwa (∆,❁) (Φ) ⊢ ψ.• Ist ncwa (∆,❁) (I) ≠ ∅, so gilt sel(I) = ncwa (∆,❁) (I).Die Äquivalenz der verschiedenen Formulierungen ist offensichtlich.Disjunktions-Eigenschaft für <strong>Defaults</strong>Man kann die <strong>in</strong> Abschnitt 4.1 angegebenen Eigenschaften abschwächen, <strong>in</strong>dem mansie nicht für beliebige Formeln ψ fordert, sondern nur für <strong>Defaults</strong>. Die Deduktions-Eigenschaft läßt sich etwa äquivalent <strong>in</strong> der folgenden Form aufschreiben:Φ ∪ {ϕ 1 } ⊢ ψ, Φ ∪ {ϕ 2 } ⊢ ψ =⇒ Φ ∪ {ϕ 1 ∨ ϕ 2 } ⊢ ψ.Die vorsichtige CWA hat diese Eigenschaft nicht. Setzt man jedoch zusätzlich ψ ∈ ∆ ∗voraus, so erhält man die folgende Eigenschaft, die auch von der vorsichtigen CWA erfülltwird (siehe Kapitel 5):Def<strong>in</strong>ition 4.3.9 (Eigenschaft DDIS): E<strong>in</strong>e Vervollständigung comp/⊢ c /sel hat dieDisjunktions-Eigenschaft für ∆ ∗ (Eigenschaft DDIS) genau dann, wenn• comp ( Φ ∪ {ϕ 1 } ) ⊢ δ, comp ( Φ ∪ {ϕ 2 } ) ⊢ δ =⇒ comp ( Φ ∪ {ϕ 1 ∨ ϕ 2 } ) ⊢ δ.• Φ ∪ {ϕ 1 } ⊢ c δ, Φ ∪ {ϕ 2 } ⊢ c δ =⇒ Φ ∪ {ϕ 1 ∨ ϕ 2 } ⊢ c δ.• sel(I 1 ) ⊆ Mod(δ), sel(I 2 ) ⊆ Mod(δ) =⇒ sel(I 1 ∪ I 2 ) ⊆ Mod(δ).


88 KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGENDie Äquivalenz der verschiedenen Formulierungen ist offensichtlich.Diese Eigenschaft bedeutet, daß wenn e<strong>in</strong> Default δ <strong>in</strong> Φ ∪ {ϕ 1 } angenommen wird,und <strong>in</strong> Φ ∪ {ϕ 2 }, er dann auch <strong>in</strong> Φ ∪ {ϕ 1 ∨ ϕ 2 } angenommen werden sollte. Er kann dannja nicht durch Axiome blockiert werden und alle Konflikte mit anderen <strong>Defaults</strong> s<strong>in</strong>d <strong>in</strong>den beiden <strong>in</strong> der Voraussetzung genannten Axiomenmengen schon aufgetreten, dort hatsich δ aber durchgesetzt.E<strong>in</strong>e unmittelbare Folgerung aus der Def<strong>in</strong>ition und Satz 4.1.17 ist:Korollar 4.3.10: Hat e<strong>in</strong>e Vervollständigung die Deduktions-Eigenschaft, so hat sieauch die Eigenschaft DDIS für beliebige ∆ ∗ .


Kapitel 5Semantik von <strong>Defaults</strong>In diesem Kapitel werden nun verschiedene konkrete Vorschläge für die Semantik von<strong>Defaults</strong> angegeben.Es wird dabei jeweils untersucht, welche der Eigenschaften aus dem letzten Kapitelfür beliebige Default-Spezifikationen garantiert werden können.Außerdem ist auch die Ausdrucksfähigkeit der Semantiken <strong>in</strong>teressant, d.h. die Frage,welche Vervollständigungen durch geeignete Default-Spezifikationen beschrieben werdenkönnen. Zwischen diesen beiden Zielen gibt es natürlich e<strong>in</strong>en Konflikt: Je mehr Vervollständigungenbeschrieben werden können, desto weniger Eigenschaften können garantiertwerden.Natürlich werden die verschiedenen Semantiken auch verglichen, <strong>in</strong>sbesondere gibtes Resultate der Form, daß e<strong>in</strong>e Semantik grundsätzlich e<strong>in</strong>e stärkere Vervollständigungliefert als e<strong>in</strong>e andere.Schließlich ist es möglich, Default-Semantiken durch Eigenschaften zu charakterisieren.Damit wird die e<strong>in</strong>gangs gestellte Frage, welche Vervollständigung e<strong>in</strong>er Default-Spezifikation zugeordnet werden sollte, zum<strong>in</strong>dest relativ zu e<strong>in</strong>er Menge von Eigenschaftenbeantwortet.5.1 M<strong>in</strong>imale ModelleDie Idee der m<strong>in</strong>imalen Modelle ist, daß e<strong>in</strong> Modell um so besser ist, je mehr <strong>Defaults</strong> eserfüllt. Aus den durch die Axiome e<strong>in</strong>geschränkten Modellen wählt man dann die bestenaus.Tatsächlich kann man m<strong>in</strong>imale Modelle aber auch unabhängig von <strong>Defaults</strong> betrachten,man braucht nur e<strong>in</strong>e (strikte) partielle Ordnung auf den Herbrand-Interpretationen,d.h. e<strong>in</strong>e transitive und irreflexive zweistellige Relation.Ist etwa I 1 ≺ I 2 , so hält man die durch I 1 beschriebene Situation für plausibler als I 2 .Beispielsweise könnten sich I 1 und I 2 dadurch unterscheiden, daß der Vogel tweety <strong>in</strong> I 1fliegen kann, aber nicht <strong>in</strong> I 2 . Da Vögel normalerweise fliegen können, würde man I 1 vorziehen,wenn die Axiome beide Situationen zulassen. Ist dagegen explizit die Information89


90 KAPITEL 5. SEMANTIK VON DEFAULTSgegeben, daß tweety nicht fliegen kann, dann ist I 1 ausgeschlossen und I 2 e<strong>in</strong> <strong>in</strong>tendiertesModell.Dieses Beispiel entspricht natürlich gerade der Ordnung, die durch den Default ”Vögelkönnen normalerweise fliegen“ gegeben wäre. In diesem Abschnitt werden daher e<strong>in</strong>erseitsallgeme<strong>in</strong>e Präferenzrelationen ≺ betrachtet, und andererseits die durch e<strong>in</strong>e Menge von<strong>Defaults</strong> gegebene Ordnung ≺ ∆ . Später werden dann auch Ordnungen für <strong>Defaults</strong> mitPrioritäten e<strong>in</strong>geführt, wobei die allgeme<strong>in</strong>en Resultate weiterh<strong>in</strong> gültig bleiben.Def<strong>in</strong>ition 5.1.1 (Ordnungsrelation zu e<strong>in</strong>er Menge von <strong>Defaults</strong>): Die zu e<strong>in</strong>erMenge ∆ von <strong>Defaults</strong> gehörige Ordnungsrelation ≺ ∆ auf den Herbrandmodellen istI 1 ≺ ∆ I 2 :⇐⇒ { δ ∈ ∆ ∗ ∣ ∣ I 1 |= δ } ⊃ { δ ∈ ∆ ∗ ∣ ∣ I 2 |= δ } .Def<strong>in</strong>ition 5.1.2 (M<strong>in</strong>imale Modelle): Sei ≺ e<strong>in</strong>e transitive und irreflexive Relationauf den Herbrand-Interpretationen I Σ . Dann ist die modelltheoretische Vervollständigungm<strong>in</strong> ≺ def<strong>in</strong>iert durchm<strong>in</strong> ≺ (I) := {I ∈ I | es gibt ke<strong>in</strong> I 0 ∈ I mit I 0 ≺ I}.Für e<strong>in</strong>e Menge ∆ von <strong>Defaults</strong> sei m<strong>in</strong> ∆ := m<strong>in</strong> ≺∆ .Natürlich könnte man die Ordnungsrelation auch umdrehen und dann entsprechend vonmaximalen Modellen“ sprechen. Der Name m<strong>in</strong>imale Modelle hat sich aber e<strong>in</strong>gebürgert,”weil die typischen <strong>Defaults</strong> Negationen s<strong>in</strong>d. Dann <strong>in</strong>terpretiert e<strong>in</strong> Modell, was maximalviele <strong>Defaults</strong> erfüllt, die Prädikate gerade durch m<strong>in</strong>imale Relationen.M<strong>in</strong>imale Modelle <strong>in</strong> diesem S<strong>in</strong>ne wurden <strong>in</strong> [Dav80, McC80] e<strong>in</strong>geführt. E<strong>in</strong> abstrakterAnsatz mit beliebigen Präferenzrelationen wurde <strong>in</strong> [Sho87] vorgeschlagen. DieBeziehung zwischen <strong>Defaults</strong> und Ordnungsrelationen wurde <strong>in</strong> [BL89] ausführlich untersucht.Beziehung zwischen Ordnungsrelationen und <strong>Defaults</strong>Oben wurde def<strong>in</strong>iert, welche Ordnungsrelation durch e<strong>in</strong>e Menge von <strong>Defaults</strong> beschriebenist. Tatsächlich kann man aber auch umgekehrt zu e<strong>in</strong>er gegebenen Ordnungsrelatione<strong>in</strong>e Menge von <strong>Defaults</strong> konstruieren (unter den hier zugrundeliegenden Endlichkeitsannahmen).Das bedeutet, daß beliebige Ordnungsrelationen durch <strong>Defaults</strong> beschriebenwerden können:Lemma 5.1.3: Zu jeder partiellen Ordnung ≺ auf den Herbrand-Interpretationen gibtes e<strong>in</strong>e Menge ∆ von <strong>Defaults</strong>, so daß ≺ = ≺ ∆ .Beweis: Für jedes Herbrandmodell I sei δ I := th ( {I} ∪ {I ′ ∈ I Σ | I ′ ≺ I} ) . Dann sei diezu konstruierende Menge von <strong>Defaults</strong>: ∆ := {δ I | I ∈ I Σ }. Diese <strong>Defaults</strong> s<strong>in</strong>d variablenfreieFormeln, es gilt also ∆ ∗ = ∆.


5.1. MINIMALE MODELLE 91• Da die den <strong>Defaults</strong> entsprechenden Modellmengen nach unten abgeschlossen s<strong>in</strong>d, folgtaus I 1 ≺ I 2 und I 2 |= δ natürlich I 1 |= δ und damit giltI 1 ≺ I 2=⇒ { δ ∈ ∆ ∗ ∣ ∣ I 1 |= δ } ⊃ {δ ∈ ∆ ∗ | I 2 |= δ}.• Ist dagegen I 1 ⊀ I 2 , dann gilt I 2 |= δ I2 , aber I 1 ̸|= δ I2 , also folgt ⊅ und damit dieRichtung ⇐= .✷Die Konstruktion der <strong>Defaults</strong> <strong>in</strong> dem Beweis ist nicht unrealistisch, zum<strong>in</strong>dest erhältman <strong>in</strong> dem Standardbeispiel (M<strong>in</strong>imierung der Prädikatextensionen) Konjunktionen vonnegativen Grundliteralen, die man mit Satz 5.1.5 (s.u.) zu den üblichen negativen Grundliteralenvere<strong>in</strong>fachen kann.Konjunktionen s<strong>in</strong>d aber nicht immer überfüssig. Wenn man als <strong>Defaults</strong> nur Klauselnzuläßt, würde sich die Ausdrucksfähigkeit dieses Ansatzes verr<strong>in</strong>gern, nicht jede Ordnungsrelationwäre mehr darstellbar:Beispiel 5.1.4: Seien die Interpretationen über e<strong>in</strong>er Signatur mit den beiden Aussagenvariablenp und q betrachtet. Die Ordnung ≺ sei gegeben durch:[¯p¯q] ≺ [¯pq] ≺ [p¯q] ≺ [pq](dies entspricht gerade den <strong>Defaults</strong> ¬p und ¬q, wobei ¬p höhere Priorität hat, s.u.).Ziel ist es nun, e<strong>in</strong>e passende Menge ∆ von <strong>Defaults</strong> zu konstruieren. Auf jeden Fallmuß <strong>in</strong> [¯p¯q] e<strong>in</strong> Default δ ∈ ∆ gelten, der <strong>in</strong> [¯pq] nicht gilt, sonst wäre [¯p¯q] ⊀ ∆ [¯p¯q]. Würdeδ aber <strong>in</strong> e<strong>in</strong>er der beiden anderen Interpretationen [p¯q] und [pq] gelten, so müßte er auch<strong>in</strong> [¯pq] gelten, denn sonst wäre [¯p¯q] ⊀ ∆ [p¯q] bzw. [¯p¯q] ⊀ ∆ [pq]. Da δ aber <strong>in</strong> [¯pq] geradenicht gilt, kann er also nur <strong>in</strong> [¯p¯q] gelten und <strong>in</strong> ke<strong>in</strong>er der anderen Interpretationen.Man kann nun aber leicht alle <strong>in</strong> Frage kommenden Klauseln durchgehen und feststellen,daß sie diese Bed<strong>in</strong>gung nicht erfüllen. Man bräuchte hier die Konjunktion ¬p ∧ ¬q,die aber ke<strong>in</strong>e Klausel ist.✷Zwei verschiedene Ordnungsrelationen liefern auch immer zwei verschiedene Vervollständigungen,wie man an Axiomenmengen mit genau zwei Modellen sehen kann. Für Mengenvon <strong>Defaults</strong> gilt das dagegen nicht, es ist durchaus möglich, daß ∆ 1 ≠ ∆ 2 , aberm<strong>in</strong> ∆1 = m<strong>in</strong> ∆2 gilt.Es ist nützlich zu wissen, wann Mengen von <strong>Defaults</strong> <strong>in</strong> diesem S<strong>in</strong>ne äquivalent s<strong>in</strong>d,etwa um Vere<strong>in</strong>fachungen vorzunehmen, oder um feststellen zu können, ob die Vorschlägezweier verschiedener Entwerfer sich tatsächlich unterscheiden.Man wird erwarten, daß Vervollständigungen ke<strong>in</strong>en Unterschied zwischen äquivalenten<strong>Defaults</strong> machen; die folgende Aussage ist aber noch deutlich stärker:Satz 5.1.5: Seien ∆ 1 und ∆ 2 Mengen von <strong>Defaults</strong>, wobei jeder Default δ 1 ∈ ∆ ∗ 1äquivalent zu e<strong>in</strong>er Verknüpfung mit ∧ und ∨ von <strong>Defaults</strong> aus ∆ ∗ 2 ist und umgekehrtjeder Default δ 2 ∈ ∆ ∗ 2 äquivalent zu e<strong>in</strong>er ∧/∨-Verknüpfung von <strong>Defaults</strong> aus ∆ ∗ 1 ist.Dann gilt m<strong>in</strong> ∆1 = m<strong>in</strong> ∆2 .


92 KAPITEL 5. SEMANTIK VON DEFAULTSBeweis: Gelte die Darstellbarkeit mit den jeweils anderen <strong>Defaults</strong>. Seien zwei beliebigeInterpretationen I und I ′ gegeben.Zunächst wird gezeigt, daß es für jeden Default δ 2 ∈ ∆ ∗ 2 mit I |= δ 2 und I ′ ̸|= δ 2 e<strong>in</strong>enDefault δ 1 ∈ ∆ ∗ 1 gibt mit I |= δ 1 und I ′ ̸|= δ 1 : Dies geschieht mit Induktion über dem Aufbaue<strong>in</strong>es zu δ 2 äquivalenten <strong>Defaults</strong> ˜δ 2 aus ∆ ∗ 1 -<strong>Defaults</strong>. Ist ˜δ 2 ∈ ∆ ∗ 1 , so gilt die Behauptungtrivialerweise. Ist ˜δ 2 = ˜δ 2,1 ∨ ˜δ 2,2 , so muß <strong>in</strong> I m<strong>in</strong>destens e<strong>in</strong> ˜δ 2,i wahr se<strong>in</strong>, während <strong>in</strong> I ′ beidefalsch s<strong>in</strong>d (<strong>in</strong>sbesondere das ˜δ 2,i , das <strong>in</strong> I wahr ist). Dann folgt die Behauptung aber aus derInduktionsannahme. Im Fall ˜δ 2 = ˜δ 2,1 ∧ ˜δ 2,2 ist e<strong>in</strong>es der ˜δ 2,i <strong>in</strong> I ′ falsch und <strong>in</strong> I wahr, so daßdie Behauptung wieder auf die Induktionsannahme zurückgeführt werden kann.Aus Symmetriegründen gibt es natürlich umgekehrt auch für jeden Default δ ′ 1 ∈ ∆∗ 1 mitI ̸|= δ ′ 1 und I′ |= δ ′ 1 auch e<strong>in</strong>en Default δ′ 2 ∈ ∆∗ 2 mit I ̸|= δ′ 2 und I′ |= δ ′ 2 .Gelte nun I ≺ ∆1 I ′ . Dann gibt es e<strong>in</strong>en Default δ 1 ∈ ∆ ∗ 1 mit I |= δ 1 und I ′ ̸|= δ 1 und nachder obigen Überlegung also auch e<strong>in</strong>en Default δ 2 ∈ ∆ ∗ 2 mit I |= δ 2 und I ′ ̸|= δ 2 . Umgekehrt gibtes ke<strong>in</strong>en Default δ ′ 1 mit I ̸|= δ′ 1 und I′ |= δ ′ 1 . Dann kann es aber auch ke<strong>in</strong>en Default δ′ 2 ∈ ∆∗ 2geben mit I ̸|= δ ′ 2 und I′ |= δ 2 , denn daraus könnte man nach dem obigen so e<strong>in</strong>en Default δ ′ 1konstruieren. Also gilt I ≺ ∆2 I ′ .Die andere Richtung I ≺ ∆2 I ′ =⇒ I ≺ ∆1 I ′ folgt wieder aus Symmetriegründen. ✷Offene Frage 5.1.6: Dieses Kriterium für die Äquivalenz zweier Mengen von <strong>Defaults</strong>∆ 1 und ∆ 2 , d.h. für m<strong>in</strong> ∆1 = m<strong>in</strong> ∆2 ist nur h<strong>in</strong>reichend, aber nicht notwendig.Gibt es e<strong>in</strong> nichttriviales h<strong>in</strong>reichendes und notwendiges Kriterium?In der Literatur wurden solche Fragestellungen offenbar noch nicht betrachtet, die Sätzedieses Unterabschnittes s<strong>in</strong>d beide neu.EigenschaftenAnschließend sollen die Eigenschaften der Vervollständigungen vom Typ ”m<strong>in</strong>imale Modelle“untersucht werden. Es wird sich dabei zeigen, daß sie alle Eigenschaften aus Kapitel4 haben.Für den Nachweis dieser Eigenschaften ist das folgende Lemma nützlich, das etwasstärker als die bloße Existenz e<strong>in</strong>es m<strong>in</strong>imalen Modells ist. Es gilt hier aufgrund der Endlichkeitsannahmen,im allgeme<strong>in</strong>en Fall ist der Beweis aber recht aufwendig und erfordertetwa den Verzicht auf Existenzquantoren [BRL91]:Lemma 5.1.7: Zu jedem Modell I e<strong>in</strong>er Axiomenmenge Φ gibt es e<strong>in</strong> ≺-m<strong>in</strong>imalesModell I 0 von Φ mit I 0 ≺ I oder I 0 = I.Beweis: Falls I nicht m<strong>in</strong>imal ist, gibt es dazu e<strong>in</strong> kle<strong>in</strong>eres Modell I 1 . Falls auch das nochnicht m<strong>in</strong>imal ist, gibt es dazu wieder e<strong>in</strong> kle<strong>in</strong>eres Modell I 2 , für das natürlich auch I 2 ≺ Igilt. Da es <strong>in</strong>sgesamt nur endlich viele Modelle gibt und <strong>in</strong> der Folge I, I 1 , I 2 , . . . ke<strong>in</strong>es doppeltauftreten kann, muß die Konstruktion schließlich mit e<strong>in</strong>em m<strong>in</strong>imalen Modell I i enden. Dannsei I 0 := I i .✷


5.1. MINIMALE MODELLE 93Satz 5.1.8:Sei ≺ e<strong>in</strong>e beliebige partielle Ordnung auf den Herbrand-Interpretationen.• m<strong>in</strong> ≺ ist konsistenzerhaltend (Eigenschaft CON).• m<strong>in</strong> ≺ ist kumulierend (Eigenschaft CUM).• m<strong>in</strong> ≺ hat die Deduktions-Eigenschaft (Eigenschaft DED).• m<strong>in</strong> ≺ hat die Expansions-Eigenschaft (Eigenschaft EXP).Beweis:• (CON): Die Konsistenzerhaltung folgt direkt aus Lemma 5.1.7.• (CUM): Sei m<strong>in</strong> ≺ (I 1 ) ⊆ I 2 ⊆ I 1 . Zu zeigen ist m<strong>in</strong> ≺ (I 2 ) = m<strong>in</strong> ≺ (I 1 ).Ist I ∈ m<strong>in</strong> ≺ (I 1 ), dann gilt nach Voraussetzung I ∈ I 2 . Würde es <strong>in</strong> I 2 e<strong>in</strong> kle<strong>in</strong>eresModell geben, dann wäre dies wegen I 2 ⊆ I 1 auch <strong>in</strong> I 1 , das ist aber wegen der M<strong>in</strong>imalitätvon I <strong>in</strong> I 1 nicht möglich. Also gilt I ∈ m<strong>in</strong> ≺ (I 2 ).Ist umgekehrt I ∈ m<strong>in</strong> ≺ (I 2 ), so ist wegen I 2 ⊆ I 1 natürlich I ∈ I 1 . Wäre nunI ∉ m<strong>in</strong> ≺ (I 1 ), so müßte es e<strong>in</strong> kle<strong>in</strong>eres Modell I ′ ∈ I 1 geben, und dazu nach Lemma 5.1.7auch e<strong>in</strong> Modell I 0 ∈ m<strong>in</strong> ≺ (I 1 ) mit I 0 ≺ I ′ ≺ I oder I 0 = I ′ ≺ I. Wegen m<strong>in</strong> ≺ (I 1 ) ⊆ I 2wäre dann aber I 0 ∈ I 2 , d.h. I wäre nicht m<strong>in</strong>imal im Gegensatz zur Annahme.• (DED): Zu zeigen ist sel(I 1 ) ∩ I 2 ⊆ sel(I 1 ∩ I 2 ). Sei also I ∈ sel(I 1 ) ∩ I 2 . Wegensel(I 1 ) ⊆ I 1 gilt dann natürlich I ∈ I 1 ∩ I 2 . Wäre nun I nicht m<strong>in</strong>imal <strong>in</strong> I 1 ∩ I 2 , somüßte es I ′ ∈ I 1 ∩ I 2 geben mit I ′ ≺ I. Dann wäre I aber erst recht nicht m<strong>in</strong>imal <strong>in</strong> I 1 ,denn I ′ ∈ I 1 . Das widerspricht der Voraussetzung I ∈ sel(I 1 ).• (EXP): Zu zeigen ist sel(I 1 ) ∩ sel(I 2 ) ⊆ sel(I 1 ∪ I 2 ). Sei I ∈ sel(I 1 ) ∩ sel(I 2 ). Dann giltnatürlich I ∈ I 1 ∪ I 2 . Wäre I nicht m<strong>in</strong>imal <strong>in</strong> I 1 ∪ I 2 , gäbe es I ′ ∈ I 1 ∪ I 2 mit I ′ ≺ I.Es müßte dann I ′ ∈ I 1 oder I ′ ∈ I 2 gelten, dann wäre aber I <strong>in</strong> der betreffenden Mengenicht m<strong>in</strong>imal im Widerspruch zu I ∈ sel(I 1 ) ∩ sel(I 2 ).✷Der Nachweis dieser Eigenschaften lehnt sich an Ergebnisse der Theorie der Wahlverfahrenan [Mou85]. Die Kumulierung wurde unabhängig davon <strong>in</strong> [Mak89] bewiesen, dieDeduktions-Eigenschaft <strong>in</strong> [Sho87].AusdrucksfähigkeitAls nächstes sollen die Vervollständigungen charakterisiert werden, die sich durch Präferenzrelationenauf den Modellen beschreiben lassen. Wenn man die charakterisierendenEigenschaften für natürlich und wünschenswert hält, kann man sich also auf Vervollständigungendieser Klasse beschränken.Satz 5.1.9: Sei sel e<strong>in</strong>e modelltheoretische Vervollständigung mit den EigenschaftenCON (Konsistenzerhaltung), CUM (Kumulierung), DED (Deduktions-Eigenschaft) undEXP (Expansion). Dann gibt es e<strong>in</strong>e partielle Ordnung ≺, so daß m<strong>in</strong> ≺ = sel.


94 KAPITEL 5. SEMANTIK VON DEFAULTSBeweis:werden:Die Ordnungsrelation ≺ kann e<strong>in</strong>fach aus den Zweiervergleichen von sel abgeleitetI 1 ≺ I 2 :⇐⇒ sel ( {I 1 , I 2 } ) = {I 1 }, I 1 ≠ I 2(falls sel ( {I 1 , I 2 } ) = {I 1 , I 2 }, s<strong>in</strong>d I 1 und I 2 also unvergleichbar). Zunächst ist zu zeigen, daß essich dabei überhaupt um e<strong>in</strong>e partielle Ordnung handelt. Die Irreflexivität folgt direkt aus derKonstruktion, es fehlt also nur noch die Transitivität:• Gelte I 1 ≺ I 2 und I 2 ≺ I 3 , d.h. sel ( {I 1 , I 2 } ) = {I 1 } und sel ( {I 2 , I 3 } ) = {I 2 }. Nach derEigenschaft DED <strong>in</strong> der Formulierung nach Satz 4.1.17 gilt e<strong>in</strong>erseitssel ( {I 1 , I 2 , I 3 } ) ⊆ sel ( {I 1 , I 2 } ) ∪ sel ( {I 2 , I 3 } ) = {I 1 , I 2 }und andererseitssel ( {I 1 , I 2 , I 3 } ) ⊆ sel ( {I 1 , I 2 } ) ∪ sel ( {I 3 } ) = {I 1 , I 3 },also folgt sel ( {I 1 , I 2 , I 3 } ) = {I 1 }. Dann ist aber sel ( {I 1 , I 2 , I 3 } ) ⊆ {I 1 , I 3 } ⊆ {I 1 , I 2 , I 3 }und mit der Kumulierung folgt direkt sel ( {I 1 , I 3 } ) = {I 1 }, d.h. I 1 ≺ I 3 .Es ist jetzt natürlich noch zu zeigen, daß m<strong>in</strong> ≺ = sel:• ⊆“: Sei I ” 0 ∈ m<strong>in</strong> ≺ (I). Dann gilt für jedes I ∈ I, daß I 0 ∈ sel ( {I 0 , I} ) ist, denn sonstwäre I ≺ I 0 . Die Expansions-Eigenschaft liefert dannI 0 ∈ ⋂ sel ( {I 0 , I} ) ( ⋃ )⊆ sel {I 0 , I} = sel(I).I∈II∈I• ⊇“: Sei I ” 0 ∈ sel(I). Nach der Eigenschaft DED (<strong>in</strong> der Formulierung nach Satz 4.1.17)gilt für jedes I ∈ I:(I 0 ∈ sel(I) = sel {I 0 , I} ∪ ( I − {I 0 } )) ⊆ sel ( {I 0 , I} ) ∪ sel ( I − {I 0 } ) .Da aber I 0 ∉ sel ( I − {I 0 } ) , muß I 0 ∈ sel ( {I 0 , I} ) gelten. Das bedeutet aber I ⊀ I 0 . Dadas für jedes I gilt, ist I 0 m<strong>in</strong>imal und es folgt I 0 ∈ m<strong>in</strong> ≺ (I).✷Die Umkehrung dieses Satzes (jede mit e<strong>in</strong>er Präferenzrelation darstellbare Vervollständigunghat die vier Eigenschaften) gilt auch, siehe Satz 5.1.8.Wegen Lemma 5.1.3 gibt es natürlich zu der Ordnung auch e<strong>in</strong>e passende Menge von<strong>Defaults</strong>:Korollar 5.1.10: Sei sel e<strong>in</strong>e Vervollständigung mit den Eigenschaften CON, CUM,DED und EXP. Dann gibt es e<strong>in</strong>e Menge ∆ von <strong>Defaults</strong>, so daß m<strong>in</strong> ∆ = sel.Satz 5.1.9 [Bra90a] ist e<strong>in</strong>e Übersetzung e<strong>in</strong>es entsprechenden Ergebnisses der Theorieder Wahlverfahren [Mou85]. Auf diese Weise zahlt sich die <strong>in</strong> dieser Arbeit e<strong>in</strong>geführtesystematische Übersetzung der untersuchten Eigenschaften aus.E<strong>in</strong>e ähnliche Fragestellung wurde <strong>in</strong> [KLM90] untersucht, dort wird aber e<strong>in</strong> eigenszu diesem Zweck konstruierter Modellbegriff verwendet, daher wird e<strong>in</strong>e Charakterisierungdurch die drei Eigenschaften CON, CUM und DED erreicht. Diese Eigenschaftenimplizieren nicht EXP.


5.1. MINIMALE MODELLE 95Erweiterung auf priorisierte <strong>Defaults</strong>Legt die Default-Spezifikation auch Prioritäten für die <strong>Defaults</strong> fest, so müssen diesenatürlich bei der Festlegung der zugehörigen Präferenzrelation auf den Modellen berücksichtigtwerden. Bekanntlich wird e<strong>in</strong> Default mit höherer Priorität (also kle<strong>in</strong>erem l-Wert) als wichtiger angesehen als beliebig viele <strong>Defaults</strong> niedrigerer Priorität. Daherbraucht man nur die <strong>Defaults</strong> auf der höchsten Prioritäts-Ebene zu berücksichtigen, aufder sich die beiden Modelle <strong>in</strong> der Interpretation e<strong>in</strong>es <strong>Defaults</strong> unterscheiden:Def<strong>in</strong>ition 5.1.11 (M<strong>in</strong>imale Modelle mit Prioritäten): Sei ∆ e<strong>in</strong>e Menge von<strong>Defaults</strong> und l e<strong>in</strong>e Stufene<strong>in</strong>teilung von ∆. Die durch (∆, l) gegebene PräferenzrelationistI 1 ≺ (∆,l) I 2 :⇐⇒ es gibt e<strong>in</strong> i ∈ IN mit{ ∣ δ ∈ ∆∗ l(δ) < i, I1 |= δ } = { δ ∈ ∆ ∣ ∗ l(δ) < i, I2 |= δ } ,{ ∣ δ ∈ ∆∗ l(δ) = i, I 1 |= δ } ⊃ { δ ∈ ∆ ∣ ∗ l(δ) = i, I 2 |= δ } .Die durch (∆, l) gegebene Vervollständigung vom Typ m<strong>in</strong>imale Modelle istm<strong>in</strong> (∆,l) := m<strong>in</strong> ≺(∆,l) .Lemma 5.1.12: Die Relation ≺ (∆,l) ist e<strong>in</strong>e partielle Ordnung, also transitiv undirreflexiv.Beweis: Die Irreflexivität gilt direkt nach der Def<strong>in</strong>ition. Die Transitivität ist ebenfalls e<strong>in</strong>fach:Gelte I 1 ≺ (∆,l) I 2 , wobei sich die beiden Modelle erstmals auf der Stufe i 1 unterscheiden, undgelte I 2 ≺ (∆,l) I 3 aufgrund der <strong>Defaults</strong> der Stufe i 2 . Dann wird die def<strong>in</strong>ierende Eigenschaftvon I 1 ≺ (∆,l) I 3 für i := m<strong>in</strong>(i 1 , i 2 ) erfüllt.✷Da die Eigenschaften oben für beliebige Vervollständigungen des Typs ”m<strong>in</strong>imale Modelle“nachgewiesen wurden, gelten sie natürlich auch, wenn die Präferenzrelation anderskonstruiert wurde.H<strong>in</strong>sichtlich der Eigenschaften und der Ausdrucksfähigkeit ist die Verallgeme<strong>in</strong>erungauf priorisierte <strong>Defaults</strong> also nicht besonders <strong>in</strong>teressant, aber sie vere<strong>in</strong>facht die praktischeSpezifikationsarbeit beträchtlich:Beispiel 5.1.13: Sei der typische Fall priorisierter <strong>Defaults</strong> betrachtet, nämlich denDefault ¬p mit l(¬p) = 1 und den Default ¬q mit l(¬q) = 2. Nach der Konstruktion<strong>in</strong> Beweis von Lemma 5.1.3 erhält man äquivalente nicht-priorisierte <strong>Defaults</strong>, wenn manzu jedem Modell e<strong>in</strong>en Default e<strong>in</strong>führt, der <strong>in</strong> diesem Modell und allen kle<strong>in</strong>eren gilt.Danach braucht man also die vier <strong>Defaults</strong>:¬p ∧ ¬q, ¬p, ¬p ∨ ¬q, true(true ist natürlich überflüssig). Das Pr<strong>in</strong>zip ist also, daß man sicherstellen muß, daß dieger<strong>in</strong>ger priorisierten <strong>Defaults</strong> (¬q) automatisch erfüllt s<strong>in</strong>d, wenn e<strong>in</strong> höher priorierterDefault gilt, daher die Disjunktion ¬p ∨ ¬q. Andererseits ist es natürlich noch besser,wenn beide <strong>Defaults</strong> erfüllt s<strong>in</strong>d: ¬p ∧ ¬q. Bei e<strong>in</strong>em zusätzlichen Default ¬p ′ der Stufe 1


96 KAPITEL 5. SEMANTIK VON DEFAULTSerhält man:¬p ∧ ¬p ′ ∧ ¬q, ¬p ∧ (¬p ′ ∨ q), ¬p ′ ∧ (¬p ∨ q), ¬p, ¬p ′ , ¬p ∨ ¬p ′ ∨ q.Diese Konstruktion wird also schnell sehr aufwendig. Wenn man natürlich anhand dermöglichen Axiomenmengen Φ weiß, daß e<strong>in</strong> Konflikt zwischen p ′ und q nicht auftretenkann, dann bekommt man wieder die obigen <strong>Defaults</strong> (plus ¬p ′ ). Wenn man zusätzlichweiß, daß p und q immer im Konflikt stehen, so kann man auch den Default ¬p ∧ ¬q weglassen.In jedem Fall s<strong>in</strong>d Prioritäten aber wesentlich natürlicher als die so konstruierten<strong>Defaults</strong>.✷Exkurs: Iterative M<strong>in</strong>imale Modelle SemantikE<strong>in</strong>e andere naheliegende Möglichkeit, <strong>Defaults</strong> mit Prioritäten e<strong>in</strong>e Semantik zuzuordnen,ist e<strong>in</strong>e iterative Konstruktion: Es werden erst die m<strong>in</strong>imalen Modelle bezüglich der<strong>Defaults</strong> höchster Priorität gebildet, dann unter diesen die m<strong>in</strong>imalen bezüglich der <strong>Defaults</strong>der nächsten Stufe ausgewählt, und so weiter. Dieses Vorgehen ist natürlich nichtnur für m<strong>in</strong>imale Modelle möglich, sondern für beliebige Vervollständigungen.M<strong>in</strong>destens im Fall der m<strong>in</strong>imalen Modelle ist die so konstruierte Vervollständigungallerd<strong>in</strong>gs nicht äquivalent zur Verwendung der obigen Ordnungsrelation, sondern ist echtstärker:Satz 5.1.14: Sei ∆ e<strong>in</strong>e Menge von <strong>Defaults</strong> und l e<strong>in</strong>e E<strong>in</strong>teilung von ∆ <strong>in</strong> n Stufen.Sei ∆ i := {δ ∈ ∆ | l(δ) = i} für i = 1, . . . , n. Dann gilt für jede Menge I vonInterpretationen:m<strong>in</strong> (∆,l) (I) ⊇ m<strong>in</strong> ∆n(. . . ( m<strong>in</strong> ∆1 (I) ) ). . . .Beweis: Sei also I ∈ m<strong>in</strong> ∆n (. . .). Angenommen, I ∉ m<strong>in</strong> (∆,l) (I). Dann gibt es I 0 mitI 0 ≺ (∆,l) I, d.h. für e<strong>in</strong> i ∈ IN ist{δ ∈ ∆∗ ∣ ∣ l(δ) < i, I 0 |= δ } = { δ ∈ ∆ ∗ ∣ ∣ l(δ) < i, I |= δ } ,{δ ∈ ∆∗ ∣ ∣ l(δ) = i, I 0 |= δ } ⊃ { δ ∈ ∆ ∗ ∣ ∣ l(δ) = i, I |= δ } .Da I ∈ m<strong>in</strong> ∆i−1 (. . .), und sich I 0 von I nicht <strong>in</strong> der Interpretation dieser <strong>Defaults</strong> unterscheidet,gilt natürlich I 0 ∈ m<strong>in</strong> ∆i−1 (. . .). Nun erfüllt I 0 aber echt mehr <strong>Defaults</strong> der Stufe i, d.h. es giltI 0 ≺ ∆i I. Dann ist aberI ∉ m<strong>in</strong> ∆i (. . .),und damit I ∉ m<strong>in</strong> ∆n (. . .) im Widerspruch zur Voraussetzung.✷Der Grund für die stärkere E<strong>in</strong>schränkung der <strong>in</strong>tendierten Modelle bei der iterativenKonstruktion ist, daß hier bei der Auswahl von <strong>Defaults</strong> niedrigerer Priorität auch Modelleverglichen werden, die schon bei den <strong>Defaults</strong> höherer Priorität unvergleichbar waren:


5.1. MINIMALE MODELLE 97Beispiel 5.1.15: Sei e<strong>in</strong>e Signatur mit den Aussagenvariablen p 1 , p 2 und q zugrundegelegt, und sei ∆ 1 := {¬p 1 , ¬p 2 } und ∆ 2 := {¬q}. Sei folgende Axiomenmenge gegeben:Φ := {p 1 ∨ p 2 , p 1 ∨ q}.Es gibt dann zwei bezüglich ≺ (∆,l) m<strong>in</strong>imale Modelle: I 1 := [ ¯p 1 p 2 q], das den Default ¬p 1erfüllt, und I 2 := [p 1 ¯p 2¯q], das die <strong>Defaults</strong> ¬p 2 und ¬q erfüllt. Bei der iterativen Konstruktionkommt dagegen nur I 2 heraus, weil es bezüglich ∆ 1 nicht schlechter als I 1 ist,bezüglich ∆ 2 aber besser.✷Es stellt sich nun die Frage, ob es auch e<strong>in</strong>e Ordnungsrelation gibt, die gerade der iterativenKonstruktion entspricht.Daß dies nicht der Fall ist, ja sogar die iterative Konstruktion unabhängig davon e<strong>in</strong>eschlechte Vervollständigung ist, zeigt das folgende Beispiel.Beispiel 5.1.16:und seiSei e<strong>in</strong>e Signatur mit den Aussagenvariablen p und q zugrunde gelegt,∆ 1 := {¬p, ¬q, q}, ∆ 2 := {p}, Φ := {p ∨ q}.Bezüglich ≺ (∆,l) s<strong>in</strong>d die Modelle [¯pq] und [p¯q] m<strong>in</strong>imal, das Modell [pq] wird dagegenvon [¯pq] ”geschlagen“.Die Ordnungsrelation ≺ ∆1 liefert dieselben m<strong>in</strong>imalen Modelle. Bezüglich ≺ ∆2 istaber [p¯q] kle<strong>in</strong>er als [¯pq], also ist bezüglich der iterativen Konstruktion [p¯q] das e<strong>in</strong>zige<strong>in</strong>tendierte Modell und p folgt vervollständigt aus Φ.Sei nun Φ ′ := Φ∪{p} betrachtet. Da das Modell [¯pq] jetzt ausgeschlossen ist, s<strong>in</strong>d beideModelle [p¯q] und [pq] m<strong>in</strong>imal, und zwar sowohl bezüglich ≺ ∆1 als auch bezüglich ≺ ∆2 .Daher hat sich die Menge der <strong>in</strong>tendierten Modelle geändert, und während vorheretwa ¬q folgte, gilt das jetzt nicht mehr. Dies ist aber e<strong>in</strong>e Verletzung der Kumulations-Eigenschaft (und daher läßt sich die Vervollständigung natürlich nicht mittels m<strong>in</strong>imalerModelle darstellen).✷Es sei abschließend noch bemerkt, daß e<strong>in</strong>e iterative Konstruktion, die der Ordnung ≺ (∆,l)entspricht, schon möglich ist, man muß dann aber statt ≺ ∆i e<strong>in</strong>e andere Ordnung verwenden:Satz 5.1.17: Sei wieder l e<strong>in</strong>e n-Stufene<strong>in</strong>teilung, ∆ i := {δ ∈ ∆ | l(δ) = i} und sei ≺ idef<strong>in</strong>iert durch:I ≺ i I ′ :⇐⇒ I ∼ = ∆ ∗1I ′ , . . . , I ∼ = ∆ ∗i−1I ′ , I ≺ ∆i I ′ .Dann gilt für jede Menge I von Interpretationen:m<strong>in</strong> (∆,l) (I) = m<strong>in</strong> ≺n(. . . ( m<strong>in</strong> ≺1 (I) ) ). . . .


98 KAPITEL 5. SEMANTIK VON DEFAULTSBeweis: Zunächst sei festgestellt, daß ≺ i wirklich e<strong>in</strong>e (strikte) partielle Ordnung ist ( ∼ = ∆ ∗jund ≺ ∆i s<strong>in</strong>d beide transitiv, und ≺ ∆i ist irreflexiv).• ”⊆“: Sei I ∈ m<strong>in</strong> (∆,l) (I). Angenommen I ∉ m<strong>in</strong> ≺i (. . .), aber I ∈ m<strong>in</strong> ≺i−1 (. . .). Danngibt es also e<strong>in</strong> Modell I ′ mit I ′ ≺ i I. Nach der Def<strong>in</strong>ition der beiden Ordnungsrelationenfolgt sofort, daß I ′ ≺ (∆,l) I im Widerspruch zur M<strong>in</strong>imalität von I.• ⊇“: Sei I ∉ m<strong>in</strong> ” (∆,l) (I). Also gibt es I ′ mit I ′ ≺ (∆,❁) I. Sei i die m<strong>in</strong>imale Stufe, auf dersich die beiden Modelle unterscheiden. Falls I ∉ m<strong>in</strong> ≺i−1 (. . .), ist nichts mehr zu zeigen.Sonst ist aber auch I ′ ∈ m<strong>in</strong> ≺i−1 (. . .), und nach der Konstruktion gilt I ′ ≺ i I. ✷Natürlich kann man die Ordnungsrelationen ≺ i auch durch <strong>Defaults</strong> spezifizieren. Manwählt dazu etwa ∆ ′ i := ∆ 1 ∪· · ·∪∆ i . Zwei auf niedrigerer Stufe nicht-äquivalente Modelles<strong>in</strong>d dann nicht mehr vergleichbar.Iterative Konstruktionen von Modellen s<strong>in</strong>d für stratifizierte logische Programme üblich,siehe etwa [ABW88, Llo87]. Dort treten die hier festgestellten Schwierigkeiten nicht auf,weil es immer nur e<strong>in</strong> m<strong>in</strong>imales Modell gibt.Vergleichbar s<strong>in</strong>d sonst noch die <strong>in</strong> [Lif85] vorgeschlagene Methode zur Berechnungder priorisierten Circumscription und die <strong>in</strong> [Bre91] def<strong>in</strong>ierte priorisierte Version vonpreferred subtheories“.”Neu ist der Nachweis der fehlenden Kumulierung und der allgeme<strong>in</strong>e modelltheoretischeAnsatz.Erweiterung auf partiell geordnete <strong>Defaults</strong>Falls die Default-Spezifikation nur e<strong>in</strong>e partielle Ordnung auf den <strong>Defaults</strong> festlegt, kannman die Präferenzrelation auf den Modellen folgendermaßen def<strong>in</strong>ieren:Def<strong>in</strong>ition 5.1.18 (M<strong>in</strong>imale Modelle bei partiell geordneten <strong>Defaults</strong>): Sei ∆e<strong>in</strong>e Menge von <strong>Defaults</strong> und ❁ e<strong>in</strong>e partielle Ordnung auf ∆. Dann sei ≺ (∆,❁) def<strong>in</strong>iertdurchI 1 ≺ (∆,❁) I 2 :⇐⇒ Für alle δ 2 ∈ ∆ ∗ mit I 2 |= δ 2 , I 1 ̸|= δ 2gibt es δ 1 ∈ ∆ ∗ , δ 1 ❁ δ 2 mit I 1 |= δ 1 , I 2 ̸|= δ 1 .Wieder schreibt man m<strong>in</strong> (∆,❁) für m<strong>in</strong> ≺(∆,❁) .Außerdem ist { δ ∈ ∆ ∗ ∣ ∣ I 1 |= δ } ≠ { δ ∈ ∆ ∗ ∣ ∣ I 2 |= δ } .Ausgangspunkt für diese Ordnungsrelation ist natürlich wiederI 1 ≺ ∆ I 2 :⇐⇒ { δ ∈ ∆ ∗ ∣ ∣ I 1 |= δ } ⊃ { δ ∈ ∆ ∗ ∣ ∣ I 2 |= δ } .Ist e<strong>in</strong> Modell bereits nach dieser Ordnungsrelation nicht m<strong>in</strong>imal, so soll es natürlichauch bezüglich der neuen Ordnung nicht m<strong>in</strong>imal se<strong>in</strong>, denn man möchte auf jeden Fallmehr <strong>Defaults</strong> erfüllen, solange man auf ke<strong>in</strong>en verzichten muß. Hat man nun e<strong>in</strong>e Prioritätsrelation❁ auf den <strong>Defaults</strong> festgelegt, so läßt man eventuell e<strong>in</strong>e Verletzung von ”⊃“zu (durch den Default δ 2 ), falls man dafür e<strong>in</strong>en Default höherer Priorität gew<strong>in</strong>nt (δ 1 ).Alternativ kann man die Relation ≺ (∆,❁) auch folgendermaßen def<strong>in</strong>ieren:


5.1. MINIMALE MODELLE 99Lemma 5.1.19:dann, wennFür alle ∆ und ❁ und beliebige I 1 , I 2 ∈ I Σ gilt I 1 ≺ (∆,❁) I 2 genau• Sei ∆ ′ die Menge der <strong>Defaults</strong>, <strong>in</strong> denen sich I 1 und I 2 unterscheiden, d.h.∆ ′ := { δ ∈ ∆ ∗ ∣ ∣ I 1 |= δ, I 2 ̸|= δ oder I 1 ̸|= δ, I 2 |= δ } .Dann gilt I 1 |= δ für jedes ❁-m<strong>in</strong>imale Element δ ∈ ∆ ′ . Außerdem ist ∆ ′ ≠ ∅.Beweis: Die Zusatzforderungen (die Interpretationen unterscheiden sich im Wahrheitswertwenigstens e<strong>in</strong>es <strong>Defaults</strong>) s<strong>in</strong>d offensichtlich äquivalent. Zu zeigen ist also nur die Äquivalenzder Haupteigenschaften:• Gelte I 1 ≺ (∆,❁) I 2 . Angenommen, I 1 ̸|= δ für e<strong>in</strong> ❁-m<strong>in</strong>imales Element δ ∈ ∆ ′ . Dann mußnach Konstruktion von ∆ ′ gelten: I 2 |= δ. Nach der Def<strong>in</strong>ition von ≺ (∆,❁) müßte es jetztaber e<strong>in</strong>en Default δ 1 geben mit I 1 |= δ 1 , I 2 ̸|= δ 1 und δ 1 ❁ δ. Das ist aber e<strong>in</strong> Widerspruchzur M<strong>in</strong>imalität von δ <strong>in</strong> ∆ ′ .• Gelte umgekehrt die Eigenschaft des Lemmas. Dann kann ke<strong>in</strong> Default δ 2 ∈ ∆ ∗ mit I 1 ̸|= δ 2und I 2 |= δ 2 m<strong>in</strong>imal <strong>in</strong> ∆ ′ se<strong>in</strong>, denn jeder solche Default müßte <strong>in</strong> I 1 gelten. Also gibtes e<strong>in</strong>en Default δ 1 ∈ ∆ ′ mit δ 1 ❁ δ 2 , der zudem ❁-m<strong>in</strong>imal gewählt werden kann. Danngilt aber I 1 |= δ 1 und nach Konstruktion von ∆ ′ auch I 2 ̸|= δ 1 .✷Zu zeigen ist natürlich noch, daß es sich bei ≺ (∆,❁) überhaupt um e<strong>in</strong>e partielle Ordnunghandelt:Lemma 5.1.20: Die Relation ≺ (∆,❁) ist e<strong>in</strong>e partielle Ordnung, d.h. transitiv undirreflexiv.Beweis: Die Irreflexivität ist gerade durch die Zusatzforderung sichergestellt, es ist also nurdie Transitivität zu zeigen: Gelte I 1 ≺ (∆,❁) I 2 und I 2 ≺ (∆,❁) I 3 . Sei nun δ 3 ∈ ∆ ∗ mit I 3 |= δund I 1 ̸|= δ.• Gilt I 2 ̸|= δ 3 , so muß es δ 2 ∈ ∆ ∗ mit δ 2 ❁ δ 3 , I 2 |= δ 2 und I 3 ̸|= δ 2 geben.• Andernfalls muß es δ 1 ∈ ∆ ∗ geben mit δ 1 ❁ δ 3 , I 1 |= δ 1 , I 2 ̸|= δ 1 .Man wähle nun e<strong>in</strong>en ❁-m<strong>in</strong>imalen Default δ 12 unter denen, die e<strong>in</strong>e dieser beiden Bed<strong>in</strong>gungenerfüllen.• Gilt I 2 |= δ 12 , I 3 ̸|= δ 12 , so muß auch I 1 |= δ 12 gelten, denn I 1 ≺ (∆,❁) I 2 und wegen derM<strong>in</strong>imalität von δ 12 kann es ke<strong>in</strong>en höher priorisierten Default mehr geben, der <strong>in</strong> I 1 gilt,aber nicht <strong>in</strong> I 2 .• Gilt I 1 |= δ 12 , I 2 ̸|= δ 12 , so muß auch I 3 ̸|= δ 12 gelten, denn I 2 ≺ (∆,❁) I 3 und wegen derM<strong>in</strong>imalität von δ 12 kann es ke<strong>in</strong>en höher priorisierten Default mehr geben, der <strong>in</strong> I 2 gilt,aber nicht <strong>in</strong> I 3 .Insgesamt hat man also δ 12 ❁ δ 3 , I 1 |= δ 12 und I 3 ̸|= δ 12 .Schließlich ist noch zu zeigen, daß sich I 1 und I 3 <strong>in</strong> dem Wahrheitswert von m<strong>in</strong>destense<strong>in</strong>em Default unterscheiden. Natürlich müssen sich I 1 und I 2 <strong>in</strong> m<strong>in</strong>destens e<strong>in</strong>em Defaultunterscheiden, und auch I 2 und I 3 . Man wählt nun wieder e<strong>in</strong>en ❁-m<strong>in</strong>imalen Default, für dene<strong>in</strong>e der beiden Bed<strong>in</strong>gungen gilt. Er ist <strong>in</strong> I 1 wahr und <strong>in</strong> I 3 falsch.✷


100 KAPITEL 5. SEMANTIK VON DEFAULTSDas folgende Lemma zeigt, daß ≺ (∆,❁) tatsächlich e<strong>in</strong>e Verallgeme<strong>in</strong>erung von ≺ (∆,l) ist:Lemma 5.1.21: Sei ∆ e<strong>in</strong>e Menge von <strong>Defaults</strong> und l e<strong>in</strong>e Stufene<strong>in</strong>teilung. Sei ❁auf ∆ def<strong>in</strong>iert durch:δ ❁ δ ′ :⇐⇒ l(δ) < l(δ ′ ).Dann gilt ≺ (∆,❁) = ≺ (∆,l) .Beweis:Es leichter, die Äquivalenz zu der Eigenschaft aus Lemma 5.1.19 zu zeigen.• Gelte I 1 ≺ (∆,❁) I 2 und sei ∆ ′ die Menge der <strong>Defaults</strong>, <strong>in</strong> denen sich I 1 und I 2 unterscheiden.Sei δ e<strong>in</strong> ❁-m<strong>in</strong>imales Element von ∆ ′ . Dann gilt die def<strong>in</strong>ierende Eigenschaft vonI 1 ≺ (∆,l) I 2 für i := l(δ).• Gelte I 1 ≺ (∆,l) I 2 und sei ∆ ′ wieder die Menge der <strong>Defaults</strong>, <strong>in</strong> denen sich I 1 und I 2unterscheiden. Alle ❁-m<strong>in</strong>imalen Elemente von ∆ ′ müssen nach Konstruktion von ❁ vonderselben Stufe i se<strong>in</strong>. Die Modelle I 1 und I 2 unterscheiden sich also nicht <strong>in</strong> <strong>Defaults</strong>kle<strong>in</strong>erer Stufe, und für alle <strong>Defaults</strong> δ der Stufe i, <strong>in</strong> denen sie sich unterscheiden, giltI 1 |= δ. Das bedeutet aber I 1 ≺ (∆,❁) I 2 .✷Beziehung zur naiven CWAEs ist nun noch zu zeigen, daß die m<strong>in</strong>imale Modelle Semantik die NCWA-Eigenschaft hat.Zu diesem Zweck gibt der folgende Satz e<strong>in</strong>e Charakterisierung der naiven CWA durchm<strong>in</strong>imale Modelle an, womit auch e<strong>in</strong> besseres Verständnis der naiven CWA erreicht wird:Satz 5.1.22: I |= ncwa (∆,❁) (Φ) genau dann, wenn I ∈ m<strong>in</strong> (∆,❁)(Mod(Φ))und I ∼ =∆ ∗ I ′für alle I ′ ∈ m<strong>in</strong> (∆,❁)(Mod(Φ)).Beweis:( )• Sei I e<strong>in</strong> Modell von ncwa (∆,❁) (Φ). Wäre I ∉ m<strong>in</strong> (∆,❁) Mod(Φ) , so müßte es e<strong>in</strong> Modell( )I 0 ∈ m<strong>in</strong> (∆,❁) Mod(Φ) geben mit I0 ≺ (∆,❁) I. Sei δ ∈ ∆ ∗ e<strong>in</strong> ❁-m<strong>in</strong>imaler Default, <strong>in</strong>dessen Wahrheitswert sich I und I 0 unterscheiden. Wegen I 0 ≺ (∆,❁) I muß also I 0 |= δund I ̸|= δ gelten. Das bedeutet δ ∉ ncwa (∆,❁) (Φ), was aber nach der Def<strong>in</strong>ition dernaiven CWA nicht möglich ist — I 0 ist ja e<strong>in</strong> Modell von ncwa (∆ ∗δ ,❁ δ )(Φ) ∪ {δ}, also giltncwa (∆ ∗δ ,❁ δ )(Φ) ⊬ ¬δ.Angenommen, es gäbe jetzt noch e<strong>in</strong> weiteres Modell I ′ ( )∈ m<strong>in</strong> (∆,❁) Mod(Φ) , dasnicht dieselben <strong>Defaults</strong> erfüllt. Sei δ ∈ ∆ ∗ e<strong>in</strong> ❁-m<strong>in</strong>imaler Default, <strong>in</strong> dem sich diebeiden Modelle unterscheiden. Wieder garantiert die Def<strong>in</strong>ition der naiven CWA, daßI |= δ und I ′ ̸|= δ. Da das für alle solchen δ gilt, folgt I ≺ (∆,❁) I ′ im Widerspruch zurM<strong>in</strong>imalität von I ′ .• In der umgekehrten Richtung wird zunächst gezeigt, daß die naive CWA nur <strong>Defaults</strong>annimmt, die <strong>in</strong> m<strong>in</strong>destens e<strong>in</strong>em m<strong>in</strong>imalen Modell gelten: Wird etwa δ ∈ ∆ ∗ angenommen,so gilt nach Konstruktion, daß ncwa (∆ ∗δ,❁)(Φ) ∪ {δ} konsistent ist. Sei I e<strong>in</strong> Modellund I 0 e<strong>in</strong> ≺ (∆,❁) -m<strong>in</strong>imales Modell von Φ mit I 0 ≺ (∆,❁) I oder I 0 = I. Die Modelle Iund I 0 können sich nicht im Wahrheitswert von δ und den höher priorisierten <strong>Defaults</strong>


5.2. DIE VORSICHTIGE CWA 101unterscheiden, denn sonst müßten die ❁-m<strong>in</strong>imalen unter diesen <strong>Defaults</strong> <strong>in</strong> I 0 gelten undnicht <strong>in</strong> I, das ist aber nach der Konstruktion der naiven CWA nicht möglich.Gilt zusätzlich, daß alle m<strong>in</strong>imalen Modelle äquivalent s<strong>in</strong>d, so ist jedes m<strong>in</strong>imaleModell e<strong>in</strong> Modell der naiven CWA.✷Für die modelltheoretische Fassung der naiven CWA gilt also:{m<strong>in</strong>(∆,❁) (I) falls Incwa (∆,❁) (I) :=1∼ =∆ ∗ I 2 für alle I 1 , I 2 ∈ m<strong>in</strong> (∆,❁) (I)∅sonst.Daraus folgt sofort, daß die m<strong>in</strong>imalen Modelle die NCWA-Eigenschaft haben:Korollar 5.1.23:m<strong>in</strong> (∆,❁) hat die NCWA-Eigenschaft für (∆, ❁).Außerdem ist es nun möglich, die ”m<strong>in</strong>imale Modelle“ Semantik folgendermaßen zu charakterisieren:Satz 5.1.24: m<strong>in</strong> (∆,❁) ist die schwächste Vervollständigung mit der NCWA-Eigenschaftund der Deduktions-Eigenschaft.Beweis: m<strong>in</strong> (∆,❁) hat jedenfalls diese beiden Eigenschaften. Sei sel e<strong>in</strong>e beliebige andere Vervollständigungmit den Eigenschaften DED und NCWA. Zu zeigen ist sel(I) ⊆ m<strong>in</strong> (∆,❁) (I) füralle I ⊆ I Σ . Angenommen, dies wäre nicht der Fall, es gäbe also I ∈ sel(I) mit I ∉ m<strong>in</strong> (∆,❁) (I).Dann gibt es natürlich I 0 ∈ I mit I 0 ≺ (∆,❁) I. Nach der obigen Charakterisierung der naiven(CWA gilt ncwa (∆,❁) {I, I0 } ) = {I 0 }. Also muß dies auch für sel gelten, sonst hätte es nicht dieNCWA-Eigenschaft. Nach der Deduktions-Eigenschaft gilt nun:sel(I) ∩ {I, I 0 } ⊆ sel ( {I, I 0 } ) = {I 0 }.Daraus folgt I ∉ sel(I) im Widerspruch zur Annahme.Diese Charakterisierung ist neu und e<strong>in</strong>es der <strong>in</strong>teressantesten Ergebnisse dieser Arbeit.Wenn man auf die Idee e<strong>in</strong>es Systems des natürlichen Schließens für Vervollständigungenzurückkommt, so bedeutet dieses Ergebnis, daß die Deduktionsregel mit den allgeme<strong>in</strong>enFolgerungsregeln vollständig ist, wenn sie auf die naive CWA als ”Axiomenschema“angewendet wird.Die Beziehung zwischen der naiven CWA und den m<strong>in</strong>imalen Modellen ist <strong>in</strong> dieserAllgeme<strong>in</strong>heit auch neu; nur <strong>in</strong> dem Spezialfall der orig<strong>in</strong>alen CWA [Rei78] ist schon langebekannt, daß sie gerade den Schnitt aller Herbrandmodelle beschreibt.✷5.2 Die vorsichtige CWADie Annahmen der geschlossenen Welt ( ”closed world assumptions“, CWAs) s<strong>in</strong>d e<strong>in</strong>eKlasse von syntaktischen Vervollständigungen. Zentral ist hier der Begriff der maximalenExtension, der direkt formalisiert, daß so viele <strong>Defaults</strong> wie möglich angenommen werdensollen, wobei aber natürlich die Konsistenz zu erhalten ist. Auch hier wird zunächst e<strong>in</strong>eFassung ohne Prioritäten angegeben:


102 KAPITEL 5. SEMANTIK VON DEFAULTSDef<strong>in</strong>ition 5.2.1 (Maximale Extension):∆-Extension von Φ genau dann, wenn• Φ ∪ E konsistent ist und• Φ ∪ E ∪ {δ ′ } <strong>in</strong>konsistent ist für alle δ ′ ∈ ∆ ∗ − E.E<strong>in</strong>e Teilmenge E ⊆ ∆ ∗ heißt maximaleDiese Def<strong>in</strong>ition läßt verschiedene Umformulierungen zu. Beispielsweise ist e<strong>in</strong>e maximaleExtension e<strong>in</strong>fach e<strong>in</strong> ⊆-maximales Element unter allen Teilmengen von ∆ ∗ , die mit Φkonsistent s<strong>in</strong>d. Die zweite Bed<strong>in</strong>gung kann man auch als Φ ∪ E ⊢ ¬δ schreiben. Indieser H<strong>in</strong>sicht ähnelt e<strong>in</strong>e maximale Extension der naiven CWA, nur werden auch dieanderen bereits angenommenen <strong>Defaults</strong> berücksichtigt, um die Konsistenz zu garantieren.Tatsächlich kann man auch maximale Extensionen auf diese Weise konstruieren:Man betrachtet e<strong>in</strong>e Aufzählung δ 1 , δ 2 , . . . , δ n der <strong>Defaults</strong> und probiert für jeden Defaultder Reihe nach aus, ob man ihn zu den bisher angenommenen <strong>Defaults</strong> h<strong>in</strong>zunehmenkann, ohne die Konsistenz zu zerstören. Diese Konstruktion wird unten noch genaueruntersucht.Beispiel 5.2.2: Es seien wieder die typischen Negations-<strong>Defaults</strong> bei disjunktiver Informationbetrachtet, also∆ := {¬p, ¬q},Φ := {p ∨ q}.Hier gibt es zwei maximale Extensionen, nämlich E 1 := {¬p} und E 2 := {¬q}. Sies<strong>in</strong>d zusammen mit Φ konsistent, aber würden <strong>in</strong>konsistent, wenn man noch den jeweilsanderen Default h<strong>in</strong>zunehmen würde. Man kann diese maximalen Extensionen geradeaus den beiden möglichen Reihenfolgen der <strong>Defaults</strong> konstruieren (¬p, ¬q und ¬q, ¬p):Aufgrund des Axioms p ∨ q wird jeweils der erste Default angenommen und der zweitezurückgewiesen. Es ist übrigens ke<strong>in</strong> Zufall, daß die maximalen Extensionen gerade denm<strong>in</strong>imalen Modellen entsprechen. Dies gilt allgeme<strong>in</strong> und wird unten noch bewiesen. ✷Mit den maximalen Extensionen hat man natürlich noch ke<strong>in</strong>e Vervollständigung def<strong>in</strong>iert,da es davon mehrere geben kann, e<strong>in</strong>e Vervollständigung aber e<strong>in</strong>deutig bestimmt se<strong>in</strong>muß. Das Problem mehrerer Extensionen läßt sich etwa auf folgende Arten lösen:Erstens gibt es die leichtgläubige Sicht“. Sie erlaubt es, alles zu folgern, was aus”m<strong>in</strong>destens e<strong>in</strong>er der maximalen Extensionen folgt. E<strong>in</strong>e Anfrage ψ wird also mit Ja“ ”beantwortet, wenn es e<strong>in</strong>e maximale Extension E gibt mit Φ ∪ E ⊢ ψ. Dies ist allerd<strong>in</strong>gske<strong>in</strong>e Vervollständigung <strong>in</strong> dem hier betrachteten S<strong>in</strong>n, weil der Abschluß unterKonjunktion nicht gewährleistet ist.Zweitens kann man e<strong>in</strong>e Extension auswählen (etwa über den Antwortalgorithmusdef<strong>in</strong>iert), und dann nur Folgerungen aus dieser Extension zulassen. Diese Idee wirdunten noch als starke CWA“ untersucht. Tatsächlich werden über e<strong>in</strong>e Implementierung”def<strong>in</strong>ierte Extensionen aber meist von der Schreibweise der Axiome abhängen, so daß diegrundlegende Forderung der Äquivalenzerhaltung nicht erfüllt wird.Drittens kann man sich auch auf die Aussagen beschränken, die aus allen maximalenExtensionen folgen ( skeptische Sicht“). Es wird sich zeigen, daß dies gerade den”


5.2. DIE VORSICHTIGE CWA 103m<strong>in</strong>imalen Modellen entspricht.Viertens erlaubt die ”vorsichtige Sicht“ nur das zu folgern, was schon aus dem Schnittaller maximalen Extensionen folgt. Die vorsichtige Sicht liegt gerade der <strong>in</strong> diesem Abschnittvorgeschlagenen Vervollständigung zugrunde.Es handelt sich bei diesen vier Möglichkeiten um e<strong>in</strong>e echte Hierarchie, d.h. von derleichtgläubigen bis zur vorsichtigen Sicht kann zunehmend weniger gefolgert werden:Beispiel 5.2.3: Es sei wieder das Beispiel mit ∆ := {¬p, ¬q} und Φ := {p ∨ q}betrachtet. Hier gab es die beiden Extensionen E 1 := {¬p} und E 2 := {¬q}.Leichtgläubig kann man also p (aus E 2 ) und ¬p (aus E 1 ) folgern, nicht aber p ∧ ¬p.Übrigens tritt dieses Problem immer auf, wenn es mehr als e<strong>in</strong>e Extension gibt: Falls e<strong>in</strong>Default δ <strong>in</strong> e<strong>in</strong>er Extension enthalten ist, aber nicht <strong>in</strong> e<strong>in</strong>er anderen, so muß aus dieserja ¬δ folgen.Wenn man sich auf e<strong>in</strong>e feste Extension bezieht, etwa E 1 , kann man noch ¬p mit “Ja“beantworten, aber nicht mehr p.Die skeptische Sicht ist noch schwächer und erlaubt nur, ¬p ∨ ¬q zu schließen (entsprechendden m<strong>in</strong>imalen Modellen).Für die vorsichtige Sicht gilt auch dies nicht mehr: Der Schnitt der maximalen Extensionenist leer, es können also nur noch logische Folgerungen gebildet werden. Diesentspricht gerade dem Verhalten der GCWA [M<strong>in</strong>82], Disjunktionen als <strong>in</strong>klusives oder“ ”zu <strong>in</strong>terpretieren.✷Def<strong>in</strong>ition 5.2.4 (Vorsichtige CWA):Die durch ∆ gegebene vorsichtige CWA istcwa ∆ (Φ) := Φ ∪ { δ ∈ ∆ ∗ ∣ ∣ δ ∈ E für alle maximalen ∆-Extensionen von Φ } .Extensionen als Mittel zur Beschreibung von konsistenten Annahmezuständen wurdenschon <strong>in</strong> [Rei80] e<strong>in</strong>geführt, dort s<strong>in</strong>d die <strong>Defaults</strong> aber wesentlich komplizierter und dieDef<strong>in</strong>ition besteht dementsprechend auch aus e<strong>in</strong>er geschachtelten Fixpunkt- und M<strong>in</strong>imumsbildung.Maximale Extensionen bezüglich der hier betrachteten <strong>Defaults</strong> wurden<strong>in</strong> [Poo88] def<strong>in</strong>iert.Die vorsichtige Sicht wurde <strong>in</strong> [BL89] e<strong>in</strong>geführt, und es wurde gezeigt, daß sie geradeder GCWA entspricht. Da <strong>in</strong> der Literatur Extensionen meist unter Folgerung abgeschlossens<strong>in</strong>d, hat der Unterschied zwischen der vorsichtigen und der skeptischen Sicht vorheroffenbar ke<strong>in</strong>e Beachtung gefunden.Erweiterung auf <strong>Defaults</strong> mit PrioritätenDa es (bisher) nicht e<strong>in</strong> allgeme<strong>in</strong>es Konzept wie die Präferenzrelationen bei den m<strong>in</strong>imalenModellen gibt, ist es angebracht, erst die Erweiterung auf Prioritäten e<strong>in</strong>zuführen,und die Eigenschaften dann gleich im allgeme<strong>in</strong>en Fall nachzuweisen.Falls also für jeden Default δ ∈ ∆ auch e<strong>in</strong>e Priorität l(δ) festlegt ist, muß der Begriffder maximalen Extension natürlich angepaßt werden. Der Grundgedanke ist dabei, daß


104 KAPITEL 5. SEMANTIK VON DEFAULTSe<strong>in</strong> Default nur durch <strong>Defaults</strong> höherer oder gleicher Priorität ausgeschlossen werden sollte(also mit kle<strong>in</strong>erem l-Wert), aber nicht durch <strong>Defaults</strong> niedrigerer Priorität.Def<strong>in</strong>ition 5.2.5 (Maximale Extension mit Prioritäten): E<strong>in</strong>e Teilmenge E ⊆ ∆ ∗heißt maximale (∆, l)-Extension von Φ genau dann, wenn• Φ ∪ E konsistent ist, und• Φ ∪ { δ ∈ E ∣ ∣ l(δ) ≤ l(δ ′ ) } ∪ { δ ′} <strong>in</strong>konsistent ist für alle δ ′ ∈ ∆ ∗ − E.Beispiel 5.2.6:Das typische Beispiel zur Behandlung von Prioritäten ist:∆ := {¬p, ¬q}, l(¬p) = 1, l(¬q) = 2, Φ := {p ∨ q}.Hier ist E 1 := {¬p} e<strong>in</strong>e maximale Extension, denn der fehlende Default ¬q kann nichth<strong>in</strong>zugenommen werden, Φ ∪ {¬p} ∪ {¬q} ist <strong>in</strong>konsistent. Dagegen ist E 2 := {¬q}ke<strong>in</strong>e maximale Extension, denn der fehlende Default ¬p hat nur gegen die <strong>Defaults</strong> vonkle<strong>in</strong>erer oder gleicher Stufe anzutreten, Φ ∪ ∅ ∪ {¬p} ist aber konsistent. Auf diese Weisewird also der höher priorisierte Default ¬p vorgezogen.✷Die CWA nimmt dann wieder den Schnitt der so bestimmten maximalen Extensionen an:Def<strong>in</strong>ition 5.2.7 (Vorsichtige CWA mit Prioritäten):vorsichtige CWA istDie durch (∆, l) gegebenecwa (∆,l) (Φ) := Φ ∪ { δ ∈ ∆ ∗ ∣ ∣ δ ∈ E für jede maximale (∆, l)-Extension von Φ } .Interessant ist, daß im Gegensatz zu den m<strong>in</strong>imalen Modellen hier die Ausdrucksfähigkeitdurch die E<strong>in</strong>führung der Prioritäten echt vergrößert wird:Beispiel 5.2.8: Sei e<strong>in</strong>e Signatur mit den beiden Aussagenvariablen p und q zugrundegelegt. Wählt man nun∆ := {¬p ∧ ¬q, ¬p ∧ q, ¬q}, l(¬p ∧ ¬q) := 1, l(¬p ∧ q) := 1, l(¬q) := 2,so erhält man die <strong>in</strong> Tabelle 5.1 dargestellte Vervollständigung: S<strong>in</strong>d sowohl [¯p¯q] als auch[¯pq] Modell von Φ, so löschen sich die beiden maximalen Extensionen E 1 := {¬p∧¬q, ¬q}und E 2 := {¬p∧q} gerade aus, und alle Modelle s<strong>in</strong>d <strong>in</strong>tendiert. Alle<strong>in</strong> setzt sich dagegenjedes von beiden Modellen gegen jedes andere durch.Will man jetzt diese Vervollständigung ohne Prioritäten darstellen, so muß die Mengeder <strong>Defaults</strong>, die <strong>in</strong> [pq] gelten, e<strong>in</strong>e echte Teilmenge der <strong>in</strong> [p¯q] gültigen <strong>Defaults</strong> se<strong>in</strong>,denn sonst würde [pq] nicht gegen [p¯q] verlieren. Nun verliert aber [p¯q] se<strong>in</strong>erseits sowohlgegen [¯p¯q] als auch gegen [¯pq], also muß auch hier jeweils die echte Teilmengenbeziehunggelten. Diese Situation ist <strong>in</strong> der rechten Zeichnung dargestellt.Betrachtet man jetzt aber die Menge {[pq], [¯pq], [¯p¯q]}, so können nur die <strong>in</strong> [¯pq]bzw. <strong>in</strong> [¯p¯q] gültigen <strong>Defaults</strong> maximale Extensionen se<strong>in</strong>, und beide enthalten die <strong>Defaults</strong>,die <strong>in</strong> [p¯q] gelten, und darunter auch m<strong>in</strong>destens e<strong>in</strong>en Default, der <strong>in</strong> [pq] nicht gilt.Damit kann im Widerspruch zu der angestrebten Vervollständigung [pq] ke<strong>in</strong> <strong>in</strong>tendiertesModell se<strong>in</strong>.✷


5.2. DIE VORSICHTIGE CWA 105Φ [pq] [p¯q] [¯pq] [¯p¯q] comp(Φ)falsefalse¬p, ¬q • ¬p, ¬q¬p, q • ¬p, q¬p • • ¬pp, ¬q • p, ¬q¬q ◦ • ¬p, ¬qp ↔ ¬q ◦ • ¬p, q¬p ∨ ¬q • • • ¬p ∨ ¬qp, q • p, qp ↔ q ◦ • ¬p, ¬qq ◦ • ¬p, q¬p ∨ q • • • ¬p ∨ qp ◦ • p, ¬qp ∨ ¬q ◦ ◦ • ¬p, ¬qp ∨ q ◦ ◦ • ¬p, qtrue • • • • true✓[pq]✒✏✑✓ ✏[p¯q]✒✁ ✁ ✑❆❆✓✁✏ ✓❆[¯p¯q] [¯pq]✒ ✑ ✒✏✑Tabelle 5.1: Beispiel für größere Ausdrucksfähigkeit bei PrioritätenAuch e<strong>in</strong>e iterative Konstuktion von maximalen Extensionen ist möglich. Die betrachtetenDefaultmengen entsprechen sogar genau denen, die oben für die m<strong>in</strong>imalen Modelleangegeben wurden:Lemma 5.2.9: Sei l e<strong>in</strong>e n-Stufen-E<strong>in</strong>teilung. E<strong>in</strong>e Teilmenge E ⊆ ∆ ∗ ist genau danne<strong>in</strong>e maximale (∆, l)-Extension, wenn E ∩ { δ ∈ ∆ ∣ ∗l(δ) ≤ i } für i = 1, . . . , n e<strong>in</strong>emaximale { δ ∈ ∆ ∣ l(δ) ≤ i } -Extension ist.Beweis:• ”=⇒ “: Sei E e<strong>in</strong>e maximale (∆, l)-Extension. Die geforderte Konsistenz ist automatischgegeben, es ist nur noch zu zeigen, daßΦ ∪ ( E ∩ { δ ∈ ∆ ∗ ∣ ∣ l(δ) ≤ i }) ∪ {δ}<strong>in</strong>konsistent ist für jeden nicht enthaltenen Default e<strong>in</strong>er Stufe ≤ i. Das folgt aber direktaus der Def<strong>in</strong>ition von maximaler (∆, l)-Extension.• ”⇐= “: Sei E umgekehrt e<strong>in</strong>e stufenweise Extension. Die Konsistenz ergibt sich aus derForderung für i = n. Wäre andererseitsΦ ∪ { δ ∈ E ∣ ∣ l(δ) ≤ l(δ ′ ) } ∪ {δ ′ }konsistent für e<strong>in</strong> δ ′ ∈ ∆ ∗ − E, so wäre die Voraussetzung für i = l(δ ′ ) verletzt.✷Diese iterative Def<strong>in</strong>ition von maximaler Extension wurde <strong>in</strong> [Bre91] angegeben.nicht-iterative Def<strong>in</strong>ition ist neu.Die


106 KAPITEL 5. SEMANTIK VON DEFAULTSErweiterung auf partiell geordnete <strong>Defaults</strong>Nun sollen maximale Extensionen <strong>in</strong> dem allgeme<strong>in</strong>sten Fall def<strong>in</strong>iert werden, nämlich fürpartiell geordnete <strong>Defaults</strong>. Es ist dabei nicht mehr ausreichend, nur e<strong>in</strong>zelne fehlende<strong>Defaults</strong> zu betrachten:Beispiel 5.2.10:Seien folgende <strong>Defaults</strong> gegeben:∆ := {¬p, ¬q, p, q}, ¬p ❁ q, ¬q ❁ p.Man kann die Prioritäten auch folgendermaßen graphisch darstellen:✓ ✏ ✓ ✏q p✒ ✑ ✒ ✑✓¬p✒✏✑✓¬q✒✏✑Falls die <strong>Defaults</strong> nicht durch Axiome e<strong>in</strong>geschränkt s<strong>in</strong>d (Φ := ∅), sollten natürlich diebeiden höher priorisierten <strong>Defaults</strong> angenommen werden, d.h. E := {¬p, ¬q} sollte diee<strong>in</strong>zige maximale Extension se<strong>in</strong>.Also müßte das Maximalitätskriterium <strong>in</strong>sbesondere <strong>in</strong> der Lage se<strong>in</strong>, E ′ := {p, q}auszuscheiden. Versucht man nun aber ¬p h<strong>in</strong>zuzunehmen, und läßt dafür den schwächerpriorisierten Default q weg, so erhält man {p, ¬p}, was natürlich <strong>in</strong>konsistent ist. Ebensokann man auch nicht ¬q h<strong>in</strong>zunehmen. Das Problem ist hier, daß die Konflikte geradeKreuz“ zu den Prioritäten bestehen.”überDagegen kann man die beiden fehlenden <strong>Defaults</strong> ¬p und ¬q geme<strong>in</strong>sam h<strong>in</strong>zunehmen,denn nun s<strong>in</strong>d p und q beide schwächer als e<strong>in</strong>er dieser <strong>Defaults</strong>, werden also beideelim<strong>in</strong>iert.✷Def<strong>in</strong>ition 5.2.11 (Maximale Extension, allgeme<strong>in</strong>er Fall):heißt maximale (∆, ❁)-Extension von Φ genau dann, wenn• Φ ∪ E konsistent ist und• für alle ∆ ′ ⊆ ∆ ∗ − E, ∆ ′ ≠ ∅, die folgende Menge <strong>in</strong>konsistent ist:Φ ∪ {δ ∈ E | es gibt nicht δ ′ ∈ ∆ ′ mit δ ′ ❁ δ} ∪ ∆ ′ .E<strong>in</strong>e Menge E ⊆ ∆ ∗Die durch (∆, ❁) gege-Def<strong>in</strong>ition 5.2.12 (Vorsichtige CWA, allgeme<strong>in</strong>er Fall):bene vorsichtige CWA istcwa (∆,❁) (Φ) := Φ ∪ { δ ∈ ∆ ∗ ∣ ∣ δ ∈ E für jede maximale (∆, ❁)-Extension von Φ } .Es ist nun zu zeigen, daß es sich tatsächlich um e<strong>in</strong>e Verallgeme<strong>in</strong>erung der vorangegangenenDef<strong>in</strong>itionen handelt:


5.2. DIE VORSICHTIGE CWA 107Lemma 5.2.13:• E ⊆ ∆ ∗ ist genau dann e<strong>in</strong>e maximale ∆-Extension von Φ, wenn es e<strong>in</strong>e maximale(∆, ❁)-Extension bezüglich ❁ = ∅ ist.• E ⊆ ∆ ∗ ist genau dann e<strong>in</strong>e maximale (∆, l)-Extension, wenn es e<strong>in</strong>e maximale(∆, ❁)-Extension ist bezüglich der durch δ 1 ❁ δ 2 :⇐⇒ l(δ 1 ) < l(δ 2 ) gegebenenPrioritätsrelation.Beweis:• Sei E e<strong>in</strong>e maximale ∆-Extension. Angenommen, es gäbe ∆ ′ ⊆ ∆ ∗ − E, so daßΦ ∪ {δ ∈ E | es gibt nicht δ ′ ∈ ∆ ′ mit δ ′ ❁ δ} ∪ ∆ ′konsistent ist. Da ❁ leer ist, ist diese Menge e<strong>in</strong>fach Φ ∪ E ∪ ∆ ′ . Damit ist natürlichΦ ∪ E ∪ {δ ′ } konsistent für jeden Default δ ′ ∈ ∆ ′ im Widerspruch zur Voraussetzung.Die Umkehrung ist noch e<strong>in</strong>facher, hier wählt man ∆ ′ := {δ ′ }.• Sei E e<strong>in</strong>e maximale (∆, l)-Extension. Zu zeigen ist, daß es nicht ∆ ′ ⊆ ∆ ∗ − E gibt, sodaßΦ ∪ {δ ∈ E | es gibt nicht δ ′ ∈ ∆ ′ mit δ ′ ❁ δ} ∪ ∆ ′konsistent ist. Angenommen, dies wäre doch der Fall. Sei δ ′ e<strong>in</strong> Default m<strong>in</strong>imaler Stufeaus ∆ ′ , dann ist nach Konstruktion von ❁ diese Menge gleichΦ ∪ {δ ∈ E | l(δ) ≤ l(δ ′ )} ∪ ∆ ′ .Ist diese Menge konsistent, so ist natürlich erst recht die Teilmenge konsistent, <strong>in</strong> der dieübrigen <strong>Defaults</strong> aus ∆ ′ weggelassen s<strong>in</strong>d. Das kann aber nicht se<strong>in</strong>, da E dann ke<strong>in</strong>emaximale (∆, l)-Extension wäre.Für die Umkehrung wählt man wieder ∆ ′ := {δ ′ }, dann gilt{δ ∈ E | es gibt nicht δ ′ ∈ ∆ ′ mit δ ′ ❁ δ} = {δ ∈ E | l(δ) ≤ l(δ ′ )}nach Def<strong>in</strong>ition von ❁.✷Mit dem folgenden Lemma können maximale Extensionen entsprechend der Default-Hierarchie aufgebaut werden. Hat man schon e<strong>in</strong>e maximale Extension E 0 bis zu e<strong>in</strong>ergewissen Prioritätsgrenze, so kann man direkt darüber e<strong>in</strong>e Schicht weiterer <strong>Defaults</strong> ∆ 1vorschreiben, und das ganze zu e<strong>in</strong>er vollständigen maximalen Extension E ausbauen.Als Spezialfall kann also jede konsistente Menge von <strong>Defaults</strong> zu e<strong>in</strong>er (∆, ∅)-Extensionerweitert werden.Lemma 5.2.14:Sei ∆ ∗ 0 ⊆ ∆ ∗ nach unten abgeschlossen, d.h. gelte:δ ∈ ∆ ∗ , δ 0 ∈ ∆ ∗ 0, δ ❁ δ 0 =⇒ δ ∈ ∆ ∗ 0.Sei E 0 e<strong>in</strong>e maximale (∆ ∗ 0, ❁)-Extension von Φ und ∆ 1 e<strong>in</strong> Menge ❁-m<strong>in</strong>imaler Elementevon ∆ ∗ − ∆ ∗ 0. Ist Φ ∪ E 0 ∪ ∆ 1 konsistent, so gibt es e<strong>in</strong>e maximale (∆, ❁)-Extension Evon Φ mit E 0 ∪ ∆ 1 ⊆ E.


108 KAPITEL 5. SEMANTIK VON DEFAULTSBeweis: Sei δ 1 , . . . , δ n e<strong>in</strong>e topologische Sortierung von (∆ ∗ − ∆ ∗ 0 , ❁), die zuerst alle <strong>Defaults</strong>aus ∆ 1 enthält. Sei{E i−1 ∪ {δ i } falls Φ ∪ E i−1 ∪ {δ i } konsistentE i :=sonst.E i−1Sei E := E n . Dann gilt E 0 ∪ ∆ 1 ⊆ E nach Konstruktion.Es wird jetzt mit Induktion über i gezeigt, daß E i e<strong>in</strong>e maximale (∆ ∗ 0 ∪ {δ 1, . . . , δ i }, ❁)-Extension von Φ ist. Falls es ∆ ′ i gäbe, das zeigt, daß E i ke<strong>in</strong>e maximale Extension ist, so würde∆ ′ i−1 := ∆′ i − {δ i} zeigen, daß E i−1 ke<strong>in</strong>e maximale Extension ist (denn ke<strong>in</strong> Default <strong>in</strong> E i−1hat ger<strong>in</strong>gere Priorität als δ i ).✷Die hier angegebene Def<strong>in</strong>ition von maximaler Extension ist neu und nicht äquivalentzu der <strong>in</strong> [Bre91] angebenen ”konstruktiven“ Def<strong>in</strong>ition. Auf den Unterschied und denVorteil dieser Def<strong>in</strong>ition wird unten noch näher e<strong>in</strong>gegangen.Maximale Extensionen und m<strong>in</strong>imale ModelleEs gibt nun e<strong>in</strong>e sehr enge Beziehung zwischen m<strong>in</strong>imalen Modellen und maximalen Extensionen,und zwar ist e<strong>in</strong> Modell genau dann m<strong>in</strong>imal, wenn es Modell e<strong>in</strong>er maximalenExtension ist. Damit gibt es zwar noch ke<strong>in</strong>e bijektive Abbildung zwischen m<strong>in</strong>imalenModellen und maximalen Extensionen (weil e<strong>in</strong>e maximale Extension mehrere Modellehaben kann), aber die ∼ = ∆ ∗-Äquivalenzklassen der m<strong>in</strong>imalen Modelle entsprechen genauden maximalen Extensionen.Satz 5.2.15:• Wenn E e<strong>in</strong>e maximale (∆, ❁)-Extension von Φ ist, dann ist jedes Modell I von Φ∪Ee<strong>in</strong> ≺ (∆,❁) -m<strong>in</strong>imales Modell von Φ.• Wenn I e<strong>in</strong> ≺ (∆,❁) -m<strong>in</strong>imales Modell von Φ ist, dann ist E := { δ ∈ ∆ ∗ ∣ ∣ I |= δ }e<strong>in</strong>e maximale (∆, ❁)-Extension von Φ.Beweis:• Wäre I nicht m<strong>in</strong>imal, so würde es also e<strong>in</strong> Modell I 0 von Φ geben mit I 0 ≺ (∆,❁) I. Sei∆ ′ die Menge aller ❁-m<strong>in</strong>imalen <strong>Defaults</strong> unter denen, die nicht denselben Wahrheitswert<strong>in</strong> beiden Modellen haben. Nach Def<strong>in</strong>ition von ≺ (∆,❁) ist ∆ ′ nicht leer, und alle δ ′ ∈ ∆ ′s<strong>in</strong>d <strong>in</strong> I 0 wahr und <strong>in</strong> I falsch. Das bedeutet aber, daßΦ ∪ {δ ∈ E | es gibt nicht δ ′ ∈ ∆ ′ mit δ ′ ❁ δ} ∪ ∆ ′konsistent ist (I 0 ist e<strong>in</strong> Modell), im Widerspruch zur Voraussetzung, daß E e<strong>in</strong>e maximaleExtension ist.• Wäre E ke<strong>in</strong>e maximale Extension, dann müßte es ∆ ′ ⊆ ∆ ∗ − E, ∆ ′ ≠ ∅ geben, so daßΦ ∪ {δ ∈ E | es gibt nicht δ ′ ∈ ∆ ′ mit δ ′ ❁ δ} ∪ ∆ ′konsistent ist. Sei also I 0 e<strong>in</strong> Modell. Nun sei δ e<strong>in</strong> beliebiger Default, der <strong>in</strong> I gilt, abernicht <strong>in</strong> I 0 . Wegen I |= δ ist δ ∈ E, andererseits ist I 0 e<strong>in</strong> Modell der obigen Menge, und


5.2. DIE VORSICHTIGE CWA 109I 0 ̸|= δ. Also muß es δ ′ ∈ ∆ ′ geben mit δ ′ ❁ δ. Nach Konstruktion gilt I 0 |= δ ′ und I ̸|= δ ′ .Daher ist I 0 ≺ (∆,❁) I im Widerspruch zur vorausgesetzten M<strong>in</strong>imalität von I. ✷Hieraus folgt sofort, daß der skeptische Ansatz der m<strong>in</strong>imalen Implikation entspricht,d.h. e<strong>in</strong>e Formel ψ gilt <strong>in</strong> allen m<strong>in</strong>imalen Modellen von Φ genau dann wenn Φ ∪ E ⊢ ψfür alle maximalen Extensionen E von Φ.Der vorangegangene Satz liefert auch e<strong>in</strong>e alternative Def<strong>in</strong>ition der vorsichtigenCWA: Sie nimmt diejenigen <strong>Defaults</strong> an, die <strong>in</strong> allen maximalen Extensionen enthaltens<strong>in</strong>d, also <strong>in</strong> allen m<strong>in</strong>imalen Modellen gelten.Satz 5.2.16:Beweis:cwa (∆,❁) (Φ) = Φ ∪ { δ ∈ ∆ ∗ ∣ ∣ I |= δ für alle ≺ (∆,❁) -m<strong>in</strong>imalen Modelle von Φ } .• ”⊆“: Sei δ also <strong>in</strong> allen maximalen Extensionen enthalten und sei I e<strong>in</strong> ≺ (∆,❁) -m<strong>in</strong>imalesModell von Φ. Da die <strong>in</strong> I gültigen <strong>Defaults</strong> nach Satz 5.2.15 e<strong>in</strong>e maximale Extensionbilden, muß δ auch <strong>in</strong> I gelten.• ”⊇“: Sei δ also <strong>in</strong> allen m<strong>in</strong>imalen Modellen von Φ gültig. Zu zeigen ist, daß δ <strong>in</strong> jedermaximalen Extension E enthalten ist. Aufgrund der Konsistenzforderung gibt es e<strong>in</strong> ModellI von Φ ∪ E, das nach Satz 5.2.15 m<strong>in</strong>imal ist. Also gilt δ <strong>in</strong> I. Wäre nun δ ∉ E, sowäre die Maximalitätsforderung verletzt, da Φ ∪ E ∪ {δ} konsistent ist (I is e<strong>in</strong> Modell).✷Damit kann man jetzt leicht die Vervollständigungs-Stärke der beiden Default-Semantikenvergleichen:Satz 5.2.17: Die vorsichtige CWA ist e<strong>in</strong>e schwächere Vervollständigung als die m<strong>in</strong>imalenModelle, d.h. Φ ⊢ cwa(∆,❁) ψ =⇒ Φ ⊢ m<strong>in</strong>(∆,❁) ψ.Beweis: Da nur solche <strong>Defaults</strong> angenommen werden, die <strong>in</strong> allen m<strong>in</strong>imalen Modellen gelten,ist jedes m<strong>in</strong>imale Modell e<strong>in</strong> Modell der vorsichtigen CWA. Wenn also schon jedes Modellder vorsichtigen CWA die Anfrage ψ erfüllt, so gilt das natürlich erst recht für jedes m<strong>in</strong>imaleModell.✷Die hier angegebenen Sätze s<strong>in</strong>d Verallgeme<strong>in</strong>erungen von Ergebnissen aus [BL89], dieihrerseits auf [M<strong>in</strong>82] aufbauen.EigenschaftenSatz 5.2.18:• cwa (∆,❁) ist konsistenzerhaltend (CON).• cwa (∆,❁) ist kumulierend (CUM).• cwa (∆,❁) hat die NCWA-Eigenschaft (NCWA).• cwa (∆,❁) hat die Disjunktions-Eigenschaft für <strong>Defaults</strong> (DDIS).


110 KAPITEL 5. SEMANTIK VON DEFAULTSBeweis:• (CON): Nach Satz 5.2.16 nimmt die CWA nur solche <strong>Defaults</strong> an, die <strong>in</strong> allen m<strong>in</strong>imalenModellen gelten. Damit ist jedes m<strong>in</strong>imale Modell auch Modell der CWA (und es gibtm<strong>in</strong>destens e<strong>in</strong> m<strong>in</strong>imales Modell).• (CUM): Gelte cwa (∆,❁) (Φ) ⊢ ϕ. Zu zeigen ist, daß cwa (∆,❁) (Φ) und cwa (∆,❁)(Φ ∪ {ϕ})äquivalent s<strong>in</strong>d. Dazu reicht es zu zeigen, daß <strong>in</strong> beiden Mengen dieselben <strong>Defaults</strong> angenommenwerden. Nach Satz 5.2.16 werden genau die <strong>Defaults</strong> angenommen, die <strong>in</strong> allenm<strong>in</strong>imalen Modellen gelten. Wegen cwa (∆,❁) (Φ) ⊢ ϕ gilt ϕ nach Satz 5.2.17 <strong>in</strong> allen m<strong>in</strong>imalenModellen von Φ, also ist m<strong>in</strong> (∆,❁)(Mod(Φ))= m<strong>in</strong>(∆,❁)(Mod(Φ ∪ {ϕ})). Damitwerden natürlich <strong>in</strong> Φ und Φ ∪ {ϕ} dieselben <strong>Defaults</strong> angenommen.• (NCWA): Wenn die NCWA für Φ konsistent ist, s<strong>in</strong>d alle m<strong>in</strong>imalen Modelle ∼ = ∆ ∗-äquivalent.Dann gibt es aber nur e<strong>in</strong>e maximale Extension, die mit der naiven CWA übere<strong>in</strong>stimmt.• (DDIS): Wird e<strong>in</strong> Default δ ∈ ∆ ∗ (sowohl <strong>in</strong> cwa (∆,❁) Φ ∪ {ϕ1 } ) angenommen, als auch(<strong>in</strong> cwa (∆,❁) Φ ∪ {ϕ2 } ) , so gilt er <strong>in</strong> allen m<strong>in</strong>imalen Modellen der beiden Formelmengen.Nach der Deduktions-Eigenschaft <strong>in</strong> der Formulierung von Satz 4.1.17 s<strong>in</strong>d aber die m<strong>in</strong>imalenModelle von Φ ∪ {ϕ 1 ∨ ϕ 2 } auch m<strong>in</strong>imale Modelle von Φ ∪ {ϕ 1 } oder von Φ ∪ {ϕ 2 }.(Damit wird δ also erst recht <strong>in</strong> cwa (∆,❁) Φ ∪ {ϕ1 ∨ ϕ 2 } ) angenommen.✷Beispiel 4.1.13 zeigt, daß die vorsichtige CWA im allgeme<strong>in</strong>en nicht die Deduktions-Eigenschaft hat. Tatsächlich verletzt die GCWA auch die Expansions-Eigenschaft, dazubraucht man aber m<strong>in</strong>destens drei Aussagenvariablen:Beispiel 5.2.19:Sei∆ := {¬p, ¬q, ¬r},I 1 := {[¯pqr], [p¯q¯r], [pqr]},I 2 := {[¯pq¯r], [p¯qr], [pqr]}Bei I 1 gibt es entsprechend den m<strong>in</strong>imalen Modellen [¯pqr] und [p¯q¯r] die beiden maximalenExtensionen E 1,1 := {¬p} und E 1,2 := {¬q, ¬r}. Der Schnitt dieser beiden Extensionenist leer, d.h. es wird ke<strong>in</strong> Default angenommen. Daher wird <strong>in</strong>sbesondere das Modell [pqr]ausgewählt.Bei I 2 s<strong>in</strong>d die Extensionen E 2,1 := {¬p, ¬r} und E 2,2 := {¬q}; wieder wird [pqr]ausgewählt.Bei I 1 ∪ I 2 s<strong>in</strong>d schließlich die Modelle [p¯q¯r] und [¯pq¯r] m<strong>in</strong>imal; der Schnitt derentsprechenden Extensionen enthält den Default ¬r.Daher wird das Modell [pqr] <strong>in</strong> I 1 ∪ I 2 nicht ausgewählt, obwohl es sowohl <strong>in</strong> I 1 alsauch <strong>in</strong> I 2 ausgewählt wird. Dies ist e<strong>in</strong>e Verletzung der Expansions-Eigenschaft. ✷Die hier angegebenen Sätze s<strong>in</strong>d zum Teil neu, zum Teil Verallgeme<strong>in</strong>erungen von Ergebnissenaus [Bra90a].


5.3. WEITERE SEMANTIKEN 111CharakterisierungDie vorsichtige CWA läßt sich auf ganz ähnliche Weise charakterisieren wie die ”m<strong>in</strong>imaleModelle“ Semantik, man muß nur die Abschwächung DDIS der Deduktions-Eigenschaftverwenden:Satz 5.2.20: cwa (∆,❁) ist die schwächste Vervollständigung mit den EigenschaftenNCWA und DDIS.Beweis: cwa (∆,❁) hat diese beiden Eigenschaften. Sei comp e<strong>in</strong>e beliebige Vervollständigung,die ebenfalls die Eigenschaften NCWA und DDIS hat. Zu zeigen ist comp(Φ) ⊢ cwa (∆,❁) (Φ).Dazu genügt es zu zeigen, daß comp(Φ) ⊢ δ für jeden Default <strong>in</strong> cwa (∆,❁) (Φ). Für jedes m<strong>in</strong>imaleModell I von Φ sei ϕ I e<strong>in</strong>e Formel, die <strong>in</strong> I und allen größeren Modellen von Φ gilt. Dann ist Φ(äquivalent zur Disjunktion dieser ϕ I , andererseits ist ncwa (δ,❁) {ϕI } ) konsistent und enthält δ.Nun kann man mit der Eigenschaft DDIS die Behauptung folgern.✷Dieser Satz ist neu und sehr nützlich zum Verständnis der vorsichtigen CWA.5.3 Weitere SemantikenEs sollen jetzt noch weitere Semantiken für <strong>Defaults</strong> vorgestellt werden, um zu zeigen,daß die obigen beiden Ansätze bei weitem noch nicht die e<strong>in</strong>zigen möglichen s<strong>in</strong>d. Teilweisehandelt es sich dabei um kle<strong>in</strong>ere Modifikationen der ”m<strong>in</strong>imale Modelle“ und dervorsichtigen CWA-Semantik, teilweise handelt es sich auch um weniger gute Vorschläge.Dies muß aber natürlich erst anhand der <strong>in</strong> Kapitel 4 vorgestellten Eigenschaften belegtwerden.Die naive CWADie naive CWA, die alle <strong>Defaults</strong> annimmt, deren Gegenteil nicht folgt, wurde schon <strong>in</strong>Kapitel 4 def<strong>in</strong>iert und im Abschnitt 5.1 modelltheoretisch charakterisiert. Ihr Hauptproblemist die Konsistenzerhaltung. Wenn sie aber konsistenzerhaltend ist, sollte jedevernünftige Semantik mit ihr übere<strong>in</strong>stimmen.Beispiel 5.3.1:Φ := {p ∨ q},Das klassische Beispiel für die Zerstörung der Konsistenz ist:∆ := {¬p, ¬q}.Da weder ¬¬p, d.h. p, noch ¬¬q, also q, folgen, werden beide <strong>Defaults</strong> angenommen, unddie Vervollständigung von Φ ist <strong>in</strong>konsistent.Dieses Beispiel liefert auch sofort e<strong>in</strong>e Verletzung der Kumulierung: Aus der <strong>in</strong>konsistentenVervollständigung folgt ja alles, also auch ¬q. Fügt man diese Formel nun zu Φh<strong>in</strong>zu, so ist die entstehende Formelmenge äquivalent zu {p, ¬q}, und hier funktioniertdie naive CWA natürlich problemlos. Insbesondere folgt nicht mehr false.


112 KAPITEL 5. SEMANTIK VON DEFAULTSAllgeme<strong>in</strong> s<strong>in</strong>d nicht-konsistenzerhaltende Vervollständigungen fast immer auch nichtkumulierend. Allerd<strong>in</strong>gs ist dies ke<strong>in</strong>e echte Implikation, wie man am Beispiel der Vervollständigungsieht, die alle Φ auf false abbildet — sie ist nicht konsistenzerhaltend, aberkumulierend.✷Mit der modelltheoretischen Charakterisierung der naiven CWA kann man auch rechtleicht nachweisen, daß sie die Deduktions- und die Expansions-Eigenschaft hat, was vielleichtetwas überraschend ist:Satz 5.3.2:ncwa (∆,❁) hat die Eigenschaften DED und EXP.Beweis:Bezeichne ncwa (∆,❁) hier wieder die modelltheoretische Version der naiven CWA.• (DED): Zu zeigen istncwa (∆,❁) (I 1 ∪ I 2 ) ⊆ ncwa (∆,❁) (I 1 ) ∪ ncwa (∆,❁) (I 2 ).Sei I ∈ ncwa (∆,❁) (I 1 ∪I 2 ). Nach Satz 5.1.22 ist I <strong>in</strong> I 1 ∪I 2 m<strong>in</strong>imal, und äquivalent zu allenanderen m<strong>in</strong>imalen Modellen. Das bedeutet aber, daß I ≺ (∆,❁) I ′ für jedes nicht-m<strong>in</strong>imaleModell I ′ gilt. Ist etwa I ∈ I 1 , so ist natürlich I ∈ m<strong>in</strong> (∆,❁) (I 1 ), außerdem ist aberm<strong>in</strong> (∆,❁) (I 1 ) ⊆ m<strong>in</strong> (∆,❁) (I 1 ∪ I 2 ), es kommen also ke<strong>in</strong>e neuen m<strong>in</strong>imalen Modelle h<strong>in</strong>zu.Daher ist I äquivalent zu allen m<strong>in</strong>imalen Modellen <strong>in</strong> I 1 , also gilt I ∈ ncwa (∆,❁) (I 1 ).• (EXP): Zu zeigen istncwa (∆,❁) (I 1 ) ∩ ncwa (∆,❁) (I 2 ) ⊆ ncwa (∆,❁) (I 1 ∪ I 2 ).Sei also I <strong>in</strong> dem Schnitt auf der l<strong>in</strong>ken Seite. Das bedeutet, daß es sowohl <strong>in</strong> I 1 alsauch <strong>in</strong> I 2 m<strong>in</strong>imal ist, und äquivalent zu allen anderen m<strong>in</strong>imalen Modellen. Damit ist esnatürlich <strong>in</strong> I 1 ∪ I 2 m<strong>in</strong>imal (m<strong>in</strong> (∆,❁) erfüllt EXP), und immer noch äquivalent zu allenanderen m<strong>in</strong>imalen Modellen (m<strong>in</strong> (∆,❁) erfüllt DED).✷Die naive CWA wurde <strong>in</strong> [Rei78] e<strong>in</strong>geführt, wo auch die Probleme mit der Konsistenzerhaltungdiskutiert wurden. Weitere Ergebnisse hierzu f<strong>in</strong>den sich <strong>in</strong> [She88]. Die Verallgeme<strong>in</strong>erungauf priorisierte <strong>Defaults</strong> und der Nachweis der Eigenschaften DED undEXP s<strong>in</strong>d neu.E<strong>in</strong>e konsistenzerhaltende Modifikation der naiven CWADas Problem mit der Konsistenzerhaltung kann man natürlich leicht lösen, <strong>in</strong>dem mane<strong>in</strong>fach gar ke<strong>in</strong>e <strong>Defaults</strong> annimmt, wenn die naive CWA <strong>in</strong>konsistent ist. Das Ergebnisist die schwächste Vervollständigung mit der NCWA-Eigenschaft:Def<strong>in</strong>ition 5.3.3 (Modifizierte CWA): Die modifizierte CWA sei def<strong>in</strong>iert durch:{ncwa(∆,❁) (Φ) falls konsistentmcwa (∆,❁) (Φ) :=Φsonst.


5.3. WEITERE SEMANTIKEN 113Die modifizierte CWA ist für praktische Zwecke wohl auch nicht viel besser geeignetals die naive CWA, da sich die Vervollständigung beim E<strong>in</strong>fügen e<strong>in</strong>er Disjunktion sodrastisch ändert. Zwar ist sie konsistenzerhaltend, kumulierend und hat die Expansions-Eigenschaft, aber sie hat nicht die Eigenschaft DDIS (als e<strong>in</strong>zige der betrachteten Vervollständigungen).Satz 5.3.4: Die modifizierte CWA ist konsistenzerhaltend, kumulierend, und hat dieExpansions-Eigenschaft.Beweis:CWA.mcwa (∆,❁) bezeichne hier die modelltheoretische Entsprechung der modifizierten• (CON): Die Konsistenzerhaltung folgt direkt aus der Def<strong>in</strong>ition.• (CUM): Zu zeigen ist:mcwa (∆,❁) (I 1 ) ⊆ I 2 ⊆ I 1 =⇒ mcwa (∆,❁) (I 1 ) = mcwa (∆,❁) (I 2 ).Diese Eigenschaft ist schon für m<strong>in</strong> (∆,❁) bewiesen, es braucht also nur noch der Fall betrachtetzu werden, daß I 1 oder I 2 nicht-äquivalente m<strong>in</strong>imale Modelle enthalten. EnthältI 1 nicht-äquivalente Modelle, so gilt mcwa (∆,❁) (I 1 ) = I 1 und daher I 2 = I 1 . Sonst giltmcwa (∆,❁) (I 1 ) = m<strong>in</strong> (∆,❁) (I 1 ), also m<strong>in</strong> (∆,❁) (I 1 ) ⊆ I 2 ⊆ I 1 . Da m<strong>in</strong> (∆,❁) kumulierendist, folgt m<strong>in</strong> (∆,❁) (I 1 ) = m<strong>in</strong> (∆,❁) (I 2 ) und damitmcwa (∆,❁) (I 2 ) = m<strong>in</strong> (∆,❁) (I 2 ) = mcwa (∆,❁) (I 1 ).• (EXP): Zu zeigen istmcwa (∆,❁) (I 1 ) ∩ mcwa (∆,❁) (I 2 ) ⊆ mcwa (∆,❁) (I 1 ∪ I 2 ).Die Behauptung gilt natürlich auf jeden Fall, wenn I 1 ∪ I 2 nicht-äquivalente m<strong>in</strong>imaleModelle hat. Sei I ∉ mcwa (∆,❁) (I 1 ∪ I 2 ). Falls I <strong>in</strong> dem Schnitt auf der l<strong>in</strong>ken Seiteenthalten ist, muß I ∈ I 1 und I ∈ I 2 gelten. E<strong>in</strong>e dieser Teilmengen, etwa I 1 , enthält abere<strong>in</strong> m<strong>in</strong>imales Modell aus I 1 ∪ I 2 , das kle<strong>in</strong>er als alle nicht-m<strong>in</strong>imalen Modelle ist. Daherkommen <strong>in</strong> I 1 ke<strong>in</strong>e neuen m<strong>in</strong>imalen Modelle gegenüber I 1 ∪ I 2 h<strong>in</strong>zu, die m<strong>in</strong>imalenModelle s<strong>in</strong>d also untere<strong>in</strong>ander äquivalent. Nach Def<strong>in</strong>ition der modifizierten CWA istdann I ∉ mcwa (∆,❁) (I 1 ).✷Beispiel 5.3.5: Die modifizierte CWA hat nicht die Eigenschaft DDIS, und damit erstrecht nicht die Deduktions-Eigenschaft. Verwendet man die normalen Negations-<strong>Defaults</strong>ohne Prioritäten, so wird sowohl <strong>in</strong> Φ 1 := { p(a), q(a) } als auch <strong>in</strong> Φ 2 := { p(b), q(a) } derDefault ¬q(b) angenommen, nicht aber <strong>in</strong> Φ := { p(a) ∨ p(b), q(a) } .✷Beispiel 5.3.6: Die modifizierte CWA kann mit der vorsichtigen CWA simuliert werden,wenn das auch sehr aufwendig ist. In dem Standard-Beispiel ∆ := {¬p, ¬q} würde manfür die vorsichtige CWA folgende <strong>Defaults</strong> wählen:¬p ∧ ¬q, ¬p ∧ q, p ∧ ¬q, p ∧ q.Im allgeme<strong>in</strong>en wählt man alle Konjunktionen von <strong>Defaults</strong> und negierten <strong>Defaults</strong>, sodaß der Wahrheitwert jedes <strong>Defaults</strong> bestimmt ist. Die Prioritäten dieser neuen <strong>Defaults</strong>wählt man so, wie es gerade den entsprechenden m<strong>in</strong>imalen Modellen entspricht, also etwa


114 KAPITEL 5. SEMANTIK VON DEFAULTS¬p∧¬q ❁ ¬p∧q. Die neuen <strong>Defaults</strong> s<strong>in</strong>d paarweise <strong>in</strong>konsistent, jede maximale Extensionbesteht also aus e<strong>in</strong>em e<strong>in</strong>zigen Default. Falls es mehr als e<strong>in</strong>e maximale Extension gibt,ist der Schnitt folglich leer. Beispielsweise würde es bei Φ := {p∨q} die beiden maximalenExtensionen E 1 := {¬p∧q} und E 2 := {p∧¬q} geben (p∧q scheidet aus, weil es ger<strong>in</strong>gerePriorität hat). Im Endeffekt würde also ke<strong>in</strong> Default angenommen.✷In der Literatur wurde diese Default-Semantik noch nicht untersucht. Sie ist ja im wesentlichenauch nur deswegen <strong>in</strong>teressant, weil sie e<strong>in</strong>e e<strong>in</strong>fache ”Rettung“ der naiven CWAist.E<strong>in</strong>e starke CWAEs gibt noch e<strong>in</strong>e andere e<strong>in</strong>fache Möglichkeit, die naive CWA konsistenzerhaltend zumachen. Die Probleme treten ja genau dann auf, wenn mehrere <strong>Defaults</strong> im Konfliktmite<strong>in</strong>ander stehen, für die aber ke<strong>in</strong>e Priorität spezifiziert wurde.E<strong>in</strong>e e<strong>in</strong>fache Lösung ist nun, ❁ zu e<strong>in</strong>er l<strong>in</strong>earen Ordnung zu erweitern, <strong>in</strong>dem mansich etwa im Zweifelsfall immer für den lexikographisch kle<strong>in</strong>eren Default entscheidet.Das ähnelt dem Ansatz mit e<strong>in</strong>er durch die Implementierung festgelegten Auswahlder Extension. Typischerweise werden sich die Implementierungen aber nicht nur an derSchreibweise der <strong>Defaults</strong> orientieren, sondern auch an der Schreibweise und Anordnungder Axiome, so daß es sich dann nicht mehr um e<strong>in</strong>e Vervollständigung <strong>in</strong> dem hierbetrachteten S<strong>in</strong>n handelt.Wenn man von e<strong>in</strong>er lexikographischen oder ähnlichen Ordnung ausgeht, kann manfesthalten, daß diese Default-Semantik im Gegensatz zu allen anderen hier untersuchtenVorschlägen nicht äquivalenzerhaltend bezüglich der <strong>Defaults</strong> ist.Def<strong>in</strong>ition 5.3.7 (Starke CWA): Sei δ 1 , δ 2 , . . . , δ n die Aufzählung von ∆ ∗ , die mit❁ verträglich ist, d.h. δ i ❁ δ j =⇒ i < j, und unvergleichbare <strong>Defaults</strong> lexikographischanordnet. Sei E 0 := ∅ und{Ei−1 ∪ {δE i :=i } falls Φ ∪ E i−1 ∪ {δ i } konsistent istsonst.E i−1Dann ist die starke CWA def<strong>in</strong>iert durch:scwa (∆,❁) (Φ) := Φ ∪ E n .Es werden also alle <strong>Defaults</strong> der Reihe nach ausprobiert, ob sie zu der aktuellen Extensionh<strong>in</strong>zugenommen werden können, ohne die Konsistenz zu zerstören. Dabei wird e<strong>in</strong>etopologische Sortierung von (∆ ∗ , ❁) zugrunde gelegt, d.h. die höher priorisierten <strong>Defaults</strong>bekommen ihre Chance zuerst.Bei der starken CWA handelt es sich tatsächlich um e<strong>in</strong>e Form von m<strong>in</strong>imalen Modellen,nur die Ordnungsrelation ist ungewöhnlich:


5.3. WEITERE SEMANTIKEN 115Satz 5.3.8:I 1 ≺ I 2Dann giltSei δ 1 , δ 2 , . . . , δ n wie <strong>in</strong> Def<strong>in</strong>ition 5.3.7 und gelte:⇐⇒ I 1 und I 2 unterscheiden sich <strong>in</strong> m<strong>in</strong>destens e<strong>in</strong>em δ iund für das m<strong>in</strong>imale solche i gilt I 1 |= δ i , I 2 ̸|= δ i .I |= scwa (∆,❁) (Φ) ⇐⇒ I ∈ m<strong>in</strong> ≺(Mod(Φ)).Beweis:• =⇒ “: Gelte also I |= scwa ” (∆,❁) (Φ). Wäre I nicht m<strong>in</strong>imal, so gäbe es also I 0 ≺ I.Sei δ i der erste Default <strong>in</strong> der Aufzählung, <strong>in</strong> dem sich die beiden Modelle unterscheiden.Dann gilt I 0 |= δ und I ̸|= δ. Dies ist aber nicht möglich, denn dann wäre Φ ∪ E i−1 ∪ {δ i }konsistent (I 0 ist e<strong>in</strong> Modell), also müßte δ i ∈ scwa (∆,❁) (Φ) se<strong>in</strong> im Widerspruch zuI |= scwa (∆,❁) (Φ).( )• Sei umgekehrt I ∈ m<strong>in</strong> ≺ Mod(Φ) . Angenommen, I ̸|= scwa(∆,❁) (Φ). Sei nun δ i der<strong>in</strong> der Aufzählung erste Default aus scwa (∆,❁) (Φ) mit I ̸|= δ i . Nach Konstruktion vonscwa (∆,❁) (Φ) ist Φ ∪ E i−1 ∪ {δ i } konsistent, also gibt es e<strong>in</strong> Modell I 0 . Im Wahrheitswertder früheren <strong>Defaults</strong> (δ 1 , . . . , δ i−1 ) stimmen I 0 und I übere<strong>in</strong>, denn beide erfüllen E i−1 undmehr ist nach Konstruktion unmöglich. Also entscheidet δ i , daß I 0 ≺ I im Widerspruchzur M<strong>in</strong>imalität von I.✷Damit ”erbt“ die starke CWA also viele der guten Eigenschaften der m<strong>in</strong>imalen Modelle,nämlich Konsistenzerhaltung, Kumulation, Deduktions- und Expansions-Eigenschaft.E<strong>in</strong> Mangel ist natürlich, daß die <strong>Defaults</strong> nicht gleich behandelt werden — es werden<strong>Defaults</strong> vorgezogen, ohne daß der Entwerfer entsprechende Prioritäten spezifiziert hat.Die starke CWA legt auch die Wahrheitswerte der <strong>Defaults</strong> vollständig fest. Wähltman etwa wie üblich die negativen Grundliterale als <strong>Defaults</strong>, so hat man immer nur e<strong>in</strong>e<strong>in</strong>ziges <strong>in</strong>tendiertes Modell. Für e<strong>in</strong>ige Anwendungen ist das natürlich wünschenswert,aber unvollständige Information kann man damit nicht mehr darstellen.Schließlich sei noch gezeigt, daß die starke CWA tatsächlich mit der naiven CWAübere<strong>in</strong>stimmt, wenn diese konsistent ist:Satz 5.3.9:Ist ncwa (∆,❁) (Φ) konsistent, so gilt scwa (∆,❁) (Φ) = ncwa (∆,❁) (Φ).Beweis: Sei also ncwa (∆,❁) (Φ) konsistent, und sei δ i der erste Default <strong>in</strong> der Aufzählung, beidem sich die beiden Mengen unterscheiden.• δ i ∈ scwa (∆,❁) (Φ), δ i ∉ ncwa (∆,❁) (Φ): Dann müßte ncwa (∆ ∗δi ,❁ δi )(Φ) ⊢ ¬δ gelten, aberandererseits ist aufgrund der M<strong>in</strong>imalitätsforderung ncwa (∆ ∗δi ,❁ δi )(Φ) ⊆ E i−1 , e<strong>in</strong> Widerspruchzur Konsistenz von Φ ∪ E i−1 ∪ {δ i }.• δ i ∉ scwa (∆,❁) (Φ), δ i ∈ ncwa (∆,❁) (Φ): Dann ist also Φ ∪ E i−1 ∪ {δ i } <strong>in</strong>konsistent. Da im<strong>in</strong>imal gewählt wurde, gilt aber Φ ∪ E i−1 ⊆ ncwa (∆,❁) (Φ). Dies ist e<strong>in</strong> Widerspruch zurKonsistenz von ncwa (∆,❁) (Φ).✷


116 KAPITEL 5. SEMANTIK VON DEFAULTSE<strong>in</strong> skeptischer Ansatz mit konstruktiven ExtensionenDie Probleme der starken CWA s<strong>in</strong>d <strong>in</strong> erster L<strong>in</strong>ie auf die willkürliche Auswahl e<strong>in</strong>erAufzählung δ 1 , δ 2 , . . . , δ n zurückzuführen. Es liegt daher nahe, nicht nur e<strong>in</strong>e solcheAufzählung zu betrachten, sondern alle möglichen (sofern sie mit ❁ verträglich s<strong>in</strong>d).Auf diese Weise erhält man also mehrere ”konstruktive Extensionen“, und kann nunz.B. den skeptischen Ansatz wählen, d.h. die Anfrage ψ muß aus allen solchen Extensionenfolgen.Def<strong>in</strong>ition 5.3.10 (Konstruktive Extension): E ⊆ ∆ ∗ heißt konstruktive (∆, ❁)-Extension von Φ genau dann, wenn es e<strong>in</strong>e mit ❁ verträgliche Aufzählung δ 1 , δ 2 , . . . , δ nvon ∆ ∗ gibt, so daß E = E n , wobei E 0 := ∅ und{Ei−1 ∪ {δE i :=i } falls Φ ∪ E i−1 ∪ {δ i } konsistent istsonst.E i−1Def<strong>in</strong>ition 5.3.11 (Konstruktive Implikation): Φ ⊢ cons(∆,❁)ψ genau dann, wenn fürjede konstruktive (∆, ❁)-Extension E von Φ gilt: Φ ∪ E ⊢ ψ.Nun stellt sich natürlich die Frage nach der Beziehung zwischen maximalen und konstruktiven(∆, ❁)-Extensionen. Es wird sich zeigen, daß jede konstruktive Extension auch e<strong>in</strong>emaximale Extension ist, während das Umgekehrte nicht gilt. Zum Vergleich der beidenBegriffe ist der folgende Satz nützlich, der e<strong>in</strong>e Charakterisierung konstruktiver Extensionenangibt, die der Def<strong>in</strong>ition von maximaler Extension sehr ähnlich ist:Satz 5.3.12:E ⊆ ∆ ∗ ist e<strong>in</strong>e konstruktive (∆, ❁)-Extension genau dann, wenn• Φ ∪ E konsistent ist und• für alle ∆ ′ ⊆ ∆ ∗ − E, ∆ ′ ≠ ∅ gibt es δ ′ 0 ∈ ∆ ′ , so daßBeweis:Φ ∪ {δ ∈ E | es gibt nicht δ ′ ∈ ∆ ′ mit δ ′ ❁ δ} ∪ {δ ′ 0}<strong>in</strong>konsistent ist.• Sei E e<strong>in</strong>e konstruktive Extension und δ 1 , δ 2 , . . . , δ n die entsprechende Aufzählung der<strong>Defaults</strong>. Nach Konstruktion ist Φ ∪ E konsistent. Sei nun ∆ ′′ ⊆ ∆ ∗ − E und i m<strong>in</strong>imalmit δ i ∈ ∆ ′ . Dann ist Φ ∪ E i−1 ∪ {δ i } <strong>in</strong>konsistent und e<strong>in</strong>e Teilmenge vonΦ ∪ {δ ∈ E | es gibt nicht δ ′ ∈ ∆ ′ mit δ ′ ❁ δ} ∪ {δ i }.Daher ist diese Menge auch <strong>in</strong>konsistent.• Nun erfülle E die im Satz angegebene Bed<strong>in</strong>gung. Es wird e<strong>in</strong>e topologische Sortierungδ 1 , δ 2 , . . . , δ n folgendermaßen konstruiert, um E i = E ∩ {δ 1 , . . . , δ i } zu garantieren:Zunächst sei die Folge leer und E 0 = ∅. Ist schon e<strong>in</strong> Anfangsstück δ 1 , δ 2 , . . . , δ i−1 gegeben,so sei e<strong>in</strong> Default δ i ∈ E ausgewählt, so daß Φ ∪ E i−1 ∪ {δ i } konsistent ist, oder e<strong>in</strong> Defaultδ i ∉ E, so daß Φ ∪ E i−1 ∪ {δ i } <strong>in</strong>konsistent ist. Zu zeigen ist, daß das immer möglich ist:Ist δ i ∈ E, so ist Φ ∪ E ∪ {δ i } konsistent, und nach der Induktionsannahme giltE i−1 ⊆ E, also ist Φ ∪ E i−1 ∪ {δ i } erst recht konsistent.


5.3. WEITERE SEMANTIKEN 117Angenommen, es ist ke<strong>in</strong> solcher Default auswählbar. Sei ∆ ′ die Menge der ❁-m<strong>in</strong>imalen Elemente von ∆ ∗ − {δ 1 , . . . , δ i−1 }, also die Menge der auswählbaren <strong>Defaults</strong>.Nach der Annahme ist ∆ ′ ⊆ ∆ ∗ − E, ∆ ′ ≠ ∅ und Φ ∪ E i−1 ∪ {δ i } konsistent für jedenDefault δ i ∈ ∆ ′ . Nach der Konstruktion gilt aberΦ ∪ {δ ∈ E | es gibt nicht δ ′ ∈ ∆ ′ mit δ ′ ❁ δ} ∪ {δ i } = Φ ∪ E i−1 ∪ {δ i }.Also ist die Bed<strong>in</strong>gung des Satzes verletzt im Widerspruch zur Voraussetzung.✷Der Unterschied ist also nur, daß hier schon e<strong>in</strong> e<strong>in</strong>ziger Default δ 0 ∈ ∆ ′ ausreichen muß,um die Inkonsistenz zu zeigen, während bei maximalen Extensionen die ganze Menge ∆ ′benutzt werden kann. Daraus folgt sofort:Korollar 5.3.13: Ist E ⊆ ∆ ∗ e<strong>in</strong>e konstruktive (∆, ❁)-Extension, so ist es auch e<strong>in</strong>emaximale (∆, ❁)-Extension.Das folgende Beispiel zeigt, daß die Umkehrung nicht gilt, der Begriff der konstruktivenExtension im allgeme<strong>in</strong>en also echt e<strong>in</strong>schränkender ist:Beispiel 5.3.14:Es sei wieder die Default-Spezifikation aus Beispiel 5.2.10 betrachtet:✓ ✏ ✓ ✏q p✒ ✑ ✒ ✑✓¬p✒✏✑✓¬q✒✏✑Sei nun Φ := {p ∨ q}. Da jede topologische Sortierung der <strong>Defaults</strong> mit ¬p oder ¬qbeg<strong>in</strong>nt, muß auch jede konstruktive Extension e<strong>in</strong>en dieser beiden <strong>Defaults</strong> enthalten,E := {p, q} ist also ke<strong>in</strong>e konstruktive Extension. Es ist aber e<strong>in</strong>e maximale Extension,denn im Gegensatz zu Beispiel 5.2.10 (Φ = ∅) kann nun ∆ ′ := {¬p, ¬q} nicht mehrkonsistent h<strong>in</strong>zugenommen werden.✷Natürlich ist der Begriff der konstruktiven Extension <strong>in</strong>tuitiv sehr e<strong>in</strong>fach, und man könntesich fragen, ob nicht die Def<strong>in</strong>ition von maximaler Extension entsprechend geändert werdensollte. Allerd<strong>in</strong>gs müßte man dann auch die Def<strong>in</strong>ition von ≺ (∆,❁) ändern, wenn manwünscht, daß die Extensionen weiterh<strong>in</strong> den m<strong>in</strong>imalen Modellen entsprechen. Das folgendeBeispiel zeigt, daß dies nicht möglich ist — es gibt ke<strong>in</strong>e Präferenzrelation auf denModellen, die zu den konstruktiven Extensionen paßt:Beispiel 5.3.15: Es sei dieselbe Default-Spezifikation wie im letzten Beispiel betrachtet.Tabelle 5.2 stellt die Auswahlfunktion der konstruktiven Implikation dar. Bei derkonstruktiven Implikation werden gerade die Modelle ausgewählt, die konstruktiven Extensionenentsprechen. Dies gilt auf jeden Fall für [p¯q], [¯pq] und [¯p¯q], denn man kann e<strong>in</strong>etopologische Sortierung wählen, <strong>in</strong> der gerade die <strong>in</strong> diesen Modellen gültigen <strong>Defaults</strong>zuerst kommen. Dagegen entspricht [pq] nur dann e<strong>in</strong>er maximalen Extension, wenne<strong>in</strong>er der beiden <strong>Defaults</strong> ¬p oder ¬q nicht angenommen werden kann (kann etwa ¬p


118 KAPITEL 5. SEMANTIK VON DEFAULTSΦ [pq] [p¯q] [¯pq] [¯p¯q] comp(Φ)falsefalse¬p, ¬q • ¬p, ¬q¬p, q • ¬p, q¬p • • ¬pp, ¬q • p, ¬q¬q • • ¬qp ↔ ¬q • • p ↔ ¬q¬p ∨ ¬q • • • ¬p ∨ ¬qp, q • p, qp ↔ q ◦ • ¬p, ¬qq • • q¬p ∨ q ◦ • • ¬pp • • pp ∨ ¬q ◦ • • ¬qp ∨ q ◦ • • p ↔ ¬qtrue ◦ • • • ¬p ∨ ¬qTabelle 5.2: Konstruktive Implikation bei partiell geordneten <strong>Defaults</strong>nicht angenommen werden, so wähle man die Aufzählung ¬p, q, ¬q, p). Die Modelle [pq]und [p¯q] müßten bei e<strong>in</strong>er passenden Ordnungsrelation unvergleichbar se<strong>in</strong>, ebenso [pq]und [¯pq]. Also ist [pq] auch <strong>in</strong> der Modellmenge {[pq], [p¯q], [¯pq]} m<strong>in</strong>imal, denn ke<strong>in</strong>es derbeiden anderen Modelle ist kle<strong>in</strong>er. Das ist aber e<strong>in</strong> Widerspruch zu den Überlegungenim vorangegangenen Beispiel, denn hier entspricht [pq] ke<strong>in</strong>er konstruktiven Extension.An diesen drei Modellmengen kann man auch sehen, daß die konstruktive Implikationnicht die Expansions-Eigenschaft hat, denn es gilt:sel ( {[pq], [p¯q]} ) ∩ sel ( {[pq], [¯pq]} ) = {[pq]} ⊈ sel ( {[pq], [p¯q], [¯pq]} ) = {[p¯q], [¯pq]}.Nicht e<strong>in</strong>mal die Abschwächung der Expansions-Eigenschaft, daß jedes ausgeschlosseneModell auch <strong>in</strong> e<strong>in</strong>em Zweiervergleich geschlagen werden muß, ist hier erfüllt (im Gegensatzdazu gilt diese Eigenschaft für die vorsichtige CWA).✷Diese Probleme treten aber erst bei partiell geordneten <strong>Defaults</strong> auf, bei Prioritätsstufengibt es ke<strong>in</strong>en Unterschied zwischen konstruktiven und maximalen Extensionen:Satz 5.3.16:Sei ❁ von e<strong>in</strong>er Stufene<strong>in</strong>teilung l abgeleitet, d.h. gelteδ 1 ❁ δ 2 ⇐⇒ l(δ 1 ) < l(δ 2 ).Dann ist jede maximale (∆, ❁)-Extension auch e<strong>in</strong>e konstruktive (∆, ❁)-Extension.Beweis: Es ist also wieder e<strong>in</strong>e Aufzählung der <strong>Defaults</strong> δ 1 , δ 2 , . . . , δ n zu konstruieren, die geradeE liefert. Diese Aufzählung muß natürlich zunächst alle <strong>Defaults</strong> der höchsten Prioritätsstufe 1enthalten, dann alle der Prioritätsstufe 2 und so weiter. Auf jeder Prioritätsstufe wählt man


5.3. WEITERE SEMANTIKEN 119nun zuerst die <strong>Defaults</strong> δ ∈ E aus, und erst danach die verbleibenen <strong>Defaults</strong> δ ∈ ∆ ∗ − E. DieseKonstruktion garantiert folgende Aussage (∗): ”Ist δ i ∉ E, dann ist δ i ❁ δ j für alle δ j ∈ E mitj > i.“Es wird nun zunächst gezeigt, daß wenn δ i ∉ E, dann Φ ∪ E i−1 ∪ {δ i } <strong>in</strong>konsistent ist,also δ i <strong>in</strong> der durch δ 1 , δ 2 , . . . , δ n gegebenen konstruktiven Extension nicht ausgewählt wird.Angenommen, dies würde nicht gelten. Dann sei der erste δ i ∉ E betrachtet, so daß Φ∪E i−1 ∪{δ i }konsistent ist. Dann gilt für ∆ ′ := {δ i } wegen (∗):Φ ∪ E i−1 ∪ {δ i } ⊇ Φ ∪ { δ ∈ E ∣ ∣ es gibt nicht δ ′ ∈ ∆ ′ mit δ ′ ❁ δ } ∪ ∆ ′ .Da die l<strong>in</strong>ke Seite konsistent ist, gilt dies auch für die rechte Seite im Widerspruch zur Voraussetzung,daß E e<strong>in</strong>e maximale Extension ist.Damit ist gezeigt, daß ke<strong>in</strong> Default konstruktiv ausgewählt wird, der nicht <strong>in</strong> E enthaltenist. Da aber Φ ∪ E konsistent ist, müssen die <strong>Defaults</strong> δ ∈ E ausgewählt werden.✷Oben wurde gezeigt, daß die konstruktive Implikation nicht die Expansions-Eigenschafthat. In dem folgenden Satz wird bewiesen, daß sie die übrigen hier betrachteten Eigenschaftenhat:Satz 5.3.17:⊢ cons(∆,❁)hat die Eigenschaften CON, CUM, DED, SCD und NCWA.Beweis:• (CON): Es gibt m<strong>in</strong>destens e<strong>in</strong>e konstruktive Extension und konstruktive Extensionen s<strong>in</strong>dkonsistent mit Φ.• (CUM): Gelte Φ ⊢ cons(∆,❁)ϕ, d.h. Φ ∪ E ⊢ ϕ für jede konstruktive (∆, ❁)-Extension E von Φ.Sei e<strong>in</strong>e beliebige Aufzählung δ 1 , δ 2 , . . . , δ n der <strong>Defaults</strong> gegeben. Zu zeigen ist, daß <strong>in</strong> Φund Φ ∪ {ϕ} dieselben <strong>Defaults</strong> ausgewählt werden. Angenommen, dies wäre nicht so, undbei δ i würde der erste Unterschied auftreten. Wegen Φ ∪ {ϕ} ∪ E i−1 ⊢ Φ ∪ E i−1 könntees höchstens se<strong>in</strong>, daß δ i <strong>in</strong> Φ ∪ {ϕ} nicht ausgewählt wird, wohl aber <strong>in</strong> Φ. Sei E dieentsprechende konstruktive Extension von Φ, es gilt dann also E i−1 ∪ {δ i } ⊆ E. Außerdemgilt Φ ∪ E ⊢ ϕ, also ist jedes Modell I von Φ ∪ E auch Modell von ϕ, und daher Modellvon Φ ∪ {ϕ} ∪ E i−1 ∪ {δ i }, diese Menge ist also konsistent und δ i wird auch <strong>in</strong> Φ ∪ {ϕ}ausgewählt.• (DED): Gelte Φ ∪ {ϕ} ⊢ cons(∆,❁)ψ. Angenommen, Φ ⊬cons(∆,❁)ϕ → ψ, es gäbe also e<strong>in</strong>ekonstruktive (∆, ❁)-Extension E von Φ, so daß Φ ∪ E ⊬ ϕ → ψ, d.h. für e<strong>in</strong> Modell Ivon Φ ∪ E gilt I |= ϕ und I ̸|= ψ. Es wird nun gezeigt, daß E auch e<strong>in</strong>e konstruktiveExtension von Φ ∪ {ϕ} ist:Man betrachte dieselbe Aufzählung der <strong>Defaults</strong>, das Ergebnis sei E ′ . Angenommen,bei δ i würde der erste Unterschied auftreten. Ist δ i ∈ E, so gilt I |= Φ∪{ϕ}∪E∪{δ i }, also istΦ∪{ϕ}∪E ′ i−1 ∪{δ i} konsistent, d.h. δ i ∈ E ′ . Ist umgekehrt δ i ∈ E ′ , d.h. Φ∪{ϕ}∪E ′ i−1 ∪{δ i}konsistent, so ist natürlich auch die Teilmenge Φ ∪ E ′ i−1 ∪ {δ i} konsistent, d.h. δ i ∈ E.• (SCD): Ist e<strong>in</strong> Modell I <strong>in</strong>tendiert, d.h. ist es Modell e<strong>in</strong>er konstruktiven Extension E,so ist natürlich jedes Modell, das m<strong>in</strong>destens dieselben <strong>Defaults</strong> erfüllt, ebenfalls Modellvon E, also auch <strong>in</strong>tendiert.• (NCWA): Wenn die naive CWA konsistent ist, gibt es bis auf Äquivalenz nur e<strong>in</strong> m<strong>in</strong>imalesModell. Da jedes Modell e<strong>in</strong>er konstruktiven Extension m<strong>in</strong>imal ist, und zwei verschie-


120 KAPITEL 5. SEMANTIK VON DEFAULTSdene konstruktive Extensionen unverträglich s<strong>in</strong>d, gibt es also auch nur e<strong>in</strong>e konstruktiveExtension, die gerade mit der naiven CWA übere<strong>in</strong>stimmt.✷Die konstruktiven Extensionen wurden <strong>in</strong> [Bre91] e<strong>in</strong>geführt, die Sätze und Beispiele diesesAbschnittes s<strong>in</strong>d neu.5.4 ZusammenfassungEs sollen jetzt die wichtigsten Ergebnisse dieses Kapitels noch e<strong>in</strong>mal tabellarisch zusammengestelltwerden.Garantierte EigenschaftenMan wird von e<strong>in</strong>er guten Default-Semantik erwarten, daß sie grundlegende Eigenschaftenwie Konsistenzerhaltung und Kumulierung für beliebige Default-Spezifikationen (∆, ❁)garantieren kann. Solche Eigenschaften verh<strong>in</strong>dern Überraschungen bei E<strong>in</strong>fügungenund Löschungen von Axiomen, da das Ergebnis häufig schon aufgrund dieser Eigenschaftenvorhersehbar ist. Andererseits gibt es Anwendungen, die e<strong>in</strong>e Verletzung derDeduktions-Eigenschaft erfordern, garantierte Eigenschaften führen also immer zu e<strong>in</strong>erE<strong>in</strong>schränkung der Ausdrucksfähigkeit. In der folgenden Tabelle bedeutet •“, daß für”jede Default-Spezifikation (∆, ❁) die zugehörige Vervollständigung die betreffende Eigenschafthat:Eigenschaften von Default-Semantikenm<strong>in</strong> (∆,❁) cwa (∆,❁) ncwa (∆,❁) mcwa (∆,❁) scwa (∆,❁) ⊢ cons(∆,❁)CON • • — • • •CUM • • — • • •DED • — • — • •DDIS • • • — • •EXP • — • • • —SCD • • • • • •NCWA • • • • • •Stärke der VervollständigungMan kann auch die Stärke der Vervollständigung für dieselbe Default-Spezifikation vergleichenund erhält folgende Hierarchie:Stärke von Default-Semantikenmcwa (∆,❁) =⇒ cwa (∆,❁) =⇒ m<strong>in</strong> (∆,❁) =⇒ ⊢ cons(∆,❁) =⇒ scwa (∆,❁)=⇒ ncwa (∆,❁)


5.4. ZUSAMMENFASSUNG 121Dies ist so zu lesen, daß wenn e<strong>in</strong>e Anfrage bezüglich e<strong>in</strong>er weiter l<strong>in</strong>ks stehenden Vervollständigungmit ”Ja“ beantwortet wird, sie dann erst recht bezüglich e<strong>in</strong>er weiter rechtsstehenden Vervollständigung mit ”Ja“ beantwortet wird. Die Vervollständigungs-Stärkewächst also von l<strong>in</strong>ks nach rechts.Allzu starke Vervollständigungen s<strong>in</strong>d nicht zur Darstellung von unvollständiger Informationgeeignet, allzu schwache Vervollständigungen überraschen den Benutzer mitunerwarteten ”Wissenslücken“.Charakterisierungen von Default-SemantikenCharakterisierungen heben e<strong>in</strong>zelne Default-Semantiken aus der Masse der Möglichkeitenhervor. Man will ja nicht e<strong>in</strong>e ganz zufällige Semantik. Die folgenen Charakterisierungenbesagen, daß die betrachteten Semantiken gerade extremal mit bestimmten Eigenschaftens<strong>in</strong>d. Hält man z.B. die NCWA-Eigenschaft und die Deduktions-Eigenschaft für s<strong>in</strong>nvollund will sich ansonsten ke<strong>in</strong>e Modelle unbegründet ausscheiden, so bekommt man geradedie ”m<strong>in</strong>imale Modelle“ Semantik.Charakterisierungen über Eigenschaften und Vervollständigungsstärkencwa (∆,❁) Stärkste Vervollständigung mit NCWAscwa (∆,❁) E<strong>in</strong>e stärkste Vervollständigung mit NCWA, CON, CD⊢ cons(∆,❁)?m<strong>in</strong> (∆,❁) Schwächste Vervollständigung mit NCWA, DEDcwa (∆,❁) Schwächste Vervollständigung mit NCWA, DDISmcwa (∆,❁) Schwächste Vervollständigung mit NCWAGibt es auch e<strong>in</strong>e entsprechende Charakterisierung für die kon-Offene Frage 5.4.1:struktive Implikation?AusdrucksfähigkeitDie <strong>in</strong> den Anwendungen benötigten Vervollständigungen sollten natürlich auch durchgeeignete Default-Spezifikationen dargestellt werden können. Gesucht s<strong>in</strong>d also Charakterisierungendes Wertebereichs e<strong>in</strong>er Default-Semantik, oder Vergleiche zwischen denWertebereichen zweier Semantiken. E<strong>in</strong>e obere Schranke für die Menge der darstellbarenVervollständigungen ist dabei durch die garantierten Eigenschaften (s.o.) gegeben: es istmit Sicherheit ke<strong>in</strong>e Vervollständigung darstellbar, die e<strong>in</strong>e dieser Eigenschaften verletzt.In dieser Arbeit konnte nur der Bereich der mit ”m<strong>in</strong>imalen Modellen“ darstellbarenVervollständigungen charakterisiert werden:Charakterisierungen der Ausdrucksfähigkeit über Eigenschaftenm<strong>in</strong> (∆,❁)CON, CUM, DED, EXP


122 KAPITEL 5. SEMANTIK VON DEFAULTSFür die übrigen Klassen von Vervollständigungen ist zu vermuten, daß hier wesentlichkompliziertere Eigenschaften benötigt werden. Es wäre aber auch e<strong>in</strong> (nichttrivialer)Algorithmus nützlich, der aus e<strong>in</strong>er als Tabelle gegebenen Vervollständigung die passenden<strong>Defaults</strong> konstruiert, soweit möglich.Schließlich kann man auch die mit den verschiedenen Default-Semantiken darstellbarenVervollständigungen vergleichen. Hier gelten folgende Inklusionen:Vergleich der Ausdrucksfähigkeit|m<strong>in</strong>| ⊂ |cwa||m<strong>in</strong>| ⊂ | ⊢ cons ||mcwa| ⊂ |cwa||scwa| ⊂ |m<strong>in</strong>|Dabei sei |x| die Menge der mit der Default-Semantik x darstellbaren Vervollständigungen(für beliebiges ∆, ❁).Natürlich besagt das nicht, daß die Umrechnung zwischen den Default-Spezifikationenfür diese Semantiken besonders e<strong>in</strong>fach ist. Wenn man etwa mit der vorsichtigen CWA diem<strong>in</strong>imalen Modelle simulieren will, so muß man alle Disjunktionen von <strong>Defaults</strong> e<strong>in</strong>führen.Trotzdem geben solche Inklusionen e<strong>in</strong>en H<strong>in</strong>weis auf die Mächtigkeit der Ansätze.WertungWelche Semantik ist also nach den bisherigen Erkenntnissen die beste? Natürlich hängtdas letztlich von der Anwendung ab, aber man kann doch e<strong>in</strong>ige H<strong>in</strong>weise geben:Die ”m<strong>in</strong>imale Modelle“-Semantik kann viele nützliche Eigenschaften garantieren undauf verschiedene Arten charakterisiert werden, sie ist also sicher nicht e<strong>in</strong>e zufällige Semantik.Sie wäre wohl die erste Wahl, wenn die Anwendung es zuläßt.Die vorsichtige CWA sche<strong>in</strong>t für e<strong>in</strong>ige Anwendungen nötig zu se<strong>in</strong>, die e<strong>in</strong>e stärkereAuslöschung sich gegenseitig blockierender <strong>Defaults</strong> verlangen. Hier zahlt sich aus, daßdie vorsichtige CWA echt ausdrucksstärker ist als die ”m<strong>in</strong>imale Modelle“-Semantik.Darüberh<strong>in</strong>aus kann sie e<strong>in</strong>ige Eigenschaften garantieren und hat auch e<strong>in</strong>e e<strong>in</strong>fache Charakterisierung.Sie ist aber wohl noch nicht ganz so gut verstanden wie die ”m<strong>in</strong>imaleModelle“-Semantik, weitere Untersuchungen wären nützlich.Die naive CWA scheidet wegen der Probleme mit der Konsistenzerhaltung aus. Fallsman aufgrund der möglichen Axiomenmengen garantieren kann, daß sie konsistent ist,fällt sie ohneh<strong>in</strong> mit allen anderen Sematiken zusammen.Die modifizierte CWA sche<strong>in</strong>t für praktische Zwecke zu schwach zu se<strong>in</strong>, außerdemerfüllt sie nicht die <strong>in</strong>tuitiv recht e<strong>in</strong>leuchtende Eigenschaft DDIS (als e<strong>in</strong>zige von denbetrachteten Vervollständigungen).Die starke CWA ist zur Darstellung unvollständiger Information ungeeignet, sie ziehtauch <strong>Defaults</strong> <strong>in</strong> e<strong>in</strong>er für den Benutzer überraschenden Weise vor.


5.4. ZUSAMMENFASSUNG 123Die konstruktive Implikation fällt bei Prioritätsstufen mit der ”m<strong>in</strong>imale Modelle“-Semantik zusammen. Bei partiell geordneten <strong>Defaults</strong> verletzt sie jedoch die Expansions-Eigenschaft. Ihr Vorteil ist natürlich die <strong>in</strong>tuitiv sehr e<strong>in</strong>fache konstruktive Def<strong>in</strong>ition.Dafür sollte man aber nicht die regelmäßigere Struktur der m<strong>in</strong>imalen Modelle opfern.


124


Kapitel 6Berechnung von AntwortenIn diesem Kapitel sollen nun Algorithmen für die Anfrageauswertung entwickelt werden.Im Unterschied zu den aus der Literatur bekannten Verfahren werden hier allgeme<strong>in</strong>eKlauseln und benutzerspezifizierbare <strong>Defaults</strong> zugelassen (anstelle von Hornklauseln mitimpliziter Negation).Für die Semantik der <strong>Defaults</strong> werden drei Alternativen betrachtet, die den verschiedenenVorgehensweisen bei mehreren Extensionen entsprechen: Die m<strong>in</strong>imale Modelle“-”Semantik ist äquivalent zum skeptischen Ansatz, die vorsichtige CWA ist gerade dervorsichtige Ansatz und der leichtgläubige Ansatz wird als Unterprogramm benötigt.In der Literatur s<strong>in</strong>d im wesentlichen zwei Klassen von Verfahren zur Anfrageauswertungvorgeschlagen worden: Die bottom-up“ Verfahren werden bei <strong>deduktiven</strong> <strong>Datenbanken</strong>verwendet, top-down“ Verfahren <strong>in</strong> der logischen Programmierung. Beide””Vorgehensweisen haben ihre Vorteile: bottom-up“ Verfahren s<strong>in</strong>d mengenorientiert und”kommen daher ohne Doppelarbeit aus, top-down“ Verfahren gehen zielgerichtet vor und”vermeiden überflüssige Arbeit.E<strong>in</strong>e Verallgeme<strong>in</strong>erung dieser Verfahren auf allgeme<strong>in</strong>e Klauseln ist nicht schwer:Wenn man sich <strong>in</strong> der Literatur zum automatischen Beweisen“ umsieht, stellt man fest,”daß das bottom-up“ Verfahren e<strong>in</strong> Spezialfall der positiven Hyperresolution ist, während”die SLD-Resolventenmethode von Prolog auf der OL-Resolution basiert. Allerd<strong>in</strong>gs mußfür die Hyperresolution noch e<strong>in</strong>e mengenorientierte Implementierung entwickelt werden,und bei der OL-Resolution s<strong>in</strong>d noch Überlegungen zur Term<strong>in</strong>ierung anzustellen.Mehr Mühe machen die allgeme<strong>in</strong>en (benutzerspezifizierbaren) <strong>Defaults</strong>. Natürlichkönnte man im Pr<strong>in</strong>zip e<strong>in</strong>fach die maximalen Extensionen konstruieren, aber diesesVerfahren würde zu e<strong>in</strong>em enormen Aufwand führen. E<strong>in</strong>er der Gründe, <strong>Defaults</strong> e<strong>in</strong>zuführen,war ja gerade die Speicherplatz-Ökonomie, da die Anzahl der angenommenenDefault-Ausprägungen die der nicht angenommenen bei weitem übersteigt.Statt dessen werden hier Begründungen“ für Antworten berechnet, also Mengen von”<strong>Defaults</strong>, die zur Rechtfertigung e<strong>in</strong>er Antwort nötig s<strong>in</strong>d. Es ist dann natürlich nochzu überprüfen, ob die entsprechenden <strong>Defaults</strong> wirklich angenommen werden können.Dies geschieht, <strong>in</strong>dem widersprechende Begründungen“ berechnet werden, also Konflikte,”an denen die betrachteten <strong>Defaults</strong> beteiligt s<strong>in</strong>d. Insgesamt hat man also e<strong>in</strong>en sehr125


126 KAPITEL 6. BERECHNUNG VON ANTWORTENzielgerichteten Umgang mit den <strong>Defaults</strong>.Es ist noch zu bemerken, daß dies etwa bei der naiven CWA oder der modifiziertenCWA nicht möglich wäre. Dort kann die Konsistenz ja auch durch <strong>Defaults</strong> zerstört werden,die ke<strong>in</strong>e Beziehung zur Anfrage haben. Interessant wäre also sicher e<strong>in</strong>e allgeme<strong>in</strong>eTheorie der Antwort-Algorithmen, die etwa zeigt, daß bestimmte Default-Semantikenpr<strong>in</strong>zipiell e<strong>in</strong>facher zu berechnen s<strong>in</strong>d als andere.6.1 Bottom-UpIn diesem Abschnitt wird e<strong>in</strong>e bottom-up“ Methode zur Anfrageauswertung bei allgeme<strong>in</strong>enKlauseln und expliziten <strong>Defaults</strong> e<strong>in</strong>geführt. Das Verfahren läuft <strong>in</strong> zwei Phasen ab:”Zuerst werden mit e<strong>in</strong>em Resolventenverfahren Folgerungen aus den gegebenen Faktenund Regeln gebildet. Dies liefert e<strong>in</strong>erseits mögliche Antworten mit ihren Begründungen,und andererseits Konflikte zwischen den <strong>Defaults</strong>. Aus diesen Informationen werdendann <strong>in</strong> der zweiten Phase die korrekten Antworten berechnet, was im Normalfall durche<strong>in</strong>faches Nachschauen <strong>in</strong> den zuvor berechneten Tabellen erfolgen kann.Diese Zweiteilung ist auch deswegen naheliegend, weil man zur Anwendung der <strong>Defaults</strong>ja sicher se<strong>in</strong> muß, daß ihr Gegenteil nicht mehr abgeleitet werden kann. Da allerelevanten Folgerungen bereits <strong>in</strong> der ersten Phase berechnet wurden, steht diese Informationdann <strong>in</strong> der zweiten Phase zur Verfügung.Im folgenden ist zwischen den algorithmischen Grundlagen und der mengenorientiertenImplementierung zu unterscheiden. Die Grundlagen werden formal def<strong>in</strong>iert undbewiesen, die Implementierung wird dagegen nur an Beispielen demonstriert.Dieser Abschnitt basiert auf der Arbeit [BL92], allerd<strong>in</strong>gs kann die Methode hierwesentlich ausführlicher dargestellt werden. Für die mengenorientierte Implementierungwerden hier flache Relationen verwendet, <strong>in</strong> [BL92] aber geschachtelte Relationen. Esbietet sich also an, die betreffenden Abschnitte der beiden Arbeiten zu vergleichen.E<strong>in</strong>gaben der AnfrageauswertungDie Anfrageauswertung benutzt natürlich die Axiome Φ, die <strong>Defaults</strong> ∆ und e<strong>in</strong>e Anfrageψ. Wie <strong>in</strong> Kapitel 2 erläutert wurde, kann vorausgesetzt werden, daß die zugrundeliegendeSignatur Σ endlich ist.Die hier betrachteten Resolutionsbeweiser arbeiten allerd<strong>in</strong>gs nur mit Klauseln. Eswird daher die <strong>in</strong> Kapitel 2 e<strong>in</strong>geführte Normalform verwendet, d.h. Φ wird um die Regelnanswer(X 1 , . . . , X n ) ← ψ,δ ← default δ (X 1 , . . . , X n )erweitert, wobei answer und die default δ (δ ∈ ∆) neue Prädikate s<strong>in</strong>d, deren Argumentsortenzu den <strong>in</strong> ψ bzw. δ auftretenden Variablen X 1 , . . . , X n passen. Die so erweiterteSignatur heiße ¯Σ.


6.1. BOTTOM-UP 127Die erweiterte Axiomenmenge ist natürlich immer noch ke<strong>in</strong>e Klauselmenge, aber siekann mit dem <strong>in</strong> Kapitel 2 angegebenen Verfahren <strong>in</strong> e<strong>in</strong>e logisch äquivalente Klauselmenge¯Φ überführt werden.Im folgenden sei answer[θ] das zur Substitution θ für die Antwortvariablen X 1 , . . . , X ngehörige Literal der Formanswer(X 1 , . . . , X n )θ.Entsprechend sei default[δ] das zur Default-Ausprägung δ ∈ ∆ ∗ gehörige Literal.Die Umrechnung zwischen beiden Signaturen ist mit folgenden Lemmata möglich:Lemma 6.1.1:Sei Ī e<strong>in</strong> ¯Σ-Herbrandmodell von ¯Φ und I ihr Σ-Redukt.• Ī |= default[δ] =⇒ I |= δ.• Ī ̸|= answer[θ] =⇒ I ̸|= ψθ.Beweis:• E<strong>in</strong> Grundbeispiel der neuen Regeln ist δ ← default[δ]. Da Ī diese Implikation erfüllenmuß und außerdem e<strong>in</strong> Modell von default[δ] ist, muß es natürlich auch δ erfüllen.• Diese Behauptung folgt aus Ī |= answer[θ] ← ψθ.✷Lemma 6.1.2: Sei I e<strong>in</strong> Σ-Herbrandmodell von Φ. Dann gibt es e<strong>in</strong> ¯Σ-Herbrandmodell Īvon ¯Φ mit• Ī |= answer[θ] ⇐⇒ I |= ψθ für alle Antwortsubstitutionen θ, und• Ī |= default[δ] ⇐⇒ I |= δ für alle δ ∈ ∆∗ .Beweis:Ī sei die ¯Σ-Erweiterung von I mit(c 1 , . . . , c n ) ∈ Ī [answer ] :⇐⇒ I |= ψ〈X 1 ⊳ c 1 , . . . , X n ⊳ c n 〉,(c 1 , . . . , c n ) ∈ Ī [default δ0] :⇐⇒ I |= δ 0 〈X 1 ⊳ c 1 , . . . , X n ⊳ c n 〉,wobei X 1 , . . . , X n gerade die <strong>in</strong> ψ bzw. δ 0 vorkommenden Variablen s<strong>in</strong>d. Die Behauptung folgtdann direkt aus der Konstruktion.✷Die klassische ”bottom-up“ MethodeEs soll zunächst die bottom-up“ Auswertung für Hornklauseln beschrieben werden, die”dann auf beliebige Klauseln zu verallgeme<strong>in</strong>ern ist.Bei der bottom-up“ Auswertung ist die Unterscheidung zwischen Fakten (positiven”Grundliteralen) und Regeln wesentlich: Die Fakten werden <strong>in</strong> der Datenbank abgespeichert,während die Regeln benutzt werden, um neue Fakten abzuleiten. Bei <strong>deduktiven</strong><strong>Datenbanken</strong> geht man normalerweise davon aus, daß wesentlich mehr Fakten als Regelnzu verwalten s<strong>in</strong>d.Sei also ¯Φ unterteilt <strong>in</strong> Fakten Φ F und Regeln Φ R . Man berechnet nun iterativ dieMenge ˆΦ der implizierten Fakten, beg<strong>in</strong>nend mit ˆΦ 0 := Φ F . Die Hornklausel-Regelnkönnen <strong>in</strong> der Formλ 0 ← λ 1 ∧ · · · ∧ λ n


128 KAPITEL 6. BERECHNUNG VON ANTWORTENgeschrieben werden, wobei alle λ j positive Literale s<strong>in</strong>d. E<strong>in</strong>e solche Regel wird angewendet,<strong>in</strong>dem für die ”Rumpf-Literale“ λ 1 , . . . , λ n passende Fakten aus ˆΦ i−1 e<strong>in</strong>gesetztwerden, und dann das entsprechende Faktum für das ”Kopf-Literal“ λ 0 <strong>in</strong> ˆΦ i e<strong>in</strong>getragenwird:ˆΦ i := ˆΦ i−1 ∪ { λ 0 θ ∣ ∣ es gibt λ 0 ← λ 1 ∧ · · · ∧ λ n ∈ Φ R und λ 1 θ, . . . , λ n θ ∈ ˆΦ i−1}.E<strong>in</strong> Beispiel wäre etwa:p(a)✎ ↑p(X) ← q 1 (X) ∧ q 2 (X, Y ).✍↑ ↑q 1 (a) q 2 (a, b)E<strong>in</strong>e Implementierung mit Datenbank-Techniken würde natürlich die Menge aller mitdieser Regel aus ˆΦ i−1 ableitbaren Fakten <strong>in</strong> e<strong>in</strong>em Schritt berechnen.Die Berechnung der ”direkt implizierten Fakten“ wird nun solange iteriert, bis sichnichts mehr ändert (ˆΦ i = ˆΦ i−1 ). Dann sei ˆΦ := ˆΦ i . Aufgrund der Bereichsbeschränkungentstehen bei dieser Berechnung auch nur Fakten (also nicht etwa Literale mit Variablen),so daß ˆΦ sehr e<strong>in</strong>fach <strong>in</strong> der Datenbank repräsentiert werden kann. Außerdem enthaltendiese Fakten nur <strong>in</strong> Φ vorkommende Konstanten, so daß die Term<strong>in</strong>ierung sichergestelltist.Es gibt nun noch viele Fe<strong>in</strong>heiten oder Optimierungen bei der Berechnung, die hiernur kurz angedeutet werden können. Für e<strong>in</strong>e genauere Behandlung sei auf [BR86, Ull88,Ull89, CGT90, Gog90] verwiesen.Zunächst wird die Berechnung der Fakten, die auf e<strong>in</strong>er Iterationsstufe h<strong>in</strong>zu gekommens<strong>in</strong>d, auf jeder folgenden Stufe wiederholt, denn die verwendeten Rumpf-Literale s<strong>in</strong>dauch <strong>in</strong> den späteren ˆΦ i enthalten. Aus diesem Grund heißt die beschriebene Methodedie ”naive Auswertung“. Ziel der ”semi-naiven Auswertung“ ist es nun, nur neue Fakten,d.h. ˆΦ i − ˆΦ i−1 zu berechnen. Dafür darf natürlich nicht diese Mengendifferenz verwendetwerden, dann hätte man ja nichts gewonnen. E<strong>in</strong>e e<strong>in</strong>fache Verbesserung ist es, nache<strong>in</strong>anderfür jedes Rumpf-Literal nur <strong>in</strong> ˆΦ i−1 neu h<strong>in</strong>zugekommene Fakten e<strong>in</strong>zusetzen. Diesliefert jedoch nicht notwendigerweise nur neue Fakten (vgl. z.B. p(X) ← p(X)), und fürdie anderen Literale werden immer noch Berechnungen wiederholt.Im wesentlichen wird die Berechnung von ˆΦ i für jedes Prädikat oder sogar jede Regele<strong>in</strong>zeln durchgeführt. Es ist natürlich nicht nötig, alle Regeln nache<strong>in</strong>ander immer wiederzu iterieren. Um e<strong>in</strong>e passende Reihenfolge festzulegen, konstruiert man den Abhängigkeitsgraphender Regeln, wobei e<strong>in</strong>e Regel der Formp(. . .) ← q 1 (. . .) ∧ · · · ∧ q n (. . .)von jeder Regel abhängig ist, bei der e<strong>in</strong> q i im Kopf vorkommt. Im e<strong>in</strong>fachsten Falle<strong>in</strong>er nicht-rekursiven Regelmenge braucht man jede Regel nur e<strong>in</strong> e<strong>in</strong>ziges Mal anzuwenden,wenn man e<strong>in</strong>e topologische Sortierung dieses Graphen verwendet. Bei Rekursionenbraucht man entsprechend nur die an e<strong>in</strong>em Zyklus beteiligten Regeln zu iterieren.☞✌


6.1. BOTTOM-UP 129E<strong>in</strong>fache HyperresolutionZiel ist es nun, diese Methode auf beliebige Klauseln zu verallgeme<strong>in</strong>ern. Dies liefertgerade die Hyperresolution oder semantische Resolution (zur Vere<strong>in</strong>fachung wird hierzunächst e<strong>in</strong>e Optimierung weggelassen, s.u.).Die Grundidee der Verallgeme<strong>in</strong>erung ist, anstelle der Fakten nun ”disjunktive Fakten“zu verwenden, d.h. positive Grundklauseln. Der Ableitungsschritt wird wie bisherdurchgeführt, <strong>in</strong>dem für die Rumpf-Literale Fakten e<strong>in</strong>gesetzt werden, allerd<strong>in</strong>gs hat jedesFaktum jetzt möglicherweise e<strong>in</strong>en ”disjunktiven Kontext“. Dieser Kontext wird e<strong>in</strong>fachan die Disjunktion angehängt, die sich aus den Kopf-Literalen ergibt:✎✍p(a) ∨ p(b) ∨ r(c) ✛↑ ↑☞p(X) ∨ p(Y ) ← q 1 (X) ∧ q 2 (X, Y ).✌↑ ↑q 1 (a) q 2 (a, b) ∨ r(c)Die folgende Def<strong>in</strong>ition beschreibt die Umrechnung von der Darstellung e<strong>in</strong>er Klausel alsMenge (Disjunktion) von Literalen <strong>in</strong> Regeln, wie sie von der Hyperresolution verwendetwerden. Formal ist die Def<strong>in</strong>ition etwas aufwendiger, weil nun auch die verschiedenenArten von Prädikatsymbolen zu berücksichtigen s<strong>in</strong>d. Man beachte, daß sich die Begriffe” positives Literal“ und negatives Literal“ auf die Darstellung als Disjunktion beziehen”(wie <strong>in</strong> Kapitel 2 def<strong>in</strong>iert):Def<strong>in</strong>ition 6.1.3 (Klassifizierung von Literalen):• E<strong>in</strong> auswertbares Literal ist e<strong>in</strong> Literal mit e<strong>in</strong>em Datentyp-Prädikat p ∈ P D .• E<strong>in</strong> Kopf-Literal ist e<strong>in</strong> nicht auswertbares Literal, und zwar entweder- e<strong>in</strong> positives Literal, für dessen Prädikat β(p) = + oder β(p) = ∗ gilt, oder- e<strong>in</strong> negatives Literal mit negativ b<strong>in</strong>dendem Prädikat (β(p) = −).E<strong>in</strong> variablenfreies Kopf-Literal wird auch Faktum genannt.• E<strong>in</strong> Rumpf-Literal ist e<strong>in</strong> nicht auswertbares Literal, das ke<strong>in</strong> Kopf-Literal ist.Def<strong>in</strong>ition 6.1.4 (Fakten und Regeln):• disjunktives Faktum, wenn sie nur aus Fakten besteht.• Regel, wenn sie m<strong>in</strong>destens e<strong>in</strong> Rumpf-Literal enthält.E<strong>in</strong>e bereichsbeschränkte Klausel heißtMan beachte, daß diese Unterscheidung vollständig ist, weil e<strong>in</strong>e bereichsbeschränkteKlausel mit Variablen m<strong>in</strong>destens e<strong>in</strong> Rumpf-Literal enthalten muß (Kopf-Literale wirkennicht b<strong>in</strong>dend). Außer dieser Unterscheidung <strong>in</strong> Klauseln mit und ohne Variablenist aber noch e<strong>in</strong> zweiter Aspekt wichtig: Die zu def<strong>in</strong>ierende Resolventenmethode wirdgerade Fakten und Regeln mite<strong>in</strong>ander resolvieren, aber niemals Fakten mit Fakten oderRegeln mit Regeln. Diese Zweiteilung der Klauseln funktioniert dann, wenn es e<strong>in</strong>e In-


130 KAPITEL 6. BERECHNUNG VON ANTWORTENterpretation I gibt, <strong>in</strong> der die Fakten falsch und die Regeln wahr s<strong>in</strong>d [CL73] (deswegenheißt e<strong>in</strong>e solche Resolventenmethode auch semantische Resolution“).”Aufgrund der E<strong>in</strong>schränkung, daß Fakten ke<strong>in</strong>e Variablen enthalten sollen, hat manbei positiv und negativ b<strong>in</strong>denden Prädikaten ke<strong>in</strong>e Wahl: I muß die positiv b<strong>in</strong>dendenPrädikate als falsch und die negativ b<strong>in</strong>denden als wahr <strong>in</strong>terpretieren (wenn man beliebigeAxiomenmengen Φ zuläßt). Bei den nicht b<strong>in</strong>denden Prädikaten könnte dagegen e<strong>in</strong>ebeliebige Interpretation gewählt werden. Oben wurden sie zur technischen Vere<strong>in</strong>fachungwie positiv b<strong>in</strong>dende Prädikate behandelt, aber <strong>in</strong> speziellen Fällen könnte e<strong>in</strong>e andereWahl günstiger se<strong>in</strong>. Ziel sollte es dabei se<strong>in</strong>, möglichst viele der vorgegebenen Axiome Φals Fakten behandeln zu können, und nur wenige Regeln zu haben.Datentyp-Prädikate können bei der Regelanwendung gleich ausgewertet werden, daihre Interpretation durch I D e<strong>in</strong>deutig bestimmt ist und die Variablen anderweitig gebundens<strong>in</strong>d.Def<strong>in</strong>ition 6.1.5 (E<strong>in</strong>fache Hyperresolution): Sei Φ F e<strong>in</strong>e Menge von disjunktivenFakten und Φ R e<strong>in</strong>e Menge von Regeln. E<strong>in</strong> disjunktives Faktum ˆϕ heißt aus Φ F ∪ Φ Rmit e<strong>in</strong>facher Hyperresolution direkt ableitbar, wenn es• e<strong>in</strong>e Regel λ H 1 ∨· · ·∨λ H n ← λ B 1 ∧· · ·∧λ B m ∧λ E 1 ∧· · ·∧λ E m ′ ∈ Φ R mit Kopf-Literalen λ H ,Rumpf-Literalen ∼ λ B und auswertbaren Literalen ∼ λ E• e<strong>in</strong>e Grundsubstitution θ für diese Regel, und• disjunktive Fakten der Form λ B i θ ∨ λ C i,1 ∨ · · · ∨ λ C i,k i∈ Φ F (i = 1, . . . , m)gibt, so daß• I D |= λ E j θ für j = 1, . . . , m ′ , und• ˆϕ = λ H 1 θ ∨ · · · ∨ λ H n θ ∨ λ C 1,1 ∨ · · · ∨ λ C 1,k 1∨ · · · ∨ λ C m,1 ∨ · · · ∨ λ C m,k m.Def<strong>in</strong>ition 6.1.6 (ableitbar): E<strong>in</strong> disjunktives Faktum ˆϕ heißt aus Φ F ∪ Φ R mite<strong>in</strong>facher Hyperresolution ableitbar, wenn für ˆΦ 0 := Φ F ,ˆΦ i := ˆΦ i−1 ∪ { ˆϕ ′ | ˆϕ ′ ist aus ˆΦ i−1 ∪ Φ R direkt ableitbar}und e<strong>in</strong> i ∈ IN gilt: ˆϕ ∈ ˆΦ i .Es ist jetzt die Korrektheit und Vollständigkeit dieser Resolventenmethode zu zeigen. ImGegensatz zur üblichen Vollständigkeitsaussage [CL73], die sich nur auf die leere Klauselbezieht, wird hier die Vollständigkeit für m<strong>in</strong>imale disjunktive Fakten benötigt.Es sei noch daran er<strong>in</strong>nert, daß bei e<strong>in</strong>gebauten Prädikaten aus P D natürlich auchbei der logischen Folgerung nur solche Modelle betrachtet werden, die mit I D kompatibels<strong>in</strong>d. So gilt etwa ∅ ⊢ (2 = 1 + 1).Lemma 6.1.7:Ist ˆϕ mit e<strong>in</strong>facher Hyperresolution aus ¯Φ ableitbar, so gilt ¯Φ ⊢ ˆϕ.Beweis: Dies ergibt sich ganz direkt mit vollständiger Induktion über der Länge der Ableitung,d.h. über dem Index i von ˆΦ i . Hat man e<strong>in</strong> Modell der verwendeten disjunktiven Fakten, dasaußerdem die Regel und die auswertbaren Literale erfüllt, so muß dieses Modell natürlich auchdas abgeleitete disjunktive Faktum erfüllen.✷


6.1. BOTTOM-UP 131Lemma 6.1.8: Sei ˆϕ e<strong>in</strong> disjunktives Faktum mit ¯Φ ⊢ ˆϕ, das m<strong>in</strong>imal mit dieserEigenschaft ist (d.h. ke<strong>in</strong>e echte Teildisjunktion folgt auch aus ¯Φ). Dann ist ˆϕ aus ¯Φ mite<strong>in</strong>facher Hyperresolution ableitbar.Beweis: Zunächst wird die Behauptung für Mengen ¯Φ von Grundklauseln gezeigt, und zwarmit vollständiger Induktion über der Anzahl n der vorkommenden Grundatome.Für n = 0 ist die Behauptung trivial, ˆϕ kann höchstens die leere Klausel se<strong>in</strong>, und wegen¯Φ ⊢ ˆϕ muß ¯Φ die leere Klausel enthalten (¯Φ kann ja ke<strong>in</strong>e anderen Klauseln enthalten).Im Induktionsschritt kann nun angenommen werden, daß die Behauptung für alle ¯Φ und ˆϕmit weniger als n Grundatomen bewiesen ist.Sei ˆϕ zunächst nicht leer. Dann sei λ 0 e<strong>in</strong>es der Grundliterale von ˆϕ und ˆϕ ′ sei der Rest.Weiterh<strong>in</strong> entstehe ¯Φ ′ aus ¯Φ, <strong>in</strong>dem λ 0 aus dem Kopf jeder Klausel gestrichen wird und außerdemjede Klausel gestrichen wird, die λ 0 im Rumpf enthält (dies entspricht gerade e<strong>in</strong>er Interpretationvon λ 0 als falsch). Nach Konstruktion gilt:• ¯Φ ′ und ˆϕ ′ enthalten m<strong>in</strong>destens e<strong>in</strong> Grundliteral weniger als ¯Φ und ˆϕ.• Es gilt ¯Φ ′ ⊢ ˆϕ ′ . Wäre dies nicht der Fall, gäbe es also e<strong>in</strong> Modell I ′ von ¯Φ ′ mit I ′ ̸|= ˆϕ ′ ,so könnte man daraus e<strong>in</strong> Modell I von ¯Φ mit I ̸|= ˆϕ machen, <strong>in</strong>dem man λ 0 als falsch<strong>in</strong>terpretiert. (Weil λ 0 <strong>in</strong> ˆϕ vorkommt, ist es ke<strong>in</strong> auswertbares Literal, sonst wäre se<strong>in</strong>eInterpretation ja vorgeschrieben.)• ˆϕ ′ ist noch m<strong>in</strong>imal: Sei ˆϕ ′′ e<strong>in</strong>e echte Teildisjunktion von ˆϕ ′ . Weil ˆϕ m<strong>in</strong>imal ist, gibt ese<strong>in</strong> Modell I von ¯Φ mit I ̸|= ˆϕ ′′ ∨ λ 0 . In diesem Modell ist λ 0 natürlich falsch, also ist Iauch Modell von ¯Φ ′ .Damit ist die Induktionsannahme anwendbar, und man erhält, daß ˆϕ ′ aus ¯Φ ′ mit e<strong>in</strong>facherHyperresolution ableitbar ist. Dieselben Ableitungsschritte kann man nun mit den Regeln von ¯Φnachvollziehen, es kann dabei höchstens das zusätzliche Kopf-Literal λ 0 h<strong>in</strong>zukommen, das aberim weiteren Verlauf der Ableitung nicht stört. Nach der Konstruktion konnten ja beim Beweisvon ˆϕ ′ ke<strong>in</strong>e Regeln verwendet werden, die λ 0 im Rumpf enthalten.Im zweiten Teil des Induktionsschrittes ist nun der Fall zu behandeln, daß ˆϕ die leere Klauselist. Falls <strong>in</strong> ¯Φ nur noch auswertbare Literale vorkommen, muß wegen ¯Φ ⊢ ˆϕ der Rumpf e<strong>in</strong>erder Regeln <strong>in</strong> I D erfüllt se<strong>in</strong>, so daß man sofort die leere Klausel erhält. Ansonsten sei λ 0 e<strong>in</strong>beliebiges <strong>in</strong> ¯Φ vorkommendes nicht auswertbares Grundliteral. Geht man wieder zu ¯Φ ′ wieoben konstruiert über, so gilt natürlich ¯Φ ′ ⊢ ✷ (wäre ¯Φ ′ nicht <strong>in</strong>konsistent, so könnte man ause<strong>in</strong>em Modell I ′ sofort e<strong>in</strong> Modell I von ¯Φ machen). Trivialerweise ist ✷ auch m<strong>in</strong>imal mitdieser Eigenschaft. Aus der Induktionsannahme erhält man also e<strong>in</strong>e Ableitung von ✷ aus ¯Φ ′ .Führt man dieselbe Ableitung mit den Klauseln aus ¯Φ durch, so erhält man entweder ✷ oder ψ 0 .Im ersten Fall ist man fertig; im zweiten Fall betrachtet man die Klauselmenge ¯Φ ′′ , die aus ¯Φ ′entsteht, <strong>in</strong>dem λ 0 aus dem Rumpf aller Klauseln gestrichen wird, und die Klauseln weggelassenwerden, die λ 0 im Kopf enthalten (dies entspricht der Interpretation von λ 0 als wahr). Wiederliefert die Induktionsannahme e<strong>in</strong>e Ableitung von ✷ aus ¯Φ ′′ . Will man diese Ableitung mit denKlauseln aus ¯Φ nachvollziehen, so braucht man möglicherweise das Rumpf-Literal λ 0 . Dies istjedoch nach der vorangegangenen Überlegung aus ¯Φ ableitbar.Damit ist der Induktionsschritt vollständig. Die Behauptung ist nun also für alle endlichenMengen ¯Φ von Grundklauseln bewiesen. Aufgrund der Bereichsbeschränkung werden bei jedemAbleitungsschritt alle vorkommenden Variablen an Konstanten gebunden, die explizit <strong>in</strong> ¯Φ


132 KAPITEL 6. BERECHNUNG VON ANTWORTENvorkommen. Daher s<strong>in</strong>d genau dieselben Ableitungsschritte möglich, wenn man ¯Φ durch dieMenge se<strong>in</strong>er Grundbeispiele mit den endlich vielen vorkommenden Konstanten ersetzt. Fürdiese Menge wurde aber oben die Vollständigkeit bewiesen.✷HyperresolutionWenn man die disjunktiven Fakten <strong>in</strong> e<strong>in</strong>e Regel e<strong>in</strong>setzt, so spaltet man sie <strong>in</strong> das resolvierteFaktum und den disjunktiven Kontext auf. Diese Trennung ist aber im allgeme<strong>in</strong>ennicht e<strong>in</strong>deutig bestimmt. Im schlimmsten Fall paßt jedes der Literale des disjunktivenFaktums auf das betrachtete Rumpf-Literal. Zum<strong>in</strong>dest muß man aber durch e<strong>in</strong>en Vergleichfeststellen, daß dies nicht der Fall ist. Die Anzahl der erzeugten disjunktiven Faktenkann auf diese Weise sogar exponentiell wachsen, wie folgendes Beispiel zeigt:¯Φ := {p 1 ∨ · · · ∨ p n , q 1 ← p 1 , . . . , q n ← p n }.Hier s<strong>in</strong>d die 2 n disjunktiven Fakten der Form λ 1 ∨ · · · ∨ λ n mit λ ∈ ∈ {p i , q i } ableitbar.Es wäre also sehr nützlich, wenn man den disjunktiven Fakten ansehen könnte, was daseigentlich aktive Literal und was der Kontext ist.In [CL73] ist dazu e<strong>in</strong>e Ordnung auf den Prädikaten vorgesehen, und es wird nurerlaubt, e<strong>in</strong> Literal mit m<strong>in</strong>imalem Prädikat <strong>in</strong>nerhalb des disjunktiven Faktums für e<strong>in</strong>Rumpf-Literal e<strong>in</strong>zusetzten. Weil e<strong>in</strong> disjunktives Faktum häufig mehrere Literale mitgleichem Prädikat enthält, ist dadurch das ”aktive Literal“ allerd<strong>in</strong>gs noch nicht e<strong>in</strong>deutigbestimmt.Da hier aber nur bereichsbeschränkte Klauseln verwendet werden, ist es möglich,statt dessen e<strong>in</strong>e Ordnung auf den Grundliteralen e<strong>in</strong>zusetzen (etwa die lexikographischeReihenfolge). Ist diese Ordnung l<strong>in</strong>ear, so kann immer nur e<strong>in</strong> Literal e<strong>in</strong>es disjunktivenFaktums an der Ableitung teilnehmen; die Aufspaltung <strong>in</strong> dieses ”aktive Literal“ und denKontext ist also e<strong>in</strong>deutig.Def<strong>in</strong>ition 6.1.9 (Hyperresolution): Sei Φ F e<strong>in</strong>e Menge von disjunktiven Fakten, Φ Re<strong>in</strong>e Menge von Regeln und < e<strong>in</strong>e Ordnung auf den Fakten.Die Hyperresolution unterscheidet sich von der e<strong>in</strong>fachen Hyperresolution (Def<strong>in</strong>ition6.1.5) nur dadurch, daß für die Ableitbarkeit e<strong>in</strong>es disjunktiven Faktums zusätzlichfolgende Bed<strong>in</strong>gung erfüllt se<strong>in</strong> muß:• In den verwendeten disjunktiven Faktenλ B i θ ∨ λ C i,1 ∨ · · · ∨ λ C i,k iist λ B i θ < λ C i,j für i = 1, . . . , m, j = 1, . . . , k i .Natürlich muß die Vollständigkeitsaussage jetzt etwas abgeschwächt werden. Im obigenBeispiel¯Φ := {p 1 ∨ · · · ∨ p n , q 1 ← p 1 , . . . , q n ← p n }


6.1. BOTTOM-UP 133folgen ja wirklich die 2 n disjunktiven Fakten, mit der Optimierung folgen aber nur nochDisjunktionen der Formq 1 ∨ · · · ∨ q i ∨ p i+1 ∨ · · · ∨ p n(wenn die p i kle<strong>in</strong>er als die q j s<strong>in</strong>d). Tatsächlich braucht man für die Anfragebearbeitungnur solche Disjunktionen, die nur aus Literalen mit den Prädikaten answer und defaultbestehen. Diese Prädikate kommen <strong>in</strong> Φ nur positiv (answer) bzw. negativ vor (default).Wenn sie <strong>in</strong> e<strong>in</strong>em disjunktiven Faktum enthalten s<strong>in</strong>d, können sie also nie wieder wegresolviertwerden. Daher liegt es nahe, sie gerade als maximal <strong>in</strong> der Ordnung e<strong>in</strong>zustufen,also als ”am wenigsten aktive Literale“ Λ 0 . Dafür gilt folgende Vollständigkeitsaussage:Lemma 6.1.10:Seien folgende Voraussetzungen erfüllt:• Λ 0 ist e<strong>in</strong>e Menge von Fakten mit: Wenn λ ∈ Λ 0 und λ < λ ′ , dann λ ′ ∈ Λ 0 (Abschlußunter >).• In den Grundbeispielen der Regeln aus ¯Φ taucht ke<strong>in</strong> λ ∈ Λ 0 als Rumpf-Literal auf.• ˆϕ besteht nur aus Λ 0 -Literalen.• Es gilt Φ ⊢ ˆϕ und ˆϕ ist m<strong>in</strong>imal mit dieser Eigenschaft.Dann ist ˆϕ aus ¯Φ mittels Hyperresolution ableitbar.Beweis: Der Beweis verläuft ganz analog zum Beweis von Lemma 6.1.8, es ist nur sicherzustellen,daß man die von der Induktionsannahme gelieferten Ableitungen auch mit der ursprünglichenKlauselmenge ¯Φ nachvollziehen kann.Im ersten Teil des Induktionsschrittes folgt dies direkt aus den Voraussetzungen: Da dasneue Literal λ 0 <strong>in</strong> ˆϕ vorkommt, ist es also Element von Λ 0 . Daher ist <strong>in</strong> ke<strong>in</strong>em der verwendetendisjunktiven Fakten das neue Literal λ 0 das aktive Literal, es sei denn ganz zum Schluß, wennohneh<strong>in</strong> ke<strong>in</strong>e weiteren Ableitungsschritte mehr möglich s<strong>in</strong>d (wenn λ 0 das aktive Literal ist,kann die ganze Klausel nur noch aus Λ 0 -Literalen bestehen).Im zweiten Teil des Induktionsschrittes ( ˆϕ = ✷) wähle man e<strong>in</strong>


134 KAPITEL 6. BERECHNUNG VON ANTWORTENNatürlich wird man mit e<strong>in</strong>em Standard-Datenbanksystem nicht die größtmöglicheEffizienz erreichen können, an e<strong>in</strong>igen Stellen s<strong>in</strong>d noch etwas umständliche Formulierungennötig, die höchstens e<strong>in</strong> sehr <strong>in</strong>telligenter Optimierer geschickt auswerten könnte.Etwas besser wäre schon e<strong>in</strong> NF 2 -Datenbanksystem, wie es <strong>in</strong> [BL92] verwendet wurde.Auch dort s<strong>in</strong>d aber e<strong>in</strong>e ganze Reihe von Restrukturierungen nötig, von denen zu hoffenist, daß sie nicht wirklich ausgeführt werden.Im folgenden wird die ”flache“ Relationenalgebra verwendet, weil entsprechende Datenbanksystemeleichter verfügbar s<strong>in</strong>d, und für Prototypen spielt die Effizienz ja nur e<strong>in</strong>euntergeordnete Rolle. Vor allem aber s<strong>in</strong>d die Implementierungstechniken bekannter, sodaß man den Aufwand der verschiedenen Operationen oder auch mögliche Optimierungenbesser e<strong>in</strong>schätzen kann.Der Idealfall bleibt natürlich e<strong>in</strong> Datenbanksystem, bei dem auch die unteren Schichtenan diese Anwendung angepaßt s<strong>in</strong>d. Auch bei diesem Ziel ist aber das folgende Beispielnützlich, um zu sehen, wo die Standard-Techniken e<strong>in</strong>gesetzt werden können.Es sei folgende typische Regel R1 gewählt:p(X, a) ∨ p(X, b) ← q 1 (X, Y ) ∧ q 2 (Y, c).Nun ist zunächst e<strong>in</strong>e relationale Darstellung für ˆΦ zu wählen. E<strong>in</strong>e besonders e<strong>in</strong>facheLösung ist, nur e<strong>in</strong>e e<strong>in</strong>zige Tabelle zu verwenden. Es gibt natürlich e<strong>in</strong>e ganze ReiheAlternativen, die im folgenden kurz angedeutet werden.DIS FACTSid pred arg1 arg2 active lit length1 q 1 a d T q 1 (a, d) 21 r a — F r(a) 22 q 1 b e T q 1 (b, e) 13 q 2 d c T q 2 (d, c) 14 q 2 e c T q 2 (e, c) 24 r e — F r(e) 2Diese Tabelle repräsentiert folgende Menge von disjunktiven Fakten:ˆΦ 0 := {q 1 (a, d) ∨ r(a), q 1 (b, e), q 2 (d, c), q 2 (e, c) ∨ r(e)}.Die Attribute bedeuten folgendes:• id: Mit diesem Attribut werden die Literale e<strong>in</strong>es disjunktiven Faktums verkettet.• pred: Das Prädikat des <strong>in</strong> dem Tupel dargestellten Literals.• arg1: Das erste Argument des Literals.• arg2 : Das zweite Argument des Literals (bei Bedarf wird e<strong>in</strong> Nullwert e<strong>in</strong>getragen).• active: ”T“, falls das aktive Literal <strong>in</strong> dieser Disjunktion, ”F“ sonst.• lit: Es vere<strong>in</strong>facht die Überprüfung der Ordnung zwischen den Literalen sowieVerbund-Bed<strong>in</strong>gungen, wenn das Literal auch noch e<strong>in</strong>mal als Zeichenkette vorliegt.Ansonsten ist diese Information natürlich redundant. Die Bezeichner für answer


6.1. BOTTOM-UP 135und default seien so gewählt, daß sie größer als jedes andere Prädikat e<strong>in</strong>gestuftwerden.• length: Die Anzahl der Literale <strong>in</strong> der Disjunktion. Auch diese Information isteigentlich redundant.Zunächst def<strong>in</strong>iert man zwei Teilanfragen für die beiden Rumpf-Literale:(BODY1 := π id:id1,arg1:X,arg2 :Y σpred=’q1 ’∧active=’T ’(DIS FACTS) )(BODY2 := π id:id1,arg1:Y σpred=’q2 ’∧active=’T ’∧arg2 =’c’(DIS FACTS) )Die Selektionen für pred und active wären natürlich überflüssig, wenn man die aktivenLiterale für jedes Prädikates <strong>in</strong> e<strong>in</strong>e eigene Tabelle e<strong>in</strong>tragen würde. Dies würde aberspäter zu aufwendigen Vere<strong>in</strong>igungen und Aufspaltungen führen. Die Selektion für die <strong>in</strong>der Regel auftretende Konstante c ist e<strong>in</strong>e Übere<strong>in</strong>stimmung mit der klassischen ”bottomup“Methode. Auch der nun folgende Jo<strong>in</strong> über den geme<strong>in</strong>samen Variablen der Rumpf-Literale ist ”klassisch“:BODY := BODY1 ✶ BODY2 .Falls der Rumpf noch auswertbare Literale enthielte, würde hier e<strong>in</strong>e entsprechende Selektione<strong>in</strong>gebaut.Nun ist die durch die Regelanwendung erzeugte Disjunktion aufzubauen. Das fängtmit der etwas mühsamen Erzeugung e<strong>in</strong>es neuen Bezeichners id für die Disjunktion an. Eswerden hier e<strong>in</strong>fach Identifikatoren für die Regel und die verwendeten Fakten als Str<strong>in</strong>gsane<strong>in</strong>andergehängt (◦ bezeichne die Konkatenation):BODY ′ := π ’R1 (’◦id1◦’,’◦id2 ◦’)’:new id,id1,id2 ,X (BODY ).E<strong>in</strong>facher wäre es natürlich, wenn man e<strong>in</strong>e Funktion hätte, die bei jedem Aufruf e<strong>in</strong>eneue Zahl liefert (etwa <strong>in</strong> ”ORACLE“ vorhanden).Die neue Disjunktion ergibt sich nun aus den beiden Kopf-Literalen und den Kontextender beiden Rumpf-Literale:NEW := π new id:id,’p’:pred,X:arg1,’a’:arg2 ,’p(’◦X◦’,’◦’a’◦’)’:lit (BODY ′ )∪ π new id:id,’p’:pred,X:arg1,’b’:arg2 ,’p(’◦X◦’,’◦’b’◦’)’:lit (BODY ′ )(∪ π new id:id,pred,arg1,arg2 ,lit σactive=’F ’ (BODY ′ ✶ DIS FACTS) )( id1=id∪ π new id:id,pred,arg1,arg2 ,lit σactive=’F ’ (BODY ′ ✶ DIS FACTS)) .id2 =idNEWid pred arg1 arg2 litR1(1, 3) p a a p(a, a)R1(1, 3) p a b p(a, b)R1(1, 3) r a — r(a)R1(2, 4) p b a p(b, a)R1(2, 4) p b b p(b, b)R1(2, 4) r e — r(e)Die Verbunde mit dem Kontext wären natürlich nicht nötig, wenn man etwa e<strong>in</strong>e NF 2 -Darstellung gewählt hätte. Dann hätte man den Kontext mit den aktiven Literalen


136 KAPITEL 6. BERECHNUNG VON ANTWORTENmitführen können. Dafür wären bei der NF 2 -Darstellung mehrere Restrukturierungennötig gewesen.Es ist jetzt noch festzustellen, welches Literal jeweils das aktive Literal ist. Außerdemist für die Elim<strong>in</strong>ierung nicht-m<strong>in</strong>imaler Disjunktionen die Anzahl der Literale wichtig:NEW ′ := ( γ idid,count(∗):length,m<strong>in</strong>(lit):m<strong>in</strong> lit (NEW )) ✶ NEW(NEW ′′ := π id,pred,arg1,arg2 ,’T ’:active,lit,length σlit=m<strong>in</strong> lit (NEW ′ ) )∪ π id,pred,arg1,arg2 ,’F ’:active,lit,length(σlit≠m<strong>in</strong> lit (NEW ′ ) ) .Der Operator γA C(B) entspreche dabei dem select A from B group by C“ <strong>in</strong> SQL. Man”beachte, daß die Berechnung des aktiven Literals und der Disjunktions-Länge bei e<strong>in</strong>eme<strong>in</strong>maligen Durchlauf durch die entsprechend sortierte Relation NEW vorgenommen werdenkann.Nun fehlt nur noch die Elim<strong>in</strong>ierung nicht-m<strong>in</strong>imaler Disjunktionen. Bei e<strong>in</strong>em NF 2 -Datenbanksystem würde man e<strong>in</strong>fach e<strong>in</strong>en Teilmengen-Verbund verwenden. Leser, diesich mit der Implementierung und Komplexität dieser Operation auskennen, können denRest dieses Abschnittes überspr<strong>in</strong>gen.Bei e<strong>in</strong>em relationalen Datenbanksystem kann der Teilmengenverbund mit folgendemhübschen Trick implementiert werden: Man stellt fest, wie häufig sich e<strong>in</strong>e neue und e<strong>in</strong>ealte (oder neue) Disjunktion <strong>in</strong> e<strong>in</strong>em Literal überlappen (mit dem Verbund über lit).Nun kennt man außerdem die Längen der beiden Disjunktionen. Stimmt die Anzahlder geme<strong>in</strong>samen Literale mit e<strong>in</strong>er dieser beiden Längen übere<strong>in</strong>, so ist die betreffendeDisjunktion Teildisjunktion der anderen.DIS FACTS := DIS FACTS ∪ NEW ′′OVERLAP := π id,lit,length (DIS FACTS) ✶ π id:id ′ ,lit,length:length ′(NEW ′′ )OVERLAP ′ := γ id,id ′id,id ′ ,length,length ′ ,count(∗):common (OVERLAP)Im Beispiel werden folgende Überlappungen festgestellt:OVERLAP ′id id ′ length length ′ common1 R1(1, 3) 2 3 14 R1(2, 4) 2 3 1Die Löschung nicht-m<strong>in</strong>imaler Disjunktionen funktioniert dann folgendermaßen (im Beispiels<strong>in</strong>d ke<strong>in</strong>e Disjunktionen betroffen):(DELETE := π id σcommon=length ′ ∧common


6.1. BOTTOM-UP 137tionsstufe nichts mehr geändert hat. Dieses Verfahren kann natürlich auf viele Artenverbessert werden; hier sollen e<strong>in</strong>ige kurze Andeutungen genügen.Zunächst ist natürlich auch hier e<strong>in</strong>e semi-naive Auswertung wünschenswert, m<strong>in</strong>destenssollten nicht für alle Rumpf-Literale nur alte Fakten e<strong>in</strong>gesetzt werden.Die Anordnung der Regeln mit e<strong>in</strong>em Abhängigkeitsgraphen ist deutlich schwierigerals im Fall der Hornklauseln. Das Problem ist, daß man aufgrund der disjunktivenKontexte e<strong>in</strong>er Regel nicht e<strong>in</strong>fach ansehen kann, welches Prädikat das abgeleitete aktiveLiteral haben wird. Hat man etwa die Regelr(X) ← p(X)und setzt hier das disjunktive Faktum p(a) ∨ q(a) e<strong>in</strong>, so entsteht das disjunktive Faktumq(a) ∨ r(a). Das aktive Literal ist hier q(a) und entspricht damit nicht dem Kopf-Literal der verwendeten Regel. Man braucht also e<strong>in</strong>e Analyse, welche Prädikate zusammenmit welchen anderen Prädikaten <strong>in</strong> disjunktiven Fakten vorkommen können.Die Ordnung auf den Grundliteralen muß nicht notwendigerweise die lexikographischeOrdnung se<strong>in</strong>, man kann sie vielmehr als e<strong>in</strong> Mittel zur Optimierung e<strong>in</strong>setzen. Hat manetwa die Regelp(Y ) ∨ q(X) ← p(X) ∧ r(X, Y )zusammen mit den Faktenp(1), r(1, 2), . . . , r(99, 100),so werden lange Disjunktionen der Form p(i) ∨ q(1) ∨ · · · ∨ q(i − 1) aufgebaut. Mit denzusätzlichen Regeln answer ← p(100) und ← q(X) schrumpfen sie dann wieder zu derAntwortklausel“ answer. Wählt man nun die Ordnung”q(. . .) < p(. . .) < r(. . .) < answer,so werden immer nache<strong>in</strong>ander Disjunktionen der Form p(i) ∨ q(i − 1) und Fakten derForm p(i) erzeugt. Auf diese Weise spart man Speicherplatz, die Tests auf schon vorhandeneTeilklauseln werden schneller, und man hat man genauere Information über dieForm der erzeugten disjunktiven Fakten (ihre Länge ist bekannt).Am effizientesten wäre es natürlich, die beiden Regeln zu komb<strong>in</strong>ieren:p(Y ) ← p(X) ∧ r(X, Y ).Diese Technik ist <strong>in</strong> der logischen Programmierung als ”unfold<strong>in</strong>g“ bekannt. Man kannsich hier nicht e<strong>in</strong>fach auf den Standpunkt stellen, daß solche Umformungen schon vomBenutzer/<strong>Datenbanken</strong>twerfer durchgeführt werden sollen, da ihre Nützlichkeit im allgeme<strong>in</strong>envon der Anfrage abhängt (das unterdrückte Zwischenergebnis darf nur an e<strong>in</strong>erbzw. wenigen Stellen weiterverwendet werden). Auch die Umkehrung (Elim<strong>in</strong>ierung vongleichen Teilausdrücken durch neue Prädikate) kann sich auszahlen.Potentielle AntwortenNachdem nun alle Folgerungen ˆΦ aus der Axiomenmenge ¯Φ berechnet s<strong>in</strong>d, beg<strong>in</strong>nt die


138 KAPITEL 6. BERECHNUNG VON ANTWORTENzweite Phase der Anfrageauswertung: Es s<strong>in</strong>d jetzt die Antworten unter Berücksichtigungder <strong>Defaults</strong> zu erzeugen.Zur Vere<strong>in</strong>fachung wird hier davon ausgegangen, daß ke<strong>in</strong>e Prioritäten zwischen den<strong>Defaults</strong> spezifiziert s<strong>in</strong>d. E<strong>in</strong>e Verallgeme<strong>in</strong>erung auf Prioritätsstufen kann mit e<strong>in</strong>erIteration über den Stufen vorgenommen werden [BG89, BL92].Um zu sehen, welche Vorarbeit die erste Phase geleistet hat, sei hier noch e<strong>in</strong> Beispielangegeben:Beispiel 6.1.11:Seien folgende Axiome gegeben:Φ := {p(a), p(b) ∨ p(c), ¬p(d), q(a), q(b), q(c), q(d), q(e)}.Als Default sei ¬p(X) spezifiziert und die Anfrage sei ¬p(X) ∧ q(X). Die Normalisierungfügt folgende Regeln zu der Axiomenmenge h<strong>in</strong>zu:¯Φ := Φ ∪ {¬p(X) ← default(X), answer(X) ← ¬p(X) ∧ q(X)}.Die erste Regel wird von der Hyperresolution gerade umgekehrt behandelt, nämlich als¬default(X) ← p(X),denn default ist negativ b<strong>in</strong>dend, ¬default(X) ist also e<strong>in</strong> Kopf-Literal. Die zweite Regelist folgendermaßen <strong>in</strong> Kopf und Rumpf e<strong>in</strong>geteilt:answer(X) ∨ p(X) ← q(X).Schließlich enthält Φ selbst noch e<strong>in</strong>e dritte Regel, nämlich← p(d).E<strong>in</strong>e Anwendung der ersten Regel ergibt folgende disjunktiven Fakten:¬default(a),¬default(b) ∨ p(c).Die zweite Regel liefert:answer(a) ∨ p(a),answer(b) ∨ p(b),answer(c) ∨ p(c),answer(d) ∨ p(d),answer(e) ∨ p(e).Die dritte Regel erzeugt nun folgendes Faktum:answer(d).Die Disjunktion answer(d) ∨ p(d) ist jetzt nicht mehr m<strong>in</strong>imal und wird gelöscht. Dieerste Regel muß noch e<strong>in</strong>mal angewendet werden und liefert:¬default(b) ∨ ¬default(c),answer(a) ∨ ¬default(a),answer(b) ∨ ¬default(b),answer(c) ∨ ¬default(c),answer(e) ∨ ¬default(e).


6.1. BOTTOM-UP 139Die Disjunktion answer(a)∨¬default(a) ist nicht m<strong>in</strong>imal (¬default(a) ist schon bekannt),also wird auch sie gelöscht. E<strong>in</strong>e weitere Anwendung der Regeln liefert ke<strong>in</strong>e neuendisjunktiven Fakten.✷Von den erzeugten disjunktiven Fakten s<strong>in</strong>d natürlich solche am <strong>in</strong>teressantesten, die nurdas Prädikat answer enthalten. Solche Disjunktionen entsprechen disjunktiven Antworten,die schon logisch korrekt s<strong>in</strong>d, also ohne Verwendung von <strong>Defaults</strong> ableitbar s<strong>in</strong>d. Indem Beispiel ist das nur answer(d), und tatsächlich ist 〈X ⊳ d〉 e<strong>in</strong>e korrekte Antwort.Nützlich s<strong>in</strong>d aber auch Disjunktionen, die answer und default enthalten. Sie entsprechen”potentiellen Antworten“, die von der Anwendbarkeit der betreffenden <strong>Defaults</strong>abhängen:answer(b) ← default(b), answer(c) ← default(c), answer(e) ← default(e).Def<strong>in</strong>ition 6.1.12 (Begründung): E<strong>in</strong>e Menge von Default-Ausprägungen D ⊆ ∆ ∗heißt Begründung für e<strong>in</strong>e Formel ψ ′ genau dann, wenn• Φ ∪ D ⊢ ψ ′ .• Φ ∪ D ist konsistent.Def<strong>in</strong>ition 6.1.13 (Potentielle Antwort): E<strong>in</strong>e potentielle Antwort ist e<strong>in</strong>e Mengevon Substitutionen {θ 1 , . . . , θ k } für die Variablen e<strong>in</strong>er Anfrage ψ, so daß es für die Formelψθ 1 ∨ · · · ∨ ψθ ke<strong>in</strong>e Begründung D ⊆ ∆ ∗ gibt.Aus dieser Def<strong>in</strong>ition von potentieller Antwort folgt nun sofort, daß e<strong>in</strong>e potentielle Antwortim leichtgläubigen S<strong>in</strong>ne korrekt ist:Lemma 6.1.14:• Ist {θ 1 , . . . , θ k } e<strong>in</strong>e potentielle Antwort mit Begründung D, so gibt es e<strong>in</strong>e maximale∆-Extension E von Φ mit Φ ∪ E ⊢ ψθ 1 ∨ · · · ∨ ψθ k .• Gilt umgekehrt Φ ∪ E ⊢ ψθ 1 ∨ · · · ∨ ψθ k für e<strong>in</strong>e maximale ∆-Extension E von Φ,so ist {θ 1 , . . . , θ k } e<strong>in</strong>e potentielle Antwort mit Begründung E.Beweis:• Nach Lemma 5.2.14 kann D zu e<strong>in</strong>er maximalen ∆-Extension E erweitert werden. Dannfolgt die Behauptung aus der Monotonie der logischen Folgerung ⊢.• Die Umkehrung folgt direkt aus der Def<strong>in</strong>ition.Im folgenden ist nun die Beziehung zwischen potentiellen Antworten und den Disjunktionenaus answer- und default-Literalen nachzuweisen:✷


140 KAPITEL 6. BERECHNUNG VON ANTWORTENDef<strong>in</strong>ition 6.1.15 (Antwortklausel): E<strong>in</strong>e Antwortklausel ist e<strong>in</strong>e m<strong>in</strong>imale Disjunktionder Formanswer[θ 1 ] ∨ · · · ∨ answer[θ k ] ∨ ¬default[δ 1 ] ∨ · · · ∨ ¬default[δ m ],die aus ¯Φ folgt (k > 0, m ≥ 0).Lemma 6.1.16: Ist answer[θ 1 ] ∨ · · · ∨ answer[θ k ] ∨ ¬default[δ 1 ] ∨ · · · ∨ ¬default[δ m ] e<strong>in</strong>eAntwortklausel, so ist {θ 1 , . . . , θ k } e<strong>in</strong>e potentielle Antwort mit Begründung {δ 1 , . . . , δ m }.Beweis: Sei D := {δ 1 , . . . , δ m }. Angenommen, {θ 1 , . . . , θ k } wäre ke<strong>in</strong>e potentielle Antwortmit dieser Begründung. Dann müßte e<strong>in</strong>e der beiden Bed<strong>in</strong>gungen aus Def<strong>in</strong>ition 6.1.12 verletztse<strong>in</strong>.Gilt Φ ∪ D ⊬ ψθ 1 ∨ · · · ∨ ψθ k , so gibt es also e<strong>in</strong> Σ-Modell I von Φ ∪ D mit I ̸|= ψθ i .Für die Interpretation Ī nach Lemma 6.1.2 gilt nun: Ī |= Φ, Ī ̸|= answer[θ i ] (i = 1, . . . , k).Ī |= default[δ j ] (j = 1, . . . , m), Das bedeutet aberΦ ⊬ answer[θ 1 ] ∨ · · · ∨ answer[θ k ] ∨ ¬default[δ 1 ] ∨ · · · ∨ ¬default[δ m ]im Widerspruch zur Voraussetzung.Die zweite Bed<strong>in</strong>gung an e<strong>in</strong>e potentielle Antwort ist, daß ihre Begründung D konsistentmit Φ ist. Wäre dies nicht erfüllt, so würde schon¯Φ ⊢ ¬default[δ 1 ] ∨ · · · ∨ ¬default[δ m ]gelten, denn andernfalls müßte es e<strong>in</strong> ¯Σ-Modell Ī von ¯Φ geben mitĪ ̸|= ¬default[δ 1 ] ∨ · · · ∨ ¬default[δ m ],d.h. Ī |= default[δ i] (i = 1, . . . , k), dies liefert aber nach Lemma 6.1.1 e<strong>in</strong> Modell I von Φ∪D. Daalso schon die echte Teildisjunktion aus den default-Literalen aus ¯Φ folgt, ist die Antwortklauselnicht m<strong>in</strong>imal.✷Lemma 6.1.17: Sei {θ 1 , . . . , θ k } e<strong>in</strong>e potentielle Antwort mit Begründung {δ 1 , . . . , δ n }und m<strong>in</strong>imal <strong>in</strong> dem S<strong>in</strong>n, daß ke<strong>in</strong>e der beiden Mengen verkle<strong>in</strong>ert werden kann, ohnedie andere zu vergrößern. Dann istanswer[θ 1 ] ∨ · · · ∨ answer[θ k ] ∨ ¬default[δ 1 ] ∨ · · · ∨ ¬default[δ n ]e<strong>in</strong>e Antwortklausel.Beweis:Zunächst ist zu zeigen:¯Φ ⊢ answer[θ 1 ] ∨ · · · ∨ answer[θ k ] ∨ ¬default[δ 1 ] ∨ · · · ∨ ¬default[δ n ].Wäre dies nicht der Fall, so gäbe es e<strong>in</strong> Modell Ī von ¯Φ mit Ī ̸|= answer[θ i] (i = 1, . . . , m) undĪ |= default[δ j ] (j = 1, . . . , k). Hierzu erhält man nach Lemma 6.1.1 e<strong>in</strong> Σ-Herbrandmodell Ivon Φ mit I ̸|= ψθ i und I |= δ j . Also istΦ ∪ {δ 1 , . . . , δ n } ⊢ ψθ 1 ∨ · · · ∨ ψθ mnicht erfüllt.Nun ist noch die M<strong>in</strong>imalität der Antwortklausel zu zeigen. Würde e<strong>in</strong>e echte Teildisjunktionebenfalls aus ¯Φ folgen, so würde die nach Lemma 6.1.16 konstruierte potentielle Antwort dievorausgesetzte M<strong>in</strong>imalität von ( {θ 1 , . . . , θ k }, {δ 1 , . . . , δ n } ) widerlegen. (Die Teildisjunktion mußnoch m<strong>in</strong>destens e<strong>in</strong> answer-Literal enthalten, da Φ ∪ {δ 1 , . . . , δ n } konsistent ist.)✷


6.1. BOTTOM-UP 141Aus den <strong>in</strong> der ersten Phase der Anfrageauswertung berechneten Antwortklauseln erhältman also alle m<strong>in</strong>imalen Paare von potentieller Antwort und Begründung. Man <strong>in</strong>teressiertsich ja auch nur für m<strong>in</strong>imale Antworten, und e<strong>in</strong>e Begründung ist natürlich umsoe<strong>in</strong>facher zu akzeptieren, je weniger <strong>Defaults</strong> sie enthält. In diesem S<strong>in</strong>ne ist die Berechnungder potentiellen Antworten also vollständig.Beispiel 6.1.18:answer(b) ← default(b),answer(c) ← default(c),answer(d),answer(e) ← default(e).In Beispiel 6.1.11 wurden folgende Antwortklauseln berechnet:Die potentielle Antwort 〈X ⊳ d〉 hat also die Begründung ∅, d.h. es gilt Φ ⊢ ψ〈X ⊳ d〉.Die anderen potentiellen Antworten hängen von jeweils e<strong>in</strong>em Default ab, so gilt etwaΦ ∪ {¬p(b)} ⊢ ψ〈X ⊳ b〉.Die vier Antworten 〈X ⊳ b〉, 〈X ⊳ c〉, 〈X ⊳ d〉 und 〈X ⊳ e〉 wären alle im leichtgläubigenS<strong>in</strong>n korrekt, allerd<strong>in</strong>gs basieren 〈X ⊳ b〉 und 〈X ⊳ c〉 auf unterschiedlichen Extensionen,nämlichE 1 := {¬p(b), ¬p(d), ¬p(e)} und E 2 := {¬p(c), ¬p(d), ¬p(e)}.Der leichtgläubige Ansatz wird hier nicht weiter verfolgt, da er ja nicht unter Konjunktionabgeschlossen ist (siehe Kapitel 2).✷Konflikte zwischen <strong>Defaults</strong>Bei der ”m<strong>in</strong>imale Modelle“-Semantik und der ”vorsichtigen CWA“ s<strong>in</strong>d die Begründungenjetzt noch genauer zu überprüfen. Hierzu ist es nützlich, die maximalen Extensionenzu betrachten, die von e<strong>in</strong>er Begründung ” überdeckt“ werden:Def<strong>in</strong>ition 6.1.19 (Überdeckte Extensionen):|D| := {E | E ist maximale Extension mit D ⊆ E}die Menge der überdeckten Extensionen.Für D ⊆ ∆ ∗ seiBeispiel 6.1.20: Im obigen Beispiel ist|{p(b)}| = {E 1 }, |{p(c)}| = {E 2 }, |{p(e)}| = {E 1 , E 2 }.Natürlich gilt auch für die Begründung ∅ von 〈X ⊳ d〉, daß |∅| = {E 1 , E 2 }.✷Besonders nützlich s<strong>in</strong>d Begründungen, die alle maximalen Extensionen überdecken: <strong>in</strong>diesem Fall s<strong>in</strong>d die entsprechenden <strong>Defaults</strong> <strong>in</strong> jeder Extension und damit <strong>in</strong> ihremSchnitt enthalten. Dies erlaubt gerade die Berechnung von Antworten bezüglich dervorsichtigen CWA:


142 KAPITEL 6. BERECHNUNG VON ANTWORTENLemma 6.1.21: Sei D e<strong>in</strong>e Begründung für die potentielle Antwort {θ 1 , . . . , θ k }, so daß|D| die Menge aller maximalen ∆-Extensionen von Φ ist. Dann gilt:cwa ∆ (Φ) ⊢ ψθ 1 ∨ · · · ∨ ψθ k .Beweis: Aus der Def<strong>in</strong>ition der vorsichtigen CWA folgt direkt: Φ ∪ D ⊆ cwa ∆ (Φ). DaaußerdemΦ ∪ D ⊢ ψθ 1 ∨ · · · ∨ ψθ k ,folgt die Behauptung sofort aus der Monotonie von ⊢.✷Es fehlt jetzt also nur noch e<strong>in</strong>e Möglichkeit, zu überprüfen, ob e<strong>in</strong>e Begründung alleExtensionen überdeckt. E<strong>in</strong> konstruktiver Nachweis, daß dies nicht der Fall ist, besteht<strong>in</strong> der Angabe nicht überdeckter Extensionen mit e<strong>in</strong>er ”widersprechenden Begründung“:Def<strong>in</strong>ition 6.1.22 (Widersprechende Begründung): Sei D := {δ 1 , . . . , δ m } e<strong>in</strong>eMenge von Default-Ausprägungen. E<strong>in</strong>e widersprechende Begründung zu D ist e<strong>in</strong>eBegründung ˆD für ¬δ 1 ∨ · · · ∨ ¬δ m .Lemma 6.1.23:Sei ˆD e<strong>in</strong>e widersprechende Begründung zu D. Dann gilt:• |D| ∩ | ˆD| = ∅ (die Mengen der überdeckten Extensionen s<strong>in</strong>d disjunkt),• | ˆD| ≠ ∅.Beweis:• Da ˆD e<strong>in</strong>e widersprechende Begründung zu D ist, ist Φ ∪ ˆD ∪ D <strong>in</strong>konsistent, also kannke<strong>in</strong>e maximale Extension E beide Mengen umfassen, denn Φ ∪ E ist def<strong>in</strong>itionsgemäßkonsistent.• Dies folgt aus der Konsistenz von Φ ∪ ˆD mit Lemma 5.2.14.Lemma 6.1.24: Es gibt e<strong>in</strong>e widersprechende Begründung ˆD zu D ⊆ ∆ ∗ genau dann,wenn D nicht alle maximalen Extensionen überdeckt.Beweis:• ”=⇒ “: Gibt es e<strong>in</strong>e widersprechende Begründung, so folgt direkt aus Lemma 6.1.23: Esgibt E ∈ | ˆD| und für solche E gilt E ∉ |D|.• ⇐= “: Gibt es e<strong>in</strong>e maximale Extension E mit E ∉ |D|, so ist E automatisch e<strong>in</strong>e widersprechendeBegründung. (Da die zugrundeliegende Signatur endlich ist, ist E natürlich”auch endlich. Man könnte sonst aber auch leicht mit dem Kompaktheitssatz e<strong>in</strong>e endlicheTeilmenge ˆD ⊆ E konstruieren, so daß Φ ∪ ˆD ∪ D <strong>in</strong>konsistent ist.)✷Widersprechende Begründungen kann man nun leicht aus den ”Konflikten“ zwischen <strong>Defaults</strong>konstruieren, die man <strong>in</strong> der ersten Phase der Anfrageauswertung berechnet hat:Def<strong>in</strong>ition 6.1.25 (Konflikt): E<strong>in</strong> Konflikt Ω ⊆ ∆ ∗ ist e<strong>in</strong>e m<strong>in</strong>imale Menge vonDefault-Ausprägungen, so daß Φ ∪ Ω <strong>in</strong>konsistent ist.✷


6.1. BOTTOM-UP 143Beispiel 6.1.26: In Beispiel 6.1.11 gibt es zwei Konflikte: {¬p(a)} und {¬p(b), ¬p(c)},entsprechend den beiden Formeln p(a) und p(b) ∨ p(c) <strong>in</strong> Φ. Dies bedeutet, daß der Default¬p(a) sicher nicht angenommen werden kann, während die <strong>Defaults</strong> ¬p(b) und ¬p(c)nur nicht zusammen angenommen werden können.✷Lemma 6.1.27:E<strong>in</strong>e Menge Ω = {δ 1 , . . . , δ m } ⊆ ∆ ∗ ist genau dann e<strong>in</strong> Konflikt, wenn¬default[δ 1 ] ∨ · · · ∨ ¬default[δ m ]e<strong>in</strong> m<strong>in</strong>imales, von ¯Φ impliziertes disjunktives Faktum ist.Beweis: Es reicht, zu zeigen, daß Φ ∪ {δ 1 , . . . , δ m } genau dann <strong>in</strong>konsistent ist, wenn¯Φ ⊢ ¬default[δ 1 ] ∨ · · · ∨ ¬default[δ m ]. Die beiden M<strong>in</strong>imalitätsforderungen entsprechen sichdann gerade.• Sei also Φ ∪ {δ 1 , . . . , δ m } <strong>in</strong>konsistent. Würde ¯Φ ⊢ ¬default[δ 1 ] ∨ · · · ∨ ¬default[δ m ] nichtgelten, so gäbe es e<strong>in</strong> Modell Ī von ¯Φ mit Ī |= default[δ i], daraus erhielte man nachLemma 6.1.1 e<strong>in</strong> Modell I von Φ ∪ Ω (im Widerspruch zur vorausgesetzten Inkonsistenz).• Gelte umgekehrt ¯Φ ⊢ ¬default[δ 1 ]∨· · ·∨¬default[δ m ]. Wäre Φ∪{δ 1 , . . . , δ m } konsistent, sokönnte man aus e<strong>in</strong>em Modell I nach Lemma 6.1.2 e<strong>in</strong> Modell Ī von ¯Φ mit Ī ̸|= ¬default[δ i]konstruieren (Widerspruch zur Voraussetzung).✷Damit ist gezeigt, daß die erste Phase der Anfragebearbeitung alle Konflikte vollständigberechnet hat.Es fehlt nun nur noch die Beziehung zwischen Konflikten und widersprechendenBegründungen. Im wesentlichen entsprechen die widersprechenden Begründungen zu Dgerade den Konflikten, mit denen D e<strong>in</strong>en nichtleeren Schnitt hat:Lemma 6.1.28:• Ist Ω e<strong>in</strong> Konflikt und D e<strong>in</strong>e Menge von Default-Ausprägungen mit D ∩ Ω ≠ ∅, soist ˆD := Ω − D e<strong>in</strong>e widersprechende Begründung zu D.• Ist ˆD e<strong>in</strong>e widersprechende Begründung zu D, so gibt es e<strong>in</strong>en Konflikt Ω mitΩ ⊆ D ∪ ˆD, Ω ∩ D ≠ ∅ und Ω ∩ ˆD ≠ ∅.Beweis:• Da Φ ∪ Ω <strong>in</strong>konsistent ist, ist wegen Ω ⊇ D ∪ ˆD natürlich erst recht Φ ∪ ˆD ∪ D <strong>in</strong>konsistent.Andererseits ist ˆD ⊂ Ω (wegen D ∩ Ω ≠ ∅), aus der M<strong>in</strong>imalität von Ω folgt also dieKonsistenz von Φ ∪ ˆD.• Da ˆD e<strong>in</strong>e widersprechende Begründung ist, ist Φ ∪ ˆD ∪ D <strong>in</strong>konsistent. Man wähle nune<strong>in</strong>e m<strong>in</strong>imale Teilmenge Ω ⊆ ˆD ∪ D, so daß Φ ∪ Ω <strong>in</strong>konsistent ist. Nach Konstruktionist Ω e<strong>in</strong> Konflikt. Weil Φ ∪ D und Φ ∪ ˆD konsistent s<strong>in</strong>d, gilt Ω ⊈ D und Ω ⊈ ˆD, Ω mußalso mit beiden e<strong>in</strong>en nichtleeren Schnitt haben.✷Damit hat man jetzt also e<strong>in</strong>en Algorithmus zur Anfragebeantwortung unter der vorsichtigenCWA: Man testet e<strong>in</strong>fach für jede potentielle Antwort, ob ihre Begründunge<strong>in</strong> geme<strong>in</strong>sames Element mit e<strong>in</strong>em Konflikt hat. Die übrigen Antworten können dannausgegeben werden (nach der Elim<strong>in</strong>ierung nicht-m<strong>in</strong>imaler Antworten).


144 KAPITEL 6. BERECHNUNG VON ANTWORTENBeispiel 6.1.29: In dem laufenden Beispiel werden also 〈X⊳ d〉 und 〈X⊳ e〉 ausgegeben.Dies s<strong>in</strong>d auch die e<strong>in</strong>zigen (m<strong>in</strong>imalen) korrekten Antworten, denn es istcwa ∆ (Φ) = Φ ∪ {¬p(d), ¬p(e)}.Die Begründungen der Antworten 〈X ⊳ b〉 und 〈X ⊳ c〉 überlappen sich mit dem Konflikt{¬p(b), ¬p(c)}.✷Die ”m<strong>in</strong>imale Modelle“-SemantikNach dem leichtgläubigen und dem vorsichtigen Ansatz zur Behandlung mehrfacher Extensionenwird nun der skeptische Ansatz als Grundlage der Anfrage-Bearbeitung verwendet..Er ist äquivalent zur ”m<strong>in</strong>imale Modelle“-Semantik, da die maximalen Extensionengerade den m<strong>in</strong>imalen Modellen entsprechen.E<strong>in</strong>e Formel folgt skeptisch, wenn sie aus allen maximalen Extensionen folgt. Hierist es wieder nützlich, die von e<strong>in</strong>er Begründung überdeckten Extensionen zu betrachten:Man braucht offensichtlich Begründungen, die zusammen alle Extensionen überdecken.Lemma 6.1.30: Sei {θ i,1 , . . . , θ i,ki } für i = 1, . . . , n e<strong>in</strong>e potentielle Antwort mitBegründung D i . Ist |D 1 | ∪ · · · ∪ |D n | die Menge aller maximalen Extensionen, so istdie Antwort {θ 1,1 , . . . , θ 1,k1 , . . . , θ n,1 , . . . , θ n,kn } korrekt bezüglich m<strong>in</strong> ∆ .Beweis: Zu zeigen ist, daß jedes m<strong>in</strong>imale Modell I von Φ auch Modell von ψθ 1,1 ∨ · · · ∨ ψθ n,knist. Nach Satz 5.2.15 ist I auch Modell e<strong>in</strong>er maximalen Extension E. Nach der Voraussetzungist E ∈ |D i | für e<strong>in</strong> i. Da D i e<strong>in</strong>e Begründung für die potentielle Antwort {θ i,1 , . . . , θ i,ki } ist,gilt alsoΦ ∪ E ⊢ ψθ i,1 ∨ · · · ∨ ψθ i,ki .Also erfüllt I diese Disjunktion und damit natürlich erst recht ψθ 1,1 ∨ · · · ∨ ψθ n,kn .Beispiel 6.1.31: In dem Beispiel betrifft dies gerade die potentiellen Antworten 〈X⊳ b〉und 〈X ⊳ c〉 mit den Begründungen {¬p(b)} und {¬p(c)}: Die erste Begründung überdecktE 1 und die zweite E 2 , daher ist die disjunktive Antwort {〈X⊳ b〉, 〈X⊳ c〉} bezüglichder m<strong>in</strong>imale Modelle“-Semantik korrekt.✷”Natürlich müssen bei der Anwendung dieses Lemmas nicht immer disjunktive Antwortenentstehen: Es ist ja auch möglich, daß man verschiedene Begründungen für dieselbe Antworthat. Trotzdem ist festzuhalten, daß die Erzeugung der Antworten jetzt nicht mehrnur <strong>in</strong> e<strong>in</strong>er e<strong>in</strong>fachen Auswahl der vorher berechneten potentiellen Antworten besteht,vielmehr müssen potentielle Antworten komb<strong>in</strong>iert werden.Daher ist natürlich besonders wichtig, sich die Vollständigkeit dieser Vorgehensweiseklar zu machen:Lemma 6.1.32: Sei {θ 1 , . . . , θ k } e<strong>in</strong>e bezüglich m<strong>in</strong> ∆ korrekte Antwort. Dann gibt esD 1 , . . . , D n ⊆ ∆ ∗ , so daß {θ 1 , . . . , θ k } e<strong>in</strong>e potentielle Antwort mit Begründung D i ist(i = 1, . . . , n).✷


6.1. BOTTOM-UP 145Beweis: Da {θ 1 , . . . , θ k } e<strong>in</strong>e korrekte Antwort ist, gilt ψθ 1 ∨ · · · ∨ ψθ k <strong>in</strong> jedem m<strong>in</strong>imalenModell. Nach Satz 5.2.15 ist jedes Modell e<strong>in</strong>er maximalen Extension E m<strong>in</strong>imal, also giltΦ ∪ E ⊢ ψθ 1 ∨ · · · ∨ ψθ k .Da die zugrundeliegende Signatur endlich ist, gibt es nur endlich viele maximale ExtensionenE 1 , . . . , E n . Diese kann man nun selbst als Begründungen D 1 , . . . , D n verwenden. ✷Natürlich hat man <strong>in</strong> der ersten Phase der Anfragebeantwortung nur die m<strong>in</strong>imalenPaare von potentieller Antwort und Begründung berechnet, aber dies ist offensichtlichausreichend: Man <strong>in</strong>teressiert sich ja nur für m<strong>in</strong>imale Antworten und nicht-m<strong>in</strong>imaleBegründungen überdecken höchstens weniger Extensionen.Man muß jetzt also überprüfen, ob e<strong>in</strong>e Menge von Begründungen D 1 , . . . , D n allemaximalen Extensionen überdeckt. Dazu ist es nützlich, das Komplement der überdecktenExtensionen mit Hilfe widersprechender Begründungen zu repräsentieren:Def<strong>in</strong>ition 6.1.33 (Vollständige Menge widersprechender Begründungen):Seien D 1 , . . . , D n und ˆD 1 , . . . , ˆD m Mengen von Default-Ausprägungen. { ˆD 1 , . . . , ˆD m }heißt vollständige Menge widersprechender Begründungen zu {D 1 , . . . , D n } genau dann,wenn• ( |D 1 | ∪ · · · ∪ |D n | ) ∩ ( | ˆD 1 | ∪ · · · ∪ | ˆD m | ) = ∅,• Φ ∪ ˆD i ist konsistent für i = 1, . . . , m,• für jede maximale Extension E mit E ∉ |D 1 | ∪ · · · ∪ |D n | gilt E ∈ | ˆD 1 | ∪ · · · ∪ | ˆD m |.Für e<strong>in</strong>zelne Begründungen D i bilden die nach Lemma 6.1.28 berechneten widersprechendenBegründungen natürlich e<strong>in</strong>e vollständige Menge. Was noch fehlt, ist e<strong>in</strong>e Möglichkeit,solche vollständigen Mengen widersprechender Begründungen zusammensetzen zukönnen, also den Schnitt der von ihnen überdeckten Extensionen auszurechnen:Lemma 6.1.34:Seien D 1 , . . . , D n Mengen von Default-Ausprägungen und seien{ ˆD i,1 , . . . , ˆD i,mi } (i = 1, . . . , n)vollständige Mengen widersprechender Begründungen zu {D i }. Dann ist{ ˆD 1,j1 ∪ · · · ∪ ˆD n,jn | es gibt ke<strong>in</strong>en Konflikt Ω mit Ω ⊆ ˆD 1,j1 ∪ · · · ∪ ˆD n,jn }e<strong>in</strong>e vollständige Menge widersprechender Begründungen zu {D 1 , . . . , D n }.Beweis:• Offensichtlich gilt | ˆD 1,j1 ∪ · · · ∪ ˆD n,jn | = | ˆD 1,j1 | ∩ · · · ∩ | ˆD n,jn |. Daher werden nur solcheExtensionen überdeckt, die von ke<strong>in</strong>em D i überdeckt werden.• Φ∪ ˆD 1,j1 ∪· · ·∪ ˆD n,jn ist konsistent, denn sonst wäre e<strong>in</strong>e m<strong>in</strong>imale Teilmenge e<strong>in</strong> Konflikt.• Sei E e<strong>in</strong>e maximale Extension von Φ mit E ∉ |D 1 |∪· · ·∪|D n |, d.h. E ∉ |D i | (i = 1, . . . , n).Also ist E ∈ | ˆD i,1 | ∪ · · · ∪ | ˆD i,mi |, sei etwa E ∈ | ˆD i,ji | (i = 1, . . . , n). Dann gilt natürlichE ∈ | ˆD 1,j1 ∪ · · · ∪ ˆD n,jn |.✷


146 KAPITEL 6. BERECHNUNG VON ANTWORTENDamit wäre also folgender Algorithmus korrekt und vollständig, aber sehr aufwendig:In der ersten Phase der Anfragebeantwortung wurden die potentiellen Antworten{θ i,1 , . . . , θ i,ki } mit ihren Begründungen D i berechnet, und auch die Konflikte Ω j . Nachder Methode von Lemma 6.1.28 kann man nun zu jeder Begründung D i e<strong>in</strong>e vollständigeMenge widersprechender Begründungen berechnen. Nach Lemma 6.1.34 kann man fürjede Teilmenge der potentiellen Antworten die vollständigen Mengen widersprechenderBegründungen zusammensetzen. Nach Lemma 6.1.30 und Lemma 6.1.32 s<strong>in</strong>d geradedie zusammengesetzten Antworten korrekt, deren vollständige Menge widersprechenderBegründungen leer ist.Dieser Algorithmus ist aber bei e<strong>in</strong>er größeren Menge potentieller Antworten nichtpraktisch durchführbar, weil exponentiell viele Teilmengen betrachtet werden müssen.Man möchte natürlich nur solche potentiellen Antworten zusammensetzten, die etwas zudem Ziel beitragen, alle Extensionen zu überdecken. Hier hilft das folgende Lemma:Lemma 6.1.35: Seien { ˆD i,1 , . . . , ˆD i,mi } (i = 1, . . . , n) vollständige Mengen widersprechenderBegründungen zu D i mit(| ˆD1,1 | ∪ · · · ∪ | ˆD 1,m1 | ) ∩ · · · ∩ ( | ˆD n,1 | ∪ · · · ∪ | ˆD n,mn | ) = ∅.Sei n > 1 und D i nötig <strong>in</strong> dem S<strong>in</strong>n, daß sonst der entsprechende Schnitt nicht leerwäre. Dann gibt es e<strong>in</strong> i ′ ≠ i sowie j und j ′ und e<strong>in</strong>en Konflikt Ω mit Ω ∩ ˆD i,j ≠ ∅ undΩ ∩ ˆD i ′ ,j ′ ≠ ∅.Beweis: Wenn man(| ˆD1,1 | ∪ · · · ∪ | ˆD 1,m1 | ) ∩ · · · ∩ ( | ˆD n,1 | ∪ · · · ∪ | ˆD n,mn | ) (∗)ausmultipliziert, erhält man e<strong>in</strong>e Vere<strong>in</strong>igung von Schnitten, von der jeder e<strong>in</strong>zelne leer se<strong>in</strong>muß, d.h. für jede Auswahl von j 1 , . . . , j n gilt:| ˆD 1,j1 | ∩ · · · ∩ | ˆD n,jn | = ∅.Andererseits ist (∗) ohne | ˆD i,1 | ∪ · · · ∪ | ˆD i,mi | nicht leer, man kann also j 1 , . . . , j n so wählen, daß| ˆD 1,j1 | ∩ · · · ∩ | ˆD i−1,ji−1 | ∩ | ˆD i+1,ji+1 | ∩ · · · ∩ | ˆD n,jn | ≠ ∅.Also ist Φ∪ ˆD 1,j1 ∪· · ·∪ ˆD n,jn <strong>in</strong>konsistent und es gibt e<strong>in</strong>en Konflikt Ω mit Ω ⊆ ˆD 1,j1 ∪· · ·∪ ˆD n,jn .Andererseits istΦ ∪ ˆD 1,j1 ∪ · · · ∪ ˆD i−1,ji−1 ∪ ˆD i+1,ji+1 ∪ · · · ∪ ˆD n,jnkonsistent, Ω kann also ke<strong>in</strong>e Teilmenge hiervon se<strong>in</strong>, d.h. Ω ∩ ˆD i,ji ≠ ∅. Es ist aber natürlichauch Φ ∪ ˆD i,ji konsistent, also Ω ⊈ ˆD i,ji , es muß daher e<strong>in</strong> i ′ ≠ i geben mit Ω ∩ ˆD i ′ ,j i ′≠ ∅.Damit ist die Behauptung für j := j i und j ′ := j i ′ gezeigt. ✷Dies führt zu folgendem Algorithmus: Man berechne wieder die potentiellen Antworten{θ i,1 , . . . , θ i,ki } und jeweils e<strong>in</strong>e vollständige Menge widersprechender Begründungen{ ˆD i,1 , . . . , ˆD i,mi }. Falls e<strong>in</strong> m i = 0 ist, kann man die Antwort {θ i,1 , . . . , θ i,ki } ausgebenund sie von den noch zu überprüfenden Antworten streichen. Sonst setzt man jeweils zweipotentielle Antworten {θ i,1 , . . . , θ i,ki } und {θ i ′ ,1, . . . , θ i ′ ,k i ′ } zusammen, für die es j, j ′ unde<strong>in</strong>en Konflikt Ω mit Ω ∩ ˆD i,j ≠ ∅ und Ω ∩ ˆD i ′ ,j′ ≠ ∅ gibt. Diese Zusammensetzung liefert


6.1. BOTTOM-UP 147die potentielle Antwort {θ i,1 , . . . , θ i,ki , θ i ′ ,1, . . . , θ i ′ ,k i ′ }. Die zugehörige vollständige Mengewidersprechender Begründungen ist entsprechend Lemma 6.1.34:{ˆDi,ν ∪ ˆD i ′ ,ν ′ ∣ ∣ es gibt ke<strong>in</strong>en Konflikt Ω ′ mit Ω ′ ⊆ ˆD i,ν ∪ ˆD i ′ ,ν ′ }.Falls die Menge leer ist, kann man die Antwort ausgeben und braucht sie nicht weiterzu berücksichtigen. Man iteriert diese paarweise Zusammensetzung, bis sich nichts mehrändert.Beispiel 6.1.36: Im laufenden Beispiel s<strong>in</strong>d die Mengen widersprechender Begründungenzu {¬p(d)} und {¬p(e)} leer, die Antworten 〈X ⊳ d〉 und 〈X ⊳ e〉 können also sofortausgegeben werden. Dagegen hat {¬p(b)} die widersprechende Begründung {¬p(c)}und umgekehrt. Weil die beiden widersprechenden Begründungen sich mit dem Konflikt{¬p(b), ¬p(c)} überlappen, werden sie zusammengesetzt, das Ergebnis enthält aber geradediesen Konflikt, so daß es gelöscht wird. Das bedeutet, daß die Antwort {〈X⊳ b〉, 〈X⊳ c〉}ke<strong>in</strong>e widersprechender Begründungen hat, und ausgegeben werden kann. Damit ist dieMenge der noch zu überprüfenden potentiellen Antworten leer, die Iteration endet alsoschon nach dem ersten Schritt.✷Beispiel 6.1.37: Es soll jetzt noch e<strong>in</strong> etwas komplizierteres Beispiel betrachtet werden.Die <strong>Defaults</strong> seien∆ := {p 1 , . . . , p 4 , q 1 , . . . , q 5 }.Als Axiome seien nun e<strong>in</strong>erseits solche gegeben, die e<strong>in</strong>e Begründung für die Antwort ”ja“auf die Anfrage r liefern:r ← p 1 , r ← p 2 ∧ p 3 , r ← p 4 .Andererseits seien Axiome gegeben, die gerade den Konflikten entsprechen:¬p 1 ∨ ¬q 1 , ¬p 1 ∨ ¬q 2 ∨ ¬q 3 , ¬p 2 ∨ ¬q 4 , ¬p 4 ∨ ¬q 4 , ¬q 1 ∨ ¬q 4 ∨ ¬q 5 , ¬q 3 ∨ ¬q 5 .Es gibt also folgende Begründungen und widersprechende Begründungen:θ D ˆD” ja“ {p 1} {q 1 }, {q 2 , q 3 }” ja“ {p 2, p 3 } {q 4 }” ja“ {p 4} {q 5 }Im ersten Iterationsschritt läßt sich nun jede Zeile mit jeder anderen zusammensetzen undman erhält:θ D ˆD” ja“ {p 1}, {p 2 , p 3 } {q 1 , q 4 }, {q 2 , q 3 , q 4 }” ja“ {p 1}, {p 4 } {q 1 , q 5 }, [{q 2 , q 3 , q 5 }]” ja“ {p 2, p 3 }, {p 4 } {q 4 , p 5 }Die <strong>in</strong> eckigen Klammern angegebene Menge von <strong>Defaults</strong> enthält e<strong>in</strong>en Konflikt und wirdgelöscht. Im zweiten Iterationsschritt ergibt sich:θ D ˆD” ja“ {p 1}, {p 2 , p 3 }, {p 4 } [{q 1 , q 4 , q 5 }], [{q 1 , q 2 , q 3 , q 4 , q 5 }]


148 KAPITEL 6. BERECHNUNG VON ANTWORTENDa es ke<strong>in</strong>e widersprechenden Begründungen mehr gibt, ist die Antwort ”ja“ korrekt. ✷Natürlich kann dieser Algorithmus noch weiter optimiert werden:• Bei dem Test, ob es sich lohnt, zwei potentielle Antworten zu komb<strong>in</strong>ieren, brauchennur solche Konflikte berücksichtigt zu werden, deren <strong>Defaults</strong> auch <strong>in</strong> m<strong>in</strong>destense<strong>in</strong>er widersprechenden Begründung vorkommen. Dies reduziert die Anzahl derPaare von potentiellen Antworten, die betrachtet werden müssen.• Zwei widersprechende Begründungen ˆD 1,j1 und ˆD 2,j2 , deren potentielle Antwortenzusammengesetzt werden, sollten sich nicht nur mit demselben Konflikt Ω überlappen,sondern mit disjunkten Anteilen dieses Konfliktes. Man kann also forden,da߈D 1,j1 ∩ (Ω − ˆD 2,j2 ) ≠ ∅ und (Ω − ˆD 1,j1 ) ∩ ˆD 1,j1 ≠ ∅.• Häufig werden die n-elementigen Teilmengen auf verschiedenen Wegen durch Zweier-Komb<strong>in</strong>ationen aufgebaut (wie im obigen Beispiel). Dies kann man allerd<strong>in</strong>gs nurdann reduzieren, wenn man schon weiß, daß die kle<strong>in</strong>eren Teilmengen ke<strong>in</strong>e korrektenAntworten produzieren.Mengenorientierte ImplementierungNun ist zu demonstrieren, daß auch die zweite Phase der Anfragebeantwortung mengenorientiertimplementiert werden kann.Die erste Phase lieferte die Menge ˆΦ <strong>in</strong> der Relation DIS FACTS. Hieraus s<strong>in</strong>d nundie Antwortklauseln und die Konflikte zu extrahieren. Wählt man die Prädikatbezeichnerso, daß alle answer-Literale vor allen default δ -Literalen kommen (und natürlich nach allenanderen Literalen), so ist folgende Selektion möglich:(POT ANS := π id σactive=’T ’∧pred=’answer’ (DIS FACTS) ) ✶ DIS FACTS,(CONFLICT := π id σactive=’T ’∧pred like ’default%’ (DIS FACTS) ) ✶ DIS FACTS.Würde man die Disjunktionen physisch zusammen abspeichern, so wären die Verbundenatürlich sehr effizient auszuführen. In Beispiel 6.1.11 erhielte man folgende Menge potentiellerAntworten:POT ANSid pred arg1 active lit length10 answer b T answer(b) 210 default b F ¬default(b) 211 answer c T answer(c) 211 default c F ¬default(c) 212 answer d T answer(d) 113 answer e T answer(e) 213 default e F ¬default(e) 2


6.1. BOTTOM-UP 149Die beiden Konflikte s<strong>in</strong>d <strong>in</strong> folgender Tabelle dargestellt:CONFLICTid pred arg1 active lit length14 default a T ¬default(a) 115 default b T ¬default(b) 215 default c F ¬default(c) 2Beim leichtgläubigen Ansatz s<strong>in</strong>d alle potentiellen Antworten korrekt:ANSWER := σ pred=’answer’ (POT ANS).Natürlich müßte man jetzt noch gegebenenfalls nicht-m<strong>in</strong>imale Antworten löschen (mitder oben für Disjunktionen gezeigten Methode).Beim vorsichtigen Ansatz hat man nur zu testen, ob sich die Begründung mit e<strong>in</strong>emKonflikt überlappt:OVERLAP := π ans id,con id(πid:ans id,lit (POT ANS) ✶ π id:con id,lit (CONFLICT ) ) ,ANSWER := σ pred=’answer’(POT ANS − POT ANS ✶ πans id:id (OVERLAP) ) .Mit dem Verbund über lit wird die Überlappung festgestellt:OVERLAPans id con id10 1511 15Der Rest dient dann nur noch dazu, die übrigen Antworten <strong>in</strong> das gewünschte Format zubr<strong>in</strong>gen.Etwas mühsamer ist nun der skeptische Ansatz. Zunächst muß man die widersprechendenBegründungen für jede potentielle Antwort berechnen:CONTRA := ( OVERLAP ✶ π id:con id,lit (CONFLICT ) )CONTRAans id con id lit10 15 ¬default(c)11 15 ¬default(b)− ( OVERLAP ✶ π id:ans id,lit (POT ANS) ) .Außerdem <strong>in</strong>itialisiert man noch ANSWER mit der leeren Menge, dann beg<strong>in</strong>nt die Iteration.Zunächst kann man die Antworten ausgeben, die ke<strong>in</strong>e widersprechende Begründungen(mehr) haben:ANSWER :=ANSWER∪ σ pred=’answer’(POT ANS − POT ANS ✶ πans id:id (CONTRA) ) .An dieser Stelle kann man aus POT ANS und CONTRA auch alle potentiellen Antwortenlöschen, die höchstens e<strong>in</strong>e Obermenge e<strong>in</strong>er korrekten Antwort liefern könnten. Damit


150 KAPITEL 6. BERECHNUNG VON ANTWORTENelim<strong>in</strong>iert man auch weitere Begründungen für bereits ausgegebene Antworten. E<strong>in</strong> entsprechenderTeilmengentest wurde oben schon vorgeführt.Nun stellt man fest, bei welchen potentiellen Antworten es sich lohnen könnte, sie zukomb<strong>in</strong>ieren:COMB ANS := π ans id:ans id ′ ,lit:lit ′(CONTRA) ✶ π lit:lit ′ ,id(CONFLICT )✶ π lit:lit ′′ ,id(CONFLICT ) ✶ π ans id:ans id ′′ ,lit:lit ′′(CONTRA),COMB ANS ′ := σ ans id ′


6.2. TOP-DOWN 151Identifikatoren für die zusammengesetzten potentiellen Antworten erzeugt werden, mußman die Duplikatelim<strong>in</strong>ierung explizit programmieren (etwa mit e<strong>in</strong>er Tabelle, <strong>in</strong> derdarüber Buch geführt wird, welche der ursprünglichen potentiellen Antworten <strong>in</strong> e<strong>in</strong>erzusammengesetzten Antwort stecken). Bei e<strong>in</strong>em NF 2 -Datenbanksystem geschieht e<strong>in</strong>esolche Duplikatelim<strong>in</strong>ierung natürlich automatisch, ist aber nicht weniger aufwendig.6.2 Top-DownIn diesem Abschnitt wird e<strong>in</strong> ”top-down“ Algorithmus zur Anfrage-Bearbeitung angegeben,der also von der Anfrage ausgehend rekursiv Unteranfragen bearbeitet, die schließlichmit den Fakten direkt beantwortet werden können. Im Unterschied zum ”bottom-up“Algorithmus wird hier zielgerichtet vorgegangen, dafür kann dieselbe Unteranfrage abermehrfach auftreten und die Vorteile e<strong>in</strong>er mengenorientierten Arbeitsweise werden nichtgenutzt. Die aus der logischen Programmierung bekannte SLDNF-Resolution [Llo87] iste<strong>in</strong> ”top-down“ Algorithmus für Hornklauseln mit Negations-<strong>Defaults</strong>. Ziel ist es hier,e<strong>in</strong>en ähnlichen Algorithmus für beliebige Klauseln und <strong>Defaults</strong> zu entwickeln.Der hier vorgeschlagene Algorithmus hat gewisse Ähnlichkeiten zu den Algorithmenaus [Prz89, G<strong>in</strong>89, BG89]. Alle diese Algorithmen prüfen allerd<strong>in</strong>gs die Anwendbarkeit der<strong>Defaults</strong> <strong>in</strong> e<strong>in</strong>er eigenen zweiten Phase, während der hier angegebene Algorithmus diesso früh wie möglich tut (verzahnt mit der Berechnung der Antworten). Dies ist e<strong>in</strong>erseitse<strong>in</strong> Effizienzvorteil, andererseits aber auch nötig, um disjunktive Antworten zu berechnen:Da die Antworten von unterschiedlichen Extensionen abhängen, braucht man hier e<strong>in</strong>eRückkopplung von der Prüfung der <strong>Defaults</strong> zu dem eigentlichen Beweiser. Außerdemwird dadurch die Ähnlichkeit zur SLDNF-Resolution größer, die negative Literale ja auchsofort auswertet. Wie <strong>in</strong> der E<strong>in</strong>leitung erläutert wurde, ist es gerade diese Ähnlichkeit,die auf effiziente Implementierungen hoffen läßt.[Prz89, G<strong>in</strong>89, BG89] basieren ihrerseits wieder auf [Rei80]: Hierher stammt die Idee,die Benutzung von <strong>Defaults</strong> <strong>in</strong> Beweisen zuzulassen, aber über die verwendeten <strong>Defaults</strong>Buch zu führen.OL-ResolutionAuch <strong>in</strong> diesem Abschnitt wird so vorgegangen, daß e<strong>in</strong> aus der Literatur bekannter Beweiserum <strong>Defaults</strong> erweitert wird. Es wird hier die OL-Resolution [CL73] verwendet, aberman könnte auch e<strong>in</strong>e ganze Reihe anderer Beweiser auf entsprechende Weise erweitern.Die OL-Resolution ist e<strong>in</strong> Widerlegungsbeweiser, d.h. sie versucht, aus Φ ∪ {¬ψ} dieleere Klausel abzuleiten, also e<strong>in</strong>en Widerspruch. Gel<strong>in</strong>gt dies, so gilt Φ ⊢ ∃(ψ) (derExistenzabschluß entfällt natürlich, wenn ψ ke<strong>in</strong>e Variablen enthält).Als l<strong>in</strong>earer Resolventenbeweiser hat die OL-Resolution immer e<strong>in</strong>e aktuelle Zielklausel“( center clause“), zu der sie e<strong>in</strong> Axiom als Seitenklausel“ ( side clause“) h<strong>in</strong>zu-” ” ””nimmt, um die nächste Zielklausel abzuleiten. Die Zielklausel wird mit der Negation der


152 KAPITEL 6. BERECHNUNG VON ANTWORTENAnfrage <strong>in</strong>itialisiert und kann als Konkatenation der noch abzuarbeitenden Unteranfragenverstanden werden.Während die e<strong>in</strong>zelne Ableitung von der Anfrage bis zur leeren Klausel also l<strong>in</strong>earist, gilt dies nicht für den Suchraum: Im allgeme<strong>in</strong>en können verschiedene Axiome alsSeitenklausel verwendet werden, die nache<strong>in</strong>ander ausprobiert werden müssen (z.B. mit” Backtrack<strong>in</strong>g“).Die wesentliche Struktur e<strong>in</strong>es l<strong>in</strong>earen Resolventenbeweisers ist also folgende:prove(Φ, ψ) :-refute(Φ, ψ, ¬ψ).refute(Φ, ψ, Γ) :-empty(Γ).refute(Φ, ψ, Γ) :-ϕ ∈ Φ ∪ {¬ψ},resolve(Γ, ϕ, Γ ′ , θ),refute(Φ, ψ, Γ ′ ).Es wird hier e<strong>in</strong>e Art Prolog-Pseudocode verwendet, um die Algorithmen zu notieren,weil dadurch das Backtrack<strong>in</strong>g nicht explizit programmiert werden muß.Dieses Programm dient im folgenden als Grundlage für die Entwicklung des topdown“-Verfahrenszur Anfrage-Auswertung. Der eigentliche Ableitungsschritt ist dabei ”<strong>in</strong> der Prozedur resolve verborgen, die aus der Zielklausel Γ und der Seitenklausel ϕdie neue Zielklausel Γ ′ ableitet (die dabei verwendete Substitution θ wird erst späterbenötigt). Die Prozedur resolve soll hier nur <strong>in</strong>formell erklärt werden. E<strong>in</strong>e formaleDef<strong>in</strong>ition f<strong>in</strong>det sich <strong>in</strong> [CL73].Tatsächlich gibt es verschiedene Arten von Ableitungsschritten, der wichtigste ist derResolutionsschritt. Er besteht <strong>in</strong> der Anwendung der Axiome als Regeln, d.h. ist dieaktuelle Zielklausel← λ 1 ∧ λ 2 ∧ · · · ∧ λ nund gibt es e<strong>in</strong> Axiom der Formλ ′ 1 ← λ ′ 2 ∧ · · · ∧ λ ′ m,so daß λ 1 θ = λ ′ 1θ für e<strong>in</strong>e Substitution θ gilt, so kann man zu folgender Zielklauselübergehen:← λ ′ 2θ ∧ · · · ∧ λ ′ mθ ∧ λ 2 θ ∧ · · · ∧ λ n θ.E<strong>in</strong>e Substitution θ mit dieser Eigenschaft heißt e<strong>in</strong> Vere<strong>in</strong>heitlicher ( unifier“) der beiden”Klauseln. Es reicht aus, nur allgeme<strong>in</strong>ste“ Vere<strong>in</strong>heitlicher zu betrachten, die ke<strong>in</strong>e”unnötigen Variablenb<strong>in</strong>dungen vornehmen.Die OL-Resolution ist sehr ähnlich zur SLD-Resolution [Llo87] von Prolog. Da es sichaber nicht um Hornklauseln handelt, kann e<strong>in</strong> Axiom auf verschiedene Arten als Regelgelesen werden, p ← q ∧ ¬r kann zum Beispiel auch <strong>in</strong> der Form r ← q ∧ ¬p angewendet


6.2. TOP-DOWN 153werden, und sogar <strong>in</strong> der Form ¬q ← ¬p ∧ ¬r, denn natürlich kann auch die Zielklauseljetzt negative Literale enthalten.E<strong>in</strong>e Spezialität der OL-Resolution s<strong>in</strong>d die sogenannten ”gerahmten Literale“ ( ”framedliterals“) <strong>in</strong> der Zielklausel. Sie enthalten Steuer<strong>in</strong>formation, durch die man es vermeidenkann, frühere Zielklauseln aufbewahren zu müssen. Der Grundgedanke ist dabei,daß die früheren Zielklauseln <strong>in</strong> e<strong>in</strong>em Suffix mit der aktuellen Zielklausel übere<strong>in</strong>stimmen,da immer nur vorne etwas geändert wird. Am <strong>in</strong>teressantesten s<strong>in</strong>d nun natürlichmöglichst kurze frühere Zielklauseln, die bis auf das wegresolvierte Literal noch <strong>in</strong> deraktuellen Klausel enthalten s<strong>in</strong>d. Dieses Literal bewahrt man nun <strong>in</strong> Form e<strong>in</strong>es gerahmtenLiterals auf, d.h. bei dem obigen Resolventenschritt erhält man eigentlich folgendeZielklausel:← λ ′ 2θ ∧ · · · ∧ λ ′ mθ ∧ [λ 1 θ] ∧ λ 2 θ ∧ · · · ∧ λ n θ.Natürlich gehören diese gerahmten Literale nicht zu dem logischen Inhalt der Zielklausel.Die gerahmten Literale werden <strong>in</strong> e<strong>in</strong>em sogenannten Reduktions-Schritt verwendet.Dabei wird e<strong>in</strong> Resolutionsschritt mit derjenigen Zielklausel simuliert, bei der das gerahmteLiteral e<strong>in</strong>geführt wurde. Enthält e<strong>in</strong>e Zielklausel← λ 1 ∧ λ 2 ∧ · · · ∧ λ ne<strong>in</strong> gerahmtes Literal [λ i ], für das λ 1 θ = ∼λ i θ gilt (d.h. die beiden Literale stimmen bisauf das Vorzeichen übere<strong>in</strong>), so kann man zu folgender Zielklausel übergehen:← λ 2 θ ∧ · · · ∧ λ n θ.Die frühere Zielklausel war dann ja← λ i ∧ λ i+1 ∧ · · · ∧ λ n(oder e<strong>in</strong>e noch allgeme<strong>in</strong>ere Klausel, weil <strong>in</strong> der Zwischenzeit eventuell Substitutionenangewendet wurden). Würde man den Resolutionsschritt wirklich ausführen, so würdennur Literale h<strong>in</strong>zukommen, die <strong>in</strong> der Zielklausel ohneh<strong>in</strong> schon enthalten s<strong>in</strong>d.Hierfür ist es wichtig, die Zielklausel bis auf die Anwendung der Substitutionen alsStack zu behandeln, also immer nur vorne etwas zu verändern. Kommt dabei e<strong>in</strong> gerahmtesLiteral nach vorne, so wird es gelöscht (Kontraktionsschritt). Für alle <strong>in</strong> der Zielklauselenthaltenen gerahmten Literale ist der Rest der entsprechenden früheren Zielklausel alsonoch vollständig erhalten (er liegt ja unter dem gerahmten Literal im Stack).Schließlich besteht auch noch die Möglichkeit der Faktorbildung, bei der man zweiLiterale der Zielklausel durch Anwendung e<strong>in</strong>er Substitution verschmilzt. Zusätzlich elim<strong>in</strong>iertman natürlich immer doppelte Literale. Dabei muß man beachten, daß mandas am weitesten rechts stehende Literal stehen läßt, so daß die Invariante bezüglich dergerahmten Literale erhalten bleibt. Auch bei den Seitenklauseln kann man e<strong>in</strong>e Faktorbildungdurchführen.Beispiel 6.2.1: Das folgende Beispiel ist e<strong>in</strong> beliebter Test für l<strong>in</strong>eare Resolventenmethoden,weil es e<strong>in</strong>en Resolutionsschritt mit e<strong>in</strong>er früheren Zielklausel erfordert:Φ := {p ∨ ¬q, ¬p ∨ q, ¬p ∨ ¬q},ψ = ¬p ∧ ¬q.


154 KAPITEL 6. BERECHNUNG VON ANTWORTENMan kann etwa auf folgende Weise die leere Klausel ableiten:← ¬p ∧ ¬q (Startklausel p ∨ q)← ¬q ∧ [¬p] ∧ ¬q (Resolutionsschritt mit ¬p ∨ q, d.h. ¬p ← ¬q)← [¬p] ∧ ¬q (Elim<strong>in</strong>ierung doppelter Literale)← ¬q(Kontraktionsschritt)← ¬p ∧ [¬q] (Resolutionsschritt mit p ∨ ¬q, d.h. ¬q ← ¬p)← q ∧ [¬p] ∧ [¬q] (Resolutionsschritt mit ¬p ∨ ¬q, d.h. ¬p ← q)← [¬p] ∧ [¬q] (Reduktionsschritt)← [¬q] (Kontraktionsschritt)✷(Kontraktionsschritt)Die Kontraktionsschritte und die Elim<strong>in</strong>ierung doppelter Literale werden <strong>in</strong> Zukunft nichtmehr explizit angegeben, denn sie s<strong>in</strong>d ja auf jeden Fall auszuführen.✷Es fehlen jetzt natürlich noch die auswertbaren Literale. Man braucht hier nur dafürzu sorgen, daß sie rechts von den zugehörigen b<strong>in</strong>denden Literalen stehen. Dann s<strong>in</strong>dihre Variablen gebunden, wenn sie an den Anfang der Zielklausel gekommen s<strong>in</strong>d, so daßsie e<strong>in</strong>fach ausgewertet werden können. Formal beweist man mit Induktion über derLänge der Ableitung, daß die Zielklausel e<strong>in</strong>e sichere Klausel ist (Variablenvorkommen <strong>in</strong>gerahmten Literalen zählen dabei nicht als b<strong>in</strong>dend).Term<strong>in</strong>ierungDie OL-Resolution ist vollständig, d.h. wenn Φ ∪ {¬ψ} <strong>in</strong>konsistent ist, dann gibt ese<strong>in</strong>e Ableitung der leeren Klausel [CL73]. Dies ist aber wenig hilfreich, denn im Zusammenhangmit <strong>Defaults</strong> muß der Beweiser term<strong>in</strong>ieren, damit man sicher se<strong>in</strong> kann,daß die Negation e<strong>in</strong>es <strong>Defaults</strong> nicht ableitbar ist. Aus diesem Grund s<strong>in</strong>d Folgerungenmit <strong>Defaults</strong> im allgeme<strong>in</strong>en nicht rekursiv aufzählbar (die Folgerungsrelation ist ja nursemi-entscheidbar).Um diese Schwierigkeiten zu vermeiden, wurden hier ke<strong>in</strong>e Funktionssymbole und nurendlich viele Konstanten erlaubt. Damit wird die Folgerungsrelation trivialerweise entscheidbarund bei der Hyperresolution traten auch tatsächlich ke<strong>in</strong>e Probleme auf. Beider OL-Resolution ergeben sich die ersten Schwierigkeiten dagegen schon <strong>in</strong> der Aussagenlogik:Beispiel 6.2.2:Ableitung:Sei Φ := {p ← q, q ← p}, ψ := p. Dann ergibt sich folgende unendliche← p (Startklausel)← q ∧ [p] (Resolutionsschritt mit p ← q)← p ∧ [q] ∧ [p] (Resolutionsschritt mit q ← p). . . (jetzt wieder Resolutionsschritt mit p ← q)Natürlich folgt p nicht aus Φ, aber um dies sicher feststellen zu können, müßte die Ableitungterm<strong>in</strong>ieren.✷


6.2. TOP-DOWN 155Man könnte die Term<strong>in</strong>ierung sicherstellen, <strong>in</strong>dem man die früheren Zielklauseln aufbewahrtund bei e<strong>in</strong>er gleichen Zielklausel diesen Zweig der Ableitung abbricht. Da es <strong>in</strong>der Aussagenlogik nur endlich viele Zielklauseln gibt, müssen die Ableitungen also endlichse<strong>in</strong>.Allerd<strong>in</strong>gs war e<strong>in</strong> Vorteil der OL-Resolution ja gerade, daß man frühere Zielklauselnnicht abspeichern mußte. Es geht tatsächlich auch wesentlich effizienter mit folgendemTrick:Ist das erste Literal der Zielklausel gleich e<strong>in</strong>em ihrer gerahmten Literale, so kannman die Ableitung abbrechen. Dann ist nämlich die entsprechende frühere Zielklausele<strong>in</strong>e Teilklausel der aktuellen Klausel.Man muß sich nun natürlich noch davon überzeugen, daß die Term<strong>in</strong>ierung hierdurchgewährleistet ist (<strong>in</strong> der Aussagenlogik). Dazu betrachtet man <strong>in</strong> e<strong>in</strong>er unendlichen Ableitungdas am weitesten l<strong>in</strong>ks stehende Literal, das nie wegresolviert wird (so e<strong>in</strong> Literalmuß es geben, sonst hätte man die leere Klausel). Vor diesem Literal müssen sich nununendlich viele gerahmte Literale ansammeln, denn an der nächsten Position f<strong>in</strong>den jaimmer wieder Resolutionsschritte statt. Es gibt aber nur endlich viele gerahmte Literale,und ke<strong>in</strong>es kann doppelt h<strong>in</strong>e<strong>in</strong>kommen, denn sonst hätte man die Ableitung abbrechenmüssen.Wenn man den Fall der Aussagenlogik verläßt, kann man dieses Verfahren natürlichverallgeme<strong>in</strong>ern, so daß es e<strong>in</strong>em etwas abgeschwächten Test auf ”Subsumption“ entspricht.E<strong>in</strong>e Klausel Γ subsumiert e<strong>in</strong>e Klausel Γ ′ genau dann, wenn es e<strong>in</strong>e Substitutionθ gibt mit Γθ ⊆ Γ ′ . Dann ist Γ also allgeme<strong>in</strong>er als Γ ′ und man braucht Ableitungenmit Γ ′ nicht mehr zu betrachten.Überraschenderweise kann aber auch e<strong>in</strong> voller Subsumptionstest die Term<strong>in</strong>ierungnicht garantieren:Beispiel 6.2.3:Enthalte Φ Regeln zur Berechnung der transitiven Hülle:p(X, X ′ ) ← p(X, Y ) ∧ p(Y, X ′ ).p(X, X ′ ) ← q(X, X ′ ).Sei die Anfrage nun p(a, b). Es ergibt sich dann folgende Ableitung (ohne die gerahmtenLiterale, sie spielen für die Subsumption ja ke<strong>in</strong>e Rolle):← p(a, b)← p(a, Y 1 ) ∧ p(Y 1 , b)← p(a, Y 2 ) ∧ p(Y 2 , Y 1 ) ∧ p(Y 1 , b). . .← p(a, Y n ) ∧ p(Y n , Y n−1 ) ∧ p(Y n−1 , Y n−2 ) ∧ · · · ∧ p(Y 1 , b). . .Von diesen Klauseln subsumiert ke<strong>in</strong>e e<strong>in</strong>e andere. Man braucht dazu nur e<strong>in</strong> Modellbetrachten, das aus e<strong>in</strong>em Pfad der Länge n von a nach b besteht: In diesem Beispiel istdie Klausel mit n − 1 Variablen falsch, während alle anderen wahr s<strong>in</strong>d.


156 KAPITEL 6. BERECHNUNG VON ANTWORTENInteressant ist auch folgende Variante:p(a, X) ← p(a, Y ) ∧ p(Y, X).Während man im obigen Beispiel noch die beiden Regeln hätte abwechselnd benutzenkönnen, erzw<strong>in</strong>gt diese Formulierung, daß man erst e<strong>in</strong>e Zielklausel der passenden Längeaufbaut.✷E<strong>in</strong>e direkte Lösung des Problems ist, die Anzahl der <strong>in</strong> der Zielklausel vorkommendenVariablen auf die Anzahl der Konstanten zu begrenzen. Allerd<strong>in</strong>gs darf man die Ableitungnicht e<strong>in</strong>fach abbrechen, wenn diese Grenze überschritten ist, sondern muß je zweiVariablen identifizieren. Außerdem braucht man natürlich den Subsumptionstest.E<strong>in</strong>e andere Lösung ist, die Anzahl der vorkommenden Literale zu begrenzen (aufdie Anzahl aller Grundliterale). Hier übernimmt die ohneh<strong>in</strong> nötige Faktorisierung dieIdentifikation der Variablen, man kann die Ableitung also abbrechen, wenn die Grenzeüberschritten ist (allerd<strong>in</strong>gs ist diese Grenze wesentlich größer als die andere). Statt desSubsumptionstests genügt es hier, zu überprüfen, ob die Zielklausel zwei gleiche gerahmteLiterale enthält.Beide Vorschläge s<strong>in</strong>d natürlich sehr <strong>in</strong>effizient. Es ist daher wohl das beste, diekritischen Klauseln e<strong>in</strong>fach zu verbieten, d.h. zur Compilezeit“ e<strong>in</strong>e Analyse der Klauseln”durchzuführen. Dies wird natürlich im allgeme<strong>in</strong>en nur e<strong>in</strong> h<strong>in</strong>reichendes Kriterium se<strong>in</strong>.Die transitive Hülle müßte man dann so aufschreiben, wie es <strong>in</strong> Prolog üblich ist:p(X, X ′ ) ← q(X, X ′ ).p(X, X ′ ) ← q(X, Y ) ∧ p(Y, X ′ ).Allgeme<strong>in</strong> darf bei e<strong>in</strong>em rekursiven Aufruf e<strong>in</strong>es Prädikates die Gesamtzahl der vorkommendenVariablen nicht größer werden.Beispiel 6.2.4: Solange nur die Anzahl der vorkommenden Variablen beschränkt ist,reicht der Test, ob das erste Literal noch e<strong>in</strong>mal gerahmt vorkommt, nicht aus. Hat manetwa die Klausel p(a) ← p(X), so erhält man folgende unendliche Ableitung:← p(X)← p(X) ∧ [p(a)]← p(X) ∧ [p(a)] ∧ [p(a)]. . .Man kann sich hier helfen, <strong>in</strong>dem man die Ableitung abbricht, sobald dasselbe gerahmteLiteral zweimal vorkommt. Während der erste Test die Ableitung nur abbricht, wenn e<strong>in</strong>efrühere Zielklausel die aktuelle subsumiert, gilt dies nicht für dieses Verfahren:← p(a, X)(Startklausel)← p(Y, b) ∧ q ∧ [p(a, b)] (Resolution mit p(a, b) ← p(Y, b) ∧ q)← r ∧ [p(a, b)] ∧ q ∧ [p(a, b)] (Resolution mit p(a, b) ← r)An dieser Stelle bricht man die Ableitung ab, obwohl ke<strong>in</strong>e der drei Zielklauseln e<strong>in</strong>eandere subsumiert. Trotzdem bleibt das Verfahren vollständig: Der Grundgedanke ist,daß man an der Stelle, wo das weiter rechts stehende gerahmte Literal e<strong>in</strong>geführt wurde,


6.2. TOP-DOWN 157auch gleich hätte die Seitenklausel anwenden können, die zu dem weiter l<strong>in</strong>ks stehendenLiteral geführt hat (und anschließend gegebenenfalls die weiteren Ableitungsschrittewiederholen). Die so konstruierte Klausel subsumiert dann die aktuelle Zielklausel.Dieser Test und e<strong>in</strong>e Beschränkung der Anzahl der vorkommenden Variablen garantierendie Term<strong>in</strong>ierung der Anfrageauswertung: Wie oben erläutert, müßten sich <strong>in</strong> e<strong>in</strong>erunendlichen Ableitung immer mehr gerahmte Literale ansammeln. Aufgrund der Bereichsbeschränkungmüssen die <strong>in</strong> gerahmten Literalen vorkommenden Variablen auch<strong>in</strong> echten Literalen vorkommen, daher ist ihre Anzahl beschränkt. Also muß dasselbegerahmte Literal doppelt vorkommen.✷Zum Abschluß dieses Abschnittes bleibt festzuhalten, daß beim top-down“-Ansatz E<strong>in</strong>schränkungender zulässigen Axiome und <strong>Defaults</strong> nötig s<strong>in</strong>d, wenn man die Term<strong>in</strong>ierung”ohne allzu großen Aufwand garantieren will. Das Ziel ist dabei e<strong>in</strong>e Beschränkung derAnzahl der vorkommenden Variablen. Übrigens ist dieses Problem unabhängig von derErweiterung auf allgeme<strong>in</strong>e Klauseln, <strong>in</strong> Beispiel 6.2.3 handelte es sich ja um e<strong>in</strong>e Hornklauselmenge.Die beim bottom-up“ Verfahren hilfreiche Bereichsbeschränkung ist beim”top-down“ Ansatz dagegen von eher untergeordneter Bedeutung.”E<strong>in</strong>e andere Lösung dieses Problems ist es, bottom-up“ Elemente <strong>in</strong> den top-down“-” ”Beweiser e<strong>in</strong>zubauen ( logic programm<strong>in</strong>g with memo<strong>in</strong>g“, siehe etwa [Bry90]).”Berechnung von logisch korrekten AntwortenMit der OL-Resolution kann man also die leere Klausel ableiten, falls Φ∪{¬ψ} <strong>in</strong>konsistentist. Damit ist dann Φ ⊢ ∃(ψ) gezeigt, d.h. die Existenz e<strong>in</strong>er logisch korrekten Antwort.Die Antwortsubstitution selbst erhält man nun wie bei der SLD-Resolution, <strong>in</strong>dem manüber die Substitutionen für die Antwortvariablen Buch führt. Der Grundgedanke ist dabeifolgender: Wenn die Variablen von ψ im Laufe des Beweises durch Konstanten gemäße<strong>in</strong>er Substitution θ ersetzt wurden, dann kann man denselben Beweis ausgehend von ¬ψθdurchführen. Damit erhält man dann Φ ⊢ ψθ (aufgrund der Bereichsbeschränkung werdenalle Variablen im Laufe des Beweises durch Konstanten ersetzt).Im Unterschied zur SLD-Resolution kann hier die Anfrage aber mehrfach <strong>in</strong> der Ableitungverwendet werden, das liefert dann gerade die disjunktiven Antworten. Wenn manaus Φ ∪ {¬ψθ 1 , . . . , ¬ψθ k } die leere Klausel ableiten kann, so ist diese Menge <strong>in</strong>konsistentund es giltΦ ⊢ ¬ψθ 1 ∨ · · · ∨ ¬ψθ k .Allerd<strong>in</strong>gs wird die Buchführung über die Substitutionen jetzt natürlich etwas mühsamer.E<strong>in</strong> hübscher Implementierungstrick hierfür wurde <strong>in</strong> [Gre69] vorgeschlagen: Manhängt e<strong>in</strong> Literal answer(X 1 , . . . , X n ) an die Anfrage an, mit e<strong>in</strong>em neuen Prädikat answerund den Antwortvariablen X 1 , . . . , X n . In diesen Literalen sammeln sich dann die Substitutionenfür X 1 , . . . , X n an, ansonsten werden sie bei der Ableitung ignoriert (<strong>in</strong>sbesonderewird e<strong>in</strong>e Klausel, die nur noch aus solchen Literalen besteht, wie die leere Klauselbehandelt).


158 KAPITEL 6. BERECHNUNG VON ANTWORTENDaher muß man die Beweisprozedur so erweitern, daß sie die schließlich erreichte” leere“ Klausel <strong>in</strong> e<strong>in</strong>em Rückgabeparameter“ A liefert. Diese Klausel entspricht dann”der berechneten disjunktiven Antwort:prove(Φ, ψ, A) :-refute(Φ, ψ, ¬ψ, A).refute(Φ, ψ, Γ, A) :-empty(Γ),A = Γ.refute(Φ, ψ, Γ, A) :-ϕ ∈ Φ ∪ {¬ψ},resolve(Γ, ϕ, Γ ′ , ),refute(Φ, ψ, Γ ′ , A).Beispiel 6.2.5: Sei etwa Φ := {p(a) ∨ p(b)}. Hat man nun die Anfrage p(X), erhältman folgende Ableitung:← p(X) ∧ answer(X)(Startklausel)← ¬p(b) ∧ [p(a)] ∧ answer(a)(Resolution mit p(a) ← ¬p(b))← answer(b) ∧ [¬p(b)] ∧ [p(a)] ∧ answer(a) (Resolution mit ¬p(X) ← answer(X))← answer(b) ∧ answer(a)(Antwortklausel)Hieraus erhält man nun direkt die disjunktive Antwort {〈X ⊳ a〉, 〈X ⊳ b〉}.Dies entspricht natürlich im wesentlichen der Normalisierunganswer(X 1 , . . . , X n ) ← ψ,die bei der bottom-up“-Methode vorgenommen wurde. Tatsächlich kann man es bei”beiden Verfahren entweder als Buchführungs-Mechanismus verstehen, oder als echte Normalisierungmit logischem Inhalt.Die Buchführung über die verwendeten Default-Ausprägungen geschieht hier anders(s.u.), so daß e<strong>in</strong>e Normalisierung nach Kapitel 2 nur dann nötig ist, wenn die <strong>Defaults</strong>ke<strong>in</strong>e Klauseln s<strong>in</strong>d.Bei den Axiomen wird natürlich auch vorausgesetzt, daß sie <strong>in</strong> die Klauseldarstellunggebracht wurden.✷E<strong>in</strong> leichtgläubiger BeweiserNachdem jetzt also logisch korrekte Antworten berechnet werden können, sollen auch<strong>Defaults</strong> <strong>in</strong> dem Beweis benutzt werden. Am e<strong>in</strong>fachsten ist zunächst die ”leichtgläubige“Default-Semantik, die später auch als Unterprogramm benötigt wird. Zunächst seien hierwieder Prioritäten ausgeschlossen, die für die Verwendung von Prioritäten notwendigenErweiterungen können jedoch auf die e<strong>in</strong>e e<strong>in</strong>zige Prozedur (extend) beschränkt werden,wie unten erläutert wird.


6.2. TOP-DOWN 159Die Grundidee ist nun, e<strong>in</strong>fach die Verwendung der <strong>Defaults</strong> <strong>in</strong> dem Beweis zuzulassen,sie also im wesentlichen wie Axiome zu behandeln. Der leichtgläubige Beweiser ist jaauch nichts anderes als e<strong>in</strong> logischer Beweiser, angewendet auf Φ ∪ E für e<strong>in</strong>e maximaleExtension E.Da man E nicht kennt, erlaubt man zunächst e<strong>in</strong>fach die Verwendung beliebigerDefault-Ausprägungen δ ∈ ∆ ∗ , aber überprüft jeweils, ob δ zusammen mit den bisherim Beweis verwendeten <strong>Defaults</strong> D noch zu e<strong>in</strong>er maximalen Extension erweitert werdenkann. Solange ke<strong>in</strong>e Prioritäten zwischen den <strong>Defaults</strong> existieren, ist dies genau dann derFall, wenn Φ ∪ D ∪ {δ} konsistent ist, d.h. Φ ∪ D ⊬ ¬δ. An dieser Stelle kann der obene<strong>in</strong>geführte logische Beweiser verwendet werden.Um die Berücksichtigung von Prioritäten vorzubereiten, wird der Test <strong>in</strong> e<strong>in</strong>e eigeneProzedur extend verlagert:extend(Φ, D, δ, D ′ ) :-not prove(Φ ∪ D, ¬δ, A),D ′ = D ∪ {δ}.Der leichtgläubige Beweiser entsteht nun aus dem bereits bekannten logischen Beweiserdurch H<strong>in</strong>zufügung e<strong>in</strong>er Regel, die Resolutionsschritte mit <strong>Defaults</strong> beschreibt. Außerdemwird noch e<strong>in</strong> E<strong>in</strong>gabeparameter D für die bisher verwendeten <strong>Defaults</strong> benötigt,sowie der Ausgabeparameter D für die <strong>in</strong>sgesamt verwendeten <strong>Defaults</strong>:proveCred(Φ, ψ, A, D) :-refuteCred(Φ, ψ, ¬ψ, ∅, A, D).refuteCred(Φ, ψ, Γ, D, A, D) :-empty(Γ),A = Γ,D = D.refuteCred(Φ, ψ, Γ, D, A, D) :-ϕ ∈ Φ ∪ {¬ψ} ∪ D,resolve(Γ, ϕ, Γ ′ , ),refuteCred(Φ, ψ, Γ ′ , D, A, D).refuteCred(Φ, ψ, Γ, D, A, D) :-δ ∈ ∆,resolve(Γ, δ, Γ ′ , θ),ground(δθ, δθθ ′ ),extend(Φ, D, δθθ ′ , D ′ ),refuteCred(Φ, ψ, Γ ′ θ ′ , D ′ , A, D).Die von diesem Programm konstruierte partielle Extension D ist gerade e<strong>in</strong>e Begründungim S<strong>in</strong>ne von Def<strong>in</strong>ition 6.1.12: Mit Hilfe dieser Default-Ausprägungen und den durch Agegebenen Grundbeispielen der Anfrage wurde die leere Klausel abgeleitet. Die Konsistenzvon Φ ∪ D stellt die Prozedur extend sicher.


160 KAPITEL 6. BERECHNUNG VON ANTWORTENE<strong>in</strong>e Fe<strong>in</strong>heit bei dem Programm ist noch, daß die Grundbeispiel-Bildung für dieDefault-Regel δ hier erst nach dem Resolventenschritt vorgenommen wird. Im Normalfallb<strong>in</strong>det schon die vere<strong>in</strong>heitlichende Substitution θ alle Variablen des <strong>Defaults</strong>, <strong>in</strong>sbesonderegilt dies aufgrund der Bereichsbeschränkung für die klassischen Negations-<strong>Defaults</strong>(wenn man die Literale entsprechend anordnet). Falls aber δθ noch Variablen enthält, somuß man alle Grundbeispiele δθθ ′ durchprobieren. Dies entspricht dem ”flounder<strong>in</strong>g“ beider SLDNF-Resolution [Llo87]. E<strong>in</strong> Beispiel für dieses Problem ist:Beispiel 6.2.6: Sei Φ := {vogel(tweety)} und ∆ := {kann fliegen(X) ← vogel(X)}.Stellt man nun die Anfrage kann fliegen(X), so ist nur der Default anwendbar, aber se<strong>in</strong>eVariable wird bei dem Resolventenschritt nicht gebunden, daher kann se<strong>in</strong>e Anwendbarkeitnicht geprüft werden (manche Ausprägungen s<strong>in</strong>d anwendbar, andere nicht).Die offensichtliche Lösung ist, diese Überprüfung noch zu verschieben, bis X gebundenist (durch die Resolution mit vogel(tweety)). Dieses Verschieben kann etwa geschehen, <strong>in</strong>demman den Default durch das Axiom kann fliegen(X) ← vogel(X)∧default(X) ersetzt,zusammen mit dem neuen Default default(X) (entsprechend der Normalformbildung). ✷E<strong>in</strong> vorsichtiger BeweiserBei der vorsichtigen CWA können bekanntlich gerade die <strong>Defaults</strong> δ angenommen werden,die <strong>in</strong> allen maximalen Extensionen enthalten s<strong>in</strong>d. Das ist natürlich äquivalent dazu, daßes ke<strong>in</strong>e maximale Extension E mit δ ∉ E gibt. Für jede solche Extension müßte aberaufgrund der Maximalität schon Φ ∪ E ⊢ ¬δ gelten, sonst könnte man δ ja zu E h<strong>in</strong>zunehmen.Daher kann der vorsichtige Beweiser genau diejenigen <strong>Defaults</strong> δ annehmen,für die ¬δ nicht mit dem obigen leichtgläubigen Beweiser abgeleitet werden kann. Derleichtgläubige Beweiser berechnet hier gerade die widersprechenden Begründungen.proveCaref(Φ, ψ, A) :-refuteCaref(Φ, ψ, ¬ψ, A).refuteCaref(Φ, ψ, Γ, A) :-empty(Γ),A = Γ.refuteCaref(Φ, ψ, Γ, A) :-ϕ ∈ Φ ∪ {¬ψ},resolve(Γ, ϕ, Γ ′ , ),refuteCaref(Φ, ψ, Γ ′ , A).refuteCaref(Φ, ψ, Γ, A) :-δ ∈ ∆,resolve(Γ, δ, Γ ′ , θ),ground(δθ, δθθ ′ ),not proveCred(Φ, ¬(δθθ ′ ), , ),refuteCaref(Φ, ψ, Γ ′ θ ′ , A).


6.2. TOP-DOWN 161Da beim vorsichtigen Ansatz die <strong>Defaults</strong> unabhängig von e<strong>in</strong>ander angenommen werdenkönnen, ist nicht wie beim leichtgläubigen Beweiser e<strong>in</strong>e Buchführung über die bisherangenommenen <strong>Defaults</strong> nötig. Sie könnte allerd<strong>in</strong>gs helfen, Doppelarbeit zu vermeiden.E<strong>in</strong> skeptischer BeweiserBei der skeptischen oder m<strong>in</strong>imale Modelle“-Semantik ist es nicht mehr möglich, e<strong>in</strong>en”Default e<strong>in</strong>fach anzunehmen oder zurückzuweisen. Es ist zu zeigen, daß die Anfrage ausallen maximalen Extensionen folgt, aber <strong>in</strong> den verschiedenen Extensionen können verschiedene<strong>Defaults</strong> zum Beweis verwendet werden. Es ist also e<strong>in</strong>e Fallunterscheidungnötig, wobei das Ziel ist, sowenig Fälle wie möglich betrachten zu müssen, und <strong>in</strong>sbesonderenicht jede e<strong>in</strong>zelne Extension.Der aktuelle Zustand <strong>in</strong> dieser Fallunterscheidung s<strong>in</strong>d die bisher angenommenen <strong>Defaults</strong>D, also e<strong>in</strong>e partielle Extension. Zu zeigen ist, daß die Anfrage <strong>in</strong> allen von Düberdeckten Extensionen gilt, also <strong>in</strong> allen Extensionen E mit D ⊆ E.Wenn nun e<strong>in</strong>e Default-Ausprägung δ <strong>in</strong> dem Beweis angenommen werden soll, wirdversucht, ¬δ mit dem leichtgläubigen Beweiser herzuleiten. Der leichtgläubige Beweiserwird dabei mit D gestartet, da er nur im aktuell betrachteten Bereich |D| nach maximalenExtensionen suchen soll, die δ nicht enthalten. Falls es solche Extensionen gibt,liefert der leichtgläubige Beweiser <strong>in</strong> dem Rückgabe-Parameter D e<strong>in</strong>e Begründung für ¬δ.Man läßt den leichtgläubigen Beweiser jetzt backtracken, um alle solchen Begründungenzu erhalten. Die Menge {D 1 , . . . , D k } bildet e<strong>in</strong>e vollständige Menge widersprechender”Begründungen“ (relativ zu D). Im e<strong>in</strong>zelnen hat sie folgende Eigenschaften:• D ⊆ D i für i = 1, . . . , k,• für jedes D i gibt es e<strong>in</strong>e maximale Extension E i mit D i ⊆ E i ,• Φ ∪ D i ⊢ ¬δ,• für jede maximale Extension E mit D ⊆ E und Φ ∪ E ⊢ ¬δ gibt es D i mit D i ⊆ E.Betrachtet man die Menge der überdeckten Extensionen, so ergibt sich folgendes Bild:✬D✬D ∪ {δ}✫D 1✬✫✫✩· · ·✪D k✬✫✩✩✪✩✪✪


162 KAPITEL 6. BERECHNUNG VON ANTWORTENNach dem Ausgang des leichtgläubigen Beweises von ¬δ s<strong>in</strong>d folgende Fälle zu unterscheiden:• Der Beweis schlägt fehlt, also k = 0: Dann ist δ also <strong>in</strong> allen maximalen ExtensionenE ⊆ |D| enthalten und kann ohne weitere Fallunterscheidung angenommenwerden.• E<strong>in</strong>es der D i ist gerade D: Dann ist δ <strong>in</strong> ke<strong>in</strong>er maximalen Extension E ∈ |D|enthalten und kann nicht angenommen werden.• Andernfalls ist e<strong>in</strong>e Fallunterscheidung nötig, denn δ ist <strong>in</strong> e<strong>in</strong>er, aber nicht allenExtensionen aus |D| enthalten. Die Idee ist nun e<strong>in</strong>fach, daß man für die übrigenExtensionen e<strong>in</strong>en anderen Beweis benötigt (der δ nicht verwendet). Man ruft alsoden skeptischen Beweiser rekursiv mit jedem D i auf. Diese Rekursion term<strong>in</strong>iert, weiljedes D i e<strong>in</strong>e echte Obermenge von D ist (außerdem ist die Anzahl der betrachtetenmaximalen Extensionen echt kle<strong>in</strong>er geworden).Beispiel 6.2.7: Sei Φ := {p(a), p(b), q(a) ∨ q(b)} und ∆ := {¬p(X), ¬q(X)}. AlsAnfrage sei nun p(X) ∧ ¬q(X) betrachtet. Der Beweis beg<strong>in</strong>nt mit D := ∅, d.h. es werdenalle maximalen Extensionen betrachtet. Es wird nun p(X) mit dem Axiom p(a) resolviert,anschließend kann nur die Default-Ausprägung ¬q(a) verwendet werden. Aber q(a) kannmit dem leichtgläubigen Beweiser unter der Annahme von D := {¬q(b)} abgeleitet werden.Also muß nun die Anfrage beg<strong>in</strong>nend mit D := {¬q(b)} hergeleitet werden. Es wirdwieder zuerst mit p(a) resolviert, aber nun wird der Default ¬q(a) sofort widerlegt. Alsowird nach dem Backtrack<strong>in</strong>g das Axiom p(b) verwendet. Zusammen mit dem bereits angenommenenDefault ¬q(b) wird die leere Klausel abgeleitet. Dies liefert die Antwort 〈X⊳b〉für den durch D = {¬q(b)} beschriebenen Bereich.Nun kann der ursprüngliche Beweis mit D := {¬q(a)} fortgesetzt werden. Man erhältauch hier die leere Klausel und den Anteil 〈X ⊳ a〉 zu der Antwort {〈X ⊳ a〉, 〈X ⊳ b〉}. ✷Aus diesen Überlegungen ergibt sich der folgende Algorithmus. Es wird dabei das e<strong>in</strong>gebautePrädikat f<strong>in</strong>dall verwendet, das mittles Backtrack<strong>in</strong>g alle Lösungen e<strong>in</strong>es nichtdeterm<strong>in</strong>istischenAufrufs liefert.proveSkept(Φ, ψ, A) :-refuteSkept(Φ, ψ, ¬ψ, ∅, A).refuteSkept(Φ, ψ, Γ, D, A) :-empty(Γ),A = Γ.refuteSkept(Φ, ψ, Γ, D, A) :-ϕ ∈ Φ ∪ {¬ψ} ∪ D,resolve(Γ, ϕ, Γ ′ , ),refuteSkept(Φ, ψ, Γ ′ , D, A).


6.2. TOP-DOWN 163refuteSkept(Φ, ψ, Γ, D, A) :-δ ∈ ∆,resolve(Γ, δ, Γ ′ , θ),groundInst(δθ, δθθ ′ ),f<strong>in</strong>dall(D, refuteCred(Φ, ¬(δθθ ′ ), δθθ ′ , D, , D), {D 1 , . . . , D k }),D ∉ {D 1 , . . . , D k },proveSkeptMulti(Φ, ψ, {D 1 , . . . , D k }, A 0 ),refuteSkept(Φ, ψ, Γ ′ θ ′ , D ∪ {δθθ ′ }, A 1 ),A = A 0 ∨ A 1 .Das Prädikat proveSkeptMulti berechnet durch rekursiven Aufruf des skeptischen Beweisersalternative Antworten für die übrigen Extensionen {D 1 , . . . , D k }:proveSkeptMulti(Φ, ψ, {D 1 , . . . , D k }, A) :-refuteSkept(Φ, ψ, ¬ψ, D 1 , A 0 ),proveSkeptMulti(Φ, ψ, {D 2 , . . . , D k }, A 1 ),A = A 0 ∨ A 1 .proveSkeptMulti(Φ, ψ, ∅, false).Erweiterung auf <strong>Defaults</strong> mit PrioritätsstufenIn den oben angegebenen Algorithmen wurde nur <strong>in</strong> der Prozedur extend benutzt, daßes zwischen den <strong>Defaults</strong> ke<strong>in</strong>e Prioritäten gibt. Dort wurde davon ausgegangen, daß e<strong>in</strong>epartielle Extension D := {δ 1 , . . . , δ n−1 } um e<strong>in</strong>en Default δ n erweitert werden kann, wennΦ ∪ D ⊬ ¬δ n .Dies reicht bei priorisierten <strong>Defaults</strong> nicht mehr aus, wie man sich leicht an folgendemBeispiel klarmachen kann:Φ := {p ∨ q}, ∆ := {¬p, ¬q}, l(¬p) := 1, l(¬q) := 2.Hier gilt Φ ∪ ∅ ⊬ q, aber D ′ := {¬q} ist ke<strong>in</strong>e partielle Extension (die e<strong>in</strong>zige maximaleExtension ist E := {¬p}).Man kann hier stufenweise vorgehen, <strong>in</strong>dem man testet, ob ¬δ 1 ∨ · · · ∨ ¬δ n mit demskeptischen Beweiser bezüglich∆ ′ := { δ ∈ ∆ ∣ ∣ δ < max{l(δ i ) | 1 ≤ i ≤ n} }bewiesen werden kann (e<strong>in</strong>e solche Methode wird <strong>in</strong> [BG89] verwendet).Diese Lösung ist jedoch nicht verträglich mit dem Ziel, die Anwendbarkeit der <strong>Defaults</strong>so früh wie möglich zu testen — zum<strong>in</strong>dest müßte man dann die Berechnung bei jedemneu h<strong>in</strong>zugenommenen Default wiederholen. Man braucht hier also e<strong>in</strong>e <strong>in</strong>krementelleVorgehensweise, ähnlich wie im nicht priorisierten Fall.Sei im folgenden zur Abkürzung wieder∆ i := {δ ∈ ∆ | l(δ) ≤ i}.


164 KAPITEL 6. BERECHNUNG VON ANTWORTENDer Schlüssel zu e<strong>in</strong>er <strong>in</strong>krementellen Berechnung partieller Extensionen ist nun folgenderBegriff von stabiler Extension“, bei der jeder Default δ ∈ D gegen widersprechende” ”Begründungen“ aus ∆ ∗ l(δ)−1 durch andere <strong>Defaults</strong> aus D geschützt“ ist:”Def<strong>in</strong>ition 6.2.8 (Stabile Extension): D = {δ 1 , . . . , δ n } heißt stabile (∆, l)-Extensiongenau dann, wenn es für ke<strong>in</strong> i ∈ {1, . . . , n} e<strong>in</strong> ˆD i ⊆ ∆ ∗ l(δ i )−1gibt mit• Φ ∪ {δ 1 , . . . , δ i−1 } ∪ ˆD i ist konsistent, und• Φ ∪ {δ 1 , . . . , δ i−1 } ∪ ˆD i ⊢ ¬δ i .Satz 6.2.9: Sei D e<strong>in</strong>e stabile (∆, l)-Extension. Dann gibt es e<strong>in</strong>e maximale (∆, l)-Extension E mit D ⊆ E.Beweis: Die Behauptung wird mit Induktion über der Anzahl n der <strong>in</strong> D vorkommenden<strong>Defaults</strong> bewiesen. Im Fall n = 0 ist die Behauptung trivial, denn es gibt m<strong>in</strong>destens e<strong>in</strong>emaximale Extension.Sei die Behauptung nun für n − 1 bewiesen und e<strong>in</strong> neuer Default δ n <strong>in</strong> D e<strong>in</strong>zufügen,d.h. D = {δ 1 , . . . , δ n }. Nach Induktionsannahme gibt es e<strong>in</strong>e maximale Extension E ′ mit{δ 1 , . . . , δ n−1 } ⊆ E ′ . Sei nunˆD n := E ′ ∩ ∆ ∗ l(δ n)−1 .Natürlich ist Φ ∪ {δ 1 , . . . , δ n−1 } ∪ ˆD n konsistent, also ist nach der Voraussetzung auchkonsistent.Φ ∪ {δ 1 , . . . , δ n−1 } ∪ ˆD n ∪ {δ n }Man konstruiert nun E, <strong>in</strong>dem man hiervon ausgehend auf jeder Stufe e<strong>in</strong>e maximale Mengevon <strong>Defaults</strong> h<strong>in</strong>zunimmt, so daß die Konsistenz erhalten bleibt: Sei E 0 := {δ 1 , . . . , δ n } ∪ ˆD nDamit istD ⊆ E 0 und E 0 ∩ ∆ ∗ l(δ n)−1 = E′ ∩ ∆ ∗ l(δ n)−1 .Sei nun δ 1 ′ , . . . , δ′ m e<strong>in</strong>e Aufzählung der <strong>Defaults</strong> aus ∆ ∗ − ∆ ∗ l(δ n)−1, die verträglich mit denPrioritätsstufen ist (<strong>Defaults</strong> mit niedrigerem l-Wert kommen zuerst). Dann sei{E i−1 ∪ {δ j ′ E i :=} falls Φ ∪ E i−1 ∪ {δ j ′ } konsistent istsonst.E i−1Schließlich sei E := E m .Nach Konstruktion ist Φ ∪ E konsistent und es gilt D ⊆ E. Zu zeigen ist noch die Maximalitätsforderung.Da E <strong>in</strong> den <strong>Defaults</strong> der Stufen < l(δ n ) mit E ′ übere<strong>in</strong>stimmt, kann dieMaximalitätsforderung höchstens durch e<strong>in</strong>en der <strong>Defaults</strong> δ ′ 1 , . . . , δ′ m verletzt werden. Angenommen,für e<strong>in</strong> δ ′ j ∉ E wäreΦ ∪ {δ ∈ E | l(δ) ≤ l(δ ′ j)} ∪ {δ ′ j}konsistent. Nach Konstruktion istΦ ∪ {δ ∈ E | l(δ) ≤ l(δ ′ j)} ∪ {δ ′ j} ∪ {δ 1 , . . . , δ n−1 }<strong>in</strong>konsistent. Sei i nun m<strong>in</strong>imal, so daßΦ ∪ {δ ∈ E | l(δ) ≤ l(δ ′ j)} ∪ {δ ′ j} ∪ {δ 1 , . . . , δ i }


6.2. TOP-DOWN 165<strong>in</strong>konsistent ist. Es gilt l(δ ′ j ) < l(δ i), denn wegen δ i ∈ E wäre δ i sonst <strong>in</strong> dem als konsistentbekannten Anteil. Damit wäre die Eigenschaft von ”stabiler Extension“ aber für δ i undˆD i := {δ ∈ E | l(δ) ≤ l(δ ′ j)} ∪ {δ ′ j}verletzt.✷Stabile Extensionen kann man nun mit dem skeptischen Beweiser berechnen, und zwarruft man ihn mit der bisherigen stabilen Extension auf und versucht die Negation desneuen <strong>Defaults</strong> δ zu beweisen, wobei nur <strong>Defaults</strong> mit echt kle<strong>in</strong>erem l-Wert verwendetwerden dürfen (deswegen term<strong>in</strong>iert die Rekursion). Falls der skeptische Beweis nungel<strong>in</strong>gt, so kann δ natürlich nicht angenommen werden. Andernfalls betrachtet man diebei der Fallunterscheidung erzeugten partiellen Extensionen, <strong>in</strong> denen ke<strong>in</strong> leichtgläubigerBeweis von ¬δ möglich war. Sie bilden zusammen mit δ e<strong>in</strong>e stabile Extension.Der günstigste Zeitpunkt für die Prüfung der <strong>Defaults</strong>Oben wurde erläutert, daß es e<strong>in</strong> wesentlicher Vorteil der hier angegebenen Methode ist,die Anwendbarkeit der <strong>Defaults</strong> so früh wie möglich zu testen, und diesen Test nicht aufe<strong>in</strong>e zweite Phase zu verschieben. Allerd<strong>in</strong>gs ist dies nicht immer der günstigste Zeitpunkt.Dies sei an der Regelp ← ¬q ∧ rerläutert. Wenn die Überprüfung des <strong>Defaults</strong> ¬q sehr aufwendig ist und wenn der Beweisvon r sehr schnell fehlschlägt, dann ist es natürlich günstiger, zuerst den Beweis von r zuversuchen: Da dies fehlschlägt, braucht man den Default nicht mehr zu überprüfen. Eskann allerd<strong>in</strong>gs auch die umgekehrte Situation e<strong>in</strong>treten, daß der Default schnell widerlegtwird, während der Beweis von r sehr aufwendig ist. In diesem Fall hätte man den Defaultzuerst testen sollen.Der richtige Zeitpunkt für die Überprüfung der <strong>Defaults</strong> ist also anwendungs-abhängig.Die hier angegebene Methode kann aber leicht so verallgeme<strong>in</strong>ert werden, daß der <strong>Datenbanken</strong>twerfersteuern kann, wann die <strong>Defaults</strong> überprüft werden (<strong>in</strong>nerhalb der Regelnist dies schon jetzt durch die Anordnung der Literale zu steuern). Dagegen s<strong>in</strong>d die<strong>in</strong> [Prz89, G<strong>in</strong>89, BG89] vorgeschlagenen Verfahren <strong>in</strong>härent zweiphasig (erst werden Folgerungenunter Verwendung beliebiger <strong>Defaults</strong> berechnet, dann die Anwendbarkeit der<strong>Defaults</strong> überprüft).


166


Kapitel 7AusblickZiel dieser Arbeit war es, die Semantik von <strong>Defaults</strong> zu klären und die algorithmischenGrundlagen für die Anfrage-Auswertung unter Berücksichtigung von <strong>Defaults</strong> zu legen.Damit sollte e<strong>in</strong> sauberes und tragfähiges Fundament für die Erweiterung deduktiver<strong>Datenbanken</strong> um allgeme<strong>in</strong>e Klauseln und <strong>Defaults</strong> gelegt werden.In diesem Kapitel sollen nun Perspektiven für die weitere Arbeit aufgezeigt werden.DynamikDer Inhalt e<strong>in</strong>er Datenbank ist üblicherweise ständigen Änderungen unterworfen. Wenndiese Änderungsoperationen nicht vorbereitet s<strong>in</strong>d, also im Extremfall mit e<strong>in</strong>em Texteditore<strong>in</strong>fach die Formelmenge geändert wird, dann ist das e<strong>in</strong>erseits unbequem undandererseits gefährlich für die Integrität der Datenbank: Es kann ja leicht passieren, daßder Datenbankzustand durch e<strong>in</strong>en E<strong>in</strong>gabefehler s<strong>in</strong>nlos wird.Natürlich könnte man Programme <strong>in</strong> e<strong>in</strong>er höheren Programmiersprache schreiben, diediese Änderungen kontrolliert vornehmen. Das hat aber den Nachteil, daß die Semantikdieser Programme schwer formal zu behandeln ist, so daß der e<strong>in</strong>fache deklarative Rahmendeduktiver <strong>Datenbanken</strong> verlassen wird.Besser ist es, diese Änderungsoperationen stattdessen <strong>in</strong> geeigneten Logiken zu spezifizieren,etwa dynamischer oder temporaler Logik. E<strong>in</strong> solcher Ansatz wurde auch imIS-CORE Projekt gewählt [SS91, ESS92]. Ziel dieses Projektes ist es, den Entwurf vonbeweisbar korrekten Informationssystemen zu ermöglichen und die Wiederverwendbarkeitvon Spezifikationen zu unterstützen. Dabei wurde e<strong>in</strong> objekt-orientierter Ansatz gewählt,wobei die Objekte über geme<strong>in</strong>same Ereignisse kommunizieren.In Abschnitt 3.3 wurde schon motiviert, daß bei der Semantik von Änderungsoperationen<strong>Defaults</strong> e<strong>in</strong>e zentrale Rolle spielen. Es bleibt hier aber noch viel zu untersuchen.Zunächst s<strong>in</strong>d die Ergebnisse dieser Arbeit auf solche allgeme<strong>in</strong>eren Logiken zu übertragen,und dann auch das Zusammenspiel der verschiedenen Arten von <strong>Defaults</strong> zu klären(etwa zeitliche <strong>Defaults</strong> und solche, die die Vererbung beschreiben).Außerdem s<strong>in</strong>d natürlich auch die Antwortalgorithmen entsprechend zu erweitern.167


168 KAPITEL 7. AUSBLICKDies ist wohl ke<strong>in</strong>e leichte Aufgabe, zum<strong>in</strong>dest, wenn man mächtige Anfragen zuläßt(etwa Planungsaufgaben).Als Beispiel für den Nutzen solcher Beweiser sei e<strong>in</strong> kommerzielles Textadventurespiel( ”The Pawn“) genannt, bei dem man e<strong>in</strong>e wesentliche Aufgabe <strong>in</strong> e<strong>in</strong>er von den Autorenoffensichtlich nicht vorhergesehenen Weise umgehen konnte. So e<strong>in</strong> Textadventurespiel istim Grunde auch nichts anderes als e<strong>in</strong>e Datenbank mit e<strong>in</strong>em umfangreichen Satz vorgefertigterÄnderungsoperationen (und e<strong>in</strong>er natürlichsprachlichen Schnittstelle). Wäre dasAdventurespiel nun <strong>in</strong> e<strong>in</strong>er temporalen Logik spezifiziert worden, und hätte man e<strong>in</strong>enentsprechenden Beweiser, so hätte man die naheliegende Anfrage stellen können, ob alleAufgaben erst gelöst werden müssen, bevor der Gew<strong>in</strong>nzustand erreicht wird.Module, Objekt-OrientierungBei größeren <strong>Datenbanken</strong> ist natürlich e<strong>in</strong>e Strukturierung <strong>in</strong> kle<strong>in</strong>e, überschaubare E<strong>in</strong>heitenunbed<strong>in</strong>gt wünschenswert. Dies könnte e<strong>in</strong>e objekt-orientierte Vorgehensweise leisten.Umgekehrt darf man aber natürlich auch nicht die Vorteile e<strong>in</strong>er logikbasierten Spezifikationverlieren: die meisten zur Zeit verfügbaren objekt-orientierten Systeme s<strong>in</strong>d eherimperativ und haben ke<strong>in</strong>e formale Semantik. E<strong>in</strong>e Integration von objekt-orientiertenund <strong>deduktiven</strong> Ansätzen ist daher e<strong>in</strong> aktuelles Forschungsthema.Da sich die Semantik der Vererbung mit <strong>Defaults</strong> erklären läßt, s<strong>in</strong>d die hier gelegtenGrundlagen natürlich auch für e<strong>in</strong>e solche Integration nützlich.Der Ausbau auf e<strong>in</strong>e dynamische Logik ist oben schon genannt worden: E<strong>in</strong> wichtigerUnterschied zwischen objekt-orientierten und <strong>deduktiven</strong> Ansätzen ist ja der Zustandsbegriff,der als lokaler Speicher zu Objekten unbed<strong>in</strong>gt dazugehört, von den Verfechterne<strong>in</strong>er <strong>deduktiven</strong> Vorgehensweise aber als Rückfall <strong>in</strong> die Zeiten imperativer Programmierungabgelehnt wird. Mit e<strong>in</strong>er dynamischen oder temporalen Logik kann man hier nundoch noch e<strong>in</strong>e Integration erreichen.Logische Spezifikationen verletzen leicht das Lokalitätspr<strong>in</strong>zip, da sich jede Regel jaauch umgekehrt als Kontraposition lesen läßt. Hier haben objekt-orientierte Ansätze denVorteil, daß sich klar zwischen def<strong>in</strong>ierenden und benutzenden Vorkommen e<strong>in</strong>es Symbolsunterscheiden läßt. In [BL91] wurde e<strong>in</strong>e entsprechende Forderung auch <strong>in</strong> die Semantike<strong>in</strong>er logischen Spezifikation e<strong>in</strong>gebaut, was sich als überraschend mächtiger Mechanismusherausgestellt hat. Weitere Untersuchungen s<strong>in</strong>d hier nötig.Datenstrukturen, Komplexe ObjekteE<strong>in</strong> wichtiger Unterschied von DATALOG zu Prolog ist der Verzicht auf Funktionssymbole,also auf Datenstrukturen wie etwa Listen und Bäume. Auch beim relationalenDatenmodell hat sich Beschränkung auf atomare Werte als zu stark für bestimmte Anwendungenerwiesen; es gibt hier Vorschläge für geschachtelte Relationen [SS86] oderListen [GZC89].


169Entsprechend besteht bei e<strong>in</strong>igen Anfragesprachen für deduktive <strong>Datenbanken</strong> [NT89]die Möglichkeit, direkt auf Mengen von Objekten Bezug zu nehmen, wie etwa bei e<strong>in</strong>erLogik 2. Stufe (aber mit E<strong>in</strong>schränkungen, um die Berechenbarkeit sicherzustellen). Ine<strong>in</strong>er solchen Sprache s<strong>in</strong>d Aggregationen (z.B. die Summe aller Posten e<strong>in</strong>er Rechnung)natürlich ke<strong>in</strong> Problem.Wünschenswert wäre e<strong>in</strong> entsprechender Ausbau des hier vorgeschlagenen Ansatzes.<strong>Datenbanken</strong>twurfBeim relationalen Datenmodell gibt es e<strong>in</strong>e umfangreiche Theorie, um die Aufgabe des<strong>Datenbanken</strong>twurfs zu unterstützen. Diese Aufgabe ist natürlich <strong>in</strong> e<strong>in</strong>er <strong>deduktiven</strong>Datenbank eher noch komplizierter, weil es mehr Parameter gibt. Andererseits s<strong>in</strong>d abernatürlichere Formulierungen möglich, während man beim relationalen <strong>Datenbanken</strong>twurfmanchmal nach der am wenigsten schlechten“ Lösung suchen muß.”Der <strong>Datenbanken</strong>twurf <strong>in</strong> e<strong>in</strong>em logischen Datenmodell wurde <strong>in</strong> [BC89, Con89] untersucht.Es bleibt zu untersuchen, <strong>in</strong>wieweit sich die dort erzielten Ergebnisse auf den hierverfolgten Ansatz übertragen lassen. Zusätzlich ergeben sich aber durch die erweitertenMöglichkeiten h<strong>in</strong>sichtlich <strong>Defaults</strong> und allgeme<strong>in</strong>en Klauseln ganz neue Fragestellungen.Konkrete Syntax, EntwurfswerkzeugeNachdem die theoretischen und algorithmischen Grundlagen gelegt s<strong>in</strong>d, sollten natürlichauch realistische Anwendungsbeispiele ausgearbeitet werden. Dafür ist e<strong>in</strong>e möglichst bequemeSyntax mit nützlichen Abkürzungen wünschenswert. Auch e<strong>in</strong>e graphische Sprachefür den ”Entwurf im großen“ wäre hilfreich.Außerdem sollten natürlich Entwurfswerkzeuge zur Verfügung gestellt werden. Nebensyntaxgestützten und graphischen Editoren ist hier <strong>in</strong>sbesondere e<strong>in</strong> Konsistenzprüfer zunennen (siehe z.B. [BDM88, LNP + 89]).ImplementierungDiese Arbeit enthält die algorithmischen Grundlagen, aber es s<strong>in</strong>d natürlich noch vieleOptimierungen auf verschiedenen Ebenen möglich und nötig.Prototypen des ”top-down“ [Ern92, Bra92a] und des ”bottom-up“ Verfahrens [Bri92]s<strong>in</strong>d <strong>in</strong>zwischen verfügbar. Jetzt muß es das Ziel se<strong>in</strong>, Erfahrungen mit diesen Programmenzu sammeln, und so Verbesserungsmöglichkeiten zu erkennen.Insbesondere sollen natürlich die Vorteile beider Verfahren verbunden werden, wiedas bei <strong>deduktiven</strong> <strong>Datenbanken</strong> normalerweise mit ”magischen Mengen“ [BR86, Ull89,Bry90] oder ähnlichen Techniken erreicht wird. Auch im Bereich des logischen Programmierensgibt es entsprechende Vorschläge [Bur91]. E<strong>in</strong>e Anwendung dieser Methode aufden hier verfolgten Ansatz sollte möglich se<strong>in</strong>.


170 KAPITEL 7. AUSBLICKDer ”bottom-up“ Ansatz sollte langfristig auch um e<strong>in</strong>e angepaßte Externspeicher-Verwaltung erweitert werden. Wie <strong>in</strong> Kapitel 6 erläutert wurde, ist die Benutzung e<strong>in</strong>esrelationalen Datenbanksystems nur e<strong>in</strong> Behelf. Auch e<strong>in</strong> NF 2 -System müßte schon sehrspezielle Optimierungen enthalten, um e<strong>in</strong>e effiziente Implementierung dieses Verfahrenszuzulassen.Für den ”top-down“ Ansatz lassen sich viele der Implementierungstechniken von Prologübernehmen. Interessant wäre <strong>in</strong>sbesondere e<strong>in</strong>e Compilierung. Es ist nicht unrealistisch,daß man für stratifizierte Klauselmengen dieselbe Effizienz wie Prolog erreicht,und bei sparsamer Verwendung allgeme<strong>in</strong>erer Konstrukte nur wenig an Effizienz verliert.


SymbolverzeichnisGriechische Buchstabenα Variablenbelegung (2.1.12, S. 18)β B<strong>in</strong>dungstyp der Prädikate, Bestandteil von Σ (2.1.2, S. 14)γ Sortierung der Konstanten, Bestandteil von Σ (2.1.2, S. 14)Γ Zielklausel∆ Menge aller <strong>Defaults</strong> (2.2.2, S. 28)∆ ∗ Menge der Default-Ausprägungen (2.2.4, S. 30)δ Default oder Default-Ausprägung (2.2.2, S. 28)θ SubstitutionΞ Variablendeklaration: X → S (2.1.8, S. 17)π Sortierung der Prädikate, Bestandteil von Σ (2.1.2, S. 14)Σ Signatur (2.1.2, S. 14)Φ Menge der Axiome (Formeln) (2.2.1, S. 27)ϕ Axiom oder allgeme<strong>in</strong>e Formel (2.1.11, S. 18)ψ Anfrage (2.3.1, S. 39)Ω Konflikt (6.1.25, S. 142)Late<strong>in</strong>ische BuchstabenA Alphabet, Zeichenvorrat (2.1.1, S. 14)A L Logische Zeichen, Teilmenge von A (2.1.1, S. 14)A V Menge der Variablen, Teilmenge von A L (2.1.1, S. 14)C Menge der Konstanten von Σ (2.1.2, S. 14)c Konstante, Element von C (2.1.2, S. 14)D Begründung (6.1.12, S. 139)E Maximale Extension, Teilmenge von ∆ (5.2.1, S. 102)I Interpretation (meist Herbrand<strong>in</strong>terpretation) (2.1.4, S. 16)I Menge von (Herbrand-)Interpretationen (2.1.4, S. 16)171


172 SYMBOLVERZEICHNISI Σ Menge aller Herbrand-Interpretationen über Σ (2.1.4, S. 16)i Natürliche Zahlj Natürliche Zahlk Natürliche ZahlL Σ Menge aller quantorenfreien Formeln über Σ (2.1.11, S. 18)L ∗ ΣL + ΣMenge aller variablenfreien Formeln über Σ (2.1.11, S. 18)Menge aller bereichsbeschränkten Formeln über Σ (2.1.19, S. 21)l Prioritätsstufe, ∆ → IN, je kle<strong>in</strong>er, desto höhere Priorität (2.2.3, S. 29)m Natürliche ZahlIN Menge der natürlichen Zahlen 1, 2, . . .n Natürliche ZahlP Prädikate von Σ, Teilmenge von A (2.1.2, S. 14)p Prädikat, Element von P (2.1.2, S. 14)q Prädikat, Element von P (2.1.2, S. 14)r Prädikat, Element von P (2.1.2, S. 14)S Sorten von Σ, Teilmenge von A (2.1.2, S. 14)s Sorte, Element von S (2.1.2, S. 14)t Term, Element von C ∪ X (2.1.9, S. 18)u Term, Element von C ∪ X (2.1.9, S. 18)X Menge von Variablen, Teilmenge von A V (2.1.1, S. 14)X Variable, Element von A V (2.1.1, S. 14)Y Variable, Element von A V (2.1.1, S. 14)Bezeichner mit mehreren Buchstabencomp syntaktische Vervollständigung (2.2.9, S. 35)cwa ∆ vorsichtige CWA (5.2.4, S. 103)cwa (∆,l) vorsichtige CWA mit Prioritätsstufen (5.2.7, S. 104)cwa (∆,❁) vorsichtige CWA mit partiell geordneten <strong>Defaults</strong> (5.2.7, S. 104)m<strong>in</strong> ≺ m<strong>in</strong>imale Modelle Vervollständigung bezüglich ≺ (5.1.2, S. 90)m<strong>in</strong> ∆ m<strong>in</strong>imale Modelle Vervollständigung bezüglich ≺ ∆ (5.1.2, S. 90)m<strong>in</strong> (∆,l) m<strong>in</strong>imale Modelle Vervollständigung bezüglich ≺ (∆,l) (5.1.11, S. 95)m<strong>in</strong> (∆,❁) m<strong>in</strong>imale Modelle Vervollständigung bezüglich ≺ (∆,❁) (5.1.18, S. 98)Mod(Φ) Menge der Herbrandmodelle von Φ (2.1.15, S. 19)mcwa (∆,❁) modifizierte CWA (5.3.3, S. 112)ncwa (∆,❁) naive CWA (4.3.7, S. 86)


SYMBOLVERZEICHNIS 173scwa (∆,❁) starke CWA (5.3.7, S. 114)sel modelltheoretische Vervollständigung (2.2.6, S. 30)Th(I) e<strong>in</strong>e Formelmenge mit den Modellen I (2.1.15, S. 19)th(I) e<strong>in</strong>e variablenfreie Formel mit den Modellen I (2.1.15, S. 19)Sonstige Zeichen∧ Junktor ”und“ <strong>in</strong> logischen Formeln, Element von A L∨ Junktor ”oder“ <strong>in</strong> logischen Formeln, Element von A L← Junktor ”wenn“ <strong>in</strong> logischen Formeln, Element von A L→ Junktor ”dann“ <strong>in</strong> logischen Formeln, Element von A L¬ Junktor ”nicht“ <strong>in</strong> logischen Formeln, Element von A L∼ Umwandlung zwischen positiven und negativen Literalen (2.1.24, S. 24)⇐= metasprachliches ”wenn“=⇒ metasprachliches ”dann“⇐⇒metasprachliches ”genau dann, wenn“:⇐⇒ gelte def<strong>in</strong>itionsgemäß genau dann, wenn“”:= sei def<strong>in</strong>iert als“”∼ = ist logisch äquivalent zu“ (2.1.15, S. 19)”∼ =∆ ∗ erfüllt dieselben <strong>Defaults</strong> (4.3.1, S. 84)|= ”ist Modell von“ (2.1.15, S. 19)⊢ die logische Folgerungsrelation (2.1.15, S. 19)⊢ c vervollständigte Folgerungsrelation (2.2.10, S. 36)⊢ sel durch sel gegebene vervollständigte Folgerungsrelation (2.2.11, S. 37)⊢ comp durch comp gegebene vervollständigte Folgerungsrelation (2.2.11, S. 37)⊢ cons(∆,❁)konstruktive Implikation (5.3.11, S. 116)⊆ ”ist Teilmenge von (oder gleich)“⊂ ”ist echte Teilmenge von“✷ die leere Klausel (2.1.25, S. 25)❁ Prioritätsrelation auf ∆ bzw. ∆ ∗ , kle<strong>in</strong>er: höhere Priorität (2.2.3, S. 29)≺ Präferenzrelation auf den Modellen (5.1.2, S. 90)≺ ∆ durch ∆ gegebene Präferenzrelation (5.1.1, S. 90)≺ (∆,l) durch (∆, l) gegebene Präferenzrelation (5.1.11, S. 95)≺ (∆,❁) durch (∆, ❁) gegebene Präferenzrelation (5.1.18, S. 98)|D| von D überdeckte maximalen Extensionen (6.1.19, S. 141)


174


Literaturverzeichnis[ABW88] K. R. Apt, H. A. Blair, A. Walker: Towards a theory of declarativeknowledge. In J. M<strong>in</strong>ker (ed.), Foundations of Deductive Databases and LogicProgramm<strong>in</strong>g, 89–148, Morgan Kaufmann Publishers, Los-Altos (Calif.),1988.In dieser Arbeit wurden stratifizierte logische Programme mit ihrer Fixpunktsemantike<strong>in</strong>geführt, die Konsistenz der CDB für solche Programme gezeigt,und die Grundlagen passender Interpreter untersucht (60 Seiten).[App85] H.-J. Appelrath: Von <strong>Datenbanken</strong> zu Expertensystemen. Informatik-Fachberichte 102. Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1985.Gegenstand dieses Buches s<strong>in</strong>d deduktive <strong>Datenbanken</strong> und ihre Anwendungzur Wissensbereitstellung für Expertensysteme (159 Seiten).[BC89] J. Biskup, B. Convent: Towards a schema design methodology for deductivedatabases. In J. Demetrovics, B. Thalheim (eds.), 2nd Symposiumon Mathematical Fundamentals of Database Systems (MFDBS’89),37–52, LNCS 364, Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1989.In dieser Arbeit wird e<strong>in</strong> allgeme<strong>in</strong>er Ansatz für den Datenbank-Entwurf <strong>in</strong><strong>deduktiven</strong> <strong>Datenbanken</strong> entwickelt. Insbesondere wird der Begriff der Anfragetreuedef<strong>in</strong>iert, mit dem man formalisieren kann, daß das transformierteSchema noch dieselben Informationen enthält (16 Seiten).[BDM88] F. Bry, H. Decker, R. Manthey: A uniform approach to constra<strong>in</strong>tsatisfaction and constra<strong>in</strong>t satisfiability <strong>in</strong> deductive databases. In Advances<strong>in</strong> Database Technology — EDBT’88, 488–505, LNCS 303, Spr<strong>in</strong>ger-Verlag,1988.In dieser Arbeit wird e<strong>in</strong> Ansatz zur Vere<strong>in</strong>fachung statischer Integritätsbed<strong>in</strong>gungenbei <strong>deduktiven</strong> <strong>Datenbanken</strong> vorgestellt. Außerdem wird auf dasProblem der Überprüfung von Integritätsbed<strong>in</strong>gungen auf Konsistenz e<strong>in</strong>gegangen;die vorgeschlagene Lösung setzt Techniken der Integritätssicherunge<strong>in</strong> (18 Seiten).[Bes88] P. Besnard: An Introduction to Default Logic. Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>,1988.In diesem Lehrbuch wird die Default-Logik ausführlich und formal behandelt,daneben aber auch die verschiedenen Varianten der Circumscription undandere nicht-monotonen Logiken (208 Seiten).175


176 LITERATURVERZEICHNIS[BG89][BH86]A. B. Baker, M. L. G<strong>in</strong>sberg: A theorem prover for prioritized circumscription.In Proc. 11th International Jo<strong>in</strong>t Conf. on Artificial Intelligence(IJCAI), 463–467, 1989.Diese Arbeit enthält e<strong>in</strong>en Vorschlag für e<strong>in</strong>en Beweiser, der <strong>Defaults</strong> mitPrioritätsstufen berücksichtigt. Interessant ist auch der Vergleich mit zweiKontrahenten, die sich auf jeder Prioritätsstufe widersprechende Argumentepräsentieren. Der wesentliche Unterschied zu dem hier vorgeschlagenen topdownBeweiser ist die mehrphasige Vorgehensweise, die die Anwendbarkeitder <strong>Defaults</strong> erst ganz zum Schluß prüft (5 Seiten).N. Bidoit, R. Hull: Positivism vs. m<strong>in</strong>imalism <strong>in</strong> deductive databases. InProc. of the 5th ACM Symp. on Pr<strong>in</strong>ciples of Database Systems (PODS’86),123–132, 1986.In diesem Artikel wird versucht, Clark’s CDB und die m<strong>in</strong>imalen Modellezu <strong>in</strong>tegrieren, um e<strong>in</strong>e Semantik für disjunktive Regeln zu haben. Besondershilfreich ist aber vor allem die Idee der kausalen Modelle, die äquivalent zurCDB s<strong>in</strong>d, aber viel übersichtlicher (10 Seiten).[BL89] S. Brass, U. W. Lipeck: Specify<strong>in</strong>g closed world assumptions for logicdatabases. In J. Demetrovics, B. Thalheim (eds.), 2nd Symposiumon Mathematical Fundamentals of Database Systems (MFDBS’89), 68–84,LNCS 364, Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1989.[BL91]In dieser Arbeit wird die parametrisierte CWA def<strong>in</strong>iert, modelltheoretischcharakterisiert, und gezeigt, wie sich die verschiedenen Varianten der CWA <strong>in</strong>diesem Rahmen repräsentieren lassen (17 Seiten).S. Brass, U. W. Lipeck: Semantics of <strong>in</strong>heritance <strong>in</strong> logical object specifications.In C. Delobel, M. Kifer, Y. Masunaga (eds.), Deductive andObject-Oriented Databases, 2nd Int. Conf. (DOOD’91), 411–430, LNCS 566,Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1991.Diese Arbeit enthält e<strong>in</strong>en Vorschlag für die Semantik objekt-orientierterSpezifikationen mit abgeleiteten Attributen, die über Regeln def<strong>in</strong>iert werden.Das Überschreiben ererbter Regeln wird dabei mit hierarchischen <strong>Defaults</strong>def<strong>in</strong>iert. Es wird hier <strong>in</strong>sbesondere auch die Lokalitätsforderung objektorientierterSpezifikationen berücksichtigt (20 Seiten).[BL92] S. Brass, U. W. Lipeck: Generalized bottom-up query evaluation.In Advances <strong>in</strong> Database Technology — EDBT’92, 3rd Int. Conf., 88–103,LNCS 580, Spr<strong>in</strong>ger-Verlag, 1992.In dieser Arbeit wird der ”Bottom-Up“ Ansatz zur Anfrage-Auswertung aufallgeme<strong>in</strong>e Klauseln und allgeme<strong>in</strong>e <strong>Defaults</strong> erweitert. Zur Darstellung disjunktiverInformation werden dabei NF 2 -Relationen benutzt (16 Seiten).[BN77] E. Bergmann, H. Noll: Mathematische Logik mit Informatik-Anwendungen.Heidelberger Taschenbücher 187. Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1977.E<strong>in</strong> ausführliches Lehrbuch über die Prädikatenlogik, mit e<strong>in</strong>em Kapitel überautomatisches Beweisen (324 Seiten).


LITERATURVERZEICHNIS 177[BR86][Bra88]F. Bancilhon, R. Ramakrishnan: An amateur’s <strong>in</strong>troduction to recursivequery process<strong>in</strong>g. In C. Zaniolo (ed.), Proc. of SIGMOD’86, 16–52, 1986.Diese Arbeit gibt e<strong>in</strong>en Überblick über verschiedene Anwortalgorithmen fürHornklausel-<strong>Datenbanken</strong>, auch die ”magic set“ Techniken. Es werden detaillierteEffizienzvergleiche durchgeführt (37 Seiten).S. Brass: Vervollständigungen für Logikdatenbanken. Diplomarbeit, Informatik,Techn. Univ. Braunschweig, 1988. Überarbeitete Version erschienenals Forschungsbericht 315/1989, Informatik, Univ. Dortmund.Dieser Bericht enthält e<strong>in</strong>e vergleichende Literaturübersicht über die ”m<strong>in</strong>imaleModelle“ Vervollständigungen, die CWAs (Closed World Assumptions),die Circumscriptions und die CDB (Completed Data Base) (230 Seiten).[Bra90a] S. Brass: Beg<strong>in</strong>n<strong>in</strong>gs of a theory of general database completions. InS. Abiteboul, P. C. Kanellakis (eds.), Third International Conferenceon Database Theory (ICDT’90), 349–363, LNCS 470, Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>,1990.[Bra90b]In dieser Arbeit s<strong>in</strong>d Vervollständigungen aus dem Blickw<strong>in</strong>kel der mathematischenTheorie der Wahlverfahren untersucht worden. Insbesondere konntendadurch die Vervollständigungen der Klasse der m<strong>in</strong>imalen Modelle charakterisiertwerden. Außerdem wurde die Ausdrucksfähigkeit der verschiedenenRepräsentationen von Vervollständigungen verglichen (15 Seiten).S. Brass: Remarks on first order circumscription. Unveröffentliches Manuskript,1990.In dieser Arbeit wird gezeigt, daß die First Order Circumscription nicht kumulierendist. Außerdem wird auf die Frage überzähliger freier Variablen <strong>in</strong>den λ-Ausdrücken e<strong>in</strong>gegangen, die <strong>in</strong> das Formelschema der Circumscriptione<strong>in</strong>gesetzt werden. Es wird gezeigt, daß sie selbst im nicht-rekursivenFall die Konsistenz der Circumscription zerstören können, und daß sie beiHorn-Klauseln nicht nötig s<strong>in</strong>d (13 Seiten).[Bra92a] S. Brass: CWA Prover 1.1 User Manual, 1992.Dies ist die Anleitung zu e<strong>in</strong>er Prototyp-Implementierung des <strong>in</strong> [Bra92b]vorgeschlagenen ”top-down“ Beweisers. Das <strong>in</strong> Prolog geschriebene Programmist mit anonymem ftp von “wega.<strong>in</strong>formatik.uni-hannover.de” (130.75.26.1)erhältlich.[Bra92b] S. Brass: Deduction with supernormal defaults. In K. P. Jantke,G. Brewka, P. H. Schmitt (eds.), Nonmonotonic and Inductive Logics,2nd International Workshop (NIL’91), LNAI, Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1992.In dieser Arbeit wird e<strong>in</strong> ”Top-Down“ Antwortalgorithmus für allgeme<strong>in</strong>eCWAs entwickelt. Daneben enthält sie Material zur Semantik partiell geordneter<strong>Defaults</strong>, <strong>in</strong>sbesondere zur Unterscheidung zwischen maximalen Extensionenund konstruktiven Extensionen (22 Seiten).[Bre91] G. Brewka: Nonmonotonic Reason<strong>in</strong>g: Logical Foundations of Commonsense.Cambridge University Press, Cambridge, 1991.


178 LITERATURVERZEICHNISDieses Lehrbuch gibt e<strong>in</strong>en umfassenden Überblick über die verschiedenenAnsätze zum nichtmonotonen Schließen und ist nicht so technisch wie mancheder anderen Lehrbücher (168 Seiten).[Bri92] A. Br<strong>in</strong>kmann: Verallgeme<strong>in</strong>erte Bottom-Up Auswertung. Diplomarbeit,Inst. für Informatik, Universität Hannover, 1992.[BRL91][Bry90][BS85]In dieser Arbeit ist der Bottom-Up Ansatz zur Anfrageauswertung mit allgeme<strong>in</strong>enKlauseln und beliebigen <strong>Defaults</strong> programmiert worden (<strong>in</strong> ”C“). Dake<strong>in</strong> NF 2 -Datenbanksystem zur Verfügung stand, wurde die Datenbank imHauptspeicher simuliert.S. Brass, M. Ryan, U. W. Lipeck: Hierarchical defaults <strong>in</strong> specifications.In G. Saake, A. Sernadas (eds.), Information Systems — Correctness andReusability, Workshop IS-CORE ’91, 179–201, Informatik-Bericht 91-03, TUBraunschweig, 1991.Diese Arbeit def<strong>in</strong>iert die Semantik hierarchischer <strong>Defaults</strong> für allgeme<strong>in</strong>e Logikenund <strong>in</strong>sbesondere für die Aktions-Logik des IS-CORE Projekts. Es wirddabei der Instanziierungsmechanismus als Parameter der Vervollständigunge<strong>in</strong>geführt (23 Seiten).F. Bry: Query evaluation <strong>in</strong> recursive databases: bottom-up and top-downreconciled. Data & Knowledge Eng<strong>in</strong>eer<strong>in</strong>g 5 (1990), 289–312.In dieser Arbeit wird gezeigt, daß die ”magic set“ Techniken zur Integrationvon ”top-down“ und ”bottom-up“ Ansätzen sich am besten als e<strong>in</strong>e Formvon Meta<strong>in</strong>terpreter verstehen lassen. Dadurch wird tatsächlich e<strong>in</strong>e überraschendeVere<strong>in</strong>fachung erreicht (24 Seiten).G. Bossu, P. Siegel: Saturation, non-monotonic reason<strong>in</strong>g and the closedworldassumption. Artificial Intelligence 25 (1985), 13–63.Die m<strong>in</strong>imale Modelle Semantik hat bei unendlichen Modellen das Problem,daß sie aufgrund unendlicher absteigender Ketten nicht immer konsistenzerhaltendist. In dieser Arbeit wird nun e<strong>in</strong>e modifizierte Def<strong>in</strong>ition angegeben,die immer konsistenzerhaltend ist. Außerdem enthält die Arbeit noch e<strong>in</strong>igeallgeme<strong>in</strong>e Bemerkungen zu nichtmonotonen Folgerungsrelationen und e<strong>in</strong>enAntwortalgorithmus (51 Seiten).[Bur91] W. Burgard: Efficiency considerations on goal-directed forward cha<strong>in</strong><strong>in</strong>gfor logic programs. In E. Börger, H. Kle<strong>in</strong>e Bün<strong>in</strong>g, M. M. Richter,W. Schönfeld (eds.), Computer Science Logic, 4th Workshop, CSL’90, 80–94, LNCS 533, Spr<strong>in</strong>ger Verlag, 1991.In dieser Arbeit wird e<strong>in</strong>e Resolventenmethode für Hornklauselprogrammee<strong>in</strong>geführt, die von den Fakten ausgehend ”bottom-up“ arbeitet, aber trotzdemzielgerichtet vorgeht (mit Hilfe sogenannter ”l<strong>in</strong>k“ Klauseln). Die Korrektheitund Vollständigkeit wird bewiesen und die Effizienz mit der SLD-Resolventhenmethode verglichen (15 Seiten).[BW91] F. L. Bauer, M. Wirs<strong>in</strong>g: Elementare Aussagenlogik. Spr<strong>in</strong>ger-Verlag,Berl<strong>in</strong>, 1991.


LITERATURVERZEICHNIS 179In diesem Lehrbuch der Reihe ”Mathematik für Informatiker“ wird die Aussagenlogikausführlich behandelt, <strong>in</strong>klusive Normalformen, Ableitungsregelnund modallogischen Erweiterungen (228 Seiten).[CGS89] M. A. Casanova, R. Guerreiro, A. Silva: Logic programm<strong>in</strong>g withgeneral clauses and defaults based on model elim<strong>in</strong>ation. In Proc. 11th InternationalJo<strong>in</strong>t Conference on Artificial Intelligence (IJCAI), 395–400, Detroit,1989.Diese Arbeit enthält e<strong>in</strong>en Vorschlag für e<strong>in</strong>en Antwortalgorithmus für allgeme<strong>in</strong>eKlauseln und normale <strong>Defaults</strong>, der allerd<strong>in</strong>gs auf der leichtgläubigenSemantik mehrerer Extensionen basiert (6 Seiten).[CGT90] S. Ceri, G. Gottlob, L. Tanca: Logic Programm<strong>in</strong>g and Databases.Surveys <strong>in</strong> Computer Science. Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1990.In diesem Lehrbuch werden folgende Themen behandelt: Kopplung von Prologund <strong>Datenbanken</strong>, die Sprache Datalog, Anfrageoptimierungs-Techniken fürDatalog, Erweiterungen von Datalog, Datenbank-Projekte <strong>in</strong> diesem Bereich(284 Seiten).[CL73] C.-L. Chang, R. C.-T. Lee: Symbolic Logic and Mechanical TheoremProv<strong>in</strong>g. Academic Press, New York, 1973.E<strong>in</strong> klassisches Lehrbuch über automatisches Beweisen, das sehr verbreitet ist(331 Seiten).[Cla78] K. L. Clark: Negation as failure. In H. Gallaire, J. M<strong>in</strong>ker (eds.),Logic and Data Bases, 293–322, Plenum, New York, 1978.[Con88][Con89][Dav80]In dieser Arbeit wurde der ”negation as failure“ Ansatz zur Auswertung derNegation <strong>in</strong> Prolog e<strong>in</strong>geführt, sowie die ”completed data base“ (CDB) alsSemantik der Negation. Auch die UNA-Axiome und ihre Beziehung zur Unifikationwurden hier untersucht (30 Seiten).B. Convent: Decid<strong>in</strong>g f<strong>in</strong>iteness, groundness and doma<strong>in</strong> <strong>in</strong>dependence ofpure datalog queries. Hildesheimer Informatik-Berichte II/1988, HochschuleHildesheim, 1988.In dieser Arbeit werden die verschiedenen Probleme bei nicht bereichsbeschränktenKlauseln <strong>in</strong> Beziehung zue<strong>in</strong>ander gesetzt, und es wird gezeigt,daß sie <strong>in</strong> dem betrachteten Rahmen entscheidbar s<strong>in</strong>d — e<strong>in</strong> recht überraschendesErgebnis (19 Seiten).B. Convent: Datenbankschemaentwurf für e<strong>in</strong> logikorientiertes Datenmodell.Dissertation, Hochschule Hildesheim, 1989.Gegenstand dieser Arbeit ist der <strong>Datenbanken</strong>twurf für deduktive <strong>Datenbanken</strong>.Bei relationalen <strong>Datenbanken</strong> gibt es dafür ja schon e<strong>in</strong>e umfangreicheTheorie, bei <strong>deduktiven</strong> <strong>Datenbanken</strong> sche<strong>in</strong>t dies die erste Arbeit zu se<strong>in</strong>.Diese Arbeit enthält auch die Ergebnisse aus [Con88] und [BC89] (146 Seiten).M. Davis: The mathematics of non-monotonic reason<strong>in</strong>g. Artificial Intelligence13 (1980), 73–80.


180 LITERATURVERZEICHNISIn dieser Arbeit wurde e<strong>in</strong>e modelltheoretische Formulierung der ”doma<strong>in</strong>circumscription“ gegeben, und damit e<strong>in</strong> Vorläufer der m<strong>in</strong>imalen Modelle imheutigen S<strong>in</strong>n. McCarthy bedankt sich <strong>in</strong> [McC80] auch ausdrücklich fürdiese Idee bei Davis (8 Seiten).[DDFM90] J. Dix, A. Dold, T. Fuchß, M. Müller: “Theorist” und “MVL”: Erfahrungenund H<strong>in</strong>weise im Umgang mit nichtmonotonen Beweissystemen.Praktikumsbericht, Institut für Logik, Komplexität und Deduktionssysteme,Universität Karlsruhe, 1990.In dieser Arbeit werden Implementierungen zweier nichtmonotoner Beweissystemeuntersucht, und zwar handelt es sich um das System aus [Poo88]und den Beweiser, auf dem der <strong>in</strong> [G<strong>in</strong>89] vorgeschlagene Antwortalgorithmusaufbaut. Beide Systeme sche<strong>in</strong>en nicht unwesentliche Mängel zu haben(33 Seiten).[Dec91] H. Decker: On the declarative, operational and procedural semantics ofdisjunctive computational theories. In A. Olivé (ed.), Proc. of the SecondInt. Workshop on the Deductive Approach to Information Systems and Databases,149–173, Report de recerca LSI/91/30, Departament de Llenguatgesi Sistemes Informatics, Universitat Politecnica de Catalunya, Barcelona(Espana), 1991.In dieser Arbeit werden Modelle und Fixpunkte von disjuktiven logischenProgrammen untersucht und e<strong>in</strong>e auf der SL-resolution basierende abduktiveBeweisprozedur vorgestellt (25 Seiten).[Dix91] J. Dix: Classify<strong>in</strong>g semantics of logic programs. In Proc. of the 1stInt. Conf. on Logic Programm<strong>in</strong>g and Non-Monotonic Reason<strong>in</strong>g, Wash<strong>in</strong>gtonDC, 1991.In dieser Arbeit werden Semantiken für logische Programme <strong>in</strong> dem allgeme<strong>in</strong>enRahmen nichtmonotoner Folgerungsrelationen untersucht. Unter anderemwird gezeigt, daß die dreiwertige ”well-founded“ Semantik kumulierendist (13 Seiten).[DW91] J. Doyle, M. P. Wellman: Impediments to universal preference-baseddefault theories. Artificial Intelligence 49 (1991), 97–128.[EFT86]In dieser Arbeit wird der bekannte Satz von Arrow verwendet, um zu zeigen,daß ke<strong>in</strong>e <strong>Defaults</strong>emantik, die auf m<strong>in</strong>imalen Modellen basiert, allenwünschenswerten Anforderungen gerecht werden kann. Dabei ersche<strong>in</strong>en diestarken Anforderungen an die Vergleichbarkeit zweier Modelle aber etwasfragwürdig (32 Seiten).H.-D. Ebb<strong>in</strong>ghaus, J. Flum, W. Thomas: E<strong>in</strong>führung <strong>in</strong> die mathematischeLogik, zweite Auflage. Wissenschaftliche Buchgesellschaft, Darmstadt,1986.E<strong>in</strong> empfehlenswertes Lehrbuch der mathematischen Logik (308 Seiten).[EMR85] D. W. Ether<strong>in</strong>gton, R. E. Mercer, R. Reiter: On the adequacy of


LITERATURVERZEICHNIS 181[Ern92][ESS92]predicate circumscription for closed-world reason<strong>in</strong>g. Computational Intelligence1 (1985), 11–15.In dieser Arbeit wird die Konsistenzerhaltung der Prädikat-Circumscriptionuntersucht. Außerdem wird bewiesen, daß sie ke<strong>in</strong>e neue Information über dasGleichheitsprädikat liefert (5 Seiten).W. Ernst: Automatisches Beweisen mit <strong>Defaults</strong>. Diplomarbeit, Inst. fürInformatik, Universität Hannover, 1992.In dieser Arbeit ist der ”Top-Down“ Ansatz nach [Bra92b] programmiert worden(<strong>in</strong> Prolog).H.-D. Ehrich, G. Saake, A. Sernadas: Concepts of object-orientation.In R. Studer (ed.), Informationssysteme und Künstliche Intelligenz, ZweiterWorkshop, 1–19, Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1992.In dieser Arbeit wird e<strong>in</strong>e systematische Übersicht über objekt-orientierteKonzepte gegeben. Außerdem wird die Spezifikationssprache Troll kurz vorgestellt(19 Seiten).[Eth88] D. W. Ether<strong>in</strong>gton: Reason<strong>in</strong>g with Incomplete Information. Pitman,London, 1988.[FM91][Gab85]Dieses Lehrbuch behandelt die Default Logik, Vererbungsnetze mit Ausnahmenund verschiedene Varianten der Circumscription (240 Seiten).J. Fiadeiro, T. Maibaum: Towards object calculi. In G. Saake, A. Sernadas(eds.), Information Systems — Correctness and Reusability, WorkshopIS-CORE ’91, 129–178, Informatik-Bericht 91-03, TU Braunschweig, 1991.In dieser Arbeit wird e<strong>in</strong>e Logik mit Zustands- und Aktionsbegriff def<strong>in</strong>iert,und Ableitungsregeln dafür angegeben (50 Seiten).D. M. Gabbay: Theoretical foundations for non-monotonic reason<strong>in</strong>g <strong>in</strong> expertsystems. In K. R. Apt (ed.), Logics and Models of Concurrent Systems,439–457, Spr<strong>in</strong>ger, Berl<strong>in</strong>, 1985.Diese Arbeit ist e<strong>in</strong>e der ersten, die allgeme<strong>in</strong>e nichtmonotone Folgerungsrelationenuntersuchen. Insbesondere legt sie die Grundlagen für den Begriff derKumulierung (19 Seiten).[GB84] J. Goguen, R. Burstall: Introduc<strong>in</strong>g <strong>in</strong>stitutions. In E. Clarke,D. Kozen (eds.), Logics of Programs — Proc. 1983, 221–255, LNCS 164,Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1984.[Ger91]In dieser Arbeit wird e<strong>in</strong> allgeme<strong>in</strong>er kategorieller Rahmen zum Studium unterschiedlicherLogiken e<strong>in</strong>geführt (35 Seiten).M. Gertz: Transformation von Integritätsbed<strong>in</strong>gungen <strong>in</strong> Transaktionsspezifikationen.Diplomarbeit, Informatik, Universität Dortmund, 1991.Aufbauend auf dem Ansatz von [Lip89] wird hier e<strong>in</strong> Verfahren angegeben, mitdem die Überwachung von (temporalen) Integritätsbed<strong>in</strong>gungen <strong>in</strong> Transaktionsspezifikationene<strong>in</strong>gebaut werden kann. Besonderes Schwergewicht liegt


182 LITERATURVERZEICHNISdabei auf der Berechnung von Formeln, die unter der Transaktion <strong>in</strong>variants<strong>in</strong>d (es wird gewissermaßen e<strong>in</strong>e Extension der ”m<strong>in</strong>imale Änderung“-<strong>Defaults</strong> berechnet). Die Implementierung ist Bestandteil des ICE-Projektes(157 Seiten).[G<strong>in</strong>89] M. L. G<strong>in</strong>sberg: A circumscriptive theorem prover. Artificial Intelligence39 (1989), 209–230.[GL89][GL90][GMN84][Gog90]In dieser Arbeit wird e<strong>in</strong> Beweiser für die Circumscription vorgeschlagen,auch die Erweiterung auf allgeme<strong>in</strong>e <strong>Defaults</strong> wird diskutiert. Dagegen wirddie Erweiterung auf Prioritäten und Formeln mit Variablen nur grob skizziert.Außerdem wird das Verständnis durch die Bezugnahme auf Truth-Ma<strong>in</strong>tenance-Systeme und vielwertige Logiken erschwert (22 Seiten).M. Gelfond, V. Lifschitz: Compil<strong>in</strong>g circumscriptive therories <strong>in</strong>to logicprograms. In Non-Monotonic Reason<strong>in</strong>g (2nd International Workshop), 74–99, LNAI 346, Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1989.In dieser Arbeit wird versucht, allgeme<strong>in</strong>e Klauseln mit Circumscription <strong>in</strong>logische Programme zu übersetzen. Allerd<strong>in</strong>gs ist dies nur unter großen E<strong>in</strong>schränkungenmöglich (26 Seiten).U. Griefahn, S. Lüttr<strong>in</strong>ghaus: Top-down <strong>in</strong>tegrity constra<strong>in</strong>t check<strong>in</strong>gfor deductive databases. In D. H. D. Warren, P. Szeredi (eds.), LogicProgramm<strong>in</strong>g, Proc. of the Seventh International Conference, 130–144, MITPress, 1990.In dieser Arbeit e<strong>in</strong> Algorithmus zur Überprüfung von Integritätsbed<strong>in</strong>gungen<strong>in</strong> <strong>deduktiven</strong> <strong>Datenbanken</strong> vorgeschlagen, der Teile früherer SLDNF-Beweise<strong>in</strong> und/oder-Bäumen abspeichert, um so die Erfüllung der Bed<strong>in</strong>gung vor derÄnderung auszunutzen (15 Seiten).H. Gallaire, J. M<strong>in</strong>ker, J.-M. Nicolas: Logic and databases: A deductiveapproach. Comput<strong>in</strong>g Surveys 16 (1984), 153–185.Dies ist der klassische Übersichtsartikel zu <strong>deduktiven</strong> <strong>Datenbanken</strong>. Die Autorenhaben das Gebiet ja auch durch die von ihnen organisierten Konferenzenwesentlich bee<strong>in</strong>flußt. Inzwischen gibt es natürlich e<strong>in</strong>e ganze Reihe neuererEntwicklungen (33 Seiten)M. Gogolla: Datalog — E<strong>in</strong>e deduktive Datenbanksprache. Skript, Informatik,Techn. Univ. Braunschweig, 1990.Dieses Vorlesungsskript enthält e<strong>in</strong>e E<strong>in</strong>führung <strong>in</strong> deduktive <strong>Datenbanken</strong>mit den logischen Grundlagen, den Antwortalgorithmen und Optimierungen(z.B. ”magic sets“) (98 Seiten).[GP86] M. Gelfond, H. Przymus<strong>in</strong>ska: Negation as failure: Careful closureprocedure. Artificial Intelligence 30 (1986), 273–287.In dieser Arbeit wird e<strong>in</strong>e Vervollständigung vorgeschlagen, die im wesentlichene<strong>in</strong>e Erweiterung der GCWA um variable Prädikate ist (entsprechendder Variablen-Circumscription). Der Antwortalgorithmus beruht auf der Zer-


LITERATURVERZEICHNIS 183legung e<strong>in</strong>er beliebigen Klauselmenge <strong>in</strong> mehrere Hornklauselmengen. Allerd<strong>in</strong>gsist der Algorithmus im allgeme<strong>in</strong>en unvollständig (15 Seiten).[GPP86] M. Gelfond, H. Przymus<strong>in</strong>ska, T. Przymus<strong>in</strong>ski: The extended closedworld assumption and its relationship to parallel circumscription. InProc. of the Fifth ACM SIGACT-SIGMOD Symp. on Pr<strong>in</strong>ciples of DatabaseSyst. (PODS’86), 133–139, 1986.In dieser Arbeit wird e<strong>in</strong>e Variante der CWA e<strong>in</strong>geführt, die unter der Annahmevon UNA und DCA der Variablen-Circumscription entspricht (7 Seiten).[Gre69] C. C. Green: Theorem-prov<strong>in</strong>g by resolution as a basis for questionanswer<strong>in</strong>gsystems. In B. Meltzer, D. Michie (eds.), Mach<strong>in</strong>e Intelligence,volume 4, 183–205. Ed<strong>in</strong>burgh University Press, 1969.[GZC89][HK89][HM87]In dieser Arbeit wird erklärt, wie man aus e<strong>in</strong>em Resolutionsbeweis Antwortenextrahieren kann. Insbesondere wird auch der Begriff der disjunktiven Antworte<strong>in</strong>geführt (23 Seiten).R. H. Güt<strong>in</strong>g, R. Zicari, D. M. Choy: An algebra for structured officedocuments. acm Transactions on Information Systems 7:2 (1989), 123–157.In dieser Arbeit wird e<strong>in</strong>e Algebra zur Manipulation genesteter Listen vonTupeln def<strong>in</strong>iert. Auch die Bedeutung von Nullwerten wird untersucht (35 Seiten).D. Hofbauer, R.-D. Kutsche: Grundlagen des masch<strong>in</strong>ellen Beweisens.Vieweg, Braunschweig, 1989.Besondere Merkmale dieses Lehrbuchs über automatisches Beweisen s<strong>in</strong>d, daßes versucht, etwas Ordnung <strong>in</strong> die zahlreichen Möglichkeiten zur Verbesserungder Resolventenmethode zu br<strong>in</strong>gen, daß es auch nicht-Resolventenverfahrenkurz skizziert, und daß es e<strong>in</strong>en längeren Abschnitt über Termersetzungenthält. Allerd<strong>in</strong>gs wird für e<strong>in</strong>ige Beweise auf [CL73] verwiesen (172 Seiten).S. Hanks, D. McDermott: Nonmonotonic logic and temporal projection.Artificial Intelligence 33 (1987), 379–412.Dies ist die klassische Arbeit über das ”Yale shoot<strong>in</strong>g problem“ im Zusammenhangmit m<strong>in</strong>imalen Änderungen bei Zustandsfolgen. In der Arbeit werdenauch e<strong>in</strong>e ganze Reihe von Lösungsvorschlägen unterschiedlicher Autorenbesprochen (34 Seiten).[HPRV89] G. Hul<strong>in</strong>, A. Pirotte, D. Roelants, M. Vauclair: Logic and databases.In A. Thayse (ed.), From Modal Logic to Deductive Databases —Introduc<strong>in</strong>g a Logic Based Approach to Artificial Intelligence, volume 2, 279–350. Wiley, 1989.In dieser Arbeit wird die modelltheoretische und die beweistheoretische Sichtfür relationale <strong>Datenbanken</strong>, Hornklauseldatenbanken, <strong>Datenbanken</strong> mit Negationund mit unvollständiger Information erläutert (72 Seiten).[HS90] A. Heuer, P. Sander: Semantics and evaluation of rules over complexobjects. In W. Kim, J.-M. Nicolas, S. Nishio (eds.), Deductive and Object-


184 LITERATURVERZEICHNIS[IL84]Oriented Databases, First International Conference, 1989, 473–492, North-Holland, 1990.In dieser Arbeit wird e<strong>in</strong>e regelbasierte Sprache zur Formulierung von Anfragene<strong>in</strong>e Datenbank mit komplexen Objekten e<strong>in</strong>geführt. Für die Auswertungwird e<strong>in</strong>e Übersetzung <strong>in</strong> verschiedene Algebren vorgeschlagen (20 Seiten).T. Imiel<strong>in</strong>ski, W. Lipski: Incomplete <strong>in</strong>formation <strong>in</strong> relational databases.Journal of the ACM 31 (1984), 761–791.Diese Arbeit enthält e<strong>in</strong>en Vorschlag für die Semantik von Nullwerten <strong>in</strong> relationalen<strong>Datenbanken</strong>. In [Kle91] wird e<strong>in</strong>e Korrektur angegeben (31 Seiten).[KL89] M. Kifer, G. Lausen: F-logic: A higher-order language for reason<strong>in</strong>gabout objects, <strong>in</strong>heritance, and scheme. In J. Clifford, B. L<strong>in</strong>dsay,D. Maier (eds.), Proceed<strong>in</strong>gs of the 1989 ACM SIGMOD International Conferenceon the Management of Data, 134–146, 1989.[Kle91][KLM90][KLW90]Die F-Logik ist e<strong>in</strong> Vorschlag zur Integration von Logik und Objekt-Orientierung. E<strong>in</strong> besonderes Merkmal ist, daß nicht zwischen Klassen und Instanzenunterschieden wird, sondern nur e<strong>in</strong>e Verbandsstruktur benutzt wird,die den Informationsgehalt ausdrückt (13 Seiten).H.-J. Kle<strong>in</strong>: Bemerkungen zur korrekten Auswertung von Anfragen an relationale<strong>Datenbanken</strong> mit partiellen Relationen. In M. H. Scholl (ed.),Grundlagen von <strong>Datenbanken</strong> Kurzfassungen des 3. GI-Workshops, 52–56,1991. Erschienen als Bericht 158 des Departement Informatik der ETHZürich.In dieser Arbeit wird e<strong>in</strong> Fehler <strong>in</strong> der relationalen Algebra von [IL84] fürRelationen mit Nullwerten aufgedeckt und korrigiert (5 Seiten).S. Kraus, D. Lehmann, M. Magidor: Nonmonotonic reason<strong>in</strong>g, preferentialmodels and cumulative logics. Artificial Intelligence 44 (1990), 167–207.In dieser Arbeit wird versucht, nichtmonotone Logiken von e<strong>in</strong>em ganzabstrakten Ausgangspunkt zu untersuchen. Insbesondere enthält diese Arbeitauch e<strong>in</strong>e Charakterisierung der Logiken, die sich über m<strong>in</strong>imale Modellebeschreiben lassen. Diese Charakterisierung stimmt aber nicht mit der<strong>in</strong> [Bra90a] übere<strong>in</strong>, denn hier wird auch der Modellbegriff als Parameter angesehen,während <strong>in</strong> [Bra90a] die Prädikatenlogik zugrunde gelegt wird (41 Seiten).M. Kifer, G. Lausen, J. Wu: Logical foundations of object-oriented andframe-based languages. Technical report, SUNY at Stony Brook / UniversiätMannheim, 1990.Dieser Forschungsbericht beschreibt e<strong>in</strong>e neue Version der objekt-orientiertenF-Logik, die sich von der aus [KL89] deutlich unterscheidet. Insbesonderewird jetzt auch die nichtmonotone Vererbung betrachtet. Die Semantik derVererbung ist auch deutlich verschieden von der <strong>in</strong> [BL91] vorgeschlagenen.Im wesentlichen werden hier Werte vererbt und nicht Formeln (84 Seiten).


LITERATURVERZEICHNIS 185[KNN90]W. Kim, J.-M. Nicolas, S. Nishio (eds.): Deductive and Object-OrientedDatabases, Proceed<strong>in</strong>gs of the First International Conference (DOOD89).North-Holland Publ.Co., Kyoto, Japan, 1990. See also: Special Issue onDeductive and Object-Oriented Databases of Data & Knowledge Eng<strong>in</strong>eer<strong>in</strong>g5(4), (Okt. 1990).Diese Tagung br<strong>in</strong>gt den allgeme<strong>in</strong>en Wunsch zum Ausdruck, deduktive undobjekt-orientierte <strong>Datenbanken</strong> zu <strong>in</strong>tegrieren. Viele der Arbeiten waren abernoch dem e<strong>in</strong>en oder anderen Lager zuzurechnen (607 Seiten).[Kon88] K. Konolige: On the relation between default and autoepistemic logic.Artificial Intelligence 35 (1988), 343–382.[Kos90][KRS88]In dieser Arbeit wird gezeigt, daß Reiter’s Default Logik und Moore’s AutoepistemischeLogik <strong>in</strong> e<strong>in</strong>em gewissen S<strong>in</strong>n äquivalent s<strong>in</strong>d. E<strong>in</strong>e Korrekturvon Konolidge selbst wird <strong>in</strong> [Bre91] angegeben (40 Seiten).G. Koschorreck: Kalküle für Anfragen und Deduktionen über komplexenObjekten. Diplomarbeit, Informatik, Universität Dortmund, 1990.In dieser Arbeit wird e<strong>in</strong>e Übersicht über verschiedene Algebren, Kalküle undlogische Anfragesprachen für komplexe Objekte gegeben, <strong>in</strong>sbesondere h<strong>in</strong>sichtlichihrer Ausdrucksfähigkeit (178 Seiten).M. Kifer, R. Ramakrishnan, A. Siberschatz: An axiomatic approachto decid<strong>in</strong>g query safety <strong>in</strong> deductive databases. In Proc. of the Seventh ACMSIGACT-SIGMOD-SIGART Symposium on Pr<strong>in</strong>ciples of Database Systems(PODS’88), 52–60, 1988.In dieser Arbeit wird e<strong>in</strong> Vorschlag für die Überprüfung der Sicherheit vonAnfragen gemacht, der auch unendliche Relationen zulässt (etwa e<strong>in</strong>gebautePrädikate) und auf ähnlichen E<strong>in</strong>schränkungen wie funktionalen Abhängigkeitenbasiert. Da das eigentliche Problem nicht entscheidbar ist, wird derBegriff der ”Supersafety“ e<strong>in</strong>geführt (9 Seiten).[KW91] M. Kifer, J. Wu: A first-order theory of types and polymorphism <strong>in</strong> logicprogramm<strong>in</strong>g. In Sixth Annual IEEE Symposium on Logic <strong>in</strong> ComputerScience (LICS’91), 310–321, 1991.[Lif85]In dieser Arbeit wird e<strong>in</strong>e neue Logik, der getypte Prädikatenkalkül, e<strong>in</strong>geführt,und auf die Typisierung logischer Programme angewendet. Die Logikunterstützt <strong>in</strong>sbesondere alle üblichen Arten von Polymorphismus (12 Seiten).V. Lifschitz: Comput<strong>in</strong>g circumscription. In Proc. 9th International Jo<strong>in</strong>tConference on Artificial Intelligence (IJCAI), 121–127, Los Angeles, 1985.In dieser Arbeit wird die priorisierte Circumscription def<strong>in</strong>iert. Der Ansatz zurBerechnung der Circumscription besteht <strong>in</strong> e<strong>in</strong>er syntaktischen Transformation<strong>in</strong> e<strong>in</strong>e Formel erster Stufe, auf die dann e<strong>in</strong> normaler Beweiser anwendbarist (im wesentlichen wird wie bei der CDB aus ← e<strong>in</strong> ↔ gemacht). Dies istnatürlich nur <strong>in</strong> Spezialfällen möglich (7 Seiten).[Lip89] U. W. Lipeck: Dynamische Integrität von <strong>Datenbanken</strong>. Informatik-Fachberichte 209. Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1989.


186 LITERATURVERZEICHNISGegenstand dieses Buches s<strong>in</strong>d Spezifikation und Überwachung von Integritätsbed<strong>in</strong>gungen<strong>in</strong> temporaler Logik. Insbesondere wird gezeigt, wiediese Integritätsbed<strong>in</strong>gungen <strong>in</strong> Transaktionspezifikationen h<strong>in</strong>e<strong>in</strong>transformiertwerden können, um so e<strong>in</strong>e effiziente Überwachung zu ermöglichen(140 Seiten).[Llo87] J. W. Lloyd: Foundations of Logic Programm<strong>in</strong>g, 2nd edition. Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1987.[LNP + 89][LT84]Dies ist das klassische Lehrbuch zu den theoretischen Grundlagen von Prolog,also der SLDNF-Resolventenmethode und der CDB-Semantik der Negation.In dieser neuen Auflage werden auch stratifizierte Klauselmengen, Regeln mitallgeme<strong>in</strong>en Formeln im Rumpf und typisierte Regeln besprochen (212 Seiten).E. Lambrichts, P. Nees, J. Paredaens, P. Peelman, L. Tanca: Integrationof functions <strong>in</strong> the fixpo<strong>in</strong>t semantics of rule-based systems. InJ. Demetrovics, B. Thalheim (eds.), Second Symposium on MathematicalFundamentals of Database Systems (MFDBS’89), 301–316, LNCS 364,Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1989.In dieser Arbeit wird e<strong>in</strong>e Erweiterung von Datalog um (nicht-generierende)Funktionen und komplexe Objekte vorgestellt. Die Funktionen werden wieRelationen mit e<strong>in</strong>er funktionalen Abhängigkeit behandelt. Es wird e<strong>in</strong> Algorithmuszur Konsistenzprüfung im nicht-rekursiven Fall angegeben (16 Seiten).J. W. Lloyd, R. W. Topor: Mak<strong>in</strong>g prolog more expressive. The Journalof Logic Programm<strong>in</strong>g 1 (1984), 225–240.In dieser Arbeit wurde gezeigt, wie man allgeme<strong>in</strong>e Formeln im Rumpf vonProlog-Regeln <strong>in</strong> normale Prolog-Regeln übersetzten kann (16 Seiten).[LU92] G. Lausen, H. Uphoff: Nicht-monotone vererbung <strong>in</strong> f-logik. In U. W.Lipeck, R. Manthey (eds.), Kurzfassungen des 4. GI-Workshops “Grundlagenvon <strong>Datenbanken</strong>”, 105–109, ECRC technical report 92-13, 1992.[̷Luk90][LV91]In dieser Arbeit wird die Vererbung logischer Formeln auf der Grundlage desAnsatzes aus [KLW90] untersucht. Es wird vorgeschlagen, das Programm umzuschreiben,und im wesentlichem jeden Faktum noch die Klasse mitzugeben,aus der diese Information stammt. Dann kann unter gewissen E<strong>in</strong>schränkungene<strong>in</strong>e Regel der folgenden Art verwendet werden: “wenn aus der Klasse Cdie Information I stammt, und aus ke<strong>in</strong>er tieferliegenden Klasse e<strong>in</strong>e widersprechendeInformation ableitbar ist, dann gilt I”. Es werden auch Überlegungenzu “ISA-Stratifizierungen” angestellt (5 Seiten).W. ̷Lukaszewics: Non-Monotonic Reason<strong>in</strong>g. Ellis Horwood, Chichester,1990.E<strong>in</strong>e Monographie über nichtmonotones Schließen, das mit großer Vollständigkeitalle vorgeschlagenen Formalismen abhandelt (328 Seiten).E. Laenens, D. Vermeir: On the relationship between well-founded andstable partial models. In B. Thalheim, J. Demetrovics, H.-D. Ger-


LITERATURVERZEICHNIS 187[Mak89]hardt (eds.), MFDBS 91 (3rd Symposium on Mathematical Fundamentalsof Database Systems), 59–73, LNCS 495, Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1991.Gegenstand dieser Arbeit ist die Semantik von “geordneten logischen Programmen”,d.h. partiell geordneten Mengen von logischen Programmen. Ess<strong>in</strong>d dabei auch negative Literale im Regelkopf erlaubt. Für die Semantikwerden Methoden der “well-founded” und “stable model” Semantik für klassischelogische Programme herangezogen. Die Semantik berücksichtigt sehrstark die Schreibweise der Regeln. Zentral ist hier der Begriff der “competitors”zu e<strong>in</strong>er Regel-Instanz, d.h. Regel-Instanzen mit <strong>in</strong>versem Kopfliteral,die nicht weiter oben <strong>in</strong> der Hierarchie stehen (15 Seiten).D. Mak<strong>in</strong>son: General theory of cumulative <strong>in</strong>ference. In Non-MonotonicReason<strong>in</strong>g (2nd International Workshop), 1–18, LNAI 346, Spr<strong>in</strong>ger-Verlag,Berl<strong>in</strong>, 1989.In dieser Arbeit wird der Begriff der Kumulierung e<strong>in</strong>geführt, und es werdendie bekannten Vervollständigungen auf diese Eigenschaft h<strong>in</strong> untersucht(18 Seiten).[Mak92] D. Mak<strong>in</strong>son: General patterns <strong>in</strong> nonmonotonic reason<strong>in</strong>g. In D. Gabbay(ed.), Handbook of Logic <strong>in</strong> Artificial Intelligence and Logic Programm<strong>in</strong>g,volume 2. Oxford University Press, 1992.[Mar91][MB88]In dieser Arbeit wird der aktuelle Stand der Forschung <strong>in</strong> der Theorie dernichtmonotonen Folgerungsrelationen dargestellt. Die allgeme<strong>in</strong>en Begriffewerden unter anderem auf Vererbungs-Netze, Reiter’s Default Logik, maximaleExtensionen und m<strong>in</strong>imale Modelle angewendet (79 Seiten).W. Marek: Semantical description of stability. Vorgestellt auf: Nonmonotonicand Inductive Logics, 2nd International Workshop, 1991.In diesem eigeladenen Vortrag wurden verschiedene Axiomsysteme für dieautoepistemische Logik diskutiert und auf die Semantik logischer Programmeangewendet.R. Manthey, F. Bry: SATCHMO: a theorem prover implemented <strong>in</strong> prolog.In E. Lusk, R. Overbeek (eds.), 9th Conference on Automated Deduction(CADE-9), 415–434, LNCS 310, Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1988.In dieser Arbeit wird e<strong>in</strong> vorwärts schließender Beweiser vorgestellt, der <strong>in</strong>Prolog implementiert ist. Dabei werden Disjunktionen durch Fallunterscheidungenaufgelöst, ansonsten wird soweit wie möglich der unterliegende Prolog-Interpreter ausgenutzt. Diese Arbeit enthält auch ausführliche Angaben zuden Erfahrungen bei e<strong>in</strong>igen Benchmark-Beispielen (20 Seiten).[McC80] J. McCarthy: Circumscription — a form of non-monotonic reason<strong>in</strong>g.Artificial Intelligence 13 (1980), 27–39.Dies ist der klassische Artikel über die (Prädikat-) Circumscription, der sowohldie <strong>in</strong>tuitiven H<strong>in</strong>tergrund, als auch die formale Def<strong>in</strong>ition mit Formelschemataund m<strong>in</strong>imalen Modellen behandelt (23 Seiten).


188 LITERATURVERZEICHNIS[McC86]J. McCarthy: Applications of circumscription to formaliz<strong>in</strong>g common-senseknowledge. Artificial Intelligence 28 (1986), 86–116.In diesem Artikel faßt McCarthy verschiedenen Entwicklungen zusammen,die seit [McC80] e<strong>in</strong>getreten s<strong>in</strong>d. Er def<strong>in</strong>iert u.a. die Formelcircumscription,die die wesentlich bekanntere Variablencircumscription als Spezialfall enthält.Er def<strong>in</strong>iert aber auch e<strong>in</strong>e Art Normalform für Theorien mit Ausnahmen(31 Seiten).[M<strong>in</strong>82] J. M<strong>in</strong>ker: On <strong>in</strong>def<strong>in</strong>ite databases and the closed world assumption. InD. W. Loveland (ed.), 6th Conference on Automated Deduction, 292–308,LNCS 138, Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1982.[Moo85][Mou85]In dieser Arbeit wurde die GCWA-Vervollständigung e<strong>in</strong>geführt, um die Konsistenzerhaltungzu garantieren. Damit machten die Annahmen der geschlossenenWelt noch e<strong>in</strong>mal e<strong>in</strong>en deutlichen Fortschritt. Insbesondere wurde auchdie Äquivalenz von syntaktischer und semantischer Def<strong>in</strong>ition gezeigt, die<strong>in</strong> [BL89] auf beliebige <strong>Defaults</strong> verallgeme<strong>in</strong>ert wurde (17 Seiten).R. C. Moore: Semantical considerations on nonmonotonic logic. ArtificialIntelligence 25 (1985), 75–94.Mit dieser Arbeit wurde die autoepistemische Logik e<strong>in</strong>geführt (20 Seiten).H. Moul<strong>in</strong>: Choice functions over a f<strong>in</strong>ite set: A summary. Social Choiceand Welfare 2 (1985), 147–160.Dies ist e<strong>in</strong> gut verständlicher Übersichtsartikel über die mathematische Theorieder Auswahlfunktionen (14 Seiten).[MP84] J. M<strong>in</strong>ker, D. Perlis: Applications of protected circumscription. In R. E.Shostak (ed.), 7th International Conference on Automated Deduction, 414–425, LNCS 170, Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1984.In der ”Protected Circumscription“ kann die Annahme von Negationen gezieltverh<strong>in</strong>dert werden, um unvollständige Information darzustellen. Im wesentlichenwird für jedes Prädikat p e<strong>in</strong> Prädikat e p e<strong>in</strong>geführt, das dieseAusnahmen enthält (12 Seiten).[MWW89] J.-J. Meyer, H. Weigand, R. Wier<strong>in</strong>ga: A specification languagefor static, dynamic and deontic <strong>in</strong>tegrity constra<strong>in</strong>ts. In J. Demetrovics,B. Thalheim (eds.), 2nd Symposium on Mathematical Fundamentals of DatabaseSystems (MFDBS’89), 347–366, LNCS 364, Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>,1989.In dieser Arbeit wird e<strong>in</strong>e Sprache für Integritätsbed<strong>in</strong>gungen e<strong>in</strong>geführt, dieauf e<strong>in</strong>er dynamischen Logik mit deontischen Konstrukten basiert (20 Seiten).[NM90] U. Nilsson, J. Ma̷luszyński: Logic, Programm<strong>in</strong>g and Prolog. Wiley,Chichester, 1990.Dieses ist e<strong>in</strong> Prolog-Lehrbuch, was auch die logischen Grundlagen beschreibtund auch alternative logische Programmiersprachen behandelt (289 Seiten).[NT89] S. Naqvi, S. Tsur: A Logical Language for Data and Knowledge Bases.Computer Science Press, New York, 1989.


LITERATURVERZEICHNIS 189[Plü90]Dieses Lehrbuch ist e<strong>in</strong>e umfassende E<strong>in</strong>führung <strong>in</strong> neuere deduktive <strong>Datenbanken</strong>am Beispiel der Sprache LDL (288 Seiten).L. Plümer: Term<strong>in</strong>ation Proofs for Logic Programs. LNAI 446. Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1990.In diesem Buch wird e<strong>in</strong> Verfahren zur automatischen Herleitung von Term<strong>in</strong>ierungsbeweisenfür logische Programme vorgestellt (142 Seiten).[Poo88] D. Poole: A logical framework for default reason<strong>in</strong>g. Artificial Intelligence36 (1988), 27–47.[Prz89][Prz91][Pup91][Rei78]In dieser Arbeit wurden die e<strong>in</strong>fachen <strong>Defaults</strong> e<strong>in</strong>geführt, die also nur aus e<strong>in</strong>erprädikatenlogischen Formel bestehen. Allerd<strong>in</strong>gs def<strong>in</strong>iert Poole nur diemaximalen Extensionen, und nicht, was bei mehreren maximalen Extensionenzu geschehen hat. Auch betrachtet er ke<strong>in</strong>e Prioritäten. Dafür führt er ”Constra<strong>in</strong>ts“e<strong>in</strong>, die die Anwendbarkeit der <strong>Defaults</strong> beschränken (21 Seiten).T. C. Przymus<strong>in</strong>ski: An algorithm to compute circumscription. ArtificialIntelligence 38 (1989), 49–73.In dieser Arbeit schlägt Przymus<strong>in</strong>ski e<strong>in</strong>en Antwortalgorithmus für dieVariablen-Circumscription vor, der auf der OL-Resolventenmethode basiert.Allerd<strong>in</strong>gs wird nicht herausgestellt, welche <strong>Defaults</strong> verwendet werden, undder Algorithmus wird nur für Klauseln ohne Variablen angegeben. Er ist demAlgorithmus <strong>in</strong> [G<strong>in</strong>89] recht ähnlich und arbeitet wie dieser mehrphasig (imUnterschied zu dem Algorithmus <strong>in</strong> [Bra92b]) (25 Seiten).T. C. Przymus<strong>in</strong>ski: Semantics of disjunctive logic programs and deductivedatabases. In C. Delobel, M. Kifer, Y. Masunaga (eds.), Deductive andObject-Oriented Databases, 2nd Int. Conf. (DOOD’91), 85–107, LNCS 566,Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1991.In dieser Arbeit wird gezeigt, daß die stationäre Semantik logischer Programme,die als Verallgeme<strong>in</strong>erung der well-founded Semantik eigentlich e<strong>in</strong>edreiwerige Semantik ist, sich auch <strong>in</strong> der Prädikatenlogik beschreiben läßt,wenn man neue Prädikatsymbole not p e<strong>in</strong>führt (23 Seiten).F. Puppe: E<strong>in</strong>führung <strong>in</strong> Expertensysteme, zweite auflage edition. StudienreiheInformatik. Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1991.Dieses Buch gibt e<strong>in</strong>e umfassende E<strong>in</strong>führung <strong>in</strong> Expertensysteme (215 Seiten).R. Reiter: On closed world data bases. In H. Gallaire, J. M<strong>in</strong>ker (eds.),Logic and Data Bases, 55–76, Plenum, New York, 1978.In dieser Arbeit wurde die orig<strong>in</strong>ale CWA e<strong>in</strong>geführt. Daneben enthält sieaber auch e<strong>in</strong>ige Gedanken zur Anfrageauswertung und zur Übersetzung vonlogischen Formeln <strong>in</strong> Ausdrücke der Relationenalgebra (22 Seiten).[Rei80] R. Reiter: A logic for default reason<strong>in</strong>g. Artificial Intelligence 13 (1980),81–132.


190 LITERATURVERZEICHNIS[Rei84]In dieser Arbeit wurde die Default-Logik e<strong>in</strong>geführt. Für normale <strong>Defaults</strong>wird auch e<strong>in</strong> erster Ansatz für e<strong>in</strong>en Antwortalgorithmus angegeben (allerd<strong>in</strong>gsmit der leichtgläubigen Sichtweise) (52 Seiten).R. Reiter: Towards a logical reconstruction of relational database theory.In M. L. Brodie, J. Mylopoulos, J. W. Schmidt (eds.), On ConceptualModell<strong>in</strong>g, 191–238, Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1984.In dieser Arbeit wird der beweistheoretische Ansatz für relationale <strong>Datenbanken</strong>ausgearbeitet (im Unterschied zum üblichen modelltheoretischen Ansatz).Dabei werden <strong>in</strong>sbesondere auch Nullwerte betrachtet (48 Seiten).[Rei85] M. Re<strong>in</strong>frank: An <strong>in</strong>troduction to non-monotonic reason<strong>in</strong>g. TechnicalReport MEMO-SEKI-85-02, Informatik, Universität Kaiserslautern, 1985.[Rei88][Rei92][RT88][Rya91][Sch87]In diesem Bericht wird e<strong>in</strong> Überblick über verschiedene Formalismen des nichtmononotonenSchließens gegeben, es werden aber <strong>in</strong>sbesondere auch die Anwendungen<strong>in</strong> der künstlichen Intelligenz beschrieben (127 Seiten).R. Reiter: What should a database know? In Proc. of the Seventh ACMSIGACT-SIGMOD-SIGART Symposium on Pr<strong>in</strong>ciples of Database Systems(PODS’88), 302–304, 1988.In dieser Zusammenfassung se<strong>in</strong>es e<strong>in</strong>geladenen Vortrags argumentiert Reiter,daß Anfragen an <strong>Datenbanken</strong> und Integritätsbed<strong>in</strong>gungen <strong>in</strong> e<strong>in</strong>er epistemischenLogik formuliert werden sollten (3 Seiten).R. Reiter: On formaliz<strong>in</strong>g database updates — prelim<strong>in</strong>ary report. In Advances<strong>in</strong> Database Technology — EDBT’92, 3rd Int. Conf., 10–20, LNCS 580,Spr<strong>in</strong>ger-Verlag, 1992.In diesem e<strong>in</strong>geladenen Vortrag schlägt Reiter e<strong>in</strong>e Formalisierung vonDatenbank-Änderungen <strong>in</strong> der Logik erster Stufe vor, bei der die Extensionenaller Relationen explizit durch die Extension im vorausgegangenen Zustanddef<strong>in</strong>iert werden. Dies ist zwar nur für determ<strong>in</strong>istische Transaktionen möglich,erspart aber <strong>Defaults</strong> und ähnliche Mechanismen zur Lösung des ”frame problem“(11 Seiten).K. A. Ross, R. W. Topor: Inferr<strong>in</strong>g negative <strong>in</strong>formation from disjunctivedatabases. Journal of Automated Reason<strong>in</strong>g 4 (1988), 397–424.Diese Arbeit enthält e<strong>in</strong>en Vorschlag für die Semantik der Negation bei logischenProgrammen mit Disjunktionen (28 Seiten).M. Ryan: <strong>Defaults</strong> and revision <strong>in</strong> structured theories. In Proceed<strong>in</strong>gs of theIEEE Symposium on Logic <strong>in</strong> Computer Science (LICS’91), 362–373, 1991.In dieser Arbeit wird die Semantik von partiell geordneten <strong>Defaults</strong> def<strong>in</strong>iert,wobei die ”natural consequences“ als Ausprägungs-Mechanismus besonders<strong>in</strong>teressant s<strong>in</strong>d (12 Seiten).U. Schön<strong>in</strong>g: Logik für Informatiker. Reihe Informatik 56. BI, Mannheim,1987.


LITERATURVERZEICHNIS 191[She88]Dies ist e<strong>in</strong> erfreulich knappes Lehrbuch der mathematischen Logik, <strong>in</strong> dem<strong>in</strong>sbesondere auch die Grundlagen von Resolventen-Beweisern und von Prologbehandelt werden (172 Seiten).J. C. Shepherdson: Negation <strong>in</strong> logic programm<strong>in</strong>g. In J. M<strong>in</strong>ker (ed.),Foundations of Deductive Databases and Logic Programm<strong>in</strong>g, 19–88, MorganKaufmann Publishers, Los-Altos (Calif.), 1988.Diese Arbeit enthält e<strong>in</strong>en Überblick über Vorschläge für die Semantik derNegation aus der Zeit vor den stabilen und wohlfundierten Modellen. Ausführlichbehandelt werden die CWA, die CDB, ihre Beziehung zu e<strong>in</strong>ander und zurNegation as Failure“-Regel, sowie Ansätze <strong>in</strong> dreiwertiger Logik (70 Seiten).”[Sho87] Y. Shoham: Nonmonotonic logics: Mean<strong>in</strong>g and utility. In Proc. 10thInternational Jo<strong>in</strong>t Conference on Artificial Intelligence (IJCAI), 388–393,Milan, 1987.In dieser Arbeit wurden allgeme<strong>in</strong>e nicht-monotone Logiken untersucht, dieauf m<strong>in</strong>imalen Modellen basieren (6 Seiten).[SS86] H.-J. Schek, M. H. Scholl: The relational model with relation-valuedattributes. Information Systems 11 (1986), 137–148.[SS91]Diese Arbeit enthält e<strong>in</strong>en Vorschlag für e<strong>in</strong>e Algebra zur Manipulation geschachtelterRelationen, wobei alle Operatoren auch formal def<strong>in</strong>iert s<strong>in</strong>d(12 Seiten).G. Saake, A. Sernadas (eds.): Information Systems — Correctness andReusability, Workshop IS-CORE ’91, London, Sept. 1991, Selected Papers,Informatik-Bericht 91-03. TU Braunschweig, September 1991.Dieser Tagungsband gibt e<strong>in</strong>en Überblick über die Forschungsaktivitäten imRahmen des IS-CORE Projekts ( ”Information Systems — COrrectness andREusability“). Ziel ist dabei e<strong>in</strong> objekt-orientierter Ansatz mit formaler Semantik,die auf dem ”event shar<strong>in</strong>g“ der e<strong>in</strong>zelnen Objekte aufbaut (265 Seiten).[Ull88] J. D. Ullman: Pr<strong>in</strong>ciples of Database and Knowledge-Base Systems, Vol. 1.Computer Science Press, Rockville, 1988.In dieser neuen Auflage e<strong>in</strong>es klassischen Lehrbuchs über Datenbanksystemewerden jetzt auch deduktive <strong>Datenbanken</strong> ausführlich behandelt (631 Seiten).[Ull89] J. D. Ullman: Pr<strong>in</strong>ciples of Database and Knowledge-Base Systems, Vol. 2.Computer Science Press, Rockville, 1989.Der zweite Band behandelt <strong>in</strong>sbesondere Verbesserungen bei der Anfrageauswertung,so etwa die ”magic set“ Techniken zur Integration von ”top-down“und ”bottom-up“ Auswertung (505 Seiten).[VGRS91] A. Van Gelder, K. A. Ross, J. S. Schlipf: The well-founded semanticsfor general logic programs. Journal of the Association for Comput<strong>in</strong>gMach<strong>in</strong>ary (JACM) 38 (1991), 620–650.


192 LITERATURVERZEICHNISDiese Arbeit beschreibt die dreiwertige ”well-founded“ Semantik für die Negation<strong>in</strong> logischen Programmen. Es werden auch Vergleiche zu den übrigenProlog-Semantiken angegeben (31 Seiten).[Wüt91] B. Wüthrich: Semantic improvement of deductive databases. InB. Thalheim, J. Demetrovics, H.-D. Gerhardt (eds.), MFDBS 91 (3rdSymposium on Mathematical Fundamentals of Database Systems), 216–229,LNCS 495, Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, 1991.[YH85][YS91]Diese Arbeit enthält e<strong>in</strong>en Vorschlag für die Ausnutzung von Integritätsbed<strong>in</strong>gungenzur Optimierung von Anfragen (Semantische Anfrageoptimierung).Die Methode wird auch auf die Vere<strong>in</strong>fachung von Integritätsbed<strong>in</strong>gungen undRegeln angewendet (14 Seiten).A. Yahya, L. J. Henschen: Deduction <strong>in</strong> non-horn databases. Journal ofAutomated Reason<strong>in</strong>g 1 (1985), 141–160.Diese Arbeit führt e<strong>in</strong>e Version der CWA e<strong>in</strong>, die unter UNA und DCA äquivalentzur Prädikat-Circumscription ist. Der angegebene Antwortalgorithmusenthält allerd<strong>in</strong>gs e<strong>in</strong>en Fehler, wie <strong>in</strong> Band 4, 1988, 109–111 gezeigt wurde(20 Seiten).E. Yardeni, E. Shapiro: A type system for logic programs. The Journalof Logic Programm<strong>in</strong>g 10 (1991), 125–153.In dieser Arbeit wird e<strong>in</strong> Typsystem für logische Programme entwickelt,Typ-Inferenz und Compilezeit- sowie Laufzeit-Typprüfung werden diskutiert(29 Seiten).


IndexAbleitungsregeln 72Änderungsoperationen 64äquivalent 19Äquivalenzbezüglich <strong>Defaults</strong> 84Alphabet 14Anfrage 39Anfrageauswertung 125Annahmeder e<strong>in</strong>deutigen Namen 29der geschlossenen Welt 101, 103bei partiell geordneten <strong>Defaults</strong> 106mit Prioritäten 104AntwortBerechnung 125def<strong>in</strong>ite 40erzeugte 43korrekte 40m<strong>in</strong>imale 40potentielle 139Antwortklausel 140Antwortmengeendliche 43Anzahlvon Vervollständigungen 32Argumentsorten 14Ausdrucksfähigkeit 89Ausprägung 29, 30Axiom 26, 27Begründung 139widersprechende 142Bereichsbeschränkung 21für Klauseln 26beschränkt monoton 75CD 84Circumscription 35, 74, 77CON 73CUM 76CWA 35, 101, 103modifizierte 112naive 86orig<strong>in</strong>ale 74, 86starke 114vorsichtige 101, 103mit partiell geordneten <strong>Defaults</strong> 106mit Prioritäten 104Datenbankdeduktive 11, 12, 26relationale 12<strong>Datenbanken</strong>twurf 169Datenbankschema 14Datenbankzustand 15DatenmodellER 14relationales 14, 169Datentyp 12, 14DED 78Deduktions-Eigenschaft 78Deduktionstheorem 77Default 28, 29Ausprägung 29, 30Default-Logik 74Default-Semantik 39Default-Spezifikation 38Defaultlogik 27<strong>Defaults</strong>Reiter’s 27stark verträglich mit 86verträglich mit 84193


194 INDEXDIS 79Disjunktions-Eigenschaftfür <strong>Defaults</strong> 87Umformulierung von DED 79EigenschaftCD 84CON 73CUM 76DDIS 87DED 78DIS 79EXP 81NCWA 87RCUT 75RMON 75SCD 86E<strong>in</strong>führungImplikation 78Ergebnisvariablen 39Erhaltung der Konsistenz 73EXP 81Expansions-Eigenschaft 81Expertensystem 3Extensionkonstruktive 116maximalebei partiell geordneten <strong>Defaults</strong> 106mit Prioritätsstufen 104ohne Prioritäten 102Faktum 129Folgerungsregeln 72Folgerungsrelationdurch Vervollständigung gegeben 37logische 19vervollständigte 36folgt logisch 19Formel 18atomare 18bereichsbeschränkt 13bereichsbeschränkte 21Funktionssymbol 12Gleichheit 12Herbrand-Interpretation 16Erweiterung 17Redukt 17Herbrandmodell 13Hyperresolution 132, 133e<strong>in</strong>fache 129, 130ImplikationE<strong>in</strong>führung 78konstruktive 116Integritätsbed<strong>in</strong>gung 13, 47, 48Interpretation 16Herbrand 16Klausel 25bereichsbeschränkte 26konsistent 19konsistenzerhaltend 73Konsistenzerhaltung 32Konstante 14Kopf-Literal 129kumulierend 76Lernen, masch<strong>in</strong>elles 33l<strong>in</strong>ksstabil 72Literal 24auswertbares 129Kopf- 129negatives 24positives 24Rumpf- 129Logik 11, 13allgeme<strong>in</strong>e 12autoepistemische 28Default 74Default- 27deontische 11dynamische 11epistemische 11temporale 11logisch äquivalent 19


INDEX 195Modell 19Herbrand- 13<strong>in</strong>tendiertes 30m<strong>in</strong>imales 31, 89Modell-Beziehung 19, 25Monotonie 74beschränkte 75Namene<strong>in</strong>deutige 16, 29NCWA-Eigenschaft 87Nullwerte 3, 16, 50, 58Objektekomplexe 11OL-Resolution 151ORACLE 135Ordnung, partielle 89Prädikat 14e<strong>in</strong>gebautes 12Priorität 28, 29von Default-Ausprägungen 30Prolog 35, 40, 43Rahmenregel 64RCUT 75Regel 129RMON 75Rumpf-Literal 129SCD 86Schema 14Schlüssel 13Schnittregel 75beschränkte 75schwächer als 83Semantikvon <strong>Defaults</strong> 39Signatur 13, 14Semantik 15unabhängig von 42skeptisch 116Sorte 14SQL 136stärker als 83Standardprädikat 12stratifiziert 52Str<strong>in</strong>g 14Substitution 20Symbol 14Teilsignatur 15Term 18TermeAuswertung 19Testdatengenerierung 33Typisierung 11Typprädikat 12Typprüfung 12, 14UNA 16, 29Unabhängigkeit von der Signatur 42Updates 64Variablenbelegung 18Variablendeklaration 17verträglichmit <strong>Defaults</strong> 84mit Prioritätsrelation 114Vervollständigung 30, 34modelltheoretische 12, 30schwächste 83stärkste 83syntaktische 35Wissenserwerb 33Zahl 14Zeichen 14logische 14Zeichenkette 14Zustand 15Zweierpotenzen 43


196


LEBENSLAUF 197LebenslaufName:Stefan BraßGeburtsdatum:09.08.1964Geburtsort:HannoverKonfession:evangelisch-lutherischFamilienstand:ledigEltern:Prof. Dr. Helmut BraßGisela Braß, geb. LüderGeschwister:Peter ( ∗ 28.11.1967)Schulausbildung:1970–1974 Grundschule Bremerhöhe, Clausthal–Zellerfeld1974–1978 Graf-Stauffenberg-Gymnasium, Osnabrück1978–1983 Gaußschule, Braunschweig09.05.1983 Abitur (Gesamtzensur 1.0)Mitarbeit im Katastrophenschutz:1982–1991 Helfer beim Technischen HilfswerkStudium:01.10.1983 Immatrikulation an der TU Braunschweigim Diplom-Studiengang Informatik24.09.1985 Diplom-Vorprüfung (Gesamtnote ”Sehr gut“)02.09.1988 Diplom (Gesamtnote ”Mit Auszeichnung“)Berufstätigkeit:03.10.1988 Wissenschaftlicher Mitarbeiter am Lehrstuhl VI–31.07.1990 des Fachbereichs Informatik der Universität Dortmundseit 01.08.1990 Wissenschaftlicher Mitarbeiter am Institut für Informatikder Universität Hannover

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!