In der formalen Logik ist Negation die Operation, die den Wahrheitswert einer Proposition umkehrt. Wenn o eine Aussage ist, ist ihre Negation „nicht o“ (Symbole: ¬o, ~o, o′, oder !o in der Programmierung).
Wahrheitstafel
| o | ¬o |
| Wahr | Falsch |
| Falsch | Wahr |
Alltägliche Beispiele
- o = „Es regnet.“ → ¬o = „Es regnet nicht.“
- o = „Die Tür ist offen.“ → ¬o = „Die Tür ist nicht offen.“ (d. h. geschlossen)
- o = „x > 5“ → ¬o = „x ≤ 5“
- o = „Alle Vögel fliegen.“ → ¬o = „Nicht alle Vögel fliegen.“ (∃ ein Vogel, der nicht fliegt)
Wichtige logische Gesetze mit Negation
De Morgens Gesetze
- ¬(A ∧ B) ≡ ¬A ∨ ¬B („Nicht (A und B)“ = „Nicht A oder Nicht B“)
- ¬(A ∨ B) ≡ ¬A ∧ ¬B („Nicht (A oder B)“ = „Nicht A und Nicht B“)
Doppelte Negation
- ¬(¬o) ≡ o (Negation hebt sich auf)
Widerspruch und Tautologie
- o ∧ ¬o ≡ Falsch (Widerspruch – immer falsch)
- o ∨ ¬o ≡ Wahr (Gesetz vom ausgeschlossenen Dritten – immer wahr)
Implikation und Negation
- o → p ≡ ¬o ∨ p
- Kontraposition: (o → p) ≡ (¬p → ¬o)
Negation in der Programmierung
- Die meisten Sprachen:
!condition (C, Java, Python, JS, usw.) - SQL:
NOT condition - Shell:
! command (Historie-Expansion) oder [[ ! condition ]] - Reguläre Ausdrücke:
[^abc] (negierte Zeichenklasse), (?!pattern) (negativer Lookahead)
Quantornegation
- ¬(∀x P(x)) ≡ ∃x ¬P(x) („Nicht alle“ = „Es existiert nicht“)
- ¬(∃x P(x)) ≡ ∀x ¬P(x) („Es existiert nicht“ = „Alle sind nicht“)
Negation ist der einfachste logische Operator, doch grundlegend für Argumentation, Beweis, Berechnung und präzise Kommunikation. Das Verständnis seines Verhaltens – besonders mit Quantoren und zusammengesetzten Aussagen – schärft das Denken über Disziplinen hinweg.