FB18 - Das Forum für Informatik

fb18.de / Bachelorstudieng / PM Formale Informatik

FGI 1 4.3 reductio ad absurdum

FGI 1 4.3 reductio ad absurdum 2007-04-29 00:31
Anonymer User
In der Aufgabe sollen wir unter Verwendung des "reductio ad absurdum" zeigen, dass

(A => B) ^ (nichtB ^ (A ^ nichtB))

eine Kontradiktion ist.

Als erstes sehe ich, dass (nichtB ^ (A ^ nichtB)) doch wegen der Assoziativität das gleiche ist wie (nichtB ^ A), oder?

Muss ich die Formel so Vereinfachen? Oder anderes?

Und ist ^ mein Hauptoperator, an dem ich versuche zu zeigen, dass die Formel keine Kontradiktion ist und dann zum Widerspruch komme?

RE: FGI 1 4.3 reductio ad absurdum 2007-04-29 00:50
Goldl
Also der Hauptoperator ist ^ , hast du schon ganz richtig gesehen.
Überlege dir nun, was erfüllt sein muss, damit die Formel keine Kontradiktion ist.
Dann nimmst du an dass es keine Kontradiktion ist und führst dies zum Widerspruch.

RE: FGI 1 4.3 reductio ad absurdum 2007-04-29 01:02
Anonymer User
damit es keine kontradiktion ist, müssen beide teilformeln wahr sein…

aber sollte ich die formel vereinfachen, oder nicht?

was mich noch "stört", im skript steht:

"Reductio ad absurdum ist generell für die Tautologie-Prüfung anwendbar"

"Reductio ad absurdum ist ein terminierender Algorithmus, der beliebige
Formeln der Aussagenlogik auf Allgemeingültigkeit prüft."

aber wir haben es ja mit einer kontradiktion zu tun

RE: FGI 1 4.3 reductio ad absurdum 2007-04-29 01:24
Goldl
"Reductio ad absurdum ist ein terminierender Algorithmus, der beliebige
Formeln der Aussagenlogik auf Allgemeingültigkeit prüft."

Für mich heisst , dass , Reductio ad absurdum in endlicher Zeit entscheidet ob eine Formel allgemeingültig ist oder nicht. Allgemeingültige Formeln sind doch Tautologien und die Kontradiktion ist das Gegenteil davon.

Verkürzen brauchst du nicht unbedingt, aber denke mal dass du dies ohne Bedenken machen kannst.

RE: FGI 1 4.3 reductio ad absurdum 2007-04-29 01:56
Anonymer User
hallo, falls mal jemand zeit für eine erklärung hat…

ich weiss schon wie ich die aufgabe zu lösen habe… aber ich bin mir nich so ganz sicher wie ich das aufschreiben soll…

ich versuche gerade das beispiel im skript nachzuvollziehen. mit der wahrheitstablle… es wird angenommen das die formel falsch ist…. ich verstehe die darstellung im skript noch nich ganz, mit den unterstrichenen Nullen und Einsen

vieleicht könnte mal jemnd, der das beispiel im skrpt kennt, es in worte fassen? als ergänzung zur tabelle?

oder wie schreibt ihr die lösung auf?

RE: FGI 1 4.3 reductio ad absurdum 2007-04-29 04:13
georg
"Reductio ad absurdum ist ein terminierender Algorithmus, der beliebige
Formeln der Aussagenlogik auf Allgemeingültigkeit prüft."

Für mich heisst , dass , Reductio ad absurdum in endlicher Zeit entscheidet ob eine Formel allgemeingültig ist oder nicht. Allgemeingültige Formeln sind doch Tautologien und die Kontradiktion ist das Gegenteil davon.

Achtung, es gibt Formeln, die weder Tautologie noch Kontradiktion sind (z.B. A). Um
zu zeigen, dass eine Formel eine Kontradiktion ist, reicht es also nicht aus zu zeigen,
dass sie keine Tautologie ist! Es gibt aber einen anderen Weg, Reductio ad absurdum für
eine Kontradiktionsprüfung zu verwenden. Überlegt mal, ob man aus der zu prüfenden
Formel F eine Formel G machen kann, von der man weiß: G ist eine Tautologie gdw.
F eine Kontradiktion ist.

RE: FGI 1 4.3 reductio ad absurdum 2007-04-29 12:02
Anonymer User
"Reductio ad absurdum ist ein terminierender Algorithmus, der beliebige
Formeln der Aussagenlogik auf Allgemeingültigkeit prüft."

