Sunteți pe pagina 1din 20

Elemente de logic

a matematic
a

9 noiembrie 2004

- Calcul propozitional
- Calculul predicatelor
- Proceduri de decizie pt. realizabilitate
- Demonstrare de teoreme prin rezolut ie

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 2

Logica propozit
ional
a. Sintax
a

Simbolurile logicii propozit ii atomice p, q, r,


ionale: propozit
conectorii
si , si parantezele ( ).
Formulele logicii propozit
ionale:
orice propozitie atomic
a este o formul
a
daca este o formula, atunci () este o formul
a.
daca si sunt formule, atunci este o formul
a.
Operatorii cunoscut
i pot fi introdu
si ca
si abrevieri:
def
( ) = (( ()))
def
( ) = (() )
def
( ) = (( ) ( ))
Notatie simplificata: f
ar
a paranteze redundante;
precedent a: , , , , ; asociativitate la dreapta pt. .

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 3

Funct
ii de adev
ar (evalu
ari)

O functie de adev ar v: definit


a pentru toate formulele propozit
ionale,
cu valori n {T, F} astfel inc
at:
v(p) e definit
( a pentru fiecare propozitie atomic
a p.
T dac a v() = F
v() =
F dac a v() = T
(
F dac a v() = T si v() = F
v( ) =
T n caz contrar
interpretare = o evaluare pentru propozit
iile atomice ale unei formule
O intrepretare satisface o formul
a dac
a aceasta e evaluata la T
(se spune ca interpretarea e un model pentru formula respectiva).
formul
a valid
a (tautologie): adev arata n toate interpretarile
formul
a realizabil
a (satisfiable): adevarat a n cel put
in o interpretare
formul
a nerealizabil
a (contradict ie): falsa n orice interpretare

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 4

Abordare semantic
asi sintactic
a

Abordare semantic
a, bazat
a pe implicat
ia logic
a (adev
arul logic)

H |=

O multime de formule H implic a o formul


a daca orice functie de
adev
ar care satisface H (adic
a toate formulele din H) satisface pe .

Abordare sintactic
a: demonstrat
ia logic
a
bazat
a pe manipularea sintactic
a a formulelor:
Este o teorema demonstrabil
a dintr-un set de axiome, pe baza unor
reguli de deduct
ie ?

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 5

Axiome
si reguli de deduct
ie

Scheme de axiome pentru logica propozit


ional
a:
A1: ( ( ))
A2: (( ( )) (( ) ( )))
A3: ((() ()) ((() ) ))
(denumite scheme pentru c a axiomele se obt
in particulariz
and
cu formule individuale din logica propozit
ional
a)

Introducem o singura regul


a de deduct
ie (modus ponens, MP):
si putem deduce .
Din formulele

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 6

Deduct
ie

Fie H o mult ime de formule. Se nume ste deduct ie din H un sir de


formule A1, A2, , An, astfel ca:
1. Ai este o axiom a, sau
2. Ai este o formul a din H, sau
3. Ai rezult
a prin MP din doi membri anteriori Aj , Ak cu j < i, k < i.
Spunem c a An rezult a din H (e deductibil, e consecint a): H ` An

Exemplu: demonstram ca ( )
(1) (( ) )) A1
(2) (( ) )) (( ( ) ( )) A2
(3) ( ( ) ( ) MP(1,2)
(4) ( ) A1
(5) MP(3,4)

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 7

Teorema deduct
iei

Fie H o mult ime de formule si , doua formule.


Atunci H ` dac asi numai dac a H {} ` .
- utilizat
a ca regul
a de inferent
a suplimentara, simplific
a demonstrat
iile

Alte corolarii:
a H`
- dac si H ` , atunci H `
a GH
- dac si G ` , atunci H `
a H`G
- dac si G ` , atunci H `

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 8
Consistent
a
si completitudine

Not
iuni care stabilesc corespondenta ntre abordarea sintactic
a, bazat
a
pe deductie,
si cea semantic
a, bazata pe valoarea de adev ar.
Consistent

a: Dac a H e o mult
ime de formule, si este o formul
a astfel
ca H ` , atunci H |= .
(Orice teorema n logica propozit
ional
a este o tautologie).
Completitudine: Dac a H e o mult
ime de formule, si este o formul
a
astfel ca H |= , atunci H ` . (Orice tautologie este o teorema).
Demonstrat
ia: bazat
a pe urm
atoarele not
iuni
si rezultate auxiliare:
O mult ime de formule H este inconsistent
a dac
a exist
a o formul
a
astfel ncat H `
si H ` .
Orice mult
ime consistenta de formule poate fi extinsa la o multime
maximal consistent
a (ad
augarea oric
arei formule o face inconsistent
a).
O mult
ime de formule este consistent
a dac
asi numai dac
a e realizabil
a.
Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 9

Limbaje de ordinul I

Simbolurile unui limbaj de ordinul I sunt:


- parantezele ( )
- conectorii
si
- cuantificatorul (universal)
- o multime de identificatori v0, v1, pentru variabile
- o multime (posibil vid
a) de simboluri pentru constante
- pt. orice n 1 o multime de simboluri de funct ii n-are
- pt. orice n 1 o multime de simboluri de predicate (relat ii) n-are

Limbajele de ordinul I cu egalitate: cont


in
si = ca simbol special pe
l
ang
a cele de mai sus.

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 10

Termeni
si formule de ordinul I

Termenii unui limbaj de ordinul I (definit i structural recursiv)


- orice simbol de variabil a vn
- orice simbol de constant a c
- f (t1, , tn), dac
a f e un simbol de functie n-ar si t1, , tn sunt
a
termeni

Formulele (bine formate) (well-formed formulas) unui limbaj de ord. I:


- P (t1, , tn), unde P e un predicat n-ar si t1, , tn sunt termeni
- t1 = t2, unde t1 si t2 sunt termeni (pt. limbaje cu egalitate)
- , unde este o formul a
- , unde , sunt formule
- vn unde vn e o variabil a si e o formul
a

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 11
Interpret
ari
si evalu
ari

a) I pt. limbajul de predicate L const


O interpretare (structur a din:
- o mult
ime nevida U numita universul sau domeniul lui I
(mult
imea valorilor pe care le pot lua variabilele)
- pentru orice simbol de constant a c, o valoare cI U
- pentru orice simbol de functie n-ar ie f : U n U
a f , o funct
- pentru orice simbol de predicat n-ar P , o submult ime PI U n.
Fie I o interpretare cu univers U pentru L, si fie V mult imea tuturor
simbolurilor de variabile din L. O evaluare este o funct ie s : V U .
Extinz
and evaluarea s la termeni si formule obt
inem o funct ie (valoare)
de adevar pentru formulele din L. Not am I |= s() sau I |= [s].
Definim: I |= s(x) dac a I |= s(xd() pentru orice d U , unde
d dac
a variabila v este x
sxd este atribuirea sxd(v) =
s(v) pentru orice alta variabila v
am I |= (I e un model pt. ) dac
Not a I |= s() pt. orice evaluare s.
Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 12

Axiomele calculului predicatelor

Definim: variabila x se poate substitui cu termenul t n y dac a:


- x nu apare liber n sau
- y nu apare n t
si x se poate substitui cu t n
A1: ( ( ))
A2: (( ( )) (( ) ( )))
A3: ((() ()) ((() ) ))
A4: (x( ) (x x))
A5: (x [x t]), dac a x poate fi substituit cu t n
A6: ( x) dac a x nu apare liber n
Pentru egalitate, ad aug
am si
A7: x = x
A8: x = y =
unde se obt ine din nlocuind oric
ate din aparitiile lui x cu y.

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 13

Consistent
a
si completitudine

Fie H o multime de formule si o formula. Spunem c a H implic


a
(H |= ) dac
a pentru orice interpretare I, I |= H implic
a I |= .
Calculul predicatelor de ordinul I este consistent
si complet (la fel ca

si logica propozit
ional
a):
Pentru orice mult
ime de ipoteze H, a , H ` dac
si orice formul a
si
numai daca H |= .
Obs: Not iunea de completitudine de mai sus este diferit
a de cea de a
stabili daca din axiome se poate deduce orice formul
a (sau negatia ei).
Intrebarea dac
a H ` este n general nedecidabil
a.

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 14

Realizabilitate. Aplicat
ii

Problema: S
a se determine dac
a o formul
a propozit
ional
a e realizabil
a.

Contextul: n general, formule complexe, de sute sau mii de variabile.


Problema apare:
- n determinarea echivalent
ei a dou
a circuite sau modele
- ca pas elementar n demonstrarea de teoreme
- folosire n loc de BDD-uri pentru model checking simbolic
Reprezentarea: form
a canonic
a (normal
a) conjunctiv
a
Proceduri de decizie performante: bazate pe algoritmul Davis-Putnam.
Not iuni: clauz
a unitate: format
a dintr-un singur literal
literal pur: apare numai pozitiv (similar: numai negat)

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 15

Algoritmul Davis-Putnam

function Satisfiable (lista de clauze S)


repeat
for fiecare clauza unitate sau literal pur L din S do
elimin
a toate clauzele ce cont in L
a L din toate clauzele
elimin
if S e vid
a return TRUE
elsif S contine clauza nula return FALSE
until nu mai apar modific ari
alege un literal L din S pt. descompunere (adev arat/fals)
if Satisfiable (S {L}) return TRUE
elsif Satisfiable (S {L}) return TRUE
else return FALSE

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 16

Demonstratoare de teoreme

O mare varietate:
- pentru demonstrarea de rezultate din matematic a
- pentru verificarea de sisteme (n special programe)
In general, realizate pentru logici de ordin superior
- admit tipuri descrise prin intermediul predicatelor
- au capabilit
a
ti de induct
ie
- prin nl
ant
uire nainte (deriv
a teoreme apropiindu-se de scop)
- sau napoi (genereaz a concluzii intermediare pentru scopul dat)
- aplicarea regulilor de inferent a: controlat
a prin tactici

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 17

Metoda rezolut
iei. Form
a clauzal
a

Orice formul a f
ar
a variabile libere din calculul predicatelor poate fi
scris
a n form
a clauzal
a trecand printr-o serie de 8 pa
si simpli.
Exemplu: Pornim de la
x[P (x) y(D(x, y) (E(f (x), y) E(x, y))] xP (x)
a de , , :
(1) Eliminarea tuturor conectorilor n afar
x[P (x) y(D(x, y) (E(f (x), y) E(x, y)))] xP (x)
(2) Translatarea negat iilor n
auntru, p
an
a la predicate:
x[P (x) y(D(x, y) E(f (x), y) E(x, y))] xP (x)
(3) Redenumirea variabilelor, cu nume unic pt. orice cuantificator
x[P (x) y(D(x, y) E(f (x), y) E(x, y))] zP (z)

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 18

Forma clauzal
a (cont.)

(4) Eliminarea cuantificatorilor existentiali (skolemizare)


Pentru y situat n interiorul unui cuantificator x, se creeaz
a o funct
ie
Skolem y = g(x) (valoarea lui y depinde n general de cea luat a de x).
Altfel, se alege o nou a constanta Skolem.
x[P (x) (D(x, g(x)) E(f (x), g(x)) E(x, g(x)))] P (a)
(5) Se aduce la forma normal a prenex (tot i cuantificatorii n fat
a):
x([P (x) (D(x, g(x)) E(f (x), g(x)) E(x, g(x)))] P (a))
(6) Se elimina prefixul cu cuantificatorii universali
[P (x) (D(x, g(x)) E(f (x), g(x)) E(x, g(x)))] P (a)
(7) Se converteste la forma normal a conjunctiv a
(P (x)D(x, g(x)))(P (x)E(f (x), g(x)))(P (x)E(x, g(x)))P (a)
a
(8) Se elimin si se scriu disjunct
ii ca
si clauze separate

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 19

Principiul rezolut
iei

Fie dou a clauze, scrise ca si multimi de termeni disjunctivi.


Consider am nt
ai cazul formulelor propozit ionale.
Numim rezolvent a dou a clauze C1, C2 n raport cu literalul l
(pentru care l C1, (l) C2): rezl (C1, C2) = (C1 \ {l}) (C2 \ {l}).
Exemplu: rezp({p, q, r}, {p, s}) = {q, r, s}.
(p q r) (p s) (q r s)
Propozit ie: C1, C2 |= rezl (C1, C2).
Corolar: C1 C2 e realizabil a dacas. n. daca rezl (C1, C2) e realizabil
a.
Determin am realizabilitatea unei formule n forma normal
a conjunctiv
a
repet
and ad augarea de rezolventi, si verific
and dac
a se poate deduce
clauza vida.

Verificare formal
a. Curs 6 Marius Minea
Elemente de logic
a matematic
a 20

Unificarea termenilor

Pentru calculul predicatelor, proced am la fel; n loc de un literal l si


negatia lui, l consider
am ns ia l0 a unul literal l0 are s
a negat a poat
a
fi unificat cu el.
Doi literali se pot unifica dac a exista o substitut ie de termeni pentru
variabilele care apar, astfel nc
at literalii s
a devin
a identici.
Exemplu: P (a, x, y)
si P (z, f (z), b) se pot unifica n P (a, f (a), b).
Pentru a unifica doi literali: se unific a succesiv termenii de pe aceeasi
pozit
ie a argumentelor (pt. funct ii
si predicate) p
an
a c
and se ajunge la
acelasi literal, sau unificarea devine imposibil a (se ajunge la simboluri
de funct ii diferite, sau la unificarea lui x cu un termen ce cont ine pe x)

Verificare formal
a. Curs 6 Marius Minea

S-ar putea să vă placă și