logik (Version vom 9.4.)

Werbung
Logik
(Teschl/Teschl 1.1 und 1.3)
Eine Aussage ist ein Satz, von dem man eindeutig
entscheiden kann, ob er
wahr (true,
= 1)
oder falsch (false,
= 0)
ist.
Beispiele
a: 1 + 1 = 2
b: Darmstadt liegt in Bayern.
c: Der 8. April 2013 ist ein Dienstag.
d: Das Glas ist halb voll.
Negation
1
¬
¬
¬
¬
= ¬1 = 0,
a: 1
0
= ¬0 = 1
+ 1 6= 2
b: Darmstadt liegt nicht in Bayern.
c: Der 8. April 2013 ist kein Dienstag.
d: Das Glas ist nicht halb voll.
logik.pdf, Seite 1
Eine Aussageform
a(x ): x
>1
besteht aus Variable x und Prädikat > 1.
Der Wahrheitswert hängt vom Wert der Variable ab.
AllAussagen und ExistenzAussagen
∀x : a(x )
Für alle x gilt die Aussage a(x ),
∃x : a(x )
Es gibt ein x , für das a(x ) gilt.
Beispiel
∀x ∈ Z : x 2 ≥ 0,
∃x ∈ Z : x 2 = 4.
logik.pdf, Seite 2
Logische Funktionen (Verknüpfung von Aussagen)
¬a = a kehrt
und 1 = 0,
Die Negation
um: 0
=1
d. h. wenn a
= 0,
so ist a
den Wahrheitswert einer Aussage a
=1
und umgekehrt.
Zweistellige logische Funktionen
verknüpfen zwei Wahrheitswerte. Die wichtigsten sind
Konjunktion (logisches und,
a
∧b
ist genau dann wahr, wenn a und b wahr sind,
d. h. 0
∧0=0∧1=1∧0=0
Disjunktion (logisches oder,
a
∨b
∧, ∗),
und 1
∧ 1 = 1.
∨, +),
ist genau dann wahr, wenn mindestens eine der beiden
Aussagen a oder b wahr ist,
d. h. 0
∨0=0
und 0
∨ 1 = 1 ∨ 0 = 1 ∨ 1 = 1.
logik.pdf, Seite 3
Weitere zweistellige logische Verknüpfungen
Exklusives oder (xor,
a
⊕b
⊕),
ist genau dann wahr, wenn eine der beiden Aussagen a
oder b wahr und die andere falsch ist,
d. h. 0
⊕0=1⊕1=0
und 0
⊕ 1 = 1 ⊕ 0 = 1.
Subjunktion (→,
Ist a
= 0,
so ist
⇒, wenn-dann)
a → b immer wahr,
ist a
= 1,
so ist a
→b
wahr, wenn b wahr ist,
d. h. 0
→0=0→1=1→1=1
Äquivalenz (↔,
a
↔b
⇔,
und 1
→ 0 = 0.
genau-dann-wenn)
ist genau dann wahr, wenn a und b den selben
Wahrheitswert haben,
d. h. 0
↔0=1↔1=1
und 0
↔ 1 = 1 ↔ 0 = 0.
logik.pdf, Seite 4
Wertetabellen
Für eine zweistellige logische Funktion gibt es 4 mögliche
Eingaben, zu denen man die Werte in einer Tabelle auisten
kann. Durch eine solche Wertetabelle (Wahrheitstafel) ist die
logische Funktion vollständig beschrieben.
a
∧b
a
∨b
a
⊕b
a
→b
a
↔b
a
b
0
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
logik.pdf, Seite 5
Logische Äquivalenz
4
Es gibt insgesamt 2
= 16
unterschiedliche zweistellige
logische Funktionen. Diese sind jeweils auf unterschiedliche
Weise darstellbar.
Vergleicht man z. B. die beiden logischen Funktionen a
und a
∨ b,
→b
so stellt man mit Hilfe einer Wertetabelle fest, dass
sie für alle Eingaben von a und b den selben Wahrheitswert
haben:
a
→b
a
∨b
a
a
b
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
Man sagt, die beiden Funktionen sind logisch äquivalent,
Notation
(a → b) ⇔ (a ∨ b)
bzw.
(a → b) = (a ∨ b).
logik.pdf, Seite 6
Verneinung von All- und Existenzaussagen
∀x : a(x )
⇔
∃x : a(x ):
Die Aussage a(x ) ist nicht für alle x wahr bedeutet, dass es
(mindestens) ein x gibt, für das a(x ) falsch ist.
∃x : a(x )
⇔
∀x : a(x ):
Es gibt kein x , für das a(x ) wahr ist bedeutet, dass a(x ) für
alle x falsch ist.
Beispiel
h
i
2
¬ ∀n ∈ N : 2 ≥ n ⇔ ∃n ∈ N : 2 < n2 ,
h
i
2
¬ ∃x ∈ Q : x = 2 ⇔ ∀x ∈ Q : x 2 6= 2,
n
n
logik.pdf, Seite 7
Indirekter Beweis
Die logische Äquivalenz
(a → b ) ⇔ (b → a )
ist Grundlage
einer mathematischen Beweismethode, dem indirekten Beweis.
Um zu beweisen, dass B aus A folgt, zeigt man dass wenn B
falsch ist auch A falsch sein muss.
Beispielsatz
Ist n
≥3
Primzahl, so ist n ungerade.
Beweis: Man zeigt die logische äquivalente Aussage: Ist n
≥3
gerade, so ist n keine Primzahl.
n gerade
⇒n
durch 2 teilbar
⇒n
keine Primzahl.
Zur Notation: das Zeichen ⇒ steht für die logische
Implikation: Wenn die linke Seite wahr ist, dann ist auch die
rechte Seite wahr.
logik.pdf, Seite 8
Rechenregeln für Logische Operationen
(Regeln der Booleschen Algebra)
∧ b ⇔ b ∧ a,
a∨b ⇔ b∨a
Kommutativität
(a ∧ b ) ∧ c ⇔ a ∧ (b ∧ c ),
(a ∨ b) ∨ c ⇔ a ∨ (b ∨ c )
Assoziativität
∧ (b ∨ c ) ⇔ (a ∧ b) ∨ (a ∧ c ),
a ∨ (b ∧ c ) ⇔ (a ∨ b ) ∧ (a ∨ c ),
Distributivität
a
a
∧ b ⇔ a ∨ b,
a∨b ⇔ a∧b
a
a
⇔a
deMorgan'sche Regeln
doppelte Verneinung
Gleiche Regeln wie bei Mengenoperationen!
logik.pdf, Seite 9
Vereinfachen von logischen Ausdrücken
Beispiel:
(a ∧ b) ∧ a ⇔ (a ∨ b) ∧ a
⇔ (a ∧ a) ∨ (b ∧ a)
⇔ a ∨ (b ∧ a)
⇔ a
Disjunktive Normalform (DNF)
Logische Funktionen lassen sich auf wenige Grundfunktionen
zurückführen. So lässt sich jede zweistellige logische Funktion
durch die Operationen Negation, Disjunktion (∨) und
Konjunktion (∧) darstellen:
(x1 ∧ y1 ) ∨ (x2 ∧ y2 ) ∨ ... ∨ (x ∧ y )
n
n
Diese Darstellung heiÿt disjunktive Normalform. Dabei stehen
die xi für a oder a und die yi für b oder b.
logik.pdf, Seite 10
DNF am Beispiel Subjunktion
a
→b
a
b
0
0
1
0
1
1
1
0
0
1
1
1
Die DNF hat dann die Form
(a → b) = (a ∧ b) ∨ (a ∧ b) ∨ (a ∧ b).
Jeder Klammerausdruck steht dabei für eine Zeile (d. h. für
eine Kombination von Wahrheitswerten von a, b als Eingabe),
für die der die betrachtete Funktion a
→b
den
Wahrheitswert 1 hat.
logik.pdf, Seite 11
nstellige
logische Funktionen
In gleicher Weise lassen sich auch nstellige logische
Funktionen mit n
Funktion hat 2
n
>2
betrachten. Eine nstellige logische
mögliche Eingaben, deren zugehörige
Wahrheitswerte wieder in einer Tabelle aufgelistet werden
können, d. h. die Wahrheitstafel einer dreistelligen logischen
Funktion hat beispielsweise 8 Zeilen, die einer vierstelligen
Funktion 16 Zeilen.
Beispiel
f (a, b , c )
= (a ∧ b ) → c
Z. B. ist f (1, 1, 1)
ist eine dreistellige logische Funktion.
= (1 ∧ 0) → 1 = 0 → 1 = 1.
logik.pdf, Seite 12
Beispiel: DNF von f (a, b, c ) = (a ∨ c ) → (b ∧ c )
Man erstellt zunächst eine Wertetabelle:
a
∨c
b
∧c
(a ∨ c ) → (b ∧ c )
a
b
c
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
Die disjunktive Normalform hat dann die Form
f (a, b , c )
= (a ∧ b ∧ c ) ∨ (a ∧ b ∧ c ) ∨ (a ∧ b ∧ c )
logik.pdf, Seite 13
Vereinfachung des Ausdrucks im Beispiel
Unter Benutzung der Rechenregeln kann c ausgeklammert
werden:
= (a ∧ b ∧ c ) ∨ (a ∧ b ∧ c ) ∨ (a ∧ b ∧ c )
= (a ∧ b) ∨ (a ∧ b) ∨ (a ∧ b) ∧ c
f (a, b , c )
Der Ausdruck innerhalb der groÿen Klammer entspricht a
∨ b.
Damit erhält man
f (a, b , c )
= (a ∨ b ) ∧ c .
logik.pdf, Seite 14
Konjunktive Normalform (KNF)
Analog zur DNF lässt sich jede logische Funktion als
Konjuktion von Disjunktionen darstellen, d. h. innerhalb der
Klammern stehen OderVerknüpfungen und zwischen den
Klammerausdrücken UndVerknüpfungen.
Eine Möglichkeit, die KNF zu erhalten, ist zunächst die DNF
von f zu bestimmen, zum Beispiel ist für f (a, b )
=a⊕b
= (a ∧ b) ∨ (a ∧ b).
f
Die KNF von f erhält man hieraus durch Komplementbildung
und Anwendung der deMorganRegeln:
f
= (a ∧ b) ∨ (a ∧ b) = (a ∧ b) ∧ (a ∧ b)= (a ∨ b) ∧ (a ∨ b)
logik.pdf, Seite 15
Im Beispiel f (a, b, c ) = (a ∨ c ) → (b ∧ c )
erhält man aus der Wertetabelle (siehe vorheriges Beispiel) die
DNF von f
f
= (a ∧ b ∧ c ) ∨ (a ∧ b ∧ c ) ∨ (a ∧ b ∧ c ) ∨ (a ∧ b ∧ c ) ∨ (a ∧ b ∧ c )
Es folgt
f
= (a ∧ b ∧ c )∧(a ∧ b ∧ c )∧(a ∧ b ∧ c )∧(a ∧ b ∧ c )∧(a ∧ b ∧ c )
= (a ∨ b ∨ c ) ∧ (a ∨ b ∨ c ) ∧ (a ∨ b ∨ c ) ∧ (a ∨ b ∨ c ) ∧ (a ∨ b ∨ c )
Bemerkung
In der KNF entspricht jeder Klammerausdruck einer
Tabellenzeile, in der f
=0
wird.
logik.pdf, Seite 16
NANDVerknüpfung (NichtUnd)
a NAND b
=a∧b
Jede logische Funktion kann als Kombination von
NAND-Verknüpfungen ausgedrückt werden!
Begründung
Zunächst kann jede logische Funktion in der DNF als
Kombinationen von Negationen, Konjunktionen und
Disjunktionen dargestellt werden. Also reicht es, diese
Verknüpfungen durch NAND darzustellen:
a
=a
a
∧b =a
NAND b
= (a
NAND b ) NAND
(a
NAND b ),
a
∨b =a
NAND b
= (a
NAND a) NAND
(b
NAND b )
NAND a, d.h. Negation durch NAND ausgedrückt,
Analog: Darstellung durch NOR (Nicht-Oder) möglich.
logik.pdf, Seite 17
Addition von Dualzahlen als logische Funktion
Man betrachtet zunächst einen Halbaddierer zur Addition
einstelliger Dualzahlen a, b:
a
+ b = (os )2
s
= s (a, b) = a ⊕ b
Summe (sum), rechtes Bit,
o
= o (a, b) = a ∧ b
Übertrag (overow), linkes Bit
mit
Mögliche Hardwareschaltung
a
b
o
s
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
logik.pdf, Seite 18
Volladdierer
Berechnet
(s
n
+1 sn ...s0 )2
= (a ...a0 )2 + (b ...b0 )2 .
n
n
Die i te Stufe des Volladdierers wird zusammengesetzt aus
Halbaddierern (HA) und OderBausteinen:
logik.pdf, Seite 19
Herunterladen