====== Grundlagen der Aussagenlogik ======
Eine **Aussage** bezeichnet ein sprachliches Gebilde, dem in sinnvoller Weise genau eine der beiden Eigenschaften **wahr**
oder **falsch** zugeordnet werden kann. Man kürzt ab: wahr=1, falsch=0.
In der **Aussagenlogik** oder **Schaltalgebra** verwenden wir
* **Variablen**, die meist mit $x_0,x_1,x_2...$ bezeichnet werden. Bei diesen Variablen handelt es sich um boolsche Werte, sie können also nur zwei Zuständen (0 - Falsch, 1 - Wahr) annehmen.
* **Logische Funktionen** ordnen einer oder mehreren boolschen Variablen einen Funktionswert zu, sie werden oft mit $y$ bezeichnet. Der Funktionswert kann ebenfalls nur 1 (wahr) oder 0 (falsch) sein. Logische Funktionen lassen sich sehr gut als **Wahrheits**- oder **Wertetabellen** darstellen, da durch die beschränkte, diskrete Anzahl der Variablenkombinationen häufig eine Auflistung aller Funktionswerte möglich ist.
* "Gerechnet" wird mit den logischen Verknüpfungen
* AND: ∧
* OR: ∨
* NOT: ¬
* Beim Rechnen gelten - ähnlich wie die Punkt vor Strich Regeln: **"Klammer vor NOT vor AND vor OR"**
Die Verknüpfung mit **UND ∧** nennt man **Konjunktion**\\
Die Verknüpfung mit **ODER ∨** nennt man **Disjunktion**\\
===== "Rechenregeln" der Schaltalgebra =====
=== Kommutativgesetz (Vertauschung erlaubt) ===
* $x_0 \land x_1 = x_1 \land x_0$
* $x_0 \lor x_1 = x_1 \lor x_0$
=== Distributivgesetz (Gießkannenregel) ===
* $x_0 \land (x_1\lor x_2)= (x_0 \land x_1) \lor (x_0 \land x_2$)
* $x_0 \lor (x_1\land x_2)= (x_0 \lor x_1) \land (x_0 \lor x_2$)
=== Neutralelement ===
* $x_0 \lor 0 = x_0$
* $x_0 \land 1 = x_0$
=== Komplement ===
* $x_0 \land \lnot x_0 =0$
* $x_0 \lor \lnot x_0 = 1$
=== Assoziativgesetze (Klammern dürfen bei gleichen Operatoren weggelassen/umgesetzt werden) ===
* $(x_0 \land x_1) \land x_2 = x_0 \land x_1 \land x_2 = x_0 \land (x_1 \land x_2)$
* $(x_0 \lor x_1) \lor x_2 = x_0 \lor x_1 \lor x_2 = x_0 \lor (x_1 \lor x_2)$
=== Idempotenzgesetze ===
* $x_0 \land x_0 = x_0$
* $x_0 \lor x_0 = x_0$
=== Absorptionsgesetze ===
* $x_0 \lor (x_0\land x_1) = x_0$
* $x_0 \land (x_0\lor x_1) = x_0$
=== De Morgan’sche Regel ("ausmultiplizieren des NICHT") ===
* $\lnot(x_0 \lor x_1)= \lnot x_0 \land \lnot x_1$
* $\lnot(x_0 \land x_1)= \lnot x_0 \lor \lnot x_1$
===== Beispiel =====
Gegeben ist die logische Funktion $f$ durch
$$f=(\lnot x_0 \land \lnot x_1 \land x_2) \lor (\lnot x_0 \land x_1 \land \lnot x_2) \lor (\lnot x_0 \land x_1 \land x_2) \lor ( x_0 \land \lnot x_1 \land x_2)$$
{{:aufgabe.png?nolink |}}
=== (A1) ===
* Wieviele Zeilen hat die Wahrheitstabelle dieser Funktion?
* Schreibe die Wahrheitstabelle der Funktion auf((Das geht auch mit einem Tabellenverarbeitungsprogramm....)).
++++ Lösung |
{{:faecher:informatik:oberstufe:techinf:formale_logik:grundlagen:auswahl_317.png?400|}}
++++
----
Nun stellt sich die **Frage**, ob man den doch sehr langen Funktionsterm vielleicht unter Verwendung der Rechengesetze so **vereinfachen** kann, dass man einen kürzeren Term als Ergebnis erhält, der **dieselbe Wahrheitstabelle** hat, also **dieselbe logische Funktion** beschreibt.
Wenn man die Wertetabelle der Beispielfunktion betrachtet, fällt auf:
**(1)** Wenn $x_0=0$ und $x_1=1$ ist der Funktionswert 1, gleichgültig, was für einen Wert $x_2$ annimmt.
{{ auswahl_317a.png |}}
Das entspricht den beiden eingerahmten Termen:
{{ auswahl_346.png |}}
Rechnerisch kann man hier den Teilterm $(\lnot x_0 \land x_1)$ ausklammern, so dass der eingerahmte Term zu
$$(\lnot x_0 \land x_1) \land (\lnot x_2 \lor x_2)$$
wird.
----
{{:aufgabe.png?nolink |}}
=== (A2) ===
Vereinfache die folgenden logischen Terme:
* $f = x_1\land(\lnot x_2) \lor x_1\land x_2$
* $g = x_1\land (\lnot x_2)\land x_3 \lor x_1\land(\lnot x_2)\land(\lnot x_3) \lor (\lnot x_1)\land (\lnot x_2)\land (\lnot x_3) $
* $h = (\lnot x_1)\land (\lnot x_2)\land(\lnot x_3) \lor (\lnot x_1)\land(\lnot x_2)\land x_3 \lor (\lnot x_1)\land x_2\land x_3 \lor x_1\land (\lnot x_2)\land (\lnot x_3) \lor x_1\land x_2 \land x_3 \lor x_1 \land x_2\land ( \lnot x_3) $