Aussagen und Aussageverbindungen Aussage : 1. p heißt Aussage, wenn p einen Sachverhalt ausdrückt. Aussagen werden mit p, q, r, s, t, p1, p2, ... bezeichnet. A sei die Menge aller möglichen Aussagen. 2. Man kann jeder Aussage p einen Wahrheitswert δ(p) aus einer Menge W von Wahrheitswerten zuordnen. 3. Die Aussage p heißt zweiwertig, wenn W nur aus den 2 Wahrheitswerten “Wahr“ (w, true, 1) und “Falsch“ (f , false, 0) besteht, d.h. W = {w, f } = {1, 0}. 4. Die Menge A2 ⊂ A aller zweiwertigen Aussagen bildet eine zweiwertige Aussagenlogik. Aussageform : Ein Satz P (x) mit der Variablen x ∈ X heißt Aussageform, wenn P (x) bei Einsetzen jedes konkreten Wertes xi ∈ X in eine zweiwertige Aussage P (xi) ∈ A2 übergeht. Junktoren : 1. Negation : ordnet jeder Aussage p deren Negat zu • Junktor ist der Negator ¬ (Lies : nicht) • Schreibweise: ¬p oder p̄ p ¬p • Wertetafel : 1 0 0 1 • Die Negation ist eine einstellige Operation. 2. Disjunktion (Alternative) : ordnet 2 Aussagen p und q deren Disjungat zu • Junktor ist der Disjungator ∨ (Lies : oder) • Schreibweise: p ∨ q p\q 1 0 • Wertetafel : 1 1 1 0 1 0 3. Konjunktion : ordnet 2 Aussagen p und q deren Konjungat zu • Junktor ist der Konjungator ∧ (Lies : und) • Schreibweise: p ∧ q p\q 1 0 • Wertetafel : 1 1 0 0 0 0 4. Subjunktion (Implikation) : ordnet 2 Aussagen p und q deren Subjungat zu • Junktor ist der Subjungator → (Lies : wenn ... dann) • Schreibweise: p → q (p - Prämisse, q - Konklusion) p\q 1 0 • Wertetafel : 1 1 0 0 1 1 5. Bijunktion (äquivalenz) : ordnet 2 Aussagen p und q deren Bijungat zu • Junktor ist der Bijungator ↔ (Lies : genau dann ... wenn) • Schreibweise: p ↔ q p\q 1 0 • Wertetafel : 1 1 0 0 0 1 Syntax der Aussagenlogik Alphabet (Zeichenmenge) C : C = {1, 0, ¬, ∧, ∨, →, ↔, ), (, a, b, c, ...} Wortmenge über C : Die Menge aller endlichen Zeichenfolgen mit Elementen aus C heißt Wortmenge W (C) über C. Konstruktionsregeln : Sei A ⊆ W (C) die Menge der Ausdrücke. Folgende Konstruktionsvorschriften führen zu zulässigen aussagenlogischen Ausdrücken (kurz: Ausdrücke, auch: Formeln): • 1, 0 ∈ A ( bzw. w, f ∈ A) • a, b, c, ..., x, y, z, a1, a2, ... ∈ A (Aussagenvariablen) • Mit H, K ∈ A sind auch (H) ∈ A , ¬H ∈ A , (H ∧ K) ∈ A , (H ∨ K) ∈ A, (H → K) ∈ A , (H ↔ K) ∈ A . • äußerste Klammern um einen Ausdruck können entfallen, wenn dieser nicht mit einem anderen Ausdruck verknüpft wird. • Für die Junktoren werden folgende Prioritäten erklärt: (1) ¬ (2) ∧ , ∨ (3) → (4) ↔ Die aufgrund der Prioritäten entbehrlichen Klammern können entfallen. • Bei nacheinander auftretenden ∨ bzw. ∧ können die Klammern entfallen (Assoziativität). • Keine andere Zeichenkette aus W (C) heißt Ausdruck. Syntaktische Entscheidbarkeit : Von jeder endlichen Zeichenfolge H ∈ W (C) kann durch einen endlichen Algorithmus unter Anwendung der Konstruktionsregeln entschieden werden, ob H ∈ A (regelgemäß, syntaktisch korrekt) oder H ̸∈ A (regelwidrig) ist. Semantik der Aussagenlogik Wahrheitswert : Sei H ∈ A ein Ausdruck. Der Wahrheitswert (kurz: Wert) δ(H) ist eine Funktion aus A in die Menge W = {1, 0} mit folgenden Eigenschaften: 1. Ist a ∈ A2 eine Aussagenvariable, so δ(a) = 1 (δ(a) = 0) , falls a mit einer wahren Aussage (falschen Aussage) belegt wird (Interpretation, Deutung). 2. Ist H = H(x1, x2, ..., xn) ein n-stelliger Ausdruck aus A, so berechnet sich sein Wahrheitswert bei gegebenen Wahrheitswerten δ(x1), ..., δ(xn) ∈ {1, 0} gemäß δ(H(x1, x2, ..., xn)) = H(δ(x1), δ(x2), ..., δ(xn)) . Definition : Ein Ausdruck H ∈ A2 ⊆ W (C) heißt • allgemeingültig (Tautologie), wenn er für alle 2n Belegungen seiner Variablen wahr ist • teilgültig (Neutralität, Kontingenz), wenn er für genau m Belegungen mit 0 < m < 2n wahr ist • ungültig (Kontradiktion), wenn er für keine Belegung wahr ist. Semantische Entscheidbarkeit : Jede Wahrheitstabelle besteht aus endlich vielen Zeilen ( 2n bei nstelligen Ausdrücken); also kann die Frage nach Allgemeingültigkeit eines Ausdruckes H ∈ A2 stets durch einen endlichen Algorithmus entschieden werden. Entscheidungsverfahren Logische Erfüllbarkeit : • Ein Ausdruck H ∈ A heißt logisch erfüllbar, falls eine Variablenbelegung existiert, für die er wahr ist. • Eine Klasse von Ausdrücken H1, H2, . . . , Hn ∈ A heißt gemeinsam erfüllbar, falls eine Variablenbelegung existiert, für die alle Ausdrücke Hi wahr sind. Klassifikation der Ausdrücke : Ausdrücke H ∈ A logisch erfüllbare Ausdrücke logisch unerfüllbare Ausdrücke Tautologien Neutralitäten Kontradiktionen Satz : Die Klasse H1, H2, . . . , Hn ∈ A ist gemeinsam erfüllbar, gdw. H = H1 ∧ H2 ∧ . . . ∧ Hn ist logisch erfüllbar. Vereinfachtes Entscheidungsverfahren : Beispiel 1 H = (p → q) → (¬q → ¬p) Beispiel 2 H = ((p → q) ∧ (p → r)) → (p → (q ∧ p)) Wichtige Tautologien A, B, C seien beliebige Ausdrücke. T1 T2 T3 T4 = ¬A ∨ A = ¬ (¬A ∧ A) = ¬¬A → A = A → ¬¬A Ausg.Dritter Ausg. Wid. Dopp.Negation Dopp.Negation T5 = A ∧ B → A T6 = A → A ∨ B Bes.Konjunktion Einf.Disjunktion T7 = (A → B) → (¬B → ¬A) T8 = (¬B → ¬A) → (A → B) T9 = (A ∧ B → C) → (A ∧ ¬C → ¬B) 1.G.Kontrapos. 2.G.Kontrapos. 3.G.Kontrapos. T10 = (A ∧ B → C) → (A → (B → C)) T11 = (A → (B → C)) → (A ∧ B) → C) Exportation Importation T12 = (A → (B → C)) → (B → (A → C) T13 = (A → B) → ((B → C) → (A → C)) T14 = (A → (B → C)) → ((A → B) → (A → C)) Prämissenv. Kettenschluß Frege.Kett. T15 = (A → B) ∧ (A → C) → (A → B ∧ C) T16 = (A → C) ∧ (B → C) → (A ∨ B → C) Konklus. Prämissend. Semantische äquivalenz : Seien A, B Aussagen. • Ist A allgemeingültig, so schreibt man: A ⇔ 1 (lies: A semantisch äquivalent zu 1 ). • Gilt A ↔ B ⇔ 1, so schreibt man als semantische äquivalenz: A ⇔ B (lies: A semantisch äquivalent B ). Gesamtheit aller einstelligen Verknüpfungen x 1 0 Name 1 1 0 0 1 0 1 0 Redeweise Ausdruck Tautologie stets wahr Projektion x Negation nicht x Kontradiktion stets falsch 1 x ¬x 0 Verknüpfungsbasis : Eine Teilmenge aus der Menge aller höchstens zweistelligen Verknüpfungen heißt eine Verknüpfungsbasis, wenn jeder aussagenlogische Ausdruck mit diesen Basisverknüpfungen dargestellt werden kann. Gesamtheit der zweistelligen Verknüpfungen x 1 1 0 0 Name y 1 0 1 0 Redeweise Ausdruck 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 Tautologie Disjunktion Subjunktion Projektion stets wahr x oder y wenn y dann x x für bel. y 1 x∨y y→x x 1 1 1 1 0 0 0 0 1 1 0 0 1 0 1 0 Subjunktion Projektion Bijunktion Konjunktion wenn x dann y für bel.x stets y x gdw. y x und y x→y y x↔y x∧y 0 0 0 0 1 1 1 1 1 1 0 0 1 0 1 0 NAND Antivalenz Negation Inhibition nicht x und nicht y entweder x oder y für bel.x : nicht y x und nicht y x∧y ˙ x∨y ¬y x ∧ ¬y 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 Negation Inhibition NOR Kontradiktion nicht x für bel. y nicht x und y weder x noch y stets falsch ¬x ¬x ∧ y x∨y 0 Satz über die BOOLE-Basis : B = { ¬ , ∧ , ∨ } ist eine Verknüpfungsbasis, die sogenannte BOOLE-Basis. x 1 1 0 0 Ausdruck in BOOLE-Basis y 1 0 1 0 B={¬, ∧, ∨} 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 x ∨ ¬x x∨y x ∨ ¬y x 1 1 1 1 0 0 0 0 1 1 0 0 1 0 1 0 ¬x ∨ y y (x ∧ y) ∨ ¬(x ∨ y) x∧y 0 0 0 0 1 1 1 1 1 1 0 0 1 0 1 0 ¬x ∨ ¬y (x ∨ y) ∧ ¬(x ∧ y) ¬y x ∧ ¬y 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 ¬x ¬x ∧ y ¬x ∧ ¬y x ∧ ¬x Boolesche Algebra und Dualitätsprinzip George Boole (1815-64): “The Laws of Thought“ Boolescher Ausdruck : Ein aussagenlogischer Ausdruck, der nur die Junktoren ¬, ∧, ∨ enthält, heißt Boolescher Ausdruck. Boolesche Algebra : A sei eine Menge mit folgenden 8 Eigenschaften: 1. A muß mindestens 2 Elemente aufweisen, hier 0 und 1 genannt. 2. Es gibt eine zweistellige innere Operation + auf A (Boolesche Addition): Für alle x, y ∈ A ist x + y ∈ A. 3. Es gibt eine zweistellige innere Operation · auf A (Boolesche Multiplikation): Für alle x, y ∈ A ist x · y ∈ A. 4. Es gibt eine einstellige innere Operation x auf A (Boolesche Komplementbildung): Für alle x ∈ A ist x ∈ A. 5. Die zweistelligen Booleschen Operationen sind kommutativ, d.h. für alle x, y ∈ A x+y =y+x , x · y = y · x. 6. Die zweistelligen Booleschen Operationen sind wechselseitig distributiv, d.h. für alle x, y, z ∈ A x · (y + z) = (x · y) + (x · z) , x + (y · z) = (x + y) · (x + z). 7. Das Element 0 ist Neutralelement der Booleschen Addition: x + 0 = x für alle x ∈ A, das Element 1 ist Neutralelement der Booleschen Multiplikation: x · 1 = x für alle x ∈ A. 8. Für die einstellige Operation gelten folgende Komplementgesetze: x + x = 1 , x · x = 0 für alle x ∈ A. Satz über die Boolesche Algebra : Die Wahrheitswertemenge bildet mit den Operationen ∨, ∧, ¬ eine zweielementige Boolesche Algebra ({1, 0}, ∨, ∧, ¬). Dualer Ausdruck : Ist A ein beliebiger Boolescher Ausdruck, so gewinnt man den dualen Ausdruck (das Dualisat) ∆A, indem man in A die Junktoren ∨ und ∧ und die Wahrheitswerte 1 und 0 miteinander vertauscht und ansonsten den Ausdruck unverändert läßt. Dualitätsprinzip der Aussagenlogik : Sind zwei in der Boole-Basis B notierte Ausdrücke A, B äquivalent, so besteht äquivalenz auch zwischen ihren Dualisaten, d.h mit A ⇐⇒ B gilt auch ∆A ⇐⇒ ∆B. Funktional unabhängige Verknüpfungsbasen Junktoren: α1 , α2 , . . . αn Verknüpfungsbasis: V = { α1 , α2 , . . . αn } Ausdruck mit Junktoren αi , αk . A(αi , αk ) Funktionale Unabhängigkeit : αi ist funktional unabhängig von α1 , . . . , αi−1 , αi+1 , . . . , αn , wenn zu beliebigem gegebenen A = A(αi ) kein B = B(α1 , . . . , αi−1 , αi+1 , . . . , αn ) mit A ⇐⇒ B existiert. Unabhängige Verknüpfungsbasis : Eine Basis V = { α1 , α2 , . . . αn } heißt (funktional) unabhängig, falls jeder Junktor αi von den übrigen Junktoren in V funktional unabhängig ist. Folgerung : Die BOOLE-Basis B = {¬, ∨, ∧} ist nicht funktional unabhängig. Satz über die DE MORGAN-Basen : D1 = {∧, ¬} und D2 = {∨, ¬} sind Verknüpfungsbasen, die DE MORGANBasen. Satz über die FREGE-Basis : F = {→, ¬} ist Verknüpfungsbasis, die FREGE-Basis. Satz über die funktionale Unabhängigkeit : Die zweielementigen Basen D1 = {∧, ¬} , D2 = {∨, ¬} und F = {→, ¬} sind jeweils funktional unabhängig. NOR und NAND : Die Negation der Disjunktion heißt NOR-Verknüpfung (Negatkonjunktion): x ∨ y := ¬ (x ∨ y ) . Die Negation der Konjunktion heißt NAND-Verknüpfung (Negatdisjunktion): x ∧ y := ¬ (x ∧ y ) . Satz über NAND- und NOR-Basis : N1 = {∨} (NOR-Basis) und N2 = {∧} (NAND-Basis) sind funktional unabhängige Verknüpfungsbasen. Gesamtheit der zweistelligen Verknüpfungen in der DE MORGAN - Basis D1 x 1 1 0 0 Ausdruck in DE MORGAN-Basis y 1 0 1 0 D1 = { ∧ , ¬ } 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 ¬(x ∧ ¬x) ¬(¬x ∧ ¬y) ¬(¬x ∧ y) x 1 1 1 1 0 0 0 0 1 1 0 0 1 0 1 0 ¬(x ∧ ¬y) y ¬(x ∧ ¬y) ∧ ¬(¬x ∧ y) x∧y 0 0 0 0 1 1 1 1 1 1 0 0 1 0 1 0 ¬(x ∧ y) ¬(x ∧ y) ∧ ¬(¬x ∧ ¬y) ¬y x ∧ ¬y 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 ¬x ¬x ∧ y ¬x ∧ ¬y x ∧ ¬x Boolesche Funktionen Definition : Sei {0, 1}n = {0, 1} × {0, 1} × . . . × {0, 1} das n-fache kartesische Produkt der Wahrheitswertemenge W = {0, 1}. Jede auf einer Teilmenge D ⊆ {0, 1}n definierte Funktion (eindeutige Abbildung), deren Werte in {0, 1} liegen f : D ⊆ {0, 1}n −→ {0, 1} heißt Boolesche (aussagenlogische, Wahrheits-) Funktion mit n Variablen. Satz : n Es existieren genau z(n) = 22 verschiedene Boolesche Funktionen mit n Variablen auf D = {0, 1}n . Darstellung Boolescher Funktionen durch Boolesche Ausdrücke Satz 1 : Jeder Boolesche Ausdruck H mit n Variablen a1 , a2 , ..., an stellt eine eindeutig bestimmte Boolesche Funktion f : {0, 1}n → {0, 1} in n Variablen dar. Beispiel H = (¬a ∧ b) ∨ (a ∧ ¬c) ∨ (¬b ∧ c) besitzt die Wertetafel a = x2 b = x1 c = x0 H 11110000 11001100 10101010 01111110 Hierdurch ist eine Boolesche Funktion y = f (x0 , x1 , x2 ) eindeutig festgelegt. Frage : Läßt sich jede Boolesche Funktion y = f (x0 , x1 , ..., xn−1 ) als Boolescher Ausdruck notieren? Beispiel y = f (x0 , x1 , x2 ) = x0 x1 x2 ∨ x0 x1 x2 ∨ x0 x1 x2 ∨ x0 x1 x2 ∨ x0 x1 x2 ∨ x0 x1 x2 Satz 2 : Jede Boolesche Funktion y = f (x0 , x1 , ..., xn−1 ) in n Variablen läßt sich als Boolescher Ausdruck darstellen. Funktionale Vollständigkeit Verknüpfungsbasen i = 1(1)m : B = {¬, ∧, ∨} D1 = {¬, ∧} D2 = {¬, ∨} F = {¬, →} N1 = {∨} N2 = {∧} V = {α1, α2, ..., αm} mit den Junktoren αi, Boole-Basis De Morgan-Basis De Morgan-Basis Frege-Basis NOR-Basis NAND-Basis Definition : Eine Basis V = {α1, α2, ..., αm} ist funktional vollständig, wenn sich durch sie jede beliebige logische Funktion definieren läßt. Satz : Alle 5 Verknüpfungsbasen B, D1, D2, F, N1, N2 sind funktional vollständig. Beweis : 1. Boole-Basis B : Nach Satz 2 läßt sich zu jeder logischen Funktion y = f (x0, x1, ..., xn−1) ein Ausdruck in B = {¬, ∧, ∨} konstruieren. 2. De Morgan-Basis D1 : Sei y = f (x0, x1, ..., xn−1) eine gegebene logische Funktion. Nach Teil 1 existiert ein Boolescher Ausdruck B = B(¬, ∧, ∨) mit B ⇔ y. Ersetzt man darin ∨ durch ¬, ∧ gemäß p ∨ q ⇐⇒ ¬(¬p ∧ ¬q) , so erhält man einen Ausdruck D1 = D1(¬, ∧) mit D1 ⇔ B ⇔ y. 3. De Morgan-Basis D2 : Ersetzung mittels p ∧ q ⇐⇒ ¬(¬p ∨ ¬q) . 4. Frege-Basis F : Ersetzung von ∨ und ∧ in Booleschen Ausdrücken B(¬, ∧, ∨) mittels p ∨ q ⇐⇒ ¬p → q p ∧ q ⇐⇒ ¬(p → ¬q) . 5. NOR-Basis N1 : Ersetzung von ∨ und ¬ in Ausdrücken D2(¬, ∨) mittels p ∨ q ⇐⇒ (p∨q)∨(p∨q) ¬q ⇐⇒ p∨p . 6. NAND-Basis N2 : Ersetzung von ∧ und ¬ in Ausdrücken D1(¬, ∧) mittels p ∧ q ⇐⇒ (p∧q)∧(p∧q) ¬q ⇐⇒ p∧p . q.e.d. Satz über N1 und N2 : Die Basen N1 und N2 sind die einzigen einelementigen Verknüpfungsbasen, die funktional vollständig sind. Normalformen Negationstechnische Normalform : Beziehen sich in einem Booleschen Ausdruck H die Negationen nur auf jeweils 1 Variable, so heißt H negationstechnische (verneinungstechnische) Normalform. Literal : • Jede logische Variable xi heißt Atom oder atomare Formel (im Gegensatz zu nichtatomaren Formeln, die Junktoren enthalten). • Ein Literal H ist eine Variable (Atom) oder die Negation einer Variablen (negiertes Atom). Disjunktive Normalform, Konjunktive Normalform : • Ein Ausdruck der Form k = Hi0 ∧ Hi1 ∧ . . . ∧ Him = m ∧ Hik , m ≤ n , k=0 wobei jeder Ausdruck Hik ein Literal (also gleich xik oder xik ) ist, heißt Fundamentalkonjunktion in den Variablen x0, x1, ..., xn. • Ein Ausdruck der Form d = Hi0 ∨ Hi1 ∨ . . . ∨ Him = m ∨ Hik , m ≤ n , k=0 wobei jeder Ausdruck Hik ein Literal (also gleich xik oder xik ) ist, heißt Fundamentaldisjunktion in den Variablen x0, x1, ..., xn. • Eine disjunktive Kette von Fundamentalkonjunktionen (eine konjunktive Kette von Fundamentaldisjunktionen) heißt disjunktive Normalform (konjunktive Normalform), kurz DNF (KNF) des Ausdruckes H. Kanonische disjunktive Normalform (KDNF) : • Ein Ausdruck der Form k = H0H1 · · · Hn = n ∧ Hi , i=0 wobei jeder Ausdruck Hi ein Literal (also gleich xi oder xi ) ist, heißt Elementarkonjunktion (Minterm) in den Variablen x0, x1, ..., xn. • Ein Ausdruck H heißt eine kanonische disjunktive Normalform (KDNF), wenn er die Form H = k1 ∨ k2 ∨ · · · ∨ kp = p ∨ kj , p ≥ 1 , j=1 hat, wobei k1, k2, ..., kp paarweise verschiedene Elementarkonjunktionen in den gleichen Variablen x0, x1, ..., xn sind. Kanonische konjunktive Normalform (KKNF) : • Ein Ausdruck der Form d = H0 ∨ H1 ∨ · · · ∨ Hn = n ∨ Hi , i=0 wobei jeder Ausdruck Hi ein Literal (also gleich xi oder xi ) ist, heißt Elementardisjunktion (Maxterm) in den Variablen x0, x1, ..., xn. • Ein Ausdruck H heißt eine kanonische konjunktive Normalform (KKNF), wenn er die Form H = d1 d2 · · · dq = q ∧ dj , q ≥ 1 , j=1 hat, wobei d1, d2, ..., dq paarweise verschiedene Elementardisjunktionen in den gleichen Variablen x0, x1, ..., xn sind. Erzeugung kanonischer Normalformen Algorithmus 1 (Algebraische Umwandlung) : S0 : Ersetzung von →, ↔, ∧, ∨ durch ¬, ∧, ∨ mittels x→y = x∨y x ↔ y = (x ∨ y) ∧ (x ∨ y) x∧y = x ∧ y x∨y = x ∨ y S1 : Wiederholte Anwendung der De Morganschen Gesetze x0 ∨ x1 ∨ · · · ∨ xn = x0 x1 . . . xn x0 x1 · · · xn = x0 ∨ x1 ∨ . . . ∨ xn , bis nur Negationen über Einzelvariablen auftreten (VTNF). S2 : Wiederholte Anwendung des Distributivgesetzes x0(x1 ∨ x2 ∨ . . . ∨ xn) = x0x1 ∨ x0x2 ∨ . . . ∨ x0xn liefert eine DNF. S3 : Vervollständigung aller Elementarkonjunktionen durch Hinzufügen der fehlenden Variablen xi nach dem Muster k = x0x1 · · · xi−1xi+1 · · · xn = x0x1 · · · xi−1xi+1 · · · xn(xi ∨ xi) = x0x1 · · · xi · · · xn ∨ x0x1 · · · xi · · · xn. S4 : Nach Streichung mehrfach auftretender Elementarkonjunktionen entsteht eine KDNF. Algorithmus 2 (Erzeugung durch Wertetafel) : S1 : Aufstellen der Wertetafel des logischen Ausdruckes S2 : Notation aller Elementarkonjunktionen in den Zeilen mit Wert 1 S3 : Disjunktive Verknüpfung aller Elementarkonjunktionen zur KDNF. Satz über die Eindeutigkeit der kanonischen Normalformen : Zu einem logischen Ausdruck existiert bis auf die Reihenfolge der Elementarterme genau eine KDNF und genau eine KKNF . Zwei logische Ausdrücke sind äquivalent, wenn ihre KDNF (bzw. ihre KKNF) übereinstimmen. Karnaugh-Veitch-Diagramme n=2 n=1 n=4 n=3 n=5 n=6 Minimierung logischer Ausdrücke Zielsetzung : Bestimmung einer zu einem gegebenen Booleschen Ausdruck äquivalenten KNF oder DNF , die möglichst wenige Operationen ∨, ∧ oder Variablen enthält. Definition (Optimalität bezüglich Lk ) : • Lk (H) ist die Anzahl der Stellen von H , an denen Variablen stehen. • Eine DNF(H) (bzw. KNF(H) ) heißt optimal bezüglich Lk , wenn es keine DNF (bzw. KNF) mit kleinerem Lk (H) gibt. Minimierungsverfahren nach Karnaugh : • Benachbarte Felder : 2 Feldelemente des KV-Diagrammes heißen benachbart, wenn sich die Werte ihrer Belegungsvektoren nur in 1 Variablen unterscheiden. • Fundamentalblöcke : Ein Rechteck benachbarter Felder des KV-Diagrammes heißt Fundamentalblock, wenn jedes Feld mit 1 belegt ist und die Zahl der Felder 2k , k ∈ N0 beträgt. • Primkonjunktion (anschaulich) : Eine Fundamentalkonjunktion heißt Primkonjunktion, falls der zugehörige Fundamentalblock “maximal“ ist. Algorithmus 3 (Bildung einer minimalen DNF nach Karnaugh) : S1 : Aufstellen des KV-Diagrammes des logischen Ausdruckes S2 : Bildung maximaler Fundamentalblöcke, bis alle Werte 1 überdeckt sind S3 : Notation der zugehörigen Primkonjunktionen und deren disjunktive Verknüpfung. Primkonjunktionen Relation zwischen Ausdrücken : Ein Ausdruck A = A(x0 , x1 , ..., xn−1 ) impliziert einen Ausdruck B = B(x0 , x1 , ..., xn−1 ), wenn für jede Belegung von A, für die δ(A) = 1 ist, auch δ(B) = 1 gilt. Schreibweise: A ≤ B . Relation zwischen Fundamentalkonjunktionen K1 und K2 : • K1 ist in K2 enthalten (K1 ⊆ K2 ), wenn jeder Konjunktionsterm von K1 auch in K2 auftritt. • K1 ist echt in K2 enthalten (K1 ⊂ K2 ), wenn K1 ⊆ K2 und K1 ̸= K2 . Primkonjunktion : H sei eine DNF. Eine Fundamentalkonjunktion R heißt Primkonjunktion der DNF H, wenn (a) R ≤ H ist und (b) keine Fundamentalkonjunktion R′ mit R′ ⊂ R und R′ ≤ H existiert. Relation zwischen disjunktiven Normalformen N und M : • N ist echt in M enthalten (N ⊂ M ), wenn N aus M durch Streichen mindestens (a) einer Fundamentalkonjunktion oder (b) eines Konjunktionsterms in einer Fundamentalkonjunktion entsteht. • N heißt minimal, wenn keine mit N äquivalente DNF M mit M ⊂ N existiert. Satz : Sei N eine DNF. • Ist N optimal bezüglich der Längenfunktion Lk (N ), so ist N eine minimale DNF ! • Jede minimale DNF N besteht aus einer disjunktiven Kette von Primkonjunktionen ! Bemerkungen zum Satz : 1. Die Minimalität einer DNF ist notwendig für deren Optimalität. Unter allen minimalen DNF ist (mindestens eine) optimale DNF ! 2. Die Umkehrung von Teil 2 des Satzes gilt nicht, d.h. es existieren disjunktive Ketten von Primkonjunktionen, die nicht minimal sind ! Aussagenlogisches Schließen A1, A2, ..., An, B gegebene Ausdrücke. Die Konklusion B folgt semantisch aus den Prämissen (Bedingungen) A1, A2, ..., An, falls aus δ(Ai) = 1, i = 1(1)n, stets δ(B) = 1 folgt. Jede derartige Folgebeziehung stellt eine Schlußregel (Regel) dar. Schreibweise für Schlußregeln : A1 A2 ··· An B Grundregeln (EK) Einführungsregel der Konjunktion : (BK) Beseitigungsregel der Konjunktion : A B A∧B A B A∧B (ED) Einführungsregel der Disjunktion : A B A∨B A∨B (EB) Einführungsregel der Bijunktion : A→B B→A A↔B (BD) Beseitigungsregel der Disjunktion : A∨B ¬A B (BB) Beseitigungsregel der Bijunktion : A↔B A↔B A→B B→A (ES) Einführungsregeln der Subjunktion : A A B→A ¬A → B (BS) Beseitigungsregeln der Subjunktion : (AR) Abtrennungsregel (VR) Verwerfungsregel A→B A A→B ¬B B ¬A Erweiterte Grundregeln für NAND und NOR (ENA) Einf. für NAND: (BNA) Bes. für NAND: ¬A ¬B A∧B A∧B A∧B ¬A ∨ ¬B (ENO) Einf. für NOR: (BNO) Bes. für NOR: ¬A ¬B A∨B A∨B A∨B ¬A ¬B Satz : • B folgt semantisch aus A1, A2, ..., An genau dann, wenn R = A1 ∧ A2 ∧ . . . ∧ An −→ B eine Tautologie ist. • Jede Schlußregel läßt sich in der Form S = A1 → (A2 → (A3 → · · · → (An → B) · · · )) darstellen, d.h. R ⇐⇒ S. Direkter und indirekter Beweis Strukturregeln des direkten Beweises : R1 : In den ersten n Zeilen werden A1, A2, ..., An als Annahmen (A.d.B.) notiert. R2 : Bereits bewiesene Sätze können als neue Zeilen hinzugefügt werden. R3 : Durch Anwendung der Grundregeln auf vorhandene Zeilen können neue Zeilen hinzugefügt werden. R4 : Der Beweis eines Satzes ist beendet, wenn seine letzte Zeile gleich B ist. Strukturregeln des indirekten Beweises : S1 : In den ersten n Zeilen werden A1, A2, ..., An als Annahmen (A.d.i.B.) notiert. S2 : In der (n + 1)-ten Zeile wird ¬B als Annahme des indirekten Beweises (A.d.i.B.) notiert. S3 : Bereits bewiesene Sätze können als neue Zeilen hinzugefügt werden. S4 : Durch Anwendung der Grundregeln auf vorhandene Zeilen können neue Zeilen hinzugefügt werden. S5 : Der indirekte Beweis ist beendet, wenn in ihm ein Ausdruck und dessen Negat als Beweiszeilen auftreten (Kennzeichnung mit Wid. und den Nrn. der sich widersprechenden Zeilen). Theorem : Ein Ausdruck A = A1 ∧ A2 ∧ . . . ∧ An → B ist ein Theorem (Satz) im System des natürlichen Schließens, falls es für ihn einen direkten oder indirekten Beweis gibt. Systematische Ableitung von Konklusionen Fragestellung : Gegeben die n Voraussetzungen A1 , A2 , ..., An . Gesucht sind alle möglichen Konklusionen B , die aus der Gesamtheit der n Prämissen gewonnen werden können, so daß eine semantische Folgebeziehung besteht. Methode der konjunktiven Normalformen : Sei A = A1 ∧ A2 ∧ . . . ∧ An . Bildet man die KKNF von A KKNF(A) = D1 ∧ D2 ∧ . . . ∧ Dq mit den q Elementardisjunktionen Di , so ergeben sich mögliche Konklusionen durch • D = Di , i = 1, 2, ..., q • beliebige Konjunktionen D= ∧ i∈Q Di , Q ⊆ {1, 2, ..., q} • beliebige Umformungen von D nach gültigen Schlußregeln. Verfahren : 1. Verbindung der Prämissen zu A = A1 ∧ A2 ∧ . . . ∧ An . 2. Ermittlung der KKNF(A) 3. Ermittlung von Primdisjunktionen 4. evtl. Umformung nach gültigen Schlußregeln. Beispiel : Gegeben seien folgende Voraussetzungen : 1. Wenn W. Philosophie studiert, so hört er auch Logikvorlesungen (p → q) . 2. Wenn W. Informatik studiert, so hört er auch Mathevorlesungen (r → s) . 3. W. studiert Informatik oder Philosophie (p ∨ r) . 4. Es ist nicht der Fall, daß W. sowohl Logik- als auch Mathevorlesungen hört (¬(q ∧ s)) . Man leite mögliche Schlußfolgerungen ab ! Mehrwertige Logikkalküle J. Lukasiewicz (1878-1956) : “Eine Aussage, von welcher wir nicht wissen, ob sie wahr oder falsch ist, könnte überhaupt keinen bestimmten Wert haben im Hinblick auf Wahrheit oder Falschheit, sondern könnte einen dritten, unbestimmten Wert haben. Man könnte meinen, daß die Aussage ’Ich werde in einem Jahr in Warschau sein.’ weder wahr noch falsch ist und den dritten, unbestimmten Wert hat, den wir mit dem Symbol ’1/2’ bezeichnen können. Man könnte aber noch weiter gehen und den Aussagen unendlich viele Werte zuschreiben, die zwischen Falschheit und Wahrheit liegen.“ (Elemente der mathematischen Logik, Warschau, 1929) Bezeichnung des “Unbestimmt“ : wahrscheinlich, möglich, unentscheidbar, neutral, ich weiß nicht ... Anwendung mehrwertiger Logiken : – Innerlogische Anwendungen – Quantenmechanik – Expertensysteme – Philosophie Die dreiwertige Logik L3 (J. Lukasiewicz, 1917) “Polnische Notation“ von Lukasiewicz : Junktor InfixLukasiewicznotation Junktor Negation ¬x Negation Subjunktion x→y Subjunktion Disjunktion x∨y Adjunktion Konjunktion x∧y Konjunktion Bijunktion x↔y Bijunktion Wahrheitswertemenge : W3 = {1, α, 0} = {wahr , neutral , falsch} Polnische Notation Nx Cxy Axy Kxy Bxy (Häufig: α = 1/2 ) Syntax aussagenlogischer Formeln F ∈ L3 : 1. Aussagenvariablen p, q, r, s, t, ..., x, y, z, p1, p2, ... sind Formeln. 2. Ist x eine Formel, so auch N x (Negation). 3. Sind x, y Formeln, so auch - Cxy (Subjunktion) - Axy (Adjunktion, Disjunktion) - Kxy (Konjunktion) - Bxy (Bijunktion). 4. Nur die durch 1.,2. und 3. definierten Zeichenreihen sind Formeln in L3. Beispiele F0 F1 F2 F3 = = = = KxN y Cxx CN N xx CKxyN AN xN y Semantik des Logikkalküls L3 : • Semantik der Basisjunktoren N und C : (a) Negation N x x Nx 1 0 α α 0 1 (b) Subjunktion Cxy x\y 1 α 0 1 1 1 1 • Abgeleitete Junktoren A und K : Axy = CCxyy Kxy = N AN xN y α α 1 1 0 0 α 1 (c) Adjunktion Axy x\y 1 α 0 1 1 1 1 α 1 α α (d) Konjunktion Kxy x\y 1 α 0 0 1 α 0 1 1 α 0 α α α 0 0 0 0 0 • Bijunktion B : (b) Bijunktion Cxy Bxy = KCxyCyx x\y 1 α 0 • Wertoperator δ : L3 → W3 : Für Aussagevariablen x gilt 1 , falls δ(x) = α , falls 0 , falls 1 1 α 0 α α 1 α 0 0 α 1 x wahr x neutral x falsch Für n-stellige Formeln gilt δ(F (x1, ..., xn)) = F (δ(x1), ..., δ(xn)) . • Arithmetik mit dem Wertoperator : Falls α = 1/2 , so δ(N x) δ(Kxy) δ(Axy) δ(Cxy) δ(Bxy) = = = = = 1 − δ(x) min(δ(x), δ(y)) max(δ(x), δ(y)) min(1, 1 + δ(y) − δ(x)) 1 − |δ(x) − δ(y)| Tautologien im Kalkül L3 : Sei F ∈ L3. 1. F ist erfüllbar, falls δ(F ) = 1 für mindestens eine Belegung 2. F ist allgemeingültig (Tautologie), falls δ(F ) = 1 für alle Variablenbelegungen 3. F ist ungültig, falls δ(F ) = 1 für keine Variablenbelegung Folgerung : F ist Tautologie, falls F ⇐⇒ 1 gilt. Die Menge aller Tautologien in L3 heiße T(L3) (Tautologienmenge). F1, F2, F3 ∈ T(L3) Beispiele F1 = Cxx F2 = CN N xx F3 = CKxyN AN xN y Wertetafel für Formel F3 : Sei Rxy := AN xN y. Dann ist F3 := CKxyN Rxy . x 1 1 1 y N x N y Rxy N Rxy Kxy F3 1 0 0 0 1 1 1 α 0 α α α α 1 0 0 1 1 0 0 1 α 1 α α α 0 α α α 0 α 1 α α 1 α α 0 α α 0 1 1 1 0 1 0 α 0 0 1 1 1 0 α 1 1 1 1 0 0 0 0 0 0 1 1 1 Verhältnis der Logiken L3 und A2 : • Frage: Sind F1, F2, F3 auch Tautologien in A2 ? Satz T(L3) ⊆ T(A2) , d.h. ist F ∈ L3 eine Tautologie in L3, so ist F ∈ A2 auch Tautologie in A2 . □ • Frage: Ist T(L3) = T(A2) ? Gegenbeispiel F4 = N KxN x ist keine Tautologie in L3 : x N x KxN x F4 1 α 0 0 α 1 0 α 0 1 α 1 F4 = ¬(x ∧ ¬x) ist jedoch Tautologie in A2 : x ¬x x ∧ ¬x F4 0 1 0 1 1 0 0 1 Die intuitionistische Logik H3 A. Heyting: Die formalen Regeln der intuitionistischen Logik. (Berlin 1930) Wahrheitswertemenge : W3 = {1, β, 0} = {wahr , unbestimmt , falsch} Syntax aussagenlogischer Formeln F ∈ H3 : 1. Aussagenvariablen p, q, r, s, t, ..., x, y, z, p1, p2, ... sind Formeln. 2. Ist x eine Formel, so auch N x (Negation). 3. Sind x, y Formeln, so auch - Cxy (Subjunktion) - Axy (Adjunktion, Disjunktion) - Kxy (Konjunktion) - Bxy (Bijunktion). 4. Nur die durch 1.,2. und 3. definierten Zeichenreihen sind Formeln. Beispiele (wie in Kalkül L3 ) F0 F1 F2 F3 = = = = KxN y Cxx CN N xx CKxyN AN xN y Semantik der Basisjunktoren N und C : (a) Negation N x x Nx 1 0 β 0 0 1 (b) Subjunktion Cxy x\y 1 β 0 1 1 1 1 β β 1 1 0 0 0 1 Abgeleitete Junktoren A und K : (wie in Kalkül L3) Axy = CCxyy Kxy = N AN xN y (c) Adjunktion Axy x\y 1 β 0 1 1 1 1 β 1 β β (d) Konjunktion Kxy x\y 1 β 0 0 1 1 0 1 1 1 0 β 1 1 0 0 0 0 0 Tautologien im Kalkül H3 : Eine Formel F ist Tautologie, falls F ⇐⇒ 1 gilt. Beispiele F1 = Cxx ist Tautologie in H3 . F2 = CN N xx ist keine Tautologie in H3 : x N x N N x F2 1 β 0 0 0 1 1 1 0 1 β 1 F4 = N KxN x ist Tautologie in H3 und A2 , aber nicht in L3 ! Wertetafel in H3 : x N x KxN x F4 1 β 0 0 0 1 Frage: Ist F3 auch Tautologie in H3 ? 0 0 0 1 1 1 ⇒ Übung ! Zusammenfassung der Beispiele in 3 Logikkalkülen : Fi F1 F2 F3 F4 = = = = Cxx CN N xx CKxyN AN xN y N KxN x A2 L3 H3 Taut. Taut. Taut. Taut. Taut. Taut. Taut. keine T. Taut. keine T. ? Taut. Die vierwertige Logik L4 (J.Lukasiewicz, Oxford 1951) Zielsetzung : T(L4) = T(A2) Syntax des Kalküls L4 : • Wahrheitswertemenge : W4 = {1, α, β, 0} mit 1 ≡ wahr, 0 ≡ falsch Häufig : α = 2/3 , β = 1/3 • Syntax der Formeln F ∈ L4 : wie in Kalkül L3 Semantik des Kalküls L4 : • Basisjunktoren N und C : (a) Negation N x x Nx 1 0 α β β α 0 1 (b) Subjunktion Cxy x\y 1 α β 0 1 1 1 1 1 α α 1 α 1 β β β 1 1 0 0 β α 1 • Abgeleitete Junktoren A und K : (wie in L3) Axy = CCxyy Kxy = N AN xN y Tautologien im Kalkül L4 : Eine Formel F ∈ L4 ist Tautologie, falls F ⇐⇒ 1 gilt. Beispiele (s.o.) F1 = Cxx Tautologie in A2, L3, H3 F2 = CN N xx keine Tautologie in H3 F4 = N KxN x keine Tautologie in L3. x N x N N x F2 1 α β 0 0 β α 1 1 α β 0 1 1 1 1 x N x KxN x F4 1 α β 0 Resultat : 0 β α 1 0 0 0 0 1 1 1 1 F1, F2, F4 ∈ T(L4) Frage : Ist jede Tautologie von A2 auch Tautologie von L4 ? Satz : Sei F = F (¬, →) eine Tautologie in A2 . Ersetzt man überall ¬x durch N x und x → y durch Cxy , so ist F auch eine Tautologie in L4 . □ Die Fuzzy–Logik Fuzzy–Konzept : • “fuzzy“ - unscharf, vage, verschwommen Fuzzy–Konzept : exakter Ansatz, um die Unschärfe mathematisch zu fassen und damit exakt umzugehen • Begründer : Lofti Asker Zadeh : Fuzzy Sets (1965) • Hauptanwendungsgebiete : Steuer- und Regelungstechnik, Expertensysteme • “Fuzzyfizierung“ : Anwendung des Fuzzy-Prinzips auf klassische Gebiete (1) (2) (3) (4) Mengentheorie Relationen Zahlen Aussagenlogik ⇒ ⇒ ⇒ ⇒ Fuzzy-Mengen Fuzzy-Relationen Fuzzy-Arithmetik Fuzzy-Logik Fuzzy-Aussagen : Fuzzy-Aussagen x wird ein Wahrheitswert δ(x) ∈ [0, 1] ⊂ R aus der Wahrheitswertemenge W = [0, 1] eindeutig zugeordnet. Bezeichnung des Kalküls mit F L1. Syntax der Fuzzy-Logik F L1 : • Alphabet (Zeichenmenge) C : C = {1, 0, ¬, ∧, ∨, →, ↔, ), (, a, b, c, ...} • Wortmenge über C : Die Menge aller endlichen Zeichenfolgen mit Elementen aus C heißt Wortmenge W (C) über C. • Konstruktionsregeln : Sei Ω ⊆ W (C) die Menge der Ausdrücke. Folgende Konstruktionsvorschriften führen zu zulässigen fuzzy-logischen Ausdrücken (Formeln) : – 1, 0 ∈ Ω – a, b, c, ..., x, y, z, a1, a2, ... ∈ Ω (Fuzzy-Aussagenvariablen) – Mit H, K ∈ Ω sind auch (H) ∈ Ω , ¬H ∈ Ω , (H ∧ K) ∈ Ω , (H ∨ K) ∈ Ω, (H → K) ∈ Ω , (H ↔ K) ∈ Ω . – Äußerste Klammern um einen Ausdruck können entfallen, wenn dieser nicht mit einem anderen Ausdruck verknüpft wird. – Für die Junktoren werden folgende Prioritäten erklärt: (1) ¬ (2) ∧ , ∨ (3) → (4) ↔ Die aufgrund der Prioritäten entbehrlichen Klammern können entfallen. – Bei nacheinander auftretenden ∨ bzw. ∧ k?nnen die Klammern entfallen (Assoziativität). – Keine andere Zeichenkette aus W (C) heißt Ausdruck. Semantik der Fuzzy–Logik F L1 : • Wahrheitswert : Mit dem Wertoperator δ : Ω −→ [0, 1] wird jedem Ausdruck F eindeutig ein Wahrheitswert δ(F ) zugeordnet. Bei gegebenen Werten δ(xi) gilt für den n-stelligem Ausdruck F (x1, x2, ..., xn) δ(F (x1, x2, ..., xn)) = F (δ(x1), δ(x2), ..., δ(xn)) . • Bewertung der Junktoren : (1) (2) (3) (4) (5) Negation : Konjunktion : Disjunktion : Subjunktion : Bijunktion : δ(¬x) = 1 − δ(x) δ(x ∧ y) = min(δ(x), δ(y)) δ(x ∨ y) = max(δ(x), δ(y)) δ(x → y) = min(1, 1 + δ(y) − δ(x)) δ(x ↔ y) = 1 − |δ(x) − δ(y)| Fuzzy-logische Tautologien : Ein Ausdruck F ∈ Ω heißt • fuzzy-logisch allgemeingültig (Tautologie), wenn δ(F ) = 1 für alle Belegungen der Variablen gilt • fuzzy-logisch erfüllbar, wenn es eine Belegung der Variablen mit δ(F ) = 1 gibt. • fuzzy-logisch unerfüllbar, wenn es keine Belegung der Variablen mit δ(F ) = 1 gibt. Fuzzy-logische äquivalenz und Implikation : 1. Äquivalenz: Ist mit F, G ∈ Ω die Bijunktion F ↔ G allgemeingültig, so schreibt man die fuzzy-logische äquivalenz F ⇐⇒ G . 2. Implikation: Ist mit F, G ∈ Ω die Subjunktion F → G allgemeingültig, so schreibt man die fuzzy-logische Implikation F =⇒ G . Fuzzy-logisches Entscheidungsproblem : Gesucht ist ein endlicher Algorithmus (Entscheidungsverfahren), mit dem von jedem syntaktisch zulässigen Ausdruck F ∈ Ω entschieden werden kann, ob er eine Tautologie ist oder nicht. Beispiel a ↔ b ⇔ (a → b) ∧ (b → a)