Eine Wahrheitstabelle legt jede mögliche Kombination von wahren/falschen Werten für die Variablen eines logischen Ausdrucks dar und zeigt die resultierende Ausgabe für jede einzelne an – die Grundlage der Aussagenlogik, des Entwurfs digitaler Schaltkreise und formaler Beweise. Dieser Rechner erstellt diese Tabelle für jeden von Ihnen eingegebenen Ausdruck mithilfe eines sicheren, handgeschriebenen Parsers anstelle einer dynamischen Code-Ausführungsverknüpfung und klassifiziert das Ergebnis automatisch als Tautologie, Widerspruch oder Kontingenz.
So funktioniert der Rechner
Ihr Ausdruck wird in einen kleinen Analysebaum eingelesen, der bereits die Operatorpriorität kodiert: NOT bindet am engsten, dann AND, dann XOR, dann OR, dann IMPLIES und schließlich IFF (das Bikonditional), das am lockersten bindet – dieselbe Konvention, die in den meisten Logiklehrbüchern verwendet wird. Jede einzelne aus einem Buchstaben bestehende Variable wird automatisch erfasst, und der Rechner generiert alle 2ⁿ möglichen Wahr/Falsch-Kombinationen für n Variablen und wertet den Analysebaum einmal pro Zeile aus. Es wird nirgends eval() oder dynamische Codeausführung verwendet – der Parser erkennt nur Variablen, die unterstützten Operatoren und Klammern, sodass nichts, was Sie eingeben, als Code ausgeführt werden kann.
Lesen der Eingabesyntax
Variablen müssen aus einzelnen Buchstaben bestehen (A, B, C…), und Operatoren können auf drei Arten eingegeben werden: als Schlüsselwort (AND, OR, NOT, XOR, IMPLIES oder THEN, IFF), als ASCII-Alias (&&, ||, !, ->, <->) oder als formales Symbol (∧ ∨ ¬ ⊕ → ↔) – alle drei Formen können im gleichen Ausdruck frei gemischt werden. Klammern überschreiben die Standardpriorität genau wie in der Arithmetik, sodass A OR (B AND NOT C) und (A OR B) AND NOT C unterschiedliche Tabellen erzeugen.
Grenzen und Randfälle
Der Parser lehnt alles ab, was keine aus einem Buchstaben bestehende Variable, kein unterstützter Operator oder keine Klammer ist – Bezeichner mit mehreren Buchstaben (wie foo) geben einen eindeutigen Fehler aus und werden nicht stillschweigend ignoriert, da nur einzelne Buchstaben als Variablen behandelt werden. Um die Lesbarkeit der Tabelle und die sofortige Berechnung zu gewährleisten, sind Ausdrücke auf 8 verschiedene Variablen (256 Zeilen) und 300 Zeichen begrenzt. Das Überschreiten eines dieser Grenzwerte gibt einen Klartextfehler statt einer falschen oder abgeschnittenen Tabelle zurück.