Sunteți pe pagina 1din 12

Logica Computationala

Problema,solutie,context

O problemă este o situație în care un anume obiect sau stare sunt dorite, dar nu sunt disponibile.

O soluție a unei probleme reprezintă un mod de a face disponibile obiectul sau starea care sunt
dorite.

Rezolvarea problemelor este procesul prin care lumea care conţine problema se transformă în lumea
cu soluţie.

Rationament,proprietatile rationamentului

Raţionamentul este procesul prin care se transformă un model intelectual ce conţine o problemă
într-un model intelectual, caracterizat de următoarele proprietăţi:

1. Abstract: Raționamentul operează într-un model intelectual. După ce modelul este construit,
nu mai există legătură cu lumea (universul) pe care o descrie. Această proprietate asigură:
• puterea raționamentului: este reversibil, rapid, ieftin (totul se întâmplă în mintea noastră),
• limitările raționamentului: modelele construite pot fi inadecvate, concentrându-se pe
anumite aspecte ale universului de discurs, dar ignorând altele (și se pierde legătura cu
realitatea). Această situație a dus de fapt la seria de crize pe care le parcurge omenirea:
ecologică, tehnologică, economică, socială.

2. Verificabil: Raționamentul se desfășoară în pași mici, pe care toată lumea îi poate efectua. Aceşti
paşi au o natură „deterministă”, în sensul că un pas de raționament aplicat într-o anumită situație va
produce întotdeauna aceleași modificări în model, indiferent cine aplică acel pas. Acești pași de
raționament se vor numi reguli de raționament, și mulțimea de reguli de raționament va forma
sistemul de raționament (împreună cu o descriere a modului în care se construiește o soluție și cum
arată aceasta).

3. Corect: Raționamentul transportă „adevărul”. Modelul intelectual conţine imagini (intelectuale)


ale unor obiecte şi situaţii din universul de discurs. În consecinţă, acestea sunt „adevărate”. Prin
aplicarea regulilor de raţionament, modelul iniţial se modifică, prin adăugarea de noi imagini (de
obiecte sau situaţii din universul de discurs). Aceste noi imagini trebuie să aibă un corespondent în
universul de discurs, adică atunci când „ne întoarcem”, imaginile (noi) trebuie să corespundă unor
obiecte sau situaţii care pot fi construite/au loc în universul de discurs. Altfel spus, când pornim de la
ceva „adevărat”, prin aplicarea unui pas de raționament trebuie să obținem ceva ce este tot
„adevărat”. Prin raţionament nu putem construi obiecte sau situaţii care nu există în universul de
discurs.

4. General: Prin raţionament trebuie să putem rezolva clase întregi de probleme, un număr potenţial
infinit.

Limbajul
Un limbaj (care urmează să fie folosit pentru a construi modele și a rezolva probleme) este definit
de:

• sintaxa limbajului care cuprinde: – vocabularul – simbolurile folosite pentru a forma expresii, –
regulile după care sunt formate expresiile care aparțin limbajului
• semantica limbajului – înțelesul expresiilor, modul în care expresiile descriu obiecte și realități în
universul de discurs

Fiind dat un limbaj (sintaxa, semantica), un sistem de raţionament constă în descrierea:

• problemei,

• paşilor de raţionament,

• modului în care paşii de raţionament sunt aplicaţi pentru a construi soluţia problemei

Logica
Logica (logica matematică, logica simbolică, metamatematica) este un domeniu științific care se
ocupă cu studiul sistemelor de raţionament, prin aplicarea metodei matematice asupra problemei
raţionamentului. Nu în ultimul rând, logica computaţională reprezintă aspectul din logică ce se referă
la automatizarea raţionamentului, sau raţionament despre calcul mecanic (automat).

O logică este formată din:

• un limbaj (sintaxă, semantică),

• un model,

• un sistem de raţionament, incluzând reguli şi modul de aranjare a acestora într-o soluţie,

• o mulţime de proprietăţi (demonstrate) legate de sistemul de raţionament.


