• Non ci sono risultati.

Introduzione alla logica matematica Paolo Bison

N/A
N/A
Protected

Academic year: 2021

Condividi "Introduzione alla logica matematica Paolo Bison"

Copied!
15
0
0

Testo completo

(1)

Introduzione alla logica matematica Paolo Bison

Fondamenti di Informatica Ingegneria Meccanica

Università di Padova A.A. 2008/09

lucidi basati su note della prof. S. Badaloni

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.1

Logica matematica



formalizzazione dei meccanismi di ragionamento



la logica studia proposizioni



una proposizione può essere vera o falsa



logica a due valori di verità

(2)

Formalizzazione



sintassi

in che modo scrivere le proposizioni



semantica

significato delle proposizioni

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.3

Logica proposizionale



P1: Se fa caldo ed è umido allora pioverà



P2: Se è umido ed è estate allora fa caldo



P3: adesso è umido



P4: adesso è estate si vuole verificare:



P5: pioverà

(3)

Logica proposizionale

Ad ogni proposizione elementare viene associata una variabile proposizionale



A = fa caldo



B = è umido



C = è estate



D = pioverà

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.5

Logica proposizionale

La rappresentazione per l’esempio è



F1: A ∧ B → D



F2: B ∧C → A



F3: B



F4: C

si vuole dimostrare che da F1-F4 segue logicamente:



F5: D

∧ rappresenta la congiunzione (and)

→ rappresenta la implicazione logica

(4)

Sintassi



La logica proposizionale tratta formule.



Una formula è composta da:



formule atomiche o atomi (A, B, C, ...)



connettivi logici



parentesi ( )

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.7

Connettivi logici

¬ not

negazione

or

disgiunzione

and

congiunzione

if then

implicazione

↔ if and only if

bi-implicazione

(5)

Formule ben formate



Una formula è ben formata (FBF) se e solo se essa è ottenibile applicando le seguenti regole:

1. un atomo è una FBF

2. se F è una FBF, allora (¬F) è una FBF

3. se F e G sono FBF, allora lo sono anche (F ∨ G) , (F ∧ G) , (F → G) e (F ↔ G)

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.9

Priorità dei connettivi

Stabilendo un ordinamento tra i connettivi è possibile eliminare alcune parentesi. L’ordine adottato è il seguente:

1. ¬

2. ∧ ,

3. → ,

(6)

Semantica



la semantica della logica proposizionale richiede l’introduzione dei valori di verità

B = { T, F }



dare una interpretazione vuol dire trovare una funzione

V : F → { T, F }

essendo F l’insieme delle formule ben formate FBF del Calcolo Proposizionale.

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.11

Valore di verità di una formula



Si può calcolare il valore di verità di una espressione del Calcolo Proposizionale a partire



dai valore di verità delle formule atomiche che la compongono (interpretazioni) e



dalle tabelle di verità dei connettivi logici.

(7)

Tabelle di verità dei connettivi logici

A B (¬A) (A ∧ B) (A ∨ B) (A → B) (A ↔ B)

T T F T T T T

T F F F T F F

F T T F T T F

F F T F F T T

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.13

Tautologie



Alcune formule sono vere in tutte le interpretazioni.

((P ∧ (P → Q)) → Q)

P Q (P → Q) P∧ (P → Q) ((P ∧ (P → Q)) → Q)

T T T T T

T F F F T

F T T F T

F F T F T



Tautologie o formule valide.

(8)

Contraddizioni



formule che sono false in tutte le interpretazioni.

((P → Q) ∧ P) ∧ (¬Q)

P Q (P → Q) (¬Q) ((P → Q) ∧ P) ∧ (¬Q)

T T T F F

T F F T F

F T T F F

F F T T F



Contraddizioni o formule inconsistenti.

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.15

Decidibilità della logica proposizionale



Ogni formula è finita e contiene un numero finito di formule atomiche:



quindi è sempre possibile determinare se essa è valida, inconsistente o ne’ l’uno ne’ l’altro.



La logica proposizionale è decidibile.

(9)

Equivalenza Logica



Due formule F e G sono equivalenti , e si indica con

F ≡ G , se e solo se esse hanno lo stesso valore di verità in tutte le interpretazioni.



Si può dimostrare che F ≡ G se e solo se la formula

(F ↔ G) è una tautologia.

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.17

Relazioni di equivalenza logica - I

F F identità

¬(¬F) F doppia negazione (G ∧ G) G idempotenza (G ∨ G) G idempotenza (G∧T) G legge dei neutri (G∧F) F legge dei neutri (G∨T) T legge dei neutri (G∨F) G legge dei neutri (G ∧ ¬G) F esclusione

(10)

Relazioni di equivalenza logica - II

(G ∨ ¬G) T complementarietà