Für mich heisst , dass , Reductio ad absurdum in endlicher Zeit entscheidet ob eine Formel allgemeingültig ist oder nicht. Allgemeingültige Formeln sind doch Tautologien und die Kontradiktion ist das Gegenteil davon.

Achtung, es gibt Formeln, die weder Tautologie noch Kontradiktion sind (z.B. A). Um
zu zeigen, dass eine Formel eine Kontradiktion ist, reicht es also nicht aus zu zeigen,
dass sie keine Tautologie ist! Es gibt aber einen anderen Weg, Reductio ad absurdum für
eine Kontradiktionsprüfung zu verwenden. Überlegt mal, ob man aus der zu prüfenden
Formel F eine Formel G machen kann, von der man weiß: G ist eine Tautologie gdw.
F eine Kontradiktion ist.


sowas wie….

( (A=>B) ^ (nichtB ^ (A ^ nichtB)) ) v H := G und H ist eine Tautologie?

dann ist G nur eine Tautologie, wenn unsere Formel F eine Kontradiktion ist, also nicht wahr ist.

ist das richtig?

RE: FGI 1 4.3 reductio ad absurdum 2007-04-29 12:29
Goldl
Thx Georg, guter Tipp.

Kann ich aber nicht jedoch reductio ad … so verweden, dass ich zeige , dass zu der Formel F
kein Modell existiert? Wenn also die Formel F eine Kontradiktion ist , dürfte es doch gar nicht möglich sein solche eine Belegung zu finden, so dass A( F ) = 1 gilt.

Mein Vorgehen wäre dann wie folgt: Nehme an es existiert ein Modell zu F, daraus folgt es existiert eine Belegung A für die gilt A ( F ) = 1.
Wenn dann F die Form hat: H ^ G ( H und G sind teilformeln von F)
Dann muss gelten A( H ) = 1 und A ( G ) = 1 usw…

RE: FGI 1 4.3 reductio ad absurdum 2007-04-29 20:51
Anonymer User
hat noch jemand etwas zu dem tipp von georg?

RE: FGI 1 4.3 reductio ad absurdum 2007-04-29 23:47
Anonymer User
"Reductio ad absurdum ist ein terminierender Algorithmus, der beliebige
Formeln der Aussagenlogik auf Allgemeingültigkeit prüft."

Für mich heisst , dass , Reductio ad absurdum in endlicher Zeit entscheidet ob eine Formel allgemeingültig ist oder nicht. Allgemeingültige Formeln sind doch Tautologien und die Kontradiktion ist das Gegenteil davon.

Achtung, es gibt Formeln, die weder Tautologie noch Kontradiktion sind (z.B. A). Um
zu zeigen, dass eine Formel eine Kontradiktion ist, reicht es also nicht aus zu zeigen,
dass sie keine Tautologie ist! Es gibt aber einen anderen Weg, Reductio ad absurdum für
eine Kontradiktionsprüfung zu verwenden. Überlegt mal, ob man aus der zu prüfenden
Formel F eine Formel G machen kann, von der man weiß: G ist eine Tautologie gdw.
F eine Kontradiktion ist.

meinst du damit, dass wir F einfach verneinen?

RE: FGI 1 4.3 reductio ad absurdum 2007-04-30 03:22
fmeyer
hallo, falls mal jemand zeit für eine erklärung hat…

ich weiss schon wie ich die aufgabe zu lösen habe… aber ich bin mir nich so ganz sicher wie ich das aufschreiben soll…

ich versuche gerade das beispiel im skript nachzuvollziehen. mit der wahrheitstablle… es wird angenommen das die formel falsch ist…. ich verstehe die darstellung im skript noch nich ganz, mit den unterstrichenen Nullen und Einsen

vieleicht könnte mal jemnd, der das beispiel im skrpt kennt, es in worte fassen? als ergänzung zur tabelle?

oder wie schreibt ihr die lösung auf?

"reductio ad absurdum" ist tatsächlich ein Verfahren, dass mit einer Wahrheitstabellen-Struktur gelöst wird. Es funktioniert (für diese Aufgabe) so:

