Cenni di Logica Fabio Massimo Zanzotto. Calcolo proposizionale.

Slides:



Advertisements
Presentazioni simili
APPLICAZIONE DEL TEOREMA DI PITAGORA SU POLIGONI CON ANGOLI DI 30°-60°
Advertisements

Definizione e proprietà del parallelogramma
1 I triangoli Definizione
Risoluzione di triangoli qualsiasi
Risoluzione di triangoli qualsiasi
I.T.C.G. Mosè Bianchi Mauro Bosisio Classe A2 Geometri Anno scolastico 2000\2001.
COSTRUZIONI GEOMETRICHE ELEMENTARI 1
Congiungendo la punta dell’albero con la base, si può individuare un triangolo isoscele.
Petri Nets Controllo Supervisivo Mutua esclusione generalizzata (GMEC)
Teorema di Pitagora Con gli angoli di 45°.
Poligoni con angoli 30°e 60°
Teorema di Talete Un fascio di rette parallele determina su due trasversali classi di segmenti proporzionali. A’ A B B’ AB:BC=A’B’:B’C’ C C’
1 ESEMPIO F ~ F’’ Definizione
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Alcune definizioniAlcune definizioni Algoritmo di sintesi ottima di Quine-McCluskeyAlgoritmo.
IL QUADRATO DI UN TRINOMIO
LA GEOMETRIA EUCLIDEA.
Risoluzione triangoli rettangoli!
SCUOLA MEDIA STATALE “A. MENDOLA” – FAVARA – A. S
TRIANGOLI E PARALLELOGRAMMI
Poligoni di tre lati Con 6 lelementi: 3 lati e 3 angoli
Il secondo criterio di congruenza dei triangoli
5 febbraio 2010 Prof Fabio Bonoli
Logica proposizionale Sintassi vs Semantica
Linguaggi di Programmazione Cenni di logica proposizionale
21 marzo 22 marzo 23 marzo 24 marzo. TCB TCB TCB marzo
I Triangoli 1E A.S. 12/13.
LEZIONI DI TRIGONOMETRIA
Logica Matematica Seconda lezione.
A cura dei Docenti: Prof sa Alessandra SIA – Prof Salvatore MENNITI
poligoni equivalenti Proprietà riflessiva A=A Proprietà simmetrica
ELEMENTI DI GEOMETRIA EUCLIDEA NELLO SPAZIO
Il Teorema di Pitagora.
Punto nave con rilevamento polare 45° e Traverso
DIMOSTRAZIONE IPOTESI AB BC CA A,B,D allineati B,C,E allineati
Esecuzione dei programmi Prolog Liste ed operatori aritmetici
Poligoni e triangoli.
Teorema Enunciato Sui prolungamenti della base AB di un triangolo isoscele ABC si considerino i due segmenti congruenti AD e BE. Dimostrare che il triangolo.
PITAGORA GENERALIZZATO
segmenti e punti notevoli dei triangoli
Basi di conoscenza: cenni di logica Fabio Massimo Zanzotto.
Linguaggi e Modelli per i Dati e la Conoscenza Fabio Massimo Zanzotto.
IL TEOREMA DEL TRIANGOLO ISOSCELE (Prof. Daniele Baldissin)
Consideriamo un angolo   O.  Per semplicità consideriamo orizzontale una delle due semirette O.
Aprile 2011 – Classe:1^D(LS) Alunno: Sausto Matteo
Che cosa è un insieme convesso?
Linguaggi e Modelli di Programmazione Fabio Massimo Zanzotto.
Trasformazioni non isometriche
GEOMETRIA.
Ordinamento e Operazioni su Strutture Dati Fabio Massimo Zanzotto.
Percorsi su grafi, Sottoalberi Comuni e Programmazione Dinamica Fabio Massimo Zanzotto.
FMZ Sistemi basati su conoscenza Da logica proposizionale a logica del primo ordine Dott. Fabio Massimo Zanzotto a.a
FMZ Sistemi basati su conoscenza Prolog (1) Dott. Fabio Zanzotto a.a
FMZ1 Sistemi basati su conoscenza Cenni di logica proposizionale Dott. Fabio Zanzotto a.a
Controllare Tipi Dati Decomporre fatti Controllare il database Fabio Massimo Zanzotto (slides di Andrea Turbati)
Triangoli Classificazione Proprietà triangoli equilateri
1 Linguaggi di Programmazione Cenni di logica proposizionale.
Liceo Scientifico Tecnologico “Grigoletti” Precorsi Trigonometria
PROBLEMI SENZA PROBLEMI!!!
I POLIGONI Gli alunni della seconda media Istituto “ M. Ausiliatrice “
Basi di conoscenza: cenni di logica Fabio Massimo Zanzotto.
Algoritmo per il calcolo del maggiore tra tre numeri qualsiasi Francesco PUCILLO matr
Luca Chichisola1 Dal problema al programma LUCA CHICHISOLA.
TEOREMA. In un triangolo rettangolo il quadrato costruito sull’ipotenusa è equivalente alla somma dei quadrati costruiti sui cateti. L’enunciato del teorema.
Luogo geometrico In geometria esistono delle figure formati da punti che soddisfano a delle particolari condizioni. Queste figure costituiscono dei luoghi.
I PARALLELOGRAMMI PARALLELOGRAMMI
Le trasformazioni non isometriche
PROBLEMA DI TRIGONOMETRIA Giorgio Buffa 4H
Le trasformazioni non isometriche
Transcript della presentazione:

