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.
Prima un breve Ripasso
- • Biancaneve e la logica
- • Logica proposizionale: enunciati e connettivi logici
- • Logica: negazione e quantificatori (esercizi svolti)
- • Metti alla prova la tua logica: tre esercizi con soluzioni
- • Raccolta di quesiti di logica numerica per test di ammissione
- • Logica proposizionale e predicativa – guida completa
──────────────────────────────────────
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
- 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].
- 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).
- Traduzione in linguaggio naturale:
«Il volo è in orario e l’agenzia non offre il buono da 50 €».
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
- 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].
- Negazione di un quantificatore universale:[math]\displaystyle \neg \forall p \in P,\; D(p) \equiv \exists p \in P,\; \neg D(p)[/math].
- Traduzione naturale:
«Esiste almeno un prodotto della categoria Outdoor che non è disponibile in magazzino».
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
- 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].
- Applicazione doppia negazione:[math]\displaystyle \neg \exists t,\; \neg L(t) \equiv \forall t,\; L(t)[/math].
- Traduzione semplificata:
«In ogni orario c’è almeno una macchina libera entro 1 km».
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
- 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].
- 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] - Traduzione operativa:
«Esiste almeno un dipendente il cui badge è stato usato dopo le 20:00 e non è stato registrato alcun evento di sicurezza».
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
- 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].
- 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] - Traduzione finale:
«Esiste almeno un utente per cui tutte le playlist, se le ascolta per più di 30 minuti, non riceverà alcun brano nuovo».
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
- 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].
- 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] - Traduzione positiva:
«Per ogni tratta esiste almeno un volo di domani senza posti disponibili in economy».
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)
Altri articoli nella categoria "Logica"
- Invarianti e monovarianti: come risolvere problemi matematici con 6 esercizi
- Perché “Questa frase è falsa” è un paradosso? Guida completa con esercizi risolti
- Calcolo del Rapporto tra Aree in un Quadrato: Perché Angoli Uguali non Generano Spazi Uguali
- Teoria degli Insiemi Spiegata: Guida con Esercizi per Superare il Test d’Ingresso
- Logica Proposizionale e Predicativa: Guida Completa per Informatica e AI
- Guida Completa alla Logica Matematica: Proposizioni, Connettivi ed Esercizi Svolti
- Logica Matematica: 11 Esercizi Risolti e Spiegati (da Facile a Difficile)
- Metti alla Prova la Tua Logica: Tre Esercizi con Soluzioni Spiegate Passo a Passo
- A Occhio e Croce con Fermi: L’Arte di Stimare l’Impossibile
- Esercizi di calcolo combinatorio: i possibili risultati di una squadra di calcio