k610-Boolesche_Ausdruecke_Wiederholung
k610-Boolesche_Ausdruecke_Wiederholung
Page 1
Kapitel 6 – Formale Spezifikation von Hardware
- Boolesche Ausdrücke (Wiederholung)
- Binäre Entscheidungsdiagramme (BDDs)
- Anwendung: Formale Verifikation mit BDDs
Albert-Ludwigs-Universität Freiburg
Prof. Dr. Armin Biere
Instit für Informatik
Page 2
Motivation
Der Entwurf von ReTI hat (hoffentlich) gezeigt, dass Hardware-Synthese komplex und fehleranfällig ist. Es gibt automatische Methoden, um Fehler zu finden oder ihre Abwesenheit nachzuweisen. Für ihre Anwendbarkeit muss ein Schaltkreis formal vollständig spezifiziert werden. Wir schauen uns daher Boolesche Funktionen nochmals (und genauer) an und lernen effiziente Algorithmen und Datenstrukturen zu ihrer Handhabung kennen.
Page 3
Boolesche Algebren – allgemein
Es sei
Das Tupel
| Axiom | ||
|---|---|---|
| Kommutativität | ||
| Assoziativität | ||
| Absorption | ||
| Distributivität | ||
| Komplement |
Page 4
Beispiele Boolescher Algebren
- Boolesche Algebra der Teilmengen einer Menge
: - Boolesche Algebra der Booleschen Funktionen in
Variablen:
Page 5
Boolesche Algebra der Teilmengen von
- Menge: Potenzmenge von
Satz:
Beweis: Nachrechnen, dass alle Axiome gelten.
Beispiel: Absorption
Seien
Dann ist
und
Page 6
Boolesche Algebra der Funktionen in
- Menge:
(Menge der Booleschen Funktionen in Variablen) für alle für alle für alle
Satz:
Beweis: Nachrechnen, dass alle Axiome gelten.
Beispiel: Kommutativität
Seien
Also
Page 7
Weitere, aus den Axiomen ableitbare Regeln:
Existenz neutraler Elemente:
Doppeltes Komplement:
Eindeutigkeit des Komplements:
Idempotenz:
de Morgan-Regel:
Consensus-Regel:
Diese Regeln gelten in allen Booleschen Algebren!
Page 8
Dualitätsprinzip bei Booleschen Algebren
Prinzip der Dualität: Gilt eine aus den Gesetzen der Booleschen Algebra abgeleitete Gleichung
Beispiel:
Page 9
Boolesche Ausdrücke – allgemein
Formal vollständige Definition Boolescher Ausdrücke:
- Syntax (korrekte Schreibweise) → Def. Boolescher Ausdrücke
- Semantik (Bedeutung) → Interpretationsfunktion
von
→ Zweck: Einem Rechner unzweifelhaft „beibringen", was und was nicht ein Boolescher Ausdruck ist und was seine Funktion bezüglich einer Booleschen Algebra ist.
→ Zum Beispiel: Unterschied zwischen dem Ausdruck „
Page 10
Syntax Boolescher Ausdrücke
Sei
Sei
Definition: Die Menge
, und für sind Boolesche Ausdrücke- Sind
und Boolesche Ausdrücke, so auch- die Disjunktion
, - die Konjunktion
, - die Negation
.
- die Disjunktion
Page 11
Schreibweise von
Konvention: Negation
→ Klammern können weggelassen werden, ohne dass Mehrdeutigkeiten entstehen.
Je nach Kontext (betrachtete Boolesche Algebra) schreibt man auch
- statt
: die entsprechenden neutralen Elemente, - statt
: , - statt
: , - statt
: .
→ So „vereinfachte" Ausdrücke entsprechen zwar nicht genau der obigen Definition, es gibt aber für jeden solchen Ausdruck einen äquivalenten vollständig geklammerten Ausdruck im Sinne der Definition.
Beispiel: Der äquivalente vollständig geklammerte Ausdruck für „
Page 12
Semantik Boolescher Ausdrücke
Sei
Seien
Definition: Jedem Booleschen Ausdruck
Page 13
Interpretation Boolescher Ausdrücke
Sei
Gilt
Zwei Boolesche Ausdrücke
Sie sind gleich, wenn
Wir betrachten folgend nur noch die Interpretation in
Page 14
Boolesche Ausdrücke ↔ Boolesche Funktionen
Lemma 1: Zu jedem Booleschen Ausdruck
Beweis:
Lemma 2: Zu jeder Booleschen Funktion
Beweis: Es gilt:
m.a.W. Die DNF ist ein Boolescher Ausdruck.
Page 15
Zusammenhang mit Schaltkreisen
Lemma 3: Zu jedem Booleschen Ausdruck
Zu jeder Booleschen Funktion gibt es einen kombinatorischen Schaltkreis, der sie implementiert (zum Beispiel zweistufige Umsetzung der DNF/KDNF).
Zu jedem kombinatorischen Schaltkreis gibt es sowohl eine Boolesche Funktion als auch einen Booleschen Ausdruck.














