La Logica della Negazione: Guida Pratica per Smascherare le Falsità (con 6 Esercizi Progressivi)

Cerca nel sito

Altri risultati..

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Cerca nelle Categorie

esercizi logica formale con soluzioni

Se non studi, non passi l’esame”. La negazione di questa frase sembra ovvia: “Se studi, passi l’esame”. Eppure, questa è una delle trappole più comuni in cui il nostro intuito cade.


La logica, quella vera, funziona in modo diverso, più rigoroso.

Questo non è un esercizio accademico fine a se stesso. È il bisturi che ci permette di incidere la realtà e separare un’affermazione valida da un cavillo nascosto in un contratto, un bug subdolo in una stringa di codice o una promessa di marketing volutamente ambigua.

In questa guida, non troverai teoria astratta, ma sei sfide concrete. Partiremo da una semplice promessa e arriveremo a smontare complesse garanzie di sistema, un passo alla volta.

L’obiettivo? Fornirti gli strumenti per non dare mai più per scontato il significato di un “non”, di un “tutti” o di un “almeno uno.

──────────────────────────────────────
ESERCIZIO 1 – Facile (Negazione di proposizione semplice)
──────────────────────────────────────

Un’agenzia di viaggi promette: «Se il volo è in orario, offriamo un buono da 50 €».
Scrivi la negazione logica della frase, usando linguaggio naturale e senza usare «è falso che…».

Soluzione guidata

  1. Formalizziamo
    • [math]p[/math] : «Il volo è in orario»
    • [math]q[/math] : «L’agenzia offre il buono da 50 €»

    La promessa è [math]p \to q[/math].

  2. Ricordiamo la regola di negazione dell’implicazione:[math]\displaystyle \neg(p \to q) \equiv p \land \neg q[/math](Legge di De Morgan per l’implicazione: l’implicazione è falsa solo quando l’antecedente è vero e il conseguente è falso).
  3. Traduzione in linguaggio naturale:
    «Il volo è in orario e l’agenzia non offre il buono da 50 €».
💡 Osservazione
Questo è il classico contesto di «promessa rotta»: la promessa si rompe solo quando la condizione ([math]p[/math]) si verifica ma il premio ([math]q[/math]) non viene dato.

Mini-quiz di consolidamento

Quale proprietà hai usato per trasformare [math]\neg(p \to q)[/math]?
Risposta breve: l’equivalenza [math]\neg(p \to q) \equiv p \land \neg q[/math].

──────────────────────────────────────
ESERCIZIO 2 – Medio-facile (Negazione con quantificatore universale)
──────────────────────────────────────

Un sito di e-commerce dichiara: «Tutti i prodotti della categoria “Outdoor” sono disponibili in magazzino».
Formula la negazione in modo chiaro per un cliente.

Soluzione guidata

  1. Formalizziamo
    • Dominio: [math]P = \{\text{prodotti della categoria Outdoor}\}[/math].
    • [math]D(p)[/math]: «[math]p[/math] è disponibile in magazzino».

    L’affermazione è [math]\forall p \in P,\; D(p)[/math].

  2. Negazione di un quantificatore universale:[math]\displaystyle \neg \forall p \in P,\; D(p) \equiv \exists p \in P,\; \neg D(p)[/math].
  3. Traduzione naturale:
    «Esiste almeno un prodotto della categoria Outdoor che non è disponibile in magazzino».
💡 Osservazione
La frase negata non dice quanti prodotti mancano: anche uno solo basta a rendere falsa l’originale.

Mini-quiz

Cosa cambierebbe se la frase fosse «Almeno un prodotto Outdoor è disponibile»?
Risposta: la negazione diventerebbe «Nessun prodotto Outdoor è disponibile».

──────────────────────────────────────
ESERCIZIO 3 – Medio (Doppia negazione e quantificatore esistenziale)
──────────────────────────────────────

Un’app di car sharing asserisce:
«Non esiste alcun orario in cui non ci sia almeno una macchina libera nel raggio di 1 km».
Semplifica la frase eliminando le negazioni e verifica se il significato cambia.