Limbaje: proprietati si clasificare
Limbajele universale sunt limbaje care sunt suficient de puternice pentru a descrie orice univers de
discurs, și pentru a exprima orice soluții la probleme (ce pot 10 fi descrise și au soluții). Un astfel de
limbaj este limbajul logicii predicatelor.

Limbajele speciale sunt limbaje relativ simple, și care pot descrie doar universuri limitate. Motivul
pentru care aceste limbaje sunt de preferat (în cazul în care pot exprima problema de interes şi
soluţia acesteia), este tocmai simplitatea, care oferă proprietăţi mai bune, care în general nu sunt
disponibile pentru limbaje mai complicate.Exemple de limbaje speciale sunt logica propozițională.

Limbajele descriptive sunt folosite pentru a descrie obiecte, situații, cunoștințe. Un exemplu îl
reprezintă limbajul matematicii „tradiționale” sau „pure”.

Limbajele algoritmice sunt folosite pentru a descrie acțiuni, pași pentru rezolvarea problemelor.
Exemple sunt limbajele de programare. De notat însă că aceste aspecte nu ar trebui separate.
Folosirea celor două aspecte, descriptiv și algoritmic, în același limbaj îi mărește puterea din punct
de vedere practic. Cele două aspecte sunt fețe diferite ale aceleiași monede.

Limbajele naturale sunt limbaje învățate în context (aflându-ne între cei care folosesc un limbaj,
începem să recunoaștem și să învățăm sintaxa, semantica, sistemul de raționament, într-o manieră
evoluționară).

Pentru limbaje formale, vocabularul, sintaxa, semantica și sistemul de raționament sunt descrise și
definite precis, și apoi pot fi folosite conform definiției. De exemplu, putem spune că în mare măsură
oamenii învăță matematica în context, și numai mai târziu aceasta devine un limbaj formal.
Metalimbaj și limbaj obiect Un metalimbaj este un limbaj care se folosește pentru a defini un alt
limbaj (numit limbajul obiect) și pentru a raționa despre proprietățile acestuia. Să observăm că
aceștia nu sunt termeni absoluți, un limbaj poate juca rolul unui metalimbaj (vom folosi limbajul naiv
al teoriei mulțimilor pentru a defini logicile pe care le studiem şi vom folosi raţionamentul pe care l-
am învăţat ), iar mai târziu același limbaj poate fi definit formal (jucând rolul unui limbaj obiect).

Model: consistenta

Rolul axiomelor este acela de a descrie comportamentul obiectelor de interes, noţiunile de bază. În
particular, axiomele sunt afirmaţii considerate adevărate, dar justificarea acestui fapt vine tocmai
din faptul că acestea descriu universul de discurs, comportamentul şi relaţiile dintre obiectele
acestui univers.

Corectitudinea. Există două abordări posibile pentru stabilirea corectitudinii regulilor de


rationament:

• abordarea evoluţionară: anumite reguli de raţionament sunt corecte pentru că în decursul


timpurilor acestea au fost observate şi verificate în numeroase instanţe de către numeroşi
observatori şi au fost acceptate ca fiind corecte.

• abordarea formală: presupune folosirea unui metalimbaj şi a unui sistem de raţionament


corespunzător acestuia pentru a stabili corectitudinea regulilor de inferenţă.

Completitudinea. Gödel a demonstrat ca logica predicatelor are această proprietate: orice afirmaţie
„adevărată” are o demonstraţie în sistemul de raţionament al logicii predicatelor (de ordinul întâi).

Limite. Gödel a arătat că pentru situaţia în care modelul este consistent şi conţine aritmetică
(numere naturale), atunci există afirmaţii exprimate în limbajul respectiv (logica predicatelor de
ordinul întâi) care nu pot fi nici demonstrate nici respinse.