((F ∧ G) ∧ H) ((F ∧ (G ∧ H) associatività ((F ∨ G) ∨ H) ((F ∨ (G ∨ H) associatività

(F ∧ G) (G ∧ F) commutatività

(F ∨ G) (G ∨ F) commutatività

(F ∧ (G ∨ H)) ((F ∧ G) ∨ (F ∧ H)) distributività (F ∨ (G ∧ H)) ((F ∨ G) ∧ (F ∨ H)) distributività

¬(F ∨ G) (¬F ∧ ¬G) legge di De Morgan

¬(F ∧ G) (¬F ∨ ¬G) legge di De Morgan

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.19

Relazioni di equivalenza logica - III

(F ∨ (F ∧ G)) F assorbimento

(F ∧ (F ∨ G)) F assorbimento

(F ∨ (¬F ∧ G)) (F ∨ G) assorbimento

(F ∧ (¬F ∨ G)) (F ∧ G) assorbimento

(F → G) (¬F ∨ G) eliminazione implicazione (F → (G → H)) (G → (F → H)) proprietà implicazione (F → (G → H)) ((F ∧ G) → H) proprietà implicazione (F ↔ G) ((F → G) ∧ (G → F)) doppia implicazione

(11)

Esempio - I



verificare che le seguenti formule sono equivalenti:

(a) (P ∧ Q) → ¬ (P ∧ R) (b) ¬ (P ∧ Q ∧ R)

(a) (P ∧ Q) → ¬(P ∧ R) elimin.impl.

≡ ¬(P ∧ Q) ∨ ¬(P ∧ R) DeMorgan

≡ ¬(P ∧ Q ∧ P ∧ R) commutativa

≡ ¬(P ∧ P ∧ Q ∧ R) idempotenza

≡ ¬(P ∧ Q ∧ R) (b)

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.21

Esempio - IIa



Verificare se la seguente formula è una tautologia:

(a) (A → B) → ((A → ¬B) → ¬A)



tabella di verità

A B (A → B) (A → ¬B) ((A → ¬B) → ¬A) (a)

T T T F T T

T F F T F T

F T T T T T

F F T T T T

(12)

Esempio - IIb



relazione di equivalenza

(A → B) → ((A → ¬B) → ¬A) ≡ propr. impl.

≡ ((A → B) ∧ ((A → ¬B)) → ¬A) elim. impl.

≡ ((¬A ∨ B) ∧ (¬A ∨ ¬B)) → ¬A elim. impl.

≡ ¬((¬A ∨ B) ∧ (¬A ∨ ¬B)) ∨ ¬A distributiva

≡ ¬(¬A ∨ (B ∧ ¬B)) ∨ ¬A neutri

≡ ¬(¬A∨ F ) ∨ ¬A neutri

≡ ¬(¬A) ∨ ¬A doppia neg.

≡ A ∨ ¬A compl.

T.

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.23

Do it yourself - I



Si dica se la seguente formula è una tautologia:

¬P ∧ (P ∨ Q) ∧ (¬ (P ∨ Q) ∨ P) ∧ ¬ (P ∨ Q)



Si dica se le seguenti espressioni del calcolo proposizionale sono o non sono equivalenti:

(a) (P ∧ Q) → R (b) P → ¬ (Q → R)



Si dica se la seguente formula del calcolo proposizionale

((R → T ) ∧ (T → R) ∧ T ) → R

(13)

Tipo logical in Fortran



insieme dei valori di verità (falso, vero)



operatori

.not. .and. .or. .eqv. .neqv.



costanti

le due parole chiave .FALSE. e .TRUE.



operatori di confronto

< <= > >= / = ==

notazione equivalente

.lt. .le. .gt. .ge. .eq. .ne.

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.25

Semantica operatori logici

a b .not. a a .and. b a .or. b a .eqv. b a .neqv. b

F F T F F T F

F T T F T F T

T F F F T F T

T T F T T T F

(14)

Priorità operatori



ordine dal maggiore al minore

**

* / + -

< <= > >= == /=

.not.

.and.

.or.

.eqv .neqv.



ordine di valutazione:

da sinistra a destra eccetto ** e .not.

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.27

Esempi d’uso

logical :: p,u,q integer :: x=0,y=10

u= x >=0 .and. x <9 ! ERRATO 0<=x<9 p=.FALSE.;q=x>y;

u=x .gt. y .and. p

u=p .eqv. q ! test uguaglianza per logical,

! errato usare ==

(15)

pari.f90

!

! pari.f90

! data una sequenza, terminata da 0, di numeri positivi in ingresso

! stampa T se sono tutti pari, F altrimenti program pari

logical :: tuttiPari integer :: n

tuttiPari=.TRUE.

do

read *,n

if (n<0) then; stop; end if ! dati in ingresso non corretti if (n==0) then; exit; end if

tuttiPari= tuttiPari .and. n - (n/2)*2 == 0 end do

print *,tuttiPari end program pari

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.29

Do it yourself - II



esprimere il connettivo xor (or esclusivo) in termini degli altri connettivi

A B A xor B

true true false

true false true

false true true

false false false

Riferimenti

Documenti correlati

codifica a 16 bit: maggior parte dei caratteri usano una sola word, altri due.

codifica a 16 bit: maggior parte dei caratteri usano una sola word, altri due.

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.1..

Basic Fortran (cont.), Paolo Bison, FI08, 2008-09-29 –

Basic Fortran (cont.), Paolo Bison, FI08, 2008-09-29 –

Tipi strutturati, Paolo Bison, FI08, 2008-09-29 – p.17. user-defined type

validità di una associazione definita in termini della struttura statica del programma. Introduzione al corso, Paolo Bison, FI08, 2008-12-09

deve ridurre la complessitá convergendo verso un caso base. Ricorsione, Paolo Bison, FI08, 2008-09-29