14. Come interpretare unicità? l uguaglianza Problema: vogliamo formalizzare in logica classica 1. Tutti sono uguali. 2. Ce ne sono due diversi. 3. Per ognuno c è qualcuno di diverso da lui. 4. Marcello ha un unica laurea L(x,y)= x è una laurea di y m=marcello 5. Il programma fattoriale su input 2 dà un unico output. O(x, y, z)= il programma y su input z dà output il numero x f=il programma fattoriale 2= due 6. Certi potenti pensano solo a se stessi O(x)= x è potente P(x,y)=x pensa a y Regole dell uguaglianza: Σ, t ter = s ter, Γ(t ter ) (t ter ), Σ, Γ(s ter ), t ter = s ter (s ter ), Come usare le regole di uguaglianza? Nella regola = S = ax Γ t ter = t ter, Σ, t ter = s ter, Γ(t ter ) (t ter ), Σ, Γ(s ter ), t ter = s ter (s ter ), = S dall alto verso il basso: NON TUTTE le occorrenze di t ter DEVONO essere rimpiazzate s ter dal basso verso l alto: NON TUTTE le occorrenze di s ter DEVONO essere rimpiazzate t ter. 1
Esempio 1: Se vogliamo derivare la simmetria dell uguaglianza t = s s = t in LC = si può applicare la regola = S in tal modo: si identifichi Σ Γ(x) (x) x = t e quindi si ha che (t) t = t (s) s = t e dunque il sequente si può derivare in tal modo: = ax t = s t = t t = s s = t = S Esempio 2: Se vogliamo derivare la transitività dell uguaglianza t = u, u = s t = s in LC = si può applicare la regola = S in tal modo: si identifichi Σ t = u Γ(x) (x) t = x e quindi si ha che (u) t = u (s) t = s e dunque il sequente si può derivare in tal modo: ax id t = u, u = s t = u t = u, u = s t = s = S Esercizi su uguaglianza Provare se le formalizzazioni nella prima pagina danno luogo a tautologie o paradossi, ovvero sono derivabili i sequenti dati o le loro negazioni assumendo che la negazione di un sequente predicativo SENZA variabili libere è il sequente Γ (Γ & ) Nella logica classica predicativa uguaglianza LC = provare a vedere quali di questi sequenti sono tautologie o paradossi: 1. a b x y x y 2. x y x y a b 3. x y x y x y x y 4. y x x = y 5. x x x 6. x x x 2
7. x x = x 8. x x = c 9. y x ( y = x x = y ) 10. y x ( y = z x = z ) 11. y x z ( x = y & y = z x = z ) Formalizzare le frasi in sequenti le argomentazioni elencate sotto e provare a derivarli in LC = : 1. La sera dell ultimo dell anno festeggio amici. Non vedo l ora che arrivi la sera dell ultimo dellanno. La sera dell ultimo dell anno è il 31 dicembre. Non vedo l ora che arrivi la sera del 31 dicembre. utilizzando: F(x)= la sera di x festeggio amici O(x)= non vedo l ora che arrivi la sera di x a= ultimo dellanno d= 31 dicembre 2. 3. 4. 5. Franco non è venuto all ultima riunione. Franco è venuto alla riunione del 10 giugno. L ultima riunione non è quella del 10 giugno. utilizzando: V(x,y)= x è venuto alla riunione y u=ultima riunione d=riunione del 10 giugno f=franco Franco è venuto ad una sola riunione. Franco non è venuto all ultima riunione. Franco è venuto alla riunione del 10 giugno. L ultima riunione non è quella del 10 giugno. utilizzando: V(x,y)= x è venuto alla riunione y u=ultima riunione d=riunione del 10 giugno f=franco Il programma fattoriale su 3 dà come unico output 6. Il programma fattoriale su 3 dà output il numero x. Il numero x è uguale a 6. f= il fattoriale 3= il numero tre 6= il numero sei O(x, y, z)= il programma y su z dà output il numero x Il programma fattoriale su 2 dà un unico output. Il programma fattoriale su 2 dà output il numero 2. Il programma fattoriale su 2 dà output il numero x. Il numero x è uguale 2. f= il fattoriale 3
6. 2= il numero due 3= il numero tre O(x, y, z)= il programma y su z dà output il numero x Il programma fattoriale su 2 dà un unico output. Il programma fattoriale su 2 dà output 2. 2 è diverso da 3 Il programma fattoriale su 2 non dà output 3. f= il fattoriale 2= il numero due 3= il numero tre O(x, y, z)= il programma y su z dà output il numero x 4
Logica classica uguaglianza- LC = ax-id ax- Γ, fr 1, Γ, fr 1, Γ,, Γ ax-tt Γ, tt, Σ, Γ, Θ, Γ, Σ Σ, Γ, Θ, Γ, Σ sc sx Γ Σ,, Θ,, Γ Σ,, Θ,, sc dx Γ fr 1, Γ fr 2, Γ fr 1 &fr 2, & D Γ, fr 1, fr 2 Γ, fr 1 &fr 2 & S Γ fr 1, fr 2, Γ fr 1 fr 2, D Γ, fr 1 Γ, fr 2 Γ, fr 1 fr 2 S Γ, fr 1 Γ fr 1, D Γ fr 1, Γ, fr 1 S Γ, fr 1 fr 2, Γ fr 1 fr 2, D Γ fr 1, Γ, fr 2 Γ, fr 1 fr 2 S Γ fr[x/w], Γ x fr, D (w VL(Γ, x fr, )) Γ, x fr, fr[x/t ter ] Γ, x fr S Γ, fr[x/w] Γ, x fr S (w VL(Γ, x fr, )) Γ fr[x/t ter ], x fr, Γ x fr, D Σ, t ter = s ter, Γ(t ter ) (t ter ), Σ, Γ(s ter ), t ter = s ter (s ter ), = S = ax Γ t ter = t ter, 5
14.bis Sostituzione di variabile: attenzione a cattura variabili! Definizione di sostituzione di un termine Dato un termine t ter di un linguaggio predicativo e una formula pr(x) allora indichiamo pr[x/t ter ] la formula ottenuta sostuendo x t ter in pr(x). Tale formula è definita come segue: P k (t 1,..., t m )[x/t ter ] P k (t 1 [x/t ter ],..., t m [x/t ter ]) (t 1 =t 2 )[x/t ter ] t 1 [x/t ter ] = t 2 [x/t ter ] y i fr[x/t ter ] x compare in fr ( y i fr)[x/t ter ] e y i NON compare libera in t ter y i fr se x non compare in fr ( x fr)[x/t ter ] ( x fr) y i fr[x/t ter ] se x compare in fr ( y i fr)[x/t ter ] e y i NON compare libera in t ter y i fr se x non compare in fr ( x fr)[x/t ter ] x fr (fr 1 & fr 2 )[x/t ter ] fr 1 [x/t ter ] & fr 2 [x/t ter ] (fr 1 fr 2 )[x/t ter ] fr 1 [x/t ter ] fr 2 [x/t ter ] (fr 1 fr 2 )[x/t ter ] fr 1 [x/t ter ] fr 2 [x/t ter ] ( fr 1 )[x/t ter ] fr 1 [x/t ter ] MORALE Quando sostituisci una variabile y al posto di x in un predicato pr(x) trolla che - SE compare y o y in pr(x) - la sostituzione di x y NON faccia cadere il nuovo y sotto il POTERE di y o y ovvero aumenti il numero di occorrenze di y in loro potere! y y = y x y x = y S v NOOOOO!!!! y y = a y = z y y = a x x = z D SI!!!! Stabilire quali delle seguenti applicazioni di -S o -D sono lecite 1. È lecita la seguente applicazione di -S y x x < y + z, x x < x + z y x x < y + z S 2. È lecita la seguente applicazione di -S 6
y x x < y + z, x x < z + z y x x < y + z S 3. È lecita la seguente applicazione di -D Γ x x < z + z Γ y x x < y + z D 4. È lecita la seguente applicazione di -D Γ x x < x + z Γ y x x < y + z D 5. È lecita la seguente applicazione di -D y C(y) x x < y + z y C(y) w x x < w + z D 7
Consigli su come derivare in LC = Nell intento di cercare una derivazione di un sequente è meglio: applicare PRIMA le regole dei nettivi proposizionali e -D e -S variabili NUOVE Se si fida di poter derivare il sequente si possono abbreviare le derivazioni le regole veloci, come Dv e Sv usare SOLO lettere w, x, y, z come VARIABILI e USARE NUOVE variabili nell applicazione dal basso verso l alto delle regole -S e -D usare le lettere minuscole a, b, c, d,... come costanti applicare le regole -S e -D TERMINI presenti nelle formule del sequente (se ce ne sono) al posto di t ter quando applichi la regola -S perchè c è... z A(z)... nel sequente clusione o la regola -D agendo su... z A(z)... nel sequente clusione CONTROLLA di non mettere al posto di z una variabile w che diventa VINCOLATA in A(w)!! (ad esempio se A(z) w w z la sostituzione A(w) w w w NON è LECITA!!!) 8