Wir zeichnen zunächst eine leere Wahrheitstabelle für diese Formel, d. h. zuerst die atomaren Formeln, dann die Teilformeln und ganz rechts die gesamte Formel mit Hauptoperator). Dann unterstellen wir ein Ergebnis für die ganze Formel und entnehmen daraus, welche Konsequenzen das für die Teilformeln ergeben muss. Schrittweise tragen wir von rechts nach links 0en und 1en ein, die sich als Konsequenz aus der rechts davon stehenden (Teil-)Formel ergibt bis wir ganz links bei den atormaren Formeln angekommen sind. Aus UND-Verknüpfungen lassen leicht Konsequenzen bilden. Bei ODER-Verknüpfungen ist es nicht so eindeutig und trivial. Aber so sieht die Praxis aus:

Zunächst nehmen wir an, dass die Formel keine Kontradiktion ist und setzen 1 (für „wahr“) als Ergebnis (ganz rechts) ein. (… wollen das aber letztlich zum Widerspruch führen.) Dann überlegen wir, welche Voraussetzungen die beiden Teilformeln rechts und links vom Hauptoperator für diese 1 erfüllen müssen. Wegen der UND-Verknüpfung beider müssen sie jeweils auch wahr sein. (Das wird auch in die Tabelle eingetragen.) Aus der rechten Teilformel ergeben sich wiederum zwei Teilformeln, die ebenfalls wegen der UND-Verknüpfung wahr sein müssen, damit die gesamte Formel keine Kontradiktion sein kann. NICHT B muss also 1 („wahr“) und entsprechend muss B also auf jeden Fall 0 („falsch“) sein. Aus demselben Grund muss A dann 1 („wahr“) sein. (Wir tragen auch das in die entsprechenden leeren Felder ein. Pfeile vom Ausgangsausdruck zu den Konsequenzen (0 oder 1) für die Teilformeln verdeutlichen das besser, als Habels Unterstreichungen in der Folie. Die solltest du einzeichnen.)

Wir haben uns nun quasi rückwärts von rechts nach links zu den atomaren Formeln durchgearbeitet.

Dann nehmen wir uns eine neue leere Zeile der Tabelle und tragen die ermittelten Werte für die atomaren Formeln A und B ein. Jetzt geht es von links nach rechts.


Setzen wir nun die notwendigerweise ermittelten Werte für A und B wieder in die gesamte Formel ein, bekommen wir ein anderes Ergebnis, womit gezeigt ist, dass die Formel eine Kontradiktion sein muss, denn es gibt - wie wir damit gezeigt haben - keine Möglichkeit, eine Belegung zu finden, die sie wahr macht.

RE: FGI 1 4.3 reductio ad absurdum 2007-05-01 11:28
fmeyer
ich versuche gerade das beispiel im skript nachzuvollziehen. mit der wahrheitstablle… es wird angenommen das die formel falsch ist…. ich verstehe die darstellung im skript noch nich ganz, mit den unterstrichenen Nullen und Einsen

vieleicht könnte mal jemnd, der das beispiel im skrpt kennt, es in worte fassen? als ergänzung zur tabelle?

Etwas spät zwar, aber trotzdem noch die Erklärung des Beispiels aus dem Skript:

Reductio ad absurdum ist zurzeit in Folie 3. Aussagenlogik Semantik [28] ff. zu finden.
http://www.informatik.uni-hamburg.de/WSV/teaching/vorlesungen/FGI1SoSe07/Semantik_1.pdf

Wichtige Eigenschaft dieses (Widerspruchs-)Beweisverfahrens:
Die zu beweisende Aussage wird nicht direkt hergeleitet, sondern ihr kontradiktorisches Gegenteil wird widerlegt.

Hier ist das Beispiel aus dem Skript:Beispiel | A | B || ¬A | (¬A v B) | (A => B) | (¬A v B) <=> (A => B) -----------+---+---++----+----------+----------+---------------------- 1. Annahme | | || | | | 0 -----------+---+---++----+----------+----------+---------------------- 2a. | | || | 1 | 0 | 0 3a. | 1 | 0 || | 1 | 0 | 0 -----------+---+---++----+----------+----------+---------------------- 2b. | | || | 0 | 1 | 0 3b. | | 0 || 0 | 0 | 1 | 0 4b. | 1 | 0 || 0 | 0 | 1 | 0 -----------+---+---++----+----------+----------+---------------------- 5. Test | 1 | 0 || 0 | 0 | 0 | 1 Bei obiger Wahrheitstabelle wird versucht, durch Rückschlüsse eine zwingend falsifizierende Belegung für die Formel (¬A v B) <=> (A => B) zu ermitteln. Dann wird diese Belegung getestet und widerlegt. Damit ist dann letztlich bewiesen, dass die Formel allgemeingültig ist.