Decidabilitatea. O altă întrebare importantă este decidabilitatea unei probleme: pentru o problemă
dată, există o metodă mecanică (algoritm) prin care să se ajungă la un răspuns „da” sau „nu”, adică
să se decidă dacă problema are soluţie, sau nu are soluţie. Pentru logica predicatelor, Church şi
Turing, au arătat că acest lucru nu este posibil. De exemplu, problema opririi unei maşini de calcul –
dacă pentru orice date de intrare o maşină de calcul se va opri şi va da un răspuns sau calculează la
nesfârşit – este în general nedecidabilă.

Complexitate. Dacă o problemă se poate rezolva automat, o problemă importantă este


complexitatea soluţiei. Există clase de probleme pentru care complexitatea este prea mare, adică
timpul şi/sau spaţiul de memorie necesare sunt prea mari pentru a rezolva probleme în practică.

Logica propozitiilor
Sintaxa.Expresiile logicii propoziţiilor

(Vocabularul logicii propoziţiilor).Simbolurile logicii propoziţiilor sunt:

• V mulţimea (numărabilă) a variabilelor propoziţionale (nume de propoziţii). Vom nota propoziţiile


folosind majuscule, eventual cu indecşi A, B, P, Q, P1, P2 . . ..

• Simbolurile rezervate: – conectori logici: ¬ (negaţia), ∧ (conjuncţia), ∨ (disjuncţia), ⇒ (implicaţia),


⇔ (echivalenţa), – ( ) paranteze
(Formule bine formate). O formula bine formata in logica propozitiilor se defineste recursiv in modul
urmator:

(i) Daca P e atom atunci P este formula bine formata


(ii) Daca P e formula bine formata atunci ¬P este formula bine formata
(iii) Daca P si Q sunt fomule bine formate atunci P∧Q, P∨Q, P⇒Q, P⇔Q sunt formule bine
formate
(iv) Multimea formulelor bine formate se obtine prin aplicarea repetata de un numar
finit de pasi a-i etapelor (i),(ii) si (iii) din definitie.
Sintaxa abstracta

(Arbori (ordonaţi)). Un arbore ordonat este definit în modul următor:

• arborele vid,

• arborele nevid, format dintr-un nod rădăcină şi o listă (posibil vidă) de subarbori.

(Sintaxa abstractă a formulelor logicii propoziţiilor). Fie P(V) mulţimea propoziţiilor peste variabilele
propoziţionale V. Atunci sintaxa abstractă a formulelor logicii propoziţiilor este reprezentată de
următorii arbori:

• Dacă A ∈ P(V) este formulă atomică:

• Dacă F, G ∈ P(V), pentru formulele compuse (¬F),(F□G), unde □ ∈ {∧, ∨, ⇒, ⇔}:

Semantica.Valori de adevar,interpretari,valoare sub interpretare.


(Domeniu de valori de adevăr). Considerăm două obiecte (valori) distincte A, F. Domeniul valorilor
de adevăr este reprezentat de mulţimea {A, F}. Această mulţime este considerată total ordonată, F <
A.

(Funcţii de adevăr corespunzătoare conectorilor logici). Definim următoarele funcţii de adevăr


corespunzătoare conectorilor propoziţionali: B¬ : {A, F} −→ {A, F}, B∧, B∨, B⇒, B⇔ : {A, F} × {A, F} −→
{A, F}

(Interpretare pentru variabile propoziţionale). Fie (V ) mulţimea variabilelor propoziţionale. O


interpretare pentru variabilele propoziţionale din V este o funcţie I : V −→ {A, F}.

(Valoarea unei formule sub interpretare). Fie F ∈ P(V) o propoziţie, I : V −→ {A, F} o intepretare.
Valoarea propoziţiei F sub intepretarea I, υI(F), este definită după cum urmează:

• Dacă A este un atom, υI(A) = I(A).


• Dacă F, G ∈ P(V), atunci

υI(¬F) = B¬(υI(F)),

υI((F ∧ G)) = B∧(υI(F), υI(G)),

υI((F ∨ G)) = B∨(υI(f), υI(G)),

υI((F ⇒ G)) = B⇒(υI(F), υI(G)),

υI((F ⇔ G)) = B⇔(υI(F), υT (F)).

