Und wir stellen die Frage, ist diese Menge von Formeln
erfüllbar? Das heißt, ist es möglich,
dass alle Formeln dieser Menge unter derselben Interpretation wahr werden?
Können wir eine Interpretation finden, die das leistet? Gut,
und jetzt kann man sich natürlich anfangen zu überlegen, wann ist das einfach?
Und ganz klar ist, wenn unsere Menge nur Literale enthält,
ja, dann ist das schon ziemlich einfach.
Denn wir müssen eigentlich nur noch checken,
gibt es hier Komplementiere, Literale in der Menge?
Und wenn das nicht der Fall ist, dann können wir
die Interpretation, die all diese Literale wahrmacht, gewissermaßen ablesen.
Wenn diese Literale alle wahr sein sollen, naja,
dann muss zäh wahr sein und b-wahr sein, das ist ja klar.
Naja, und A muss falsch sein, weil der ist
als negiertes Literal auftaucht und De muss auch falsch sein,
weil es als negiertes Literal auftaucht.
Ja, das heißt, wir können relativ einfach sagen,
unter der und der Belegung ist es erfüllbar.
Wir müssen nur diesen einfachen Test machen, sind komplementäre Literale da. So,
jetzt können wir sagen, okay, das war einfach,
jetzt machen wir mal den Schritt, dass wir nicht nur Literale zulassen,
sondern wir lassen auch Konjunktionen von Literalen zu.
Und dann können wir natürlich feststellen,
dass das an der Situation gar nichts verändert,
denn die Zusammenfassung in der Menge ist ja implizit immer genauso
wie die Konjunktion auch interpretiert worden.
Das heißt, ob die Konjunktion hier explizit auftaucht oder sie
nur implizit durch die Zusammenfassung in der Menge da ist,
ist uns egal.
Also wieder können wir sagen, hier können wir aus den
Literalen direkt ablesen, welche Belegung diese Formen alle wahrmacht.
Und das ist halt der schwierige Schritt, ist zu sagen,
okay, was aber, wenn wir jetzt auch noch Dissunktionen zulassen, Dissunktionen von Literalen.
Ist es dann immer noch so einfach? Ja,
und wenn man sich diese Formeln, ey,
diese Formelmenge mal anguckt, dann sieht man, naja,
also da muss man anfangen, irgendwie mal auszuprobieren oder auf jeden Fall,
es sieht nicht so aus,
als wenn es so einfach ginge, wie da oben.
Irgendwie gibt es da Abhängigkeiten zwischen den einzelnen Klauseln,
die hier drinnen stehen,
denn es müssen die ja nicht beide disjunktiv erknüpften Formeln wahr werden,
damit die Desjunktionen wahr wird
So, und jetzt kann man die Beobachtung machen,
okay, im Allgemeinen ist das ein Problem,
was es uns jetzt, was jetzt erfordert,
dass wir wieder durchprobieren müssen, die verschiedenen Belegungen.
Aber auch unter den Fällen, wo Disjunktionen auftauchen,
gibt es jetzt wieder Fälle, die relativ einfach zu behandeln sind.
Und dafür habe ich hier mal ein Beispiel angeführt. Ja,
auf den ersten Blick mag vielleicht gar nicht klar sein,
wieso ist das jetzt einfacher als das da oben? Ja,
dieses zweite Beispiel hier ist einfacher, Denn wie man sieht,
haben wir ja hier nicht nur Dissunktionen drinstehen,
sondern wir haben hier auch ein Literal B als Einzelstück gewissermaßen drinstehen.
Und wenn wir wissen, die Interpretation, die wir suchen,
soll alle Formeln aus dieser Menge wahrmachen, dann heißt das natürlich automatisch
B muss auch wahr sein. Ja, das heißt,
okay, da können wir schon mal sagen,
wir B brauchen wir nur den Fall zu betrachten,
dass es wahr ist und müssen dann gucken,
können wir das fortsetzen für die anderen zu einer Belegung,
die auch die anderen Formeln wahrmacht
Nee, ist wahr. Jetzt stellen wir fest,
wir haben hier A oder nicht B, nicht B, muss ja falsch sein.
Das heißt, wenn das ganze Vase sein soll,
dann müssen wir A wahrmachen. Also schreiben wir schon mal auf,
okay, B wird war A, wird auch wahr.
Und das wollen wir jetzt wieder fortsetzen. Jetzt stellen wir hier fest,
wir haben hier eine Formel, nicht A oder C,
von Nicht-A wissen wir schon wieder, das ist falsch.
Also müssen wir dem C die Belegung Eis oder wahrgeben.
Dann haben wir diese drei Formeln alle wahrgemacht,
wenn wir C, allen den Wahrheitswert eins zuordnen.
Und dann haben wir hier noch eine letzte Formel,
nicht C oder nicht D, da müssen wir wieder nicht C,
das heißt nicht D, muss wahr werden, um diese Formel wahrzumachen.
Also muss D selber den Wahrheitswert null kriegen. Hier unten steht die Belegung,
ja, und die konnte man, naja,
nicht so einfach ablesen wie im ersten Fall, aber doch relativ zügig,
indem man ausging von diesem Literal hier, die Wahrheitswerte bestimmen,
die den einzelnen Aussagesymbolen zugeordnet werden können oder müssen,
damit die Formenmenge wahr wird.
Und wir konnten es durch Betrachtung der Formelmenge eben nacheinander aufbauen,
gewissermaßen in einem deterministischen Durchlauf abarbeiten und mussten eben nicht die gesamte Wahrheitstafel aufstellen.
Während wir in diesem ersten Fall von Desjunktionen nicht so einfach,
so ein Durchlauf definieren können. Wir könnten sowas machen,
sozusagen nachdem wir jetzt dieses Verfahren hier gesehen haben,
können wir natürlich sagen, okay, wir schnappen uns einfach eine der Klauseln.
B oder D, damit die wahr wird,
muss eine von beiden wahr werden. Das heißt,
wir laufen dasselbe Verfahren durch einmal mit der Annahme B.
Es war einmal mit der Annahme D ist wahr.
Bei diesen vier kleinen Formeln ist das natürlich auch machbar,
aber es ist sozusagen der Einstieg in den Punkt,
wir müssen Fallunterscheidungen machen und damit für jeden Fall,
dass wir es halt mit sehr viel komplexeren Formeln und sehr viel mehr Formen zu tun haben,
sozusagen der Einstieg in die kombinatorische Explosion,
wo wir dann im Endeffekt mit nicht viel weniger rauskommen als halt einer kompletten Wahrheitstafel.
Gut, und die Idee in auch bei den hohen Formeln
oder in der Hornlogik ist jetzt eine syntaktische Charakterisierung für die guten Fälle zu finden,
diejenigen, wo man eben durch ein deterministischen Durchlauf durch die Formelmenge solche Belegungen konstruieren kann und zusätzlich auch sicher sein kann,
dass wenn man keine solche Belegung auf diesem Weg findet,
dass dann auch tatsächlich die Formelmenge nicht erfüllbar ist.
Gut, jetzt geht es zur Charakterisierung,
also gesucht ist eine syntaktische Charakterisierung, also eine Charakterisierung,
die einfach nur sich die Struktur der Formel anguckt und daraufhin
eben die Einordnung macht in gutartiger Fall oder nicht gutartiger Fall
Ähm... Wir beginnen bei den Klauseln. Eine Klausel,
das ist ja eine Distunktion von Literalen, ist genau dann eine Hornklausel,
wenn in ihr höchstens ein positives Literal vorkommt.
Ja, es können beliebig viele negative vorkommen und es darf
höchstens ein positives Literal vorkommen, aber es muss auch keins vorkommen.
Und eine Formel in konjunktiver Normalform,
bei der jede Klausel eine Hornklausel ist,
das ist dann
eine Hornformel
Hier nochmal einfach ein paar Beispiele. Ja, Hornklauseln haben
wir hier auf der linken Seite. Das Aussagesymbol,
also ein positives Literal oder ein negatives Literal, beides und Hornklauseln.
Dann auch sowas Negatives, Literal kombiniert mit einem positiven oder einfach nur mehrere negative Literale.
Oder ja, hier sind mal drei negative und ein positives.
Ja, das sind alles Hornklauseln, die können eben auch
beliebig lang werden. Keine Hornklauseln sind aber diejenigen,
wo ein ey, wo zwei oder mehr positive literale auftauchen.
Gut. Ja, wenn man sich die Charakterisierung anguckt,
dann sieht man, dass man drei Fälle unterscheiden kann,
je nach der Frage Kombination, positiver und negativer Literale.
Der komplexeste Fall ist der, wo wir mehrere,
oder eins oder mehrere negative Literale haben und ein positives Literal.
Diese Klauseln können wir auf uns regeln bezeichnen.
Es wird nachher nochmal ein bisschen deutlicher werden,
warum wir diese Dinger gerade,
gerade diese Dinger regeln nennen
Dann gibt es die Möglichkeit, dass gar kein
positives Literal auftaucht, dafür aber beliebig viele negative Literale.
Diese habe ich jetzt Beschränkungen genommen, genannt.
Das Wort war vorher in den gedruckten Versionen noch nicht enthalten,
aber ich fand es irgendwie sinnvoll,
da einen griffigen Therm für zu haben, die nenne ich jetzt Beschränkungen.
Und es kann der Fall auftauchen, dass wir nur ein
positives Literal, aber gar keine Negativen haben.
Das sind die Fakten, aber es dürfte klar sein,
da dürfen dann auch nicht,
oder darf eben höchstens eins oder genau eins nur vorkommen,
positives Literal
Ähm, ja, solche Klauseln oder Hornklauseln,
für die können wir natürlich auch wieder sagen, es gibt,
also, ja, die Möglichkeit, die unnötig komplex zu machen,
nämlich dadurch, dass man einzelne Literale wiederholt,
das brauchen wir nicht zu tun, ja.
Und deshalb führen wir hier den Begriff reduzierter Hornklauseln ein,
also ein Hornklausel, heißt reduziert, wenn kein Aussagesymbol mehrfach vorkommt.
Naja, und das heißt also,
man kann sich die Wiederholung von literalen sparen,
aber das heißt eben auch, dass, ja, wenn wir komplementäre,
literale Vorliegen haben, würde das eben nicht unter reduzierte Hornklauseln fallen.
Gut, wenn wir in einer Hornklausel ein paar von komplementären literalen haben,
dann wissen wir ja, auch bei anderen Klauseln ist das so,
dass diese Klausel eine Tautologie ist oder allgemeingültig ist.
Und wenn kein paar komplementärer Literale auftaucht, dann gibt es zu K eine äquivalente,
reduzierte Hornklausel, dann brauchen wir also keine Wiederholung.
Okay, das wird gleich nur an einer Stelle wichtig sein,
wenn wir nämlich zeigen wollen, dass es Formeln gibt,
zu denen es eben keine rivalenten Hornformeln gibt. So,
jetzt hat es sich eingebürgert, wenn man mit Hornlogik arbeitet,
teilweise eine andere Notation oder eine andere Logik zu verwenden und zwar anders dahingehend,
dass man sogenannte logische Konstanten einführt, Ja,
gemalt als Tee oder umgedrehtes Tee und ausgesprochen als Top,
beziehungsweise Bottom.
Das kommt sozusagen aus der Verbandstheorie,
muss uns hier nicht weiter stören, warum die Dinger so heißen,
aber man kann sich dieses Tee für Top auch durchaus als True merken,
denn tatsächlich steht,
dass für die Tautologien sozusagen eine Konstante,
die unter allen Interpretationen
halt wahr wird
Und entsprechend bottom, umgekehrt, steht für Kontradiktion.
Also sozusagen eine konstante, die unter allen Belegungen immer falsch wird.
Wenn wir diese Zusatzsymbole einführen in unsere Logik, dann ergibt sich,
dass wir halt eine sehr uniforme Darstellung finden können für diese Hornklauseln.
Und das ist der Grund,
warum man das macht
Mag mal jemand vielleicht die Tür zumachen,
da draußen geht es wieder bunt los.
Ja, dankeschön. Wir werden diese Konstanten jetzt auch eigentlich
nur im Kontext der Hornlogik verwenden. Hier,
was diesen Kurs betrifft oder diese Vorlesung,
aber man kann dem durchaus an der einen oder anderen Stelle
auch mal begegnen in anderen Logikbüchern
Gut, ich gehe mal kurz noch eine Folie weiter.
Was wir eigentlich machen, ja, wenn wir sagen,
wir führen jetzt neue Konstanten ein in die Logik,
was wir eigentlich machen, ist zu sagen,
wir definieren uns hier eine neue Logiksprache.
Und ich habe sie jetzt mal hier einfach mit L,
A, L und dann Topbottom als, ja,
oberen Index dargestellt, um zu sagen, ja,
eigentlich haben wir jetzt eine reichere Sprache.
Wir können mehr Formeln bilden. Die Konstanten,
die logischen Konstanten werden syntaktisch, behandelt wie Aussagensymbole.
Sie sind also auch atomare Formeln
Und wir können daraus dann entsprechend komplexe Formen aufbauen. Das heißt aber auch,
dass wenn wir über diese allgemeinere Logiksprache beispielsweise weise führen wollen,
zum Beispiel über strukturelle Induktion,
dann müssen wir natürlich für diese erweiterte Sprache auch entsprechend Sorge tragen,
die Fälle der Konstanten zu behandeln.
Das heißt, im Induktionsanfang müssten wir dann auch immer sagen,
was passiert mit Haut und Bottom,
warum passt die Behauptung,
die man aufgestellt hat,
auch für diese zusätzlichen Konstanten
Naja, und das war auch der Grund,
warum wir nicht von Anfang an auch noch diese Konstanten eingeführt haben,
weil wir halt die Sprache am Anfang einfach halten wollten,
und auch im Weiteren werden wir es sozusagen in der Regel unsere Basissprache verwenden,
ohne diese Symbole.
Okay, was hat man davon,
wenn man diese Konstanten einführt,
warum machen sich Logiker ab und zu mal die Mühe,
das zu tun
Naja, eigentlich ist der Grund, dass man dann eine Alternative Darstellung der Negation gewinnt. Ja,
wenn man sich das hier unten anguckt,
was man nämlich zeigen kann, ist,
wenn man das Bottom hat, dann ist die Formel F impliziert Bottom,
Äquivalent zur Negation von F. Ja, das heißt,
wir können für jede Formel letztlich eine alternative Darstellung finden,
in der kein Legationszeichen wir vorkommt.
Ich würde sagen, das ist der Hauptgrund,
warum man sich überhaupt mit solchen Konstanten beschäftigen mag.
Und wir werden auch an einer Stelle sehen,
wo wir es gleich nutzen werden
Ja, ich habe diese hier nochmal gelb umrandet,
weil dass die Äquivalenzen sind,
die wir gleich in Bezug auf die Horn formeln, noch benutzen wollen.
Einerseits eben Meditation, Formel ist Äquivalent zur Imblikation,
mit der Formel als Präsident Bottom als Konsequenz.
Und der anderen Seite, wenn ich die Implikation bilde,
top impliziert F, dann ist das Äquivalent zu F. Also
ist einfach eine komplizierte Art und Weise,
F zu sagen
Uns interessieren alle anderen, die hier stehen, werden wir nicht weiter thematisieren.
Es dürfte klar sein, dass die Negation der Konstanten natürlich
immer Äquivalent sind zur jeweils anderen Konstanten und so weiter.
Okay. Ja, was nützt uns diese neue Syntax,
diese erweiterte Sprache nun in Bezug auf unsere Hornformeln?
Kommen wir wieder zu den drei Fällen von Hornklauseln,
die wir ja schon angesprochen hatten und gucken mal sozusagen,
wie können wir
die darstellen
Und dieser erweiterten Sprache. Zunächst mal der komplizierteste Fall.
Wir haben negierte und nicht negierte Aussagensymbole eben allen,
nicht negiertes Aussagensymbol als Komponenten hier. Der Klausel,
dann können wir ja äquivalente Formeln finden, wie folgt.
Also zunächst mal hier ist einfach nur sozusagen geklammert. Ja,
das ist, wir gruppieren jetzt die Legierten literale Und dann
können wir die Negation nach außen ziehen mit dem Organ.
Hier haben wir nicht A1 oder nicht A2 und so weiter.
Und hier haben wir nicht. Und dann in Klammern A1
und A2 und so weiter. Ja,
das ist einfach eine Anwendung von De Morgan hier.
Haben wir die Negation nach außen gezogen. Und jetzt müssen
wir ja nicht F oder G, ist dasselbe wie F impliziert G.
Das heißt, das können wir auch in diesem Fall anwenden. Das heißt,
ja, wir können hier Unsere ursprüngliche Klausel, Äquivalent,
Äquivalent darstellen als A1 und A2 und AI im Endeffekt impliziert AK.
Das ist nur eine andere Darstellung von dem hier oben.
Hier haben wir Top und Botton noch gar nicht gebraucht.
Wir brauchen sie bei den anderen beiden Fällen. Gucken wir
uns an den Fall, dass wir nur negierte Literale haben,
dann können wir das äquivalent umformen,
wieder mit dem Morgan,
indem wir
die Negation rausziehen
Und statt nicht A1 oder nicht A2 und so weiter,
dann haben nicht A1 und A2 und so weiter.
Und das können wir jetzt nach dem,
den wir eben gucken, hier steht es nochmal,
Umform wieder in der Implikation, mit Prämisse A1 und A2
und so weiter und dann hier hinten das Bottom.
Ja, auf der rechten Seite des Implikationsfalls.
Das war ja einfach nur eine andere Art Negation darzustellen
Wenn wir uns den dritten Fall angucken, die Fakten,
einfach nur ein positives Literal, dann können wir das auch
ziemlich kompliziert hinschreiben, nämlich als Tee oder Top impliziert A1.
Was wir gewonnen haben, ist eine einheitliche Darstellung,
wo wir jetzt nur noch die Implikation als Hauptoperator haben,
in allen Fällen. Und der Unterschied ist jetzt dazwischen,
wie komplex ist das, was wir vor dem Pfeil haben?
Hier haben wir eben ein oder mehrere, konjunktiv verknüpft vor dem Pfeil.
Hier haben wir nur das Top. Und wie kompliziert ist das,
was dahinter steht? Und da haben wir nur zwei Fälle.
Entweder die konstante Bottom oder ein Aussagesymbol, ein positives Literal.
Wie man sieht, Disjunktion taucht nicht mehr auf und Negation
taucht in dieser Form der Darstellung auch nicht mehr auf.
Ja, diese drei Typen von Hornklauseln, tauchen auch auf
oder haben sich als nützlich erwiesen, würde ich mal sagen.
Im Bereich der sogenannten Logikprogrammierung die Logikprogrammierung findet man an verschiedenen
Stellen bei Ihnen im Studium beispielsweise, wird es auftauchen,
wenn Sie sich dafür entscheiden, sich mit ProLog auseinanderzusetzen, in SE3.
Ja, das ist eine Sprache der Logikprogrammierung,
die letztlich auf Hornlogik aufbaut. Es ist natürlich immer so,
wenn man wirklich programmieren will, dann will man auch
alles machen können
Und mit Alleinhornlogik kann man nicht alles machen.
Deshalb ist Pro-Log natürlich viel mehr und komplizierter als das,
was ich hier darstelle, ja, aber es ist der Kern erstmal,
der Grundgedanke von Pro-Log ist, diesen Teil der Logik zu nutzen für Programmierung.
Ein anderer Bereich, wo man es findet, ist,
oder ein anderes Beispiel neben Pro-Log ist das sogenannte Data-Log,
der Data-Log, im Stuhl, hier im Hamburger Programm wird darauf eingegangen,
in der Vorlesung GWV oder in der Modul GWV Ja,
in einer der Vorlesungen.
Data Locke ist aber auch eine Sprache, die eingesetzt wird in sogenannten deduktiven Datenbanken.
Ja, deduktive Daten oder Datenbanken kann man sich ja erst
mal vorstellen, einfach als eine große Sammlung von Fakten.
Und da kann man auch wirklich sagen,
Fakten in dem Sinne, wie wir sie hier betrachten,
einfach positive Literale, positive Aussagen.
Hans ist der Sohn von Peter
Und natürlich hat sich an verschiedenen Stellen auch der Bedarf gezeigt,
dass nicht alles, was wir über die Welt wissen,
sich in solchen einzelnen Fakten darstellen lässt,
sondern dass man manchmal Regeln hat.
Oder dass man Beschränkungen hat, Constraints, also Integritätsbeschränkungen,
wo man sagt, das soll aber gesichert sein, das soll gelten.
Und die Idee der deduktiven Datenbanken sagt jetzt,
wir wollen eben Datenbanken nicht nur als eine reine Sammlung von Fakten haben,
sondern eine Regelkomponente ergänzen, die es uns erlaubt,
regelhafte Ja, Wissen oder Informationen auch abzulegen und zu nutzen.
Ja, und dafür ist halt dieses Data-Log entwickelt worden.
Also das sind zwei Beispiele für,
ja, Fälle der Logikprogrammierung auf der Basis von Hornlogik.
Auch dort hat man eben irgendwie sowas wie Fakten. Ich habe hier,
ich hoffe, es ist sichtbar, in Rot sozusagen,
das ergänzt, was man beispielsweise bei Prolog noch ergänzen muss,
um es richtig hinzuschreiben.
Bei den Fakten ist das nicht mehr als einfach ein Punkt,
den man dahinter machen muss
Pro-Log ist unglaublich sensibel, was Interpunktion angeht. Da muss man
die Punkte am Ende immer setzen. Sonst glaubt er,
man ist noch nicht fertig und wartet noch darauf, dass was passiert.
Ja, und das könnte dann eben sowas sein, wie die Aussage.
Hans ist Sohn von Peter und Peter ist Sohn von August oder sowas.
Dann gibt es Regeln und diese Regeln entsprechen eben dem,
was wir hier in den Hornklauseln auch als Regel bezeichnet hatten,
auch solche Inpeditionen mit einer Konjunktion von Bildern,
aus denen wir dann irgendwas ableiten wollen.
Nur schreibt man die Prolog beispielsweise aus irgendeinem Grund andersrum.
Da sagt man, also wenn du wissen willst,
ob Arc Hagelt, dann musst du prüfen,
ob A1 und A2 und so weiter und AI gelten.
Aber wenn es auf dem Weg nicht gelungen ist,
könnte es sein, dass eine zweite Regel dasteht,
die sagt, naja,
AK kriegst du auch unter diesen und jenen anderen Bedingungen.
Ja, also man schreibt es so hin,
dahinter steckt aber eine Wenn-dann-Beziehung Entsprechend formuliert wie hier.
Also dieses Ziel könnte man auch als ein Don-Wenn-File sehen.
AK, dann, wenn A1 und A2 und AI.
Ja, also in Polo könnte man sowas hinschreiben.
Hans ist Enkel von Ben, wenn Hans Sohn von Peter
ist und Peter Sohn von Ben.
Ja, haben wir das richtig gemacht? Ich hoffe ja
. Wir sind hier in einer Aussagenlogik. Ja,
deshalb arbeiten wir auch nicht mit Variablen und solchen zusätzlichen Komplexitäten,
sondern haben sehr einfach strukturierte Aussagen hier
So, dann sozusagen als dritten Fall ist es so,
dass man in der Logik Programmierung oder auch eben in deduktiven Datenbanken
gewisse Anfragen oder Anfragen stellen will oder Ziele überprüfen will.
Und die werden dann über die Beschränkung modelliert. Also,
wenn ich beispielsweise wissen will,
ob Hans Enkel von Ben und Ben Sohn von Peter ist,
Dann kehre ich in Pro-Log so eine Anfrage formulieren.
Hier dieses Fragezeichen, das signalisiert quasi das,
was wir in unserer Logiksprache mit dem Bottom gemacht haben.
Ja, es signalisiert,
hier haben wir es eben mit einer Anfrage zu tun,
die eben keinen eigentlichen Regelkopf hat.
Ja, und die Anfrage entspricht jetzt eben
so einer Beschränkung aus unserer Hornlogik
Okay, also wie man sieht, es ist sozusagen die gleiche Grundstruktur,
die man hat, im Fall der Logikprogrammierung,
wie wir es hier auch im Fall der Rauenlogik haben.
Und warum man sich gerade Hornlogik ausgesucht hat,
das liegt halt an den günstigen Berechnungseigenschaften,
die man in diesem Fall hat,
dass man einfach mit relativ zügigen Verfahren zu Ergebnissen kommen kann.
Der Nachteil ist, dass es eben gewisse Sachen nicht damit machbar sind.
Und ja, dazu kommen Kommen wir jetzt,
nämlich zu der Frage, was können wir eigentlich durch Hornformeln ausdrücken,
beziehungsweise was können wir nicht damit ausdrücken?
Und das, was man sich grundsätzlich merken sollte,
ist so eine einfache Diskussion. A oder B. Ja,
das ist ja das, was wir gerade aussortiert haben als mögliche Klauseln.
Das und weitere, das Jungte da dran.
Das können wir dann auch nicht ausdrücken.
Wenn wir es syntaktisch aussortiert haben in diesem Kontext,
führt das dazu, dass wir es auch semantisch nicht
zur Verfügung haben
Also, es gibt keine Hornformel, die Äquivalent ist zu
A oder B. Okay, wie kann man das sehen?
Nun, wir können uns ja erst mal angucken, was für Klauseln,
Hornklauseln können wir überhaupt aus dem Material bilden, A und B.
Und hier sind sie aufgelistet. A ist natürlich
so ein Fakt, B ist ein Fakt.
Nicht A ist eine Beschränkung, nicht B, eine Beschränkung.
Und dann haben wir hier drei Regeln.
A oder nicht B, das Entspräche dann,
wenn B,
Nicht A oder B, das entspricht dann A impliziert B.
Und ach so, hier, das dritte ist wieder eine Beschränkung, zwei Nicht-A oder Nicht-B.
Okay, also drei Beschränkungen, zwei Regeln und zwei Fakten
kann man erst mal so draus konstruieren aus diesem Material. Wenn wir uns jetzt von diesen Klauseln die Wahrheitswertverläufe angucken und aufschreiben und daneben mal stellen,
den Wahrheitswertverlauf von A oder B, dann Ja,
gibt es zwei Begründungen, die man anführen kann,
die jeder für sich reich oder jede dieser Begründungen für sich reicht schon,
ja, aber ich habe mal beide hier aufgeschrieben,
ja, warum können wir durch Konjunktion dieser Klauseln,
die wir hier haben, nicht diesen Wahrheitswertverlauf konstruieren,
ja, Konjunktion, da ist es ja immer so,
dass die Nullen überleben, ja, oder das Falsche überlegt,
wenn ich konjunktiv was verknüpfe und ich habe bei dem,
was ich verknüpft habe,
irgendwo den Wahrheitswert 0,
dann setzt er sich ja durch
Deshalb habe ich hier die Nullen auch mal hervorgehoben.
Bei den Hornklauseln, die wir hier stehen haben.
Und was wir feststellen ist, bei den drei Belegungen 1,
A2, A3 haben all diese Hornklauseln wenigstens einer Position die Null.
Das heißt, wenn ich die benutzen würde, um sie konjunktiv zu verknüpfen,
dann würde eben auch entsprechend an mindestens einer dieser Stellen die Null da bleiben.
Und das wollen wir aber nicht haben, wenn wir den Wahrheitswertverlauf von A oder Bekonstruieren wollen.
Also können wir nicht Real, also A, B,
also A, B, nicht A,
nicht B und die sind drei komplexeren Klauseln durch Konjunktion, diesen Wahrheitswertverlauf erzeugen.
Das ist die eine Art, wie man argumentieren kann,
die andere Argumentweise zu argumentieren, geht vielleicht noch ein bisschen schneller,
man guckt sich diesen Wahrheitswertverlauf an und sagt, aha,
in der vierten Interpretation, die wir hier haben,
wollen wir eine Null haben.
Diese Null muss ja bei der Konjunktion irgendwoher kommen Und wenn wir uns angucken,
was wir zur Verfügung haben, dann sind all die Klauseln,
die hier auf der rechten Seite stehen, welche,
die eine Eins liefern.
Das heißt, eine von den beiden hier vorne,
A, bzw. B, müsste dann konjunktiv verknüpft werden,
um diese Null zu generieren.
Naja, aber wenn man eine von denen nimmt,
dann kriegt man automatisch auch an der zweiten oder dritten Position
eine Null und das will man nicht.
Also kann man auch über dieses Argument sehen,
das können wir nicht bauen,
das geht nicht
Gut, jetzt könnte man natürlich sagen, na ja,
aber wir könnten ja vielleicht das hinkriegen, wenn wir noch ein anderes literal dazunehmen.
Irgendein anderes Außerhaldesymbol. Und dass das nichts hilft,
das ist nochmal dann auf einer Folie oder auf den Unterlagen ersichtlich.
Müssen wir jetzt nicht durchgehen. Gut. Okay,
also wir haben gesehen, dass wir eine Sprache hier definiert haben,
die der einfacher ist, als Aussagenlogik, dahingehend,
dass wir nichts alles damit sagen können,
aber wir haben ja schon so ein paar Dinge gesehen,
die man sagen kann und eben gerade Regeln formulieren,
kann man Fakten betreiben, können wir und zusätzlich noch diese Beschränkungen.
Und um deutlich zu machen, dass die Beschränkung,
die wir hier gemacht haben, tatsächlich ausreicht,
um dann sagen zu können,
und jetzt können wir mit sehr effizienten Verfahren arbeiten,
dazu betrachten wir hier den sogenannten Markierungsalgorithmus
Eigentlich ist dieser Markierungsalgorithmus, steht nur stellvertretend für eine größere Klasse von Algorithmen,
die halt alle diese Grundstruktur der Horn-Formeln ausnutzen,
aber es ist eben auch ein Verfahren, was man,
glaube ich, ganz gut nachverfolgen kann.
Die Grundidee ist, wenn wir eine Horn-Formel haben,
insbesondere wenn sie in Implikationsschreibweise dargestellt ist,
dann können wir auf dieser Basis relativ einfach solche Aussagesymbole markieren,
die in jeder Belegung, die die Gesamtformel wahrmacht,
auch auf eins abgebildet werden muss.
Und wenn man solche Formeln markiert, aufgrund der Materialien,
die man als Grundlage hat, dann kann man zu zwei Ergebnissen kommen.
Entweder man findet tatsächlich eine Belegung,
die die Formel wahrmacht oder man kommt an eine Stelle,
wo man sagt, nein,
jetzt haben wir das Ganze in einen Widerspruch getrieben und
diese Formel kann gar nicht wahrgemacht werden
Okay, das Verfahren läuft wie folgt. Also wir haben
eine Formel, ein Hornformel in Implikationsschreibweise. Das heißt,
das ist eine Konjunktion von solchen Fakten und von Regeln oder Beschränkungen.
Und im ersten Schritt gucken wir uns nur die Fakten an,
die in der Formel drin stehen.
Die können wir ja einfach erkennen, das sind die Dinger,
wo steht,
top impliziert,
Und da markieren wir dieses Aussagesymbol AI und wir markieren es nicht nur in der Position,
wo es im Fakt drin drin steht,
sondern wir markieren es auch in all den anderen Formen,
Teilformeln oder Klauseln, die wir finden.
Ja, also wenn wir so einen Fakt finden,
dann markieren wir alle Vorkommen von dem AI in unserer Formel.
Dann gehen wir in eine Schleife und testen,
inwieweit wir diese Markierung weiter propagieren können. Ja,
also wenn wir so eine Regel haben, wo alle Aussagen, Symbole,
die Links von der Implikation vorkommen, schon markiert sind.
Dann dürfen wir auch das Aussagesymbol markieren, das auf der
rechten Seite steht. Und zwar wieder in unserem gesamten,
in unserer gesamten Formel an allen Stellen, wo dieses Symbol vorkommt.
Und so treiben wir sozusagen die Markierungen durch die Formeln immer wieder,
wenn wir finden, ah, jetzt sind alle Sachen,
die Links stehen, markiert, dann kann ich wieder Neues markieren.
Und irgendwann kann es sein, dass man so eine Beschränkung findet,
Und dort hat man auch alle Aussage, Symbole,
die auf der linken Seite stehen, schon markiert.
Ja, und dann haben wir hier sozusagen zugeordnet,
all diese Aussagensymbole müssen wahr sein.
Aber wir haben hier als Aussage stehen,
wenn sie alle wahr sind, dann verletzen sie unsere Beschränkung.
Dann sollen die Kontradiktionen wahr sein.
Und das gilt halt
Das kann halt nicht sein. Das heißt,
dieser Fall, wenn wir alles hier markiert haben,
auf der linken Seite von einer Beschränkung, das heißt,
die Beschränkung ist verletzt worden und das heißt, wir können aufhören,
weiterzurechnen und sagen, die Formel ist unerfüllbar, die Bedingungen,
die formuliert sind, verletzen eine der formulierten Beschränkungen.
Wenn wir aber niemals auf so eine Situation kommen,
sondern einfach für eine Weile Markierung machen und irgendwann feststellen,
jetzt können wir keine neuen Markierungen einführen,
Sind alle Markierungen angebracht, die wir aufgrund dieser Regeln,
die wir haben, da weiter propagieren konnten,
dann kann man sagen, okay, die Formel ist erfüllbar,
wir haben keine Verletzung einer Beschränkung finden können.
Wir können aufhören und darüber hinaus können wir sogar eine Belegung
ausgeben und sagen, unter dieser Belegung ist die Formel,
die wir hier am Anfang eingegeben haben, war.
Und diese Belegung, die lesen wir ab aus den Markierungen
Ja, die markierten Aussage, Symbole, da sagen wir,
die sollen wahr werden und die Unmarkierten, die noch über sind,
sagen wir, die soll falsch werden.
Wir gucken uns das natürlich gleich nochmal am Beispiel an.
Warum das wirklich plausibel ist, was da abläuft?
Aber das ist erstmal das Verfahren. Nochmal sozusagen in einer
anderen Darstellung als Ablaufdiagramm, Eingabe, wie gesagt,
eine Hornformel in Implikationsschreibweise.
Ja, die haben wir schon vorbereitet, aufbereitet für die geeignete Verarbeitung.
Dann markieren wir alle Aussagesymbole, die als Fakten dargestellt sind
in dieser Formel
Und dann gehen wir in eine Schleife, in der
wir Markierungen propagieren über die Regeln, die wir haben.
Und zwar dahingehend, dass immer dann,
wenn alle Aussagesymbole auf der linken Seite markiert sind,
dass wir dann auch die rechte Seite markieren können.
Und wir sprechen diese Schleife ab. Ja,
wir brechen die Schleife in dem Fall ab,
wo wir feststellen,
eine Beschränkung wurde verletzt
Nämlich, wir haben alle Aussagesymbole in so einer Beschränkung
markiert und damit gezeigt, sie ist verletzt.
Und in dem Fall geben wir unerfüllbar aus, naja,
und der zweite Weg aus der Schleife raus ist halt,
wenn wir keine neuen Markierungen anbringen können und dadurch fertig sind.
Und dann geben wir erfüllbar aus. Okay. Beispiel.
Wir haben hier oben eine Formel. Ja, eine
hohen Formel
Ja, wir können nochmal checken, ist das wirklich
eine Hornformel? Wir gucken uns die Klauseln an,
hier vorne, zweimal negiertes Aussagensymbol, ein positives.
Hier zwei Fakten für sich, jeweils ein Aussagesymbol.
Die sind konjunktiv verknüpft, also sind es einfach zwei Fakten.
Dann hier, ein negiertes, ein nicht negiertes Aussagesymbol,
zusammen eine Regel. Auch hier nicht A oder D,
ist eine Regel, hier wieder eine kompliziertere Regel mit zwei
negierten Aussagesymbolen und einem positiven Literal
Und hier hinten zwei Beschränkungen. Ja, ist konjunktiv verknüpft
. Also sind jedes für sich ist eine Beschränkung.
Nicht eh, nicht geh. So,
das habe ich jetzt umgeschrieben in die Implikationsschreibweise.
Gucken wir noch mal, wie das ging. Ja,
hier vorne hatten wir zwei negative literale und ein positives,
das positive wandert auf die rechte Seite des Implikationsfiles.
Und die Aussagesymbol, der legiert,
der negativen literale werden konjunktiv verknüpft,
auf die linke Seite geschrieben
Die Fakten machen wir komplizierter, als sie waren, vielleicht auch komplizierter als nötig,
aber unser Algorithmus sieht halt nun mal so aus, ja.
Also Ostsee machen wir, wenn war, dann C.
Und genauso aus A, sagen wir, wenn war,
dann A. Dann haben wir hier nicht C oder B,
schreiben wir als Implikation,
C impliziert B. Nicht A oder C, entsprechend,
wenn A, Entschuldigung,
nicht A oder D entsprechend als,
wenn A,
Hier wieder so ein komplizierterer Fall, zwei legierte Aussagesymbole und ein positives,
wieder als so eine komplexere Regel, mit zwei Vorbedingungen.
Und schließlich die beiden Beschränkungen, nicht eh, wird zu edern.
Bottom und nicht geh, wird zu geh, beantworte.
Okay, also jetzt haben wir die Implikationsschreibweise für das
da oben. Und jetzt können wir den Markierungsalgorithmus ablaufen lassen
Ja, der Markierungsalgorithmus sagt im ersten Schritt, such dir die Fakten raus.
Such dir die Formeln raus, wo steht top,
dann Aussagesymbol. Und davon haben wir zwei Fälle. Einmal
das C und einmal das A. Und jetzt sagt der Markierungsalgorithmus,
dann markiere alle Cs und markiere alle As.
Und das habe ich hier eben entsprechend gemacht. Cs und
A ist markiert und zwar nicht nur an dieser Stelle,
sondern überall, wo sie vorkommen in dieser Formel
Gut, das ist sozusagen der erste Schritt, bevor wir in die Schleife eintreten.
Ja, wir markieren einfach diese Dinger. Gut,
und die Schleife sagte nun,
nun betrachte die Regeln und die Beschränkung und gucke mal,
an welchen Stellen du findest,
dass alle Aussagesymbole auf der linken Seite markiert sind,
auf der rechten aber noch keine Markierung steht.
Hier zum Beispiel, A, impliziert D. Ja,
A, es markiert, D ist noch nicht markiert.
Deshalb dürfen wir
gleich demagieren
Aber auch hier, zäh ist markiert, B ist nicht markiert.
Ja, das ist der Anlass zu sagen, okay,
markieren wir auch die Bs. Ja, das heißt,
was wir jetzt im nächsten Schritt machen können,
ist die Bs und die Ds markieren.
Ja, und das haben wir hier eben auch gemacht.
Alle Vorkommen von B oder D wurden jetzt markiert. So,
jetzt kommen wir wieder in die Schleife und sagen,
okay, haben wir jetzt neue Fälle dadurch erzeugt,
wo wir
Markierungen vorantreiben können
Und in der Tat haben wir jetzt hier in dieser Regel
A und B dann E, A und B markiert.
Also können wir im nächsten, schreibt das E markieren.
Das tun wir auch und haben hier jetzt entsprechend die Markierung.
So, und jetzt haben wir es so weit getrieben,
dass wir feststellen können, dass hier eine Beschränkung verletzt wurde.
Denn wir haben hier das E markiert und wir haben
die Beschränkung, wenn E dann Wattem oder dann Kontradiktion
Und das ist die Situation, wo das Verfahren unerfüllbar ausgibt. Ja,
die Idee, wie gesagt, war, markiere alle Aussage,
Symbole, von denen du sagen kannst,
wenn die Formel überhaupt eine Chance hat, wahr zu werden,
dann muss dieses Aussagesymbol auch wahr sein.
Ja, das ging los mit diesen Zest und As und
wir haben es über die Regeln vorangetrieben und sind dann zu einer Stelle gekommen,
wo wir sagen, okay,
E muss wahr sein,
aber gleichzeitig darf eh nicht wahr sein,
denn wir haben ja nicht E hier als Beschränkung drinstehen
Okay, das ist jetzt also ein Durchlauf,
wo das Ergebnis ist, die Formel ist unerfüllbar.
Natürlich habe ich auch noch ein Beispiel, wo ein anderes Ergebnis rauskommt, ja?
Das war eigentlich aus der optimalen Formel. Ja, ja,
genau, man kann es auch aus der Originalformel ablesen,
aber naja,
das funktioniert auch für tausend Aussagesymbole und riesenkomplexe Dinger mit dem Algorithmus,
aber ich könnte es nicht hier auf der Tafel dann darstellen.
Aber ja, du hast recht. Es macht nichts anderes,
als was sehr plausibel ist,
was man da
oben ablesen kann
So, das ist auch ein dummer Computer,
das irgendwann kann, wenn wir es programmiert haben.
Ja. So, zweites Beispiel, ja, wieder eine
Formel. Wir können prüfen, es ist eine Hornklausel.
Es ist ein Hornformel, Entschuldigung, in der Horn Formel.
Und wir können sie in Implikationsweise
umschreibweise darstellen
Ja, entsprechend wieder dem, was wir
eben auch gemacht haben, hier wieder so eine Beschränkung.
Diese Beschränkung, wie man sieht, ist jetzt ein bisschen
komplizierter als das, was wir eben gehabt haben.
Wir haben wir nicht A oder nicht B. Das heißt sozusagen
A und B sollen nicht gleichzeitig wahr sein.
Ja. Und hier noch ein Fakt und eine Beschränkung. So,
die Markierung, der erste Schritt der Markierung sagt,
such dir die Fakten,
da haben wir nur eins hier und markiere das Aussagesymbol
dieses Fakts,
Und das ist hier entsprechend auch gemacht. Jetzt ist der markiert. So,
und jetzt treten wir in die Schleife ein und fragen uns,
können wir die Markierungen vorantreiben? Und man stellt fest,
nee, also von links nach rechts,
wir haben keinen Fall, wo wir alles markiert haben,
was links vom Pfeil steht, aber nicht rechts.
Und dieses Ding hier, ja, da haben wir was rechts markiert.
Das können wir sowieso wegschmeißen, weil uns das niemals irgendwas helfen wird.
Wir werden nicht die Markierung von der rechten Seite
auf die linke Seite tragen, sondern immer nur andersherum.
Ja, gucken wir uns nochmal an. Wir können ja
nochmal sortieren, vielleicht fällt uns dann noch was auf.
Ja, hier die Regeln, da können wir nichts vorantreiben.
Die Beschränkung, da haben wir noch gar keine Markierung.
Also weder A, B, noch E sind markiert.
Und dann stellt der Markierungsalgorithmus also fest,
ich kann meine Schleife gar nicht
ablaufen lassen
Also kann ich auch aufhören und einfach sagen, die Formel,
die du mir gegeben hast, ist erfüllbar.
Und die erfüllende Belegung, die ausgespuckt wird, ist dann die,
die sagt, dem muss auf jeden Fall eins sein.
Die hatten wir ja markiert, das muss eins sein.
Und alle anderen Aussage, Symbole setze ich auf null. Ja,
und dann kann man nachprüfen, dass in der Tat,
wenn man diese Belegung wählt hier unten,
diese Formel hier oben wahrgemacht wird
Das Schöne ist nun, das klappt nicht nur für diese beiden Beispiele,
sondern das klappt halt grundsätzlich. Also, ja,
der Markierungsalgorithmus ist korrekt und er terminiert auch unter allen Bedingungen.
Und zwar sozusagen nach einer beschränkten Anzahl von Durchläufen.
Okay. Was macht man mit dem Markierungsalgorithmus,
wenn es gar keine Fakten gibt?
Wer hat eine Idee? Ja. Okay, gehen wir
mal zum Strukturdiagramm.
Wenn es
nicht nur alle waren
Ja, also genau der Punkt, ja,
man könnte ja nichts markieren im ersten Schritt,
wenn keine Fakten da wären, ja,
dann überspringen wir ihn einfach, okay, dann ist gar nichts markiert,
also werden wir auch keine Migierung vorantreiben können,
also können wir aussteigen und sagen, es ist erfüllbar,
fertig.
Ja, und da nichts markiert ist,
würde auch eine Belegung generiert werden, nämlich eine,
wo alle Aussagesymbole auf null gesetzt sind
So. Und jetzt ist es sozusagen,
was man sich jetzt noch überlegen muss, ist,
und warum hat der Markierungsalgorithmus auch in diesem Fall recht?
Ja, das kann man sich dann mit den Übungsaufgaben
nochmal oder bei den Übungsaufgaben nochmal überlegen. Also,
es gibt oder in allen Fällen kann man den verwenden,
auch wenn sozusagen im ersten Schritt nichts markiert wird,
kann man sozusagen weiter durchlaufen und würde halt in dem Fall
relativ schnell zum Ausgang kommen
Und das ist auch gut so. Okay. Ja,
also, der Markierungsalgorithmus setzt voraus, dass die Eingabe eine
Hornformel ist. Also, wenn wir eine Eingabe hätten,
die keine Hornformel ist.
Nehmen wir mal
unser A oder
Jetzt könnte man ja sagen, das könne ja auch in Implikationsschreibweise darstellen.
Ja, wir haben ja unser tolles Top.
Ja, dann machen wir doch sowas, top.
Dann A oder B. Ja, oder wir könnten auch so
einen Fall haben wie nicht C oder A oder B.
Und das dann als Regel schreiben. Wenn sie dann A oder B. Ja,
diese beiden sind äquivalent, diese beiden sind äquivalent.
Warum würde jetzt der Markierungsalgorithmus für diese Fälle
nicht funktionieren
Ich bin... Ja, warum, warum können wir sozusagen mit
so einer Darstellung und so einer Imarkierungsalgorithmus nichts anfangen? Also abgesehen davon sozusagen,
dass es hier nicht vorgesehen ist in der Liste, ja,
aber man könnte sich ja sagen, wenn wir ein bisschen ändern,
können wir das ja auch noch mit reinnehmen.
Wo kriegen wir ein Problem, ja
Genau. Also, die Schwierigkeit ist, dass wir,
wenn mir alles, was wir hier auf der linken Seite markiert haben,
wenn mir diese Markierungen dann vorantreiben wollen,
wir hier plötzlich die Wahl hätten.
Wir können A markieren oder wir können B markieren.
Und damit ist sozusagen wieder die kombinatorische Explosion, Fallunterscheidungen machen.
Dem ist Tür und Tor geöffnet. Und wenn wir
nicht nur einen Fall dieser Ort haben, sondern 15,
dann machen wir eben entsprechend 15 Fallunterscheidungen und damit wird es
wieder genauso aufwendig wie jedes andere Verfahren
Ja, also das lebt davon, dass wir eben das,
was wir auf der rechten Seite haben,
dass das immer atomar ist und da keine Fallunterscheidung nötig ist.
Okay. Ja, also wir setzen voraus, dass die
Eingabe in der Hornformel ist. Der Markierungsalgorithmus ist korrekt,
das heißt, wenn wir eine erfüllbare Hornformel reinstecken,
dann sagt er hinterher ja tatsächlich, dass sie erfüllbar ist,
wenn wir eine unerfüllbare Fornformel reinstecken,
dann sagt er auch tatsächlich,
dass sie unerfüllbar ist
Und zudem brauchen wir,
oder ist der Aufwand nicht so hoch, denn wir können,
oder wir laufen durch diese Schleife höchstens so oft durch,
wie wir neue Aussagesymbole markieren können.
Ja, wir brechen ab,
wenn wir kein neues Aussagesymbol markieren können oder vorher.
Das heißt, die Anzahl der Aussagesymbole, die drinnen stehen,
geben uns eine Grenze für den Aufwand.
Natürlich ist sozusagen die Frage,
wie viele Klauseln sind da
Auch noch etwas, was man unter Umständen berücksichtigen muss,
wenn man den Gesamtaufwand bestimmt. Aber das ist eben immer
noch sehr viel weniger als sowas wie bei den Wahrheitstafeln.
Okay. Ja, das ist zum Thema Terminierung nochmal der Punkt.
Also im ersten Schritt der erste Schritt terminiert sowieso,
weil man nur noch nur einmal sozusagen durch die Formel durchgeht,
guckt, was sind die Fakten und diese dann markiert.
Und dann bei den weiteren Markierungsschritten wird eben in jedem Durchlauf
ein Aussagesymbol markiert, wenn es nicht mehr geht,
hören wir auf
Und das zeigt, wir haben vergleichsweise geringen Aufwand. Korrektheit,
nun da ist nur noch letztlich nachzuvollziehen, dass die Behauptung,
die ich die ganze Zeit gemacht habe,
Mann markiert immer genau die Aussage, Symbole,
von denen man weiß, dass sie wahr sein müssen,
wenn die Gesamtformel wahr ist,
dass diese Behauptung auch tatsächlich korrekt ist.
Also wenn A, ein Modell für die Horn-Formel F ist,
so gilt für die durch den Algorithmus markierten Symbole auch das
in diesem Modell dieses Aussagesymbol, auf wahr abgebildet wird.
Diese Behauptung muss man beweisen, um eben die Korrektheit dann
auch nachzuweisen. Naja, und das kann man sich auch
relativ leicht klarmachen, dass das tatsächlich stimmt.
Und zwar natürlich wieder mit einem schönen Induktionsbeweis,
jetzt nicht strukturelle, sondern vollständige Induktionen über die Durchläufe,
in denen
ein Aussagesymbol markiert wird
Also Induktionsanfang. Wir gucken, wie ist es mit denjenigen,
die im ersten Schritt markiert werden. Das waren ja die
Fakten. Ja, und da ist es ja so,
dass wenn ein Fakt in so einer Konjunktion steht,
die Konjunktion wahr sein muss,
dann müssen natürlich auch die Fakten wahr sein.
Also gilt dann entsprechend, ja,
wenn die Gesamtformel war,
ist dann
auch diese Aussagesymbole
So Induktionsannahme, wir nehmen mal an,
bis zum Schritt J, haben wir das schon nachgewiesen.
Also alles, was nicht zum Schritt J markiert wurde,
für das gilt, dass die Aussagesymbole unter allen Belegungen war,
werden die auch die Gesamtformel wahrmacht.
Dann müssen wir sagen, okay, der nächste Markierungsschritt,
den wir machen, der zerstört diese Bedingungen nicht.
Ja, und eine neue Markierung führen wir ja ein,
wenn wir so eine Formel, so eine Klausel haben,
A1 und A2 und AN impliziert AI
Wenn dann A1 bis AN alle markiert sind,
dann wissen wir ja, unter jeder Belegung,
die die Formel wahrmacht, werden auch diese Aussagesymbole war.
Also wird auch die Konjunktion wahr. Zudem wissen wir,
dass die Implikation wahr sein muss,
denn das ist ja eine der Klauseln,
die konjunktiv verknüpft, auftaucht in meiner Formel.
Und damit weiß ich dann auch,
dann muss auch das AI unter dieser Bedingung wahr sein.
Gut. Ja, und
Dann müssen wir noch den Fall betrachten, dass unerfüllbar ausgegeben wird. Also,
dass tatsächlich, oder was wir zeigen müssen, ist,
wenn unerfüllbar ausgegeben wird, dann ist tatsächlich die Eingabeformel unerfüllbar.
Naja, und da können wir auch feststellen, dass unerfüllbar ausgegeben wird,
wenn wir so eine Klausel finden, A1, A2,
AN und AN, konjunktiv verknüpft, impliziert, bottom.
Oder Fallsum, könnte man auch sagen
So, also wenn wir so eine Klausel in F enthalten haben und die Dinge,
die auf der linken Seite dieser Implikation stehen, die sind alle bereits markiert.
Naja, wir hatten ja eben gesagt,
die Markierungen bedeuten, dass die Aussagesymbol unter allen Interpretationen,
die F wahrmachen, auch wahr sein müssen.
Wenn aber gleichzeitig diese Klausel von F,
die Implikation mit dem Bottom auf der rechten Seite.
Wenn die auch wahr sein soll,
dann muss ja irgendetwas auf der linken Seite falsch sein.
Und diese beiden Bedingungen widersprechen einander. Denn die Aussage,
Symbole können ja nicht von derselben Belegung, war unfalsch gemacht werden.
Die Markierung sagt, sie müssen wahr sein. Aber diese Beschränkung sagt,
naja, aber eins von ihnen soll falsch sein. Das heißt,
wenn wir tatsächlich die Markierung so gemacht haben,
Der dinken Seite, so einer Beschränkung markiert sind,
dann haben wir eine Widersprüche,
die Konstellation für die Modelle von F gefunden und das heißt,
dann gibt es gar keine Modelle von F,
denn sie können nicht die widersprüchlichen Bedingungen erfüllen.
Okay. Naja, und entsprechend dann für die Ausgabe von erfüllbar,
wenn Im dritten Schritt erfüllbar ausgegeben wird,
dann wurde hier eben auch eine Markierung gleich mit,
eine Belegung gleich mitgeliefert, von der gesagt wurde.
Und das ist übrigens ein Modell für F. Und auch da
muss man sich nochmal angucken, stimmt das tatsächlich?
Ja, also die Klassifikation erfüllbar wird ausgegeben, wenn wir
keine neuen Markierungen vergeben können und außerdem Scheinbeschränkung verletzt wurde.
Ja, und was es jetzt zu zeigen gilt, ist,
dass die so definierte Belegung tatsächlich alle Klauseln von F wahrmacht. So,
wir können uns jetzt wieder die verschiedenen Fälle angucken,
ja, die Klausel ist ein Fakt,
also einfach so eine atomare Formel,
dann wird sie ja im ersten Schritt markiert durch das Verfahren und dann gilt eben auch,
nachdem dieser Bedingung,
weil sie markiert ist,
wird die 1 zugeordnet
Ja, an dieser Stelle sieht man, aha,
es ist tatsächlich auch nötig, sorgfältig zu arbeiten,
ja, wenn man irgendwie sagt, naja,
ich probiere mal einfach aus und dabei irgendwelche Fakten übersieht in der Markierung,
dann kann es sein, dass man eben auch... Fehlerhafte Markierung,
oder fehlerhafte Ergebnisse, die... Ja, also hier Sorgfalt geboten,
es müssen tatsächlich alle atomaren Formeln auch markiert werden,
die als Fakt auftauchen.
So, wenn Wir eine Klausel so einer Form haben,
also so eine Regel, A1 bis AN impliziert B,
dann können zwei Fälle auftauchen.
Entweder sind alle AI markiert auf der linken Seite und B ist auch markiert.
Und dann erhalten wir für diese Klausel den Wirt 1,
denn B ist ja markiert und irgendwas impliziert B,
dann ist die Implikation auch wahr.
Die Alternative ist eins der AI ist nicht markiert,
Dann kriegt dieses AI den Wahrheitswert null durch diese Belegung hier zugewiesen.
Das heißt, diese ganze Konjunktion ist null und null impliziert irgendwas,
ist ja auch immer wahr, unabhängig davon, welchen Wert B hat.
Was nicht auftauchen kann, ist, dass alle AI
markiert sind, dass B aber nicht markiert ist.
Denn sonst würden wir uns ja noch mitten im Verfahren befinden
und hätten noch gar nicht abgeschlossen und sind sozusagen vorzeitig ausgestiegen,
ohne tatsächlich alle Markierungen zu machen
Ja, und dann gibt es den Fall A1 bis AN,
sind markiert und unsere Klausel hat die Form A1 bis AN impliziert Bottom.
Und in dem Fall wissen aber, Entschuldigung,
A1 und Mr. N sind nicht alle markiert,
denn wir haben ja A1 bis AN impliziert Bottom in unserer Formel drin.
Und wir sind nicht ausgestiegen mit unerfüllbar,
sondern wir sind ausgestiegen über unerfüllbar. Während die alle markiert,
dann wären wir aber ausgestiegen und hätten gesagt, unerfüllbar.
Okay, also eins davon ist nicht markiert,
das heißt, es kriegt durch unsere Interpretation
die Null durchgewiesen
Dann ist die Klausel halt wahr.
Okay. Wenn wir uns unser generelles Schema angucken von,
ja, ausgehend vom Weltausschnitt machen, wir Beschreibung,
aus denen wir dann über semantische Beziehungen beispielsweise Folgerung,
neue Beschreibungen ergänzen,
also wir leiten implizite Informationen ab oder generieren implizite Informationen aus
unseren Beschreibungen,
dann können wir
das eben mit diversen Ableitungsverfahren tun
Die Hornlogik, die ordnet sich jetzt in folgender Weise ein,
dass man unter Umständen gar nicht die volle Logik braucht,
sondern nur ein eingeschränktes Ausdrucksinventar.
Und da dann mit effizienteren Verfahren neue Beschreibung generieren kann.
Man hat immer noch die gleichen semantischen Beziehungen wie Folgerung,
Äquivalenz und so weiter.
Aber hat in diesen Fällen effizientere Verfahren zur Hilfe und Weiß,
obwohl sie effizienter sind,
machen sie grundsätzlich
immer noch alles richtig
Ja. Manchmal könnte man versuchen,
diese effizienteren Verfahren auch auf die gesamte Logik anzuwenden,
aber entweder weiß man dann nicht, was man tun soll,
wie in dem Fall, was sollen wir jetzt markieren?
Oder man läuft in das Risiko, dann ein unvollständiges Verfahren zu haben,
wo man sich auf das Ergebnis nicht verlassen kann.
Okay. Ich hatte bei der letzten Sitzung noch sozusagen einen kleinen Nachschlag ausgelassen,
ähnlich, weil ich jetzt die Zeit habe,
hier noch angehängt habe und es hier eben entsprechend nochmal ergänzen will,
obwohl es nicht so ganz perfekt heranpasst,
aber einfach der Vollständigkeit halber
Und das betrifft den Punkt, ja, in der Weißtheorie,
wo es ja darum geht, eben korrekte Beschreibung zu generieren,
aus bestehenden Beschreibungen über syntaktische Verfahren. Dort, ja,
gibt es einfach noch ein bisschen Terminologie zu ergänzen,
weil diese Begriffe Konsistenz und Inkonsistenz durchaus an verschiedenen Stellen
auftauchen können und wir sie deshalb auch eingeführt haben wollen
Zunächst mal hatten wir ja schon mal von komplementären literalen geredet.
Diese Sprechweise kann man natürlich auch erweitern auf komplementäre Formeln.
Also wenn ich eine Formel habe und deren Negation,
dann kann man die natürlich auch als komplementär bezeichnen.
Oder als Kontradiktionspaar. Denn unabhängig davon,
wie komplex F intern strukturiert ist, wissen wir ja,
F und Nicht-F können nicht gleichzeitig wahr sein.
Sie widersprechen einander. Wenn wir nun an Kalkül haben,
Dann kann es passieren, dass wir aus einer Formelmenge M
so ein Kontradiktionspaar ableiten können mit dem Kalkül.
Ja, also wir nehmen eine Menge M und wenden unser Ableitungsverfahren
des Kalküls darauf an und generieren einmal F und einmal Nicht F.
Das kann durchaus passieren. Und das kann durchaus verschiedene Gründe haben. Ja,
wenn das der Fall ist, dann kann man erstmal sagen, M,
also die Menge M ist in Bezug auf diesen Kalkül,
den wir haben,
Ja, es muss nicht der Fall sein,
dass F drinnen ist im M oder nicht FNM drin ist,
sondern sie sind einfach daraus ableitbar.
Und diese Inkonsistenz, die kann jetzt verschiedene Ursachen haben,
es kann sein, dass M selber unerfüllbar ist.
Oder es kann sein, dass unser Kalkül einfach Mist gemacht hat.
Dass der sozusagen inkonsistenzen hineingetragen hat in die Menge. Was wir feststellen können,
ist, dass wenn wir einen korrekten Kalkül verwenden, also insbesondere einen,
der über Abläufe in Bezug auf die Ableitung korrekt ist,
Dann können wir sagen, wenn M in Kon,
oder M ist Inkonsistenz bezüglich des Kalküls, dann ist M auch unerfüllbar.
Ja, das heißt, mit einem Kalkül widersprüchliche Aussagen ableiten zu können,
weist bei korrekten Kalkülen darauf hin,
dass schon mit der Menge, die wir reingesteckt haben,
was nicht in Ordnung war.
Dass da also implizit schon ein Widerspruch angelegt war
Ja, und umgekehrt,
wenn wir eine unerfüllbare Menge haben und dann ein Kalkül verwenden,
der hinsichtlich Ableitung vollständig ist, dann ist es auch möglich,
solch ein paar komplementärer Formeln mit dem Kalkül abzuleiten.
Vollständigkeit heißt ja, man kann alles ableiten,
was folgt und das heißt eben bei unerfüllbaren Mengen können wir
auch Widersprüche offenbar machen,
indem wir solche komplementären Fälle ableiten
Okay, das war jetzt nochmal sozusagen der Vollständigkeit halber zur Ergänzung,
die Terminologie von Konsistenz und Inkonsistenz bezüglich eines Kalküls.
Das heißt also, dass man Widersprüche sozusagen offenbar machen kann mit
dem Kalkül, in dem man entsprechende Widersprüche ableitet. Okay,
im nächsten Termin,
also das heißt morgen früh in einer Frische um 8 Uhr wird es gehen,
um das Resolutionsverfahren, das Resolutionsverfahren ist ein Widerlegungssystem,
mit dem man also grundsätzlich ja ableiten kann oder Widersprüche aufdecken kann und es ist auch,
man kann sagen, das Verfahren,
was in Bezug auf solche Regelsprachen wie ProLog systematisch verwendet wird.
Okay,
dann sehen wir uns morgen zu