Soluzione guidata

  1. Formalizziamo
    • Dominio: [math]T = \{\text{orari}\}[/math].
    • [math]L(t)[/math]: «esiste almeno una macchina libera entro 1 km all’orario [math]t[/math]».

    L’affermazione è [math]\neg \exists t \in T,\; \neg L(t)[/math].

  2. Applicazione doppia negazione:[math]\displaystyle \neg \exists t,\; \neg L(t) \equiv \forall t,\; L(t)[/math].
  3. Traduzione semplificata:
    «In ogni orario c’è almeno una macchina libera entro 1 km».
💡 Osservazione
La doppia negazione si è trasformata in quantificatore universale positivo; il significato non cambia, ma la frase risulta più diretta.

Mini-quiz

Quale legge logica hai applicato per passare da [math]\neg \exists t,\; \neg L(t)[/math] a [math]\forall t,\; L(t)[/math]?
Risposta: legge di De Morgan generalizzata per i quantificatori.

──────────────────────────────────────
ESERCIZIO 4 – Medio-difficile (Negazione di implicazione con quantificatori)
──────────────────────────────────────

Un’azienda di cybersecurity dichiara:
«Per ogni dipendente, se il suo badge è stato usato dopo le 20:00, allora è stato registrato un evento di sicurezza».
Negate la frase e spiegate a un tecnico quando l’affermazione è falsa.

Soluzione guidata

  1. Formalizziamo
    • Dominio: [math]D = \{\text{dipendenti}\}[/math].
    • [math]B(x)[/math]: «il badge del dipendente [math]x[/math] è stato usato dopo le 20:00».
    • [math]S(x)[/math]: «è stato registrato un evento di sicurezza relativo a [math]x[/math]».

    L’affermazione è [math]\forall x \in D,\; (B(x) \to S(x))[/math].

  2. Negazione:[math]\displaystyle
    \begin{aligned}
    \neg \forall x,\; (B(x) \to S(x)) &\equiv \exists x,\; \neg (B(x) \to S(x)) \\
    &\equiv \exists x,\; \bigl(B(x) \land \neg S(x)\bigr).
    \end{aligned}
    [/math]
  3. Traduzione operativa:
    «Esiste almeno un dipendente il cui badge è stato usato dopo le 20:00 e non è stato registrato alcun evento di sicurezza».
💡 Osservazione strategica
Per dimostrare che l’affermazione dell’azienda è falsa basta trovare un solo contro-esempio.

Mini-quiz

Perché basta un solo dipendente per rendere falsa l’intera affermazione?
Risposta: perché il quantificatore universale è negato, e la negazione diventa esistenziale.

──────────────────────────────────────
ESERCIZIO 5 – Difficile (Negazione di formula con due quantificatori)
──────────────────────────────────────

Un algoritmo di raccomandazione musicale garantisce:
«Per ogni utente esiste almeno una playlist tale che, se l’utente la ascolta per più di 30 minuti, allora l’algoritmo proporrà almeno un brano nuovo».
Negate la frase e spiegate quando l’algoritmo non rispetta la garanzia.

Soluzione guidata

  1. Formalizziamo
    • Dominio utenti: [math]U[/math].
    • Dominio playlist: [math]P[/math].
    • [math]A(u,p)[/math]: «l’utente [math]u[/math] ascolta la playlist [math]p[/math] per più di 30 minuti».
    • [math]N(u,p)[/math]: «l’algoritmo propone almeno un brano nuovo a [math]u[/math] dopo l’ascolto di [math]p[/math]».

    L’affermazione è [math]\forall u \in U,\; \exists p \in P,\; (A(u,p) \to N(u,p))[/math].

  2. Negazione:[math]\displaystyle
    \begin{aligned}
    \neg \forall u,\exists p,\,(A \to N)
    &\equiv \exists u,\neg \exists p,\,(A \to N) \\
    &\equiv \exists u,\forall p,\neg (A \to N) \\
    &\equiv \exists u,\forall p,\bigl(A(u,p) \land \neg N(u,p)\bigr).
    \end{aligned}
    [/math]
  3. Traduzione finale:
    «Esiste almeno un utente per cui tutte le playlist, se le ascolta per più di 30 minuti, non riceverà alcun brano nuovo».
