Esercizi sulla logica proposizionale
In questo articolo vediamo alcune formule e le loro possibili assegnazioni di valori di verità, usando il metodo della tavola di verità.
Primo esercizio
Cerchiamo di capire quando questa formula è vera: ϕ = (p ∧ q) ∨ ¬q. Scriviamo nella tavola le variabili proposizionali p e q:
Poi aggiungiamo alla tavola la prima parte della formula, (p ∧ q), la negazione ¬q e infine l’intera formula:
Ora calcoliamo i valori della terza colonna, cioè una semplice congiunzione, e anche quelli della negazione: qui basta scrivere i valori opposti a quelli della seconda colonna:
Infine calcoliamo i valori dell’ultima colonna, che corrisponde all’intera formula. Nella nostra tavola si tratta quindi di calcolare la disgiunzione «tra la terza e la quarta colonna». Risultato:
Secondo esercizio
Stessa consegna, formula diversa: ϕ = (p ∧ ¬q) ⇔ (¬p ⇒ q). Vediamo che nella formula compaiono le variabili proposizionali p e q e le loro negazioni. Per prima cosa costruiamo quindi una tavola con le due variabili e le loro negazioni:
Poi aggiungiamo le formule p ∧ ¬q e ¬p ⇒ q, che ora sappiamo valutare facilmente, perché nella tavola abbiamo sia i valori delle singole proposizioni sia quelli delle loro negazioni. La tavola si presenta così:
Per ultima ci resta da valutare l’intera formula, che è un’equivalenza tra le ultime due colonne:
Terzo esercizio
Il terzo esercizio è un po’ più complicato: proviamo con tre variabili proposizionali, per cui il calcolo della tavola diventa più laborioso. La formula è la seguente: ϕ = (¬(p ⇒ q)) ∧ (r ⇔ (¬p ∨ q)).
Poiché ci sono tre variabili proposizionali, il numero totale delle possibili assegnazioni di valori è otto:
Da qui in poi procediamo come nel caso precedente: valutiamo ogni colonna in tutte e otto le righe. L’intera tavola si presenta così:
Quarto esercizio
Questo esercizio non è dato come una semplice formula, ma come un problema espresso a parole. Tre amici vogliono andare a una festa scatenata, ma non vanno molto d’accordo e pongono delle condizioni per andarci. Si chiamano Marco, Giacomo e Pietro. Le regole sono le seguenti:
- Se va Marco, va anche Giacomo.
- Alla festa viene Pietro oppure, se viene Marco, non viene Giacomo.
- Pietro viene se e solo se non viene Marco o non viene Giacomo.
La domanda è: possono andare tutti alla festa? Se no, chi può andarci senza violare nessuna regola?
Per prima cosa dobbiamo riscrivere le affermazioni a parole usando variabili proposizionali e formule. Indichiamo quindi le variabili proposizionali con M, G e P (Marco, Giacomo, Pietro); ognuna indicherà una proposizione del tipo «Marco va alla festa». La prima regola si può scrivere così: M ⇒ G — «se M, allora G», cioè «se Marco va alla festa, allora Giacomo va alla festa».
La seconda regola la scriviamo così. La regola comincia con la frase «Alla festa viene Pietro oppure…», quindi ci servirà evidentemente una disgiunzione. Per ora scriviamo: P ∨ … La parte successiva della frase dice: «se viene Marco, non viene Giacomo». Questa è un’implicazione, in cui a destra dobbiamo usare anche una negazione. «Non viene Giacomo» = ¬G. L’intera implicazione si scrive così: M ⇒ ¬G. La colleghiamo alla disgiunzione precedente: P ∨ (M ⇒ ¬G).
La terza regola la riscriviamo così: partiamo da «Pietro viene se e solo se». Questo indica un’equivalenza: P ⇔ … Poi abbiamo «non viene Marco o non viene Giacomo», che scriviamo così: ¬M ∨ ¬G. Mettendo tutto insieme: (P ⇔ (¬M ∨ ¬G)).
Ora inseriamo tutte le formule nella tavola e calcoliamo i valori:
La domanda era se tutti e tre i ragazzi possono andare alla festa. La risposta si trova nella prima riga, che corrisponde al caso in cui vanno tutti: lo indicano i tre 1 nelle prime tre colonne. Sono soddisfatte tutte le condizioni? La prima sì (quarta colonna), anche la seconda (quinta colonna), ma l’ultima no (ultima colonna), dove c’è uno zero. Questo significa che, se vanno tutti e tre, la terza condizione non è soddisfatta.
Cerchiamo quindi le righe in cui nelle posizioni che rappresentano le condizioni (cioè nelle ultime tre colonne) ci sono solo 1. Un 1 significa che la condizione è soddisfatta. Vediamo che ciò accade in due casi: quando vanno Giacomo e Pietro ma non Marco, e quando va solo Pietro.
Puoi calcolarlo anche aggiungendo alla tavola la formula ϕ, che sarà la congiunzione delle tre condizioni. Avremo quindi: ϕ = ((M ⇒ G) ∧ (P ∨ (M ⇒ ¬G)) ∧ (P ⇔ (¬M ∨ ¬G))). Questa formula esprime ciò che vogliamo: che tutte le formule (tutte le condizioni) siano soddisfatte. La tavola si presenta quindi così:
Altri esercizi sul metodo della tavola di verità
Dato che ho scritto un programma che costruisce automaticamente l’intera tavola a partire da una formula, devo sfruttarlo a dovere, e quindi seguono ancora alcune formule svolte:
Formula: ((a ∧ ¬b) ∨ (b ∧ (b ⇒ a))). Tavola:
Formula: (a ∨ ¬a) ⇔ (b ∧ ¬b). Tavola:
Formula: ¬(a ∨ b) ⇔ (¬b ∧ ¬a). Tavola:
Formula: ϕ = (¬p ⇔ (q ∧ r)) ⇒ (p ∨ ¬(p ∧ q)). Tavola:
Formula: ϕ = ¬(p ⇔ ¬q) ∧ (r ⇒ ¬p) ∧ (p ∨ r). Tavola:
Capitoli: Logica proposizionale, Valore di verità delle formule, Esercizi sulla logica proposizionale