Technische Informatik
Schaltalgebra: von der Wahrheitstabelle zur Schaltung
Ein Verfahren, das aus jeder beliebigen Wahrheitstabelle eine funktionierende Schaltung erzeugt, und wie man sie danach klein bekommt.
Benötigte Grundlagen
Dieses Vorwissen brauchst du für das Kapitel. Schau kurz nach, wenn dir etwas davon nicht mehr präsent ist, sonst leg direkt los.
Einführung
Stell dir vor, du sollst eine Schaltung bauen, die bei drei Sensoren genau dann Alarm auslöst, wenn mindestens zwei davon anschlagen.
Man könnte anfangen zu probieren. Man muss aber nicht: Es gibt ein Verfahren, das aus der einer beliebigen Aufgabe eine funktionierende Schaltung erzeugt, ohne jeden Einfall.
Das ist das eigentliche Ergebnis dieses Kapitels. Der zweite Teil beantwortet die Anschlussfrage, denn die so entstandene Schaltung ist zwar richtig, aber meist unnötig groß, und kosten Platz, Strom und Zeit.
Das kannst du nach diesem Kapitel
aus einer die disjunktive Normalform aufstellen.
einen Schaltterm in eine Schaltung aus übersetzen und umgekehrt.
Terme mit den Gesetzen der Schaltalgebra und De Morgan vereinfachen.
begründen, warum sich jede Schaltfunktion allein mit NAND aufbauen lässt (Vertiefung).
den Zusammenhang zwischen Termgröße und Aufwand einer Schaltung erläutern.
Kurz aufgefrischt
Vorausgesetzt werden AND, OR, NOT, XOR, NAND, NOR mit ihren und Schaltzeichen aus Logische Grundbausteine.
Neu ist die umgekehrte Richtung: Bisher war eine Schaltung gegeben und die Tabelle gesucht. Jetzt ist die Tabelle gegeben und die Schaltung gesucht.
Schreibweisen
In der Schaltalgebra schreibt man kurz:
| Bedeutung | Schreibweise | gesprochen |
|---|---|---|
| NOT | „nicht " | |
| AND | „ und " | |
| OR | „ oder " |
Das OR ist dabei immer das einschließende Oder: ist auch dann wahr, wenn beide wahr sind. Das ausschließende Oder ist XOR und muss eigens hingeschrieben werden.
Die disjunktive Normalform
Hier ist das Verfahren. Gegeben sei diese Tabelle:
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Schritt 1: Nur die Zeilen mit betrachten. Alle anderen sind uninteressant.
Schritt 2: Für jede solche Zeile einen UND-Term bilden, der genau für diese Zeile wahr ist. Eine mit Wert 1 kommt unverändert vor, eine mit Wert 0 negiert.
- Zeile 2 (, ):
- Zeile 3 (, ):
Schritt 3: Alle Terme mit ODER verbinden:
Fertig. Das ist die disjunktive Normalform, kurz DNF.
🔴 Warum das immer funktioniert, lässt sich in zwei Sätzen begründen. Jeder UND-Term ist genau für seine eine Zeile wahr und für jede andere falsch, denn in jeder anderen Zeile hat mindestens eine Variable den anderen Wert und macht den Term falsch. Die ODER-Verknüpfung ist damit genau dann wahr, wenn eine der ausgewählten Zeilen vorliegt, und das sind genau die Zeilen mit .
Beachte, was das bedeutet: Es gibt keine , für die man keine Schaltung bauen kann. Das Verfahren braucht keinen Einfall und liefert immer ein Ergebnis.
Übrigens: Der Term oben ist die Definition von XOR. Das erklärt, warum XOR kein eigenständiges Grundgatter sein muss, sondern sich aus AND, OR und NOT zusammensetzen lässt.
Ein Sonderfall bleibt: Steht in der Tabelle überall , gibt es keinen einzigen Term. Dann ist die Funktion konstant null, und man braucht gar kein .
Nur die Zeilen mit y = 1 zählen
Das DNF-Verfahren beginnt mit dieser Auswahl: nur die hervorgehobenen Zeilen, alle anderen sind uninteressant. Für jede bildet man einen UND-Term, der genau für sie wahr ist, eine mit Wert 1 kommt unverändert vor, eine mit Wert 0 negiert. Zeile 2 (, ) ergibt , Zeile 3 ergibt ; mit ODER verbunden: . 🔴 Warum das immer funktioniert, steht in zwei Sätzen: Jeder UND-Term ist genau für seine eine Zeile wahr, denn in jeder anderen hat mindestens eine Variable den anderen Wert und macht ihn falsch. Die ODER-Verknüpfung ist damit genau dann wahr, wenn eine der ausgewählten Zeilen vorliegt. Es gibt also keine , für die man keine Schaltung bauen könnte, das Verfahren braucht keinen Einfall.
Von der DNF zur Schaltung
Die Übersetzung ist unmittelbar:
- Jede negierte → ein NOT-.
- Jeder UND-Term → ein AND-Gatter mit so vielen Eingängen wie der Term Variablen hat.
- Die Verbindung der Terme → ein OR-Gatter mit so vielen Eingängen wie es Terme gibt.
a ──┬──────────────┐
│ │
└─[NOT]─┐ ┌──┴──┐
├───┤ AND ├──┐
b ──┬───────┘ └─────┘ │ ┌────┐
│ ├───┤ OR ├── y
└─[NOT]─┐ ┌─────┐ │ └────┘
├───┤ AND ├──┘
a ──────────┘ └─────┘
Die Schaltung hat immer drei Ebenen: erst die Negationen, dann die UND-Gatter, dann das eine ODER-Gatter. Genau deshalb heißt sie auch „Zweistufenschaltung", wenn man die Negationen nicht mitzählt.
Warum man vereinfacht
Die DNF ist richtig, aber selten sparsam. Ein Beispiel mit drei , „mindestens zwei von drei":
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |
DNF mit vier Termen:
Das sind vier UND-Gatter mit je drei Eingängen, drei und ein ODER-Gatter mit vier Eingängen. Vereinfacht ergibt sich (die Rechnung steht im Beispielteil):
Jetzt sind es drei UND-Gatter mit je zwei Eingängen, kein NOT-Gatter und ein ODER-Gatter mit drei Eingängen. Der Term ist außerdem sofort lesbar: „irgendwelche zwei stimmen überein".
Jedes gesparte Gatter bedeutet weniger Fläche auf dem Chip, weniger Stromverbrauch und eine kürzere Signallaufzeit. Bei Millionen von Gattern in einem Prozessor summiert sich das erheblich.
„Mindestens zwei von drei“, vereinfacht
Das ist dieselbe Funktion wie die DNF im Abschnitt daneben, nur gebaut aus dem vereinfachten Term . Zähle die Bauteile und vergleiche: Die DNF brauchte vier UND-Gatter mit je drei Eingängen, drei und ein ODER mit vier Eingängen. Hier sind es drei UND-Gatter mit je zwei Eingängen, kein einziges NOT und ein ODER mit drei Eingängen. Jedes gesparte Gatter bedeutet weniger Fläche auf dem Chip, weniger Stromverbrauch und eine kürzere Signallaufzeit; bei Millionen Gattern in einem Prozessor summiert sich das erheblich. Und der Term ist obendrein lesbar geworden: „irgendwelche zwei stimmen überein“.
Die Gesetze der Schaltalgebra
| Name | Gesetz |
|---|---|
| Kommutativ | · |
| Assoziativ | |
| Distributiv | |
| Neutral | · |
| Extremal | · |
| Komplement | · |
| Idempotenz | · |
| Absorption | |
| De Morgan | · |
Vieles davon kennst du aus der Mathematik. Zwei Dinge sind aber anders, und sie werden am häufigsten falsch gemacht:
, nicht . Es gibt keine Vielfachen, weil es nur die Werte 0 und 1 gibt.
De Morgan. Beim Hineinziehen einer Negation wechselt der Operator. Das ist keine Formalität, sondern der Kern der Regel. Anschaulich: „Nicht (beide)" heißt „mindestens einer nicht", und „nicht (mindestens einer)" heißt „keiner", also „beide nicht".
Der häufigste Fehler ist . Prüfe ihn an , : links steht , rechts . Die Behauptung ist also widerlegt, und eine einzige Zeile der genügte dafür.
De Morgan, und der häufigste Fehler daneben
Links steht das Gesetz von De Morgan, rechts der häufigste Fehler damit, und der Unterschied ist ein einziges Zeichen. Beim Hineinziehen einer Negation wechselt der Operator; das ist keine Formalität, sondern der Kern der Regel. Anschaulich: „nicht (beide)“ heißt „mindestens einer nicht“, und „nicht (mindestens einer)“ heißt „keiner“. 🔴 Beachte, wie die rechte Spalte widerlegt wird: mit einer eingesetzten Zeile. Für eine Widerlegung genügt ein Gegenbeispiel, für einen Beweis bräuchte man alle vier Zeilen, diese Unsymmetrie gilt in der ganzen Mathematik und spart hier eine Menge Arbeit.
Vertiefung: NAND allein genügt
Dieser Abschnitt gehört zum erhöhten Anforderungsniveau.
Erstaunlich, aber leicht zu zeigen: Jede Schaltfunktion lässt sich allein mit NAND-Gattern bauen.
Der Nachweis ist kurz. Es genügt, NOT, AND und OR aus NAND zu bauen, denn mit diesen dreien ergibt sich über die DNF jede beliebige Funktion.
NOT: Beide Eingänge des NAND zusammenlegen.
AND: NAND, danach die Negation, also ein zweites NAND als NOT.
OR: Beide Eingänge zuerst negieren, dann NAND. Der Nachweis ist De Morgan:
Damit sind alle drei Grundverknüpfungen aus NAND aufgebaut, und da jede Schaltfunktion über die DNF aus diesen dreien entsteht, ist die Behauptung bewiesen. Man nennt NAND deshalb funktional vollständig; für NOR gilt dasselbe.
Der praktische Nutzen ist groß: Eine Fertigung, die nur einen Gattertyp beherrschen muss, ist einfacher, billiger und gleichmäßiger in ihren Eigenschaften. In der Praxis bezahlt man das mit mehr pro Funktion, und deshalb baut man nicht wirklich alles aus NAND. Das Ergebnis zeigt aber, wie wenig im Kern nötig ist.
UND aus zwei NAND
Zwei , und heraus kommt ein UND. Der Trick steckt im zweiten: Beide Eingänge kommen vom selben Draht, und ein NAND mit zweimal derselben Eingabe liefert . Es wirkt also als NOT. Der zweite Baustein negiert damit die Ausgabe des ersten, und . Nach demselben Muster entstehen NOT (ein NAND mit beiden Eingängen an ) und ODER (De Morgan: , also drei NANDs). Und weil sich mit NOT, UND und ODER über die DNF jede Schaltfunktion bauen lässt, folgt daraus: NAND allein genügt für alles. Genau deshalb fertigt man Chips mit einem einzigen Gattertyp, eine Bauart, millionenfach.
DNF aufstellen und vereinfachen
Stelle für „mindestens zwei von drei Sensoren melden" die DNF auf und vereinfache sie.
- 1
Schritt 1: Zeilen mit heraussuchen. Aus der Tabelle im Theorieteil sind das vier Zeilen: , , , .
- 2
Schritt 2: je einen UND-Term bilden. Wert 0 heißt negiert, Wert 1 heißt unverändert:
- 3
Schritt 3: den letzten Term mehrfach verwenden. Wegen darf man beliebig oft hinschreiben, ohne die Funktion zu ändern. Das ist der entscheidende Kniff:
- 4
Schritt 4: paarweise zusammenfassen. Jeweils zwei Terme unterscheiden sich in genau einer , und die fällt heraus, denn :
- 5
Ergebnis: .
- 6
Probe an zwei Zeilen. Für : , richtig. Für : , ebenfalls richtig. Zusätzlich ist der Term jetzt lesbar: „irgendein Paar meldet".
statt vier Dreifachtermen. Drei mit je zwei Eingängen statt vier mit je drei, und kein NOT mehr.
De Morgan anwenden
Vereinfache .
- 1
Schritt 1: De Morgan auf den vorderen Teil. Beim Hineinziehen der Negation wechselt das ODER zum UND: .
- 2
Damit: .
- 3
Schritt 2: den gemeinsamen Faktor ausklammern. In beiden Termen steht : .
- 4
Schritt 3: Komplementgesetz: , also .
- 5
Probe über die Wahrheitstabelle, weil das Ergebnis überraschend einfach ist:
ODER 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 0 0 0 Die letzten beiden Spalten stimmen in allen vier Zeilen überein.
- 6
Aus vier wird ein einziges NOT. Beachte, dass die vollständig verschwindet: Sie beeinflusst das Ergebnis gar nicht, was man dem Ausgangsterm nicht ansieht.
, bestätigt durch die vollständige .
Typischer Fehler
„, man zieht den Strich einfach auf beide ."
Das ist der häufigste Fehler der ganzen Schaltalgebra, und er ist mit einer einzigen Zeile widerlegt.
Setze , : Links: , also . Rechts: .
, also ist die Regel falsch.
Richtig ist : Der Operator wechselt.
Die sprachliche Kontrolle trägt zuverlässig. „Nicht beide sind wahr" bedeutet „mindestens einer ist falsch", also ein Oder. Wer es mit einem Und übersetzt, behauptet „beide sind falsch", und das ist offensichtlich etwas anderes.
Ein Alltagsbeispiel macht den Unterschied greifbar: „Es ist nicht so, dass ich Zeit und Geld habe" heißt, dass mir mindestens eins von beiden fehlt. Es heißt nicht, dass mir beides fehlt.
Die Gegenprobe an einer einzigen gut gewählten Zeile ist übrigens ein allgemein brauchbares Werkzeug: Zum Widerlegen einer Umformung genügt eine Zeile, zum Bestätigen braucht man alle.
Übung 1
leichtGegeben:
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
a) Stelle die DNF auf. b) Wie viele braucht die direkte Umsetzung? c) Vereinfache den Term.
Tipp anzeigen
Zu c): Welche zwei Terme unterscheiden sich in genau einer ?
Lösung anzeigen
a) Drei Zeilen mit :
b) Zwei NOT-Gatter (für und ), drei AND-Gatter mit je zwei Eingängen und ein OR-Gatter mit drei Eingängen, also sechs Gatter.
c) Die ersten beiden Terme unterscheiden sich nur in :
Es bleibt . Ein weiterer Schritt ist möglich, denn : Wenn falsch ist, ist ohnehin wahr; ist wahr, hängt es nur noch an .
Endergebnis: mit nur zwei Gattern statt sechs.
Detaillierte Schritterklärung anzeigen
Hier wird jeder Schritt einzeln erklärt, vor allem, warum er gemacht wird.
✦ Empfohlen: Standard – Die normale Erklärungstiefe passt zum Einstieg.
- 1
a) Die DNF liest man aus den Einsen der Tabelle ab
Für die disjunktive Normalform nimmt man nur die Zeilen mit . Je Zeile entsteht ein UND-Term, in dem jede Variable vorkommt, negiert, wenn sie in dieser Zeile 0 ist. Alle Terme werden mit ODER verbunden: .
- 2
b) Die Gatter zählen, ohne etwas zu vergessen
Man zählt gruppenweise: zwei NOT (für und ), drei AND mit je zwei Eingängen (die drei Terme), ein OR mit drei Eingängen (die Verknüpfung). Zusammen sechs Gatter.
Zwischenergebnis
Sechs Gatter.
- 3
c) Vereinfachen: benachbarte Terme zusammenfassen
Man sucht Terme, die sich in genau einer Variablen unterscheiden. Die ersten beiden unterscheiden sich nur in : . Es bleibt , und ein weiterer Schritt ergibt , zwei Gatter statt sechs.
Zwischenergebnis
mit zwei Gattern.
Übung 2
mittelEine Alarmanlage hat drei Eingänge: (Tür offen), (scharf geschaltet), (Schlüssel gesteckt). Der Alarm soll genau dann auslösen, wenn die Anlage scharf ist, die Tür offen ist und kein Schlüssel steckt.
a) Stelle die auf. b) Gib die DNF an. c) Zeichne die Schaltung als Beschreibung der und ihrer Verbindungen. d) Was ändert sich an der Tabelle und am Term, wenn der Alarm zusätzlich bei gestecktem Schlüssel ohne Scharfschaltung auslösen soll?
Tipp anzeigen
Zu b): Wie viele Zeilen der Tabelle haben Ergebnis 1?
Lösung anzeigen
a) Alarm nur bei , , :
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 |
b) Nur eine Zeile hat Ergebnis 1, also besteht die DNF aus einem einzigen Term:
c) Ein NOT-Gatter für ; sein Ausgang zusammen mit und auf ein AND-Gatter mit drei Eingängen; dessen Ausgang ist . Zwei Gatter genügen.
d) Es kommt eine zweite Bedingung dazu: und . Betroffen sind die Zeilen und , die nun ebenfalls bekommen.
DNF mit drei Termen:
Die letzten beiden unterscheiden sich nur in , lassen sich also zusammenfassen zu . Endergebnis:
Man liest es direkt als die beiden geforderten Fälle ab.
Detaillierte Schritterklärung anzeigen
Hier wird jeder Schritt einzeln erklärt, vor allem, warum er gemacht wird.
✦ Empfohlen: Standard – Die normale Erklärungstiefe passt zum Einstieg.
- 1
Teil a): Alle Kombinationen systematisch aufschreiben
Bei drei Eingängen gibt es Zeilen. Man zählt im von bis hoch, dann fehlt garantiert keine.
2^3 = 8\ \text{Zeilen}
Zwischenergebnis
Acht Zeilen, davon genau eine mit Ergebnis 1.
Die Bedingung nennt für jeden Eingang einen Wert, deshalb ist von vornherein klar, dass nur eine Zeile passt.
- 2
Teil b): Ein Term je Eins-Zeile
Für die einzige Zeile mit bildet man den Term. und haben Wert 1, kommen also unverändert vor; hat Wert 0 und wird negiert.
y = t \land s \land \bar{k}
Zwischenergebnis
Ein einziger Term.
- 3
Teil c): Den Term Gatter für Gatter übersetzen
Jede Negation wird ein NOT, jedes UND ein AND mit entsprechend vielen Eingängen. Ein OR entfällt hier, weil es nur einen Term gibt.
Zwischenergebnis
NOT für , dann AND mit drei Eingängen.
Die DNF hat sonst immer drei Ebenen. Bei nur einem Term fällt die ODER-Ebene weg, und das ist kein Sonderfall, sondern der Normalfall mit einem Summanden.
- 4
Teil d): Die Tabelle ändern, nicht den Term raten
Man geht zurück in die Tabelle und trägt die neuen Einsen ein. Erst danach stellt man die DNF neu auf und vereinfacht.
(\bar{t},\bar{s},k) \lor (t,\bar{s},k) = \bar{s} \land k
Zwischenergebnis
.
Übung 3
schwera) Zeige durch eine vollständige , dass gilt. b) Vereinfache so weit wie möglich. c) (Vertiefung) Baue NOT, AND und OR allein aus NAND-Gattern und begründe damit, warum NAND funktional vollständig ist. d) Warum genügt zum Widerlegen einer Umformung eine einzige Tabellenzeile, zum Bestätigen aber nicht?
Tipp anzeigen
Zu b): Verwende , um einen Term doppelt zu benutzen.
Lösung anzeigen
a) Wahrheitstabelle:
| 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| 0 | 1 | 1 | 0 | 1 | 0 | 0 |
| 1 | 0 | 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 1 | 0 | 0 | 0 | 0 |
Die Spalten und stimmen in allen vier Zeilen überein, also gilt die Gleichung.
b) Man verwendet zweimal, was wegen erlaubt ist:
Erste Klammer: . Zweite Klammer: .
Ergebnis: .
Die Probe bestätigt es: Der Term ist genau dann 0, wenn beide 0 sind, denn diese Zeile fehlt in der Aufzählung. Und genau das leistet .
c) NOT: beide Eingänge zusammenlegen, denn .
AND: ein NAND, dahinter ein zweites NAND als NOT: .
OR: beide Eingänge einzeln negieren (je ein NAND als NOT), dann ein NAND darüber:
Begründung der Vollständigkeit: Jede Schaltfunktion lässt sich über die DNF aus NOT, AND und OR aufbauen; das gilt für jede beliebige Wahrheitstabelle. Da alle drei aus NAND bestehen, ist jede Schaltfunktion aus NAND allein aufbaubar. Der Preis sind mehr : Ein OR braucht bereits drei NAND statt eines OR.
d) Weil die beiden Aussagen logisch verschieden sind. Eine Umformung behauptet Gleichheit für alle Belegungen. Diese Behauptung ist widerlegt, sobald eine einzige Belegung sie verletzt; ein Gegenbeispiel genügt.
Umgekehrt behauptet man beim Bestätigen ebenfalls „für alle", und dafür reicht keine Auswahl von Zeilen aus. Man muss alle Belegungen prüfen, sonst könnte gerade die ungeprüfte Zeile das Gegenbeispiel enthalten. Bei zwei Variablen sind das vier Zeilen, bei drei acht.
Das ist dieselbe Asymmetrie wie beim Testen von Programmen: Ein Testlauf kann einen Fehler nachweisen, aber die Fehlerfreiheit nur belegen, wenn er alle Fälle abdeckt.
Detaillierte Schritterklärung anzeigen
Hier wird jeder Schritt einzeln erklärt, vor allem, warum er gemacht wird.
✦ Empfohlen: Standard – Die normale Erklärungstiefe passt zum Einstieg.
- 1
a) De Morgan durch spaltenweisen Vergleich beweisen
Man legt Zwischenspalten für , , , und an und vergleicht die beiden Ergebnisspalten zeilenweise. Sie stimmen in allen vier Zeilen überein. Damit gilt die Gleichung.
- 2
b) Einen Term doppelt benutzen: x ODER x = x
Der Trick: Man verwendet zweimal, was wegen erlaubt ist. Dann fasst man paarweise zusammen: Erste Klammer , zweite Klammer . Ergebnis: .
- 3
c) (Vertiefung) NOT, AND und OR aus NAND bauen
NOT: beide Eingänge zusammenlegen, denn . AND: ein NAND, dahinter ein zweites NAND als NOT: . OR: beide Eingänge einzeln negieren (je ein NAND als NOT), dann ein NAND darüber, nach De Morgan ergibt das .
- 4
d) Warum Widerlegen eine Zeile braucht und Bestätigen alle
Weil die beiden Aussagen logisch verschieden sind. Eine Umformung behauptet Gleichheit für alle Belegungen. Diese Behauptung ist widerlegt, sobald eine einzige Belegung sie verletzt, ein Gegenbeispiel genügt. Umgekehrt behauptet man beim Bestätigen ebenfalls „für alle“, und dafür reicht keine Auswahl von Zeilen: Man muss alle prüfen.
Zusammenfassung
Aus jeder lässt sich ohne Einfall eine Schaltung gewinnen: Man bildet für jede Zeile mit Ergebnis 1 einen UND-Term, in dem mit Wert 0 negiert auftreten, und verbindet alle Terme mit ODER. Das funktioniert immer, weil jeder Term genau für seine eine Zeile wahr ist, und liefert unmittelbar eine dreistufige Schaltung aus NOT, AND und OR. Weil die so entstandene Form meist unnötig groß ist und jedes Fläche, Strom und Laufzeit kostet, vereinfacht man anschließend mit den Gesetzen der Schaltalgebra; besonders nützlich ist das Zusammenfassen zweier Terme, die sich in genau einer Variablen unterscheiden, wobei erlaubt, einen Term mehrfach zu verwenden. Bei De Morgan wechselt beim Hineinziehen der Negation der Operator, was die sprachliche Probe „nicht beide heißt mindestens einer nicht" bestätigt. Schließlich lässt sich jede Schaltfunktion allein aus NAND aufbauen, weil NOT, AND und OR daraus entstehen und die DNF alles Übrige auf diese drei zurückführt.