Validitate.Satisfiabilitate
(Formule valide, formule invalide). Formula P este validă în logica propoziţiilor dacă şi numai dacă,
pentru orice interpretare I, υI(P) = A (adică formula este adevărată pentru orice interpretare).
Formula P este nevalidă dacă şi numai dacă nu este validă, adică dacă există o interpretare I astfel
încât υI(P) = F.

(Formule satisfiabile, formule nesatisfiabile). Formula P este satisfiabilă în logica propoziţiilor dacă şi
numai dacă există o interpretare I astfel încât υI(P) = A (adică formula este adevărată pentru unele
interpretări). Formula P este nesatisfiabilă dacă şi numai dacă nu este satisfiabilă, adică pentru orice
interpretare I, υI(P) = F.

(Tabele de adevăr). Fie P ∈ P(V). Un tabel de adevăr corespunzător unei formule propoziţionale este
un tabel construit după cum urmează:

1. Pe primul rând se listează toate variabilele propoziţionale ce apar în formulă, apoi se listează toate
subformulele (de exemplu parcurgând arborele abstract corespunzător formulei de la frunze spre
rădăcină), începând cu cele mai mici, ultima fiind formula P.

2. În coloanele corespunzătoare variabilelor propoziţionale se listează toate interpretările


variabilelor propoziţionale:

a) prin enumerare, pornind de la valorile F, F, · · · , F până la A, A, · · · , A, folosind


corespondenţa F ↔ 1, A ↔ 1 şi faptul că o astfel de secvenţă poate fi văzută ca un număr în
reprezentare binară: fiecare secvenţă este obţinută din precedenta adăugând 1 la reprezentarea
binară corespunzătoare;

b) prin înjumătăţire, pentru prima coloană, punem jumătate din valori (2 n−1 pentru n variabile)
F şi jumătate A, apoi pentru următoarea înjumătăţim fiecare secvenţă, dacă în coloana din stânga
avem o secvenţă de valori F, atunci în coloana curentă punem jumătate din ele F şi jumătate A, până
când, pe ultima coloană avem alternanţă F, A.

3. În coloanele corespunzătoare subformulelor compuse vom pune valoarea subformulei sub


interpretarea corespunzătoare fiecărei linii. În mod convenabil, dacă fiecare linie se completează de
la stânga la dreapta, valorile componentelor se pot lua din tabel.

Echivalenta logica
(Echivalenţă logică). Fie P, Q ∈ P(V). Propoziţiile P şi Q sunt echivalente logic, şi scriem P ∼ Q dacă şi
numai dacă, pentru orice interpretare I, υI(P) = υI(Q).

(Formula falsă, formula adevărată). ⊥, ⊤ ∈ P(V), unde pentru orice interpretare I,

• υI(⊥) = F • υI(⊤) = A.
• Legi de reducere: • Legi asociative:

(a) (F ⇔ G) ∼ (F ⇒ G) ∧ (G ⇒ F), (a) (F ∨ G) ∨ H ∼ F ∨ (G ∨ H),

(b) (F ⇒ G) ∼ (¬F ∨ G). (b) (F ∧ G) ∧ H ∼ F ∧ (G ∧ H),

• Legi comutative: (c) (F ⇔ G) ⇔ H ∼ F ⇔ (G ⇔ H).

(a) F ∨ G ∼ G ∨ F, • Legi pentru „adevărat” şi „fals”:

(b) F ∧ G ∼ G ∧ F, (a) ¬⊤ ∼ ⊥, (d) F ∧ ⊤ ∼ F, (g) ⊥ ⇒ F ∼ ⊤,

(c) F ⇔ G ∼ G ⇔ F. (b) ¬⊥ ∼ ⊤, (e) F ∨ ⊤ ∼ ⊤, (h) F ⇒ ⊤ ∼ ⊤.

(c) F ∨ ⊥ ∼ F, (f) F ∧ ⊥ ∼ ⊥,

• Legi distributive: • Reguli de idempotenţă:

(a) F ∨ (G ∧ H) ∼ (F ∨ G) ∧ (F ∨ H), (a) F ∧ F ∼ F,