Cenni di Logica Fabio Massimo Zanzotto

Calcolo proposizionale

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 3 Semplice Teorema di Geometria AC B Dato un triangolo isoscele ovvero con AB=BC, si vuole dimostrare che gli angoli  e Ĉ sono uguali.

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 4 Semplice Teorema: conoscenze pregresse Se due triangoli sono uguali, i due triangoli hanno lati ed angoli uguali (A) Se due triangoli hanno due lati e l’angolo sotteso uguali, allora i due triangoli sono uguali (T) AC B

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 5 Semplice Teorema: Dimostrazione BH bisettrice di ABC cioè ABH=HBC (T2) Dimostrazione AB=BC per ipotesi ABH=HBC per T2 Il triangolo HBC è uguale al triangolo ABH per T Â=Ĉ per A AC B H

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 6 Semplice Teorema: Dimostrazione Abbiamo trasformato T in  Se AB=BC e BH=BH e ABH=HBC, allora il triangolo ABH è uguale al triangolo HBC A in  Se triangolo ABH è uguale al triangolo HBC, allora AB=BC e BH=BH e AH=HC e ABH=HBC e AHB=CHB e Â=Ĉ AC B H

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 7 Semplice Teorema: Formalizzazione Obbiettivo Razionalizzare il processo che permette affermare: AC B H AB=BCÂ=ĈÂ=Ĉ

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 8 Abbiamo supposto che: S={ AB=BC, ABH=HBC, BH=BH } Avevamo conoscenze pregresse: T: AB=BC  BH=BH  ABH=HBC  trABH=trHBC A: trABH=trHBC  AB=BC  BH=BH  AH=HC  ABH=HBC  AHB=CHB  Â=Ĉ Semplice Teorema: Formalizzazione AB=BCÂ=ĈÂ=Ĉ

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 9 Abbiamo costruito una catena di formule: P1: AB=BC da S P2: ABH=HBC da S P3: BH=BH da S P4: AB=BC  BH=BH  ABH=HBC da P1,P2,P3 e REGOLA 2 P5: trABH=trHBC da P4,T e REGOLA 1 P6: AB=BC  BH=BH  AH=HC  ABH=HBC  AHB=CHB  Â=Ĉ da P5,A e REGOLA 1 P7: Â=Ĉ da P6 e REGOLA 3 Semplice Teorema: Formalizzazione AB=BCÂ=ĈÂ=Ĉ

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 10 Una dimostrazione per F è conseguenza di S è una sequenza DIM=P 1,P 2,…,P n dove P n =F P i  S oppure P i è ottenibile da P i1,…,P im (con i1<i,.., im<i) applicando una regola di inferenza Processo di dimostrazione SF

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 11 Regole di inferenza: Modus Ponens (MP) Se piove, la strada è bagnata. Piove. Allora la strada è bagnata. P  B, P B MP

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 12 Regole di inferenza: AND- Introduzione(AI) e AND- Eliminazione(AE) A 1,…,A n A 1  …  A n AiAi AND-Introduzione AND-Eliminazione AE AI

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 13 Calcolo Proposizionale Sistema (d’assiomi) SINTASSI Ingredienti: Un insieme di simboli L –Letterali: A 1,…A n –Connettivi Logici: , , , ,(,) Un sottoinsieme FBF di L* detto delle formule ben formate

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 14 Calcolo Proposizionale Sistema (d’assiomi) SINTASSI Ingredienti: Un insieme ASSIOMI  FBF Un insieme R di regole di inferenza Abbiamo a disposizione: Meccanismo della dimostrazione SF

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 15 Connettivi Logici SIMBOLO NOT  ~ AND  OR  IMPLIES  IFF 

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 16 FBF formule ben formate I letterali sono formule ben formate Se A  FBF e B  FBF, allora  A  FBF A  B  FBF A  B  FBF A  B  FBF

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 17 Assiomi (Conoscenze pregresse) A1: A  (B  A) A2: (A  (B  C))  ((A  B)  (A  C)) A3: (  B  A)  ((  B  A)  B) A4:  (A  A) A5: A  A

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 18 Esempio Se l’unicorno è mitico, allora è immortale, ma se non è mitico allora è mortale. Se è mortale o immortale, allora è cornuto. L’unicorno è magico se è cornuto. Domande: a)L’unicorno è mitico? b)L’unicorno è magico? c)L’unicorno è cornuto?

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 19 Procedimento 1.Esprimere il problema in forma di logica dei predicati 2.Individuare i teoremi da dimostrare 3.Dimostrare i teoremi

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 20 Esempio Se l’(unicorno è mitico), allora l’(unicorno è immortale), ma se non (è mitico) allora (è mortale). Se l’(unicorno è mortale) o l’(unicorno è immortale), allora (unicorno è cornuto). L’(unicorno è magico) se l’(unicorno è cornuto). Letterali: UM = unicorno è mitico UI = unicorno è immortale UMag = unicorno è magico UC = unicorno è cornuto

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 21 Esempio Se l’(unicorno è mitico) UM, allora l’(unicorno è immortale) UI, ma se non (è mitico) UM allora (è mortale)  UI. Se l’(unicorno è mortale)  UI o l’(unicorno è immortale) UI, allora (unicorno è cornuto) UC. L’(unicorno è magico) UMag se l’(unicorno è cornuto) UC. Traduzione: UM  UI  UM  UI  UI  UI  UC UC  UMag

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 22 Esempio a)L’unicorno è mitico? b)L’unicorno è magico? c)L’unicorno è cornuto? Traduzione: S = {UM  UI,  UM  UI,  UI  UI  UC, UC  Umag} a) SUM b) SUMag c) SUC

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 23 Esempio P1:  UI  UI  UCda S P2:  UI  UIda A4 P3: UCda P1, P2 e MP SUC

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 24 Esempio P1:  UI  UI  UCda S P2:  UI  UIda A4 P3: UCda P1, P2 e MP P4: UC  UMag da S P5: UMag da P3, P4 e MP Esercizio: DIMOSTRARE a) SUMag

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 25 Ricapitolando Logica Proposizionale (fin qui vista) –Permette di imbrigliare dei ragionamenti in dei simboli –Permette di dedurre simboli da altri simboli –Che manca? Il concetto di Vero e di Falso

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 26 Logica Proposizionale SEMANTICA Funzione di interpretazione I I: FBF  {V,F} che è composizionale ovvero: date A e B in FBF I(  A)=  I(A) I(A  B)= I(A)  I(B) I(A  B)= I(A)  I(B) I(A  B)= I(A)  I(B)

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 27 Logica Proposizionale SEMANTICA Tavole delle verità dei connettivi logici

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 28 Scopo del calcolo Assumere Vere le FBF in S e verificare che F sia Vera Logica Proposizionale SEMANTICA SF

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 29 Esempio  A  A A AA VFV FVV

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 30 Esempio  A  (B  A) AB BABA VVVV VFVV FVFV FFVV Esercizio: Provare a costruire la tabella di verità degli altri assiomi.

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 31 Tautologie e modelli Una FBF sempre vera indipendentemente dal valore dei letterali viene detta tautologia Un modello di un insieme F di FBF è una particolare interpretazione I che rende vere tutte le formule in F

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” FMZ 32 Osservazione SF SF Semantica Sintassi Chi garantisce?

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica proposizionale Sintassi vs Semantica SintassiSemanticaMondo Concetto di modello Funzione di interpretazione Simboli FBF ASSIOMI Regole di inferenza SFSF ???

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Una dimostrazione per è una sequenza DIM=P 1,P 2,…,P n P n =F P i  S P i  ASSIOMI P i è ottenibile da P i1,…,P im (con i1<i,.., im<i) applicando una regola di inferenza Sintassi vs Semantica Osservazioni S F

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” DIM=P 1,P 2,…,P n Problema: introduciamo sempre formule vere? P i  Svere per ipotesi P i  ASSIOMIveri poiché tautologie P i è ottenibile da P i1,…,P im (con i1<i,.., im<i) applicando una regola di inferenza Sintassi vs Semantica Osservazioni anello debole

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Sintassi vs Semantica Regole di inferenza e veridicità V V F F V F V F AB V F V V ABAB V V F F V F V F AB V F F F ABAB P  B, P B MP A 1,…,A n A 1  …  A n AiAi AE AI

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Sintassi vs Semantica La preservazione della veridicità è osservabile per induzione Formalmente: –(Meta)Teorema di completezza –(Meta)Teorema di Deduzione (+ Ogni teorema di L è una tautologia)

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Wumpus World Domanda: E’ possibile trovare il Wumpus?

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Wumpus World come và il mondo (stralcio) Se il wumpus è in una casella, si avverte la puzza nelle quattro caselle adiacenti (a croce) Se c’è una buca in una casella, si avverte la brezza nelle quattro caselle adiacenti (a croce) Se c’è l’oro, si avverte luccicare nella stessa casella

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica proposizionale e Wumpus World Abbiamo a disposizione: Informazioni: –Regole su come và il mondo (del Wumpus) –Fatti indotti dall’esplorazione Uno strumento: –Logica proposizionale

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Base di conoscenza (logica) Individuare i letterali S 1,1 = Puzza nella casella 1,1 … S 4,4 = Puzza nella casella 4,4 B 1,1 = Brezza nella casella 1,1 … B 4,4 = Brezza nella casella 4,4 W 1,1 = Wumpus nella casella 1,1 … W 4,4 = Wumpus nella casella 4,4

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Base di conoscenza (logica) Traduzione delle affermazioni (Regole): (R 1 ):¬S 1,1  ¬W 1,1  ¬W 1,2  ¬W 2,1 (R 2 ):¬S 2,1  ¬W 1,2  ¬W 2,1  ¬W 2,2  ¬W 3,1 (R 3 ):¬S 1,2  ¬W 1,1  ¬W 1,2  ¬W 2,2  ¬W 1,3 (R 4 ):S 1,2  W 1,3  W 1,2  W 2,2  W 1,1 ……

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Base di conoscenza (logica) Traduzione delle osservazioni: ¬S 1,1 ¬B 1,1 ¬S 2,1 B 2,1 S 1,2 ¬ B 1,2 OSS

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Obbiettivo (Teorema da dimostrare) Date le conoscenze, localizzare con certezza in 1,3 il Wumpus. KBW 1,3 dove KB = OSS  {R 1,R 2,R 3,R 4 }

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Dimostrazione: verso l’Obbiettivo KBW 1,3 ¬S 1,1, ¬S 1,1  ¬W 1,1  ¬W 1,2  ¬W 2,1 ¬W 1,1  ¬W 1,2  ¬W 2,1 ¬W 1,1, ¬W 1,2, ¬W 2,1 MP AE =And-Elimination ¬S 2,1, ¬S 2,1  ¬W 1,2  ¬W 2,1  ¬W 2,2  ¬W 3,1 ¬W 1,2, ¬W 2,1, ¬W 2,2, ¬W 3,1 MP+AE (*) (**)

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Dimostrazione: verso l’Obbiettivo KBW 1,3 S 1,2, S 1,2  W 1,3  W 1,2  W 2,2  W 1,1 W 1,3  W 1,2  W 2,2  W 1,1 MP W 1,3  W 1,2  W 2,2  W 1,1, ¬W 1,1 W 1,3  W 1,2  W 2,2 UR=Unit-Resolution (*), ¬W 2,2 (**) W 1,3  W 1,2, ¬W 1,2 (*) UR W 1,3 CVD

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Conoscenzeed Eurismi Ragionamento si basa: –un insieme di conoscenze (od osservazioni) –un insieme di regole apprese detti “eurismi” Eurisma = qualunque regola mentale atta a generare o trovare qualcosa che si stà cercando Esempi “Uscire con l’ombrello quando è nuvolo” “Colpire la palla da tennis nel punto più alto della parabola di rimbalzo” “Far percepire al cliente che ha sempre ragione” “Se il capo vuole avere ragione è meglio accordargliela”

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Eurismi per il Minatore E’ meglio non andare avanti se il Wumpus è di fronte. Introduzione di nuovi simboli: FORWARD= muoversi in avanti A 1,1 = Minatore nella casella 1,1 … A 4,4 = Minatore nella casella 4,4 East A = Minatore rivolto a est West A = Minatore rivolto a ovest North A = Minatore rivolto a nord South A = Minatore rivolto a sud

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Eurismi per il Minatore E’ meglio non andare avanti se il Wumpus è di fronte. Traduzione dell’eurisma: A 1,1  East A  W 2,1  ¬FORWARD A 1,1  North A  W 1,2  ¬FORWARD …

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica proposizionale (limiti) Traduzione dell’eurisma: –in un mondo 4x4 –4 direzioni per il minatore –occorrono 64 regole (se non si prevede il passato) –si potrebbe usare invece: WUMPUSAHEAD  ¬FORWARD ???

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica proposizionale (limiti) Socrate è un uomo. Gli uomini sono mortali. (A) Allora Socrate è mortale. Traduzione di (A) nella logica proposizionale Se Gino è un uomo, allora Gino è mortale. Se Pino è un uomo, allora Pino è mortale. Se Rino è un uomo, allora Rino è mortale. Se Socrate è un uomo, allora Socrate è mortale. … Se X è un uomo, allora X è mortale.