💡 Osservazione strategica
Il passaggio da «esiste» a «per tutti» è cruciale: l’algoritmo viola la garanzia se un singolo utente resta «escluso» da tutte le playlist.

Mini-quiz

Cosa succede se la garanzia fosse invece «Esiste una playlist che per ogni utente…»?
Risposta: la negazione avrebbe forma diversa ([math]\neg \exists p \forall u \dots \equiv \forall p \exists u \dots[/math]), cambiando completamente il significato.

──────────────────────────────────────
ESERCIZIO 6 – Molto difficile (Catena di quantificatori e negazioni)
──────────────────────────────────────

Un sistema di prenotazione aereo asserisce:
«Non esiste alcuna tratta per cui tutti i voli di domani abbiano almeno un posto disponibile in economy».
Trasforma la frase in forma positiva (senza negazioni) e verifica l’equivalenza.

Soluzione guidata

  1. Formalizziamo
    • Dominio tratte: [math]T[/math].
    • Dominio voli: [math]V(t) = \{\text{voli di domani sulla tratta } t\}[/math].
    • [math]D(v)[/math]: «il volo [math]v[/math] ha almeno un posto disponibile in economy».

    L’affermazione è [math]\neg \exists t \in T,\; \forall v \in V(t),\; D(v)[/math].

  2. Eliminazione negazioni:[math]\displaystyle
    \begin{aligned}
    \neg \exists t\,\forall v\,D(v)
    &\equiv \forall t \in T,\; \neg \forall v \in V(t),\; D(v) \\
    &\equiv \forall t \in T,\; \exists v \in V(t),\; \neg D(v).
    \end{aligned}
    [/math]
  3. Traduzione positiva:
    «Per ogni tratta esiste almeno un volo di domani senza posti disponibili in economy».
💡 Osservazione finale
La trasformazione evidenzia che il sistema non offre disponibilità ovunque, ma almeno un volo per tratta è esaurito in economy.

Mini-quiz finale

Quante negazioni sono state eliminate?
Risposta: due (una iniziale [math]\neg \exists[/math] e una [math]\neg \forall[/math]), applicando due volte le leggi di De Morgan per i quantificatori.

────────────────────────────────────────
Sintesi finale
────────────────────────────────────────

  • Negazione di implicazione: [math]\neg(A \to B) \equiv A \land \neg B[/math].
  • Negazione quantificatori: [math]\neg \forall \equiv \exists \neg[/math] e [math]\neg \exists \equiv \forall \neg[/math].
  • Doppia negazione: [math]\neg \neg A \equiv A[/math].
  • Contro-esempio: basta un caso per falsificare universali.

Commenti Applicativi

ESERCIZIO 1 – Facile (Negazione di proposizione semplice)

 ¬(p → q) è equivalente a p ∧ ¬q.

Commento Applicativo:

Questo esercizio è fondamentale perché smaschera l’errore più comune nel ragionamento quotidiano. Istintivamente, molti negherebbero “Se A, allora B” con “Se non A, allora non B”, che è un errore logico noto come negazione dell’antecedente. Questo esercizio costringe a focalizzarsi sull’unico caso che invalida una promessa: la condizione si avvera, ma il risultato promesso no.

Contesto Reale: È il cuore dell’analisi dei contratti e degli SLA (Service Level Agreement). Se un provider garantisce “Se il server è offline per più di 1 ora, ti rimborsiamo”, l’unica violazione si ha quando il server è effettivamente offline per più di un’ora E il rimborso non arriva. Tutti gli altri casi (server online, server offline per 30 min, etc.) non violano l’accordo.


ESERCIZIO 2 – Medio-facile (Negazione con quantificatore universale)

¬(∀p, D(p)) è equivalente a ∃p, ¬D(p).

Commento Applicativo:

Illustra il potere del contro-esempio. Per demolire un’affermazione universale (“tutti sono…”, “sempre succede che…”), non serve dimostrare il contrario universale (“nessuno è…”, “mai succede che…”). Basta trovare una sola, singola eccezione.

Contesto Reale: Questo è il principio base del testing e debugging nel software. Se un programmatore afferma “Tutti gli input vengono gestiti correttamente”, al tester basta trovare un solo input che causa un crash per falsificare l’affermazione e aprire un bug report. È anche il fondamento del principio di falsificabilità di Popper nella scienza.