(b) F ∧ (G ∨ H) ∼ (F ∧ G) ∨ (F ∧ H), (b) F ∨ F ∼ F.

(c) (F ∨ G) ⇒ H ∼ (F ⇒ H) ∧ (G ⇒ H), • Reguli de absorbţie (subsumpţie):

(d) (F ∧ G) ⇒ H ∼ (F ⇒ H) ∨ (G ⇒ H), (a) F ∨ (F ∧ G) ∼ F,

(e) F ⇒ (G ∨ H) ∼ (F ⇒ G) ∨ (F ⇒ H), (b) F ∧ (F ∨ G) ∼ F.

(f) F ⇒ (G ∧ H) ∼ (F ⇒ G) ∧ (F ⇒ H), • Reguli pentru negaţie:

(g) (F ∧ G) ⇒ H ∼ F ⇒ (G ⇒ H). (a) ¬(¬F) ∼ F, („negaţie dublă”)

• Reguli de anihilare: (b) ¬(F ∨ G) ∼ ¬F ∧ ¬G, („De Morgan”)

(a) F ∨ ¬F ∼ ⊤, („tertium non datur”) (c) ¬(F ∧ G) ∼ ¬F ∨ ¬G, („De Morgan”)

(b) F ∧ ¬F ∼ ⊥, (d) ¬(F ⇒ G) ∼ F ∧ (¬G),

(c) F ⇒ F ∼ ⊤. (e) ¬(F ⇔ G) ∼ F ⇔ (¬G).

• Alte reguli:

(a) F ⇒ G ∼ F ⇔ (F ∧ G),

(b) F ⇒ G ∼ G ⇔ (F ∨ G).

Consecinta logica
(Consecinţă logică în logica propoziţiilor). Fie F1, . . . , Fn, G ∈ P(V), propoziţii. G este o consecinţă
logică a propoziţiilor F1, . . . , Fn, şi notăm F1, . . . , Fn ⊨ G dacă şi numai dacă pentru orice
interpretare I, dacă υI(F1) = . . . = υI(Fn) = A, atunci υI(G) = A.

(Teorema de deducţie pentru logica propoziţiilor). Fie F1, . . . , Fn, G ∈ P(V), formule propoziţionale.
F1, . . . , Fn ⊨ G dacă şi numai dacă ((F1 ∧ . . . ∧ Fn) ⇒ G) este validă.

(Caracterizare alternativă a consecinţei logice). Fie F1, . . . , Fn, G ∈ P(V), formule propoziţionale. F1, .
. . , Fn ⊨ G daca si numai daca (F1 ∧ . . . ∧ Fn ∧ ¬G) este nesatisfiabilă.

(Caracterizarea echivalenţei logice). Fie F, G ∈ F(V) propoziţii. Atunci F ∼ G dacă şi numai dacă (F ⇔
G).
Conjunctii si disjunctii de formule
(Conjuncţie de formule). Fie F1, . . . , Fn ∈ P(V) formule propoziţionale. Atunci F1 ∧ . . . ∧ Fn ∈ P(V),
unde n ≥ 1. Formula se cheamă conjuncţia formulelor F1, . . . , Fn. Valoarea formulei sub
interpretarea I este: υI(F1 ∧ . . . ∧ Fn) = B∧(υI(F1), . . . , υI(Fn)), unde

(Disjunctia de formule). Fie F1, . . . , Fn ∈ P(V) formule propoziţionale. Atunci F1 ∨ . . . ∨ Fn ∈ P(V),


unde n ≥ 1. Formula se cheamă disjuncţia formulelor F1, . . . , Fn. Valoarea formulei sub
interpretarea I este: υI(F1 ∨ . . . ∨ Fn) = B∨(υI(F1), . . . , υI(Fn)), unde

Functii boolene
(Funcţii de adevăr descrise de formule propoziţionale.). Fie F ∈ P(V) o formulă propoziţională. Fie A1,
. . . , An ∈ V atomii ce apar în F. Atunci funcţia de adevăr descrisă de formula F, [F]n este definită
după cum urmează:

