• 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!
8
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à

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

Formalizzazione



sintassi

in che modo scrivere le proposizioni



semantica

significato delle proposizioni

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à

(2)

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

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

Sintassi



La logica proposizionale tratta formule.



Una formula è composta da:



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



connettivi logici



parentesi ( )

Connettivi logici

¬ not

negazione

∨ or

disgiunzione

∧ and

congiunzione

→ if then implicazione

↔ if and only if

bi-implicazione

(3)

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. → , ↔

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

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.

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.

(4)

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.

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

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.

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.

(5)

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

FF 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

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

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

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

(6)

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

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

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.

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

(7)

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

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

Priorità operatori



ordine dal maggiore al minore

**

* / + -

< <= > >= == /=

.not.

.and.

.or.

.eqv .neqv.



ordine di valutazione:

da sinistra a destra eccetto ** e .not.

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

(8)

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

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

Riferimenti

Documenti correlati

In alternativa, nel caso in cui non siate riusciti a svolgere il precedente, provate a svolgere il seguente:.. Enunciare e dimostrare il

Introduzione agli algoritmi, Paolo Bison, FI08, 2008-09-29 –

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.29. Do it yourself

Matematica Discreta e Logica Matematica CdL in Informatica, Facolt` a di Scienze

Universit` a degli Studi di Salerno A.A. Quindi determinare nell’ordine 1) il “numero di soluzioni di S” 2) un sistema ridotto equivalente ad S, 3) l’insieme Sol(S) delle soluzioni

Persona e atto d’essere: la fondazione metafisica della nozione di persona