ESERCIZIO 3 – Medio (Doppia negazione e quantificatore esistenziale)

¬(∃t, ¬L(t)) è equivalente a ∀t, L(t).

Commento Applicativo:

Questo esercizio mostra come il linguaggio volutamente complesso e pieno di negazioni possa essere usato per nascondere un’affermazione semplice e forte. La frase originale suona debole e contorta, ma una volta semplificata rivela una garanzia potentissima: “Sempre, a ogni ora, c’è una macchina”.

Contesto Reale: È un classico del linguaggio legale e burocratico. Frasi come “Non è possibile escludere che non si siano verificate le condizioni per…” vengono usate per creare ambiguità. Saperle ridurre a una forma positiva (“È possibile che si siano verificate le condizioni”) è cruciale per la chiarezza e per capire le reali implicazioni di un documento.


 

ESERCIZIO 4 – Medio-difficile (Negazione di implicazione con quantificatori)

¬(∀x, (B(x) → S(x))) è equivalente a ∃x, (B(x) ∧ ¬S(x)).

Commento Applicativo:

Combina le due sfide precedenti. Non basta più trovare un’eccezione qualsiasi; bisogna trovare un’eccezione che soddisfi una condizione specifica (badge usato dopo le 20) ma che fallisca la conseguenza attesa (nessun evento di sicurezza).

Contesto Reale: È il processo mentale esatto di un analista di sicurezza informatica o di un revisore di conformità. Per verificare se una policy di sicurezza è violata, non si cercano dipendenti a cui non è successo nulla. Si cerca attivamente quel singolo caso in cui si è verificato il trigger (l’evento B(x)) ma non l’azione richiesta (S(x)). È la ricerca della “pistola fumante”.


 

ESERCIZIO 5 – Difficile (Negazione di formula con due quantificatori)

 ¬(∀u ∃p, (A→N)) è equivalente a ∃u ∀p, (A ∧ ¬N).

Commento Applicativo:

Qui la complessità aumenta a causa dell’inversione dei quantificatori: il ∀ (per ogni) diventa ∃ (esiste), e l’ ∃ diventa ∀. Questo scambio è contro-intuitivo ma potentissimo. La garanzia originale prometteva una “soluzione su misura” per ogni utente. La sua negazione descrive uno scenario di fallimento sistemico per un utente specifico: esiste un utente sfortunato per il quale nessuna playlist riesce a soddisfare la promessa.

Contesto Reale: Questo tipo di logica è essenziale nella progettazione di sistemi complessi e algoritmi di raccomandazione (come Netflix o Spotify). Una garanzia come quella nell’esercizio è una user experience promise. La sua negazione definisce uno scenario di fallimento critico da evitare: l’esistenza di un utente per cui l’intero sistema è inefficace. Trovare questo “utente sfortunato” è un obiettivo chiave nel testing di usabilità su larga scala.


 

ESERCIZIO 6 – Molto difficile (Catena di quantificatori e negazioni)

¬(∃t ∀v, D(v)) è equivalente a ∀t ∃v, ¬D(v).

Commento Applicativo:

Come nell’esercizio 3, si parte da una frase negativa e contorta. La semplificazione, però, non porta a una garanzia forte e positiva, ma a una constatazione più sottile e realistica. La frase originale sembra dire che “la disponibilità totale non esiste”. La versione positiva chiarisce il vero stato del sistema: “Su ogni singola tratta, c’è almeno un volo pieno”.

Contesto Reale: Questa logica è fondamentale nella gestione delle risorse, logistica e ottimizzazione. La frase positiva descrive un sistema sotto pressione o ottimizzato per la massima occupazione. Non dice che tutti i voli sono pieni, ma che la “saturazione” è un fenomeno distribuito e garantito su ogni tratta. Un manager di una compagnia aerea potrebbe usare questa affermazione per giustificare la necessità di aggiungere nuovi voli o per dimostrare l’efficienza del sistema di booking.

(289)

PubblicitàPubblicità

Ti potrebbe interessare anche:  Perché "Questa frase è falsa" è un paradosso? Guida completa con esercizi risolti