Circuite digitale
(Circuite digitale). Circuitele digitale sunt circuite electronice ale căror intrări şi ieşiri sunt semnale
electrice de voltaje diferite, de obicei distingându-se 2 valori (voltaj ridicat sau voltaj scăzut).
Circuitele digitale combinatoriale sunt circuite digitale ale căror ieşiri sunt determinate exclusiv de
valorile de intrare.

Multimi complete de conectori logici


(Mulţimi complete de conectori logici). Fie M o mulţime de conectori logici. Spunem că M este o
mulţime completă de conectori logici dacă şi numai dacă pentru orice F ∈ P(V) există G ∈ P(V) astfel
încât F ∼ G şi G foloseşte doar conectori din M.

Forma Normal Disjunctiva

1.Se porneste de la tabelul de adevar identificand corect numarul de intrari si de iesiri din
specificatile problemei.

2.Din tabelul de adevar se extrag acele interpretari care produc rezultat adevarat pentru functia
output.

3.Pentru fiecare astfel de intrare se realizeaza o conjunctie dintre literarii din care provine astfel
incat daca literalul este fals,se va introduce negat si daca este adevarat,se va introduce ca
atare.Fiecare din astfel de interpretare genereaza o subformula.
4.Pentru a obtine formula asociata functiei logice, se realizeaza disjunctie a subformulelor obtinute
anterior.

Forma normal conjunctiva


1.Se considera doar intrarile din tabel care au rezultat fals.

2.Pentru fiecare astfel de intrare, se face disjunctie de literali astfel incat daca literalul este adevarat,
se va introduce negat iar daca este fals, se introduce ca atare.

3.Subformulele astfel obtinute se leaga cu conjunctii.

Forma normal negative


1.Se folosesc regulile de reducere pentru a elimina „⇔” si „⇒”.

2.Se repeta dubla negatie si De Morgan pentru a elimina “¬¬” si “¬(…)”.

3.La fiecare pas de mai sus, este util sa se efectueze simplificari ale “⊤” si “⊥” folosind regulile.

Metoda rezolutiei
1.Se aduce formula la FNC.

2.Se extrag clauzele.

3.Se identifica perechile de clauze care duc la eliminarea unui literar.

4.Se calculeaza rezolventa celor doua clauze si se adauga la setul de clauze daca nu s-a obtinut
clauza triviala.

5.Algoritmul se termina daca se obtine clauza vida, caz in care rezultatul este de nesatisfiabilitate,
sau daca toate clauzele au fost rezolvate,caz in care avem satisfiabilitate.

DP
1.Daca exista o clauza care continue un singur literar atunci toate clauzele care contin acelasi literal
se sterg iar din clauzele care raman se elimina orice aparitie a complementarului literalului.(Regula
clauzei cu un literal)

2.Daca printre clauze exista unele care contin un literal doar pozitiv sau doar negativ se sterg aceste
clauze.(Regula literalului pur)

3.Se aplica rezolutia.

4.Algoritmul se opreste daca se obtine clauza vida sau daca niciuna din regulile anterioare nu poate
fi aplicata.

DPLL
1.Regula clauzei cu un literal.

2.Regula literalului pur.

3.Regula impartirii dupa un literal.

Logica Predicatelor
Sintaxa
(Vocabularul logicii de ordinul întâi). Simbolurile limbajului logicii de ordinul întâi sunt:

• V - mulţimea (numărabilă) de variabile obiect. Faptul că mulţimea este numărabilă ne asigură că


putem lua o variabilă nouă de câte ori este nevoie.

Notaţie: Prin convenţie, variabilele vor fi notate cu litere mici, de la sfârşitul alfabetului, eventual
folosind indecşi: x, y, z, x1, x2, y5, etc.

• L - mulţimea simbolurilor limbajului (signatura), care conţine:

– F - simbolurile funcţionale (nume de funcţii): nume pentru funcţii din universul de interes. Pentru
fiecare astfel de nume, vom ataşa aritatea, numărul de argumente a funcţiei descrise de fiecare
nume.