Calcolo dei Predicati Logica del Prim’ordine

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica del primo ordine Sintassi Ingredienti: Simboli L –Letterali Costanti individuali A i Variabili individuali  i Lettere funzionali f i Lettere predicative P i –Connettivi Logici: { , , , ,(,)} , 

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica del primo ordine Sintassi Ingredienti: Formule Ben Formate –Le Formule Atomiche sono FBF –Se f 1 e f 2  FBF e x è una variabile individuale allora  x.f 1  FBF  x.f 1  FBF  f 1  FBF f 1  f 2  FBF f 1  f 2  FBF f 1  f 2  FBF

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica del primo ordine Sintassi Ingredienti: Termine T costanti individuali  T variabili individuali  T Se t 1,…,t n  T allora f i (t 1,…,t n )  T Formule Atomiche Se t 1,…,t n  T allora P i (t 1,…,t n ) è una formula atomica

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica del primo ordine Sintassi Ingredienti: Regole di inferenza –Eliminazione del quantificatore universale –Eliminazione del quantificatore esistenziale –Introduzione del quantificatore esistenziale  x.F(…x…) SUBST({x/a},F(…x…)}  x.F(…x…) SUBST({x/a},F(…x…)} F(…a…)  x.F(…x…) Dove a non appartiene a costanti già introdotte

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica del primo ordine Semantica Interpretazione Insieme D I(a i )= d i per ciascuna costante individuali Insieme di funzioni I(f i )= f i f i : D n  D per ciascuna lettera funzionale f i Insieme di relazioni I(P i )= P i P i  D n per ciascuna lettera predicativa P i

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica del primo ordine Semantica Interpretazione Interpretazione delle formule atomiche –I(P i (a 1,…,a n ))=V se (I(a 1 ),…,I(a n ))  I(P i ) =Faltrimenti –I(  x.P i (a 1,…,x,…,a n ))=V se per tutti gli x  d accade che (I(a 1 ),…,x,…,I(a n ))  I(P i ) =F altrimenti

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica del primo ordine Semantica Interpretazione Interpretazione delle formule quantificate I(  x.P i (a 1,…,x,…,a n ))=V se per tutti gli x  D accade che (I(a 1 ),…,x,…,I(a n ))  I(P i ) =F altrimenti I(  x.P i (a 1,…,x,…,a n )) =V se esiste x  D tale che (I(a 1 ),…,x,…,I(a n ))  I(P i ) =F altrimenti

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica proposizionale vs. Logica del primo ordine “Aggiunte”: Strutturazione dei letterali Introduzione delle variabili Introduzione dei quantificatori

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica del primo ordine Socrate è un uomo. Gli uomini sono mortali. Allora Socrate è mortale. Costanti individuali {Socrate, Pino, Gino, Rino} Lettere predicative {Uomo,Mortale}

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica del primo ordine Socrate è un uomo. Gli uomini sono mortali. Allora Socrate è mortale. Traduzione affermazioni Uomo(Socrate)  x.(Uomo(x)  Mortale(x)) Traduzione goal Mortale(Socrate)

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Logica del primo ordine  x.(Uomo(x)  Mortale(x)) (SUBST({x/Socrate},Uomo(x)  Mortale(x)) Universal Elimination Uomo(Socrate)  Mortale(Socrate), Uomo(Socrate) MP Mortale(Socrate)

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Esercizi Tradurre in logica del primo oridine le affermazioni relative al mondo del wumpus –L’eurisma: non andare avanti se il Wumpus è davanti –Le regole del mondo –Provare a dimostrare che la posizione del Wumpus è 1,3 nella logica del primo ordine

Logica e Prolog

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Una dimostrazione per F è conseguenza di S è una sequenza DIM=P 1,P 2,…,P n dove P n =F P i  S oppure P i è ottenibile da P i1,…,P im (con i1<i,.., im<i) applicando una regola di inferenza Processo di dimostrazione (limiti) SF

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” DIM=P 1,P 2,…,P n Come scegliamo: Il percorso da fare? Quale formule P i1,…,P im attivano una regola di inferenza? E’ possibile standardizzare il processo? Processo di dimostrazione (limiti) SF

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Tentativo (In logica proposizionale): Ammettiamo formule del tipo: –A 1  …  A m  B(tipo 1) –B(tipo 2) con A 1,…,A m,B letterali Processo di dimostrazione (standardizzazione)

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Processo di dimostrazione (standardizzazione) Per dimostrare: In S solo regole di tipo 1 o tipo 2 Partiamo da F=P n P i è deducibile se: –P i  S –Utilizzando MP e AE, esiste A 1  …  A m  P i e A 1,…, A m sono deducibili SF

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Legami con la logica del primo ordine Clausole di Horn  x 1,…,x n A 1  …  A m  B

© F.M.ZanzottoLogica per la Programmazione e la Dimostrazione Automatica University of Rome “Tor Vergata” Prolog e la logica del primo ordine Prolog è un linguaggio di programmazione basato sulle ‘Horn Clauses’ Le ‘Horn Clauses’ sono un sottoinsieme dei predicati esprimibili in logica dei predicati –Esiste un algoritmo per cui la dimostrazione di un teorema scritto in clausole di Horn è computabile in tempo polinomiale