• Non ci sono risultati.

10 Logica classica predicativa

N/A
N/A
Protected

Academic year: 2022

Condividi "10 Logica classica predicativa"

Copied!
5
0
0

Testo completo

(1)

10 Logica classica predicativa

Dopo aver studiato la logica classica proposizionale, ovvero la logica delle proposizioni classiche, passiamo a studiare la logica classica predicativa, ovvero quella dei predicati classici.

In questa sezione introduciamo il linguaggio della logica classica predicativa, la nozione di validit`a delle sue formule e il relativo calcolo dei sequenti. Vedremo che useremo anche per i predicati un calcolo con tutte regole sicure ma siccome la loro complessit`a non diminuisce strettamente dal basso verso l’alto non avremo una procedura per decidere automaticamente la validit`a dei predicati. Comunque studieremo una procedura semi-automatica per stabilire tale validit`a.

10.1 Linguaggio predicativo

Un linguaggio predicativo ha 2 classi di simboli:

1. simboli chiamati TERMINI per indicare enti esempi: x variabile, s per nome “Socrate”

2. simboli chiamati PREDICATI per indicare propriet`a logiche degli enti esempi: U(x) per “x `e un uomo’”, U(s) per “Socrate `e un uomo’”

e i predicati sono chiusi sui CONNETTIVI PROPOSIZIONALI e QUANTIFICAZIONI universali ed esistenziali

esempi: U(x)&M(x) per “x `e un uomo ed `e mortale’”, U(x)→M(x) per “se x `e un uomo allora `e mortale’”, ∀xM(x) sta per “tutti sono mortali’”, ∃xM(x) sta per “esiste qualcuno di mortale’”

D’ora in poi usiamo il termine FORMULA per indicare un predicato esso pu`o essere:

- predicato (o formula) atomico ovvero dato come primitivo

- predicato (o formula) composta ovvero costruito con connettivi proposizionali o quantificazioni da quelli primitivi che sono chiusi sia su quantificazione universale “per ogni” che sulla quantifica- zione esistenziale “esiste..”.

Inoltre useremo il simbolo fr come meta-variabile per una formula generica e la meta-variabile t, oppure s oppure u per indicare un termine generico.

10.1.1 Grammatica termini simbolici

Un TERMINE t pu`o essere costruito in tal modo:

- una variabile x `e un termine (indichiamo le variabili con le ultime lettere dell’alfabeto inglese w, y, z)

- una costante c `e un termine (indichiamo le costanti con qualsiasi lettera dell’alfabeto italiano evitando quelle per le variabili)

10.1.2 Grammatica formule simboliche Una formula fr si pu`o costruire in tal modo:

- sono formule i predicati atomici Pk(t1, . . . ,tm) ottenuti dal predicato atomico Pk(x1, . . . ,xm)

(2)

- ∀x fr (che si legge “per ogni x fr”) `e una formula se fr lo `e

- ∃x fr (che si legge “esiste un x tale che fr”) `e una formula se fr lo `e - la costante “falso” ⊥ `e una formula

- la costante “vero” ⊤ `e una formula

- fr1&fr2`e una formula se fr1e fr2lo sono - fr1∨fr2`e una formula se fr1e fr2lo sono - fr1→fr2`e una formula se fr1e fr2lo sono - ¬fr `e una formula se fr lo `e.

10.1.3 Come mettere le parentesi

Nello scrivere i predicati ∀ o ∃ si lega alla formula pi`u vicina pi`u di ogni altro connettivo come la negazione ¬, seguito a pari merito da ∨, &, che a loro volta sono legate alle formule pi`u di →.

Ovvero

¬, ∀, ∃ lega pi`u di ∨,& lega pi`u di →

Esempi:

• “(tutti gli x tale che A(x) ) o B”

si scrive

∀xA(x)∨B

• “tutti gli x tale che ( A(x) o B )”

si scrive

∀x(A(x)∨B)

• “ ( esiste un x tale che A(x) ) implica ( B o C )”

si scrive

∃x A(x)→B∨C

• “( esiste un x tale che ( A(x) implica B ) ) o C ” si scrive

∃x( A(x)→B )∨C

10.2 A cosa servono i predicati?

I predicati servono per formalizzare asserzione del tipo Tutti gli uomini sono mortali

Socrate `e un uomo Socrate `e mortale

ove si `e adottato la convenzione (con la sbarra) in sezione 5. A tal scopo usiamo i seguenti predicati

(3)

M(x)=“x `e mortale”

U(x)=“x `e un uomo”

e introduciamo la costante s per esprimere il nome “Socrate”:

Poi per esprimere il “tutti” usiamo il simbolo di quantificazione universale “per ogni” davanti a un predicato e formalizziamo la frase “Tutti gli uomini sono mortali” in tal modo

∀x ( U(x)→M(x) )

mentre “Socrate `e un uomo” e “Socrate `e mortale” si formalizzano rispettivamente in U(s) e in M(s) perch`e al posto della variabile x possiamo sostituire la costante s.

Infine l’intera asserzione sopra si formalizza nel sequente

∀x ( U(x)→M(x) ) ,U(s) ⊢ M(s)

Mentre per formalizzare l’asserzione Qualche antenato di Mario `e nobile.

ci avvaliamo delle seguenti funzioni proposizionali o predicati A(x, y) = “x `e antenato di y”