– P - simbolurile predicative (predicate, nume de relaţii): nume pentru relaţii din universul de
interes. Pentru fiecare astfel de predicat vom ataşa aritatea, numărul de argumente din relaţia
descrisă de predicatul respectiv.

– C - simboluri constante (nume de constante): nume pentru obiecte din universul de discurs.

• Simboluri rezervate:

– (,) – paranteze şi delimitator (virgula)

– conectori logici: ¬ (negaţia), ∧ (conjuncţia), ∨ (disjuncţia), ⇒ (implicaţia), ⇔ (echivalenţa),

– cuantificatori: ∀ (cuantificatorul universal), ∃ (cuantificatorul existenţial).

(Formulele logicii predicatelor de ordinul întâi). Fie V mulţimea de variabile, L mulţimea simbolurilor
(signatura) unui limbaj al predicatelor de ordinul întâi. Mulţimea formulelor peste L şi mulţimea de
variabile V, notată F(L, V) este definită după cum urmează:

• Dacă P/n ∈ P şi t1, . . . , tn ∈ T(L, V), atunci P(t1, . . . , tn) ∈ F(L, V). (Un predicat aplicat unui număr
corespunzător – cu aritatea sa – de termeni este o formulă, numită formulă atomică).

• Dacă F, G ∈ F(L, V), atunci:

(¬F) ∈ F(L, V).

Negaţia unei formule este o formulă, se citeşte „negaţia lui F” sau „nu F”.

(F ∧ G) ∈ F(L, V).

Conjuncţia a două formule este o formulă, se citeşte „F şi G”

(F ∨ G) ∈ F(L, V).

Disjuncţia a două formule este o formulă, se citeşte „F sau G”.

(F ⇒ G) ∈ F(L, V).

Implicaţia a două formule este o formulă, se citeşte „F implică G” sau „dacă F atunci G”.

(F ⇔ G) ∈ F(L, V).

Echivalenţa a două formule este o formulă, se citeşte „F echivalent cu G” sau „F dacă şi numai dacă
G”.
Aceste formule, formate din alte formule legate prin conectori logici, se cheamă formule compuse. •
Dacă x ∈ V şi F ∈ F(L, V), atunci ∀xF ∈ F(L, V), ∃xF ∈ F(L, V).

În ambele cazuri, x se zice că este variabilă legată de cuantificator (universal, respectiv existenţial), în
cadrul lui F. Aşadar, cadrul unei variabile legate este locul, formula în care aceasta apare legată. O
variabilă care nu este legată se cheamă variabilă liberă.

O substituţie de termeni pentru variabile este o mapare σ : V → T(L, V) astfel încât pentru un număr
finit de variabile x ∈ V avem σ(x) ≠ x.

Mulţimea substituţiilor peste un limbaj va fi notată cu S(L, V) (sau S, dacă L, V sunt clare din
context).

Fie σ ∈ S(L, V) o substituţie, n ∈ N, i ∈ {1, . . . , n}, şi xi ∈ V, ti ∈ T(L, V) astfel încât σ(xi) = ti şi xi ≠ ti.
Vom reprezenta substituţia σ ca o mulţime în felul următor: σ = {x1 ← t1, . . . , xn ← tn} .

În particular, dacă n = 0, avem substituţia vidă.

(Substituţie aplicată unei expresii). Fie σ = {x1 ← t1, . . . , xn ← tn} o substituţie. Aplicarea substituţiei
σ unei expresii E din logica predicatelor, notată cu Eσ este definită în modul următor:

• Pentru termeni: – dacă x ∈ V, atunci

– dacă c ∈ C, atunci cσ = c.

– dacă f/m ∈ F şi t1, . . . , tm ∈ T(L, V), atunci: f(t1, . . . , tm)σ = f((t1)σ, . . . ,(tm)σ).

• Pentru formule:

– Dacă P/m ∈ P şi t1, . . . , tm ∈ T(L, V), atunci:

P(t1, . . . , tm)σ = P((t1)σ, . . . ,(tm)σ).

