Salute e malattia

Negazione Logica: Capire "Non O"

In logica formale, la negazione è l'operazione che inverte il valore di verità di una proposizione. Se o è un enunciato, la sua negazione è «non o» (simboli: ¬o, ~o, o′, o !o in programmazione).

Tavola di Verità

o¬o
VeroFalso
FalsoVero

Esempi Quotidiani

  • o = «Piove.» → ¬o = «Non piove.»
  • o = «La porta è aperta.» → ¬o = «La porta non è aperta.» (cioè chiusa)
  • o = «x > 5» → ¬o = «x ≤ 5»
  • o = «Tutti gli uccelli volano.» → ¬o = «Non tutti gli uccelli volano.» (∃ uccello che non vola)

Leggi Logiche Chiave Coinvolgenti Negazione

Leggi di De Morgan

  • ¬(A ∧ B) ≡ ¬A ∨ ¬B («Non (A e B)» = «Non A o Non B»)
  • ¬(A ∨ B) ≡ ¬A ∧ ¬B («Non (A o B)» = «Non A e Non B»)

Doppia Negazione

  • ¬(¬o) ≡ o (la negazione si annulla)

Contraddizione e Tautologia

  • o ∧ ¬o ≡ Falso (contraddizione — sempre falso)
  • o ∨ ¬o ≡ Vero (legge del terzo escluso — sempre vero)

Implicazione e Negazione

  • o → p ≡ ¬o ∨ p
  • Contropositiva: (o → p) ≡ (¬p → ¬o)

Negazione in Programmazione

  • Maggior parte linguaggi: !condition (C, Java, Python, JS, ecc.)
  • SQL: NOT condition
  • Shell: ! command (history expansion) o [[ ! condition ]]
  • Espressioni regolari: [^abc] (classe caratteri negata), (?!pattern) (negative lookahead)

Negazione Quantificatori

  • ¬(∀x P(x)) ≡ ∃x ¬P(x) («Non tutti» = «Esiste non»)
  • ¬(∃x P(x)) ≡ ∀x ¬P(x) («Non esiste» = «Tutti non»)

La negazione è l'operatore logico più semplice ma fondante per ragionamento, dimostrazione, computazione, comunicazione precisa. Padroneggiarne il comportamento — specialmente con quantificatori e enunciati composti — affina il pensiero across discipline.