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 • Sapere quali enunciati composti sono veri a causa della loro struttura: le tautologie, e quali enunciati 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 Definizione di funzioni per induzione Sia A ⊆ U definito induttivamente dalla base B e dall’insieme di costruttori K. Sia V un insieme arbitrario. Associamo • ad ogni elemento a ∈ B un elemento h(a) ∈ V • ad ogni costruttore r ⊆ U n × U ∈ K, (n ≥ 1), una funzione h(r) : V n → V 6 Definizione di funzioni per induzione (ctnd.) Una definizione induttiva di una funzione g : A → V viene data da a) g(a) = h(a) per ogni elemento a ∈ B b) g(a) = h(r)(g(a1), . . . , g(an)) cioé (a, h(r)(b1, . . . , bn)) ∈ g se (a1, b1), . . . , (an, bn) ∈ g per tutti gli r ⊆ U n × U, e a1, . . . , an ∈ A con ((a1, . . . , an), a) ∈ r Questa definizione è consistente solo se ad ogni a ∈ A viene assegnato esattamente un valore mediante a) oppure b) (cioé se g è una funzione) Se questa condizione viene soddisfatta diciamo che g è ben definita 7 Definizione di funzioni per induzione (ctnd 1.) Teorema di ricorsione Se la definizione induttiva di un insieme A mediante l’insieme base B e l’insieme dei costruttori K è libera, allora la funzione g : A → V definita induttivamente come nella definizione precedente è ben definita 8 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 9 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 10 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 11 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 12 ↓ 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 . 13 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). 14