37
FMZ 1 Linguaggi di Programmazione Cenni di logica proposizionale

Linguaggi di Programmazione Cenni di logica proposizionale

Embed Size (px)

DESCRIPTION

Linguaggi di Programmazione Cenni di logica proposizionale. Semplice Teorema di Geometria. B. Dato un triangolo isoscele ovvero con AB=BC, si vuole dimostrare che gli angoli BAC e BCA sono uguali. A. C. Semplice Teorema: conoscenze pregresse. B. - PowerPoint PPT Presentation

Citation preview

Page 1: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 1

Linguaggi di Programmazione Cenni di logica proposizionale

Page 2: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 2

Semplice Teorema di Geometria

A C

B

Dato un triangolo isoscele ovvero con AB=BC, si vuole dimostrare che gli angoli BAC e BCA sono uguali.

Page 3: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 3

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)

A C

B

Page 4: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 4

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• BAC=BCA per A

A C

B

H

Page 5: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 5

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 BAC=BCA

A C

B

H

Page 6: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 6

Semplice Teorema: FormalizzazioneObbiettivo

Razionalizzare il processo che permette affermare:

A C

B

HAB=BC BAC=BCA

leggiamo “ ” come “è conseguenza logica di”

Page 7: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 7

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 BAC=BCA

Semplice Teorema: Formalizzazione

AB=BC BAC=BCA

Page 8: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 8

Abbiamo costruito una catena di formule: P1: AB=BC da SP2: ABH=HBC da SP3: BH=BH da S

P4: AB=BC BH=BH ABH=HBC da P1,P2,P3 e REGOLA2

P5: trABH=trHBC da P4,T e REGOLA1

P6: AB=BC BH=BH AH=HC ABH=HBC AHB=CHB BAC=BCA da P5,A e REGOLA1

P7: BAC=BCA da P6 e REGOLA3

Semplice Teorema: Formalizzazione

AB=BC BAC=BCA

Page 9: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 9

Una dimostrazione per F è conseguenza di S

è una sequenza

DIM=P1,P2,…,Pn

dove• Pn=F• PiS oppure Pi è ottenibile da Pi1,…,Pim (con i1<i,.., im<i)

applicando una regola di inferenza

Processo di dimostrazione

S F

Page 10: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 10

Regole di inferenza (Regola1): Modus Ponens (MP)

Se piove, la strada è bagnata.

Piove.

Allora la strada è bagnata.

P B , P

BMP

Page 11: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 11

Regole di inferenza: AND- Introduzione(AI) e AND- Eliminazione(AE)

A1,…,An

A1… An

A1… An

Ai

AND-Introduzione (Regola2)

AND-Eliminazione (Regola3)

AE

AI

Page 12: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 12

Calcolo Proposizionale Sistema (d’assiomi)

SINTASSIIngredienti:

• Un insieme di simboli L– Letterali: A1,…An

– Connettivi Logici: ,,,,(,)

• Un sottoinsieme FBF di L* detto delle formule ben formate

Page 13: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 13

Calcolo Proposizionale Sistema (d’assiomi)

SINTASSIIngredienti:

• Un insieme ASSIOMIFBF

• Un insieme R di regole di inferenza

Abbiamo a disposizione:

• Meccanismo della dimostrazione

S F

Page 14: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 14

Connettivi Logici

SIMBOLO

NOT ~

AND

OR

IMPLIES

IFF

Page 15: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 15

FBF formule ben formate

• I letterali sono formule ben formate

• Se AFBF e BFBF, alloraAFBF

ABFBF

ABFBF

ABFBF

Page 16: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 16

Assiomi (Conoscenze pregresse)

• A1: A(BA)

• A2: (A(BC))((AB)(AC))

• A3: (BA)((BA)B)

• A4: (AA)

• A5: AA

Page 17: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 17

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?

Page 18: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 18

Procedimento

1. Esprimere il problema in forma di logica proposizionale

2. Individuare i teoremi da dimostrare

3. Dimostrare i teoremi

Page 19: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 19

EsempioSe 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

Page 20: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 20

EsempioSe 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:

UMUI

UMUI

UIUIUC

UCUMag

Page 21: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 21

Esempioa) L’unicorno è mitico?

b) L’unicorno è magico?

c) L’unicorno è cornuto?

Traduzione:

S = {UMUI, UMUI, UIUIUC, UCUmag}

a) S UM

b) S UMag

c) S UC

Page 22: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 22

Esempio

P1: UIUIUC da S

P2: UIUI da A4

P3: UC da P1, P2 e MP

S UC

Page 23: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 23

Esempio

P1: UIUIUC da SP2: UIUI da A4P3: UC da P1, P2 e MPP4: UCUMag da SP5: UMag da P3, P4 e MP

Esercizio: DIMOSTRARE a)

S UMag

Page 24: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 24

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

Page 25: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 25

Logica ProposizionaleSEMANTICA

Funzione di interpretazione II: FBF{V,F}

che è composizionale ovvero:date A e B in FBFI(A) = I(A)I(AB) = I(A)I(B)I(AB) = I(A)I(B)I(AB) = I(A)I(B)

Page 26: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 26

Logica ProposizionaleSEMANTICA

Tavole delle verità dei connettivi logici

Page 27: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 27

Scopo del calcolo

Assumere Vere le FBF in S e verificare che F sia Vera

Logica ProposizionaleSEMANTICA

S F

Page 28: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 28

Esempio

AA

A A AAV F V

F V V

Page 29: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 29

Esempio

A(BA)

A B BA A(BA)

V V V V

V F V V

F V F V

F F V V

Esercizio: Provare a costruire la tabella di verità degli altri assiomi.

Page 30: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 30

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

Page 31: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 31

Osservazione

S F

S F

Semantica

Sintassi

• Chi garantisce?

Page 32: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 32

Ragioniamo sul “ragionare”

• Ragionamento=sequenza di passi=calcolo della tabella di verità

• I passi del ragionamento sono importanti• Quando gli schemi dei passi di ragionamento sono

corretti?• Esaminiamo dei sedicenti ragionamenti ben

fondati

Page 33: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 33

Sedicente Ragionamento ben fondato

Premessa: Tutti gli uomini sono mortali

Premessa: Socrate è un uomo

Deduzione: Socrate è mortale

Page 34: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 34

Sedicente Ragionamento ben fondato

Premessa: Nessun ristorante costa poco

Premessa: Alcune pizzerie costano poco

Deduzione: Alcuni ristoranti non sono pizzerie

Page 35: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 35

Sedicente Ragionamento ben fondato

Premessa: Il fosforo è implicato attivamente nei processi di memoria

Deduzione: Fa bene alla memoria mangiare pesce e prendere ricostituenti ricchi di fosforo

Page 36: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 36

Sedicente Ragionamento ben fondato

Dato l’impennarsi del prezzo alla produzione della carta il prezzo dei libri è destinato a crescere vertiginosamente

Dato l’impennarsi del prezzo del barile di petrolio il prezzo della benzina è destinato a crescere vertiginosamente

Page 37: Linguaggi di Programmazione  Cenni di logica proposizionale

FMZ 37

Sillogismo di Chiappori

L’uomo è un animale politico, quindi un uomo politico è un animale.

Persuasione rispetto ragionamento logico:

i sedicenti ragionamenti ben fondati lo sono veramente???