So geht es schrittweise:

Am Anfang steht eine leere Wahrheitstabelle.
In der 1. Annahme, wird zunächst behauptet, die Formel sei falsch.
Da eine Biimplikation nur falsch sein kann, wenn eine Seite wahr und die andere falsch ist …
A | B || A <=> B --+---++-------- 1 | 1 || 1 1 | 0 || 0 0 | 1 || 0 0 | 0 || 1 … ergeben sich daraus zwei mögliche Fälle a. und b., d. h für die beiden Teilformeln muss | 1 | 0 | (2a.) oder | 0 | 1 | (2b. ) gelten. Das wird also ebenfalls angenommen und in die Tabelle eingetragen. (Daher die Unterstreichungen im Skript).

Zuerst führen wir Fall 2a. mit der rechten Teilformel A => B als Falsch-Annahme fort. (Dieser ist leichter zu untersuchen, weil für die Falsch-Belegung nur ein möglicher Fall zu untersuchen ist, denn es gilt …
A | B || A => B --+---++------- 1 | 1 || 1 1 | 0 || 0 0 | 1 || 1 0 | 0 || 1 Als Konsequenz ist also die Annahme nur dann möglich, wenn A = 1 und B = 0 ist. Das wird in die Tabelle (3a.) eingetragen, die Konsequenzen unterstrichen. Ich bevorzuge allerdings Pfeile, die verdeutlichen, woher ich die Konsequenz gezogen habe.
(Anmerkung: Aus der anderen Teilformel ¬A v B ergibt sich diese Konsequenz nicht zwingend. Es genügt aber, eindeutig zwingende Konsequenzen zu betrachten.) Wir merken uns für den a.-Fall - A muss wahr und B muss falsch sein.

Jetzt muss auch Fall 2b. untersucht werden. Denn erst durch die Betrachtung beider zusammengehörig zwingend notwendigen Konsequenzen aus der Annahme können wir die Annahme widerlegen. In diesem Fall mussten ja die Teilformeln ¬A v B falsch und A => B wahr sein.
Aus "Teilformel ¬A v B ist falsch" ergibt sich, dass ¬A falsch sein muss und B ebenfalls. (Damit lässt sich Zeile 3b. vervollständigen.) Aus dieser Konsequenz bildet sich ebenfalls Zeile 4b. - A muss wahr und B muss falsch sein.
(Anmerkung: Würde man jetzt die Konsequenz der Implikation A => B mit den oben gezogenen Konsequenzen aus "Teilformel ¬A v B ist falsch" vergleichen, wäre das schon ein Widerspruch zu der Annahme ¬A = 0 und damit zum ganzen b.-Fall. Um aber die Belegung der gesamten Formel mit falsifizierendem Ergebnis zu widerlegen wird diese Konsequenz nicht betrachtet, sondern stattdessen eine andere, ebenfalls zwingende Konsequenz, nämlich dass sich aus "Teilformel A => B ist falsch" ebenfalls "A muss wahr sein und B falsch" ergibt. Was sich mit Zeile 4b. deckt.

Die für eine falsifizierendes Ergebnis der Gesamtformel notwendige Belegung A = 1 und B = 0 wird nun in die Tabelle eingesetzt und ausgerechnet. Die Zeile 5. Test zeigt das Ergebnis: Wenn A wahr und B falsch ist, kommt eben nicht heraus, was angenommen wurde, sondern mit dieser Belegung ist die Formel insgesamt wahr. Damit haben wir die Annahme zum Widerspruch geführt und die einzig denkbare Belegung, die Gesamtformel falsch zu machen, widerlegt.

Würde dieses Verfahren auf Formeln angewendet, die falsifizierbar sind, wäre es leichter, unter der Annahme konsequent zwingend eindeutige Belegungen für die atomaren Formelteile zu ermitteln. Der Negativ-Test würde aber erfolglos verlaufen. Letzlich ließe sich dann die Annahme nicht widerlegen.

Selbst für eine so kleine Formel ist dieses Beweisverfahren schon hilfreich. Es bietet zudem aber die Möglichkeit, automatisiert auf riesige Formeln angewendet zu werden. Teilweise sogar auf unendliche, wenn man bereits mit endlichen Teilformeln zu einem eindeutigen Ergebnis kommt.