– Dacă F, G ∈ F(L, V) atunci:

(¬F)σ = (¬Fσ),

(F ∧ G)σ = (Fσ ∧ Gσ),

(F ∨ G)σ = (Fσ ∨ Gσ),

(F ⇒ G)σ = (Fσ ⇒ Gσ),

(F ⇔ G)σ = (Fσ ⇔ Gσ).

– Dacă x ∈ V şi F ∈ F(L, V), atunci:

(∀xF)σ = ∀x Fσ∖{x←t} ,

(∃xF)σ = ∃x Fσ∖{x←t} ,

unde
(Compunerea substituţiilor). Fie θ = {x1 ← t1, . . . , xn ← tn} şi σ = {y1 ← s1, . . . , yn ← sk} substituţii,
X, Y respectiv mulţimile de variabile ce apar în θ, σ. Atunci compoziţia substituţiilor θ şi σ, notată cu
θσ este o substituţie definită astfel:

θσ = {xi ← (ti)σ|xi ∈ X, xi ≠ tiσ} ∪ {yj ← sj |yj ∈ Y, yj ∈


̸ X}.

■ Aşadar, se aplică a doua substituţie termenilor din prima substituţie, se elimină perechile pentru
care termenul substituit este acelaşi cu variabila şi se adaugă elementele din a doua substituţie a
căror variabilă nu apare în prima.

Semantica

(Interpretare). Fie L = {F,P, C} mulţimea simbolurilor unui limbaj, şi D un domeniu nevid. O


interpretare I a limbajului L în domeniul D este o mapare care ataşează:

• fiecărui simbol funcţional f/n ∈ F o funcţie de aritate corespunzătoare din D,

• fiecărui simbol predicativ p/n ∈ P o relaţie de aritate corespunzătoare din D,

• fiecărei constante c ∈ C o valoare din D

Definițiile permit introducerea de noi concepte din punct de vedere a celor existente.

Ele oferă o facilitate pentru formalizarea concisă a matematicii, dar nu sunt esențiale,

adică pot fi eliminate.

Tipuri: definitii ale simbolurilor predicative, functionale, non-unice si unice ale simbolurilor

functionale.

(Asignare de valori variabilelor). Fie I o interpretare. O asignare de valori pentru variabile sub
interpretarea I este o mapare σI : V → D care asignează fiecărei variabile un element din domeniul D.

(Valoarea termenilor). Fie I o interpretare şi σI o asignare de valori variabilelor. Atunci valoarea unui
termen sub intepretarea I şi asignarea de valori variabilelor σI, υσI este definită în modul următor:

• Dacă x ∈ V, υσI (x) = σI(x).

• Dacă c ∈ C, υσI (c) = I(c).

• Dacă f/n ∈ F, t1, . . . tn sunt termeni, υσI (f(t1, . . . , tn)) = I(f)(υσI (t1), . . . , υσI (tn)).

(Valoarea formulelor). Fie I o interpretare şi σI o asignare de valori variabilelor. Atunci valoarea de


adevăr a unei formule, sub intepretarea I şi asignarea de valori variabilelor σI, υσI este definită în
modul următor:

• Dacă P/n ∈ P şi t1, . . . , tn sunt termeni, atunci υσI (P(t1, . . . , tn)) = I(P)(υσI (t1), . . . , υσI (tn)).
• Fie F, G formule. Atunci: υσI (¬F) = B¬(υσI (F)), υσI (F ∧ G) = B∧(υσI (F), υσI (G)), υσI (F ∨ G) = B∨(υσI
(F), υσI (G)), υσI (F ⇒ G) = B⇒(υσI (F), υσI (G)), υσI (F ⇔ G) = B⇔(υσI (F), υσI (G)).

• Fie x ∈ V, F o formulă:

– υσI (∀xF) = A dacă şi numai dacă pentru orice d ∈ D, υσI [x←d](F) = A,

– υσI (∃xF) = A dacă şi numai dacă pentru unii d ∈ D, υσI [x←d](F) = A.