N(x) = “x `e nobile”

e un nome, ovvero una costante, per indicare il nome di Mario m=“Mario”.

Poi per esprimere “qualche” usiamo il simbolo di quantificazione esistenziale “esiste” davanti a un predicato

∃x P(x) L’asserzione quindi si pu`o esprimere cos`ı:

∃x ( A(x, m) & N(x) )

∀x( P(x) → Q(x) ) traduce Tutti i P(x) sono Q(x) Chi `e P(x) `e pure Q(x)

Quelli che sono P(x)... sono Q(x) I P(x) sono Q(x)

Un P(x) `e un Q(x)

Chiunque `e P(x), `e pure Q(x) Ogni P(x) `e Q(x)

Soltanto i Q(x) sono P(x) Se uno `e P(x) allora `e pure Q(x) Solo se uno `e Q(x) allora `e pure P(x)

∃x( P(x) &Q(x) ) traduce C‘`e un P(x) che `e Q(x) esiste un P(x) che `e Q(x)

¬∃x( P(x) &Q(x) ) traduce nessun P(x) `e un Q(x)

(4)

Trucco per tradurre il soltanto quelli, solo quelli che

- riscrivere la frase togliendo il ”soltanto”, o “solo”

- tradurre la frase ottenuta usando la quantificazione universale e l’implicazione

- se la frase ottenuta `e ∀x ( fr1(x) → fr2(x) ) la traduzione della frase iniziale `e ottenuta SCAMBIANDO antecedentecon conseguente, ovvero scrivendo ∀x ( fr2(x) → fr1(x) )

10.2.1 Esempi di formalizzazione di predicati

Ogni volta che formalizziamo un’asserzione usiamo un particolare linguaggio predicativo dato dalle costanti c1, . . . , cn, e da dei predicati P1(x1, . . . ,xm), P2(x1, . . . ,xk), . . . .

1. L’asserzione

“x pi`u cinque `e minore od uguale a sei”

si pu`o scrivere formalmente

x + 5 ≤ 6

ove x + 5 ≤ y `e simbolo di predicato per “x +5 minore o uguale ad y”

e ovviamente 6 `e il numero sei.

2. l’asserzione “il quadrato di x pi`u il quadrato di y `e uguale ad uno”

si pu`o scrivere formalmente

x2+ y2= 1 3. L’asserzione

“esiste un numero x tale che x `e minore o uguale di 6”

si pu`o formalizzare cos`ı

∃x ( N(x) & x ≤ 6 ) ove

x ≤ y `e simbolo di predicato di minore o uguale ovvero “x `e minore od uguale ad y”

N(x)= “x `e un numero”

4. L’asserzione “Se Mario non mangia allora non sta in piedi”

si pu`o formalizzare cos`ı

¬M(m) → ¬P(m) ove

M(x)=“x mangia”

P(x)= “x sta in piedi”

m=“Mario”

(5)

5. L’asserzione

“Chi non mangia non sta in piedi”

`e formalizzabile cos`ı

∀x ( ¬M(x) → ¬P(x) ) ponendo

M(x)=“x mangia”

P(x)= “x sta in piedi”

6. L’asserzione

“Solo quelli che hanno il biglietto salgono sull’aereo.”

si pu`o formalizzare cos`ı

∀x ( S(x) → B(x) ) con

B(x)= “ x ha il biglietto”

S(x)= “x sale sull’aereo”

7. l’asserzione

“Non si d`a il caso che nessun programma termini.”

si pu`o formalizzare in

¬¬∃x ( P(x) & T(x) ) con

P(x)= “x `e programma”

T(x)= “x termina”

8. l’asserzione

“Nessun programma con un ciclo infinito termina.”

si pu`o formalizzare cos`ı

¬∃x ( ( P(x) & ∃y C(x, y) ) & T(x) ) ove

P(x)= “x `e programma”

T(x)= “x termina”

C(x, y)= “y `e ciclo di x ”

9. “Un programma che non ha cicli termina.”

si pu`o formalizzare in

∀x ( P(x) & ¬∃y C(x, y) → T(x) ) con

P(x)= “x `e programma”

T(x)= “x termina”

C(x, y)= “y `e ciclo di x ”

Riferimenti

Documenti correlati

ALTO BASSO LUNGO CORTO- Maestra Anita

4.Linker: “collega” il codice macchina prodotto, e genera l'eseguibile vero e

Questo `e possibile perch´e, per ogni regola di deduzione usata da Alfredo su → e che abbia come conclusione A → B vera, supponendo di avere una prova (nel suo senso) delle

Estrarre tutti i dati delle tabelle tempo e comune anche se il comune non è stato definito nella tabella comuni.. Join tra tabelle. SELECT C. comune from tempo )

Creare un utente con user mariorossi e password prova Accedere a mysql col nuovo utente..

•• Ogni formula atomica o composta della logica dei predicati del primo Ogni formula atomica o composta della logica dei predicati del primo ordine può assumere il valore vero o

Questa pagina può essere fotocopiata esclusivamente per uso didattico - © Loescher Editore..

Frege al termine del secolo XIX, la logica ha imparato a simbolizzare con lettere o altri segni non solo le variabili, gli argomenti dei predicati, ma i predicati stessi (terminali e