Logica proposizionale classica • Studia il comportamento dei connettivi proposizionali quali ∧ (“And”) e ∨ (“Or”) • Parte da una famiglia di enunciati atomici di cui non analizziamo la struttura interna, che rappresentiamo con delle lettere, di cui ci interessa conoscere solo il valore di verità • Da queste “lettere proposizionali” costruiamo enunciati più elaborati usando i connettivi proposizionali • Determinare gli enunciati composti veri a causa della loro struttura, le tautologie, e gli enunciati che sono conseguenza logica di altri 1 Linguaggio della logica proposizionale classica • insieme P = {p1, p2, p3, . . .} di lettere proposizionali • simboli di costante: ⊤ (vero) e ⊥ (falso) • connettivi proposizionali: – unari: ¬ (negazione) – binari: ∧, ∨, ⊃, ≡,... • parentesi: (,) 2 Definizione delle formule proposizionali Una formula atomica è una lettera proposizionale, ⊤ o ⊥. Indichiamo con ATProp l’insieme di tutte le formule atomiche L’insieme delle formule proposizionali Prop viene definito come il più piccolo insieme S ⊆ Σ+ che gode delle seguenti proprietà: 1. ATProp ⊆ S 2. X ∈ S ⇒ ¬X ∈ S 3. X, Y ∈ S ⇒ (X ◦ Y ) ∈ S, per ogni connettivo binario ◦ 3 Principio di induzione strutturale Metodo di dimostrazione che sfrutta la struttura induttiva delle formule Sia Q ⊆ Prop, se • CASO BASE: 1. ATProp ⊆ Q • PASSO INDUTTIVO: 2. X ∈ Q ⇒ ¬X ∈ Q 3. X, Y ∈ Q ⇒ (X ◦ Y ) ∈ Q, per ogni connettivo binario ◦ Allora Q = Prop 4 Principio di ricorsione strutturale C’è una ed una sola funzione f definita su Prop tale che CASO BASE Il valore di f è specificato esplicitamente sulle formule atomiche attraverso una funzione g : ATProp → D PASSO INDUTTIVO il valore di f su ¬X viene specificato in termini del valore di f su X attraverso una funzione f¬ : D → D il valore di f su (X ◦ Y ) viene specificato in termini dei valori di f su X e su Y mediante una funzione l : BinarySymbol × D × D → D 5 Unicità del parsing Ogni formula proposizionale è esattamente in una delle tre categorie: • Atomica • ¬X per un’unica formula proposizionale X • (X ◦ Y ) per un unico simbolo binario ◦ e formule proposizionali uniche X e Y 6 Sottoformula Le sottoformule immediate sono definite come segue: 1. Una formula atomica non ha sottoformule immediate 2. La sola sottoformula immediata di ¬X è X 3. Per un simbolo binario ◦, le sottoformule immediate di (X ◦ Y ) sono X e Y L’insieme delle sottoformule di una formula X è il più piccolo insieme S tale che: •X ∈ S • per ogni Y ∈ S, tutte le sottoformule immediate di Y sono contenute in S 7 Semantica della logica proposizionale La logica classica è a due valori. Prendiamo come spazio dei valori di verità l’insieme Tr = {t, f } Come interpretiamo ciascuno dei simboli di operazione del linguaggio? • Per la negazione assumiamo di avere una mappa ¬ : Tr → Tr data da ¬(t) = f e ¬(f ) = t • Possiamo individuare dieci connettivi. Otto primari e due secondari 8 Connettivi binari t t f f t f t f ∧ t f f f ∨ t t t f ⊃ t f t t ⊂ t t f t ↑ f t t t 9 ↓ f f f t 6⊃ f t f f 6⊂ f f t f ≡ t f f t 6≡ f t t f Valutazioni booleane Una valutazione booleana è un’applicazione v : Prop → Tr che soddisfa le condizioni 1. v(⊤) = t, v(⊥) = f 2. v(¬X) = ¬v(X) 3. v(X ◦ Y ) = v(X) ◦ v(Y ), dove ◦ sta per uno dei connettivi proposizionali Lemma Data f : {p1, p2, . . .} → Tr , esiste un’unica valutazione booleana vf tale che vf (P ) = f (P ), per ogni lettera proposizionale P . 10 Valutazioni booleane Lemma Siano S un insieme di lettere proposizionali, X una formula proposizionale coinvolgente solo lettere proposizionali in S, e v1, v2 due valutazioni booleane tali che v1(P ) = v2(P ) per ogni P ∈ S, allora v1(X) = v2(X). 11 Formula soddisfacibile, tautologia • Una formula proposizionale X è soddisfatta da una valutazione booleana v, se v(X) = t (in simboli, v |= X) • Una formula proposizionale X è soddisfacibile se v |= X, per qualche valutazione booleana v • Una formula proposizionale X è insoddisfacibile (o contraddittoria) se v 6|= X, per ogni valutazione booleana v • Una formula proposizionale X è una tautologia se v |= X, per ogni valutazione booleana v 12 Soddisfacibilità di insiemi di formule Sia S ⊆ Prop • S è soddisfatto da v se v |= X, per ogni X ∈ S (in simboli v |= S) • S è soddisfacibile se esiste v tale che v |= S • S è insoddisfacibile se v 6|= S, per ogni v • X è conseguenza logica di S (in simboli S |= X) se per ogni v tale che v |= S si ha che v |= X 13 Validità, insoddisfacibilità e conseguenza logica Lemma X è una tautologia se e solo se ¬X è insoddisfacibile Lemma S |= X se e solo se S ∪ {¬X} è insoddisfacibile Lemma S ∪ {X} |= Y se e solo se S |= X ⊃ Y Teorema della deduzione semantica X1, . . . , Xn |= Y se e solo se |= (X1 ⊃ . . . (Xn ⊃ Y )) 14 Dualità fra i connettivi binari Per la logica proposizionale classica c’è un’elegante nozione di dualità • Siano ◦ e • due operazioni binarie su Tr . Diciamo che • è il duale di ◦ se ¬(x ◦ y) = (¬x • ¬y) Esempio: ∧ è il duale di ∨ La dualità per i connettivi della logica proposizionale è simmetrica. 15 Sostituzioni Sia P una lettera proposizionale, X ed F due formule. Indichiamo P la formula che si ottiene sostituendo X a P in F . con FX sub P,X (F ) : Prop → Prop P sub P,X (F ) = FX • La formula F si può indicare come F (P ) sottolineando che P è una lettera proposizionale importante che potrebbe anche non occorrere in F . • F (X) è il risultato della sostituzione di P con X se P è presente. 16 Teorema di sostituzione Teorema di sostituzione versione I. Siano F (P ), X e Y delle formule proposizionali, e v sia una valutazione booleana. Se v(X) = v(Y ) allora v(F (X)) = v(F (Y )). Teorema di sostituzione versione II. Se X ≡ Y è una tautologia, tale è F (X) ≡ F (Y ). 17 Le forme normali • Utilizziamo i teoremi di sostituzione per la costruzione delle forme normali • Le forme normali vengono introdotte per semplificare il procedimento di verifica delle tautologie • I dimostratori automatici più efficienti non agiscono sulle formule della logica proposizionale completa, ma richiedono che ciascuna formula venga posta in forma normale • Studiemo le seguenti forme normali – forma normale negativa – forma normale congiuntiva – forma normale disgiuntiva 18 Forma normale negativa Una formula proposizionale X viene detta in forma normale negativa se gli unici simboli di negazione in X occorrono davanti alle lettere proposizionali. Ogni formula proposizionale può essere messa in forma normale negativa 19 Notazione uniforme • Per ridurre il numero di casi da considerare con i vari metodi e tecniche di dimostrazione e nelle implementazioni, conviene considerare un piccolo numero di connettivi di base e prendere gli altri come derivati. • Useremo la notazione uniforme di Smullyan che mette a disposizione un vasto insieme di connettivi senza dover considerare un gran numero di casi nelle dimostrazioni e nelle definizioni. • raggruppiamo le formule proposizionali delle forme (X ◦ Y ) e ¬(X ◦ Y ) (◦, connettivo primario) in due categorie – α-formule (congiuntive) – β-formule (disgiuntive) 20 α- formule e β-formule α α1 α2 β β1 β2 X1 ∧ X2 ¬(X1 ∨ X2) ¬(X1 ⊃ X2) ¬(X1 ⊂ X2) ¬(X1 ↑ X2) X1 ↓ X2 X1 6⊃ X2 X1 6⊂ X2 X1 ¬X1 X1 ¬X1 X1 ¬X1 X1 ¬X1 X2 ¬X2 ¬X2 X2 X2 ¬X2 ¬X2 X2 ¬(X1 ∧ X2) X1 ∨ X2 X1 ⊃ X2 X1 ⊂ X2 X1 ↑ X2 ¬(X1 ↓ X2) ¬(X1 6⊃ X2) ¬(X1 6⊂ X2) ¬X1 X1 ¬X1 X1 ¬X1 X1 ¬X1 X1 ¬X2 X2 X2 ¬X2 ¬X2 X2 X2 ¬X2 21 Altri tipi di formule Abbiamo anche: • Le formule ⊤, ⊥, P , ¬P , ¬⊤, ¬⊥. • Le formule di tipo ¬¬Z In questo modo esauriamo tutti i tipi di formule 22 Principio di induzione strutturale Sia Q ⊆ Prop. Se Caso Base: Ogni formula atomica e la sua negazione ha la proprietà Q, Passo induttivo: • se Z ha la proprietà Q, anche ¬¬Z ha la proprietà Q, • se α1 ed α2 hanno la proprietà Q, anche α ha la proprietà Q, • se β1 e β2 hanno la proprietà Q, anche β ha la proprietà Q, allora Q = Prop. 23 Principio di ricorsione strutturale Sia B = ATProp ∪ ¬ATProp, D 6= ∅ e •g : B → D • h¬¬ : D → D • lα : D × D → D • lβ : D × D → D esiste unica f : Prop → D tale che • f (X) = g(X), X ∈ B • f (¬¬X) = h¬¬(f (X)), X ∈ Prop • f (α) = lα(f (α1), f (α2)), α, α1, α2 ∈ Prop • f (β) = lβ (f (β1), f (β2)), β, β1, β2 ∈ Prop 24 Congiunzioni e disgiunzioni generalizzate Sia X1, . . . , Xn una lista di formule proposizionali (possibilmente vuota). • [X1, . . . , Xn] è la disgiunzione generalizzata di X1, . . . , Xn • hX1, . . . , Xni è la congiunzione generalizzata di X1, . . . , Xn Semantica Se v è una valutazione booleana, in aggiunta alle altre condizioni richiediamo che • v([X1, . . . , Xn]) = t ⇔ esiste un i ∈ {1, . . . , n} tale che v(Xi) = t • v(hX1, . . . , Xni) = t ⇔ per ogni i ∈ {1, . . . , n}, v(Xi) = t 25 Letterali, clausole, formule normali • Un letterale è una lettera proposizionale, o la sua negazione, o una delle costanti ⊤, ⊥ (Lit = ATProp ∪ ¬P) • Una clausola è una disgiunzione generalizzata [X1, . . . , Xn] in cui ogni membro è un letterale • Una clausola duale è una congiunzione generalizzata hX1, . . . , Xni in cui ogni membro è un letterale • Una CNF (Conjunctive Normal Form) è una congiunzione generalizzata di clausole hC1, . . . , Cni • Una DNF (Disjunctive Normal Form) è una disgiunzione generalizzata di clausole duali [D1, . . . , Dn] 26