Fltiplea Fai

220

Click here to load reader

description

Algebric Fundaments of Informatics

Transcript of Fltiplea Fai

Page 1: Fltiplea Fai

Universitatea “Alexandru Ioan Cuza”

Facultatea de Informatica

Departamentul de Invatamant la Distanta

Ferucio Laurentiu Tiplea

FUNDAMENTELE ALGEBRICEALE

INFORMATICII

2005–2006

Page 2: Fltiplea Fai

Adresa autorului: Universitatea “Al. I. Cuza”Facultatea de InformaticaStr. Berthelot 16700483 - Iasi, RomaniaE-mail: [email protected] Web: http://www.infoiasi.ro/fltiplea

Page 3: Fltiplea Fai

Prefata

Materialul de fata constituie parte integranta a cursurilor predate de autor studentilorFacultatii de Informatica a Universitatii “Al.I.Cuza” din Iasi, ıncepand cu 1996, fiindconceput ca suport de curs.

Accentul cade ın principal pe asimilarea conceptelor de baza necesare ıntelegeriielementelor de informatica ce implica notiuni cu caracter matematic, cum ar fi cele defunctie, relatie, inductie matematica si structurala, recursie, multime partial ordonata,latice etc. Ultimele doua capitole contin aplicatii consistente ın informatica (crip-tografie si semantica limbajelor de programare). Fiecare capitol contine propozitii sileme ale caror demonstratii sunt simple exercitii lasate ın seama cititorului.

O extensie completa a acestui material poate fi gasita ın [187].

Iasi, 4 Octombrie, 2005Ferucio Laurentiu Tiplea

Page 4: Fltiplea Fai

iv

Page 5: Fltiplea Fai

Cuprins

Prefata iii

1 Multimi, relatii, functii 11.1 Multimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Ce este o multime? . . . . . . . . . . . . . . . . . . . . . . 11.1.2 Operatii cu multimi . . . . . . . . . . . . . . . . . . . . . . 131.1.3 Numere naturale si inductie . . . . . . . . . . . . . . . . . 161.1.4 Recursie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.2 Relatii si functii . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271.2.1 Relatii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271.2.2 Relatii de echivalenta . . . . . . . . . . . . . . . . . . . . . 351.2.3 Functii si operatii . . . . . . . . . . . . . . . . . . . . . . . 401.2.4 Familii indexate de multimi . . . . . . . . . . . . . . . . . 491.2.5 Relatii de ordine . . . . . . . . . . . . . . . . . . . . . . . 53

2 Inchideri 552.1 Inchideri. Inductie structurala . . . . . . . . . . . . . . . . . . . . . 552.2 Inchideri ale unei relatii binare . . . . . . . . . . . . . . . . . . . . 582.3 Definitii inductive/recursive . . . . . . . . . . . . . . . . . . . . . . 60

3 Sisteme relationale si algebre universale 653.1 Sisteme relationale . . . . . . . . . . . . . . . . . . . . . . . . . . 653.2 Multimi partial ordonate . . . . . . . . . . . . . . . . . . . . . . . 68

3.2.1 Concepte de baza . . . . . . . . . . . . . . . . . . . . . . . 683.2.2 Dualitate . . . . . . . . . . . . . . . . . . . . . . . . . . . 713.2.3 Proprietati de baza ale supremum si infimum . . . . . . . . 723.2.4 Constructii de mpo . . . . . . . . . . . . . . . . . . . . . . 76

3.3 Latici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813.3.1 Laticea ca multime partial ordonata . . . . . . . . . . . . . 813.3.2 Laticea ca structura algebrica . . . . . . . . . . . . . . . . . 84

3.4 Algebre universale dintr-un punct de vedere elementar . . . . . . . 883.4.1 Algebre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893.4.2 Subalgebre. Ordin . . . . . . . . . . . . . . . . . . . . . . 913.4.3 Homomorfisme si congruente . . . . . . . . . . . . . . . . 93

3.5 Algebre booleene . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

v

Page 6: Fltiplea Fai

vi CUPRINS

4 Elemente de teoria numerelor cu aplicatii ın criptografie 1034.1 Divizibilitate. Numere prime . . . . . . . . . . . . . . . . . . . . . 1034.2 Cel mai mare divizor comun . . . . . . . . . . . . . . . . . . . . . 1094.3 Congruente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164.4 Functia lui Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204.5 Radacini primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . 1224.6 Problema logaritmului discret . . . . . . . . . . . . . . . . . . . . . 1244.7 Ecuatii congruentiale . . . . . . . . . . . . . . . . . . . . . . . . . 1254.8 Teorema chineza a resturilor . . . . . . . . . . . . . . . . . . . . . 1284.9 Complexitatea operatiilor . . . . . . . . . . . . . . . . . . . . . . . 133

4.9.1 Ordine de marime . . . . . . . . . . . . . . . . . . . . . . 1334.9.2 Timpul de executie al unui algoritm . . . . . . . . . . . . . 136

4.10 Aplicatii: partajarea secretelor . . . . . . . . . . . . . . . . . . . . 1384.11 Aplicatii: criptografie cu chei publice . . . . . . . . . . . . . . . . 140

4.11.1 Introducere ın criptografie . . . . . . . . . . . . . . . . . . 1404.11.2 Criptosistemul RSA . . . . . . . . . . . . . . . . . . . . . 146

4.11.2.1 Descrierea criptosistemului . . . . . . . . . . . . 1464.11.2.2 Criptanaliza RSA . . . . . . . . . . . . . . . . . 149

4.11.3 Semnaturi digitale . . . . . . . . . . . . . . . . . . . . . . 1524.11.3.1 Introducere . . . . . . . . . . . . . . . . . . . . . 1524.11.3.2 Semnatura ElGamal . . . . . . . . . . . . . . . . 1554.11.3.3 Semnatura DSS . . . . . . . . . . . . . . . . . . 159

5 Completitudine ın teoria multimilor partial ordonate 1635.1 Completitudine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1635.2 Teoria de punct fix a multimilor partial ordonate . . . . . . . . . . . 170

5.2.1 Functii continue . . . . . . . . . . . . . . . . . . . . . . . 1705.2.2 Puncte fixe si inductie de punct fix . . . . . . . . . . . . . . 178

5.3 Aplicatii: semantica denotationala a programelor . . . . . . . . . . 1835.3.1 λ-notatie . . . . . . . . . . . . . . . . . . . . . . . . . . . 1835.3.2 Programe recursive . . . . . . . . . . . . . . . . . . . . . . 1895.3.3 Semantica denotationala a programelor recursive . . . . . . 1925.3.4 Programe while . . . . . . . . . . . . . . . . . . . . . . . . 1955.3.5 Semantica denotationala a programelor while . . . . . . . . 197

Bibliografie 203

Page 7: Fltiplea Fai

Capitolul 1

Multimi, relatii, functii

1.1 Multimi

In aceasta sectiune vom prezenta cateva concepte de baza de teoria multimilor, con-cepte ce vor fi utilizate pe parcursul acestei lucrari. Pentru detalii cititorul esteındrumat catre [82, 89, 182].

1.1.1 Ce este o multime?

Conceptul Cantorian de multime. Conceptul de multime sta la temelia matema-ticii moderne, fiind un concept larg utilizat ın orice domeniu. Teoria multimilor(studiul abstract al multimilor) asa cum o utilizam astazi a fost initiata de GeorgeCantor ın ultimul sfert al secolului 19 [23]. Abordarea lui a condus ınsa la contradic-tii (numite si paradoxuri), remediul “aparent” al acestora fiind abordarea axiomatica.

Conform definitiei date de Cantor, prin multime ıntelegem

orice colectie de obiecte distincte si bine definite ale intuitiei si gandiriinoastre, considerate ca un tot (ıntreg, ca o unitate).

Notiunea de multime trebuie considerata ca un concept primitiv, suficient de bineınteles intuitiv, care nu este precis definit dar care poate fi utilizat ın definirea altorconcepte particulare. Asadar, motivati de “definitia” lui Cantor, sa consideram ca omultime este o colectie de “obiecte” numite elementele multimii si, sa presupunemca exista macar o multime.

Daca A este o multime si a este un obiect (arbitrar) atunci a poate fi sau nu ınmultimea A. In primul caz vom folosi exprimarea a este element al multimii A saua apartine multimii A sau a este continut ın A sau A contine a si vom nota a ∈ A;vom scrie a �∈ A daca a nu este element al multimii A 1.

Mentionam explicit ca nu consideram notiunea de obiect ca o notiune primara ateoriei multimilor. Asadar, avem libertatea ın a gandi ceea ce este un obiect. De e-xemplu, putem gandi anumite multimi ca fiind obiecte componente ale altei multimi.

1Simbolul ”∈” a fost folosit pentru prima data de matematicianul Giuseppe Peano [143], el fiindde fapt o variatie grafica a primei litere a cuvantului grecesc “εστι” ce ınseamna “este”.

1

Page 8: Fltiplea Fai

2 Multimi

Fie R multimeaR = {x|x este multime si x /∈ x}.

Conform definitiei lui Cantor, R este multime. Multimea numerelor naturale esteelement al multimii R. Este mai dificil de gasit un exemplu de multime ce nu esteelement al multimii R, dar aceasta nu are nici o importanta relativ la statutul demultime a lui R. Insa, constatam ca are loc

R ∈ R daca si numai daca R �∈ R,

ceea ce constituie un paradox. Acesta este asa-numitul paradox al lui Russell [194].Este natural sa ne ıntrebam atunci care este cauza ce conduce la acest para-

dox. Analizand modul de definire a multimii R constatam ca aceasta este bazatape urmatorul principiu numit si Axioma abstractiei sau a constructiei de multimi,introdusa de G. Frege ın 1893 [58]:

Axioma abstractiei Data o proprietate ce poate fi sau nu ındeplinita deobiecte, exista o multime ce consta exact din obiectele ce satisfac aceastaproprietate.

In cazul multimii R, proprietatea este

P (x) : x este multime si x �∈ x.

Ca urmare,R = {x|P (x)}. La o prima analiza nu ar trebuie sa fie nimic rau ın a con-strui multimi printr-o astfel de axioma. Multe multimi ın matematica se construiescın acest mod. De exemplu, considerand proprietatea

P ′(x) : x este numar natural impar mai mic decit 10,

obtinem multimea A = {1, 3, 5, 7, 9}. Diferenta dintre constructiile celor douamultimi consta ın aceea ca multimea A este obtinuta prin selectarea obiectelor dintr-o multime data (cea a numerelor naturale) prin intermediul unei proprietati, ceea cenu se ıntampla ın cazul multimii R.

Descoperirea de paradoxuri ın teoria Cantoriana a multimilor a avut efecte dincele mai neplacute pentru multi matematicieni care si-au bazat studiile si cercetarilepe o astfel de teorie. De exemplu, Richard Dedekind care ıncepuse ın 1888 sa publicedin studiile sale asupra teoriei numerelor – studii ce utilizau din plin teoria lui Cantor–, a fost nevoit sa opreasca pentru o perioada publicarea acestora 2. Mai tragic a fostınsa cu lucrarea ın doua volume a lui Gottlob Frege, despre bazele aritmeticii, caretocmai fusese terminata [58] si care utiliza Axioma abstractiei. In cel de-al doileavolum, cand Frege luase deja cunostinta de paradoxul lui Russell, acesta a inserato anexa din care prezentam mai jos un fragment (traducerea din original este dupa[61], pag. 234):

2In prefata la a 3-a editie a lucrarii [38], sau ın [40], pag. 449.

Page 9: Fltiplea Fai

Ce este o multime? 3

“Hardly anything more unfortunate can befall a scientific writer than tohave one of the foundations of his edifice shaken after the work is fin-ished. This was the position I was placed in by a letter of Mr. BertrandRussell, just when the printing of this volume was nearing its comple-tion. It is a matter of my Axiom (V). I have never disguised from myselfits lack of the self-evidence that belongs to the other axioms and thatmust be properly be demanded of a logical law ... I should gladly havedispensed with this foundation if I had known of any substitute for it.And even now I do not see how arithmetic can be scientifically estab-lished; how numbers can be apprehended as logical objects, and broughtunder review; unless we are permitted – at least conditionally – to passfrom a concept to its extension. May I always speak of the extensionof a concept – speak of a class? And if not, how are the exceptionalcases recognized? ... These are the questions raised by Mr. Russell’scommunication.”

Sistemul axiomatic Zermelo-Fraenkel. Intr-o perioada s-a crezut ca aparitia deparadoxuri ın teoria creata de Cantor o pot distruge dar, asa cum a remarcat DavidHilbert, aceste paradoxuri nu au condus la altceva decat la “refondarea” acestei teoriipastrand “paradisul creat de Cantor” 3. Refondarea teoriei a ınsemnat asezarea eipe baze axiomatice, logistice sau intuitioniste. Dintre sistemele axiomatice propuse,sistemul Zermelo-Fraenkel cu Axioma alegerii, abreviat ZFC, este astazi unul dincele mai utilizate sisteme. Restul acestei sectiuni va fi dedicat unei prezentari extremde succinte a acestui sistem. Pentru detalii cititorul este ındrumat catre [182] sau[187] (atragem atentia asupra faptului ca sistemul ZFC asa cum este prezentat ın[182] porneste de la premisa ca universul de discurs al variabilelor poate contineobiecte ce nu sunt multimi, pe cand abordarea pe care o vom prezenta ın cele ceurmeaza pleaca de la premisa ca universul de discurs al variabilelor contine numaimultimi. O discutie detaliata asupra diferentei dintre aceste abordari poate fi gasitaın [182]).

Sistemul ZFC se construieste peste logica cu predicate de ordinul ıntai la care seadauga doua predicate noi, predicatul de egalitate si predicatul binar de apartenenta.Mentinam ınca de la ınceput ca apartenenta este un predicat primitiv, care nu sedefineste. Obiectele au proprietatea de a apartine sau nu multimilor, proprietate ceeste primitiva.

Formulele atomice sunt de forma

x ∈ y si x = y,

pe baza carora se construiesc noi formule prin intermediul operatorilor logici clasicisi a cuantificatorilor,

ϕ ∧ ψ, ϕ ∨ ψ, ¬ϕ, ϕ⇒ ψ, ϕ⇔ ψ, (∀x)ϕ si (∃x)ϕ.3“a paradise created by Cantor which nobody shall ever expel us” (conform cu [54], p.240).

Page 10: Fltiplea Fai

4 Multimi

Vom adopta notatia ϕ(x1, . . . , xn) pentru a specifica ca variabilele libere ale formuleiϕ sunt printre variabilele x1, . . . , xn (lasand posibilitatea ca anumite variabile xi sanu fie libere ın ϕ sau chiar sa nu apara ın ea).

Un aspect fundamental ıl constituie stabilirea domeniului obiectelor de studiu,domeniu din care vor lua valori variabilele, numit si universul de discurs. Din punctde vedere a teoriei multimilor, proprietatea fundamentala prin care se poate facedistinctie ıntre obiectele universului de discurs este proprietatea de apartenenta: unobiect poate contine alte obiecte, sau nici unul. Daca un obiect contine obiecte atunciel va fi referit ca multime; altfel, ca obiect individual. Terminologia de “element”va ınsemna pentru noi “obiect al unei multimi”. Este natural de a presupune cafiecare obiect al universului de discurs este element al unei multimi (macar a multimiiformate doar din obiectul ın cauza). Intrebarea fundamentala ce se pune acum esteurmatoarea: “cate” obiecte individuale, si similar multimi, consideram ın univers?Trebuie sa admitem ca existenta a cel putin unui obiect este ceruta atat de ratiunifilozofice cat si practice; ea este necesara fondarii universului. Pe de alta parte,gandind ın avans la intersectie de multimi, constatam ca am avea nevoie de un obiectcare sa reprezinte rezultatul intersectiei a doua multimi fara elemente comune. Estenatural ca acest obiect sa fie ales fara elemente, deci obiect individual, si el sa nudepinda de multimile sursa. Din considerente tehnice este important ca si acest obiectsa fie referit ca multime; ca urmare, prin multime vom ıntelege acele obiecte ce continobiecte, sau acest obiect particular bine precizat (uzual, un astfel de obiect individualeste numit multimea vida). Vrem ınsa sa accentuam ca ın timp ce existenta a celputin unui obiect individual este ceruta de ratiuni filozofice si practice, referirea laun obiect individual ca fiind multimea vida este numai din ratiuni de convenienta sisimplitate. Acum, avem de analizat urmatoarele doua variante:

(1) universul de discurs contine numai multimi si, ın plus, multimea vida ca singurobiect individual [54, 89, 107, 190];

(2) universul de discurs contine si alte obiecte individuale pe langa cel desemnat afi multimea vida [134, 15, 175, 97, 182].

Majoritatea sistemelor ZFC ın varianta (1) asigura fondarea universului de discurs siexistenta multimii vide

– ori prin intermediul unei axiome, uzual numita Axioma existentei sau a multimiivide, care postuleaza existenta unei multimi ce nu contine nici un obiect (de e-xemplu, [82]),

– ori presupunand tacit ca universul de discurs contine cel putin o multime (uni-versul de discurs al variabilelor logicii de ordinul ıntai trebuie sa contina celputin un obiect), de la care se deduce, pe baza Axiomei separarii, existentaunei multimi ce nu contine nici un obiect (de exemplu, [107, 56]).

Ceea ce a iesit ın evidenta este ca, pentru scopuri matematice, postularea existenteidoar a unui singur obiect individual (multimea vida) este suficienta 4. Aceasta este

4Discutii asupra acestui aspect pot fi gasite ın [53, 136, 17]. Pe de alta parte, daca sistemul ZFC ınvarianta (1) este consistent, atunci si sistemul ZFC ın varianta (2) este consistent [134, 106, 150].

Page 11: Fltiplea Fai

Ce este o multime? 5

varianta pe care o vom adopta si noi (adica, (1)). Atragem atentia asupra faptului cane vom referi adesea la [182] unde este adoptata varianta (2) si, ca urmare, trebuieacordata atentie diferentei care exista ın formularea unora dintre axiome.

Axiomele sistemului ZFC sunt urmatoarele:

1. Axioma extensionalitatii Doua multimi A si B sunt egale, si notam A = B,daca pentru orice obiect x are loc:

x ∈ A daca si numai daca x ∈ B.

2. Axioma de existenta a multimii vide Exista multimi fara nici un element.

3. Axioma separarii Pentru orice formula ϕ(x) si multime U exista o multimece contine toate elementele din U ce satisfac P , si numai pe acestea.

4. Axioma ımperecherii Pentru orice doua obiecte a si b (nu neaparat distincte)exista o multime ce contine obiectele a si b, si numai pe acestea.

5. Axioma reuniunii Pentru orice familie de multimi 5 A exista o multime cecontine elementele componente ale multimilor continute de A, si numai peacestea.

6. Axioma partilor Pentru orice multime A, exista o multime ce contine caelemente toate submultimile multimii A, si numai pe acestea.

7. Axioma regularitatii Pentru orice multime nevidaA exista x ∈ A astfel ıncatx ∩A = ∅.

Exista ınca 3 axiome ın sistemul ZFC, Axioma infinitului, a alegerii si a ınlocuirii.In Sectiunea 1.1.3 vom prezenta Axioma infinitului; celelalte doua depasesc cadrullucrarii si vor fi omise (pentru detalii indicam [182, 187]).

Vom trece acum la prezentarea catorva proprietati fundamentale ce decurg de laaceste axiome.

In primul rand, egalitatea multimilor satisface proprietatile:

• A = A; (reflexivitate)

• daca A = B atunci B = A; (simetrie)

• daca A = B si B = C atunci A = C. (tranzitivitate)

Definitia 1.1.1.1. Fie A si B doua multimi.

(1) Spunem ca A este submultime a multimii B, si notam A ⊆ B, daca oriceelement al multimii A este element al multimii B.

5O familie de multimi este o multime ale carei elemente sunt multimi. Cum ın abordarea conside-rata consideram numai astfel de multimi, termenul de familie de multimi va fi utilizat pentru a atrageatentia asupra acestui fapt, si anume, ca elementele familiei (multimii) considerate sunt multimi.

Page 12: Fltiplea Fai

6 Multimi

(2) Spunem ca A este submultime proprie a multimii B, si notam A ⊂ B, dacaA ⊆ B si A �= B.

Daca A nu este submultime (submultime proprie) a multimii B, atunci vom notaA �⊆ B (A �⊂ B). Este clar ca daca A ⊂ B atunci A ⊆ B.

Teorema 1.1.1.1. Fie A, B si C multimi. Atunci, au loc urmatoarele proprietati:

(1) A ⊆ A;

(2) daca A ⊆ B si B ⊆ C, atunci A ⊆ C;

(3) A = B daca si numai daca A ⊆ B si B ⊆ A;

(4) A ⊆ B daca si numai daca A ⊂ B sau A = B;

(5) A �⊂ A;

(6) daca A ⊂ B, atunci B �⊂ A;

(7) daca A ⊂ B si B ⊆ C, sau A ⊆ B si B ⊂ C, atunci A ⊂ C.

Demonstratie (1) si (2) urmeaza direct de la Definitia 1.1.1.1(1). (3) este o altaexprimare, utilizand incluziunea, a Axiomei extensionalitatii.

(4) Sa presupunem ca A ⊆ B. Daca pentru orice b ∈ B are loc b ∈ A, atunciB ⊆ A si, deci, A = B (folosind (3)). Altfel, exista b ∈ B astfel ıncat b �∈ A, ceeace conduce la A ⊂ B (conform definitiei).

Reciproc, daca A ⊂ B atunci A ⊆ B (de la definitie), iar daca A = B atunciA ⊆ B (de la (3)).

(5) Daca am presupune prin contradictie ca A ⊂ A, atunci conform definitiei arexista a ∈ A astfel ıncat a �∈ A; contradictie.

(6) A ⊂ B conduce la existenta unui element b ınB care nu este ınA; ca urmare,B �⊂ A.

(7) Sa presupunem ca are loc A ⊂ B siB ⊆ C. De la (4) si (2) obtinem A ⊆ C.Daca presupunem ca A = C, atunci ipoteza se rescrie la A ⊂ B si B ⊆ A, ceea ceconstituie o contradictie. In mod similar se discuta si celalalt caz. �

Conform Teoremei 1.1.1.1(3), pentru a stabili egalitatea a doua multimi A si Bavem de aratat ca oricare din cele doua multimi este inclusa ın cealalta. Aceastametoda de demonstratie este numita adesea demonstratia prin dubla incluziune.

In baza Axiomei extensionalitatii, orice doua multimi fara nici un element suntegale si, deci, exista o unica multime fara nici un element. Aceasta este numitamultimea vida si este notata prin ∅. Este clar ca ∅ este submultime proprie a oricareimultimi diferite de ea ınsasi si, nici o multime nu este submultime proprie a ei.

Axioma separarii exclude paradoxul lui Russell formulat corespunzator acesteia.Adica, daca consideram o multime arbitrara U si definim

RU = {x ∈ U |x �∈ x},

Page 13: Fltiplea Fai

Ce este o multime? 7

atunci contradictia

RU ∈ RU daca si numai daca RU �∈ RU

nu mai poate fi generata. In adevar,

• daca RU ∈ RU , atunci urmeaza RU ∈ U si RU �∈ RU ; contradictie;

• daca RU �∈ RU , atunci RU �∈ U sau RU ∈ RU . Rezulta deci RU �∈ U .

Am obtinut astfel caRU �∈ U , adica, indiferent de ce multime U s-ar alege, multimeaRU nu este element al ei. Mai mult, are loc:

Teorema 1.1.1.2. Nu exista nici o multime U care sa contina ca element orice mul-time.

Demonstratie Pentru orice multime U , multimea RU definita ca mai sus nu esteelement al multimii U . Ca urmare, nu poate exista o multime U care sa contina oricemultime deoarece, atunci, ea ar trebui sa contina si RU . �

Teorema 1.1.1.2 conduce la faptul ca nu exista o multime a tuturor multimilorsau, altfel spus, clasa 6 tuturor multimilor este o clasa proprie.

Intersectia unei familii nevide de multimi A este definita prin⋂A = {a ∈ A|(∀B ∈ A)(a ∈ B)},

unde A este o multime arbitrara din A. Este clar ca⋂A exista ıntotdeauna (cu

cerinta ca A sa fie nevida). Atunci cand A este de forma A = {A,B}, se noteaza ınmod frecvent A ∩ B ın loc de

⋂A.

Doua multimiA siB sunt numite disjuncte dacaA∩B = ∅. O familie de multimieste numita familie disjuncta de multimi daca multimele componente sunt disjunctedoua cate doua.

Diferenta a doua multimiA siB, notataA−B, se obtine cu usurinta de la Axiomasepararii prin

A−B = {a ∈ A|a �∈ B}.Uneori, diferenta A− B mai poarta denumirea si de complementara lui B relativ la(ın raport cu) A.

Fie a si b obiecte. Axioma extensionalitatii asigura unicitatea multimii ce contineobiectele a si b si numai pe acestea; ea va fi notata {a, b} (sau {b, a}), iar ın cazula = b vom scrie {a} ın loc de {a, a}.

Teorema 1.1.1.3. Pentru orice x, y, z, u si v au loc urmatoarele proprietati:

(1) z ∈ {x, y} daca si numai daca z = x sau z = y;

6Vom folosi terminologia de clasa pentru colectii de obiecte care pot sa nu fie multimi. O clas aproprie nu este multime.

Page 14: Fltiplea Fai

8 Multimi

(2) {x, y} = {u, v} daca si numai daca x = u si y = v, sau x = v si y = u;

(3) {x} = {y} daca si numai daca x = y;

(4) {x} = {u, v} daca si numai daca x = u = v.

Demonstratie (1), (2) si (3) sunt imediate de la definitii si axiomele consideratepana acum.

(4) Sa presupunem ıntai ca {x} = {u, v}. De la Teorema 1.1.1.1(3) urmeazaca x trebuie sa apartina multimii {u, v}. Daca presupunem ca x = u, atunci, ın bazaaceleiasi teoreme deducem ca v ∈ {x}, adica x = v. Deci, x = u = v.

Reciproc, daca x = u = v atunci {u, v} = {u} = {x}. �

O consecinta foarte importanta a Axiomei ımperecherii consta ın aceea ca prinintermediul ei se poate introduce conceptul de pereche ordonata a doua obiecte x si y.Printr-o astfel de pereche ordonata se urmareste surprinderea urmatoarelor aspecte:

• obiectele x si y sunt considerate ca un nou obiect, notat (x, y);

• ın cadrul obiectului (x, y), x se considera “primul”, iar y al “doilea”.

O metoda unanim acceptata de a defini astfel de obiecte ın sistemul ZFC este ceapropusa de Kazimierz Kuratowski [95].

Definitia 1.1.1.2. Se numeste perechea ordonata a obiectelor x si y multimea notata(x, y) si definita prin (x, y) = {{x}, {x, y}}.

Este clar ca pentru orice doua obiecte x si y, perechea ordonata (x, y) exista sieste unica (pe baza Axiomelor ımperecherii si extensionalitatii). Faptul ca obiectul xeste considerat primul iar y al doilea, ın cadrul perechii ordonate (x, y), este sugeratde urmatoarea teorema.

Teorema 1.1.1.4. (x, y) = (u, v) daca si numai daca x = u si y = v 7.

Demonstratie Sa presupunem ıntai ca (x, y) = (u, v). Daca x = y, atunci {{x}} ={{u}, {u, v}}, de unde urmeaza x = u = v (Teorema 1.1.1.3).

Sa presupunem acum ca x �= y. Deoarece {x} nu poate coincide cu {u, v} (altfelam obtine x = u = v = y ceea ce ar conduce la contradictie) urmeaza ca {x} = {u}si, de aici, se obtine x = u. Vom avea apoi {x, y} = {u, v} care, combinata cuegalitatea precedenta, furnizeaza y = v.

Reciproc, daca x = y si u = v atunci {x} = {u} si {x, y} = {u, v}, ceea ceconduce la (x, y) = (u, v). �

7O alta varianta de a defini perechea ordonata a doua obiecte x si y este cea propusa de NorbertWiener ın 1914 [195], prin care (x, y) = {{{x}, 0}, {y}}. Se poate arata ca si o astfel de definitiesatisface Teorema 1.1.1.4 dar, spre deosebire de definitia lui Kuratowski, aceasta implica un nouobiect, 0 (acesta va fi definit mai tarziu).

Exista variante ın care notiunea de pereche ordonata se considera ca o notiune primitiva si, atunci,enuntul Teoremei 1.1.1.4 se introduce ca axioma (a se vedea [17, 136]). Justificarea consta ın faptul camarea majoritate a aplicatiilor matematice ale acestei notiuni utilizeaza Teorema 1.1.1.4 si nu definitia.

Page 15: Fltiplea Fai

Ce este o multime? 9

Evident, conceptul de pereche ordonata poate fi extins. Astfel, putem defini(x, y, z) ca fiind ((x, y), z). Proprietatea din Teorema 1.1.1.4 se pastreaza si pen-tru astfel de 3-uple, adica (x, y, z) = (x′, y′, z′) daca si numai daca x = x′, y = y′ siz = z′.

Ceea ce trebuie sa remarcam este ca prin Axioma ımperecherii putem construimultimi cu cel mult doua elemente. Trecerea la multimi cu mai mult de doua elemen-te se face prin Axioma reuniunii. Axioma extensionalitatii asigura ca, pentru oricefamilie de multimi A exista exact o multime ca cea postulata de Axioma reuniunii;aceasta multime se numeste reuniunea familiei A si se noteaza prin

⋃A. Atunci

cand A este de formaA = {A,B}, se noteaza ın mod frecvent A∪B ın loc de⋃A.

Urmatoarea teorema furnizeaza cateva proprietati de baza ale reuniunii unei fa-milii de multimi.

Teorema 1.1.1.5. Fie A,B multimi si A,B doua familii de multimi. Atunci, au locurmatoarele proprietati:

(1)⋃∅ = ∅;

(2)⋃{A} = A;

(3)⋃A = ∅ daca si numai daca A = ∅ sau A = {∅};

(4) daca A ⊆ B, atunci⋃A ⊆

⋃B;

(5) daca A ∈ B, atunci A ⊆⋃B;

(6) daca X ⊆ B, pentru orice X ∈ A, atunci⋃A ⊆ B.

Posibilitatea colectarii tuturor submultimilor unei multimi ıntr-o multime esteasigurata de Axioma partilor care, ın conjunctie cu Axioma extensionalitatii garan-teaza unicitatea acestei multimi ce poarta denumirea de multimea partilor multimiiA si se noteaza prin P(A).

Teorema 1.1.1.6. Fie A si B multimi. Atunci, au loc urmatoarele proprietati:

(1) ∅ ∈ P(A);

(2) P(∅) = {∅};

(3) daca A ⊆ B (A ⊂ B), atunci P(A) ⊆ P(B) (P(A) ⊂ P(B)).

Axioma partilor permite introducerea conceptului de produs cartezian a douamultimi.

Definitia 1.1.1.3. Fie A si B doua multimi. Numim produsul cartezian sau direct almultimilor A si B, multimea notata A×B si definita prin

A× B = {(x, y)|x ∈ A ∧ y ∈ B}.

Page 16: Fltiplea Fai

10 Multimi

Existenta produsului cartezian al multimilor A si B urmeaza de la Axioma sepa-rarii aplicate multimii P(P(A ∪ B)),

A× B = {z ∈ P(P(A ∪B))|∃x ∈ A, ∃y ∈ B : z = {{x}, {x, y}}},

iar unicitatea lui de la Axioma extensionalitatii.Daca una din multimile A sau B este vida, atunci produsul cartezian al lor este

multimea vida, si reciproc. Notam ca A × B nu este acelasi cu B × A, exceptandcazul A = B sau cazul ın care una din aceste doua multimi este multimea vida.

Produsul cartezian poate fi extins, ın mod natural, la mai mult de doua multimi.Considerand de exemplu multimile A, B si C, putem defini

A× B × C = {(a, b, c)|a ∈ A, b ∈ B, c ∈ C}.

Constructiile (a, b, c) vor fi numite 3-uple.Anticipand conceptul de numar natural (ceea ce nu va constitui un viciu de fond),

definim An prin:

• An = A× · · · ×A︸ ︷︷ ︸n ori

, daca n ≥ 2;

• A1 = A si A0 = {∅} 8.

In matematica, dar nu numai, suntem interesati ın a construi corespondente (aso-cieri) ıntre diverse tipuri de obiecte. Cel mai frecvent sunt ıntalnite corespondenteleıntre doua tipuri, nu neaparat distincte, de obiecte. Perechea ordonata (a, b) poatefi o alegere buna pentru a exprima corespondenta (asocierea) dintre a si b, mai alesatunci cand dorim sa surprindem si o anumita “relatie de precedenta” ıntre a si b 9. Caurmare, o multime de perechi ordonate va modela o corespondenta (asociere) ıntredoua tipuri de obiecte. Astfel de multimi vor fi numite relatii binare.

Definitia 1.1.1.4. Se numeste relatie binara orice multime ale carei elemente suntperechi ordonate 10.

Vom simplifica adesea terminologia de “relatie binara” la cea de “relatie”, iardaca (a, b) este un element al unei relatii ρ atunci vom mai scrie a ρ b.

Data o relatie ρ vom nota

Dom(ρ) = {a|(∃b)(a ρ b)}8Anticipand cateva concepte si notatii care vor fi prezentate ulterior, dar cu care cititorul este

probabil familiarizat, justificam definitia “A0 = {∅}” astfel. Asa cum vom vedea, numerele naturalevor fi definite ca multimi, 0 = ∅, 1 = {0}, 2 = {0, 1} etc. Atunci, un n-uplu poate fi gandit ca ofunctie de la multimea n la multimea A, iar multimea tuturor acestor functii (n-uple) este notata prinAn (ın general, prin AB se va nota multimea tuturor functiilor de la B la A). In cazul n = 0 = ∅,exista o singura functie de la ∅ la A, si anume functia vida. Ca urmare, A 0 = {∅}.

9O alta posibila exprimare a asocierii dintre a si b ar putea fi specificata prin intermediul multimii{a, b}. In acest caz ınsa se pierde “ordinea” ın care sunt considerate obiectele a si b.

10In limbaj logic, ρ este relatie binara daca (∀x)(x ∈ ρ ⇒ (∃y)(∃z)(x = (y, z))).

Page 17: Fltiplea Fai

Ce este o multime? 11

siCod(ρ) = {b|(∃a)(a ρ b)}.

Acestea sunt multimi ın baza Axiomelor separarii si reuniunii. In adevar,

Dom(ρ) = {a ∈⋃

(⋃

ρ)|(∃b ∈⋃

(⋃

ρ))(a ρ b)}.

In mod similar putem arata ca Cod(ρ) este multime. Multimea Dom(ρ) se numestedomeniul relatiei ρ, iar Cod(ρ), codomeniul relatiei ρ.

Putem spune ca ρ este relatie daca exista doua multimi A si B astfel ıncat ρ ⊆A×B. Reciproc, orice submultime a unui produs cartezian este relatie. Aceasta faceca, adesea, relatiile ρ ⊆ A × B sa mai fie numite si relatii de la A la B, iar atuncicand B = A, relatii (binare) pe A.

Multimea vida este relatie (de la A la B), numita relatia vida.

Functiile sunt cazuri particulare de relatii. Ele vor fi notate, cu precadere, prin f ,g, h etc. (eventual indexat).

Definitia 1.1.1.5. O relatie binara f este numita functie daca are loc

(∀a1, b1, a2, b2)((a1, b1) ∈ f ∧ (a2, b2) ∈ f ∧ a1 = a2 ⇒ b1 = b2).

Relatia vida este functie, numita si functia vida.Pentru functii se utilizeaza ın mod frecvent notatia f(a) = b ın loc de (a, b) ∈ f ,

aceasta fiind justificata prin aceea ca, dat un element a, daca (a, b) ∈ f atunci b esteunicul cu aceasta proprietate.

Functiile fiind relatii, putem vorbi de domeniul si codomeniul acestora. Domeniulunei functii mai poarta denumirea si de domeniul de definitie al functiei. Domeniulsi codomeniul functiei vide sunt multimea vida.

O functie f este numita functie de la A la B sau functie definita pe A si cu valoriın B, si notam f : A → B, daca Dom(f) = A si Cod(f) ⊆ B. Functia vida estefunctie de la A la B numai daca A = ∅.

Multimea tuturor functiilor de la A la B se noteaza prin (A→ B) sau BA.

Definitia 1.1.1.6. Fie f o functie de la A la B.

(1) f este numita functie injectiva sau injectie daca are loc

(∀a1, b1, a2, b2)((a1, b1) ∈ f ∧ (a2, b2) ∈ f ∧ b1 = b2 ⇒ a1 = a2).

(2) f este numita functie surjectiva sau surjectie daca are loc

(∀b)(b ∈ B ⇒ (∃a)(a ∈ A ∧ f(a) = b)).

(3) f este numita functie bijectiva sau bijectie daca este atat functie injectiva cat sifunctie surjectiva.

Page 18: Fltiplea Fai

12 Multimi

Uneori functiile injective sunt numite functii 1−1, iar cele surjective, pe. Functiavida de la ∅ la B este injectiva; ea este surjectiva (deci si bijectiva) doar daca B = ∅.

Atunci cand exista o functie bijectiva de la o multime A la o multime B vom mainota A ∼ B si vom spune ca A si B sunt echipotente 11, iar daca exista o functieinjectiva de la A la B vom scrie A � B. Daca A � B dar nu are loc A ∼ B, atuncivom scrie A ≺ B.

Analiza paradoxului lui Russell ridica urmatoarea ıntrebare simpla dar funda-mentala: exista multimi ce sunt elemente ale lor ınsasi? Axioma regularitatii este ceacare evita astfel de cazuri.

Teorema 1.1.1.7. Nu exista nici o multime A astfel ıncat A ∈ A.

Demonstratie Presupunem prin contradictie ca exista o multime A cu proprietateaA ∈ A. Aplicam Axioma regularitatii multimii {A}. Atunci, exista x ∈ {A} astfelıncat x ∩ A = ∅. Forma particulara a multimii {A} conduce la faptul ca x trebuie safie A si, atunci, A ∩ {A} = ∅; contradictie cu faptul ca A ∈ A. �

Teorema 1.1.1.8. Nu exista multimi A si B astfel ıncat A ∈ B si B ∈ A.

Demonstratie Sa presupunem ca exista multimi A si B astfel ıncat A ∈ B siB ∈ A. Aplicam Axioma regularitatii multimii {A,B}. Atunci, exista x ∈ {A,B}astfel ıncat x ∩ {A,B} = ∅. Elementul x poate fi A sau B. Daca x = A, atunciA ∩ {A,B} = ∅; contradictie cu faptul ca B ∈ A si B ∈ {A,B}. Similar serationeaza pentru cazul x = B. �

Axioma regularitatii este consistenta cu celelalte axiome ale sistemului ZFC si in-dependenta de acestea [64, 150]. Este posibil a construi sisteme ale teoriei multimilorcare sa contrazica aceasta axioma. Doua exemple ın acest sens sunt sistemul luiLesniewski [104] si cel al lui Quine [147].

Axioma regularitatii are consecinte foarte naturale, asa cum este cea din teoremaurmatoare (care nu poate fi demonstrata pe baza celorlalte axiome).

Teorema 1.1.1.9. Fie A o multime. Daca A ⊆ A× A, atunci A = ∅.

Demonstratie Presupunem, prin contradictie, ca exista o multime nevida A astfelıncat A ⊆ A× A. Atunci, elementele multimii A× A sunt multimi nevide. Ipotezasi definitia produsului cartezian conduc la faptul ca elementele multimilor A si

⋃A

sunt, de asemenea, multimi nevide. Fie B = A ∪⋃A. Axioma regularitatii asigura

existenta unei multimi x ∈ B astfel ıncat x ∩ B = ∅. Avem de analizat urmatoareledoua cazuri:

• x ∈ A. Atunci, x ⊆⋃A si, deoarece x este multime nevida, urmeaza ca

x ∩⋃A �= ∅; contradictie cu x ∩B = ∅;

11Terminologia de “multimi echipotente”, care ınseamna “multimi cu acelasi numar de elemente”,este justificata prin aceea ca o functie bijectiva pune ın corespondenta “unu-la-unu” elementele a douamultimi. Echipotenta joaca un rol important ın definirea numerelor naturale, a numerelor ordinale sicardinale.

Page 19: Fltiplea Fai

Operatii cu multimi 13

• x ∈⋃A. Conform ipotezei si definitiei produsului cartezian, x este ori de

forma {a} ori de forma {a, b}, unde a, b ∈ A. Deci, x ∩ A �= ∅; contradictiecu x ∩B = ∅.

Teorema este demonstrata. �

1.1.2 Operatii cu multimi

Implicit, ın sectiunea anterioara au fost introduse un numar de operatii cu multimi:intersectie, diferenta, reuniune si produs cartezian. Vom adauga la acestea ınca catevaoperatii si vom prezenta unele proprietati de baza ale lor.

Teorema 1.1.2.1. Fie A, B, si C multimi. Atunci:

(1) A ∪ (B ∪ C) = (A ∪B) ∪ C =⋃{A,B,C}; (asociativitate)

(2) A ∪ B = B ∪ A; (comutativitate)

(3) A ∪ A = A; (idempotenta)

(4) A ∪ ∅ = A;

(5) P(A) ∪ P(B) ⊆ P(A ∪ B).

Demonstratie (1) Vom folosi metoda dublei incluziuni. Fie a ∈ A ∪ (B ∪ C).Conform definitiei reuniunii avem a ∈ A sau a ∈ B ∪ C. Daca a ∈ A, atuncia ∈ A ∪B si, deci, a ∈ (A ∪B) ∪ C. Daca a ∈ B ∪ C, atunci a ∈ B sau a ∈ C. Incazul a ∈ B obtinem a ∈ A∪B si, deci, a ∈ (A∪B)∪C, iar ın cazul a ∈ C obtinema ∈ (A∪B)∪C. Deci, a ∈ (A∪B)∪C ceea ce arata ca A∪(B∪C) ⊆ (A∪B)∪C.Incluziunea ın sens invers se demonstreaza similar.

(2) Se utilizeaza definitia reuniunii si faptul ca {A,B} = {B,A}.(3) Observand ca {A,A} = {A}, ceea ce ne ramane de demonstrat este ca⋃{A} = A, care urmeaza direct de la definitia reuniunii.

(4) Un element a este ın A∪∅ daca si numai daca a ∈ A; ca urmare A∪∅ = A.(5) Fie X ∈ P(A) ∪ P(B). Daca X ∈ P(A) atunci X ⊆ A si este clar atunci

ca X ⊆ A ∪ B; deci X ∈ P(A ∪B). Similar ın cazul X ∈ P(B). �

Demonstratiile urmatoarelor doua teoreme sunt lasate ın seama cititorului.

Teorema 1.1.2.2. Fie A, B, si C multimi. Atunci:

(1) A ∩ (B ∩ C) = (A ∩B) ∩ C =⋂{A,B,C}; (asociativitate)

(2) A ∩ B = B ∩ A; (comutativitate)

(3) A ∩ A = A; (idempotenta)

(4) A ∩ ∅ = ∅;

(5) A ∩ B ⊆ A ⊆ A ∪ B;

Page 20: Fltiplea Fai

14 Multimi

(6) P(A) ∩ P(B) = P(A ∩B).

Ca urmare a proprietatii de asociativitate a reuniunii si intersectiei, putem scrieA ∪ B ∪ C (A ∩ B ∩ C) ın loc de A ∪ (B ∪ C) (A ∩ (B ∩ C)) sau (A ∪ B) ∪ C((A ∩ B) ∩ C). Evident, aceasta scriere poate fi extinsa la o reuniune (intersectie)finita de multimi.

Teorema 1.1.2.3. Fie A o multime si C o familie de multimi. Atunci, au loc urma-toarele reguli de distributivitate:

(1) A ∩⋃C =

⋃{A ∩ C|C ∈ C} =

⋃C ∩A;

(2) A ∪⋂C =

⋂{A ∪ C|C ∈ C} =

⋂C ∪A, cu conditia ca C sa fie nevida.

Interpretam proprietatile din Teorema 1.1.2.3 prin aceea ca intersectia este dis-tributiva fata de reuniune atat la stanga cat si la dreapta. In mod similar, reuniuneaeste distributiva fata de intersectie la stanga si la dreapta.

Urmatoarea teorema prezinta cateva proprietati de baza ale diferentei de multimi.

Teorema 1.1.2.4. Fie A si B multimi, iar C o familie de multimi. Atunci:

(1) A−A = ∅;

(2) ∅ − A = ∅;

(3) A− ∅ = A;

(4) A−B ⊆ A;

(5) daca A ∩ B = ∅ atunci A− B = A;

(6) A− (B − C) = (A− B) ∪ (A ∩ C);

(7) (A− B) ∪ C = (A ∪ C)− (B − C);

(8) (A− B) ∩ C = (A ∩ C)−B = A ∩ (C −B);

(9) A−⋃C =

⋂{A− C|C ∈ C};

(10) A−⋂C =

⋃{A− C|C ∈ C}, cu conditia ca C sa fie nevida.

Fie U o multime. Complementara unei submultimi A ⊆ U ın raport cu U semai numeste si complementara absoluta a lui A relativ la (ın raport cu) U sau, maisimplu, complementara lui A (dar, ın acest caz, U trebuie subanteleasa din context).Ea se noteaza prin A.

Teorema 1.1.2.5. Fie U , A si B multimi astfel ıncat A ∪B ⊆ U . Atunci:

(1) A = A;

(2) ∅ = U ;

Page 21: Fltiplea Fai

Operatii cu multimi 15

(3) U = ∅;

(4) A ∪ A = U ;

(5) A ∩ A = ∅;

(6) A− B = A ∩B;

(7) A ⊆ B daca si numai daca B ⊆ A

(complementara este ın raport cu U).

Corolarul 1.1.2.1. (Legile lui De Morgan)Fie U , A si B multimi astfel ıncat A ∪ B ⊆ U . Atunci, au loc relatiile:

(1) A ∪ B = A ∩ B;

(2) A ∩ B = A ∪ B

(complementara este ın raport cu U).

Definitia 1.1.2.1. Fie A si B doua multimi. Numim diferenta simetrica a multimilorA si B multimea AΔB = (A−B) ∪ (B − A).

Conform Axiomei reuniunii, exista o unica multime AΔB. Ca urmare, Definitia1.1.2.1 este consistenta.

Operatiile ∪, ∩, − si Δ au fost studiate ın mod sistematic pentru prima data decatre George Boole [14]. Din acest motiv, ele sunt numite astazi operatii Booleene.Ele pot fi reprezentate grafic prin asa numitele diagrame Venn, ca ın Figura 1.1.

�������BA

A ∪B�������BA

A ∩ B

�������BA

A−B

�������BA

AΔB

�� U

A

A

Figura 1.1: Reprezentarea operatilor Booleene cu multimi prin diagrame Venn

Urmatoarea teorema ne spune ca produsul cartezian este distributiv la stanga si ladreapta fata de reuniune si intersectie (demonstratia este lasata ın seama cititorului).

Page 22: Fltiplea Fai

16 Multimi

Teorema 1.1.2.6. Fie A, B, C, D multimi si A o familie de multimi. Atunci, au locurmatoarele proprietati:

(1) A×⋃A =

⋃{A×X|X ∈ A} si

⋃A× A =

⋃{X × A|X ∈ A};

(2) A×⋂A =

⋂{A×X|X ∈ A} si

⋂A×A =

⋂{X×A|X ∈ A}, cu conditia

ca A sa fie nevida;

(3) A× (B − C) = (A× B)− (A× C);

(4) (A ∩ B)× (C ∩D) = (A× C) ∩ (B ×D).

1.1.3 Numere naturale si inductie

Multimea numerelor naturale este, fara doar si poate, primul exemplu de multimeinfinita la care ne-am gandi daca am fi ıntrebati sa dam un exemplu de o astfel demultime. Introducerea ei este, ınsa, un proces destul de complex care a stat ın atentiacercetatorilor multe zeci de ani (pentru detalii indicam [182, 187]). Problema fun-damentala consta ın aceea ca numerele nu pot fi definite facand apel la conceptulde numar. De exemplu, nu putem spune ca 2 este proprietatea comuna pe care oau toate multimile cu doua elemente deoarece definitia aceasta este circulara. Dar,daca punem ın evidenta o multime care, intuitiv, are “doua elemente”, atunci o putemfolosi pe aceasta pentru a defini 2. Foarte pe scurt, numerele naturale se introduc prinintermediul multimilor astfel:

0 = ∅, 1 = {∅} = {0}, 2 = {∅, {∅}} = {0, 1} etc.

Daca pentru o multime x notam prin S(x) multimea S(x) = x ∪ {x}, numita succe-soarea multimii x, atunci multimea numerelor naturale, notata prin N, este cea maimica multime cu proprietatile:

• contine ∅;

• daca contine x atunci contine si S(x).

O multime cu aceste doua proprietati poarta denumirea de multime inductiva. Ca ur-mare, N este definita ca fiind cea mai mica multime inductiva. Singura problema esteca nu putem demonstra existenta unei astfel de multimi pe baza axiomelor prezentate.Solutia consta ın adoptarea unei noi axiome, numita Axioma infinitului

Axioma infinitului Exista multimi inductive

In baza acestei axiome obtinem cu usurinta ca exista o cea mai mica multimeinductiva, deci exista multimea numerelor naturale (orice multime inductiva trebuiesa contine si orice numar natural).

Ordinea pe numere naturale se obtine prin intermediul apartenentei. Fie < relatiabinara pe N data prin:

n < m ⇔ n ∈ m,

Page 23: Fltiplea Fai

Numere naturale si inductie 17

pentru orice n,m ∈ N. Vom arata ca < este o ordine totala stricta pe N, dar pentruaceasta vom avea nevoie mai ıntai de o tehnica de demonstratie, numita principiulinductiei matematice.

Teorema 1.1.3.1. (Principiul inductiei matematice)Fie P (x) o proprietate astfel ıncat:

(i) P (0);

(ii) pentru orice k ∈ N, P (k) implica P (S(k)).

Atunci, P este satisfacuta de toate numerele naturale.

Demonstratie (i) si (ii) arata ca multimea A = {k ∈ N|P (k)} este inductiva. CumN este cea mai mica multime inductiva, N ⊆ A, ceea ce demonstreaza teorema. �

Aplicarea Principiului inductiei ın situatii concrete consta ın parcurgerea urma-toarelor etape:

– se alege (fixeaza) proprietatea P despre care se doreste a se arata ca este satis-facuta de toate numerele naturale;

– se verifica faptul ca P este satisfacuta de 0 (aceasta etapa se numeste bazainductiei);

– se considera un numar arbitrar k ≥ 0, se presupune ca P este satisfacuta de k(aceasta presupunere este numita ipoteza inductiva), dupa care se verifica dacaP este satisfacuta de S(k) (aceasta etapa se numeste pasul inductiv).

Daca atat baza inductiei cat si pasul inductiv au fost parcurse cu succes, atunci, ınbaza Principiului inductiei deducem ca proprietatea P este satisfacuta de toate nu-merele naturale.

Demonstratiile ce utilizeaza exclusiv Principiul inductiei sau variante ale aces-tuia, asa cum vom prezenta ın continuare, sunt numite demonstratii prin inductie(matematica).

Teorema 1.1.3.2.

(1) Relatia < pe N este ordine totala stricta.

(2) Orice submultime nevida a multimii N are cel mai mic element ın raport curelatia <.

Demonstratie (1) Conform discutiei de mai sus, ceea ce ne ramane de aratat esteca orice doua numere naturale n si m sunt comparabile. Demonstratia acestui fapt ovom face prin inductie matematica aratand ca proprietatea

P (n) : n este comparabil cu orice m ∈ N

este satisfacuta de orice numar natural:

Page 24: Fltiplea Fai

18 Multimi

• P (0): vom arata, utilizand iarasi inductia matematica, ca 0 este comparabil cuorice m ∈ N:

– evident, 0 este comparabil cu 0 (0 = 0);

– presupunem ca 0 este comparabil cum. Ca urmare, ori 0 ∈ m, ori 0 = m.In ambele cazuri avem 0 ∈ S(m) = m ∪ {m} si, deci, 0 este comparabilcu S(m).

Principiul inductiei matematice asigura atunci ca 0 este comparabil cu oricenumar natural m;

• presupunem ca n este comparabil cu orice m ∈ N. Vom arata prin inductie caS(n) este comparabil cu orice m ∈ N:

– evident, S(n) este comparabil cu 0 (0 ∈ S(n));

– presupunem ca S(n) este comparabil cu m. Ca urmare, ori S(n) ∈ m,ori S(n) = m, ori m ∈ S(n). Daca S(n) ∈ m sau S(n) = m, atunciS(n) ∈ m∪{m} = S(m). Dacam ∈ S(n), atunci orim ∈ n orim = n.In primul caz are loc S(m) ∈ S(n), iar ın cel de-al doilea S(m) = S(n),ceea ce arata ca S(m) si S(n) sunt comparabile.

Conform Principiului inductiei, S(n) este comparabil cu orice m ∈ N.

Am obtinut astfel, ın baza Principiului inductiei matematice, ca orice doua numerenaturale sunt comparabile; deci, < este ordine totala stricta.

(2) Sa aratam acum ca orice submultime nevida a multimii N are un cel mai micelement ın raport cu ordinea <. Fie M ⊆ N nevida si n ∈ M . Multimea S(n) ∩Meste nevida si, deoarece S(n) este numar natural, urmeaza ca S(n) ∩M admite celmai mic element. Este usor de vazut ca acest cel mai mic element este de fapt si celmai mic element al multimii M ın raport cu ordinea <.

Teorema este demonstrata. �

Corolarul 1.1.3.1. Daca o submultime de numere naturale are un element maximal,atunci acesta este unic (el fiind, astfel, cel mai mare element al acesteia).

Demonstratie Daca o submultime de numere naturale ar avea mai mult de unelement maximal, atunci multimea acestor elemente maximale ar admite un cel maimic element care ar contrazice statutul de element maximal al acestuia. �

Faptul ca orice submultime nevida a lui (N;<) are un cel mai mic element per-mite stabilirea unor noi variante ale Principiului inductiei. Prezentam ıntai catevausoare generalizari.

Principiul inductiei poate fi aplicat pe submultimi nevide (bine precizate) ale luiN. De exemplu, daca dorim sa demonstram ca o proprietate P este satisfacuta detoate numerele naturale mai mici sau egale cu un numar fixat n, atunci avem deverificat urmatoarele:

(a) P (0);

Page 25: Fltiplea Fai

Numere naturale si inductie 19

(b) P (k) implica P (S(k)), pentru orice k < n.

In adevar, daca consideram proprietatea Q data prin Q(k) = P (k), pentru k ≤ n, siQ(k) satisfacuta pentru orice k > n, atunci (a) si (b) conduc la:

(c) Q(0);

(d) Q(k) implica Q(S(k)), pentru orice k ∈ N,

care ın baza Principiului inductiei asigura faptul ca Q este satisfacuta de toate nu-merele naturale, adica N ⊆ {k ∈ N|Q(k)}. Atunci,

{k ∈ N|P (k)} = {k ∈ N|Q(k)} ∩ {k ∈ N|k ≤ n}⊇ N ∩ {k ∈ N|k ≤ n}= {k ∈ N|k ≤ n},

ceea ce ne arata ca P este satisfacuta de toate numerele naturale mai mici sau egale cun. Aceasta varianta a Principiului inductiei poarta denumirea de Principiul inductieifinitare (terminologia de “finitar” provine de la faptul ca multimea pe care se cereverificarea proprietatii P este finita).

Evident, se pot imagina si alte tipuri de submultimi pe care se poate aplica otehnica similara. Destul de des sunt ıntalnite variante de forma:

(a’) P (n0) (n0 fiind fixat a priori);

(b’) P (k) implica P (S(k)), pentru orice k ≥ n0,

care conduc la {k ∈ N|k ≥ n0} ⊆ {k ∈ N|P (k)} (cititorul este invitat sa argu-menteze aceasta varianta a Principiului inductiei).

Pentru variantele pe care le vom prezenta ın continuare vom utiliza din plin Teo-rema 1.1.3.2(2). Daca A este o multime nevida de numere naturale, atunci cel maimic element al ei va fi notat prin ⊥A. Orice element k ∈ A care nu este maximal areun succesor imediat k′ ∈ A. In adevar, multimea {a ∈ A|k < a} este nevida si arecel mai mic element, care este succesorul imediat al lui k.

Propozitia 1.1.3.1. Fie P (x) o proprietate astfel ıncat:

(i) P (0);

(ii) pentru orice k ∈ N, ((∀j ≤ k)(P (j)) ⇒ P (S(k))).

Atunci, P este satisfacuta de toate numerele naturale n ∈ N.

Demonstratie Presupunem prin contradictie ca exista un numar natural n ce nusatisface P . Fie A multimea tuturor acestor numere. A este nevida dar nu contine0 (deoarece are loc (i)). Proprietatea P este satisfacuta de toate numerele naturalemai mici decat ⊥A si, atunci, (ii) conduce la faptul ca P este satisfacuta de ⊥A;contradictie cu ⊥A∈ A. �

Page 26: Fltiplea Fai

20 Multimi

Propozitia 1.1.3.2. Fie A ⊆ N si P (x) o proprietate astfel ıncat:

(i) P (⊥A);

(ii) pentru orice k ∈ A ce nu este cel mai mare element al multimii A,

P (k) ⇒ P (k′),

unde k′ este succesorul imediat al lui k ın A.

Atunci, P este satisfacuta de toate numerele naturale n ∈ A.

Demonstratie Consideram proprietatea Q(x) data prin:

(1) pentru orice x ∈ A, Q este satisfacuta de x daca si numai daca P este satisfa-cuta de x;

(2) Q este satisfacuta de orice x ∈ N−A.

Utilizand Propozitia 1.1.3.1 aratam ca proprietatea Q satisface ipotezele Principiuluiinductiei:

– daca 0 =⊥A, atunci Q este satisfacuta de 0 pe baza lui (1); altfel, Q estesatisfacuta de 0 pe baza lui (2);

– consideram k ∈ N ce nu este maximal si presupunem ca are loc Q(j), pentruorice j ≤ k. Daca S(k) ∈ N − A, atunci Q este satisfacuta de S(k) (pe bazalui (2)). Altfel, avem de luat ın considerare urmatoarele doua cazuri:

(a) k ∈ A. Atunci, S(k) este succesorul imediat al lui k ın A, iar (1) siipoteza propozitiei conduc la faptul ca S(k) satisface Q;

(b) k �∈ A. Daca S(k) =⊥A, atunci Q este satisfacuta de S(k) ca urmare alui (1). Altfel, exista un element m ∈ A astfel ıncat S(k) este succesoruldirect al lui m ın A. Numarul m satisface m ≤ k si, atunci, pe bazaipotezei inductive urmeaza ca m satisface Q. Ipoteza propozitiei si (1)conduc la faptul ca S(k) satisface Q.

Principiul inductiei aplicat proprietatii Q ne arata ca N ⊆ {k ∈ N|Q(k)}. Deci,

A = N ∩A ⊆ {k ∈ N|Q(k)} ∩ A = {k ∈ N|P (k)},

ceea ce demonstreaza propozitia. �

Pentru Principiul din Propozitia 1.1.3.2 se poate da o varianta ca ın Propozitia1.1.3.1. Demonstratia acesteia o lasam ın seama cititorului.

Propozitia 1.1.3.3. Fie A ⊆ N si P (x) o proprietate astfel ıncat:

(i) P (⊥A);

Page 27: Fltiplea Fai

Recursie 21

(ii) pentru orice k ∈ A ce nu este cel mai mare element al multimii A,

(∀j ≤ k)(j ∈ A ∧ P (j)) ⇒ P (k′),

unde k′ este succesorul imediat al lui k ın A.

Atunci, P este satisfacuta de toate numerele naturale n ∈ A.

Definitia 1.1.3.1. O multime A este numita finita daca exista un numar natural nastfel ıncat A si n sunt echipotente. Vom mai spune ın acest caz ca A are n elementesi vom nota |A| = n. Daca A nu este finita vom spune ca ea este infinita.

Secventele sunt “ınsiruiri” finite sau infinite de elemente; ele apar frecvent ınconsideratii matematice. In analiza matematica secventele infinite sunt uzual numitesiruri.

Definitia 1.1.3.2. Se numeste secventa de elemente peste A orice functie f cu dome-niul un numar natural sau N si cu valori ın A. Daca domeniul este un numar naturaln, atunci secventa este numita finita sau de lungime n; altfel, ea este numita infinita.

Secventele sunt functii si, ca urmare, putem vorbi despre domeniul si codomeniulunei secvente. Domeniul va fi ıntotdeauna un numar natural sau N. Exista o unicasecventa de lungime 0 si anume, functia vida; ea va fi numita secventa vida.

Uzual, secventele infinite sunt notate prin

〈ai|i ∈ N〉 sau 〈ai|i ≥ 0〉 sau 〈ai〉i∈N sau 〈ai〉i≥0,

iar cele finite de lungime n prin

〈ai|i < n〉 sau 〈ai|i = 0, . . . , n− 1〉 sau 〈a0, . . . , an−1〉 sau 〈ai〉n−1i=0 ,

unde ai = f(i), f fiind secventa ın cauza. Uneori, crosetele “〈” si “〉” sunt ınlocuiteprin paranteze rotunde sau acolade, iar ın cazul secventelor finite ele sunt eliminatecu precadere 12.

1.1.4 Recursie

Definirea operatiilor de baza pe multimea numerelor naturale, cum ar fi adunarea siınmultirea, constituie un alt obstacol pe care trebuie sa ıl trecem. Mentionam ıntaica o operatie binara pe o multime A nu este altceva decat o functie de la A × A cuvalori ın A.

Caracterul inductiv al multimii numerelor naturale face loc ideii definirii “induc-tive” de functii al caror domeniu este aceasta multime, dar nu numai. De exemplu,adunarea poate fi definita prin

12Atunci cand sunt utilizate parantezele rotunde, distinctia dintre secvente si familii indexate demultimi (ce vor fi introduse ın Sectiunea 1.2.4), urmeaza a fi dedusa din context. De fapt, trebuie saremarcam ca ın cazul ın care A este o familie de multimi, secventele peste A sunt cazuri particularede familii indexate de multimi (multimea de index este un numar natural sau multimea N).

Page 28: Fltiplea Fai

22 Multimi

• n + 0 = n, pentru orice n ∈ N;

• n + S(m) = S(n+m), pentru orice n,m ∈ N.

In cazul functiilor, astfel de proceduri (metodologii, scheme de definitie) sunt numitedefinitii recursive/recurente sau scheme de recursie/recurenta. In general, ele constauın:

– se defineste functia pentru 0;

– daca functia a fost definita pentru n ∈ N, atunci se arata cum se definestepentru S(n).

Vom spune ca doua functii f si g sunt compatibile daca Dom(f) ⊆ Dom(g) sif(x) = g(x), pentru orice x ∈ Dom(f). O multime A de functii compatibile areproprietatea ca orice doua functii ale ei sunt compatibile. Daca A este o astfel demultime, atunci

⋃A este functie cu domeniul

⋃f∈ADom(f).

Teorema 1.1.4.1. (Teorema recursiei)Fie A o multime, a ∈ A si h : N × A → A o functie. Atunci, exista o unica functief : N→ A astfel ıncat:

(i) f(0) = a;

(ii) f(S(n)) = h(n, f(n)), pentru orice n ∈ N.

Demonstratie Fie F multimea tuturor functiilor g al caror domeniu este un numarnatural diferit de 0, cu valori ın A, ce verifica:

(∗){g(0) = a,g(S(x)) = h(x, g(x)), pentru orice x cu S(x) ∈ Dom(g).

Este usor de vazut ca F este multime nevida (F contine functia g : {0} → A dataprin g(0) = a).

Aratam ca orice doua functii g, g′ ∈ F sunt compatibile. Fie g, g ′ ∈ F . Existanumerele naturale k,m ∈ N − {0} astfel ıncat Dom(g) = k si Dom(g′) = m.Presupunem ca k ≤ m. Prin inductie finitara aratam ca pentru orice 0 ≤ x ≤ k areloc g(x) = g′(x):

• g(0) = a = g′(0);

• daca presupunem ca g(x) = g′(x) pentru x < k, atunci

g(S(x)) = h(x, g(x)) = h(x, g′(x)) = g′(S(x)).

In baza Principiului inductiei finitare obtinem ca g si g ′ sunt compatibile. Ca urmare,F este multime de functii compatibile, ceea ce conduce la faptul ca exista functiaf =

⋃F cu domeniul

⋃g∈F Dom(g).

Aratam ca Dom(f) = N. Domeniul functiei f este submultime a multimii N.Daca presupunem ca N − Dom(f) este nevida, atunci ea va avea un cel mai mic

Page 29: Fltiplea Fai

Recursie 23

element, fie acesta x. Este clar ca x > 0 si, deci, exista y astfel ıncat x = S(y).Numarul y este ın domeniul functiei f si, deci, exista g ∈ F astfel ıncat y ∈ Dom(g).Mai mult, nu exista z ≥ x astfel ıncat z ∈ Dom(g). Adica, Dom(g) = x. Vom arataca exista o functie g′ ∈ F al carei domeniu contine x.

Fie g′ = g ∪ {(x, h(y, g(y)))}. Este clar ca g′ este functie cu domeniul

Dom(g′) = Dom(g) ∪ {x} = S(x).

Aratam ca g′ satisface (∗):

– g′(0) = g(0) = a;

– fie z astfel ıncat S(z) ∈ Dom(g′). Daca S(z) ∈ Dom(g), atunci

g′(S(z)) = g(S(z)) = h(z, g(z)) = h(z, g′(z)).

Daca S(z) = x, atunci z = y, iar de la definitia functiei g′ urmeaza ca

g′(S(y)) = g′(x) = h(y, g(y)) = h(y, g′(y)).

Ca urmare g′ satisface (∗) si, deci, g′ ∈ F . Aceasta contrazice presupunerea conformcareia x �∈ Dom(f) si, deci, Dom(f) = N.

Aratam ca functia f satisface (i) si (ii) ale teoremei. Conform definitiei ei,

f(0) = g(0) = a,

pentru orice g ∈ F si, deci, f satisface (i).Fie x ∈ Dom(f). Atunci, exista g ∈ F astfel ıncat S(x) ∈ Dom(g). Deoarece

F este multime de functii compatibile urmeaza ca

f(S(x)) = g(S(x)) = h(x, g(x)) = h(x, f(x)),

ceea ce ne arata ca f satisface (ii).Unicitatea functiei f se obtine astfel. Daca ar exista o alta functie g ce satisface

(i) si (ii), atunci prin inductie dupa n ∈ N aratam ca f(n) = g(n), ceea ce va conducela f = g. In adevar, f(0) = a = g(0) si, daca presupunem ca f(n) = g(n), atunci

f(S(n)) = h(n, f(n)) = h(n, g(n)) = g(S(n)).

Ca urmare, f(n) = g(n) pentru orice n ∈ N, ceea ce arata ca f = g. �

Functiile cu domeniul N sunt secvente infinite si reciproc. Ca urmare, Teoremarecursiei poate fi reformulata ın termeni de secvente astfel 13:

– data o multime A, a ∈ A si o functie h : N× A→ A, exista o unica secventainfinita 〈ai|i ≥ 0〉 astfel ıncat:

13Si celelalte variante de recursie, ce vor fi prezentate pe parcursul acestui capitol, pot fi reformulateın termeni de secvente.

Page 30: Fltiplea Fai

24 Multimi

– a0 = a;

– an+1 = h(n, an), pentru orice n ∈ N.

Deci, a defini recursiv o functie cu domeniul N revine la a defini o secventa infinitaın care orice element al ei, exceptand primul, este “construit” pe baza elementuluianterior:

f(0) = a, f(1) = h(0, f(0)), f(2) = h(1, f(1)), . . .

Uneori, este bine de gandit aceasta definitie si ın modul urmator: initial (la pasul0) functia f este definita prin a, la pasul 1 functia f este definita prin h(0, f(0)), lapasul 2 functia f este definita prin h(1, f(1)) etc.

Operatiile binare, cum ar fi de exemplu adunarea, ınmultirea etc., sunt functiide doua variabile (definite pe produsul cartezian a doua multimi). Teorema recursieipoate fi utilizata si pentru a defini astfel de functii, pornind de la urmatoarea remarca.Fie f : A× B → C o functie. Daca fixam unul din argumente iar celalalt ıl pastramvariabil, de exemplu al doilea fix si primul variabil, atunci pentru fiecare valoareb ∈ B data celui de-al doilea argument obtinem o functie cu un singur argument,fb : A → C, cu proprietatea fb(a) = f(a, b), pentru orice a ∈ A. Atunci, adefini functia f revine la a defini functiile fb, pentru orice b ∈ B. Daca B estemultimea numerelor naturale, atunci putem utiliza Teorema recursiei pentru a definio functie F : N → CA astfel ıncat F (b) = fb pentru orice b ∈ B = N; adica, F vadefini functiile fb pentru orice b ∈ B. Aceasta va fi de fapt ideea de demonstratie aurmatoarei teoreme.

Teorema 1.1.4.2. (Varianta parametrica a Teoremei recursiei)Fie A si P multimi, iar g : P → A si h : P ×N × A → A functii. Atunci, exista ounica functie f : P ×N→ A astfel ıncat:

(i) f(p, 0) = g(p), pentru orice p ∈ P ;

(ii) f(p, S(n)) = h(p, n, f(p, n)), pentru orice p ∈ P si n ∈ N.

Demonstratie Fie f0 : P → A data prin f0(p) = g(p) pentru orice p ∈ P , siH : N × AP → AP data prin H(n, ϕ)(p) = h(p, n, ϕ(p)) (este usor de vazut caaceste functii exista). Teorema recursiei va conduce la existenta unei unice functiiF : N→ AP astfel ıncat:

– F (0) = f0;

– F (S(n)) = H(n, F (n)), pentru orice n ∈ N.

Definim atunci f : P × N → A prin f(p, n) = F (n)(p), pentru orice p ∈ P sin ∈ N. f este functie si aratam ca ea satisface teorema:

• f(p, 0) = F (0)(p) = f0(p) = g(p), pentru orice p ∈ P ;

Page 31: Fltiplea Fai

Recursie 25

• f(p, S(n)) = F (S(n))(p) = H(n, F (n))(p)= h(p, n, F (n)(p))= h(p, n, f(p, n)),

pentru orice p ∈ P si n ∈ N.

Unicitatea functiei f se stabileste ca ın Teorema 1.1.4.1. �

Demonstratia Teoremei 1.1.4.2 ne arata clar ca a defini ın maniera recursiva ofunctie f : P ×N→ A ınseamna a defini o secventa infinita de functii de la P la A,

f0, f1, f2, . . .

Functia f va fi atunci data prin f(p, n) = fn(p), pentru orice p ∈ P si n ∈ N. Altfelspus, functia f “condenseaza” secventa infinita de mai sus. Diferenta dintre Teo-rema 1.1.4.1 si Teorema 1.1.4.2 este data de “natura” elementelor secventei infinitedefinite.

Prezentam o noua demonstratie a Teoremei 1.1.4.2, bazata pe fixarea primuluiargument al functiei f .

Pentru orice p ∈ P , Teorema recursiei asigura existenta unei unice functii fp :N→ A astfel ıncat:

(i) fp(0) = g(p);

(ii) fp(S(n)) = hp(n, fp(n)), pentru orice n ∈ N,

unde hp este functia hp(n, x) = h(p, n, x), pentru orice n, x ∈ N.

Functia f =⋃

p∈P fp verifica teorema.

Teorema recursiei si varianta ei parametrica au importanta majora ın definirea defunctii si operatii pe numere naturale, ın mod recursiv. Vom ilustra aceasta aratandcum pot fi definite riguros operatiile de baza cu numere naturale.

Teorema 1.1.4.3.

(1) Exista o unica operatie + : N×N→ N astfel ıncat:

(a) +(m, 0) = m, pentru orice m ∈ N;

(b) +(m,S(n)) = S(+(m,n)), pentru orice m,n ∈ N.

(2) Exista o unica operatie · : N×N→ N astfel ıncat:

(a) ·(m, 0) = 0, pentru orice m ∈ N;

(b) ·(m,S(n)) = +(·(m,n), m), pentru orice m,n ∈ N.

(3) Exista o unica operatie : N×N→ N astfel ıncat:

(a) (m, 0) = 1, pentru orice m ∈ N;

(b) (m,S(n)) = ·( (m,n), m), pentru orice m,n ∈ N.

Page 32: Fltiplea Fai

26 Multimi

(4) Exista o unica operatie S ′ : N→ N astfel ıncat:

(a) S′(0) = 0;

(b) S ′(S(n)) = n, pentru orice n ∈ N.

(5) Exista o unica operatie −• : N×N→ N astfel ıncat:

(a) −• (m, 0) = m, pentru orice m ∈ N;

(b) −• (m,S(n)) = S ′(−• (m,n)), pentru orice m,n ∈ N.

Demonstratie In Teorem 1.1.4.2 consideram A = P = N si:

– g(p) = p si h(p, n, x) = S(x), pentru orice p, n, x ∈ N(pentru operatia +);

– g(p) = 0 si h(p, n, x) = +(x, p), pentru orice p, n, x ∈ N(pentru operatia ·);

– g(p) = 1 si h(p, n, x) = ·(x, p), pentru orice p, n, x ∈ N(pentru operatia );

– g(p) = 0 si h(p, n, x) = n, pentru orice p, n, x ∈ N(pentru operatia S ′);

– g(p) = p si h(p, n, x) = S ′(x), pentru orice p, n, x ∈ N(pentru operatia −• ).

Unica functie a carei existenta este asigurata de aceasta teorema este ıntocmai + sau,respectiv, ·, , S ′, −• . �

Operatia + (·, ,−• ) este numita operatia de adunare (ınmultire, ridicare la putere,diferenta, scadere aritmetica) pe N; uzual vom folosi notatia infix pentru ele, adicavom scrie m+n (m ·n, m n, m−• n) ın loc de +(m,n) (·(m,n), (m,n), −• (m,n)).Semnele operatiilor de ınmultire si ridicare la putere se omit cu precadere, utilizandu-se mn si mn pentru m · n si, respectiv, m n. De la Teorema 1.1.4.3 rezulta ca areloc

S(m) = S(+(m, 0)) = +(m,S(0)) = +(m, 1) = m+ 1,

ceea ce permite utilizarea notatiei m+ 1 pentru S(m), care este mult mai intuitiva siusor de manipulat. (a1), (a2), (i1), (i2), (p1), (p2), (d1) si (d2) din Teorema 1.1.4.3pot fi reformulate astfel:

(a1’) m+ 0 = m;

(a2’) m+ (n+ 1) = (m+ n) + 1;

(i1’) m · 0 = 0;

(i2’) m · (n+ 1) = (m · n) +m;

Page 33: Fltiplea Fai

Relatii si functii 27

(p1’) m0 = 1;

(p2’) mn+1 = mn ·m;

(d1’) m−• 0 = m;

(d2’) m−• (n + 1) = S ′(m−• n),

pentru orice m,n ∈ N.

Introducerea multimii numerelor naturale, ımpreuna cu operatiile de baza peacestea, constituie un obiectiv major pe care consideram ca l-am dus la bun sfarsit.Din acest punct mai departe vom presupune ca cititorul este familiarizat cu pro-prietatile de baza ale numerelor naturale si operatiile cu acestea. De asemenea, pre-supunem ca este cunoscut modul de introducere a celorlate sisteme de numere, ıntregi(Z), rationale (Q), reale (R) si complexe (C), precum si a operatiilor de baza pe aces-tea (pentru detalii, indicam [182]). Z∗ denota Z − {0}, Z+ denota {x ∈ Z|x ≥ 0},iar Z∗

+ denota {x ∈ Z|x > 0}. Aceste notatii sunt extinse si la Q si R, iar notatia“∗” si la C.

1.2 Relatii si functii

In Sectiunea 1.1 s-a introdus, ın maniera axiomatica, conceptul de multime si, bazatpe acesta, concepetele de pereche ordonata, relatie, functie si numar natural. Toateacestea sunt fundamentale ın matematica, ele constituind baza tuturor celorlalte con-cepte matematice.

In aceasta sectiune vom aprofunda studiul acestor concepte de baza.

1.2.1 Relatii

Relatiile binare (Sectiunea 1.1.1) sunt multimi de perechi ordonate. Multimea vidaeste relatie, numita relatia vida. Notatia a ρ b este utilizata frecvent pentru a specificafaptul ca (a, b) este element al relatie ρ.

Deoarece relatiile sunt multimi, putem construi reuniunea, intersectia, diferentasi complementara lor, care sunt relatii; egalitatea relatiilor este egalitate de multimi.Dom(ρ) si Cod(ρ) desemneaza domeniul si, respectiv, codomeniul relatie ρ.

Exemplul 1.2.1.1. Fie A si B multimi.

(1) Relatia =A⊆ A× A data prin

=A= {(a, a)|a ∈ A}

este numita relatia de egalitate pe A sau identitatea pe A sau diagonala luiA× A (frecvent notata si prin ιA 14).

14Notatia ιA este de preferat notatiei =A care poate reduce lizibilitatea textului cum ar fi de exempluın scrieri de forma “ρ ==A”.

Page 34: Fltiplea Fai

28 Relatii si functii

(2) Relatia ∈A⊆ A× A data prin

∈A= {(a, b)|a, b ∈ A, a ∈ b}

este numita relatia de apartenenta pe A.

(3) Relatia ⊆A⊆ A× A data prin

⊆A= {(a, b)|a, b ∈ A, a ⊆ b}

este numita relatia de incluziune pe A. Inlocuind⊆ prin⊂, obtinem relatia deincluziune stricta pe A, notata prin ⊂A.

(4) Relatia ωA,B ⊆ A× B data prin

ωA,B = {(a, b)|a ∈ A, b ∈ B} = A×B

este numita relatia completa de la A la B. In cazul A = B, notatia ωA,B va fisimplificata la ωA, care este numita relatia completa pe A.

Atunci cand multimea A este subınteleasa din context, notatia =A (ιA, ∈A, ⊆A,⊂A, ωA) va fi simplificata la = (ι, ∈, ⊆, ⊂, ω).

Definitia 1.2.1.1. Fie ρ o relatie binara si A o multime. Restrictia relatiei ρ la A esterelatia binara notata ρ|A si data prin

ρ|A = ρ ∩ (A× A).

Relatia ρ|A este intersectia a doua relatii, ρ|A = ρ ∩ ωA. Acest fapt permite dez-voltarea unor proprietati ale relatiei ρ|A uzand de diverse proprietati ale intersectieide relatii.

Evident, restrictia unei relatii binare se poate face restrangand doar domeniul saudoar codomeniul acesteia, sau restrangandu-le pe ambele dar ın mod diferit. In cazulDefinitiei 1.2.1.1, atat domeniul cat si codomeniul sunt restrictionate prin intermediulaceleiasi multimi A.

Este adesea util a reprezenta grafic relatiile binare. Reprezentarea grafica a uneirelatii ρ se face printr-un graf orientat ale carui noduri sunt etichetate cu elementelemultimiiDom(ρ)∪Cod(ρ). Pentru fiecare pereche (a, b) ∈ ρ se traseaza un arc de lanodul cu eticheta a la nodul cu eticheta b. In mod frecvent nodurile sunt identificateprin etichetele lor (distinctia nod-eticheta fiind esentiala atunci cand noduri diferitesunt etichetate cu aceeasi eticheta). In Figura 1.2 este reprezentata grafic relatia

ρ = {(a, a), (a, b), (b, c), (a, c), (a, d)},

punand ın evidenta atat reprezentarea cu noduri etichetate cat si cea ın care nodurilesunt identificate cu etichetele lor.

Urmatoarea propozitie prezinta cateva proprietati elementare ale domeniului sicodomeniului unei relatii.

Page 35: Fltiplea Fai

Relatii 29

a

b c

d

a)

a

b c

d

b)

Figura 1.2: Reprezentari grafice ale aceleiasi relatii binare

Propozitia 1.2.1.1. Fie ρ si σ doua relatii binare. Atunci, au loc urmatoarele propri-etati:

(1) Dom(ρ ∪ σ) = Dom(ρ) ∪Dom(σ);

(2) Cod(ρ ∪ σ) = Cod(ρ) ∪ Cod(σ);

(3) Dom(ρ ∩ σ) ⊆ Dom(ρ) ∩Dom(σ);

(4) Cod(ρ ∩ σ) ⊆ Cod(ρ) ∩ Cod(σ);

(5) Dom(ρ)−Dom(σ) ⊆ Dom(ρ− σ);

(6) Cod(ρ)− Cod(σ) = Cod(ρ− σ);

(7) daca ρ ⊆ σ, atunci Dom(ρ) ⊆ Dom(σ) si Cod(ρ) ⊆ Cod(σ).

Atragem atentia asupra incluziunilor din Propozitia 1.2.1.1(1)(2)(3)(4). Ele potfi stricte. De exemplu, daca ρ = {(a, b)} si σ = {(a, c)}, unde b �= c, atunci

Dom(ρ ∩ σ) = ∅ dar Dom(ρ) ∩Dom(σ) = {a}.

Produsul si inversa relatiilor binare sunt “operatii” specifice de mare importantaın studiul acestora.

Definitia 1.2.1.2. Fie ρ si σ doua relatii binare. Relatia binara notata ρ ◦ σ si dataprin

ρ ◦ σ = {(a, c)|(∃b)((a, b) ∈ ρ ∧ (b, c) ∈ σ)}

este numita produsul relatiilor ρ si σ.

Este clar ca pentru orice doua relatii ρ si σ, produsul lor este relatie binara (deci,Definitia 1.2.1.3 este consistenta). Daca ρ este relatie de la A la B, iar σ de la C laD, atunci ρ ◦σ este relatie de la A la D. In plus, daca Cod(ρ)∩Dom(σ) = ∅, atunciρ ◦ σ = ∅.

Urmatoarea propozitie prezinta cateva proprietatile de baza ale produsului derelatii.

Page 36: Fltiplea Fai

30 Relatii si functii

Propozitia 1.2.1.2. Fie ρ, σ si θ relatii binare, iar A si B multimi. Atunci, au locurmatoarele proprietati:

(1) Dom(ρ ◦ σ) ⊆ Dom(ρ);

(2) Cod(ρ ◦ σ) ⊆ Cod(σ);

(3) ρ ◦ (σ ◦ θ) = (ρ ◦ σ) ◦ θ;

(4) ρ ◦ (σ ∪ θ) = (ρ ◦ σ) ∪ (ρ ◦ θ);

(5) (ρ ∪ σ) ◦ θ = (ρ ◦ θ) ∪ (σ ◦ θ);

(6) ρ ◦ (σ ∩ θ) ⊆ (ρ ◦ σ) ∩ (ρ ◦ θ);

(7) (ρ ∩ σ) ◦ θ ⊆ (ρ ◦ θ) ∩ (σ ◦ θ);

(8) ρ ◦ σ − ρ ◦ θ ⊆ ρ ◦ (σ − θ);

(9) daca σ ⊆ θ, atunci ρ ◦ σ ⊆ ρ ◦ θ si σ ◦ ρ ⊆ θ ◦ ρ;

(10) ιA ◦ ρ ⊆ ρ si ρ ◦ ιB ⊆ ρ. In plus, ιA ◦ ρ = ρ daca si numai daca Dom(ρ) ⊆ Asi, ρ ◦ ιB = ρ daca si numai daca Cod(ρ) ⊆ B.

Demonstratie Vom demonstra doar (10). Fie (a, b) ∈ ιA ◦ ρ. Atunci, exista c astfelıncat (a, c) ∈ ιA si (c, b) ∈ ρ. Conform definitiei relatiei ιA, urmeaza a = c si, deci,(a, b) ∈ ρ. Am obtinut astfel incluziunea ιA ◦ ρ ⊆ ρ; incluziunea ρ ◦ ιB ⊆ ρ sedemonstreaza similar acesteia.

Sa presupunem acum ca ιA ◦ ρ = ρ si sa aratam ca Dom(ρ) ⊆ A. Fie a ∈Dom(ρ). Atunci, exista b astfel ıncat (a, b) ∈ ρ. Deoarece ρ = ιA ◦ ρ, obtinem(a, b) ∈ ιA ◦ ρ si, deci, va exista c astfel ıncat (a, c) ∈ ιA si (c, b) ∈ ρ. Conformdefinitiei relatiei ιA avem c = a si, deci, a ∈ A. Am obtinut astfel Dom(ρ) ⊆ A.

Reciproc, sa presupunem ca Dom(ρ) ⊆ A. Conform cu ceea ce am demonstratanterior (ιA ◦ ρ ⊆ ρ), ne ramane de aratat ca ρ ⊆ ιA ◦ ρ. Fie deci (a, b) ∈ ρ. CumDom(ρ) ⊆ A urmeaza ca a ∈ A si, atunci, putem scrie (a, b) ∈ ιA ◦ ρ. Am obtinutastfel ρ = ιA ◦ ρ.

Echivalenta “ρ ◦ ιB = ρ daca si numai daca Cod(ρ) ⊆ B” se demonstreazasimilar celei precedente. �

Atragem atentia asupra incluziunilor din Propozitia 1.2.1.2(1)(2). Daca, de e-xemplu, exista a ∈ Dom(ρ) astfel ıncat

{b|(a, b) ∈ ρ} ∩Dom(σ) = ∅,

atunci Dom(ρ ◦ σ) ⊂ Dom(ρ). Similar, daca exista c ∈ Cod(σ) astfel ıncat

Cod(ρ) ∩ {b|(b, c) ∈ σ} = ∅,

atunci Cod(ρ ◦ σ) ⊂ Cod(σ).

Page 37: Fltiplea Fai

Relatii 31

Asociativitatea produsului de relatii ne permite sa scriem ρ ◦ σ ◦ θ ın loc de(ρ ◦ σ) ◦ θ sau ρ ◦ (σ ◦ θ). Astfel, daca (a, d) ∈ ρ ◦ σ ◦ θ, atunci exista b si c astfelıncat (a, b) ∈ ρ, (b, c) ∈ σ si (c, d) ∈ θ.

Atunci cand nu exista pericol de confuzie semnul operatiei de compunere, “◦”,va fi omis. Astfel, ın loc de ρ ◦ σ vom scrie ρσ.

Definitia 1.2.1.3. Fie ρ o relatie binara. Inversa relatiei ρ este relatia notata ρ−1 sidata prin

ρ−1 = {(b, a)|(a, b) ∈ ρ}.

Inversa unei relatii ρ exista ıntotdeauna, iar daca ρ este relatie de la A laB, atunciρ−1 este relatie de la B la A. Pentru anumite relatii inversa are o notatie consacrata.Urmatorul tabel prezinta cateva dintre aceste notatii (A este o multime arbitrara):

ρ ≤ < → ⇒ ⊆A ⊂A

ρ−1 ≥ > ← ⇐ ⊇A ⊃A

Propozitia 1.2.1.3. Fie ρ si σ relatii binare. Atunci, au loc urmatoarele proprietati:

(1) Dom(ρ−1) = Cod(ρ);

(2) Cod(ρ−1) = Dom(ρ);

(3) (ρ−1)−1 = ρ;

(4) daca ρ ⊆ σ, atunci ρ−1 ⊆ σ−1;

(5) (ρ ∪ σ)−1 = ρ−1 ∪ σ−1;

(6) (ρ ∩ σ)−1 = ρ−1 ∩ σ−1;

(7) (ρ− σ)−1 = ρ−1 − σ−1;

(8) (ρ ◦ σ)−1 = σ−1 ◦ ρ−1.

Demonstratie Vom demonstra doar (8). Fie (a, b) ∈ (ρ ◦ σ)−1. Atunci, (b, a) ∈ρ ◦ σ si exista c astfel ıncat (b, c) ∈ ρ si (c, a) ∈ σ. Ca urmare, (c, b) ∈ ρ−1 si(a, c) ∈ σ−1, ceea ce arata ca (a, b) ∈ σ−1 ◦ ρ−1. Am obtinut astfel incluziunea(ρ ◦ σ)−1 ⊆ σ−1 ◦ ρ−1; incluziunea ın sens invers se arata ın mod similar. �

Definitia 1.2.1.4. Fie ρ o relatie binara, iar A si B multimi.

(1) Imaginea multimii A prin ρ, notata ρ(A), este multimea

ρ(A) = {b|(∃a ∈ A)(a ρ b)}.

(2) Imaginea inversa a multimii B prin ρ, notata ρ−1(B), este multimea

ρ−1(B) = {a|(∃b ∈ B)(a ρ b)}.

Page 38: Fltiplea Fai

32 Relatii si functii

Este clar ca ρ(A) si ρ−1(B) exista (ρ−1(B) este de fapt imaginea multimiiB prinrelatia binara ρ−1). Atunci cand A este de forma {a} vom nota ρ(a) ın loc de ρ({a}).

Propozitia 1.2.1.4. Fie ρ si σ relatii binare, iar A si B multimi. Atunci, au locurmatoarele proprietatile:

(1) ρ(A ∪B) = ρ(A) ∪ ρ(B);

(2) daca A ⊆ B, atunci ρ(A) ⊆ ρ(B);

(3) ρ(A ∩B) ⊆ ρ(A) ∩ ρ(B);

(4) ρ(A)− ρ(B) ⊆ ρ(A− B);

(5) ρ(A) = ∅ daca si numai daca Dom(ρ) ∩ A = ∅;

(6) Dom(ρ) ∩A ⊆ ρ−1(ρ(A)) si Cod(ρ) ∩ B ⊆ ρ(ρ−1(B));

(7) (ρ ◦ σ)(A) = σ(ρ(A)).

Demonstratie (1) Afirmatia se obtine pe baza echivalentelor:

b ∈ ρ(A) ∪ ρ(B) ⇔ b ∈ ρ(A) ∨ b ∈ ρ(B)⇔ (∃a ∈ A : a ρ b) ∨ (∃a ∈ B : a ρ b)⇔ ∃a ∈ A ∪ B : a ρ b⇔ b ∈ ρ(A ∪ B),

pentru orice b.(2) Daca A ⊆ B atunci B = A ∪ B. Utilizand (1) obtinem

ρ(A) ∪ ρ(B) = ρ(B),

ceea ce arata ca ρ(A) ⊆ ρ(B).(3) Deoarece A ∩B ⊆ A si A ∩ B ⊆ B, de la (2) urmeaza

ρ(A ∩ B) ⊆ ρ(A) si ρ(A ∩B) ⊆ ρ(B).

Atunci, ρ(A ∩B) ⊆ ρ(A) ∩ ρ(B).(4) Daca c ∈ ρ(A)− ρ(B), atunci exista a ∈ A astfel ıncat a ρ c si, pentru orice

b ∈ B, (b, c) �∈ ρ. Aceasta ne arata ca a ∈ A−B si, deci, c ∈ ρ(A−B). Ca urmare,ρ(A)− ρ(B) ⊆ ρ(A− B).

(5) urmeaza direct de la faptul ca b ∈ ρ(A) daca si numai daca exista a ∈Dom(ρ) ∩A astfel ıncat (a, b) ∈ ρ.

(6) Pentru orice a ∈ Dom(ρ) ∩A, {b|a ρ b} ⊆ ρ(A) si, deci,

Dom(ρ) ∩ A ⊆ ρ−1(ρ(A)).

Similar se obtine si incluziunea Cod(ρ) ∩ B ⊆ ρ(ρ−1(B)).(7) Afirmatia se obtine pe baza echivalentelelor:

Page 39: Fltiplea Fai

Relatii 33

c ∈ (ρ ◦ σ)(A) ⇔ ∃a ∈ A : (a, c) ∈ ρ ◦ σ⇔ ∃a ∈ A, ∃b ∈ Cod(ρ) ∩Dom(σ) : a ρ b ∧ b σ c⇔ ∃b ∈ ρ(A) : b σ c⇔ c ∈ σ(ρ(A)),

pentru orice c. �

Vom prezenta acum cateva tipuri importante de relatii binare cat si simple carac-terizari ale acestora.

Definitia 1.2.1.5. Fie ρ o relatie binara si A o multime.

(1) ρ este numita reflexiva pe A daca are loc

(∀a)(a ∈ A ⇒ (a, a) ∈ ρ).

(2) ρ este numita ireflexiva pe A daca are loc

(∀a)(a ∈ A ⇒ (a, a) �∈ ρ).

(3) ρ este numita simetrica pe A daca are loc

(∀a, b)(a, b ∈ A ∧ (a, b) ∈ ρ ⇒ (b, a) ∈ ρ).

(4) ρ este numita asimetrica pe A daca are loc

(∀a, b)(a, b ∈ A ∧ (a, b) ∈ ρ ⇒ (b, a) �∈ ρ).

(5) ρ este numita antisimetrica pe A daca are loc

(∀a, b)(a, b ∈ A ∧ (a, b) ∈ ρ ∧ (b, a) ∈ ρ ⇒ a = b).

(6) ρ este numita tranzitiva pe A daca are loc

(∀a, b, c)(a, b, c ∈ A ∧ (a, b) ∈ ρ ∧ (b, c) ∈ ρ ⇒ (a, c) ∈ ρ).

(7) ρ este numita conexa pe A daca are loc

(∀a, b)(a, b ∈ A ⇒ a ρ b ∨ a = b ∨ b ρ a).

(8) ρ este numita dirijata pe A 15 daca are loc

(∀a, b)(a, b ∈ A ⇒ (∃ c ∈ A)(a ρ c ∧ b ρ c)).

15Conceptul de relatie dirijata apare pentru prima data ın lucrarea lui Moore si Smith asupra uneiteorii generale a conceptului de limita [133]. Acest concept de relatie dirijata s-a dovedit ulterior deimportanta foarte mare ın informatica, ın studiul semanticii limbajelor de programare si al domeniilorsemantice.

Page 40: Fltiplea Fai

34 Relatii si functii

(9) ρ este numita filtrata pe A daca are loc

(∀a, b)(a, b ∈ A ⇒ (∃ c ∈ A)(c ρ a ∧ c ρ b)).

(10) ρ este numita reflexiva (ireflexiva, simetrica, asimetrica, antisimetrica, tran-zitiva, conexa, dirijata, filtrata) daca ρ este reflexiva (ireflexiva, simetrica,asimetrica, antisimetrica, tranzitiva, conexa, dirijata, filtrata) pe multimeaDom(ρ) ∪ Cod(ρ).

Teorema 1.2.1.1. Fie ρ o relatie binara si A = Dom(ρ) ∪ Cod(ρ).

(1) ρ este reflexiva daca si numai daca ιA ⊆ ρ.

(2) ρ este ireflexiva daca si numai daca ιA ∩ ρ = ∅.

(3) ρ este simetrica daca si numai daca ρ = ρ−1.

(4) ρ este antisimetrica daca si numai daca ρ ∩ ρ−1 ⊆ ιA.

(5) ρ este asimetrica daca si numai daca ρ ∩ ρ−1 = ∅.

(6) ρ este tranzitiva daca si numai daca ρ ◦ ρ ⊆ ρ.

(7) ρ este conexa daca si numai daca ρ ∪ ρ−1 ∪ ιA = A× A.

Demonstratie Vom demonstra ca exemplu (4), celelalte ramanand ın seama citi-torului. Sa presupunem deci ca ρ este antisimetrica. Pentru orice (a, b) ∈ ρ ∩ ρ−1

are loc (a, b) ∈ ρ si (b, a) ∈ ρ. Relatia ρ fiind antisimetrica, deducem a = b si, deci,(a, b) ∈ ιA. Am obtinut astfel ρ ∩ ρ−1 ⊆ ιA. �

Data o relatie ρ pe A definim:

• ρ0 = ιA;

• ρn+1 = ρn ◦ ρ, pentru orice n ≥ 0;

• ρ+ =⋃

n≥1 ρn;

• ρ∗ =⋃

n≥0 ρn.

Corolarul 1.2.1.1. Fie ρ o relatie pe A. Atunci,

(1) ρ+ este cea mai mica relatie tranzitiva pe A ce include ρ;

(2) ρ∗ este cea mai mica relatie reflexiva si tranzitiva pe A ce include ρ.

Demonstratie (1) Conform definitiei, ρ+ include ρ. In plus,

ρ+ ◦ ρ+ =⋃

n,m≥1

ρn+m ⊆ ρ+,

ceea ce arata ca ρ+ este tranzitiva (Teorema 1.2.1.1(6)).

Page 41: Fltiplea Fai

Relatii de echivalenta 35

Daca θ este o relatie tranzitiva ce include ρ, atunci ea trebuie sa includa si ρ2.Acum, incluzand ρ si ρ2, va trebui sa includa si ρ3. Inductiv, θ trebuie sa includa ρn,pentru orice n ≥ 1. Deci, θ trebuie sa includa ρ+, ceea ce demonstreaza (1).

(2) ιA ⊆ ρ∗ si, deci, ρ∗ este reflexiva. Restul se arata ca la (1). �

Relatia ρ+ este numita ınchiderea tranzitiva a relatiei ρ, iar ρ∗, ınchiderea re-flexiva si tranzitiva a relatiei ρ (asupra acestor relatii vom reveni ın Sectiunea 2.2).

Reprezentarea grafica a relatiilor reflexive se simplifica, ın mod frecvent, prineliminarea arcelor de la nod la el ınsusi. O simplificare mult mai consistenta se facepentru relatii tranzitive. Daca ρ este o relatie tranzitiva, atunci reprezentarea graficaa ei se substituie prin reprezentarea grafica a relatiei

ρ′ = ρ− ρ ◦ ρ.

De exemplu, relatia

ρ = {(a, a), (b, b), (c, c), (a, b), (b, c), (a, c)}

este atat reflexiva cat si tranzitiva. Reprezentarea grafica a ei este data ın Figura1.3(a), iar cea simplificata ın Figura 1.3(b). Atragem atentia asupra faptului ca atunci

a b c

a)

a b c

b)

Figura 1.3: Reprezentare simplificata a unei relatii reflexive si tranzitive

cand se fac astfel de reprezentari simplificate tipul relatiei trebuie sa rezulte clar dincontext.

Conceptul de relatie binara poate fi extins la cel de relatie ternara ca fiind omultime de 3-uple sau, ca fiind o submultime a unui produs cartezian A × B × C.Daca A = B = C, relatia va mai fi numita relatie ternara pe A.

Evident, extensia de mai sus poate fi realizata pentru orice n ≥ 2 arbitrar, obti-nandu-se astfel conceptul de relatie n-ara.

1.2.2 Relatii de echivalenta

Clasa relatiilor de echivalenta este una din cele mai importante clase de relatii binare.

Definitia 1.2.2.1. Fie ρ o relatie binara si A o multime. Spunem ca ρ este relatiede echivalenta pe A daca ρ este reflexiva, simetrica si tranzitiva pe A. Atunci candA = Dom(ρ) ∪Ran(ρ) vom spune ca ρ este relatie de echivalenta.

Page 42: Fltiplea Fai

36 Relatii si functii

Relatia vida este relatie de echivalenta numai pe multimea vida (pe multimi ne-vide ea este simetrica si tranzitiva dar nu este reflexiva).

Este usor de vazut ca daca ρ este relatie de echivalenta atunci, pentru oricemultime A, ρ|A este de asemenea relatie de echivalenta.

Exemplul 1.2.2.1. Fie A o multime nevida. Relatia binara =A (definita ın Exemplul1.2.1.1(1)) este relatie de echivalenta pe A.

Observatia 1.2.2.1. Echipotenta, introdusa ın Sectiunea 1.1.1, verifica urmatoareleproprietati:

• A ∼ A, pentru orice multime A;

• daca A ∼ B atunci B ∼ A, pentru orice multimi A si B;

• daca A ∼ B si B ∼ C atunci A ∼ C, pentru orice multimi A, B si C.

Ca urmare, echipotenta ar avea atributele unei relatii de echivalenta dar nu esterelatie de echivalenta deoarece clasa tuturor multimilor, peste care s-ar consideraechipotenta ca relatie binara, nu este multime. Daca ınsa consideram echipotentapeste o familie de multimi A, sa o notam prin ∼A, atunci ea devine relatie deechivalenta pe A.

Definitia 1.2.2.2. Fie ρ o relatie de echivalenta si a un element. Se numeste clasa deechivalenta a lui a modulo/relativ la ρ multimea

[a]ρ = {b|a ρ b}.

Este clar ca, pentru orice a, clasa de echivalenta a lui a modulo ρ exista. Reflex-ivitatea asigura ca aceasta clasa este nevida (contine macar pe a).

Lema 1.2.2.1. Fie ρ o relatie de echivalenta si a, b doua elemente. Atunci, au locurmatoarele proprietati:

(1) a ρ b daca si numai daca [a]ρ = [b]ρ;

(2) ¬(a ρ b) daca si numai daca [a]ρ ∩ [b]ρ = ∅.

Demonstratie (1) Sa presupunem ca a ρ b. Fie x ∈ [a]ρ. Urmeaza ca x ρ a (pe bazasimetriei), x ρ b (pe baza tranzitivitatii) si b ρ x (pe baza simetriei); deci, x ∈ [b]ρ. Amobtinut astfel [a]ρ ⊆ [b]ρ; similar se arata si cealalta incluziune.

Reciproc, daca presupunem ca [a]ρ = [b]ρ, atunci b ∈ [a]ρ (deoarece b ∈ [b]ρ) si,deci, a ρ b.

(2) Daca ¬(a ρ b) atunci [a]ρ �= [b]ρ (de la (1)). Daca multimile [a]ρ si [b]ρ arcontine elemente comune, fie c un astfel de element, atunci a ρ c si c ρ b ar conducela a ρ b; contradictie.

Reciproc, daca [a]ρ ∩ [b]ρ = ∅, atunci [a]ρ �= [b]ρ, iar (1) conduce la ¬(a ρ b). �

Daca ρ este o relatie de echivalenta pe o multime nevida A, atunci Lema 1.2.2.1ne spune ca ρ ımparte multimea A ın submultimi disjuncte (clase de echivalenta),

Page 43: Fltiplea Fai

Relatii de echivalenta 37

fiecare submultime fiind alcatuita din exact acele elemente ce sunt echivalente mo-dulo ρ. Notam multimea tuturor claselor de echivalenta induse de relatia ρ prin A/ρsi o numim multimea cat sau factor indusa de A si ρ (existenta acestei multimi esteasigurata de Axiomele partilor si separarii). Adica,

A/ρ = {[x]ρ|x ∈ A}.

Exista o stransa legatura ıntre multimea partitiilor unei multimi A, Part(A), simultimea relatiilor de echivalenta pe A, notata E(A).

Definitia 1.2.2.3. Fie A o multime nevida iar S1 si S2 doua partitii ale luiA. Spunemca S1 rafineaza pe S2, si notam S1 ≤ S2, daca pentru orice bloc X ∈ S1 exista unbloc Y ∈ S2 astfel ıncat X ⊆ Y .

Teorema 1.2.2.1. Fie A o multime nevida.

(1) Fie S o partitie a multimii A si ρS relatia binara pe A data prin:

a ρS b ⇔ (∃X ∈ S)(a, b ∈ X),

pentru orice a, b ∈ A. Atunci, ρS este relatie de echivalenta pe A.

(2) Fie ρ o relatie de echivalenta pe A si Sρ multimea tuturor claselor de echiva-lenta induse de ρ. Atunci, Sρ este partitie a multimii A.

(3) (a) Daca S1 si S2 sunt partitii ale multimii A astfel ıncat S1 ≤ S2, atunciρS1 ⊆ ρS2 .

(b) Daca ρ1 si ρ2 sunt relatii de echivalenta pe A astfel ıncat ρ1 ⊆ ρ2, atunciSρ1 ≤ Sρ2 .

(4) (a) Daca S este partitie a multimii A, atunci S = SρS.

(b) Daca ρ este relatie de echivalenta pe A, atunci ρ = ρSρ .

Demonstratie (1) si (2) necesita doar simple verificari si, ca urmare, vom trece laa demonstra celelalte proprietati.

(3)(a) Fie (a, b) ∈ ρS1 . Exista atunci un bloc X ∈ S1 astfel ıncat a, b ∈ X .Deoarece S1 ≤ S2, va exista Y ∈ S2 astfel ıncat X ⊆ Y . Aceasta conduce laa, b ∈ Y , adica (a, b) ∈ ρS2 . Deci, ρS1 ⊆ ρS2 .

Afirmatia de la (3)(b) se obtine similar celei precedente.(4)(a) Este suficient sa aratam ca pentru orice X ∈ S exista o clasa de echiva-

lenta [x]ρSastfel ıncat X = [x]ρS

, si reciproc.Fie X ∈ S. Consideram un element arbitrar x din X (exista un astfel de element

caci X este nevida) si aratam ca X = [x]ρS. Daca y ∈ X , atunci x ρ Sy si, deci,

y ∈ [x]ρS; daca y ∈ [x]ρS

, atunci x ρS y si, deci, x si y sunt ın acelasi bloc al partitieiS. Cum x ∈ X urmeaza ca y ∈ X . Am demonstrat astfel ca X = [x]ρS

.Reciproc, daca [x]ρS

este o clasa de echivalenta, atunci exista un unic bloc X cecontine x. Printr-un rationament asemanator celui de mai sus se arata ca X = [x]ρS

.De la acestea urmeaza S = SρS

.

Page 44: Fltiplea Fai

38 Relatii si functii

Afirmatia de la (4)(b) se obtine similar celei precedente. �

Putem spune deci ca relatiile de echivalenta pe o multime si partitiile aceleimultimi sunt “descrieri diferite ale aceleiasi entitati matematice”. Atunci cand lu-cram cu astfel de entitati este convenabil de a avea cate un “reprezentant” al fiecareiclase de echivalenta. Suntem astfel condusi la a ne ıntreba asupra existentei uneimultimi de reprezentanti pentru o partitie. Aceasta chestiune a fost de altfel abor-data ın Sectiunea 1.1.1 si, asa cum am mentionat, o vom trata complet ın sectiuneadedicata Axiomei alegerii.

Functiile injective “pastreaza” relatiile de echivalenta. Fie A o multime, ρ orelatie pe A si f : A→ B o functie. Notam prin f(ρ) relatia

f(ρ) = {(f(a), f(b))|(a, b) ∈ ρ}.

Propozitia 1.2.2.1. Fie f : A→ B o functie si ρ o relatie de echivalenta pe A. Dacaf este functie injectiva, atunci f(ρ) este relatie de echivalenta pe f(A).

Demonstratie Reflexivitatea si simetria relatiei f(ρ) se obtin imediat. Sa discutamtranzitivitatea.

Fie (x, y), (y, z) ∈ f(ρ). Atunci, exista (a, b), (c, d) ∈ ρ astfel ıncat f(a) = x,f(b) = y, f(c) = y si f(d) = z. Injectivitatea functiei f conduce la b = c, iartranzitivitatea relatiei ρ conduce la (a, d) ∈ ρ si, deci, (x, z) ∈ f(ρ). Deci, f(ρ) estetranzitiva. Impreuna cu celelalte doua proprietati, f(ρ) devide relatie de echivalentape f(A). �

Atragem atentia asupra necesitatii proprietatii de injectivitate ın a obtine tranzi-tivitatea relatiei f(ρ) (a se vedea demonstratia propozitiei). De asemenea, atragematentia asupra faptului ca f(ρ) este relatie de echivalenta pe f(A) si nu pe B, ın modnecesar. Aceasta pentru ca este posibil sa se piarda proprietatea de reflexivitate.

Corolarul 1.2.2.1. Fie f : A→ B o functie si ρ o relatie de echivalenta pe A. Dacaf este functie bijectiva, atunci f(ρ) este relatie de echivalenta pe B.

Fie A o multime si θ, ρ ∈ E(A) astfel ıncat ρ ⊆ θ. Simpla incluziune a relatiei ρın θ ne spune ca orice clasa de echivalenta ın raport cu ρ este inclusa ın exact o clasade echivalenta ın raport cu θ. Ca urmare, o clasa de echivalenta ın raport cu θ esteformata din una sau mai multe clase de echivalenta ın raport cu ρ. Grafic, aceastasituatie arata ca ın Figura 1.4. Este justificat atunci a spune ca ρ este mai fina decatθ.

Considerand acum multimea A/ρ, putem defini relatia binara θ/ρ data prin

[a]ρ θ/ρ [b]ρ ⇔ a θ b,

pentru orice a, b ∈ A.Diferenta ıntre θ si θ/ρ consta ın aceea ca θ actioneaza pe multimea A, ın timp

ce θ/ρ actioneaza pe A/ρ.

Page 45: Fltiplea Fai

Relatii de echivalenta 39

ρ = - - - si —

θ = —

Figura 1.4: ρ este mai fina decat θ

Propozitia 1.2.2.2. Fie A o multime si ρ, θ, θ1 si θ2 relatii de echivalenta pe A astfelıncat ρ ⊆ θ ∩ θ1 ∩ θ2. Atunci, au loc urmatoarele proprietati:

(1) θ/ρ ∈ E(A/ρ);

(2) orice relatie de echivalenta pe A/ρ este de forma θ′/ρ, unde θ′ ∈ E(A) siρ ⊆ θ′;

(3) ρ/ρ = ιA/ρ;

(4) A2/ρ = (A/ρ)2 (A2 este relatia binara A×A care, evident, include ρ);

(5) θ1 ⊂ θ2 daca si numai daca θ1/ρ ⊂ θ2/ρ;

(6) θ1 �= θ2 daca si numai daca θ1/ρ �= θ2/ρ.

Demonstratie Vom demonstra (2), (3) si (4), restul ramanand ın grija cititorului.(2) Fie ψ o relatie de echivalenta pe A/ρ. Definim θ′ prin

a θ′ b ⇔ [a]ρ ψ [b]ρ,

pentru orice a, b ∈ A. Este usor de vazut ca θ′ este relatie de echivalenta pe A.Fie a ρ b. Atunci, [a]ρ ψ [b]ρ deoarece ψ este reflexiva. Conform definitiei relatiei

θ′, urmeaza a θ′ b. Ca urmare, ρ ⊆ θ′. Ne ramane de aratat ca ψ = θ′/ρ. Aceastaurmeaza ınsa imediat de la definitiile relatiilor θ′ si θ′/ρ.

(3) Au loc relatiile:

[a]ρ ρ/ρ [b]ρ ⇔ a ρ b⇔ [a]ρ ιA/ρ [b]ρ,

pentru orice a, b ∈ A, ceea ce demonstreaza egalitatea ceruta.(4) Au loc relatiile:

[a]ρ A2/ρ [b]ρ ⇔ aA2 b

⇔ [a]ρ (A/ρ)2 [b]ρ,

pentru orice a, b ∈ A, ceea ce demonstreaza egalitatea ceruta. �

Atragem atentia asupra faptului ca, ın Propozitia 1.2.2.2(3), ρ/ρ este ιA/ρ si nuιA/ρ.

Page 46: Fltiplea Fai

40 Relatii si functii

1.2.3 Functii si operatii

Functiile, o clasa foarte importanta de relatii, au fost introduse ın Sectiunea 1.1.1.Astfel, s-a spus ca o relatie f este functie daca satisface

(∀a1, b1, a2, b2)((a1, b1) ∈ f ∧ (a2, b2) ∈ f ∧ a1 = a2 ⇒ b1 = b2).

Atunci cand Dom(f) = A si Cod(f) ⊆ B se mai spune ca f este functie de la A laB sau ca f este functie definita pe A si cu valori ın B si se noteaza f : A→ B.

In informatica ın special, este important de considerat si functii partiale de laA laB, adica functii f ce au proprietatea Dom(f) ⊆ A si Cod(f) ⊆ B. Astfel de functiimai sunt numite functii partial definite pe A si cu valori ın B. Daca Dom(f) ⊂ A,atunci se mai spune ca f este strict partiala pe A. In contrast, daca Dom(f) = A,atunci se mai spune ca f este totala pe A. Relatia vida este functie partiala de la A laB. Asa cum s-a spus ın Sectiunea 1.1.1, ea este functie totala de la A la B doar dacaA = ∅.

Prin (A � B) vom nota multimea tuturor functiilor partiale de la A la B. Evi-dent, (A→ B) ⊆ (A � B).

O functie partiala f : A � B are proprietatea ca pentru orice a ∈ A exista celmult un b ∈ B astfel ıncat f(a) = b. Fie a ∈ A:

(1) daca exista b ∈ B astfel ıncat f(a) = b, atunci se mai spune ca b este imaginealui a prin f si ca f este definita ın a, si se noteaza f(a)↓;

(2) daca nu exista b ∈ B astfel ıncat f(a) = b, atunci se mai spune ca f nu estedefinita ın a sau ca f este nedefinita ın a, si se noteaza f(a)↑.

Terminologia de functie “partiala” este justificata de (2).Notiunea de imagine a unui element printr-o functie partiala f poate fi extinsa la

submultimi ın mod natural. De exemplu, daca C ⊆ A atunci vom numi imagineamultimii C prin f , multimea notata f(C) si definita prin

f(C) = {b ∈ B|(∃a ∈ C)(f(a) = b)}

(a se vedea Definitia 1.2.1.4(1)). Evident, f(C) ⊆ B si f(C) poate fi chiar ∅ fara caC sa fie multimea vida. Daca C = ∅ atunci f(C) = ∅.

A specifica o functie partiala de la A la B ınseamna a preciza pentru fiecareelement a ∈ A daca functia este definita sau nu ın a; daca ea este definita ın a, atuncieste necesara specificarea imaginii lui a prin respectiva functie.

Exemplul 1.2.3.1.

(1) Fie A = {1, 2, 3} si B = {a, b, c, d}. Relatia f de la A la B data prin

f(1) = a, f(2) = b si f(3)↑,este functie strict partiala, iar relatia g data prin

g(1) = a, g(2) = b si g(3) = c,

este functie (totala) de la A la B. Relatia h = {(1, a), (1, b)} nu este functiepartiala.

Page 47: Fltiplea Fai

Functii si operatii 41

(2) Functia partiala f : A � B data prin f(a)↑, pentru orice a ∈ A, este numitafunctia total nedefinita de la A la B. Observam ca ea este de fapt relatia vida.

(3) Fie A ⊆ B. Functia f : A → B data prin f(a) = a, pentru orice a ∈ A, estenumita functia incluziune. Uneori ea se mai noteaza prin f : A ↪→ B. In cazulB = A functia incluziune se mai numeste functia identica pe A si se noteazaprin 1A sau idA sau chiar id. Observam ca ea coincide cu relatia ιA.

(4) Relatia completa de la A la B este functie partiala doar ın cazul ın care Bcontine cel mult un element.

(5) Fie A o multime si B ⊆ A. Functia fB : A→ {0, 1} data prin

fB(a) =

{1, a ∈ B0, a ∈ A−B,

pentru orice a ∈ A, este numita functia caracteristica a multimii B relativ lamultimea A. Pentru B = A, fB este functia constanta 1.

(6) Functiile de tipul f : {0, 1}n → {0, 1}, unde n ≥ 1, sunt numite functiibooleene.

(7) Fie n ≥ 1, A1, . . . , An multimi nevide si 1 ≤ i ≤ n. Functia

pri : A1 × · · · × An → Ai

data prin pri(a1, . . . , an) = ai, pentru orice (a1, . . . , an) ∈ A1 × · · · × An, senumeste functia de i-proiectie asociata produsului A1 × · · · × An.

Daca am considera cazul ın care una dintre multimile A1, . . . , An este multi-mea vida, atunci functia de i-proiectie ar fi functia vida, chiar si atunci cand Ai

ar fi nevida.

(8) Functiile de tipul P : A→ {0, 1} sunt numite si predicate pe A. Uzual, 0 esteinterpretat ca fiind valoarea de adevar “fals”, iar 1 ca fiind valoarea de adevar“adevarat”. Evident, ın locul multimii {0, 1} se poate alege orice alta multimecu doua elemente.

(9) In informatica, functiile de tipul f : A→ B date prin

f(a) =

{e1(a), P (a)e2(a), altfel,

pentru orice a ∈ A, unde e1(a) si e2(a) sunt expresii ce depind de a iar P esteun predicat pe A, sunt uzual notate prin

f(a) = if P (a) then e1(a) else e2(a)

Page 48: Fltiplea Fai

42 Relatii si functii

f = dispozitiv�a

(intrare)�b = f(a)

(iesire)

Figura 1.5: Reprezentare schematica a unei functii

O functie partiala de la A la B poate fi gandita ca un dispozitiv (Figura 1.5)care primind la intrare un element a ∈ A functioneaza si la iesire emite elementulb = f(a), daca f este definita ın a. In ipoteza ın care f nu este definita ın a, putemgandi ca acest dispozitiv ori se opreste fara a emite nimic la iesire (de exemplu, dis-pozitivul se blocheaza) ori lucreaza la nesfarsit (din punct de vedere teoretic). Unmodel practic, adesea considerat ın literatura, este cel de automat ce poate oferi oceasca de ceai sau o cafea la introducerea unei monede de un anumit tip, sa spunemm1 si respectiv m2 (presupunem, de exemplu, ca ele au preturi diferite). Daca con-sideram ca automatul functioneaza perfect, atunci pentru m1 el va oferi un ceai, pen-tru m2, o cafea, iar pentru alte tipuri de monede se va bloca.

Functiile partiale fiind relatii, putem construi reuniunea, intersectia si diferentalor; egalitatea de functii partiale este egalitate de relatii. Evident, reuniunea a douafunctii nu este, ın mod necesar, functie partiala. Intersectia sau diferenta a douafunctii este functie partiala.

De asemenea, putem vorbi de produs de functii (numit ın acest caz compunere)si de inversa unei functii. Pentru produsul a doua functii f : A � B si g : B � Cvom folosi notatia g ◦ f ın loc de f ◦ g deoarece aceasta este ıntr-un anumit sens ınconcordanta cu notatia f(a) = b pentru (a, b) ∈ f :

(g ◦ f)(a) = g(f(a)).

Unii autori considera notatia (a)f = b pentru (a, b) ∈ f si, atunci, produsul de relatiinu se mai schimba notational:

(a)(f ◦ g) = ((a)f)g.

Cum functiile sunt relatii, notatia f n se deduce imediat de la acestea. Mai exact,daca f : A � A este o functie atunci:

• f 0 = idA;

• fn+1 = fn ◦ f = f ◦ fn, pentru orice n ≥ 0.

Propozitia 1.2.3.1. Daca f : A � B si g : B � C sunt functii partiale, atunci g ◦ feste functie partiala de la A la C.

Demonstratie Fie (a1, b1), (a2, b2) ∈ g ◦ f astfel ıncat a1 = a2. Atunci, exista c1si c2 cu proprietatea (a1, c1), (a2, c2) ∈ f si (c1, b1), (c2, b2) ∈ g. Egalitatea a1 = a2

combinata cu faptul ca f este functie conduce la c1 = c2 care, la randul ei, ne arataca b1 = b2 deoarece g este functie. Deci, g ◦ f este functie partiala. �

Page 49: Fltiplea Fai

Functii si operatii 43

Remarcam ca g◦f nu este definita exact pentru acele elemente a ∈ A pentru careori f(a)↑ ori g(f(a))↑. Ca urmare, daca f = ∅ sau g = ∅ atunci g ◦ f = ∅, iar dacaf si g sunt functii atunci g ◦ f este functie. Grafic, compunerea poate fi reprezentataca ın Figura 1.6.

f g�f(a) = b�a g(f(a))

A B

C

��

��

����

f

gg ◦ f

Figura 1.6: Reprezentare grafica a compunerii de functii

Relativ la inversa unei functii partiale f : A � B putem spune ca aceasta nu esteneaparat functie partiala. De exemplu, daca f(a1) = f(a2) = b este o functie (totala)de la A = {a1, a2} la B = {b}, atunci f−1 este relatia {(b, a1), (b, a2)} care nu estefunctie partiala.

Conceptele de injectivitate si surjectivitate se extind si la functii partiale exact caın Definitia 1.1.1.6. Astfel, o functie partiala de la A la B este injectiva daca are loc

(∀a1, b1, a2, b2)((a1, b1) ∈ f ∧ (a2, b2) ∈ f ∧ b1 = b2 ⇒ a1 = a2),

si este surjectiva daca are loc

(∀b)(b ∈ B ⇒ (∃a)(a ∈ A ∧ f(a) = b)).

Ca urmare, functia partiala vida de la A la B este injectiva; ea este surjectiva doardaca B = ∅.

O functie partiala este bijectiva daca este injectiva si surjectiva. Spre deosebirede cazul functiilor totale bijective, inversa unei functii partiale bijective este totala siinjectiva, dar nu ın mod necesar surjectiva.

Functiile bijective de la o multime A la ea ınsasi se mai numesc si permutari alemultimii A. Cand A este finita, A = {a1, . . . , an}, permutarile f : A → A se mainoteaza prin

f =

(a1 · · · an

f(a1) · · · f(an)

)

Propozitia 1.2.3.2. Fie f : A � B o functie partiala.

(1) Daca f este injectiva, atunci f−1 este functie partiala injectiva.

(2) Daca f este bijectiva, atunci f−1 este functie totala injectiva.

(3) Daca f este totala si bijectiva, atunci f−1 este totala si bijectiva.

Page 50: Fltiplea Fai

44 Relatii si functii

Demonstratie (1) Sa presupunem ca f este injectiva. Fie (b1, a1) ∈ f−1 si(b2, a2) ∈ f−1 astfel ıncat b1 = b2. Atunci, (a1, b1), (a2, b2) ∈ f care, ın bazafaptului ca f este injectiva conduce la a1 = a2. Deci f−1 este functie partiala.

Pentru a stabili injectivitatea functiei f−1 este suficient sa observam, ın ratio-namentul de mai sus, ca daca consideram a1 = a2 atunci faptul ca f este functieconduce la b1 = b2; adica f−1 este injectie.

(2) urmeaza de la (1) cu remarca suplimentara ca surjectivitatea functiei f asiguratotalitatea functiei f−1.

(3) Daca f este totala si bijectiva, atunci de la (2) obtinem ca f−1 este totala siinjectiva. Totalitatea functiei f asigura surjectivitatea functiei f−1. Deci, f−1 estetotala si bijectiva. �

Urmatoarea propozitie, ce este usor de verificat, preznta cateva proprietati ele-mentare asupra compunerii functiilor partiale.

Propozitia 1.2.3.3. Fie f : A � B si g : B � C functii partiale.

(1) Daca f si g sunt totale, atunci g ◦ f este totala.

(2) Daca f si g sunt injective, atunci g ◦ f este injectiva.

(3) Daca f si g sunt surjective, atunci g ◦ f este surjectiva.

(4) Daca f si g sunt bijective, atunci g ◦ f este bijectiva si (g ◦ f)−1 = f−1 ◦ g−1.

Teorema 1.2.2.1, ce face legatura dintre Part(A) si E(A) ne spune printre altele,ın termeni de functie, ca exista o bijectie φ ıntre cele doua multimi

φ(S) = ρS,

pentru orice S ∈ Part(A).

Definitia 1.2.3.1. Fie f : A→ B o functie.

(1) Se numeste invers la stanga al functiei f orice functie g : B → A cu propri-etatea g ◦ f = 1A.

(2) Se numeste invers la dreapta al functiei f orice functie g : B → A cu propri-etatea f ◦ g = 1B.

Propozitia 1.2.3.4. Fie f : A→ B o functie.

(1) Daca f admite un invers la dreapta, atunci ea este surjectie.

(2) Daca A �= ∅ si f admite un invers la stanga, atunci f este injectie.

Demonstratie (1) Fie g un invers la dreapta al functiei f . Considerand b ∈ Bavem g(b) ∈ A si f(g(b)) = b. Deci, f este surjectie.

(2) Fie g un invers la stanga al functiei f si a, b ∈ A. Daca presupunem caf(a) = f(b), atunci a = g(f(a)) = g(f(b)) = b, ceea ce arata ca f este injectie. �

In cadrul Propozitie 1.2.3.4(2) se considera A �= ∅ deoarece, pentru A = ∅, feste functia vida care este injectiva.

Vom prezenta acum cateva rezultate de “descompunere” a functiilor.

Page 51: Fltiplea Fai

Functii si operatii 45

Teorema 1.2.3.1. Fie h : A → B o functie. Atunci, exista o multime C, o functiesurjectiva f : A → C si o functie injectiva g : C → B astfel ıncat h = g ◦ f . Inplus, pentru orice multime C ′, functie surjectiva f ′ : A → C ′ si functie injectivag′ : C ′ → B astfel ıncat h = g′ ◦ f ′, exista o unica functie d : C → C ′ astfel ıncatf ′ = d ◦ f si g = g′ ◦ d (a se vedea diagrama din Figura 1.7).

Demonstratie Fie C = h(A), f : A → C data prin f(a) = h(a), pentru oricea ∈ A, si g : C → B data prin g(c) = c pentru orice si c ∈ C. Este clar ca f estesurjectie, g este injectie si h = g ◦ f .

A�

��

����

��

��

���

C

BC ′

gf ′

f

g′

h

d��

Figura 1.7: Descompunerea din Teorema 1.2.3.1

Fie C ′, f ′ si g′ ca ın enuntul teoremei. Consideram d : C → C ′ data prin

d(c) = f ′(a),

unde f(a) = c, pentru orice c ∈ C. Vom arata ca d satisface teorema. Intai, verificamca d este bine definita.

Deoarece f este surjectie, pentru orice c ∈ C exista a ∈ A astfel ıncat f(a) = c.Deci, d este definita pe C. Acum, pentru orice a1, a2 ∈ A cu f(a1) = f(a2) are loch(a1) = h(a2). Dar atunci, relatia h = g′ ◦ f ′ conduce la g′(f ′(a1)) = g′(f ′(a2))de unde, pe baza faptului ca g′ este injectie, deducem f ′(a1) = f ′(a2). Ca urmare, deste bine definita pe C.

Conform definitiei functiei d are loc d ◦ f = f ′. Fie acum a ∈ A si c ∈ C cuf(a) = c. Atunci,

(g′ ◦ d)(c) = g′(d(c)) = g′(f ′(a)) = h(a) = g(f(a)) = g(c),

ceea ce arata ca g = g′ ◦ d.Unicitatea functiei d decurge cu usurinta dupa cum urmeaza. Daca presupunem

ca exista o alta functie d′ astfel ıncat f ′ = d′ ◦ f si g = g′ ◦ d′, atunci relatia

g = g′ ◦ d = g′ ◦ d′,

combinata cu faptul ca g′ este injectie, conduce la d = d′. �

Teorema 1.2.3.1 nu impune nici o restrictie asupra functie h. Ca urmare, f poatefi si functia vida. In acest caz A = ∅, C = ∅, f este functia vida de la ∅ la ∅ (deci,este surjectiva), g este functia vida de la ∅ la B (deci, este injectiva), C ′ nu poate fidecat ∅ ca urmare a surjectivitatii functiei f ′, iar d nu este alta decat functia vida dela ∅ la ∅.

Page 52: Fltiplea Fai

46 Relatii si functii

Definitia 1.2.3.2. Fie f : A→ B o functie. Relatia Ker(f) ⊆ A×A data prin

Ker(f) = {(a1, a2)|f(a1) = f(a2)}

se numeste nucleul functiei f .

Este usor de verificat ca pentru orice functie f de la A la B, Ker(f) este relatiede echivalenta pe A. In plus,

Teorema 1.2.3.2. Fie f : A→ B o functie. Atunci, exista o bijectie de laA/Ker(f)la f(A).

Demonstratie Functia h : A/Ker(f) → f(A) data prin h([a]Ker(f)) = f(a),pentru orice a ∈ A, este bijectie. �

Corolarul 1.2.3.1. Orice functie f : A → B poate fi scrisa ca produs de 3 functii,f = k ◦ h ◦ g, unde g : A→ A/Ker(f) este surjectie, h : A/Ker(f) → f(A) estebijectie si k : f(A) → B este injectie.

Demonstratie Functia g este data prin g(a) = [a]Ker(f), h este functia din Teorema1.2.3.2, iar k este functia incluziune (a se vedea Figura 1.8). Aceste functii satisfac

A B

A/Ker(f) f(A)

f

g

h

k

Figura 1.8: Descompunerea din Corolarul 1.2.3.1

corolarul. �

Vom prezenta ın cele ce urmeaza cateva proprietati de baza referitoare la imagi-nea inversa a unei multimi printr-o functie (ce este caz particular a imaginii inverse aunei multimi printr-o relatie – a se vedea Definitia 1.2.1.4(2)).

Propozitia 1.2.3.5. Fie f : A → B o functie si X, Y ⊆ B. Atunci, au locurmatoarele proprietati:

(1) f−1(X ∪ Y ) = f−1(X) ∪ f−1(Y );

(2) f−1(X ∩ Y ) = f−1(X) ∩ f−1(Y );

(3) f−1(X − Y ) = f−1(X)− f−1(Y ).

Demonstratie (1) urmeaza de la echivalentele

a ∈ f−1(X ∪ Y ) ⇔ f(a) ∈ X ∪ Y⇔ f(a) ∈ X ∨ f(a) ∈ Y⇔ a ∈ f−1(X) ∨ a ∈ f−1(Y )⇔ a ∈ f−1(X) ∪ f−1(Y ),

pentru orice a.(2) si (3) se obtin ın maniera similara. �

Page 53: Fltiplea Fai

Functii si operatii 47

Propozitia 1.2.3.6. Daca f : A → B este o functie injectiva, atunci pentru oriceX, Y ⊆ A au loc urmatoarele proprietati:

(1) daca X ⊂ Y , atunci f(X) ⊂ f(Y );

(2) f(X ∩ Y ) = f(X) ∩ f(Y );

(3) f(X − Y ) = f(X)− f(Y ).

Demonstratie Se utilizeaza Propozitia 1.2.1.4(2)(3)(4) si proprietatea de injectivi-tate a functiei f . �

Propozitia 1.2.3.7. Daca f : A→ B este o functie, X ⊆ A si Y ⊆ f(A), atunci auloc urmatoarele proprietati:

(1) f(f−1(Y )) = Y ;

(2) X ⊆ f−1(f(X)).

Demonstratie (1) se obtine pe baza implicatiilor

b ∈ f(f−1(Y )) ⇒ ∃a ∈ f−1(Y ) : (a, b) ∈ f⇒ ∃c ∈ Y : (a, c) ∈ f ∧ (a, b) ∈ f⇒ c = b⇒ b ∈ Y,

pentru orice b, si a Propozitiei 1.2.1.4(6).(2) urmeaza direct de la Propozitia 1.2.1.4(6). �

Operatiile (partiale) sunt functii (partiale). De exemplu, orice functie f de laA×B la C poate fi gandita ca o operatie ce actioneaza pe elementele a doua multimi,A siB, si produce rezultate ın C. Daca operatia este partiala atunci pot exista perechi(a, b) asupra carora operatia sa nu actioneze. De exemplu, ıntr-un corp, inversulmultiplicativ este definit pentru elementele diferite de 0 (unitatea aditiva).

Operatiile (partiale) de tipul f : An → A, unde n ≥ 0, se numesc operatii(partiale) n-are pe A. Numarul natural n este numit aritatea sau tipul operatie. Incazul ın care n = 0 reamintim caA0 este {∅} si, ca urmare, o operatie 0-ara (numita sioperatie nulara sau constanta 16) va asocia un element din A multimii vide. Aceastaasociere este constanta ın sensul ca ea nu depinde de elementele multimii A. Atunci,a specifica o operatie nulara revine la a fixa un element din A. Justificati de aceastavom folosi adesea terminologia “fie a ∈ A o operatie nulara pe A” sau “fie a oconstanta din A”.

Operatiile partiale fiind definite prin intermediul functiilor partiale, iar acesteafiind relatii, ınseamna ca operatiile sunt relatii. Mai exact, o operatie partiala n-arapeste A este o relatie (n + 1)-ara pe A.

Operatiile (partiale) de tipul f : A→ B sau f : A1 × A2 → B pot fi specificateprin asa numitele tabele Cayley. De exemplu, operatia unara f pe A = {a, b} dataprin f(a) = b si f(b) = a poate fi specificata prin tabelul

16Terminologia este cea de constanta si nu de operatie constanta.

Page 54: Fltiplea Fai

48 Relatii si functii

f a bb a

iar operatia binara g data prin g(a, a) = g(b, a) = g(b, b) = a si g(a, b) = b poate fispecificata prin tabelul

g a ba a bb a a

Pentru operatii (partiale) binare se foloseste adesea notatia infix, semnul operatieifiind ıntre elemente (aceasta notatie am folosit-o si la relatii binare). De exemplu,daca + sau · sunt operatii, notatia infix asupra elementelor a si b va fi a + b si,respectiv, a · b. Pentru operatii unare se foloseste adesea si notatia exponent. Deexemplu, B ′ poate reprezenta complementara lui B (semnul operatiei fiind ′).

Pana acum au fost considerate un numar de operatii pe multimi, relatii si functii(reuniune, intersectie, diferenta, produs cartezian, produs de relatii sau functii, in-versa etc.), precum si unele proprietati ale acestora adnotate ın dreapta prin cuvintede tipul “asociativitate”, “comutativitate” etc.

Definitia 1.2.3.3. Fie f o operatie binara pe o multime A.

(1) Spunem ca f este asociativa daca are loc

f(f(a, b), a) = f(a, f(b, c)),

pentru orice a, b, c ∈ A.

(2) Spunem ca f este comutativa daca are loc

f(a, b) = f(b, a),

pentru orice a, b ∈ A.

(3) Spunem ca f este idempotenta daca are loc

f(a, a) = a,

pentru orice a ∈ A.

In cazul operatiilor binare comutative, tabelul Cayley poate fi redus la jumatateconsiderand doar valorile de deasupra (sau de dedesubtul) diagonalei, incluzand sidiagonala. Daca operatia este si idempotenta, atunci poate fi eliminata si diagonala.

Definitia 1.2.3.4. Fie f si g operatii binare pe o multime A.

(1) Spunem ca f este distributiva la stanga fata de g daca are loc

f(a, g(b, c)) = g(f(a, b), f(a, c)),

pentru orice a, b, c ∈ A.

(2) Spunem ca f este distributiva la dreapta fata de g daca are loc

f(g(b, c), a) = g(f(b, a), f(c, a)),

pentru orice a, b, c ∈ A.

Page 55: Fltiplea Fai

Familii indexate de multimi 49

1.2.4 Familii indexate de multimi

In aceasta sectiune vom considera notiunea de familie indexata de multimi si vomgeneraliza reuniunea, intersectia si produsul cartezian la astfel de familii.

Definitia 1.2.4.1. Fie A si I doua multimi. O familie de elemente peste A indexataprin I , sau familie I-indexata peste A, este o functie f : I → A.

Uzual, daca f este o familie I-indexata de elemente peste A atunci vom utiliza sinotatia (ai|i ∈ I), unde f(i) = ai pentru orice i ∈ I . Atunci cand I se subıntelegedin context vom simplifica aceasta notatie la (ai), iar daca I �= ∅ atunci vom spuneca familia este nevida. Multimea I este numita multime de indexi iar elementele ei,indexi. In cazul ın care elementele familiei sunt multimi (f(i) este multime pentruorice i ∈ I), vom vorbi de familii I-indexate de multimi, iar daca multimile sunt dis-juncte doua cate doua, vom spune ca avem de a face cu o familie indexata disjuncta.Atunci cand I si A sunt subıntelese din context, sau nu este necesar a le specifica,vom simplifica terminologia renuntand la ele.

Orice familieA de multimi poate fi privita ca o familie indexata de multimi (pesteA) considerand I = A si f(A) = A, pentru orice A ∈ I = A. Intr-un astfel de cazvom mai scrie A = (A|A ∈ A). Insa, familiile indexate de multimi sunt oarecummai generale decat familiile de multimi prin aceea ca:

• referirea la o multime se face printr-un index;

• pentru indexi diferiti este posibil ca multimile referite sa fie egale (din acestpunct de vedere putem gandi familiile indexate de multimi ca fiind colectii demultimi ın care anumite multimi pot apare de mai multe ori).

Definitia 1.2.4.2. Fie (Ai|i ∈ I) o familie indexata de multimi peste A.

(1) Reuniunea familiei (Ai|i ∈ I), notata⋃

(Ai|i ∈ I) sau⋃

)i ∈ IAi, este multi-mea: ⋃

(Ai|i ∈ I) = {a ∈ A|(∃i ∈ I)(a ∈ Ai)}.

(2) Daca I �= ∅, atunci intersectia familiei (Ai|i ∈ I), notata⋂

(Ai|i ∈ I) sau⋂i ∈ IAi, este multimea:⋂

(Ai|i ∈ I) = {a ∈ A|(∀i ∈ I)(a ∈ Ai)}.

(3) Produsul (direct) al familiei (Ai|i ∈ I), notat∏

(Ai|i ∈ I) sau∏

i∈I Ai, estedefinit ca fiind multimea tuturor functiilor f : I →

⋃(Ai|i ∈ I) cu proprietatea

f(i) ∈ Ai, pentru orice i ∈ I .

In cazul I = ∅ vom considera⋂

(Ai|i ∈ I) = A. Observam ca daca I = ∅, atunci⋃(Ai|i ∈ I) = ∅ si

∏(Ai|i ∈ I) = {∅}, iar daca I �= ∅ si exista i ∈ I astfel ıncat

Ai = ∅, atunci∏

(Ai|i ∈ I) = ∅. De asemenea, daca Ai = A pentru orice i ∈ I ,atunci

∏(Ai|i ∈ I) = AI , adica produsul familiei este multimea tuturor functiilor

de la I la A.

Page 56: Fltiplea Fai

50 Relatii si functii

Existenta reuniunii si intersectiei rezulta cu usurinta pe baza Axiomei separarii.Pentru produs se utilizeaza Axioma separarii asupra multimii P(I ×

⋃(Ai|i ∈ I)).

Prezentam ın continuare cateva proprietati de baza ale reuniunii, intersectiei siprodusului de familii indexate de multimi.

Propozitia 1.2.4.1. Fie (Ai|i ∈ I) si (Bi|i ∈ I) doua familii indexate de multimi siA o multime. Atunci, au loc urmatoarele proprietati:

(1)⋂

i∈I Ai ⊆ Aj ⊆⋃

i∈I Ai, pentru orice j ∈ I;

(2)⋂

i∈I(Ai ∩Bi) =⋂

i∈I Ai ∩⋂

i∈I Bi;

(3)⋃

i∈I(Ai ∪Bi) =⋃

i∈I Ai ∪⋃

i∈I Bi;

(4)⋂

i∈I Ai ∪⋂

i∈I Bi =⋂

i,j∈I(Ai ∪ Bj) ⊆⋂

i∈I(Ai ∪Bi);

(5)⋃

i∈I(Ai ∩Bi) ⊆⋃

i,j∈I(Ai ∩Bj) =⋃

i∈I Ai ∩⋃

i∈I Bi;

(6) A−⋂

i∈I Ai =⋃

i∈I(A−Ai);

(7) A−⋃

i∈I Ai =⋂

i∈I(A−Ai);

(8)⋂

i∈I(A ∪Ai) = A ∪⋂

i∈I Ai;

(9)⋃

i∈I(A ∩Ai) = A ∩⋃

i∈I Ai;

(10) daca A ⊆ Ai, pentru orice i ∈ I , atunci A ⊆⋂

i∈I Ai;

(11) daca Ai ⊆ A, pentru orice i ∈ I , atunci⋃

i∈I Ai ⊆ A.

Demonstratie Vom demonstra ca exemplu doar (6), care se obtine pe baza echiva-lentelor:

a ∈ A−⋂

i∈I Ai ⇔ a ∈ A ∧ a �∈⋂

i∈I Ai

⇔ a ∈ A ∧ (∃i ∈ I : a �∈ Ai)⇔ ∃i ∈ I : a ∈ A− Ai

⇔ a ∈⋃

i∈I(A−Ai),

pentru orice a. �

Fie (Ai|i ∈ I) o familie indexata de multimi. Direct de la definitie urmeaza ca⋃i∈I Ai este cea mai mica multime, ın sensul incluziunii, ce include toate multimile

Ai, iar⋂

i∈I Ai este cea mai mare multime, ın sensul incluziunii, ce este inclusa ınfiecare multime Ai. Este util de mentionat acest rezultat sub forma unei leme.

Lema 1.2.4.1. Fie (Ai|i ∈ I) o familie indexata de multimi. Atunci,⋃

i∈I Ai esteunica multime A ce satisface proprietatile:

(i) Ai ⊆ A, pentru orice i ∈ I;

(ii) daca B este o multime ce satisface Ai ⊆ B, pentru orice i ∈ I , atunci A ⊆ B.

Page 57: Fltiplea Fai

Familii indexate de multimi 51

Similar,⋂

i∈I Ai este unica multime A ce satisface proprietatile:

(i’) A ⊆ Ai, pentru orice i ∈ I;

(ii’) daca B este o multime ce satisface B ⊆ Ai, pentru orice i ∈ I , atunci B ⊆ A.

Demonstratie De la definitii si Propozitia 1.2.4.1(1)(10)(11). �

Propozitia 1.2.4.2. Fie (Bj |j ∈ J) o familie indexata de multimi si I reuniuneaacestei familii. Atunci, pentru orice familie indexata de multimi (Ai|i ∈ I), au locurmatoarele proprietati:

(1)⋃

i∈I Ai =⋃

j∈J(⋃

i∈BjAi);

(2)⋂

i∈I Ai =⋂

j∈J(⋂

i∈BjAi).

Demonstratie Vom demonstra (1) (relatia (2) se obtine ın maniera similara). NotamSj =

⋃i∈Bj

Ai, pentru orice j ∈ J , si S =⋃

i∈I Ai. Avem de aratat ca are locS =

⋃j∈j Sj.

S este cea mai mica multime ce include multimile Ai, i ∈ I . De asemenea,pentru orice i ∈ I exista j ∈ J astfel ıncat Ai ⊆ Sj, ceea ce conduce la faptul ca⋃

j∈J Sj include toate multimile Ai, i ∈ I . Minimalitatea multimii S (Lema 1.2.4.1)conduce atunci la S ⊆

⋃j∈J Sj.

Reciproc,⋃

j∈J Sj este cea mai mica multime ce include multimile Sj, pentruorice j ∈ J . Insa, pentru orice j ∈ J , Sj ⊆ S. Minimalitatea multimii

⋃j∈J Sj

(Lema 1.2.4.1) conduce la⋃

j∈J Sj ⊆ S, care combinata cu incluziunea anterioarafurnizeaza (1). �

Propozitia 1.2.4.3. Fie (Ai|i ∈ I) o familie indexata de multimi si f o permutare amultimii I . Atunci, au loc urmatoarele proprietati:

(1)⋃

i∈I Ai =⋃

i∈I Af(i);

(2)⋂

i∈I Ai =⋂

i∈I Af(i).

Demonstratie Ca si ın cazul Propozitiei 1.2.4.2, vom demonstra doar (1). NotamS =

⋃i∈I Af(i). Vom arata ca S este cea mai mica multime ce include multimile Ai,

i ∈ I . Pentru orice i ∈ I , S include Aj, unde j = f−1(i) si, deci, va include si Af(j)

(care este de fapt Ai). Daca exista o alta multime B care include toate multimile Ai,atunci ea include si S conform definitiei acesteia si a notiunii de permutare. Lema1.2.4.1 conduce atunci la (1). �

Propozitia 1.2.4.4. Fie (Bj|j ∈ J) o familie indexata de multimi, I reuniunea ei si

K = {C ∈ P(I)|(∀j ∈ J)(C ∩ Bj �= ∅)}.

Atunci, pentru orice familie indexata de multimi (Ai|i ∈ I), au loc urmatoareleproprietati:

(1)⋂

j∈J(⋃

i∈BjAi) =

⋃C∈K(

⋂i∈C Ai);

Page 58: Fltiplea Fai

52 Relatii si functii

(2)⋃

j∈J(⋂

i∈BjAi) =

⋂C∈K(

⋃i∈C Ai).

Demonstratie Demonstram doar (1), (2) obtinandu-se ın maniera similara. FieC ∈ K si j ∈ J . Conform definitiei multimii K avem C ∩ Bj �= ∅. Pentru oricei ∈ C ∩Bj , Propozitia 1.2.4.1(1) conduce la⋂

i∈C

Ai ⊆ Ai ⊆⋃

i∈Bj

Ai.

Cum aceaste incluziuni este safisfacuta pentru orice j ∈ J , utilizand Propozitia1.2.4.1(10) obtinem ⋂

i∈C

Ai ⊆⋂j∈J

(⋃

i∈Bj

Ai)

si, apoi, de la punctul (11) al aceleiasi propozitii deducem⋃C∈K

(⋂i∈C

Ai) ⊆⋂j∈J

(⋃

i∈Bj

Ai).

Pentru a demonstra incluziunea ın sens invers consideram un element arbitrar adin

⋂j∈J(

⋃i∈Bj

Ai) si fie C = {i ∈ I|a ∈ Ai}. Pentru orice j ∈ J , a este ın⋃i∈Bj

Ai si, deci, exista i ∈ Bj astfel ıncat a ∈ Ai. Deci, i ∈ C, ceea ce arata caC ∩ Bj �= ∅ si, asadar, C ∈ K. Urmeaza acum ca a ∈ Ai, pentru orice i ∈ C, adicaa ∈

⋂i∈C Ai. Am obtinut astfel ca a ∈

⋃C∈K(

⋂i∈C Ai), si (1) este demonstrata. �

Ne ındreptam acum atentia asupra unor proprietati ale imaginilor si imaginilorinverse ale reuniunilor si intersectiilor de familii indexate de multimi.

Propozitia 1.2.4.5. Fie (Ai|i ∈ I) o familie indexata de multimi si f o functie.Atunci, au loc urmatoarele proprietati:

(1) f(⋃

i∈I Ai) =⋃

i∈I f(Ai);

(2) f(⋂

i∈I Ai) ⊆⋂

i∈I f(Ai). Daca f este injectiva atunci relatia are loc prinegalitate.

Demonstratie Au loc echivalentele

b ∈ f(⋃

i∈I Ai) ⇔ ∃a ∈⋃

i∈I Ai : b = f(a)⇔ ∃i ∈ I, ∃a ∈ Ai : b = f(a)⇔ ∃i ∈ I : b ∈ f(Ai)⇔ b ∈

⋃i∈I f(Ai),

pentru orice b, ceea ce demonstreaza (1). Similar se arata si (2). �

Demonstratia urmatoarei propozitii este lasata ın grija cititorului.

Propozitia 1.2.4.6. Fie (Ai|i ∈ I) o familie indexata de multimi si f o functie.Atunci, au loc urmatoarele proprietati:

Page 59: Fltiplea Fai

Relatii de ordine 53

(1) f−1(⋃

i∈I Ai) =⋃

i∈I f−1(Ai);

(2) f−1(⋂

i∈I Ai) =⋂

i∈I f−1(Ai).

Definitia 1.2.4.3. Fie (Ai|i ∈ I) o familie indexata nevida de multimi si i ∈ I .Functia de i-proiectie asociata familiei (Ai|i ∈ I) este functia

pri :∏

(Ai|i ∈ I) → Ai

data prin pri(f) = f(i), pentru orice f ∈∏

(Ai|i ∈ I).

Daca exista j ∈ I astfel ıncat Aj = ∅, atunci∏

(Ai|i ∈ I) = ∅ si, deci, pri estefunctia vida, pentru orice i ∈ I . Altfel, pri sunt functii surjective.

Teorema 1.2.4.1. (Proprietatea de universalitate a produsului)Fie (Ai|i ∈ I) o familie indexata nevida de multimi, A o multime nevida si gi functiide laA laAi, pentru orice i ∈ I . Atunci, exista o unica functie f : A→

∏(Ai|i ∈ I)

astfel ıncat gi = pri ◦ f .

Demonstratie Pentru orice a ∈ A fie xa ∈∏

(Ai|i ∈ I) data prin xa(i) = gi(a),pentru orice i ∈ I . Definim functia f prin f(a) = xa, pentru orice a ∈ A, siconstatam cu usurinta ca ea satisface proprietatea gi = pri ◦ f , pentru orice i ∈ I .

Unicitatea functiei f se obtine astfel. Daca ar exista o alta functie f ′ cu pro-prietatea gi = pri ◦ f ′, pentru orice i ∈ I , atunci ar urma pri ◦ f = pri ◦ f ′, adicapri(f(a)) = pri(f

′(a)), pentru orice a ∈ A si i ∈ I . Dar aceasta nu ınseamna altcevadecat ca are loc f = f ′. �

1.2.5 Relatii de ordine

O alta clasa importanta de relatii binare, pe langa cea a relatiilor de echivalenta si afunctiilor, este cea a relatiilor de ordine.

Definitia 1.2.5.1. Fie ρ o relatie binara pe o multime A.

(1) ρ este numita relatie de pre-ordine sau quasi-ordine pe A daca ρ este re-flexiva si tranzitiva pe A si, ın acest caz, cuplul (A; ρ) se numeste multimepre-ordonata sau quasi-ordonata.

(2) ρ este numita relatie de ordine partiala peA daca ρ este reflexiva, antisimetricasi tranzitiva pe A si, ın acest caz, cuplul (A; ρ) se numeste multime partialordonata (abreviat, mpo).

(3) ρ este numita relatie de ordine partiala stricta pe A daca ρ este ireflexivasi tranzitiva pe A si, ın acest caz, cuplul (A; ρ) se numeste multime partialordonata strict (abreviat, mpos).

(4) ρ este numita relatie de ordine totala pe A daca ρ este ordine partiala si conexapeA si, ın acest caz, cuplul (A; ρ) se numeste multime total ordonata (abreviat,mto) sau multime liniar ordonata sau lant.

Page 60: Fltiplea Fai

54 Relatii si functii

(5) ρ este numita relatie de ordine totala stricta pe A daca ρ este ordine partialastricta si conexa pe A si, ın acest caz, cuplul (A; ρ) se numeste multime totalordonata strict (abreviat, mtos).

Nu este dificil de vazut ca ireflexivitatea si tranzitivitatea implica antisimetria,iar asimetria este echivalenta cu antisimetria plus ireflexivitatea. Ca urmare, putemspune ca relatiile de ordine partiala stricta sunt relatii asimetrice si tranzitive. Relati-ile definite mai sus vor fi referite ın general ca fiind relatii de ordine.

Relatia vida satisface oricare dintre proprietatile din Definitia 1.2.5.1. Ca urmare,perechea (∅; ∅) este mpo, mto etc.

Definitia 1.2.5.2.

(1) Se numeste multime dirijata orice cuplu (A; ρ) format dintr-o multime nevidaA si o relatie ρ dirijata pe A.

(2) Se numeste multime filtrata orice cuplu (A; ρ) format dintr-o multime nevidaA si o relatie ρ filtrata pe A.

Este usor de vazut ca orice multime total ordonata nevida este atat dirijata cat sifiltrata.

Frecvent, conceptul de multime dirijata (filtrata) este cuplat cu unul din con-ceptele din Definitia 1.2.5.1(1)(2)(3). Astfel, o multime partial ordonata dirijataeste o multime partial ordonata ce este si dirijata.

Reprezentarea grafica a perechilor (A; ρ), unde ρ poate fi o relatie binara arbitrarape A, se face ca ın Sectiunea 1.2.1 cu deosebirea ca nodurile grafului nu sunt date deDom(ρ) ∪ Cod(ρ) ci de A. Ca urmare, graful asociat relatiei poate contine noduriizolate (noduri ce nu sunt extremitati ale nici unui arc). Evident, ın cazul ın care ρeste reflexiva si/sau tranzitiva se poate recurge la simplificarea reprezentarii graficeasa cum a fost mentionat ın Sectiunea 1.2.1.

Exemplul 1.2.5.1. Fie A o multime nevida. Relatia de incluziune pe A, ⊆A, estereflexiva, antisimetrica si tranzitiva. Ca urmare, (A;⊆A) este mpo.

Structurile (A; ρ) din Definitia 1.2.5.1 se generalizeaza la structuri relationale cevor fi prezentate ın sectiunea 3.1.

Page 61: Fltiplea Fai

Capitolul 2

Inchideri

Inchiderea unei multimi la o familie de constructori este una din operatiile de baza ınmatematica si informatica. Daca din punct de vedere pur matematic suntem adeseainteresati doar ın existenta ınchiderii (ca fiind intersectia tuturor multimilor ce includmultimea ın cauza si sunt ınchise la familia respectiva de constructori), din punctde vedere informatic lucrurile stau putin altfel. Ne intereseaza nu numai existentaınchiderii dar si o maniera constructiva de obtinere a obiectelor ınchiderii. Mai sun-tem interesati si ıntr-o ordinea de aplicare a constructorilor, atunci cand este posibilde stabilit o astfel de ordine, si ne mai intereseaza si metode de demonstratie de pro-prietati ale obiectelor ınchiderii. Mai sunt si alte probleme de care suntem interesati,cum ar fi unicitatea constructiei obiectelor ınchiderii. Toate acestea vor fi discutateın aceasta sectiune, urmand ın principal [182].

2.1 Inchideri. Inductie structurala

Incepem sectiunea prin a stabili cateva conventii ce vor fi utilizate ori de cate ori vafi vorba despre ınchideri.

In general, vom considera relatii r de la V n la V , unde V este o multime si neste un numar natural. Reamintim ca pentru n = 0 avem, prin conventie matematica,V 0 = {∅}. Ca urmare, a specifica o relatie de la V 0 la V revine la a specifica osubmultime a multimii V . In cazul n = 1, perechile ((a1), a) ∈ r vor fi notatesimplificat prin (a1, a).

Vom fi interesati ın a realiza ınchideri la multimiR de relatii. Din ratiuni tehnicevom considera ca fiecare relatie r ∈ R este de la V nr la V , unde nr este un numarnatural. Pentru A ⊆ V si r ∈ R vom nota prin r(Anr) multimea

r(Anr) =

{{a ∈ V |(a) ∈ r}, daca nr = 0{a ∈ V |(∃a1, . . . , anr ∈ A)(((a1, . . . , anr), a) ∈ r)}, altfel,

iar prinR(A), multimeaR(A) =

⋃r∈R

r(Anr).

Definitia 2.1.1. Fie A o multime siR o multime de relatii.

55

Page 62: Fltiplea Fai

56 Inchideri

(1) Spunem ca A este ınchisa la r ∈ R daca r(Anr) ⊆ A.

(2) Spunem ca o multime B este ınchiderea multimii A la multimea de relatii R,sau ca este R-ınchiderea multimii A, si notam B = R [[A ]], daca B este ceamai mica multime, ın sensul incluziunii, ce include A si este ınchisa la fiecarerelatie r ∈ R.

In cazul ın care R este formata dintr-un singur element r, vom mai scrie r [[A ]]ın loc deR [[A ]].

Urmatoarea teorema ne va arata ca ınchiderea unei multimi la o multime de relatiiexista ıntotdeauna. In plus, demonstratia acestei teoreme ne va furniza si o metodade determinare a ınchiderii.

Teorema 2.1.1. Fie A o multime si R o multime de relatii pe V . Atunci, exista ounica multime B ce este ınchiderea multimii A laR.

Demonstratie Fie sirul de multimi:

– B0 = A;

– Bm+1 = Bm ∪R(Bm), pentru orice m ∈ N.

Este clar ca au loc incluziunile

A = B0 ⊆ B1 ⊆ . . . ⊆ Bm ⊆ . . . .

Fie B =⋃

m≥0Bm. Aratam ca B satisface teorema. B include A si

R(B) = R(⋃

m≥0Bm)=

⋃m≥0R(Bm)

⊆⋃

m≥0 Bm

= B,

ceea ce arata ca B este ınchisa laR.Fie B′ o multime ce include A si este ınchisa la R. Prin inductie matematica se

arata ca, pentru orice m ≥ 0, are loc Bm ⊆ B′ si, deci,

B =⋃m≥0

Bm ⊆ B′.

Ca urmare,B este cea mai mica multime ce includeA si este ınchisa laR, fiind unicamultime cu aceste proprietati. �

Observatia 2.1.1.

(1) Demonstratia Teoremei 2.1.1 ne arata ca ınchiderea multimii A la multimeaRde relatii este limita (supremum) sirului de multimi:

– B0 = A;

– Bm+1 = Bm ∪R(Bm), pentru orice m ≥ 0,

Page 63: Fltiplea Fai

Inchideri. Inductie structurala 57

adica, B =⋃

m≥0 Bm.

(2) Daca consideram multimea

A = {X ⊆ V |A ⊆ X ∧ X este ınchisa laR},

atunci constatam ca aceasta este nevida (V ∈ A) si⋂A este ınchiderea

multimii A la R. Ca urmare, putem spune ca ınchiderea multimii A la Reste intersectia tuturor submultimilor X ale multimii V , ce include A si suntınchise laR.

Urmatoarea teorema, cunoscuta ca fiind Principiul inductiei structurale, poatefi gandita ca echivalenta Principiului inductie matematice pentru multimi definiteprin ınchidere. Ea este un instrument matematic foarte important prin care se potdemonstra anumite proprietati ale elementelor ınchiderii unei multimi.

Teorema 2.1.2. (Principiul inductiei structurale)Fie B = R [[A ]] si P o proprietate astfel ıncat:

(i) P (a), pentru orice a ∈ A;

(ii) (P (a1)∧ · · · ∧P (anr) ⇒ P (a)), pentru orice r ∈ R si a1, . . . , anr , a ∈ B cu((a1, . . . , anr), a) ∈ r.

Atunci, P este satisfacuta de toate elementele b ∈ B.

Demonstratie Fie B′ = {b ∈ B|P (b)}. Atunci, A ⊆ B ′ (de la (i)) si B′ esteınchisa laR (de la (ii)). Ca urmare, B ⊆ B′. �

Observatia 2.1.2.

(1) Se poate da o demonstratie a Teoremei 2.1.2 pornind de la remarca ca B estesupremul sirului de multimi 〈Bm|m ≥ 0〉 descris ın Observatia 2.1.1. Astfel,printr-o simpla inductie matematica dupam ≥ 0 se arata ca proprietatea P estesatisfacuta de orice element b ∈ Bm. Ca urmare, P va fi satisfacuta de oriceb ∈ B.

(2) Punctul (1) al acestei observatii ne arata, suplimentar, ca ceea ce se poatedemonstra prin inductie structurala se poate demonstra si prin inductie mate-matica. Ca urmare, inductia structurala nu este “mai puternica” decat inductiamatematica. Insa, utilizarea inductiei structurale acolo unde este cazul con-duce, ın general, la simplificarea tehnica a demonstratiilor oferind un plus denaturalete si eleganta.

Un aspect important ce trebuie discutat este cel legat de “ordinea” ın care seface ınchiderea unei multimi atunci cand sunt considerate mai mult de o relatie. Incadrul sirului de multimi din demonstratia Teoremei 2.1.1 nu este impusa o anumeordine, toate relatiile fiind aplicate la fiecare pas. Am putea sa ne ıntrebam: dacarealizam ıntai ınchiderea multimii A la r0, apoi a multimii r0 [[A ]] la r1 etc., obtinem{ri|i ≥ 0} [[A ]]? Raspunsul este negativ, ın general, iar ın sectiunea urmatoare vomprezenta cateva exemple ın acest sens.

Page 64: Fltiplea Fai

58 Inchideri

2.2 Inchideri ale unei relatii binare

In matematica se considera frecvent ınchideri reflexive, simetrice, tranzitive etc. aleunor relatii binare date. Acestea nu sunt altceva decat cazuri particulare ale Definitiei2.1.1.

Definitia 2.2.1. Fie ρ o relatie binara pe A si P o proprietate ca ın Definitia 1.2.1.5.Cea mai mica relatie binara ρ′ pe A ce include ρ si are proprietatea P este numitaınchiderea P a relatiei ρ.

Este clar ca daca o relatie binara ρ pe A are proprietatea P , atunci ınchidereaP a ei este chiar ρ. Vom nota prin r(ρ) (s(ρ), t(ρ)) ınchiderea reflexiva (simetrica,tranzitiva) a relatiei ρ.

In Sectiunea 1.2.1 am definit relatia ρ+ si am aratat ca ea este cea mai mica relatiece include ρ si este tranzitiva. Ca urmare, t(ρ) = ρ+, ceea ce justifica terminologiaadoptata pentru ρ+ ın respectiva sectiune. De asemenea, am introdus relatia ρ∗ siam aratat ca aceasta este cea mai mica relatie ce include ρ, este reflexiva si tranzi-tiva. Vom vedea ca aceasta relatie este ınchiderea reflexiva si tranzitiva a relatiei ρ,justificand astfel terminologia adoptata si pentru aceasta relatie ın Sectiunea 1.2.1.

Inchiderea la echivalenta a relatiei ρ o vom nota prin equiv(ρ) sau ≡ρ. Atuncicand vom realiza ınchideri multiple ale unei relatii vom omite parantezele ıntelegandca ordinea de realizare a ınchiderilor este de la dreapta la stanga. De exemplu, vomfolosi scrierea trs(ρ) si terminologia de ınchiderea simetrica reflexiva si tranzitiva arelatiei ρ pentru t(r(s(ρ))).

Teorema 2.2.1. Fie ρ o relatie binara pe o multime A. Atunci, au loc urmatoareleproprietati:

(1) r(ρ) = ρ ∪ ιA;

(2) s(ρ) = ρ ∪ ρ−1;

(3) t(ρ) = ρ+ =⋃

n≥1 ρn;

(4) rt(ρ) = ρ∗ =⋃

n≥0 ρn.

Demonstratie (1) Orice relatie reflexiva pe A include ιA si, ca urmare, oricerelatie reflexiva ce include ρ va include si ρ∪ ιA. Deci, cea mai mica relatie reflexivace include ρ este ρ ∪ ιA, adica, r(ρ) = ρ ∪ ιA.

(2) Orice relatie simetrica ce include ρ trebuie sa includa si ρ−1 (conformdefinitiei). Ca urmare, cea mai mica relatie simetrica ce include ρ este ρ ∪ ρ−1,adica, s(ρ) = ρ ∪ ρ−1.

(3) urmeaza de la discutia de mai sus.(4) ρ∗ = r(t(ρ)) = r(ρ+) = ρ+ ∪ ιA = ρ+ ∪ ρ0 =

⋃n≥0 ρ

n. �

Inchiderea tranzitiva a unei relatii binare ρ pe A este caz particular al Definitiei2.1.1. In adevar, daca consideram o relatie θ ce contine toate 2-uplurile de forma(((a, b), (b, c)), (a, c)), unde a, b, c ∈ A, atunci pe baza Observatiei 2.1.1(1) si a Teo-remei 2.2.1(3) obtinem θ [[ ρ ]] = ρ+ = t(ρ).

Page 65: Fltiplea Fai

Inchideri ale unei relatii binare 59

Similar, se poate arata ca si ınchiderea reflexiva (simetrica) este caz particular alDefinitiei 2.1.1.

Demonstratia urmatoarei propozitii ramane ın grija cititorului.

Propozitia 2.2.1. Fie ρ si σ relatii binare pe o multimeA. Atunci, au loc urmatoareleproprietati:

(1) r(ρ ∪ σ) = r(ρ) ∪ r(σ);

(2) s(ρ ∪ σ) = s(ρ) ∪ s(σ);

(3) t(ρ ∪ ιA) = t(ρ) ∪ ιA;

(4) (ρn)−1 = (ρ−1)n, pentru orice n ≥ 1;

(5) (⋃

n≥1 ρn)−1 =

⋃n≥1(ρ

−1)n.

Teorema 2.2.2. Fie ρ o relatie binara. Atunci, au loc urmatoarele proprietati:

(1) sr(ρ) = rs(ρ);

(2) tr(ρ) = rt(ρ);

(3) daca ρ este simetrica, atunci t(ρ) este simetrica.

Demonstratie Vom folosi din plin Propozitia 2.2.1.(1) sr(ρ) = s(ρ ∪ ιA) = s(ρ) ∪ ιA = r(s(ρ)) = rs(ρ).(2) tr(ρ) = t(ρ ∪ ιA) = t(ρ) ∪ ιA = r(t(ρ)) = rt(ρ).(3) Vom arata ca t(ρ) = t(ρ)−1 utilizand faptul ca ρ = ρ−1 (ρ este simetrica).

Are loc,(t(ρ))−1 = (

⋃n≥1

ρn)−1 =⋃n≥1

(ρ−1)n =⋃n≥1

(ρ)n = t(ρ),

ceea ce stabileste simetria relatiei t(ρ). �

Combinand Teorema 2.2.1(4) cu Teorema 2.2.2(2) obtinem ca tr(ρ) este ınchi-derea reflexiva si tranzitiva a relatiei ρ, ea fiind de fapt ρ∗.

Revenim acum la problema mentionata la sfarsitul sectiunii anterioare. Asacum am spus, ordinea ın care se realizeaza ınchiderea unei multimi este foarte im-portanta. Punctele (1) si (2) ale Teoremei 2.2.2 ne arata ca ordinea ınchiderii lasimetrie/tranzitivitate si reflexivitate poate fi permutata fara a afecta rezultatul fi-nal, ın timp ce punctul (3) ne spune ca ınchiderea tranzitiva nu “distruge” simetria.Inchiderea simetrica poate distruge ınsa tranzitivitatea, asa cum ne arata urmatorulexemplu. Fie

ρ = {(1, 1), (1, 2), (1, 3), (2, 2), (3, 3)} ⊆ {1, 2, 3} × {1, 2, 3}.

Au loc relatiile:

st(ρ) = {(1, 1), (2, 2), (3, 3), (1, 2), (2, 1), (1, 3), (3, 1)},

ts(ρ) = {(1, 1), (2, 2), (3, 3), (1, 2), (2, 1), (1, 3), (3, 1), (2, 3), (3, 2)},care ne arata ca st(ρ) �= ts(ρ).

Page 66: Fltiplea Fai

60 Inchideri

Teorema 2.2.3. Fie ρ o relatie binara pe o multime A. Atunci,

≡ρ= tsr(ρ) = trs(ρ) = rts(ρ).

Demonstratie Utilizand Teorema 2.2.2 obtinem sirul de egalitati

tsr(ρ) = trs(ρ) = rts(ρ)

si faptul ca tsr(ρ) este relatie de echivalenta. In plus, ρ ⊆ tsr(ρ).Daca σ este o relatie de echivalenta pe A ce include ρ, atunci

r(ρ) ⊆ r(σ) = σ, sr(ρ) ⊆ s(σ) = σ si tsr(ρ) ⊆ t(σ) = σ;

ca urmare, tsr(ρ) este cea mai mica echivalenta pe A ce include ρ. �

Teorema anterioara ne spune ca pentru a realiza ınchiderea la echivalenta a uneirelatii ρ este important de a realiza ıntai ınchiderea simetrica si apoi ınchiderea tranz-itiva; ınchiderea reflexiva poate fi realizata oricand.

2.3 Definitii inductive/recursive

O constructie inductiva de multimi are ca scop constructia unei multimi pornind dela o multime data (de elemente de baza) si adaugand, pas cu pas, noi elemente.

Consideram urmatorul exemplu din logica matematica. Fie A o multime nevidaastfel ıncat A ∩ {¬,∨,∧, (, )} = ∅. Formulele propozitionale peste A sunt definiteprin:

(a) orice element al multimii A este formula propozitionala;

(b) daca w1 si w2 sunt formule propozitionale, atunci

(¬w1), (w1 ∨ w2) si (w1 ∧ w2)

sunt formule propozitionale;

(c) formulele propozitionale sunt definite numai ca la (a) sau (b).

Un cititor pretentios din punct de vedere a rigorii matematice se poate ıntreba: esteaceasta o “definitie” matematica a notiunii de formula propozitionala (peste A)? E-xista o multime a tuturor formulelor propozitionale (peste A)? Cum pot fi demon-strate anumite proprietati ale formulelor propozitionale?

Pentru a raspunde acestor ıntrebari, vom rescrie “definitia” de mai sus ın termenide ınchidere a unei multimi. Consideram relatiile r0 si r1 ce contin toate perechilede forma (x, (¬x)) si respectiv, ((x, y), (x ∨ y)) si ((x, y), (x ∧ y)), unde x, y ∈(A ∪ {¬,∨,∧, (, )})+. Atunci, presupunand ca exista multimea tuturor formulelorpropozitionale peste A, fie aceasta FP (A), punctele (a), (b) si (c) ne spun ca:

(a’) B include A (de la (a));

Page 67: Fltiplea Fai

Definitii inductive/recursive 61

(b’) B este ınchisa la r0 si r1 (de la (b));

(c’) B este cea mai mica multime, ın sensul incluziunii, cu proprietatile (a’) si (b’)(de la (c)).

Adica, FP (A) este ınchiderea multimiiA la multimea {r0, r1} de relatii, multime ceexista ın baza Teoremei 2.1.1. Ca urmare, FP (A) exista si este reuniunea sirului demultimi 〈Bm|m ≥ 0〉 dat prin:

– B0 = A;

– Bm+1 = Bm ∪ {(¬w1), (w1 ∨ w2), (w1 ∧ w2)|w1, w2 ∈ Bm}, pentru oricem ≥ 0.

Principiul inductiei structurale poate fi aplicat multimii FP (A) pentru a demons-tra anumite proprietati ale elementelor acesteia. Astfel, pentru a arata ca ın oriceformula propozitionala w ∈ FP (A) numarul de paranteze “(” este egal cu numarulde paranteze “)”, avem de verificat urmatoarele:

– daca w ∈ A, atunci proprietatea este satisfacuta;

– daca w este de forma w = (¬w1) sau w = (w1 ∨ w2) sau w = (w1 ∧ w2), sipresupunem proprietatea adevarata pentru w1 si w2, atunci ea va fi adevarata sipentru w.

Discutia purtata pana acum conduce la urmatoarea definitie. Spunem ca o multi-me B este definita inductiv daca exista o multime A si o multime R de relatii astfelıncat B = R [[A ]] 1. Aceasta nu este o noua definitie; nu am facut altceva decatsa atribuim o noua terminologie notiunii de ınchidere a unei multimi, sa scoatemın evidenta faptul ca ınchiderea unei multimi poate actiona ca metoda de definitiede multimi si, sa justificam “formularea” utilizata frecvent ın descrierea inductiva a(obiectelor) unei multimi.

Fie B = R [[A ]]. Observatia 2.1.1(1) ne spune ca pentru orice b ∈ B exista osecventa

a1, . . . , ai, . . . , an = b

astfel ıncat, pentru orice 1 ≤ i ≤ n, are loc

– ai ∈ A, sau

– exista r ∈ R cu nr = 0 si (a) ∈ r, sau

– exista r ∈ R si j1, . . . , jnr < i astfel ıncat ((aj1, . . . , ajnr), a) ∈ r.

O astfel de secventa poarta denumirea de constructie/definitie inductiva a lui b. Caurmare, B este multimea tuturor elementelor ce au cel putin o constructie inductivade la A siR.

1Unii autori [112, 49] atribuie terminologia de constructor relatiilor ce intervin ıntr-o astfel dedefinitie. Analiza exemplului de mai sus credem ca justifica cititorului aceasta terminologie.

Page 68: Fltiplea Fai

62 Inchideri

Un alt aspect important pe care trebuie sa-l discutam este cel legat de definitiaprin recursie/recurenta a unor functii al caror domeniu este o multime definita induc-tiv. Observatia de la care plecam consta ın faptul ca o functie este o relatie, deci omultime si, atunci, a defini recursiv o functie revine la a defini inductiv o multime.Dar, sa fixam ıntai cu exactitate problematica pe care o urmarim.

Fie B o multime definita inductiv de A siR, V o multime, g o functie de la A laV si h o functie ce asociaza fiecarei relatii r o functie h(r) (partiala sau totala) de laV nr la V . Ne punem problema existentei unei functii f : B → V cu proprietatile:

(i) f(a) = g(a), pentru orice a ∈ A;

(ii) f(a) = h(r)(f(a1), . . . , f(anr)), pentru orice a, a1, . . . , anr ce satisface((a1, . . . , anr), a) ∈ r si h(r)(f(a1), . . . , f(anr))↓

(egalitatea de la (ii) trebuie ınteleasa ca egalitate de functii partial definite. Astfel,daca h(r) nu este definita pe (f(a1), . . . , f(anr)), atunci f nu va fi definita pe a).

Evident, pentru ca o astfel de functie sa existe este necesar ca, pentru orice((a1, . . . , anr), a) ∈ r si ((a′1, . . . , a

′nr′ ), a) ∈ r

′ sa avem

(iii) h(r)(f(a1), . . . , f(anr)) = h(r′)(f(a′1), . . . , f(a′nr′ )).

O astfel de conditie, pe care am dori-o satisfacuta a priori de definitia functiei f ,implica ınsasi functia f . Ea va fi ınsa satisfacuta daca presupunem ca pentru oricea ∈ B, ori a ∈ A, ori exista o unica relatie r si un unic nr-uplu (a1, . . . , anr) astfelıncat ((a1, . . . , anr), a) ∈ r. De fapt, aceasta din urma va fi ipoteza ın care vom lucra.

Asa cum am spus, o functie este o relatie si, deci, o multime. Atunci, a defini fcu proprietatile (i) si (ii) revine la a defini o multime f ⊆ B × V astfel ıncat:

(a) (a, g(a)) ∈ f , pentru orice a ∈ A;

(b) daca (a1, b1), . . . , (anr , bnr) ∈ f , ((a1, . . . , anr), a) ∈ r sih(r)(b1, . . . , bnr)↓, atunci (a, h(r)(b1, . . . , bnr)) ∈ f ;

(c) f este cea mai mica multime, ın sensul incluziunii, cu proprietatile (a) si (b).

Urmatoarea lema va stabili existenta unei astfel de multimi.

Lema 2.3.1. Fie B multimea definita inductiv de A si R, V o multime, g o functiede la A la V si h o functie ce asociaza fiecarei relatii r ∈ R o functie h(r) (partialasau totala) de la V nr la V . Atunci, exista o unica multime f ⊆ B×V cu proprietatile(a), (b) si (c).

Demonstratie Fie multimea A′ = {(a, g(a))|a ∈ A}. Pentru fiecare relatie rconsideram o noua relatie r′ astfel ıncat

(((a1, b1), . . . , (anr , bnr)), (a, h(r)(b1, . . . , bnr))) ∈ r′

daca si numai daca

((a1, . . . , anr), a) ∈ r, b1, . . . , bnr ∈ V si h(r)(b1, . . . , bnr)↓ .

Page 69: Fltiplea Fai

Definitii inductive/recursive 63

Fie R′ = (r′|r ∈ R). Exista atunci o unica multime B ′ ce este ınchidereamultimii A′ la R′. Pe baza definitiei ınchiderii si a Principiului inductiei structuralese obtine cu usurinta ca f = B′ este unica multime ce satisface lema. �

Multimea f din Lema 2.3.1 nu este, ın mod necesar, functie.

Definitia 2.3.1. O multime B spunem ca este liber inductiv definita de A si R dacaB este definita inductiv de A siR si, pentru orice a ∈ B,

• ori a ∈ A,

• ori exista o unica relatie r ∈ R si un unic nr-uplu (a1, . . . , anr) astfel ıncat((a1, . . . , anr), a) ∈ r.

Teorema 2.3.1. (Teorema recursiei)Fie B o multime definita inductiv de A si R, V o multime, g o functie de la A la Vsi h o functie ce asociaza fiecarei c-relatii r ∈ R o functie h(r) (partiala sau totala)de la V nr la V . Daca B este liber inductiv definita de A si R, atunci exista o unicafunctie (partiala) f : B → V astfel ıncat:

(i) f(a) = g(a), pentru orice a ∈ A;

(ii) f(a) = h(r)(f(a1), . . . , f(anr)), pentru orice a, a1, . . . , anr ce satisface((a1, . . . , anr), a) ∈ r si h(r)(f(a1), . . . , f(anr))↓.

(egalitatea de la (ii) este ınteleasa ca egalitate de functii partial definite).

Demonstratie Lema 2.3.1 asigura existenta unei multimi f ⊆ B × V cu pro-prietatile (a), (b) si (c). Prin inductie structurala si utilizand ipoteza (B este liberinductiv definita) se arata ca f satisface teorema. �

O usoara modificare a demonstratiei Lemei 2.3.1 permite stabilirea urmatoareivariante a Teoremei recursiei.

Teorema 2.3.2. Fie B o multime definita inductiv de A si R, V o multime, g ofunctie de la A la V si h o functie ce asociaza fiecarei relatii r ∈ R o functie h(r)(partiala sau totala) de la Bnr ×V nr la V . Daca B este liber inductiv definita de A siR, atunci exista o unica functie (partiala) f : B → V astfel ıncat:

(i) f(a) = g(a), pentru orice a ∈ A;

(ii) f(a) = h(r)(a1, . . . , anr , f(a1), . . . , f(anr)), pentru orice a, a1, . . . , anr ce sa-tisface ((a1, . . . , anr), a) ∈ r si h(r)(a1, . . . , anr , f(a1), . . . , f(anr))↓.

Teoremele 2.3.1 si t2:p540 sunt de importanta cruciala ori de cate ori avem deextins functii definite pe o multime A la functii definite pe ınchiderea multimii A laanumiti operatori.

Page 70: Fltiplea Fai

64 Inchideri

Page 71: Fltiplea Fai

Capitolul 3

Sisteme relationale si algebreuniversale

Structurile relationale si algebrele universale constituie un cadru general prin carepot fi introduse multimile partial ordonate, semigrupurile, grupurile etc., si prin carepot fi studiate proprietati comune ale acestora.

3.1 Sisteme relationale

De multe ori apare necesitatea de a considera cupluri formate dintre o multime debaza si anumite relatii pe acea multime. Aceste cupluri se numesc sisteme relationa-le.

Definitia 3.1.1. Se numeste sistem relational orice cuplu R = (A;R), unde A esteo multime arbitrara iar R este o familie de relatii pe A.

Daca R = (A;R) este un sistem relational si R = {ρ1, . . . , ρn}, n ≥ 1, atuncivom mai nota R prin (A; ρ1, . . . , ρn). Multimea A va fi numita multimea suporta sistemului relational R. In cazul particular ın care R este formata doar dintr-osingura relatie binara ρ vom spune ca (A;R) este o structura (relationala), ce va finotata simplificat prin (A; ρ).

Structurile introduse ın Definitia 1.2.5.1 sunt cazuri particulare de structuri rela-tionale.

Reprezentarea grafica a unei structuri relationale se face asa cum este mentionatın Sectiunea 1.2.5.

Definitia 3.1.2. Fie (A; ρ) o structura relationala. (B; σ) este numita substructura astructurii (A; ρ) daca B ⊆ A si σ = ρ|B .

Observam ca o substructura (B; σ) a unei structuri (A; ρ) este complet determi-nata de submultimea B. Ca urmare, ne vom referi uneori la substructuri ale uneistructuri ca fiind submultimi ale multimii suport a acestora.

65

Page 72: Fltiplea Fai

66 Sisteme relationale si algebre universale

Atunci cand pentru o anumita structura relationala este adoptata o terminolo-gie specifica, cum ar fi de exemplu cea de “multime partial ordonata”, terminolo-gia de substructura relationala va fi modificata corespunzator, cum ar fi de exemplu“submultime partial ordonata”, abreviat sub-mpo.

Definitia 3.1.3. Fie (A; ρ) o structura, a, b ∈ A si B ⊆ A.

(1) Se numeste lant al structurii (A; ρ) orice submultime B ⊆ A cu proprietateaca (B; ρ|B) este lant.

(2) Se numeste submultime dirijata a structurii (A;≤) orice submultime nevidaB ⊆ A cu proprietatea ca (B; ρ|B) este multime dirijata.

(3) Se numeste submultime filtrata a structurii (A;≤) orice submultime nevidaB ⊆ A cu proprietatea ca (B; ρ|B) este multime filtrata.

(4) Multimea [a, b] = {x ∈ A|a ≤ x ≤ b} este numita segmentul sau intervalulindus de a si b ın M .

(5) Multimea B↑= {x ∈ A|(∃a ∈ B)(a ≤ x)} este numita multimea succesorilormultimii B.

(6) Multimea B↓= {x ∈ A|(∃a ∈ B)(x ≤ a)} este numita multimea predeceso-rilor multimii B.

Atunci cand B = {a} vom scrie mai simplu a↑ (a↓) ın loc de {a}↑ ({a}↓). Nutrebuiesc confundate aceste notatii cu f(a)↑ sau f(a)↓.

Este usor de vazut ca are loc [a, b] = a↑ ∩ b↓, pentru orice a si b.

Conceptul de morfism de structuri este unul din cele mai importante concepte ınteoria structurilor relationale.

Definitia 3.1.4. FieM = (A; ρ) siN = (B; σ) doua structuri. Numim homomorfismsau morfism de la M la N orice functie f : A→ B pentru care are loc:

(∀x, y ∈ A)(x ρ y ⇒ f(x) σ f(y)).

Homomorfismele de la o structura la ea ınsasi se mai numesc si endomorfisme.In Figura 3.1 sunt reprezentate grafic 3 structuri. Functia f data prin

f(a) = x = f(b), f(c) = y si f(d) = z

este un morfism de la structura din Figura 3.1(a) la structura din Figura 3.1(b), dareste usor de vazut ca nu exista nici un morfism de la structura din Figura 3.1(b) lacea din Figura 3.1(c).

Morfismele se mai numesc si functii monotone 1. Ele au proprietatea ca pas-treaza relatia de ordine pe domeniului de definitie, ceea ce in Definitia 3.1.4 este

1Unii autori folosesc termenul de “functie monotona” doar pentru morfisme ıntre mpo. Con-sideram ınsa ca este potrivit a utiliza aceasta terminologie si pentru morfisme ıntre structuri arbitrare,asa cum s-a introdus ın Definitia 3.1.4.

Page 73: Fltiplea Fai

Sisteme relationale 67

a

b

c d

a)

x y z

b)

p q r

c)

Figura 3.1: Structuri relationale

specificat prin “x ρ y ⇒ f(x) σ f(y)”. Ca o consecinta importanta, functiile mono-tone pastreaza lanturile (submultimile dirijate, submultimile filtrate) ın sensul ca,daca f : M → N este functie monotona de la M la N atunci pentru orice lant(submultime dirijata, submultime filtrata) B ın M , f(B) este lant (submultime diri-jata, submultime filtrata) ın N .

In cazul ın care un morfism f are proprietatea

(∀x, y ∈ A)(x �= y ∧ x ρ y ⇒ f(x) �= f(y) ∧ f(x) σ f(y))

vom spune ca f este morfism strict (functie monotona stricta). Multimea tuturorfunctiilor monotone de la M la N va fi notata prin (M →m N) sau (A →m B)atunci cand relatiile ρ si σ sunt subıntelese din context.

Definitia 3.1.5. Fie M = (A; ρ) si N = (B; σ) doua structuri. Numim izomorfismde la M la N orice functie bijectiva f : A→ B pentru care f este morfism de la Mla N si f−1 este morfism de la N la M .

Izomorfismele de la o structura la ea ınsasi se mai numesc si automorfisme.

Propozitia 3.1.1. Fie M = (A; ρ) si N = (B; σ) doua structuri. O functie f de laM laN este izomorfism de structuri daca si numai daca f este functie bijectiva si areloc

(∀x, y ∈ A)(x ρ y ⇔ f(x) σ f(y)).

Demonstratie Daca f este izomorfism de la M la N atunci f este functie bijectivasi au loc proprietatile

(∀x, y ∈ A)(x ρ y ⇒ f(x) σ f(y))

si(∀x′, y′ ∈ B)(x′ σ y′ ⇒ f−1(x′) ρ f−1(y′)).

Alegand x′ = f(x) si y′ = f(y) ın cea de a doua relatie, si combinand cu prima,obtinem

(∀x, y ∈ A)(x ρ y ⇔ f(x) σ f(y)).

Demonstratia ın sens invers decurge similar celei de mai sus. �

Este clar ca daca f este izomorfism, atunci atat f cat si f−1 sunt morfisme stricte.Daca exista cel putin un izomorfism de la M la N atunci vom spune ca M si N suntizomorfe, si vom nota M ∼= N . In plus, daca f este un izomorfism de la M la N sidorim sa specificam aceasta atunci vom folosi notatia M ∼=f N .

Page 74: Fltiplea Fai

68 Multimi partial ordonate

Propozitia 3.1.2. Compunere de morfisme (izomorfisme) de structuri este morfism(izomorfism) de structuri.

Demonstratie Fie M = (A; ρ), N = (B; σ) si P = (C; θ) trei structuri, iarf : A → B si g : B → C morfisme. Fie a, b ∈ A cu a ρ b. Faptul ca f estemorfism conduce la f(a) σ f(b), care combinata cu faptul ca g este morfism conducela g(f(a)) θ g(f(b)). Deci, g ◦ f este morfism.

Demonstratia decurge similar ın cazul izomorfismelor. �

Fie M = (A; ρ) si N = (B; σ) doua structuri si f un morfism de la M la N .Multimea A/Ker(f) poate fi organizata ca o structura considerand relatia binara θdata prin:

[x]Ker(f) θ [y]Ker(f) ⇔ f(x) σ f(y),

pentru orice x, y ∈ A. Vom nota aceasta structura prin M/Ker(f).

Propozitia 3.1.3. Fie f un morfism de la M = (A; ρ) la N = (B; σ). Functiag : A→ A/Ker(f) data prin g(x) = [x]Ker(f), pentru orice x ∈ A, este morfism de laM la M/Ker(f).

Demonstratie Fie a, b ∈ A cu a ρ b. Atunci, f(a) σ f(b), ceea ce ınseamna[a]Ker(f) θ [b]Ker(f). Deci, g este morfism. �

3.2 Multimi partial ordonate

Multimile partial ordonate sunt structuri de importanta majora. In aceasta sectiunevom prezenta cateva din conceptele si proprietatile de baza asupra acestora.

3.2.1 Concepte de baza

Fie M = (A; ρ) o mpo. Cel mai adesea relatia ρ se noteaza prin ≤. Prin < vom notarelatia ≤ −ιA. Inversa relatiei ≤ (<) va fi notata prin ≥ (>).

Daca a, b ∈ A si a ≤ b sau b ≤ a, atunci vom spune ca a si b sunt comparabile(ın raport cu ≤); altfel, ele sunt numite incomparabile (ın raport cu ≤). Daca a ≤ b,atunci vom spune ca a precede b sau ca b succede a. In ipoteza suplimentara ın carea �= b si nu exista c astfel ıncat a < c < b, vom spune ca a precede imediat pe b sauca b succede imediat pe a; a este numit predecesor imediat al lui b, iar b este numitsuccesor imediat al lui a.

Este usor de vazut ca o ordine partiala ρ este totala (pe A) daca si numai dacaρ ∪ ρ−1 = A × A. Intr-un lant, orice doua elemente sunt comparabile. Se maifoloseste adesea si terminologia de antilant pentru mpo ın care orice doua elementesunt incomparabile.

In cazul multimilor partial ordonate, pe langa reprezentarea grafica introdusaın Sectiunea 1.2.5, o alta reprezentarea frecvent ıntalnita este cea prin diagrame

Page 75: Fltiplea Fai

Concepte de baza 69

Hasse 2. Aceste diagrame se contruiesc similar reprezentarilor specifice mpo uti-lizate de noi dar cu deosebirea ca arcele ce unesc nodurile grafului sunt neorientate.In acest caz, orientarea este suplinita desenand nodul ce succede un alt nod mai susdecat acesta, pe verticala. De exemplu, ın Figura 3.2 sunt reprezentate prin diagrameHasse 4 mpo. Ultimele doua reprezentari sunt ale aceleiasi mpo a carei relatie binaraeste

{(a, a), (b, b), (c, c), (d, d), (e, e), (f, f), (a, d), (a, e), (b, d), (b, f), (c, e), (c, f)}.

a)

a b c

d e f

c)

a b c

d ef

d)b)

Figura 3.2: Diagrame Hasse

Definitia 3.2.1.1. Fie M = (A;≤) o mpo si B ⊆ A.

(1) Un element a ∈ A este numit majorant al multimii B daca b ≤ a, pentru oriceb ∈ B.

(2) Un element a ∈ A este numit cel mai mic majorant al multimii B daca el estemajorant al lui B si pentru orice alt majorant a′ al multimii B are loc a ≤ a′.

(3) B este numita majorata sau marginita superior daca exista cel putin un majo-rant al ei.

(4) Un element b ∈ B este numit maximal (ın B) daca pentru orice b′ ∈ B, b′ ≤ bsau b si b′ sunt incomparable.

(5) Un element b ∈ B este numit cel mai mare element (al multimiiB) daca b′ ≤ b,pentru orice b′ ∈ B.

(6) Un element a ∈ A este numit minorant al multimii B daca a ≤ b, pentru oriceb ∈ B.

(7) Un element a ∈ A este numit cel mai mare minorant al multimiiB daca el esteminorant al lui B si pentru orice alt minorant a′ al multimii B are loc a′ ≤ a.

(8) B este numita minorata sau marginita inferior daca exista cel putin un mino-rant al ei.

2Dupa numele matematicianului german Helmut Hasse (1898–1979) care le-a utilizat pentru primadata cu scopul reprezentarii grafice a mpo.

Page 76: Fltiplea Fai

70 Multimi partial ordonate

(9) Un element b ∈ B este numit minimal (ın B) daca pentru orice b′ ∈ B, b ≤ b′

sau b si b′ sunt incomparabile.

(10) Un element b ∈ B este numit cel mai mic element (al multimii B) daca b ≤ b′,pentru orice b′ ∈ B.

(11) B este numita marginita daca este marginita inferior si superior.

Fie M = (A;≤) o mpo si B ⊆ A. Vom nota prin B+ multimea tuturor majoran-tilor multimii B ın M , si prin B− multimea tuturor minorantilor multimii B ın M .Atragem atentia asupra faptului ca B+ ⊆ B↑, dar incluziunea poate fi stricta (similarpentru B− ⊆ B↓).

Este clar ca daca exista cel mai mic majorant (cel mai mare minorant) al multimiiB, atunci acesta este unic, el fiind cel mai mic element al multimiiB+ (cel mai mareelement al multimiiB−). Acest element, atunci cand exista, va fi notat prin lubM (B)(glbM (B)) sau supM(B) (infM (B)) sau ∨M (b|b ∈ B) (∧M (b|b ∈ B)) si va maifi numit si supremum (infimum) multimii B. In cazul ın care B are doua elemente,B = {b1, b2}, ultima notatie va fi simplificata la b1 ∨M b2 (b1 ∧M b2). Similar, celmai mic (cel mai mare) element al multimii B, daca exista, este unic; el se noteaza(atunci cand exista) prin ⊥M,B (!M,B) sau minM (B) (maxM (B)). Indicele M va fiıntotdeauna eliminat atunci cand se subantelege din context.

Daca elementul a ∈ A are proprietatea b < a pentru orice b ∈ B, atunci eleste numit si majorant strict al (margine superioara stricta a) multimii B, iar Bspunem ca este majorata strict (marginita superior strict). Daca exista cel mai micmajorant strict al multimii B, atunci acesta este numit si succesor imediat al lui B.Orice majorant strict este majorant, dar o multime poate avea majoranti fara a aveamajoranti stricti. Notiunile de minorant strict si multime minorat a strict (marginitainferior strict) se introduc ın maniera similara. Cel mai mare minorant strict al uneimultimi, atunci cand exista, este numit si precedesor imediat al acelei multimi.

Exemplul 3.2.1.1. Fie A o multime. Pentru orice sistem nevid S peste A, cuplul(S;⊆S) este mpo pentru care

⋂S este cel mai mic element, iar

⋃S este cel mai

mare element (ın cazul S = P(A),⋂S = ∅ si

⋃S = A).

Utilizand conceptele introduse ın Definitia 3.2.1.1, mpo dirijate (filtrate) pot fidefinite ca fiind mpo ce au proprietatea ca orice submultime cu unul sau doua e-lemente admite cel putin un majorant (minorant). Evident, aceasta proprietate esteechivalenta cu a spune ca orice submultime finita si nevida admite cel putin un ma-jorant (minorant).

Orice mpo care are cel mai mare element (cel mai mic element) este dirijata(filtrata).

Am spus ın Sectiunea 3.1 ca functiile monotone pastreaza lanturile si submulti-mile dirijate si filtrate. Acest concept de pastrare a unei proprietati poate fi extins. Deexemplu, putem spune ca functia f : M → M ′ patreaza supremum submultimilornevide daca pentru orice submultime nevida B ⊆ A pentru care exista supM(B),

Page 77: Fltiplea Fai

Dualitate 71

exista si supM ′(f(B)) si are loc supM ′(f(B)) = f(supM(B)). In maniera similaraputem discuta despre functii ce pastreaza infimum etc.

Fie A o multime si PO(A) multimea tuturor ordinilor partiale pe A. Aceastamultime este nevida deoarece ιA ∈ PO(A), si poate fi structurata ca o mpo prinrelatia de incluziune pe relatii de ordine partiale

ρ ≤ θ ⇔ ρ ⊆ θ,

pentru orice ρ, θ ∈ PO(A).

Propozitia 3.2.1.1. Fie ρ o ordine partiala pe o multime A. ρ este totala daca sinumai daca este element maximal al multimii partial ordonate (PO(A);≤).

Demonstratie Fie ρ ∈ PO(A) o ordine totala. Presupunem prin contradictie caρ nu este element maximal ın (PO(A);≤). Atunci, exista θ ∈ PO(A) astfel ıncatρ < θ. Adica, ρ ⊂ θ si, deci, exista a, b ∈ A astfel ıncat a �= b si (a, b) ∈ θ − ρ.In plus, (b, a) �∈ ρ deoarece, altfel, am avea (a, b) ∈ θ si (b, a) ∈ θ de unde ar urmaa = b. Deci, ρ nu este ordine totala pe A; contradictie.

Reciproc, presupunem ca ρ este element maximal al multimii partial ordonate(PO(A);≤) dar nu este ordine totala. Ca urmare, exista a, b ∈ A astfel ıncat a �= b,(a, b) �∈ ρ si (b, a) �∈ ρ. Este usor de vazut ca exista o ordine partiala θ peA ce includeρ ∪ {(a, b)}. Dar atunci, θ extinde strict relatia ρ; contradictie cu maximalitatearelatiei ρ. �

Teorema 3.2.1.1. (Teorema de reprezentare a mpo)Orice mpo (A;≤) este izomorfa cu o mpo de forma (S;⊆S), unde S este un sistempeste A.

Demonstratie Fie (A;≤) o mpo. Pentru orice element a ∈ A consideram multimeaAa = {b ∈ A|b ≤ a} si fie S = {Aa|a ∈ A}. Cuplul (S;⊆S) este multime partialordonata. Definim f : A → S prin f(a) = Aa. Aceasta aplicatie este bijectie si areloc

(∀a, b ∈ A)(a ≤ b ⇔ Aa ⊆S Ab),

ceea ce ne arata ca f este izomorfism ıntre (A;≤) si (S;⊆S). �

3.2.2 Dualitate

Este usor de vazut ca daca ρ este relatie de ordine partiala pe o multime A, atunciρ−1 este de asemenea relatie de ordine partiala pe A.

Definitia 3.2.2.1. Fie M = (A;≤) o mpo. Multimea partial ordonata

M−1 = (A;≥)

este numita duala multimii partial ordonate M .

Page 78: Fltiplea Fai

72 Multimi partial ordonate

Este util de remarcat ca anumite concepte valide pentru mpo au o contrapartepentru duala. De exemplu, daca a este un majorant pentru submultimea B a mpo(A;≤), atunci a este minorant pentru B ın duala (A;≥). Urmatorul tabel prezintaconceptele duale ıntalnite pana acum (alte concepte duale vor fi ıntalnite pe parcursullucrarii).

Concept Concept dualmajorant minorantminorant majorant

multime marginita superior multime marginita inferiormultime marginita inferior multime marginita superior

cel mai mic majorant cel mai mare minorantcel mai mare minorant cel mai mic majorant

element maximal element minimalelement minimal element maximal

cel mai mare element cel mai mic elementcel mai mic element cel mai mare element

Daca toate conceptele ce apar ıntr-o afirmatie asupra unei mpo M sunt ınlocuiteprin conceptul dual corespunzator, atunci se obtine ceea ce se numeste afirmatiaduala afirmatiei date. Daca afirmatia initiala este valida ın M , atunci afirmatia dualava fi valida ın duala lui M . Acesta este asa numitul Principiu al dualitatii pentrumpo ın baza caruia multe din demonstratii pot fi reduse la jumatate.

3.2.3 Proprietati de baza ale supremum si infimum

Vom prezenta ın continuare cateva simple proprietati referitoare la cel mai mic ma-jorant al unei submultimi ıntr-o mpo, proprietati ce vor avea multiple aplicatii ınsectiunile urmatoare. Evident, toate acestea pot fi dualizate conducand astfel la pro-prietati similare pentru cel mai mare minorant.

Propozitia 3.2.3.1. Fie M = (A;≤) o mpo. Atunci, au loc urmatoarele proprietati:

(1) exista sup(∅) daca si numai daca M are cel mai mic element. In plus, dacaexista cel mai mic element atunci sup(∅) = ⊥M = inf(A);

(2) exista inf(∅) daca si numai daca M are cel mai mare element. In plus, dacaexista cel mai mare element atunci inf(∅) = !M = sup(A).

Demonstratie (1) Daca exista sup(∅) atunci multimea de majoranti ai multimiivide este nevida si sup(∅) este cel mai mic element al acesteia. Insa, observam camultimea de majoranti ai multimii vide este A (ın limbaj logic, faptul ca a ∈ A estemajorant al multimii vide se exprima prin

(∀x)(x ∈ ∅ ⇒ x ≤ a).

Page 79: Fltiplea Fai

Proprietati de baza ale supremum si infimum 73

Cum “x ∈ ∅” este falsa, deducem ca a este majorant pentru ∅). Ca urmare, existentasup(∅) conduce la existenta celui mai mic element al multimii A, deci a mpo M .

Reciproc, daca exista ⊥M atunci multimea de majoranti ai multimii vide estenevida deoarece contine ⊥M care, evident, este si sup(∅).

Este clar ca daca exista ⊥M atunci sup(∅) = ⊥M = inf(A).(2) se demonstreaza similar proprietatii de la (1). �

Atragem explicit atentia asupra faptului ca supremum multimii vide poate exis-ta doar daca multimea vida este considerata submultime a unei mpo nevide. Altfelspus, sup(∅) ın (∅; ∅) nu exista.

Urmatoarea propozitie se obtine cu usurinta de la definitii si Propozitia 3.2.3.1.

Propozitia 3.2.3.2. Fie M = (A;≤) o mpo. Atunci, urmatoarele afirmatii suntechivalente:

(1) pentru orice submultime B ⊆ A exista sup(B);

(2) exista ⊥M si pentru orice submultime nevida B ⊆ A exista sup(B);

(3) pentru orice submultime B ⊆ A exista inf(B);

(4) exista !M si pentru orice submultime nevida B ⊆ A exista inf(B);

(5) Pentru orice submultime B ⊆ A exista sup(B) si inf(B);

(6) exista ⊥M si !M , si pentru orice submultime nevida B ⊆ A exista sup(B) siinf(B).

Propozitia 3.2.3.3. Fie M = (A;≤) a mpo si B ⊆ A. Atunci, au loc urmatoareleproprietati:

(1) daca exista sup(B) atunci exista inf(B+), si reciproc. In plus, daca existasup(B), atunci sup(B) = inf(B+);

(2) daca exista inf(B), atunci B− = inf(B)−;

(3) daca exista sup(B), atunci (B+)− = sup(B)−

(s-a notat inf(B)− ın loc de {inf(B)}−, si sup(B)− ın loc de {sup(B)}−).

Demonstratie Vom demonstra doar (1). Sa presupunem ca exista sup(B). Acestaeste cel mai mic majorant al multimii B+ si, ca urmare, el coincide cu inf(B+). �

Evident, Propozitia 3.2.3.3 poate fi dualizata.Urmatoarea lema va avea aplicatii majore ın Sectiunea 5.1, dar este importanta si

ca rezultat de sine statator.

Lema 3.2.3.1. (minsup–majinf)Fie M = (A;≤) o mpo. Pentru orice submultime nevida B ⊆ A cu proprietateaB− �= ∅ are loc:

(∀C ⊆ B−)((∃ sup(C)) ⇒ sup(C) ∈ B−).

Page 80: Fltiplea Fai

74 Multimi partial ordonate

Demonstratie Fie C ⊆ B− astfel ıncat exista sup(C).Daca C = ∅ atunci sup(C) = ⊥M , ceea ce ne spune ca sup(C) ∈ B−. Sa

presupunem ca C este nevida. Orice element din B este majorant pentru C. Cumsup(C) este cel mai mic majorant al multimii C, el va fi mai mic decat orice elementdin B. Ca urmare, sup(C) ∈ B−. �

Interpretam aceasta foarte importanta lema prin aceea ca multimea minoranti-lor unei submultimi nevide este ınchisa la supremum (de aici provine prima parte,minsup, din denumirea lemei). Prin dualizare, obtinem ca multimea majorantilorunei submultimi nevide este ınchisa la infimum (de aici provine a doua parte, majinf,din denumirea lemei).

Propozitia 3.2.3.4. Fie M = (A;≤) o mpo si B = {aij ∈ A|i ∈ I, j ∈ J}, unde Isi J sunt multimi nevide. Daca au loc:

(1) exista bi = sup({aij|j ∈ J}), pentru orice i ∈ I;

(2) exista u = sup({bi|i ∈ I}),

atunci exista sup({aij|i ∈ I, j ∈ J}) si sup({aij|i ∈ I, j ∈ J}) = u.

Demonstratie Presupunem ca au loc (1) si (2). Atunci, este clar ca u este majorantal multimii {aij |i ∈ I, j ∈ J}.

Daca v este un alt majorant al acestei multimi atunci, pentru orice i, bi ≤ vdeoarece bi este cel mai mic majorant al multimii {aij |j ∈ J} (v fiind majorant alacestei multimi). Cum u este cel mai mic majorat al multimii {bi|i ∈ I}, urmeazau ≤ v. Deci, u = sup({aij|i ∈ I, j ∈ J}). �

Corolarul 3.2.3.1. Fie M = (A;≤) o mpo si B = {aij ∈ A|i ∈ I, j ∈ J}, unde Isi J sunt multimi nevide. Daca au loc:

(1) exista bi = sup({aij|j ∈ J}), pentru orice i ∈ I;

(2) exista u = sup({bi|i ∈ I});

(3) exista cj = sup({aij|i ∈ I}), pentru orice j ∈ J ;

(4) exista v = sup({cj|j ∈ J}),

atunci exista sup({aij|i ∈ I, j ∈ J}) si sup({aij|i ∈ I, j ∈ J}) = u = v.

Demonstratie Direct de la Propozitia 3.2.3.4. �

Deci, calculul supremului unei multimi dublu indexate se poate face calculandsupremum dupa unul din indexi, si apoi dupa celalalt (atunci cand acestia exista).

Corolarul 3.2.3.2. Fie M = (A;≤) o mpo si X, Y ⊆ A doua submultimi ale lui A.Daca exista sup(X), sup(Y ) si sup({sup(X), sup(Y )}), atunci exista si sup(X∪Y )si acesta este sup({sup(X), sup(Y )}).

Page 81: Fltiplea Fai

Proprietati de baza ale supremum si infimum 75

Demonstratie Evident, putem presupune ca atat X cat si Y sunt nevide. Corolarulpoate fi demonstrat direct, similar Propozitiei 3.2.3.4, dar poate fi obtinut si drept cazparticular al acesteia considerand

X = {a1j |j ∈ J}si

Y = {a2k|k ∈ K}cu J ⊆ K sau K ⊆ J . Mai mult, putem presupune ca are loc J = K. In adevar,daca am presupune ca K ⊂ J atunci, repetand un element din Y si indexandu-l cuindexi 2k cu k ∈ J − K, obtinem o noua multime Y ′ = {a2j |j ∈ J} pentru caresup(Y ′) = sup(Y ) si X ∪ Y = X ∪ Y ′. �

Definitia 3.2.3.1. Fie M = (A;≤) o mpo si B,C ⊆ A. Spunem ca C este cofinalaın B daca pentru orice b ∈ B exista c ∈ C astfel ıncat b ≤ c.

Orice submultime este cofinala ın ∅, dar ∅ nu este cofinala ın nici o submultimenevida.

Propozitia 3.2.3.5. Fie M = (A;≤) o mpo si B, C submultimi ale lui A astfel ıncatC este cofinala ın B. Daca exista sup(B) si sup(C), atunci sup(B) ≤ sup(C).

Demonstratie Deoarece C este cofinala ın B, sup(C) este majorant pentru B.Deci, sup(B) ≤ sup(C). �

Propozitia 3.2.3.6. Fie M = (A;≤) o mpo si B, C submultimi ale lui A astfel ıncatC este cofinala ın B si C ⊆ B. Daca exista unul din sup(B) sau sup(C) atunciexista si celalalt, si ele sunt egale.

Demonstratie Se observa ca B+ = C+, de la care urmeaza propozitia. �

Propozitia 3.2.3.7. Fie f : M → M ′ un morfism de mpo si B ⊆ A.

(1) Daca exista sup(B), atunci f(sup(B)) este majorant pentru f(B). Daca ınplus exista si sup(f(B)), atunci sup(f(B)) ≤′ f(sup(B)).

(2) Daca exista sup(B) si f este izomorfism, atunci exista si sup(hfB)) si are locsup(f(B)) = f(sup(B)).

Demonstratie (1) Presupunem ca exista sup(B). Pentru orice element a ∈ Bare loc a ≤ sup(B). Cum f este morfism, urmeaza f(a) ≤′ f(sup(B)). Ca urmare,f(sup(B)) este majorant pentru f(B).

Sa presupunem ca exista sup(f(B)). Cum acesta este cel mai mic majorant pen-tru f(B), are loc sup(f(B)) ≤′ f(sup(B)).

(2) Presupunem ca exista sup(B) si f este izomorfism. Conform punctului (1),f(sup(B)) este majorant pentru f(B). Daca ar exista un alt majorant a′ pentru f(B)care sa satisfaca a′ <′ f(sup(B)), atunci am obtine ca f−1(a′) este majorant pentruf−1(f(B)) = B si f−1(a′) < f−1(f(sup(B))) = sup(B), ceea ce ar contrazicefaptul ca sup(B) este cel mai mic majorant pentru B (s-a folosit faptul ca f estebijectie si f−1 este morfism strict).

Deci, f(sup(B)) este cel mai mic majorant pentru f(B), ceea ce ınseamna ca areloc sup(f(B)) = f(sup(B)). �

Page 82: Fltiplea Fai

76 Multimi partial ordonate

Corolarul 3.2.3.3. Fie f : M → M ′ un morfism de mpo.

(1) Daca exista ⊥M si ⊥M ′ , atunci ⊥M ′ ≤′ f(⊥M ).

(2) Daca exista ⊥M si f este izomorfism, atunci exista si ⊥M ′ si ⊥M ′ = f(⊥M).

Demonstratie Atat (1) cat si (2) pot fi demonstrate direct sau utilizand Propozitia3.2.3.7 cu B = {⊥M}. �

Putem spune deci ca izomorfismele pastreaza supremum submultimilor atuncicand acesta exista. In particular, izomorfismele pastreaza cel mai mic element atuncicand acesta exista.

3.2.4 Constructii de mpo

Aratam ın continuare cum putem construi noi multimi partial ordonate pornind de lamultimi partial ordonate date. Vom spune ca o familie de mpo (indexata sau nu) estefamilie disjuncta de mpo daca multimile suport sunt disjuncte doua cate doua.

Mpo plate. Fie A o multime. Consideram un nou element, notat ⊥A sau ⊥ atuncicand A este subınteleasa din context (⊥A �∈ A), si fie A⊥ = A ∪ {⊥A}.Definitia 3.2.4.1. Fie A o multime. Multimea partial ordonata plata indusa de Aeste multimea partial ordonata (A⊥;≤), unde ≤ este data prin:

(∀x, y ∈ A⊥)(x ≤ y ⇔ x = y ∨ (x =⊥A ∧ y ∈ A)).

Se verifica cu usurinta ca, ın adevar, (A⊥;≤) este mpo. Elementul ⊥A este celmai mic element al multimii partial ordonate (A⊥;≤), si orice element a ∈ A esteelement maximal. (A⊥;≤) are cel mai mare element daca si numai daca |A| ≤ 1.

Aceasta constructie este importanta ın special atunci cand A are cel putin 2 ele-mente. Prin intermediul ei se introduce un cel mai mic element, elementele multimiiA fiind tratate egal.

Daca ⊥ este un element arbitrar, atunci vom nota prin ⊥⊥ multimea partial ordo-nata ⊥⊥ = ({⊥}; {(⊥,⊥)}).

Pe mpo plate proprietatea de monotonie admite caracterizari foarte simple.

Propozitia 3.2.4.1. Fie f : A⊥ → B⊥. Atunci, f este monotona daca si numai dacaf(⊥A) = ⊥B sau exista c ∈ B⊥ astfel ıncat f(a) = c pentru orice a ∈ A⊥.

Demonstratie Urmeaza direct de la definitia ordinii partiale pe mpo plate. �

Intersectie de mpo. Intersectia unei familii ((Ai;≤i)|i ∈ I) de mpo, notata prin⋂i∈I(Ai;≤i), este definita ca fiind⋂

i∈I

(Ai;≤i) = (⋂i∈I

Ai;⋂i∈I

≤i).

Este cat se poate de clar ca intersectie de mpo este mpo. De asemenea, este usor deverificat ca intersectia unei familii de sub-mpo ale unei mpo M este sub-mpo a mpoM .

Intersectia mpo din Figura 3.3(a)(b) este reprezentata grafic ın Figura 3.3(c).

Page 83: Fltiplea Fai

Constructii de mpo 77

d

a

b

c

b

e

d b d

a) b) c)

Figura 3.3: Intersectie de mpo

Reuniune de mpo. Reuniunea unei familii ((Ai;≤i)|i ∈ I) de mpo, notata prin⋃i∈I(Ai;≤i), este definita ca fiind⋃

i∈I

(Ai;≤i) = (⋃i∈I

Ai;⋃i∈I

≤i).

Spre deosebire de intersectie, reuniunea unei familii de mpo poate sa nu mai fie mpo.Daca ınsa familia este disjuncta, atunci si reuniunea este mpo.

Reuniunea mpo din Figura 3.3(a)(b) este reprezentata grafic ın Figura 3.4.

d

a

b

c

e

Figura 3.4: Reuniune de mpo

Este clar ca reuniunea de mpo, atunci cand este definita, este asociativa.

Sume de mpo. Introducerea conceptului de suma de mpo necesita, ın prealabil,demonstrarea urmatorului rezultat.

Propozitia 3.2.4.2. Fie I = (I;≤) o mto si ((Ai;≤i)|i ∈ I) o familie disjuncta dempo. Atunci, relatia binara ≤′ pe

⋃i∈I Ai data prin

x ≤′ y ⇔ (∃i, j ∈ I)(x ∈ Ai ∧ y ∈ Aj ∧ (ori i < j ori (i = j ∧ x ≤i y)))

este relatie de ordine partiala.

Demonstratie Vom verifica reflexivitatea, antisimetria si tranzitivitatea relatiei ≤′.Fie x ∈

⋃i∈I Ai. Deoarece multimile acestei familii sunt disjuncte urmeaza ca exista

un unic i ∈ I astfel ıncat x ∈ Ai. Reflexivitatea relatiei ≤i conduce la x ≤′ x, adica≤′ este reflexiva.

Consideram x, y ∈⋃

i∈I Ai astfel ıncat x ≤′ y si y ≤′ x. Utilizand iarasi faptulca multimile acestei familii sunt disjuncte obtinem ca exista doua unice elementei, j ∈ I astfel ıncat x ∈ Ai si y ∈ Aj. Cuplul (I;≤) este multime total ordonata si,deci, are loc doar unul din urmatoarele cazuri: i < j, i = j sau i > j. Cazul i < jeste imposibil deoarece y ≤′ x si similar, cazul i > j. Urmeaza atunci ca i = j si, pebaza antisimetriei relatiei ≤i obtinem x = y. Deci, ≤′ este antisimetrica.

Tranzitivitatea relatiei ≤′ se stabileste ın mod similar. �

Aceasta propozitie asigura consistenta conceptului de suma ordonata de mpo.

Page 84: Fltiplea Fai

78 Multimi partial ordonate

Definitia 3.2.4.2. Fie I = (I;≤) o mto si ((Ai;≤i)|i ∈ I) o familie disjuncta dempo. Suma ordonata a acestei familii, notata

∑oi∈I(Ai;≤i) sau ⊕i∈I(Ai;≤i), este

definita ca fiind multimea partial ordonata∑i∈I

o(Ai;≤i) = (

⋃i∈I

Ai;≤′),

unde ≤′ este relatia de ordine partiala din Propozitia 3.2.4.2.

Suma ordonata a doua mpo disjuncte (A1;≤1) si (A2;≤2), considerate ın aceastaordine, va mai fi notata prin

(A1;≤1)⊕ (A2;≤2),

notatie care se extinde ın mod natural la un numar finit arbitrar de mpo disjuncte.Daca A este o multime, atunci putem scrie

(A⊥;≤) = ⊥⊥⊕ (A; ιA) = ⊥⊥⊕ (⋃a∈A

({a}; ι{a})).

Constatam ca operatorul de suma ordonata este asociativ.Suma ordonata a mpo din Figura 3.5(a)(b) este reprezentata grafic ın Figura

3.5(c).

d

a

b

c e f

a) b)

d

a

b

c e f

c)

Figura 3.5: Suma de mpo

Produse de mpo. Fie n ≥ 1 un numar natural si (Ai;≤i) mpo, 1 ≤ i ≤ n. Pro-dusul cartezian A1 × · · · × An poate fi organizat ca mpo considerand relatia binara≤ data prin

(a1, . . . , an) ≤ (b1, . . . , bn) ⇔ (∀1 ≤ i ≤ n)(ai ≤i bi),

pentru orice (a1, . . . , an), (b1, . . . , bn) ∈ A1 × · · · × An.Este trivial de aratat ca aceasta relatie binara este ordine partiala pe multimea

A1 × · · · × An. Ca urmare, (A1 × · · · × An;≤) este mpo. Vom nota aceasta mpoprin ×n

i=1(Ai;≤ i) sau (A1;≤1)× · · · × (An;≤n) si o vom numi produsul cartezianal mpo (A1;≤1), . . . , (An;≤n).

In Figura 3.6(c) este reprezentat grafic produsul cartezian al mpo din Figura3.6(a)(b).

Propozitia 3.2.4.3. Fie f : An⊥ → B⊥, unde n ≥ 1. Daca f este monotona atunci

f(⊥A, . . . ,⊥A) = ⊥B sau exista c ∈ B⊥ astfel ıncat f(a) = c pentru orice a ∈ An⊥.

Page 85: Fltiplea Fai

Constructii de mpo 79

a

b

c

a)

a d

b) c)

(a,a)

(b,a)

(c,a)

(a,d)

(b,d)

(c,d)

Figura 3.6: Produs cartezian de mpo

Demonstratie Daca f(⊥A, . . . ,⊥A) = c si c �= ⊥B , atunci se arata cu usurinta(utilizand ordinea partiala pe mpo plate) ca f(a) = c pentru orice a ∈ An

⊥. �

Reciproca Propozitiei 3.2.4.3 nu este ın general adevarata daca n ≥ 2. De exem-plu, functia f : R2

⊥ → R⊥ data prin

f(x, y) =

⎧⎨⎩

x/y, daca x, y ∈ R si y �= 00, daca x ∈ R si y = ⊥⊥, altfel,

unde x/y este ımpartirea uzuala pe R, satisface f(⊥,⊥) = ⊥ dar f nu este monotonadeoarece f(1,⊥) = 0 �≤ 1 = f(1, 1).

Propozitia 3.2.4.3 ne spune ca o functie ne-constanta f : An⊥ → B⊥ trebuie sa

satisfaca ın mod necesar f(⊥A, . . . ,⊥A) = ⊥B pentru a putea fi monotona. Evident,aceasta nu este suficient.

Definitia 3.2.4.3. O functie f : An⊥ → B⊥, unde A si B sunt doua multimi arbitrare

si n ≥ 1, este numita extinsa natural daca f(a1, . . . , an) = ⊥ ori de cate ori exista1 ≤ i ≤ n astfel ıncat ai = ⊥A, pentru orice (a1, . . . , an) ∈ An.

Propozitia 3.2.4.4. Orice functie extinsa natural este monotona.

Demonstratie Urmeaza direct de la definitia ordinii partiale pe mpo plate. �

Oricarei functii f : An → B, unde A si B sunt doua multimi arbitrare si n ≥ 1, ise poate asocia ın mod unic o extensie naturala f ′ : An

⊥ → B⊥ data prin

f ′(a1, . . . , an) =

{f(a1, . . . , an), daca (∀1 ≤ i ≤ n)(ai �= ⊥A)⊥B, altfel

pentru orice (a1, . . . , an) ∈ An.

Exemplul 3.2.4.1.

(1) Functia f : R2⊥ → R⊥ data prin

f(x, y) =

{x/y, daca (x, y ∈ R ∧ y �= 0)⊥R, altfel,

este extinsa natural si, deci, este monotona.

Page 86: Fltiplea Fai

80 Multimi partial ordonate

(2) Predicatul de egalitate =: A2 → {0, 1} poate fi extins la A⊥ astfel:

1. natural, ceea ce va conduce la faptul ca aceasta extensie este functiemonotona. Uzual, extensia naturala a acestui predicat se noteaza tot prin= sau prin =w si se mai numeste predicatul de egalitate slaba;

2. =s: A2⊥ → {0, 1}⊥ prin

=s (a, b)def=

{1, daca ((a, b ∈ A ∧ a = b) ∨ (a = b = ⊥A))0, altfel,

pentru orice a, b ∈ A⊥. =s se mai numeste si predicatul de egalitate tare.

Este usor de vazut ca =s nu este o functie monotona deoarece

=s (⊥, a) �≤ =s (a, a),

pentru orice a ∈ A (presupunand ca A este nevida).

(3) Fie functia if then else : {0, 1} ×A×A→ A data prin

if then else(b, x, y) =

{x, daca b = 1y, daca b = 0,

pentru orice (b, x, y) ∈ {0, 1}×A×A. Uzual, if then else(b, x, y) se noteazaprin if b then x else y.

Extensia acestei functii la {0, 1}⊥ × A⊥ × A⊥, notata tot prin if then else sidata prin

if then else(b, x, y) =

⎧⎨⎩

x, daca b = 1y, daca b = 0⊥A, daca b = ⊥{0,1}

este functie monotona chiar daca nu este extensie naturala. Aceasta se poatearata cu usurinta luand ın discutie cele 3 cazuri posibile pentru b.

Produsul cartezian al unei familii finite de multimi este generalizat prin inter-mediul produsului direct la familii arbitrare de multimi. Aceasi generalizare sepoate aplica si pentru mpo. Inainte ınsa de a defini produsul direct al unei familii((Ai;≤i)|i ∈ I) de mpo reamintim ca produsul direct al familiei (Ai|i ∈ I) estemultimea tuturor aplicatiilor f de la I la

⋃i∈I Ai cu proprietatea f(i) ∈ Ai pentru

orice i ∈ I . Urmatoarea propozitie, a carei demonstratie este imediata, va asiguraconsistenta notiunii de produs direct de mpo.

Propozitia 3.2.4.5. Fie ((Ai;≤i)|i ∈ I) o familie de mpo. Atunci, relatia binara ≤′

pe∏

i∈I Ai data prin

f ≤′ g ⇔ (∀i ∈ I)(f(i) ≤i g(i)),

este relatie de ordine partiala.

Page 87: Fltiplea Fai

Latici 81

Definitia 3.2.4.4. Fie ((Ai;≤i)|i ∈ I) o familie de multimi partial ordonate. Pro-dusul direct al familiei ((Ai;≤i)|i ∈ I), notat

∏oi∈I(Ai;≤i) sau ⊗i∈I(Ai;≤i), este

definit ca fiind multimea partial ordonata∏i∈I

o(Ai;≤i) = (

∏i∈I

Ai;≤′),

unde ≤′ este relatia de ordine partiala din Propozitia 3.2.4.5.

Cazul familiilor nedisjuncte. Asa cum observam, proprietatea de disjunctivitatea familiei ((Ai;≤i)|i ∈ I) este esentiala ın definitia reuniunii si a sumei ordonate. Incazul ın care aceasta proprietate nu este asigurata se poate recurge la diverse varianteprin care sa se poata introduce conceptul de reuniune si suma ordonata de mpo. Unadin variantele des ıntalnite este de a considera Ai × {i}, pentru orice i ∈ I , si dea defini reuniunea sau produsul avand ın vedere aceste multimi. Astfel, definimreuniunea disjuncta a familiei ((Ai;≤i)|i ∈ I), notata

⊎i∈I(Ai;≤i), prin

⊎i∈I

(Ai;≤i) = (A;≤′),

unde A =⋃

i∈I(Ai × {i}) iar relatia ≤′ este definita prin

x ≤′ y ⇔ (∃i ∈ I)(x = (a, i) ∧ y = (b, i) ∧ a ≤i b),

pentru orice x, y ∈ A (si ın acest caz se arata cu usurinta ca ≤′ este ordine partialape

⋃i∈I(Ai × {i})).

In maniera similara cititorul poate defini suma ordonata disjuncta, notata prin∑odi∈I(Ai;≤i).

3.3 Latici

Structurile laticeale, ce ısi au originea ın studiile lui George Boole asupra logicii[13], sunt cazuri particulare de multimi partial ordonate ce apar ın cele mai variatedomenii: matematica, fizica, informatica, biologie, geologie etc. Cunoasterea pro-prietatilor de baza ale acestora este nu numai benefica dar si necesara.

3.3.1 Laticea ca multime partial ordonata

Laticile pot fi introduse ın doua moduri (echivalente): ca multimi partial ordonatesau ca algebre. In aceasta sectiune vom discuta prima varianta.

Definitia 3.3.1.1. Fie M = (A;≤) o mpo.

(1) M este numita inf-semilatice daca pentru orice doua elemente a, b ∈ A existainf({a, b}).

Page 88: Fltiplea Fai

82 Latici

(2) M este numita sup-semilatice daca pentru orice doua elemente a, b ∈ A existasup({a, b}).

(3) M este numita latice daca este atat inf-semilatice cat si sup-semilatice.

Observam ca perechea (∅; ∅) este atat inf-semilatice cat si sup-semilatice si latice.Ea va fi numita laticea vida. De asemenea, observam ca sup-semilaticile nevide suntmpo dirijate, iar inf-semilaticile nevide sunt mpo filtrate.

Exemplul 3.3.1.1.

(1) Orice lant este latice.

(2) Daca A este o multime arbitrara, atunci (P(A);⊆) este latice.

(3) Orice familie de multimi ce este ınchisa la reuniune si intersectie este latice (ınraport cu incluziunea).

Pentru latici se utilizeaza ın mod uzual reprezentarea grafica prin diagrame Hasse.

Propozitia 3.3.1.1. Fie M = (A;≤) o mpo. M este inf-semilatice daca si numaidaca pentru orice submultime finita si nevida B ⊆ A exista inf(B).

Demonstratie Este clar ca daca pentru orice submultime finita si nevida B ⊆ Aexista inf(B) atunci M este inf-semilatice.

Reciproca se obtine prin aplicarea repetata a Corolarului 3.2.3.2. �

Propozitia 3.3.1.1 poate fi dualizata pentru cazul sup-semilaticilor si, ımpreunaconduc la faptul ca o mpo M este latice daca si numai daca pentru orice submultimefinita si nevida B ⊆ A exista inf(B) si sup(B).

O generalizare naturala a conceptului de latice, prin prisma Propozitiei 3.3.1.1,este urmatoarea.

Definitia 3.3.1.2. Fie M = (A,≤) o mpo.

(1) M este numita inf-semilatice completa daca pentru orice submultime nevidaB ⊆ A exista infimum.

(2) M este numita sup-semilatice completa daca pentru orice submultime nevidaB ⊆ A exista supremum.

(3) M este numita latice completa daca pentru orice submultime nevida B ⊆ Aexista infimum si supremum.

Si ın acest caz observam ca structura (∅; ∅) este atat inf-semilatice completa catsi sup-semilatice completa si latice completa.

Page 89: Fltiplea Fai

Laticea ca multime partial ordonata 83

Observatia 3.3.1.1. Fie M = (A;≤) o mpo nevida. Daca M este inf-semilaticecompleta atunci ea are cel mai mic element, daca M este sup-semilatice completaatunci ea are cel mai mare element, iar daca M este latice completa atunci ea are atatcel mai mic cat si cel mai mare element. In mod uzual, in cadrul laticilor, cel maimic element se mai noteaza prin 0 (atunci cand exista), iar cel mai mare element semai noteaza prin 1 (atunci cand exista).

Urmatoarea proprietate urmeaza direct de la definitii si Propozitia 3.3.1.1.

Propozitia 3.3.1.2. Orice inf-semilatice (sup-semilatice, latice) finita este inf-semi-latice (sup-semilatice, latice) completa.

Utilizand echivalentele din Propozitia 3.2.3.2, demonstratia urmatoarei teoremeeste imediata.

Teorema 3.3.1.1. Fie M = (A;≤) o mpo nevida. Atunci, urmatoarele afirmatii suntechivalente:

(1) M este latice completa;

(2) Pentru orice submultime B ⊆ A exista inf(B);

(3) M este inf-semilatice completa ce are cel mai mare element.

Evident, Teorema 3.3.1.1 poate fi dualizata ınlocuind “inf” cu “sup” si “cel maimare element” cu “cel mai mic element”.

Exemplul 3.3.1.2. (Laticea completa a submultimilor unei multimi)Fie A o multime si S ⊆ P(A) un sistem peste A astfel ıncat A ∈ S si S este ınchisla intersectii de familii nevide cu elemente din S. In baza Teoremei 3.3.1.1, (S;⊆)este latice completa. In particular, (P(A);⊆) este latice completa, numita laticea(completa a) submultimilor multimii A.

Exemplul 3.3.1.3. (Laticea completa a relatiilor de echivalenta)Multimea relatiilor de echivalenta E(A) peste o multime A, cu incluziunea, formea-za latice completa. In adevar, fie (ρi|i ∈ I) o familie nevida de relatii de echivalentape A. Este trivial de verificat ca

⋂i∈I ρi este relatie de echivalenta pe A. In plus, ea

este inf(ρi|i ∈ I).Cum A2 este cea mai mare relatie de echivalenta pe A, ın baza Teoremei 3.3.1.1,

(E(A),⊆) este latice completa.Evident, este interesant de stiut cine este sup(ρi|i ∈ I). Putem raspunde foarte

simplu prin: sup(ρi|i ∈ I) este ınchiderea la echivalenta a relatiei⋃

i∈I ρi. Dacaapelam la modul de constructie a ınchiderii, obtinem relatia θ data prin

x θ y ⇔ (∃x0, . . . , xn)(x0 = x ∧ y = xn ∧ (∀1 ≤ j ≤ n)(∃ij ∈ I)(xj−1 ρij xj)),

pentru orice x, y ∈ A, care este sup(ρi|i ∈ I).

Diagrama din Figura 3.7 prezinta schematic relatia dintre inf-semilatici complete,sup-semilatici complete si latici complete.

Page 90: Fltiplea Fai

84 Latici

inf-semilatici completenevide f\r\ ┬

inf-semilatici complete

sup-semilatici completenevide f\r\ ┴

laticea vid\

sup-semilatici complete

latici complete nevide

Figura 3.7: Inf-semilatici complete, sup-semilatici complete si latici complete

3.3.2 Laticea ca structura algebrica

Fie M = (A;≤) o latice. Definitia laticii cat si faptul ca supremum este unic asiguraconsistenta definitiei unei operatii binare pe A, notata ∨ 3 si data prin

∨(a, b) = sup({a, b}),

pentru orice a, b ∈ A. In mod similar putem defini operatia binara ∧ data prin

∧(a, b) = inf({a, b}),

pentru orice a, b ∈ A. Este usor de vazut ca aceste doua operatii satisfac urmatoareleproprietati:

• a ∨ b = b ∨ a si a ∧ b = b ∧ a (comutatitivate)

• a ∨ (b ∨ c) = (a ∨ b) ∨ c si a ∧ (b ∧ c) = (a ∧ b) ∧ c (asociativitate)

• a ∧ (a ∨ b) = a si a ∨ (a ∧ b) = a (absorbtie)

pentru orice a, b ∈ A. In plus,

• a ≤ b ⇔ a ∨ b = b ⇔ a ∧ b = a,

pentru orice a, b ∈ A.Proprietatea de absorbtie conduce la idempotenta operatiilor ∨ si ∧. In adevar,

a ∨ a = a ∨ (a ∧ (a ∨ a)) = a,

pentru orice a (prima egalitate se obtine ınlocuind al doilea a din membrul stang alegalitatii prin a ∧ (a ∨ a), iar a doua egalitate se obtine aplicand absorbtia ın formaa ∨ (a ∧ b) = a). In mod similar se arata ca are loc a ∧ a = a.

Este demn de remarcat ca pentru orice triplet (A;∨,∧), unde A este o multimeiar ∨ si ∧ sunt doua operatii binare pe A ce satisfac proprietatile de comutativitate,asociativitate si absorbtie (ca mai sus), relatia binara ≤ data prin

a ≤ b ⇔ a ∨ b = b,

pentru orice a, b ∈ A, structureaza A ca o latice. Teorema de mai jos ne arata aceasta.

3Aceasta notatie nu trebuie confundata cu notatia pentru supremum introdusa ın Sectiunea 3.2. Defapt, am evitat sa utilizam acea notatie pana acum ıntocmai pentru a nu crea confuzii. Aceasta remarcava fi valabila si pentru notatia ∧ ce urmeaza a fi introdusa ca notatie de operatie binara.

Page 91: Fltiplea Fai

Laticea ca structura algebrica 85

Teorema 3.3.2.1.

(1) Fie M = (A;≤) o latice. Atunci, structura Ma = (A;∨,∧), unde ∨ si ∧ suntoperatiile binare pe A date prin

∨(a, b) = sup({a, b}) si ∧ (a, b) = inf({a, b}),

pentru orice a, b ∈ A, verifica proprietatile de comutativitate, asociativitate siabsorbtie. In plus,

a ≤ b ⇔ a ∨ b = b ⇔ a ∧ b = a,

pentru orice a, b ∈ A.

(2) Fie M = (A;∨,∧) o structura formata dintr-o multime A si doua operatiibinare pe A ce verifica proprietatile de comutativitate, asociativitate si absorb-tie. Atunci, cuplul M o = (A;≤), unde ≤ este relatia binara data prin

a ≤ b ⇔ a ∨ b = b,

pentru orice a, b ∈ A, este latice. In plus, sup({a, b}) = a∨ b si inf({a, b}) =a ∧ b, pentru orice a, b ∈ A.

(3) Fie M = (A;≤) o latice. Atunci, (Ma)o = M .

(4) Fie M = (A;∨,∧) o structura ca la (2). Atunci, (Mo)a = M .

Demonstratie Lasam (1), (3) si (4) ın seama cititorului si ne vom ocupa de (2).Reflexivitatea relatiei binara≤ decurge imediat de la proprietatea de idempotenta

a operatiei ∨ (proprietate indusa de absorbtie). In adevar, relatia a ∨ a = a ne spuneca a ≤ a, pentru orice a.

Fie a, b ∈ A astfel ıncat a ≤ b si b ≤ a. Atunci, a = a ∨ b si b = b ∨ a, iarcomutativitatea conduce la

a = a ∨ b = b ∨ a = b,

care stabileste antisimetria relatiei ≤.Fie a, b, c ∈ A astfel ıncat a ≤ b si b ≤ c. Atunci, a = a ∨ b si b = b ∨ c, iar

asociativitate conduce la

a ∨ c = a ∨ (b ∨ c) = (a ∨ b) ∨ c = b ∨ c = c,

care ne arata ca ≤ este tranzitiva.Ca urmare, ≤ este ordine partiala pe A.Fie a, b ∈ A. Vom arata ca exista sup({a, b}) si inf({a, b}). Fie c = a∨ b (acest

element exista deoarece ∨ este operatie binara pe A, deci definita pentru orice douaelemente din A). Aratam ca c este majorant pentru {a, b}. In adevar,

a ∨ c = a ∨ (a ∨ b) = (a ∨ a) ∨ b = a ∨ b = c,

Page 92: Fltiplea Fai

86 Latici

ceea ce ne arata ca are loc a ≤ c. In mod similar obtinem b ≤ c, ceea ce conduce lafaptul ca c este majorant pentru {a, b}.

Daca d este un alt majorant pentru {a, b}, atunci d = a ∨ d, d = b ∨ d si

d = a ∨ d = a ∨ (b ∨ d) = (a ∨ b) ∨ d = c ∨ d,

care ne arata ca c ≤ d. Deci, c = sup({a, b}). In mod similar se obtine inf({a, b}) =a ∧ b. �

Ca urmare, o latice poate fi vazuta atat ca multime partial ordonata cat si castructura algebrica. In plus, atunci cand lucram cu latici putem folosi ∨ (∧) atatpentru a specifica supremum (infimum) cat si ca operatie binara.

Privind laticea ca algebra universala putem recurge la specificari ale acesteia prinintermediul diagramelor operatiilor ∨ si ∧. Cum aceste operatii sunt comutative siidempotente, tabelele lor pot fi reduse la jumatate, renuntand si la diagonala. Caurmare, ambele tabele pot fi cumulare ın unul singur (fara diagonala). De exemplu,tabelul

∨ ∧ 0 a b 10 0 0 0a a 0 ab b 1 b1 1 1 1

specifica laticea ale carei operatii sunt date prin x ∨ x = x = x ∧ x, pentru orice x,0 ∨ a = a, 0 ∧ a = 0 etc.

Vom prezenta ın continuare o serie de proprietati simple ce au loc ın latici.

Propozitia 3.3.2.1. Fie M = (A;≤) o latice si a, bi ∈ A pentru orice 1 ≤ i ≤ n cun ≥ 1 numar natural. Daca a ≤ bi pentru orice i, atunci a ≤

∧ni=1 bi. Similar, daca

bi ≤ a pentru orice i, atunci∨n

i=1 bi ≤ a.

Demonstratie Daca a ≤ bi atunci a este minorant al lui bi, pentru orice i. Caurmare, a ≤

∧ni=1 bi deoarece

∧ni=1 bi este cel mai mare minorant al multimii {bi|1 ≤

i ≤ n}. Similar pentru cealalta proprietate (sau prin dualizare). �

Propozitia 3.3.2.2. (Proprietati de idempotenta)Fie M = (A;≤) o latice. Atunci, pentru orice a ∈ A si n ≥ 1 numar natural au locproprietatile de idenpotenta

∨ni=1 a = a si

∧ni=1 a = a.

Demonstratie Pentru n = 2 proprietatea a fost deja demonstrata. Cazul general sepoate obtine cu usurinta prin inductie matematica. �

Propozitia 3.3.2.3. Fie M = (A;≤) o latice si ai, bi ∈ A pentru orice 1 ≤ i ≤ ncu n ≥ 1 numar natural. Daca ai ≤ bi pentru orice i, atunci

∨ni=1 ai ≤

∨ni=1 bi si∧n

i=1 ai ≤∧n

i=1 bi.

Page 93: Fltiplea Fai

Laticea ca structura algebrica 87

Demonstratie Vom demonstra propozitia pentru n = 2.Inegalitatea a1 ≤ b1 conduce la a1∨ b1 = b1, iar a2 ≤ b2 conduce la a2 ∨ b2 = b2.

Atunci,(a1 ∨ a2) ∨ (b1 ∨ b2) = (a1 ∨ b1) ∨ (a2 ∨ b2) = b1 ∨ b2,

care ne arata ca a1 ∨ a2 ≤ b1 ∨ b2 (s-a utilizat asociativitatea operatorului ∨).Cea de a doua inegalitate din enuntul propozitiei se obtine ın mod similar uti-

lizand a1 ∧ b1 = a1 si a2 ∧ b2 = a2. �

Propozitia 3.3.2.4. (Proprietatea min-max)Fie M = (A;≤) o latice, si aij ∈ A pentru orice 1 ≤ i ≤ m si 1 ≤ j ≤ n, undem,n ≥ 1. Atunci, are loc:

n∨j=1

(

m∧i=1

aij) ≤m∧

i=1

(

n∨j=1

aij).

Demonstratie Vom demonstra proprietatea, ca exemplu, pentru m = 2 si n = 3(cazul general fiind similar acestuia). Avem de aratat ca are loc

(a11 ∧ a21) ∨ (a12 ∧ a22) ∨ (a13 ∧ a23) ≤ (a11 ∨ a12 ∨ a13) ∧ (a21 ∨ a22 ∨ a23),

ceea ce poate fi redus la a arata ca are loc

(a11 ∧ a21) ∨ (a12 ∧ a22) ∨ (a13 ∧ a23) ≤ a11 ∨ a12 ∨ a13

si(a11 ∧ a21) ∨ (a12 ∧ a22) ∨ (a13 ∧ a23) ≤ a21 ∨ a22 ∨ a23

(conform Propozitiei 3.3.2.1). Prima inegalitate este indusa de a11 ∧ a21 ≤ a11,a12 ∧ a22 ≤ a12 si a13 ∧ a23 ≤ a13 prin aplicarea Propozitiei 3.3.2.3.

In mod similar se obtine si cea de a doua inegalitate. �

Daca gandim elementele aij din Propozitia 3.3.2.4 ca fiind distribuite ıntr-o ma-trice (cu notatia uzuala), atunci proprietatea min-max ne spune ca supremum in-fimurilor calculate pe coloane este mai mic cel mult egal cu infimum supremurilorcalculate pe linii.

Corolarul 3.3.2.1. (Inegalitati de distributivitate)In orice latice M = (A;≤) au loc proprietatile

a ∨ (b ∧ c) ≤ (a ∨ b) ∧ (a ∨ c)

sia ∧ (b ∨ c) ≥ (a ∧ b) ∨ (a ∧ c),

pentru orice a, b, c ∈ A.

Page 94: Fltiplea Fai

88 Sisteme relationale si algebre universale

Demonstratie Este suficient de demonstrat doar una din aceste proprietati deoarececealalta se obtine prin dualizare. Ca urmare vom demonstra prima proprietate, carede fapt decurge imediat din Propozitia 3.3.2.4 considerand m = n = 2, a11 = a21 =a, a12 = b si a22 = c. �

Intr-o latice, elementul (a∧ b)∨ (b∧c)∨ (c∧a) se numeste mediana elementelora, b si c. El satisface urmatoarea proprietate:

Corolarul 3.3.2.2. (Proprietatea mediana)In orice latice M = (A;≤) are loc proprietatea

(a ∧ b) ∨ (b ∧ c) ∨ (c ∧ a) ≤ (a ∨ b) ∧ (b ∨ c) ∧ (c ∨ a),

pentru orice a, b, c ∈ A.

Demonstratie Direct de la Propozitia 3.3.2.4 alegand m = n = 3, a11 = a13 =a31 = a, a12 = a21 = a22 = b si a23 = a32 = a33 = c. �

Corolarul 3.3.2.3. (Inegalitati modulare)In orice latice M = (A;≤) au loc proprietatile

a ≤ c ⇒ a ∨ (b ∧ c) ≤ (a ∨ b) ∧ c

si

a ≥ c ⇒ a ∧ (b ∨ c) ≥ (a ∧ b) ∨ c,

pentru orice a, b, c ∈ A.

Demonstratie Vom demonstra doar prima proprietate. Presupunand a ≤ c obtinema ∨ c = c si

a ∨ (b ∧ c) ≤ (a ∨ b) ∧ (a ∨ c)= (a ∨ b) ∧ c

(inegalitatea urmeaza de la Corolarul 3.3.2.1). �

3.4 Algebre universale dintr-un punct de vedere ele-mentar

Scopul acestei sectiuni este de a face o simpla dar unitara introducere ın teoria struc-turilor algebrice, cum ar fi semigrupurile, monoizii, grupurile etc. Caracterul unitarva consta ın aceea ca vom introduce conceptul de algebra universala ca un cuplu for-mat dintr-o multime si un numar arbitrar de operatii definite pe acea multime, dupacare vom discuta conceptele de subalgebra, homomorfism, congruenta etc. Toateacestea pot fi apoi translatate cu mare usurinta la semigrupuri, monoizi, grupuri etc.

Page 95: Fltiplea Fai

Algebre 89

3.4.1 Algebre

Definitia 3.4.1. Se numeste algebra universala orice cuplu (A,F ) format dintr-omultime nevida A si o multime nevida F de operatii pe A, fiecare operatie avandasociata o anumita aritate (ce poate fi si 0).

Terminologia de “algebra universala” va fi simplificata frecvent la cea de “al-gebra”.

Fie (A,F ) o algebra. Multimea A este numita multimea suport sau suportulalgebrei. Daca suportul este finit atunci vom spune ca algebra este finita, iar dacacontine doar un element, atunci vom spune ca algebra este triviala. Atunci cand Feste finita, de exemplu F = {f1, . . . , fk}, vom mai nota algebra prin (A, f1, . . . , fk).Intr-un astfel de caz, ni va desemna aritatea operatiei fi, pentru orice 1 ≤ i ≤ k.Operatiile 0-are vor fi numite constantele algebrei.

Exemplul 3.4.1. Anticipam cateva din structurile algebrice de baza ce pot fi prezen-tate ın termeni de algebra universala. Probabil ca cititorul s-a ıntalnit deja cu acesteconcepte; ele vor fi studiate ın detaliu ın capitolele urmatoare.

(1) Un semigrup este o algebra (A, ·) cu o singura operatie binara si asociativa ·.

(2) Un monoid este o algebra (A, ·, e), unde · este o operatie binara asociativa peA, iar e este o operatie nulara pe A ce satisface

e · a = a · e = a,

pentru orice a ∈ A. Constanta e se mai noteaza si prin 1M si se numesteunitatea monoidului. Este usor de vazut ca ea este unica constanta ce satisfaceproprietatea de mai sus. In adevar, daca am presupune ca mai exista un elemente′ ce satisface e′ · a = a · e′ = a, pentru orice a ∈M , atunci are loc

e′ = e′ · e = e

(prima egalitate urmeaza de la faptul ca e este unitate, iar a doua de la faptulca e′ este unitate). Deci, unitatea monoidului este unica.

Monoizii sunt adesea ıntalniti si sub denumirea de semigrupuri cu unitate.

(3) Un grup este o algebra (A, ·,′ , e), unde · este o operatie binara asociativa peA, e este o operatie nulara pe A ce satisface proprietatea de la (2), iar ′ este ooperatie unara pe A pentru care are loc:

a · a′ = a′ · a = e,

pentru orice a ∈ A. e se numeste unitatea grupului, este unica, si se mainoteaza prin 1G. Elementul a′ se mai numeste inversul lui a; el este unic, ceeace se poate vedea cu usurinta. De exemplu, daca presupunem ca ar mai existaınca un element b ce ar satisface a · b = b · a = e, atunci

b = b · e = b · (a · a′) = (b · a) · a′ = e · a′ = a′.

(4) Un semigrup (monoid, grup) pentru care operatia binara este comutativa senumeste semigrup (monoid, grup) comutativ sau abelian 4.

4Denumirea de grup “abelian” provide de la numele matematicianului norvegian Niels Abel.

Page 96: Fltiplea Fai

90 Algebre universale dintr-un punct de vedere elementar

(5) Un inel este o algebra (A,+,−, 0, ·), unde + si · sunt operatii binare, − este ooperatie unara, iar 0 este operatie nulara pe A ce satisfac proprietatile:

(i) (A,+,−, 0) este grup comutativ;

(ii) (A, ·) este semigrup;

(iii) a · (b+ c) = a · b+a · c si (b+ c) ·a = b ·a+ c ·a, pentru orice a, b, c ∈ A.

Uzual, operatiile + si · sunt numite adunarea si, respectiv, ınmultirea (darnu sunt, ın mod necesar, operatiile de adunare si ınmultire pe multimi uzualeca cea a numerelor ıntregi). Prima parte a proprietatii de la (iii) este numitaproprietatea de distributivitate la stanga a ınmultirii fata de adunare, iar ceace a doua parte, proprietatea de distributivitate la dreapta a ınmultirii fata deadunare.

Atunci cad semigrupul (A, ·) este comutativ, inelul este numit inel comutativ.

(6) Un inel cu unitate este o algebra (A,+,−, 0, ·, 1) definita ca la (5) dar cudiferenta ca (A, ·, 1) este monoid. Daca acest monoid este comutativ, atunciinelul este numit inel comutativ cu unitate.

Atunci cand monoizii, grupurile si inele sunt formate doar din unitate, ele sunttriviale (ın cazul inelelor cu unitate, proprietatea de a fi trivial forteaza egalitatea ıntrecele doua unitati).

Ca o remarca generala, atunci cand opertia binara ca fi notata multiplicativ (prin·, ◦ sau ∗), operatia unara corespunzatoare va fi notata prin ′, iar cea nulara, prin esau uneori 1 (eventual indexate). Atunci cand opertia binara va fi notata aditiv (prin+), operatia unara corespunzatoare va fi notata prin−, iar cea nulara, prin 0. In acestcaz, a− b va reprezenta a + (−b).

Definitia 3.4.2. Spunem ca doua algebre (A,F ) si (A′, F ′) au acelasi tip daca existao bijectie h ıntre F si F ′ ce pastreaza aritatea operatiilor, adica aritatea operatief ∈ F este aceeasi cu aritatea operatiei h(f) ∈ F ′, pentru orice f ∈ F .

Atunci cand vom spune ca (A,F ) si (A′, F ′) au acelasi tip vom presupune im-plicit ca f ′ ∈ F ′ este corespondenta operatiei f ∈ F printr-o bijectie h ce pastreazatipul operatiilor (adica, f ′ denota h(f)).

In cazul algebrelor cu un numar finit de operatii, pe langa conventia de mai sus,vom adopta si urmatoarea conventie. Daca (A, f1, . . . , fk) si (A′, g1, . . . , gk) suntde acelasi tip, atunci vom presupune ca fi si gi au aceeasi aritate ni, pentru orice1 ≤ i ≤ k.

Semigrupurile (monoizii, grupurile, inelele) sunt algebre de acelasi tip. O micadiscutie este necesara ın cazul inelelor care au doua operatii binare. Asociereaoperatiilor trebuie ınteleasa ın conformitate cu ordinea lor ın 5-uplul ce definesteinelul (de altfel, asa cum s-a specificat ın conventia adoptata mai sus).

Page 97: Fltiplea Fai

Subalgebre. Ordin 91

3.4.2 Subalgebre. Ordin

Definitia 3.4.3. Fie (A,F ) si (A′, F ′) doua algebre de acelasi tip. Spunem ca (A′, F ′)este subalgebra a algbrei (A,F ) daca A′ ⊆ A si f ′ = f |A′, pentru orice f ∈ F .

Definitia 3.4.4. Fie (A,F ) o algebra si X ⊆ A. Spunem ca X este ınchisa ın (A,F )daca are loc:

(∀f ∈ F )(∀a1, . . . , aar(f) ∈ A)(a1, . . . , aar(f) ∈ X ⇒ f(a1, . . . , aar(f)) ∈ X)

(ın cazul ar(f) = 0, cerinta se reduce la f ∈ X).

Observatia 3.4.1.

(1) Orice subalgebra sau submultime ınchisa contine toate constantele algebreigazda.

(2) Daca (A′, F ′) este subalgebra ın (A,F ), atunci A′ este ınchisa ın (A,F ).

Reciproc, daca A′ ⊆ A este o submultime ınchisa ın (A,F ), atunci ea poate fistructurata ca o subalgebra a algebrei (A,F ) considerand pentru orice f ∈ Foperatia f ′ : (A′)ar(f) → A′ data prin f ′ = f |A′ . Multimea tuturor acestoroperatii, notata F ′, ımpreuna cu A′ formeaza o subalgebra a algebrei (A,F ).

Este important de mentionat ca exista o diferenta ıntre operatia f ′ definita camai sus si f |A′ . Prima are codomeniul A′, pe cand a doua are codomeniulA. Evident, aceasta diferenta nu este semnificativa, motiv pentru care vomidentifica adesea subalgebrelele unei algebre cu submultimile ınchise ın aceaalgebra ımpreuna cu restrictiile operatilor algebrei gazda la acea submultime.

Urmatoarea propozitie urmeaza imediat de la definitii.

Propozitia 3.4.1. Intersectia oricarei familii nevide de submultimi ınchise (subalge-bre) ale unei algebre (A,F ) este submultime ınchisa (subalgebra) a algebrei (A,F ).

Fie (A,F ) o algebra si X ⊆ A. Conform teoriei ınchiderii, ınchiderea acesteimultimii ın algebra (A,F ), notata 〈X〉(A,F ), este data prin

〈X〉(A,F ) =⋃m≥0

Bm

unde:

• B0 = X ,

• Bm+1 = Bm ∪⋃

f∈F f(Bm), pentru orice m ≥ 0.

Este clar ca 〈X〉(A,F ) este ınchisa ın (A,F ) si, deci, ea defineste o subalgebra aalgebrei (A,F ). Aceasta se numeste subalgebra generata de X , si este cea mai micasubalgebra ce include X

〈X〉(A,F ) =⋂{B|X ⊆ B ⊆ A, B ınchisa ın (A,F )},

Page 98: Fltiplea Fai

92 Algebre universale dintr-un punct de vedere elementar

fiind intersectia tuturor subalgebrelor ce includ X .Apeland iarasi la teoria ınchiderii, un element a este ın 〈X〉(A,F ) daca si numai

daca exista o secventax1, . . . , xn = a

astfel ıncat, pentru orice i, are loc:

• xi ∈ X , sau

• (∃f ∈ F )(∃i1, . . . , iar(f) < i)(xi = f(xi1 , . . . , xiar(f))).

Definitia 3.4.5.

(1) Spunem ca o algebra (A,F ) este generata de X ⊆ A daca are loc A =〈X〉(A,F ).

(2) Spunem ca (A,F ) este finit generata daca exista o submultime finita X ⊆ Aastfel ıncat (A,F ) este generata de X .

Daca X genereaza algebra (A,F ), atunci X se numeste multime de generatori aalgebrei (A,F ), iar elementele ei, generatori ai algebrei.

O algebra generata doar de un singur element al ei se numeste algebra ciclica.Particularizand, obtinem conceptele de semigrup ciclic, monoid ciclic si grup ciclic.

Exemplul 3.4.2.

(1) (M2, ◦, e2) este submonoid al monoidului (M1, ·, e1) daca au loc proprietatileM2 ⊆M1, ◦ = ·|M2 si e2 = e1.

(2) (G2, ◦,′′ , e2) este subgrup al grupului (G1, ·,′ , e1) daca au loc proprietatileG2 ⊆ G1, ◦ = ·|G2 , ′′ =′ |G2 si e2 = e1.

Este usor de vazut ca putem renunta la cerinta “e2 = e1” deoarece aceasta seobtine combinand primele 3 cerinte:

e2 = a ◦ a′′ = a · a′ = e1,

pentru orice a ∈ G2.

Definitia 3.4.6. Fie (A,F ) o algebra.

(1) Spunem ca (A,F ) este de ordin∞ sau ca are ordinul∞ daca A este multimeinfinita. Altfel, spunem ca algebra este de ordin finit sau ca are ordinul finitsau ca este de ordin |A| sau ca are ordinul |A|.

(2) Ordinul unui element a ∈ A, notat ord(A,F )(a), este definit ca fiind ordinulsubalgebrei generate de a.

Urmatoarea propozitie urmeaza imediat de la definitii.

Propozitia 3.4.2. Intersectia oricarei familii nevide de subalgebre ale unei algebre(A,F ) este subalgebra a algebrei (A,F ).

Page 99: Fltiplea Fai

Homomorfisme si congruente 93

Vom ıncheia subsectiunea printr-un rezultat important ce poate fi utilizat ın de-monstrarea de proprietati ın algebre.

Teorema 3.4.1. (Principiul inductiei structurale pentru algebre)Fie (A,F ) o algebra generata de o parte a saX . Daca P este o proprietate referitoarela elementele algebrei (A,F ) astfel ıncat:

(1) P (x), pentru orice x ∈ X;

(2) (P (a1) ∧ · · · ∧ P (aar(f)) ⇒ P (f(a1, . . . , aar(f)))), pentru orice f ∈ F sia1, . . . , aar(f) ∈ A.

atunci P (a), pentru orice a ∈ A.

Demonstratie Direct de la principiul inductiei structurale pentru nultimi inductivdefinite. �

Exemplul 3.4.3.

(1) In cazul semigrupurilor, principiul inductiei structurale capata urmatoarea for-ma. Fie (S, ·) un semigrup generat de X ⊆ S si P o proprietate referitoare laelementele lui. Daca

(1) P (x), pentru orice x ∈ X;

(2) (∀a, b ∈ S)(P (a) ∧ P (b) ⇒ P (a · b)),

atunci P (a), pentru orice a ∈ S.

(2) In cazul grupurilor, principiul inductiei structurale poate fi pus ın urmatoareaforma. Fie (G, ·,′ , e) un grup generat de X ⊆ S si P o proprietate referitoarela elementele lui. Daca

(1) P (x), pentru orice x ∈ X , si P (e);

(2) (∀a, b ∈ S)(P (a) ∧ P (b) ⇒ P (a · b) ∧ P (a′)),

atunci P (a), pentru orice a ∈ G.

Diferenta fata de forma din teorema consta ın aceea ca se verifica P (e) la pasul(1) si nu la pasul (2).

3.4.3 Homomorfisme si congruente

Definitia 3.4.7. Fie (A,F ) si (A′, F ′) doua algebre de acelasi tip. Un homomorfismde la (A,F ) la (A′, F ′) este o aplicatie h : A→ A′ ce satisface

h(f(a1, . . . , aar(f))) = f ′(h(a1), . . . , h(aar(f))),

pentru orice f ∈ F si a1, . . . , aar(f) ∈ A (atunci cand f este o constanta, proprietateade homomorfism se reduce h(f) = f ′).

Page 100: Fltiplea Fai

94 Algebre universale dintr-un punct de vedere elementar

Exemplul 3.4.4.

(1) Un homorfism h de la semigrupul (S1, ·) la semigrupul (S2, ∗) satisface

h(a · b) = h(a) ∗ h(b),

pentru orice a, b ∈ S.

(2) Un homorfism h de la monoidul (M1, ·, 1M1) la monoidul (M2, ∗, 1M2) satis-face

(i) h(a · b) = h(a) ∗ h(b);(ii) h(1M1) = h(1M2),

pentru orice a, b ∈M1.

(3) Un homorfism h de la grupul (G1, ·,′ , 1G1) la grupul (G2, ∗,′′ , 1G2) satisface

(i) h(a · b) = h(a) ∗ h(b);(ii) h(a′) = (h(a))′′;

(iii) h(1G1) = 1G2 ,

pentru orice a, b ∈ G1.

Proprietatile grupului fac ca cea de a doua cerinta sa nu fie necesara. In adevar,relatia

h(a · a′) = h(1G1) = h(a′ · a)conduce la

h(a) ∗ h(a′) = 1G2 = h(a′) ∗ h(a)de la care urmeaza h(a′) = (h(a))′′, pentru orice a ∈ G1.

Interesant este ca nici cea de a treia cerinta nu este necesara deoarece

h(1G1) = h(1G1 · 1G1) = h(1G1) ∗ h(1G1),

de la care obtinem h(1G1) = 1G2 daca aplicam (h(1G1))′′.

Uzual, homomorfismele injective sunt numite monomorfisme, homomorfismelesurjective sunt numite epimorfisme, iar homorfismele bijective sunt numite izomor-fisme. Un homorfism de la o algebra (A,F ) la ea ınsasi este numit endomorfism.Multimea tuturor endomorfismelor algebrei (A,F ) se noteaza prin End(A,F ). En-domorfismele care sunt si izomorfisme se mai numesc automorfisme. Multimea tu-turor automorfismelor algebrei (A,F ) se noteaza prin Aut(A,F ).

Urmatoarele propozitii urmeaza imediat de la definitii.

Propozitia 3.4.3.

(1) Compunere de homomorfisme este homomorfism.

Page 101: Fltiplea Fai

Homomorfisme si congruente 95

(2) Daca h este izomorfism de la (A,F ) la (A′, F ′), atunci h−1 este izomorfism dela (A′, F ′) la (A,F ).

(3) End(A,F ), cu compunerea functiilor, formeaza monoid.

(4) Aut(A,F ), cu compunerea functiilor, formeaza grup.

Grupul Aut(A,F ) se numeste grupul automorfismelor algebrei (A,F ).

Propozitia 3.4.4. Fie (A,F ) si (A′, F ′) algebre de acelasi tip si h : A → B unhomomorfism.

(1) Daca C ⊆ A este ınchisa ın (A,F ), atunci h(C) este ınchisa ın (A′, F ′).

(2) Daca C ⊆ A′ este ınchisa ın (A′, F ′), atunci h−1(C) este ınchisa ın (A,F ).

In baza acestei propozitii este clar ca imaginea unei subalgebre printr-un ho-momorfism este subalgebra. Similar, imaginea inversa a unei subalgebre printr-unhomomorfism este subalgebra.

Propozitia 3.4.5. Fie (A,F ) si (A′, F ′) algebre de acelasi tip si h1, h2 : A → A′

doua homomorfisme. Daca (A,F ′) este generata de X si h1(x) = h2(x) pentru oricex ∈ X , atunci h1 = h2.

Demonstratie Vom demonstra propozitia prin inductie structurala. Conform ipote-zei, ceea ce ne ramane de aratat este ca daca f ∈ F si h1(ai) = h2(ai), pentru oriceai ∈ A si 1 ≤ i ≤ ar(f), atunci

h1(f(a1, . . . , aar(f)) = h2(f(a1, . . . , aar(f)).

Aceasta urmeaza imediat de la ipoteza inductiva si proprietatea de homomorfism afunctiilor h1 si h2. �

Deci, doua homomorfisme ce coincid pe o multime de generatori a unei algebrevor coincide pe ıntreaga algebra.

Definitia 3.4.8. Fie (A,F ) o algebra. O congruenta ın (A,F ) este o relatie de echi-valenta ρ pe A ce satisface

f(a1, . . . , aar(f)) ρ f(a′1, . . . , a′ar(f)),

pentru orice f ∈ F de aritate ar(f) > 0 si orice a1, a′i, . . . , aar(f), a

′ar(f) ∈ A pentru

care are loc ai ρ a′i, pentru orice 1 ≤ i ≤ ar(f).

Proprietatea din Definitia 3.4.8 se mai numeste proprietatea de compatibilitate arelatiei de echivalenta cu operatiile algebrei.

Daca (A,F ) este o algebra, atunci Con(A,F ) va reprezenta multimea tuturorcongruentelor ei.

Page 102: Fltiplea Fai

96 Algebre universale dintr-un punct de vedere elementar

Exemplul 3.4.5. In cazul semigrupurilor, o congruenta ρ pe un semigrup (S, ·) sat-isface

(a · b) ρ (a′ · b′),pentru orice a, b, a′, b′ pentru care are loc a ρ a′ si b ρ b′.

Se mai spune ca ρ este o relatie de echivalenta compabilila la stanga si la dreaptacu operatorul “·”. Aceasta pentru ca relatia de mai sus este echivalenta cu proprietatea

a ρ b ⇒ (∀c ∈ S)((a · c) ρ (b · c) ∧ (c · a) ρ (c · b)).

Fie (A,F ) o algebra si ρ ∈ Con(A,F ). Multimea cat

A/ρ = {[a]ρ|a ∈ A}

poate fi structurata ca o algebra de acelasi tip cu (A,F ) ıntr-un mod foarte natural.Pentru fiecare f ∈ F definim o noua operatie fρ prin

fρ([a1]ρ, . . . , [aar(f)]ρ) = [f(a1, . . . , aar(f))]ρ,

pentru orice a1, . . . , aar(f) ∈ A. Daca ar(f) = 0, atunci fρ = [f ]ρ.Aceste operatii nu depind de reprezentantii de clasa datorita proprietatii de com-

patibilitate cu operatiile pe care o are congruenta ρ. Mai exact, pentru orice bi ∈ [ai]ρare loc

fρ([b1]ρ, . . . , [bar(f)]ρ) = [f(b1, . . . , bar(f))]ρ= [f(a1, . . . , aar(f))]ρ= fρ([a1]ρ, . . . , [aar(f)]ρ).

Algebra astfel obtinuta, notata prin (A/ρ, F/ρ), se numeste algebra cat indusade (A,F ) si ρ.

Propozitia 3.4.6. Fie (A,F ) o algebra si ρ ∈ Con(A,F ). Atunci, f : A → A/ρdata prin f(a) = [a]ρ, pentru orice a ∈ A, este epimorfism.

Propozitia 3.4.7. Daca f este un homomorfism de la algebra (A,F ) la algebra(A′, F ′), atunci Ker(f) este congruenta ın (A,F ).

Teorema 3.4.2. (Teorema de homomorfism)Fie f un epimorfism de la algebra (A,F ) la algebra (A′, F ′). Atunci, algebrele(A/ker(f), F/Ker(f)) si (A′, F ′) sunt izomorfe.

Demonstratie Fie functia h de la (A/ker(f), F/Ker(f)) la (A′, F ′) data prinh([a]ker(f)) = f(a), pentru orice a ∈ A. Aratam ca h este izomorfism:

• h este bine definita. Daca a ker(f) b, atunci f(a) = f(b), ceea ce arata cadefinitia functie h nu depinde de reprezentantii de clasa alesi;

• f este homomorfism. Pentru orice g ∈ F si a1, . . . , aar(g) ∈ A au loc relatiile:

h(gker(f)([a1]ker(f), . . . , [aar(g)]ker(f))) =

Page 103: Fltiplea Fai

Algebre booleene 97

= h([g(a1, . . . , aar(g))]ker(f))= f(g(a1, . . . , aar(g)))= g′(f(a1), . . . , f(aar(g)))= g′(h([a1]ker(f)), . . . , h([aar(g)]ker(f)))

care ne arata ca h este homomorfism;

• h este functie injectiva. Daca f(a) = f(b), atunci a ker(f) b, ceea ce arata cah este injectie;

• h este functie surjectiva. Pentru orice b ∈ A′ exista a ∈ A astfel ıncat f(a) =b. Ca urmare, h([a]ker(f)) = f(a) = b, ce arata ca h este surjectie.

Deci, h este izomorfism. �

Teorema 3.4.2 poate fi adesea ıntalnita si sub denumirea de prima teorema deizomorfism.

3.5 Algebre booleene

Un exemplu foarte important de algebra este cel de algebra booleana [14]. Acestetipuri de algebre ısi au radacinile ın studiile lui George Boole asupra operatiile dereuniune, intersectie si complementara din teoria multimilor si, asupra operatiilor deconjunctie, disjunctie si negatie din logica. Algebrele booleene vin sa extraga esentaacestor operatii si sa ofere un cadru general de studiu al proprietatilor acestora.

Definitia 3.5.1. O algebra booleana este o algebra A = (A,∨,∧,′ , 0, 1), unde ∨,∧sunt operatii binare pe A, ′ este o operatie unara pe A, iar 0 si 1 sunt operatii nularepe A, ce satisfac:

(1) ∨ si ∧ sunt asociative si comutative;

(2) x ∨ 0 = x si x ∧ 1 = x, pentru orice x ∈ A;

(3) ∨ si ∧ sunt distributive una fata de alta;

(4) x ∨ x′ = 1 si x ∧ x′ = 0, pentru orice x ∈ A. (complementariere)

Elementul x′ din Definitia 3.5.1 este numit complementul lui x.Algebrele booleene fiind cazuri particulare de algebre, orice concept introdus

pentru algebre se poate translata la algebre booleene. Este usor de observat caA = (A,∨,∧,′ , 0, 1) este o algebra booleana daca (A,∨, 0) si (A,∧, 1) sunt monoizicomutativi, operatiile ∨ si ∧ sunt distributive una fata de cealalta si are loc propri-etatea de complementariere.

Exemplul 3.5.1.

(1) (P(A),∪,∩,′ , ∅, A) este algebra booleana (′ fiind operatia de complementari-ere a multimilor ın raport cu A);

Page 104: Fltiplea Fai

98 Sisteme relationale si algebre universale

(2) Fie B = {0, 1}, ∨ si ∧ adunarea si, respectiv, ınmultirea modulo 2, iar ′ dataprin:

0′ = 1 si 1′ = 0.

Atunci, B = (B,∨,∧,′ , 0, 1) este algebra booleana.

0 poate fi interpretat ca valoarea de adevar “fals”, 1 ca valoarea de adevar“adevarat”, ∨ este disjunctia, ∧ este conjunctia, iar ′ este negatia. Am obtinutastfel algebra booleana a multimii valorilor de adevar B.

(3) Pe multimea Bn, unde B este ca la (2) iar n ≥ 1, definim operatiile ∨, ∧ si ′

pe componente utilizand operatiile de la (2). De exemplu,

(x1, . . . , xn) ∨ (y1, . . . , yn) = (x1 ∨ y1, . . . , xn ∨ yn).

Atunci Bn = (Bn,∨,∧,′ , 0, 1), unde 0 si 1 sunt n-upluri formate numai din 0si, respectiv, 1, este o algebra booleana.

Teorema 3.5.1. Fie A = (A,∨,∧,′ , 0, 1) o algebra booleana. Atunci, pentru oricex, y ∈ A, au loc urmatoarele proprietati:

(1) x ∨ x = x si x ∧ x = x; (idempotenta)

(2) x ∨ 1 = 1 si x ∧ 0 = 0;

(3) (x ∧ y) ∨ x = x si (x ∨ y) ∧ x = x; (absorptie)

(4) (x ∨ y)′ = x′ ∧ y′ si (x ∧ y)′ = x′ ∨ y′; (legile lui DeMorgan)

(5) x ∨ y = y daca si numai daca x ∧ y = x.

Demonstratie Pentru (1), (2), (3) si (4) vom demonstra doar prima relatie, cea dea doua obtinandu-se prin dualizare.

(1) x ∨ x = (x ∨ x) ∧ 1 = (x ∨ x) ∧ (x ∨ x′) = x ∨ (x ∧ x′) = x ∨ 0 = x.(2) x ∨ 1 = x ∨ (x ∨ x′) = (x ∨ x) ∨ x′ = x ∨ x′ = 1.(3) (x ∧ y) ∨ x = (x ∧ y) ∨ (x ∧ 1) = x ∧ (y ∨ 1) = x ∧ 1 = x.(4) Vom arata ıntai ca daca w ∨ z = 1 si w ∧ z = 0 atunci z = w′. In adevar,

z = z ∨ 0= z ∨ (w ∧ w′)= (z ∨ w) ∧ (z ∨ w′)= 1 ∧ (w′ ∨ z)= (w′ ∨ w) ∧ (w′ ∨ z)= w′ ∨ (w ∧ z)= w′ ∨ 0= w′.

Ca urmare a acestui rezultat intermediar, pentru a demonstra prima lege a luiDeMorgan este suficient sa aratam ca au loc relatiile (x ∨ y) ∨ (x′ ∧ y′) = 1 si(x ∨ y) ∧ (x′ ∧ y′) = 0.

Page 105: Fltiplea Fai

Algebre booleene 99

Avem,

(x ∨ y) ∨ (x′ ∧ y′) = ((x ∨ y) ∨ x′) ∧ ((x ∨ y) ∨ y′)= (y ∨ (x ∨ x′)) ∧ (x ∨ (y ∨ y′))= (y ∨ 1) ∧ (x ∨ 1)= 1 ∧ 1= 1.

Similar se arata si cea de a doua relatie si, deci, prima parte de la (4) este demonstrata.(5) Daca x ∨ y = y atunci, utilizand absorbtia, obtinem

x = x ∧ (x ∨ y) = x ∧ y.

Implicatia ın sens invers se obtine prin dualizare. �

Fie A = (A,∨,∧,′ , 0, 1) o algebra booleana. Definim relatia ≤⊆ A× A prin

x ≤ y ⇔ x ∨ y = y,

pentru orice x, y ∈ A. Relatiile <, ≥ si > se definesc ın mod uzual. Aceste relatiivor fi numite relatiile induse de algebra A.

Teorema 3.5.2. Fie A = (A,∨,∧,′ , 0, 1) o algebra booleana si ≤ relatia indusa deA. Atunci, au loc urmatoarele proprietati:

(1) ≤ este relatie de ordine partiala pe A;

(2) x ∧ y ≤ x ≤ x ∨ y, pentru orice x, y ∈ A;

(3) 0 ≤ x ≤ 1, pentru orice x ∈ A.

Demonstratie (1) si (3) necesita verificari triviale, iar (2) se obtine de la propri-etatea de absorbtie. �

Corolarul 3.5.1. Fie A = (A,∨,∧,′ , 0, 1) o algebra booleana. Atunci, (A,≤), unde≤ este ordinea partiala indusa de A, este latice pentru care 0 este cel mai mic elementsi 1 este cel mai mare element.

Definitia 3.5.2. Fie A = (A,∨,∧,′ , 0, 1) o algebra booleana. Un element x ∈ Aeste numit atom daca nu poate fi scris ın forma x = y ∨ z cu y si z ambele diferite dex si 0.

Propozitia 3.5.1. Fie A = (A,∨,∧,′ , 0, 1) o algebra booleana. Un element x diferitde 0 este atom daca si numai daca nu exista y ∈ A astefel ıncat 0 < y < x.

Demonstratie Presupunem, prin contradictie, ca ar exista un atom x si un elementy astfel ıncat 0 < y < x. Atunci,

x = x ∧ 1 = (y ∨ x) ∧ (y ∨ y′) = y ∨ (x ∧ y′).

Page 106: Fltiplea Fai

100 Sisteme relationale si algebre universale

Deoarece x este atom, unul din elementele y sau x∧y ′ trebuie sa coincida cu x. Cumam presupus ca y < x, urmeaza ca x ∧ y′ = x. Dar atunci putem scrie

y = x ∧ y = (x ∧ y′) ∧ y = x ∧ (y′ ∧ y) = x ∧ 0 = 0,

ceea ce constituie o contradictie.Reciproc, daca presupunem ca nu exista nici un element y cu 0 < y < x dar x nu

este atom, atunci x poate fi scris x = u ∨ v cu u si v ambele diferite de 0. Deoareceu ≤ u ∨ v = x urmeaza u < x, ceea ce contrazice ipoteza. �

Exemplul 3.5.2.

(1) Pentru algebra boolena (P(A),∪,∩,′ , ∅, A) din Exemplul 3.5.1(1), ın cazul ıncare A este finita, atomii sunt exact multimile de forma {a} cu a ∈ A.

(2) Algebra B din Exemplul 3.5.1(2) are ca atom doar pe 1.

(3) Atomii algebrei Bn din Exemplul 3.5.1(3) sunt toate n-uplele ce contin doarun 1 si ın rest numai 0.

In exemplul anterior, pentru oricare din cele trei algebre considerate, observam caorice element poate fi scris ca o ∨-combinatie de atomi. In plus, scrierea este unicaexceptand ordinea ın care sunt combinati atomii prin ∨. Mai exact, daca consideramalgebra (P(A),∪,∩,′ , ∅, A), cu A finita, atunci orice submultime nevida B ⊆ Apoate fi scrisa ca ∪-combinatie de exact toti atomii {a} cu a ∈ B. De fapt, aceastaobservatie va fi idee de demonstratie a urmatoarei teoreme importante.

Teorema 3.5.3. Fie A = (A,∨,∧,′ , 0, 1) o algebra booleana finita. Atunci, oriceelement x ∈ A diferit de 0 poate fi scris ın mod unic (exceptand ordinea termenilor)ın forma

x = a1 ∨ · · · ∨ ak,

unde a1, . . . ak sunt atomi.

Demonstratie Vom arata ıntai ca orice element x ∈ A diferit de 0 poate fi scris cao ∨-combinatie de atomi.

Presupunem, prin contradictie, ca exista elemente x ∈ A diferite de 0 ce nu potfi scrise ın aceasta forma, si fie S multimea acestora. Este clar ca S nu contine atomisi, atunci, orice element x din S poate fi scris ın forma x = y ∨ z cu 0 < y < x si0 < z < x. Considerand un astfel de x cu o astfel de scriere, constatam ca cel putinunul din elementele y sau z este ın S; fie acesta y. Are loc y < x si, repetand acestprocedeu cu y, deducem ca exista o secventa

x = x0 > y = x1 > · · ·

de elemente din S. Deoarece A este finita, rezulta ca nu toate elementele din acestsir sunt diferite doua cate doua si, deci, vor exista doua numere naturale k si m cuk < m astfel ıncat xk = xm; contradictie cu xk > xm. Ca urmare, orice elementdiferit de 0 din A poate fi scris ca o ∨-combinatie de atomi.

Page 107: Fltiplea Fai

Algebre booleene 101

Sa ne ocupam acum de unicitatea scrierii. Pentru acesta trebuie sa remarcam caeste suficient sa aratam ca orice element x ∈ A poate fi scris ca o ∨-combinatie atuturor atomilor a cu a ≤ x. In adevar, daca

x = ∨{a ∈ A|a este atom si a ≤ x}

si x ar avea si o alta scriere, x = b1 ∨ · · · ∨ bk cu b1, . . . , bk atomi, atunci bi ≤ x si,ca urmare,

bi ∈ {a ∈ A|a este atom si a ≤ x}pentru orice i. Pe de alta parte, daca a este atom si a ≤ x atunci

0 �= a = a ∧ x = a ∧ (b1 ∨ · · · ∨ bk) = (a ∧ b1) ∨ · · · ∨ (a ∧ bk).

Cel putin unul din a ∧ bi trebuie sa fie diferit de 0 si, deci, a ∧ bi = a = bi pentru celputin un i. Aceasta ne arata ca a este unul din atomii bi si, deci,

{b1, . . . , bk} = {a ∈ A|a este atom si a ≤ x}.

Deci, ceea ce ramane de aratat este ca orice x ∈ A diferit de 0 poate fi scris ınforma

x = ∨{a ∈ A|a este atom si a ≤ x}.Elementul 1 poate fi scris ca ∨-combinatie de atomi, si fie 1 = a1 ∨ · · · ∨ an o astfelde ∨-combinatie. Deoarece 1 = 1 ∨ y pentru orice y ∈ A, urmeaza ca

1 = a1 ∨ · · · ∨ an = ∨{a ∈ A|a este atom si a ≤ 1}.

Daca consideram acum un element x ∈ A diferit de 0, atunci

x = x ∧ 1 = x ∧ (a1 ∨ · · · ∨ an) = (x ∧ a1) ∨ · · · ∨ (x ∧ an).

Deoarece 0 ≤ x ∧ ai ≤ ai si ai este atom, Propozitia 3.5.1 ne spune ca x ∧ ai = ai

daca ai ≤ x, sau x ∧ ai = 0, ın caz contrar. Dar aceasta conduce la

x = ∨{a ∈ A|a este atom si a ≤ x},

ıncheind demonstratia teoremei. �

Izomorfismul de algebre booleene este izomorfism de algebre. Urmatoarea teo-rema ne spune ca orice algebra booleana finita este complet determinata, pana la unizomorfism, de numarul de atomii ai ei.

Teorema 3.5.4. Orice doua algebre booleene finite cu acelasi numar de atomi suntizomorfe.

Demonstratie Fie A1 = (A1,∨1,∧1,′ , 01, 11) si A2 = (A2,∨2,∧2,

′′ , 02, 12) douaalgebre booleene cu atomii a1, . . . , an si, respectiv, b1, . . . , bn.

Consideram functia f : A1 → A2 data prin f(01) = 02, f(11) = 12 si f(ai) = bi,pentru orice i. Extindem f la un unic homomorfism de la A1 la A2. Teorema 3.5.3conduce atunci cu usurinta la faptul ca acest homomorfism este functie bijectiva. �

Urmatoarele doua rezultate urmeaza direct de la aceasta teorema.

Page 108: Fltiplea Fai

102 Sisteme relationale si algebre universale

Corolarul 3.5.2. Orice algebra booleana finita cu n atomi este izomorfa cu algebrabooleana a multimii tuturor partilor unei multimi cu n elemente.

Corolarul 3.5.3. Algebra booleana Bn din Exemplul 3.5.1(3) este izomorfa cu alge-bra partilor multimii {1, . . . , n}.

Definitia 3.5.3. O latice M = (A;∨,∧) este numita complementata daca are un celmai mic element 0 si se poate defini o operatie unara ′ ce satisface:

(1) (a′)′ = a,

(2) (a ∨ b)′ = a′ ∧ b′,

(3) a ∧ a′ = 0,

pentru orice a, b ∈ A.

Am vazut cum de la o algebra booleana se poate ajunge la o latice. In bazaDefinitiei 3.5.3, putem spune ca algebrele booleene sunt exact latici distributive com-plementate.

Page 109: Fltiplea Fai

Capitolul 4

Elemente de teoria numerelor cuaplicatii ın criptografie

In acest capitol vom prezenta cateva elemente de baza de teoria numerelor, necesareıntelegerii corecte a conceptelor ce vor urma. Pentru detalii, acolo unde este cazul,cititorul interesat este ındrumat catre monografii standard, cum ar fi [169, 168, 73,154], sau catre [185] unde se poate gasi o colectie de algoritmi de teoria numerelor,ımpreuna cu studiile de complexitate aferente.

4.1 Divizibilitate. Numere prime

Notam prin |a| modulul numarului a ∈ Z. Adica,

|a| ={a, daca a ≥ 0−a, altfel.

Teorema 4.1.1. (Teorema ımpartirii cu rest)Pentru orice doua numere ıntregi a si b cu b �= 0, exista q, r ∈ Z astfel ıncat a = bq+rsi 0 ≤ r < |b|. In plus, q si r sunt unicele cu aceste proprietati.

Demonstratie Consideram ıntai cazul b > 0. Fie A multimea

A = {a− bq|q ∈ Z} ∩N.

A este nevida deoarece, daca a < 0 atunci a− ba ∈ A, iar daca a ≥ 0 atunci a ∈ A.Fiind submultime de numere naturale, A va avea un cel mai mic element; fie acesta r.Atunci, r se poate scrie r = a−bq, unde q ∈ Z. Vom arata ca q si r astfel determinatesatisfac teorema. Prin definitie, r ≥ 0. Vom arata ca r < b. Daca presupunem princontradictie ca r ≥ b, atunci numarul r − b este ın A deoarece r − b ≥ 0 si el sepoate scrie ın forma r− b = a− b(q+ 1), ceea ce va contrazice alegerea lui r. Deci,0 ≤ r < b. Unicitatea numerelor q si r se obtine cu usurinta, prin contradictie. Inadevar, sa presupunem ca exista q, r, q′, r′ ∈ Z astfel ıncat a = bq + r, a = bq′ + r′,0 ≤ r < b si 0 ≤ r′ < b. Daca q = q′ (r = r′) atunci urmeaza imediat ca r = r′

103

Page 110: Fltiplea Fai

104 Elemente de teoria numerelor cu aplicatii ın criptografie

(q = q′). Ca urmare, presupunem ca q �= q′ si r �= r′. Fie, de exemplu, q < q′.Atunci, relatia bq + r = bq′ + r′ conduce la

r′ = r − b(q′ − q).

Cum r < b si q′ − q > 0, obtinem r′ < 0; contradictie. Deci, q = q′ si r = r′.Cazul b < 0 se obtine din precedentul astfel. In primul rand, observam ca−b > 0

si, atunci, exista unice q′ si r′ cu a = (−b)q′ + r′ si 0 ≤ r′ < (−b). Atunci, alegandq = −q′ si r = r′ deducem ca a = bq + r si 0 ≤ r < |b|. Unicitatea numerelor q si rse obtine ca ın cazul precedent. �

Numerele q si r din Teorema ımpartirii cu rest se numesc catul si, respectiv, restulımpartirii lui a la b. Ele se mai noteaza prin a div b si, respectiv, a mod b.

Definitia 4.1.1. Relatia binara | ⊆ Z× Z data prin

a|b ⇔ (∃c ∈ Z)(b = ac),

pentru orice a, b ∈ Z, se numeste relatia de divizibilitate pe Z.

Daca a|b atunci vom spune ca a divide b sau ca a este divizor al lui b sau ca b sedivide prin a sau ca b este multiplu al lui a. Daca a nu divide b atunci vom mai scriea� | b.

Observam ca daca a �= 0, atunci a|b daca si numai daca b mod a = 0. Daca a|b si|a| este diferit atat de 1 cat si de b, atunci vom spune ca a este divizor propriu al luib. Direct de la definitie obtinem urmatoarea propozitie.

Propozitia 4.1.1. Fie a, b, c ∈ Z. Atunci, au loc urmatoarele proprietati:

(1) 0 divide doar 0;

(2) a divide 0 si a;

(3) 1 divide a;

(4) a|b daca si numai daca a| − b;

(5) daca a|b si b|c, atunci a|c;

(6) daca a|b+ c si a|b, atunci a|c;

(7) daca a|b, atunci ac|bc. Reciproc, daca c �= 0 si ac|bc, atunci a|b;

(8) daca a|b si a|c, atunci a|βb+ γc, pentru orice β, γ ∈ Z;

(9) daca a|b si b �= 0, atunci |a| ≤ |b|. Daca ın plus a este divizor propriu al lui b,atunci 1 < |a| < |b|.

Definitia 4.1.2. Un numar natural p ≥ 2 este numit prim daca singurii lui divizoripozitivi sunt 1 si p.

Page 111: Fltiplea Fai

Divizibilitate. Numere prime 105

Altfel spus, numerele prime sunt numere n ≥ 2 ce nu au divizori proprii. Nu-merele n ≥ 2 ce au divizori proprii sunt numite compuse sau compozite.

Definitia 4.1.3. Fie a1, . . . , am ∈ Z, unde m ≥ 2. Spunem ca a1, . . . , am suntprime ıntre ele sau relativ prime sau coprime daca singurii divizori comuni ai acestornumere sunt 1 si −1.

Vom nota (a1, . . . , am) = 1 pentru a specifica faptul ca a1, . . . , am sunt relativprime (aceasta notatie va fi justificata ın sectiunea urmatoare). Observam ca (0, 1) =1. De asemenea, orice doua numere dintre care unul este par si celalalt impar, suntprime ıntre ele.

Urmatoarea teorema este cruciala ın stabilirea multor proprietati ın care intervineconceptul de numere relativ prime.

Teorema 4.1.2. Fie m ≥ 2 si a1, . . . , am ∈ Z. Atunci, (a1, . . . , am) = 1 daca sinumai daca exista α1, . . . , αm ∈ Z astfel ıncat α1a1 + · · ·+ αmam = 1.

Demonstratie Fie a1, . . . , am ∈ Z, unde m ≥ 2.Daca presupunem ca exista α1, . . . , αm ∈ Z astfel ıncat α1a1 + · · ·+αmam = 1,

atunci a1, . . . , am nu pot avea un divizor comun d diferit de 1 si−1 deoarece, atunci,d ar divide suma α1a1 + · · · + αmam si, deci si pe 1. Ca urmare, a1, . . . , am suntrelativ prime.

Reciproc, presupunem ca a1, . . . , am sunt relativ prime. Consideram multimea

A = {α1a1 + · · ·+ αmam|α1, . . . , αm ∈ Z} ∩N.

Aceasta multime este nevida si contine elemente diferite de 0 (aceasta rezulta cuusurinta considerand, de exemplu, αi = ai pentru orice i si remarcand ca nu toatenumerele ai pot fi 0). Ca urmare, A va avea un cel mai mic element diferit de 0, fieacesta d = α1a1 + · · ·+ αmam. Vom arata ca d|ai pentru orice i, ceea ce va implicad = 1, ıncheind demonstratia teoremei.

Fie 1 ≤ i ≤ m. In baza teoremei ımpartirii cu rest, exista unice qi si ri astfelıncat

ai = dqi + ri si 0 ≤ ri < d.

Atunci,ri = ai − dqi

= ai − (α1a1 + · · ·+ αmam)qi= (1− qiαi)ai +

∑j �=i(−qiαj)aj

≥ 0,

ceea ce arata ca ri ∈ A. Conform alegerii lui d si a faptului ca ri < d, urmeaza cari = 0. Aceasta conduce ınsa la d|ai. Ca urmare, d = 1. �

Corolarul 4.1.1. Fie a1, . . . , am, b ∈ Z, unde m ≥ 2. Daca (b, ai) = 1 pentru orice1 ≤ i ≤ m, atunci (b, a1 · · ·am) = 1.

Page 112: Fltiplea Fai

106 Elemente de teoria numerelor cu aplicatii ın criptografie

Demonstratie Vom demonstra corolarul pentru m = 2, cazul general obtinandu-seprin simpla inductie.

Conform Teoremei 4.1.2, exista α1, α2, β1 si β2 astfel ıncat α1a1 + β1b = 1 siα2a2 + β2b = 1. Atunci,

1 = (α1a1 + β1b)(α2a2 + β2b)= α1α2a1a2 + b(α1a1β2 + α2a2β1 + β1β2b),

ceea ce arata ca (b, a1a2) = 1. �

Corolarul 4.1.2. Fie a1, . . . , am, b ∈ Z, unde m ≥ 2. Daca numerele a1, . . . , am

sunt prime ıntre ele doua cate doua si fiecare din ele divide b, atunci produsul lordivide b.

Demonstratie Ca si ın cazul corolarului precedent vom face demonstratia doarpentru m = 2.

Deoarece (a1, a2) = 1, exista α1 si α2 astfel ıncat α1a1 +α2a2 = 1, iar de la a1|bsi a2|b urmeaza ca exista β1 si β2 astfel ıncat b = a1β1 = a2β2.

Atunci,b = a1β1

= a1β1(α1a1 + α2a2)= a1β1α1a1 + a1a2α2β1

= a2β2α1a1 + a1a2α2β1

= a1a2(α1β2 + α2β1),

ceea ce arata ca a1a2|b.Completarea inductiei se face prin utilizarea Corolarului 4.1.1. �

Corolarul 4.1.3. Fie a1, . . . , am, b ∈ Z, unde m ≥ 2. Daca b este prim cu a1 sidivide produsul a1 · · ·am, atunci b divide produsul a2 · · ·am.

Demonstratie Deoarece (b, a1) = 1 urmeaza ca existaα si β astfel ıncat αa1+βb =1, iar de la b|a1 · · ·am urmeaza ca exista γ astfel ıncat a1 · · ·am = bγ. Atunci,

a2 · · ·am = 1 · a2 · · ·am

= (αa1 + βb)a2 · · ·am

= αa1 · · ·am + βba2 · · ·am

= αbγ + βba2 · · ·am

= b(αγ + βa2 · · ·am),

ceea ce arata ca b|a2 · · ·am. �

Corolarul 4.1.4. Fie a1, . . . , am, p ∈ Z, unde m ≥ 2. Daca p este prim si divideprodusul a1 · · ·am, atunci exista i astfel ıncat p divide ai.

Demonstratie Presupunem, prin contradictie, ca p� | ai, pentru orice i. Atunci, p esteprim cu oricare din numerele ai si, deci, Corolarul 4.1.1 conduce la (p, a1 · · ·am) =1, ceea ce contrazice p|a1 · · ·am. �

Page 113: Fltiplea Fai

Divizibilitate. Numere prime 107

Fie n ≥ 2 un numar natural. Numim descompunere a lui n orice secventa finitade numere naturale

n1, . . . , nk (k ≥ 1)

astfel ıncat n = n1 · · ·nk.Descompunerea unui numar natural n ≥ 2 nu este ın mod necesar unica. Simpla

permutare a termenilor secventei face, ın general, ca descompunerea sa nu fie unica.Insa, astfel de permutari sunt irelevante si, ca urmare, prin descompunere a numaruluinatural n ≥ 2 vom ıntelege orice secventa de perechi de numere naturale

(n1, e1), . . . , (nk, ek) (k ≥ 1)

astfel ıncat:

• 2 ≤ n1 < · · · < nk;

• ei > 0, pentru orice 1 ≤ i ≤ k;

• n = ne11 · · ·nek

k .

Convenim ca descompunerea de mai sus a numarului n sa fie notata simplificatprin

∏ki=1 n

eii (sau prin

∏nei

i , daca mentionarea numarului k este irelevanta sau sesubantelege din context).

Cu aceasta noua definitie a descompunerii putem vorbi de descompuneri distincteale aceluiasi numar ca fiind descompuneri pentru care secventele corespunzatoare nucoincid. De exemplu, 20 = 4 · 5 si 20 = 22 · 5 sunt descompuneri distincte alelui 20. Daca ın descompunerea de mai sus numerele n1, . . . , nk sunt prime, atuncidescompunerea lui n va fi numita descompunere ın factori primi. Are loc:

Teorema 4.1.3. (Teorema fundamentala a aritmeticii)Orice numar natural n ≥ 2 poate fi descompus, ın mod unic, ın factori primi (unici-tatea fiind ınteleasa asa cum a fost specificat mai sus).

Demonstratie Existenta unei descompuneri ın factori primi a oricarui numar nat-ural n ≥ 2 se obtine cu usurinta prin inductie, luand ın calcul cele doua posibilitatiasupra lui n: n este prim, sau n nu este prim. In cel de-al doilea caz, n se descom-pune ın produsul a doua numere n = n1n2 cu proprietatea 2 ≤ n1, n2 < n. Se aplicaapoi ipoteza inductiva.

Pentru unicitate vom face apel din nou la inductie si, ın plus, la Corolarul 4.1.4.Sa presupunem ca n admite doua descompuneri ın factori primi, n = pe1

1 · · · pess si

n = qg1

1 · · · qgtt . Daca

∑si=1 ei =

∑ti=1 gi = 1, atunci obtinem imediat ca p1 = q1.

Altfel, daca de exemplu∑t

i=1 gi > 1, relatia p1|n = qg1

1 · · · qgtt conduce la existenta

unui i astfel ıncat p1|qi (Corolarul 4.1.4). Dar aceasta este posibil numai daca p1 =qi. Simplificand cele doua descompuneri ale lui n, prima prin p1 si a doua prin qi,obtinem un nou numar n′ < n si doua descompuneri ale lui, pentru care putem aplicaipoteza inductiva. �

Asa cum probabil este usor de banuit, exista o infinitate de numere prime.

Page 114: Fltiplea Fai

108 Elemente de teoria numerelor cu aplicatii ın criptografie

Teorema 4.1.4. Exista o infinitate de numere prime.

Demonstratie Presupunem, prin contradictie, ca exista doar un numar finit denumere prime, fie acestea p1, . . . , pn (n ≥ 1). Fie a = p1 · · · pn + 1. Numarul a estestrict mai mare decat oricare din cele n numere prime p1, . . . , pn. Atunci, ın bazaTeoremei 4.1.3, el este divizibil prin unul din aceste numerele. Sa presupunem caa = pid, unde 1 ≤ i ≤ n si d ≥ 2. Atunci,

1 = a− p1 · · · pn = pid− p1 · · · pn = pi(d−∏j �=i

pj),

ceea ce arata ca pi divide 1; contradictie. �

Fie pn al n-lea numar prim, pentru orice n ≥ 1 (p1 = 2). Deoarece nu secunoaste o formula de determinare efectiva a numarului pn, studiul distributiei nu-merelor prime joaca un rol foarte important ın teoria numerelor. Prin distributianumerelor prime ıntelegem, intuitiv, modul ın care aceste numere sunt repartizate peaxa numerelor naturale. In principal, studiul distributiei numerelor prime se face prinintermediul functiei π definita pentru orice numar natural n ≥ 2 prin

π(n) = |{p ∈ N|p ≤ n ∧ p prim}|.

Urmatoarea teorema, “intuita” de Gauss ın 1801 1 dar demonstrata abia ın 1896de matematicianul francez Jacques Hadamard si, independent, de matematicianulbelgian Charles-Jean de la Vallee-Poussin 2, estimeaza aceasta functie prin inter-mediul functiei n

ln ndefinita pentru orice numar natural n ≥ 2 (ln denota functia

logaritm natural). Demonstratia ei depaseste cu mult cadrul lucrarii noastre. Pentrudetalii cititorul este ındrumat catre [169].

Teorema 4.1.5. (Teorema numerelor prime)

limn→∞

π(n)n

ln n

= 1.

Vom mai scrie π(n) ∼ nln n

si vom spune ca functiile π(n) si nln n

sunt echivalenteasimptotic 3. Tabelul de mai jos prezinta cateva valori ale functiei π.

n 101 102 103 104 105 106 107 109

π(n) 4 25 168 1229 9592 78496 664579 50847478

Figura 4.1: Cateva valori ale functiei π

Corolarul 4.1.5. limn→∞pn

n ln n= 1.

1Mentionata ın cartea sa “Disquisitiones Arithmeticae” publicata ın 1801 ([60] este o traducererevizuita a acesteia ın limba engleza).

2O demonstratie mai simpla a fost propusa de Landau ın 1903.3A nu se confunda cu notatia “A ∼ B” utilizata pentru a desemna echipotenta multimilor A si B.

Page 115: Fltiplea Fai

Cel mai mare divizor comun 109

Acest corolar ne spune ca putem aproxima pn prin n ln n, pentru n suficient demare 4.

Teorema 4.1.5 este de importanta uriasa ın studiul numerelor prime oferind oaproximare asimptotica pentru π(n). Ulterior, Rosser si Schoenfeld [156] au rafi-nat acest rezultat obtinand aproximari mai precise. Urmatoarele doua teoreme suntdatorate acestora.

Teorema 4.1.6. Pentru orice numar natural n ≥ 67 are loc:

n

ln n − 12

< π(n) <n

ln n − 32

Teorema 4.1.7. Pentru orice numar natural n ≥ 17 are loc

π(n) >n

ln n,

si pentru orice n ≥ 2 are loc

π(n) < 1.25506n

ln n

Cititorul poate compara cele doua aproximari si utiliza, de la caz la caz, pe ceamai buna. Ca o simpla aplicatie a acestor rezultate, ne propunem sa estimam numarulde numere prime cu 100 de cifre. Pornind de la observatia ca 10100 si 1099 nu suntnumere prime, putem estima numarul de numere prime cu 100 de cifre prin

π(10100)− π(1099) ≈ 10100

100 ln 10− 1099

99 ln 10

= 1099

ln 10( 1

10− 1

99)

> 0.39 · 1098

≈ 4 · 1097

(utilizand 2.30 < ln 10 < 2.31).Pentru a avea o imagine asupra acestui numar, ıl putem compara pe acesta cu

numarul de atomi din “universul vizibil”, numar estimat de fizicieni ca fiind ıntre1079 si 1081.

4.2 Cel mai mare divizor comun

Lema 4.2.1. Fie a1, . . . , am numere ıntregi nu toate 0, unde m ≥ 2. Atunci, existacel mai mare numar natural d cu proprietatea d|ai, pentru orice 1 ≤ i ≤ m.

Demonstratie Fie Di multimea tuturor divizorilor numarului ai, 1 ≤ i ≤ m.Atunci, multimea

⋂mi=1Di este nevida (contine cel putin pe 1) si finita (conform

4In 1939, J.B. Rosser [155] a stabilit inegalitatea pn > n ln n, pentru orice n ≥ 1.

Page 116: Fltiplea Fai

110 Elemente de teoria numerelor cu aplicatii ın criptografie

ipotezei, cel putin o multimeDi este finita). Cel mai mare element al acestei multimisatisface lema. �

Numarul d din Lema 4.2.1 se numeste cel mai mare divizor comun al numerelora1, . . . , am. El se mai noteaza prin cmmdc(a1, . . . , an) sau, atunci cand nu existapericol de confuzie, prin (a1, . . . , an). Putem spune ca numerele a1, . . . , am suntrelativ prime daca si numai daca (a1, . . . , am) = 1, ceea ce justifica notatia adoptataın sectiunea anterioara.

Propozitia 4.2.1. Fie a1, . . . , an numere ıntregi nu toate 0, unde m ≥ 2. Atunci:

(1) (0, a1, . . . , am) = (a1, . . . , am);

(2) (0, a1) = |a1|, cu conditia a1 �= 0;

(3) (a1, a2) = (a2, a1 mod a2), cu conditia a2 �= 0.

Demonstratie (1) si (2) urmeaza imediat de la definitii.Pentru (3), daca scriem a1 = a2q + r conform teoremei ımpartirii cu rest, unde

0 ≤ r < a2, atunci observam ca orice divizor comun al numerelor a1 si a2 estedivizor comun al numerelor a2 si r, si reciproc. Ca urmare, (a1, a2) = (a2, r). �

Teorema 4.2.1. (Forma liniara a cmmdc)Fie a1, . . . , am numere ıntregi nu toate 0, unde m ≥ 2. Atunci, exista numereleıntregi α1, . . . , αm astfel ıncat

(a1, . . . , am) = α1a1 + · · ·+ αmam.

Demonstratie Daca d = (a1, . . . , am), atunci exista a′1, . . . , a′m astfel ıncat ai =

da′i, pentru orice i. In plus, (a′1, . . . , a′m) = 1. Afirmatia din teorema se obtine atunci

cu usurinta de la Teorema 4.1.2. �

Corolarul 4.2.1. Fie a1, . . . , am numere ıntregi nu toate 0, unde m ≥ 2. Atunci, unnumar natural d este cel mai mare divizor comun al numerelor a1, . . . , am daca sinumai daca au loc urmatoarele proprietati:

(i) d|ai, pentru orice 1 ≤ i ≤ m;

(ii) (∀d′ ∈ N)((∀1 ≤ i ≤ m)(d′|ai) ⇒ d′|d).Demonstratie Daca d = (a1, . . . , am), atunci are loc (i). In plus, d se poate scrieın forma d = α1a1 + · · · + αmam, unde α1, . . . , αm ∈ Z. Atunci, orice divizor d′ anumerelor ai va fi divizor si al lui d. Deci, are loc (ii).

Reciproc, daca d este un numar natural ce satisface (i) si (ii), orice alt divizorcomun d′ al numerelor ai va satisface d′ ≤ d (de la (ii) si Propozitia 4.1.1(9)). Deci,d = (a1, . . . , am). �

Corolarul 4.2.1 ne spune ca proprietatea de a fi maximal ın raport cu divizibi-litatea este aceeasi cu cea de a fi maximal ın raport cu ordinea uzuala pe numerenaturale, ambele considerate ıntre divizorii comuni ai oricaror numere a1, . . . , am nutoate 0.

Se poate formula si o reciproca a Teoremei 4.2.1, astfel:

Page 117: Fltiplea Fai

Cel mai mare divizor comun 111

“daca exista numerele ıntregi α1, . . . , αm astfel ıncat

α1a1 + · · ·+ αmam|ai

pentru orice i, atunci (a1, . . . , am) = α1a1 + · · ·+ αmam.”

In adevar, orice divizor comun al numerelor a1, . . . , am este divizor al sumeiα1a1+· · ·+αmam. Cum aceasta suma este divizor al numerelor a1, . . . , am, urmeazaca ea este cel mai mare divizor comun al lor (ın baza Corolarului 4.2.1).

Corolarul 4.2.2. Fie a1, . . . , am numere ıntregi nu toate 0, unde m ≥ 2. Atunci,pentru orice b ∈ Z, ecuatia

a1x1 + · · ·+ amxm = b,

ın necunoscutele x1, . . . , xm, are solutii ın Z daca si numai daca (a1, . . . , am) divideb.

Demonstratie Daca ecuatia a1x1 + · · ·+amxm = b are solutii ın Z, fie α1, . . . , αm

o astfel de solutie, atunci orice divizor comun al numerelor a1, . . . , am va fi divizoral numarului a1α1 + · · ·+ amαm si, deci, al lui b. Ca urmare, (a1, . . . , am)|b.

Reciproc, daca d = (a1, . . . , am)|b atunci exista numerele k si α1, . . . , αm astfelıncat b = kd si d = a1α1 + · · ·+ amαm. Este clar atunci ca xi = kαi, pentru orice1 ≤ i ≤ m, este solutie a ecuatiei a1x1 + · · ·+ amxm = b. �

Lema 4.2.2. Fie a1, . . . , am numere ıntregi nenule, unde m ≥ 2. Atunci, exista celmai mic numar natural nenul b cu proprietatea ai|b, pentru orice 1 ≤ i ≤ m.

Demonstratie Similara Lemei 4.2.1. �

Numarul b din Lema 4.2.2 este multiplu comun al numerelor a1, . . . , am si, ex-ceptand pe 0 care este si el multiplu comun al acestor numere, b este cel mai micnumar natural cu aceasta proprietate. Daca unul din numerele a1, . . . , am este 0,atunci 0 este unicul multiplu comun al acestora (deoarece 0 divide doar pe 0).

Deci, definim cel mai mic multiplu comun al numerelor a1, . . . , am ca fiind nu-marul b din Lema 4.2.2, daca aceste numere sunt nenule, si 0, altfel. Cel mai micmultiplu comun al numerelor a1, . . . , am se noteaza prin cmmmc(a1, . . . , an) sau,atunci cand nu exista pericol de confuzie, prin [a1, . . . , an].

Teorema 4.2.2. Fie a1, . . . , am numere ıntregi, unde m ≥ 2. Atunci, un numar na-tural b este cel mai mic multiplu comun al numerelor a1, . . . , am daca si numai dacaau loc urmatoarele proprietati:

(i) ai|b, pentru orice 1 ≤ i ≤ m;

(ii) (∀b′ ∈ N)((∀1 ≤ i ≤ m)(ai|b′) ⇒ b|b′).

Page 118: Fltiplea Fai

112 Elemente de teoria numerelor cu aplicatii ın criptografie

Demonstratie Teorema se verifica cu usurinta daca cel putin unul din numerelea1, . . . , am este 0. Sa presupunem ın continuare ca toate aceste numere sunt diferitede 0.

Fie b = [a1, . . . , am]. Atunci b > 0 si are loc (i). Fie b′ un multiplu (comun) alnumerelor ai, 1 ≤ i ≤ m. Deoarece b este cel mai mic multiplu comun al acestornumere, are loc b ≤ b′, iar de la Teorema ımpartirii cu rest deducem ca exista unicenumerele q si r astfel ıncat b′ = bq + r si 0 ≤ r < b. Atunci r = b′ − bq, de undeobtinem ca r este un multiplu pozitiv al numerelor ai, 1 ≤ i ≤ m. Deoarece b estecel mai mic multiplu nenul al acestor numere, obtinem r = 0, ceea ce ne arata cab|b′. Deci, are loc (ii).

Reciproc, presupunem ca b este un numar natural ce satisface (i) si (ii). De la (ii)si Propozitia 4.1.1(9) urmeaza ca b este cel mai mic numar natural ce satisface (i).Deci, b = [a1, . . . , am]. �

Teorema 4.2.3. Fie a si b doua numere naturale nu ambele 0. Atunci, are loc ab =(a, b)[a, b].

Demonstratie Daca a sau b este 0, atunci teorema este trivial satisfcacuta. Sapresupunem ca a si b sunt nenule. Fie d = (a, b). Atunci, exista a1 si b1 astfel ıncata = da1, b = db1 si (a1, b1) = 1. Vom arata ca [a, b] = da1b1 ceea ce va ıncheiademonstratia. Pentru aceasta este suficient de aratat ca da1b1|[a, b]. Observam caa1|[a, b] si b1|[a, b] de unde, ın baza faptului ca (a1, b1) = 1 urmeaza a1b1|[a, b]. Sim-ilar, d|[a, b] si a1b1|[a, b] combinate cu faptul ca (d, a1b1) = 1 conduc la da1b1|[a, b].�

Ca o consecinta imediata a acestei teoreme obtinem:

Corolarul 4.2.3. Cel mai mic multiplu comun a doua numere naturale relativ primeeste egal cu produsul numerelor.

Propozitia 4.2.2. Fie a1, . . . , am, b ∈ Z, unde m ≥ 2, astfel ıncat ai|b, pentru orice1 ≤ i ≤ m. Atunci, [a1, . . . , am]|b.

Demonstratie Vom face demonstratia pentru cazul m = 2 (cazul general obtinan-du-se ın mod similar).

Daca a1 = 0 sau a2 = 0, atunci b trebuie sa fie 0, iar afirmatia din propozitieurmeaza imediat. Sa presupunem ca a1 si a2 sunt nenule. Fie d = (a1, a2), a1 = da′1si a2 = da′2. Deoarece d|b, a1|b si a2|b urmeaza ca exista b′ astfel ıncat b = db′, a′1|b′si a′2|b′. Cum (a′1, a

′2) = 1, deducem ca are loc a′1a

′2|b′, de unde urmeaza

[a, b] = da′1a′2|db′ = b,

ceea ce ıncheie demonstratia. �

Ne vom ocupa acum de determinarea algoritmica a celui mai mare divizor co-mun a doua numere. Fara a restrange generalitatea, putem considera numai numerenaturale dintre care cel putin unul nenul. Fie deci a ≥ b ≥ 0:

Page 119: Fltiplea Fai

Cel mai mare divizor comun 113

• daca a = b sau b = 0 atunci (a, b) = a;

• daca a > b > 0, observam ca determinarea lui (a, b) se poate face luandın calcul doar divizorii (pozitivi ai) lui b. Daca scriem a = bq + r, unde0 ≤ r < b, atunci (a, b) = (b, r) ın baza Propozitiei 4.2.1(3). Ca urmare,a determina (a, b) se reduce la a determina (b, r). Acest procedeu poate ficontinuat pana la ultimul rest diferit de 0, care va fi (a, b).

Ceea ce am descris poarta denumirea de algoritmul lui Euclid 5. Mai exact, elconsta ın efectuarea ımpartirilor succesive:

r−1 = r0q1 + r1, 0 < r1 < r0r0 = r1q2 + r2, 0 < r2 < r1· · ·rn−2 = rn−1qn + rn, 0 < rn < rn−1

rn−1 = rnqn+1 + rn+1, rn+1 = 0,

unde r−1 = a si r0 = b. Atunci, conform celor mentionate mai sus, obtinem

(a, b) = (r−1, r0)= (r0, r1)· · ·= (rn−1, rn)= (rn, rn+1)= (rn, 0)= rn.

Sa facem cateva observatii importante asupra secventei de ımpartiri de mai sus:

• numarul de ımpartiri realizate de acest algoritm este n + 1;

• qi ≥ 1, pentru orice 1 ≤ i ≤ n;

• qn+1 ≥ 2 deoarece rn < rn−1.

Estimarea complexitatii algoritmului lui Euclid necesita estimarea lui n. In 1845,Gabriel Lame a avut ideea de a compara resturile ri cu termenii sirului lui Fibonacci(Fi)i≥1 dat prin:

• F1 = 1 = F2;

• Fn = Fn−1 + Fn−2, pentru orice n ≥ 3.

Observam ca rn ≥ 1 = F2 si

rn−1 = rnqn+1 ≥ 2rn ≥ 2 = F3.

Daca presupunem ca ri+2 ≥ Fn−i si ri+1 ≥ Fn−i+1, atunci

ri = ri+1qi+2 + ri+2 ≥ ri+1 + ri+2 ≥ Fn−i+1 + Fn−i = Fn−i+2,

5A fost prezentat de Euclid ın volumul VI al lucrarii lui, Elements.

Page 120: Fltiplea Fai

114 Elemente de teoria numerelor cu aplicatii ın criptografie

pentru orice i = n− 2, . . . , 0,−1. De aici obtinem b = r0 ≥ Fn+2.Fie R = (1 +

√5)/2. Prin simpla inductie matematica putem arata ca are loc

F2 = R0 si Fi+2 > Ri, pentru orice i ≥ 1. Obtinem atunci

b ≥ Fn+2 > Rn,

ceea ce conduce lalog10 b > n log10R >

n

5,

ultima inegalitate urmand de la faptul ca log10R = 0.208 · · · > 1/5. Daca numarulb necesita k cifre ın scriere zecimala, atunci b < 10k. Combinand cu inegalitatea demai sus obtinem n < 5k, ceea ce conduce la n + 1 ≤ 5k. Am obtinut astfel:

Teorema 4.2.4. (G. Lame, 1845)Fie a > b > 0 numere naturale. Atunci, numarul de ımpartiri necesare algoritmuluilui Euclid pentru determinarea celui mai mare divizor comun al numerelor a si b nudepaseste de 5 ori numarul de cifre din scrierea zecimala a lui b.

Utilizand acum inegalitatea a ≥ Fn+3 > Rn+1, obtinem

n+ 1 < logR a,

ceea ce conduce la:

Teorema 4.2.5. Fie N un numar natural nenul. Atunci, pentru orice doua numerenaturale a, b ≤ N , nu ambele nule, algoritmul lui Euclid aplicat acestor numerenecesita cel mult 'logRN( − 1 pasi.

Estimarea de mai sus a numarului de pasi, atunci cand avem de aplicat algoritmullui Euclid, este suficient de buna prin aceea ca aplicarea acestui algoritm numerelorFn+3 si Fn+2, ce satisfac a ≥ Fn+3 si b ≥ Fn+2, necesita de asemenea tot n + 1 paside ımpartire:

Fn+3 = 1 · Fn+2 + Fn+1, 0 < Fn+1 < Fn+2

Fn+2 = 1 · Fn+1 + Fn, 0 < Fn < Fn+1

· · ·F4 = 1 · F3 + F2, 0 < F2 < F3

F3 = 2 · F2.

Asa cum am vazut, cel mai mare divizor comun a doua numere a si b poate fiexprimat ca o combintie liniara a acestora, (a, b) = αa+ βb. Exista multe situatii ıncare suntem interesati ın a determina (algoritmic) o astfel de combinatie liniara. Dacaanalizam secventa de ımpartiri de mai sus, prin care se determina (a, b), constatamurmatoarele:

r1 = a− bq1 = 1 · a + (−q1) · br2 = b− r1q2 = (−q2) · a+ (1 + q1q2) · br3 = r1 − r2q3 = (1 + q2q3) · a+ (−q1 − q3 − q1q2q3) · b· · ·

Page 121: Fltiplea Fai

Cel mai mare divizor comun 115

Adica, odata cu determinarea restului (la un pas), putem determina si combinatialiniara a acestuia (ın functie de a si b). Ceea ce ne ramane de facut mai departe estede a gasi o metoda eleganta de exprimare a combinatiei liniare a restului ın bazacombinatiilor liniare de la pasii anteriori. Daca fiecarui element x ce intervine ınsecventa de ımpartiri de mai sus ıi asociem un vector Vx = (α, β) ce furnizeazacombinatia liniara (ın functie de a si b) a lui x, adica x = αa+βb, atunci combinatialiniara a resturilor se poate determina prin:

Va = (1, 0)Vb = (0, 1)

1. a = bq1 + r1 Vr1 = Va − q1Vb

2. b = r1q2 + r2 Vr2 = Vb − q2Vr1

3. r1 = r2q3 + r3 Vr3 = Vr1 − q3Vr2

· · ·n. rn−2 = rn−1qn + rn Vrn = Vrn−2 − qnVrn−1

n+ 1. rn−1 = rnqn+1

In acest mod putem determina atat (a, b) cat si combinatia liniara (de a si b) a aces-tuia. Algoritmul pe care l-am obtinut se numeste algoritmul extins al lui Euclid.Corectitudinea lui se demonstreaza imediat ın baza a ceea ce a fost mentionat maisus, iar complexitatea acestuia este aceeasi cu a algoritmului lui Euclid. Mai precis,la fiecare pas, pe langa o ımpartire se fac doua ınmultiri (complexitatea unei ınmultirifiind aceeasi cu a unei ımpartiri) si doua scaderi (complexitatea unei scaderi fiindliniara ın raport cu lungimea maxima a reprezentarii binare a operanzilor).

Posibilitatea determinarii algoritmice a unei combinatii liniare a celui mai maredivizor comun a doua numere a si b conduce la posibilitatea determinarii algoritmicea unei solutii a ecuatiei ax + by = c, ın ipoteza (a, b)|c (daca aceasta relatie nu estesatisfacuta atunci ecuatia nu are solutii). In adevar, fie α si β astfel ıncat αa+ βb =(a, b), si fie c′ astfel ıncat c = (a, b)c′. Atunci,

c′αa+ c′βb = (a, b)c′ = c,

ceea ce ne arata ca x = c′α si y = c′β constituie o solutie a ecuatiei ax+ by = c.

Analizand algoritmul lui Euclid observam ca fractia a/b poate fi scrisa:

a

b= q1 +

r1b

= q1 +1br1

= q1 +1

q2 + r2

r1

· · · = q1 +1

q2 + 1q3+···+ 1

qk+1

Ultimul termen din acest sir de egalitati poarta denumirea de fractie continua aso-ciata fractiei a/b, si se mai noteaza prin [q1, . . . , qk+1] (a nu se confunda cu cel maimic multiplu comun). Ca urmare, algoritmul lui Euclid conduce direct la urmatorulrezultat:

Teorema 4.2.6. Orice numar rational admite o reprezentare ca fractie continua.

Page 122: Fltiplea Fai

116 Elemente de teoria numerelor cu aplicatii ın criptografie

Ceea ce trebuie sa remarcam este ca reprezentarea unui numar rational ca fractiecontinua nu este unica. In adevar, este usor de vazut ca are loc

[q1, . . . , qn] =

{[q1, . . . , qn−1, qn − 1, 1], daca qn > 1,[q1, . . . , qn−1 + 1], daca qn = 1

ceea ce ne arata ca orice numar rational are macar doua reprezentari ca fractie con-tinua. Insa, reprezentarea numerelor irationale ca fractie continua este unica [73, 83].

Fie [q1, . . . , qn] o fractie continua ce reprezinta numarul rational a/b. Fractiilecontinue [q1, . . . , qi], unde 1 ≤ i ≤ n, se mai numesc convergentele fractiei continue[q1, . . . , qn]. Daca notam prin ai/bi numarul rational ce are reprezentarea [q1, . . . , qi]ca fractie continua, atunci urmatoarele proprietati sunt imediate.

Propozitia 4.2.3. Fie [q1, . . . , qn] o fractie continua ce reprezinta fractia a/b.

(1) Numerele rationale ai/bi verifica relatiile de recurenta:

• a1 = q1 si b1 = 1;

• a2 = q2q1 + 1 si b2 = q2;

• ai = qiai−1 + ai−2 si bi = qibi−1 + bi−2,

pentru orice 3 ≤ i ≤ n;

(2) Au loc relatiile:

• aibi−1 − ai−1bi = (−1)i−1, pentru orice 2 ≤ i ≤ n;

• ai

bi− ai−1

bi−1= (−1)i−1

bibi−1, pentru orice 2 ≤ i ≤ n;

• aibi−2 − ai−2bi = (−1)iai, pentru orice 3 ≤ i ≤ n;

(3) Pentru orice 3 ≤ i ≤ n, are loc bi ≥ bi−1 + 1. Ca urmare, bn ≥ n daca n ≥ 3;

(4) Pentru orice i astfel ıncat 2i+ 1 ≤ n au loc relatiile:

• a2i−1

b2i−1> a2i+1

b2i+1;

• a2i−2

b2i−2< a2i

b2i;

(5) Orice convergenta a fractiei continue [q1, . . . , qn] este ireductibila.

4.3 Congruente

Fiem un numar ıntreg. Definim pe Z relatia binara≡m, numita relatia de congruentamodulo m sau congruenta modulo m, prin:

a ≡m b ⇔ m|(a− b),

pentru orice a, b ∈ Z. Daca a ≡m b atunci vom spune ca a si b sunt congruentemodulo m, si vom mai nota aceasta prin a ≡ b mod m.

Page 123: Fltiplea Fai

Congruente 117

Ne vom referi adesea la aceste congruente ca fiind congruente modulare. Eleapar frecvent ın viata de zi cu zi. De exemplu, determinarea zilei saptamanii (luni,marti etc.) ce va fi pe o anumita data a anului face apel la ımpartirea zilelor ın grupede cate 7 si considerarea restului. Numararea obiectelor unei multimi face iarasi apella ımpartirea acestora ın grupe, cel mai adesea de cate 10, si apoi numararea acestora(care, la randul lor, pot fi numarate prin repetarea procedeului de ımpartire ın grupe).Problemele legate de congruente au fascinat omenirea de sute de ani. In secolul al4-lea, autorul chinez Sun Tzu Suan Ching formula urmatoarea problema:

“Avem un numar de obiecte, dar nu stim cate. Daca le numaram cate 3,atunci ne raman 2. Daca le numaram cate 5, atunci ne raman 3. Daca lenumaram cate 7, atunci ne raman 2. Cate obiecte sunt ?”.

Urmatoarele proprietati pot fi obtinute cu usurinta de la definitia congruentelormodulare si de la proprietatile relatiei de divizibilitate.

Propozitia 4.3.1. Fie a, b, c, d, m si m′ numere ıntregi si f : Z → Z o functiepolinomiala cu coeficienti ıntregi. Atunci, au loc urmatoarele proprietati:

(1) ≡m este relatie de echivalenta pe Z;

(2) a ≡m b daca si numai daca a mod m = b mod m;

(3) daca a ≡m b, atunci (a,m) = (b,m);

(4) (reguli de combinare)daca a ≡m b si c ≡m d, atunci a + c ≡m b+ d, a − c ≡m b − d, ac ≡m bd sif(a) ≡m f(b);

(5) (reguli de simplificare)

(a) daca ac ≡mc bc si c �= 0, atunci a ≡m b;

(b) daca ac ≡m bc si d = (m, c), atunci a ≡m/d b;

(c) daca ac ≡m bc si (m, c) = 1, atunci a ≡m b;

(6) (reguli de descompunere si compunere)

(a) daca a ≡mm′ b, atunci a ≡m b si a ≡m′ b;

(b) daca a ≡m b si a ≡m′ b, atunci a ≡[m,m′] b;

(c) daca a ≡m b si a ≡m′ b, iarm sim′ sunt prime ıntre ele, atunci a ≡mm′ b.

Demonstratie Vom demonstra doar (6b). Presupunem ca au loc relatiile a ≡m b sia ≡m′ b. Prima relatie conduce la m|(a − b), a doua la m′|(a− b), de unde, ın bazaPropozitiei 4.2.2, urmeaza [m,m′]|(a− b). �

Vom nota prin Zm multimea claselor de echivalenta induse de ≡m (clasa deechivalenta a lui a ∈ Z fiind notata prin [a]m). Vom face ın cele ce urmeaza catevaobservatii importante asupra acestor clase de echivalenta:

Page 124: Fltiplea Fai

118 Elemente de teoria numerelor cu aplicatii ın criptografie

• deoarece un numar ıntreg se divide la m daca si numai daca se divide la −m,deducem ca relatiile de congruenta modulo m si −m coincid. Ca urmare,putem considera numai relatii de congruenta modulo m pentru care m ≥ 0;

• ın cazul m = 0, a ≡ b mod m daca si numai daca a = b. Deci, orice elementdin Z induce o clasa de echivalenta formata doar din el;

• ın cazul m ≥ 1, multimea Zm are m elemente. In adevar, oricare doua numeredistincte dintre numerele 0, . . . , m−1 nu sunt congruente modulom deoarecediferenta lor este diferita de 0 si strict mai mica, ın valoare absoluta, decat m.Ca urmare, numerele 0, . . . , m−1 sunt ın clase de echivalenta diferite. In plus,ın fiecare clasa de echivalenta indusa de un element n ∈ Z se gaseste unul dincele m elemente de mai sus (ın baza teoremei ımpartirii cu rest).

Asadar, relatia de congruenta modulo m ımparte multimea Z ın m clase deechivalenta pentru care putem alege numerele 0, . . . , m − 1 drept reprezentanti declasa, acestea fiind exact resturile posibile ale ımpartirii numerelor ıntregi la m.Din acest motiv, clasele de echivalenta induse de ≡m mai sunt numite si clase deechivalenta modulo m sau clase de resturi modulo m. Uneori ele mai sunt notateprin 0, . . . ,m− 1.

Pe multimea Zm introducem urmatoarele operatii:

• ⊕, operatie binara data prin [a]m ⊕ [b]m = [a+ b]m, pentru orice a, b ∈ Z;

• [0]m, operatie 0-ara;

• ), operatie unara data prin )[a]m = [−a]m, pentru orice a ∈ Z;

• ⊗, operatie binara data prin [a]m ⊗ [b]m = [ab]m, pentru orice a, b ∈ Z;

• [1]m, operatie 0-ara.

Cu acestea, structura (Zm,⊕,), [0]m) devine grup ciclic comutativ, ın timp ce struc-tura (Zm,⊕,), [0]m,⊗, [1]m), inel comutativ cu unitate. Este de remarcat ca pentrum = 1 acest inel este trivial ın sensul ca are doar un singur element, [0]1 = [1]1, careeste element neutru atat pentru operatia notata aditiv cat si pentru operatia notatamultiplicativ.

Scaderea ın inelul Zm se defineste prin

[a]m ⊕ ()[b]m),

notata simplificat [a]m ) [b]m, pentru orice a, b ∈ Z. Ca urmare,

[a]m ) [b]m = [a− b]m.

Conform teoremei ımpartirii cu rest, orice numar ıntreg a se poate scrie ın formaa = qm+ r, unde q, r ∈ Z si 0 ≤ r < m. Determinarea lui r va fi numita reducereamodulo m a lui a sau, ın general, reducerea modulara a lui a.

Inelul Z0 este izomorf cu inelul Z si, ca urmare, vom evita cazulm = 0 orientandstudiile cu precadere asupra lui Zm cu m ≥ 1.

Considerand multimea Z′m = {0, . . . , m− 1} ınzestrata cu operatiile

Page 125: Fltiplea Fai

Congruente 119

• +′, data prin a +′ b = (a+ b) mod m, pentru orice a, b ∈ Z′m;

• 0, ca operatie 0-ara;

• −′, data prin −′a = m− a mod m, pentru orice a ∈ Z′m;

• ·′, data prin a ·′ b = a · b mod m, pentru orice a, b ∈ Z′m;

• 1, ca operatie 0-ara (0 si 1 vor coincide ın cazul m = 1),

constatam ca aceasta devine inel comutativ cu unitate, izomorf cu inelul Zm. Dinacest motiv putem identifica inelul Zm cu Z′

m. Ca urmare, vom prefera sa renotamZm = {0, . . . , m − 1} si operatiile ⊕, ) si ⊗ prin +, − si, respectiv, · (aceasta dinurma fiind omisa atunci cand nu exista pericol de confuzie). Atragem ınsa atentia caaceste operatii, privite ın Zm, sunt echivalente cu corespondentele lor ın Z la care seadauga si reducerea modulara (a se vedea definitiile operatiilor +′, −′ si ·′).

Mentionam ca nu orice element a ∈ Zm are un invers multiplicativ 6 (de exemplu,2 ∈ Z6) dar, atunci cand exista el este unic. De asemenea, Zm poate avea divizori ailui 0 7 (de exemplu, 2 · 3 = 0 ın Z6).

Sa vedem ce conditii trebuie sa satisfaca un element a ∈ Zm pentru a avea uninvers multiplicativ. Observam ca au loc echivalentele

(∃x ∈ Zm)(ax ≡ 1 mod m) ⇔ (∃x ∈ Zm)(m|ax− 1)⇔ (∃x, y ∈ Z)(ax−my = 1)⇔ (a,m) = 1

(ultima echivalenta urmeaza de la Corolarul 4.2.2).Ca urmare, elementele din Zm care admit inversi multiplicativi sunt exact acele

elemente care sunt prime cum. Fie Z∗m multimea acestor elemente. Daca notam prin

a−1 inversul multiplicativ al lui a ∈ Z∗m, atunci (Z∗

m, ·, −1, 1) devine grup comutativ,numit grupul unitatilor inelului Zm. Este usor de vazut ca Z∗

1 = {0}, caz ın care1 = 0 (clasele de echivalenta modulo 1 induse de 0 si 1 coincid) 8.

Algoritmul extins al lui Euclid ne permite determinarea inversului multiplicativmodulo m al lui a. In adevar, daca (a,m) = 1 atunci, cu ajutorul algoritmului extinsal lui Euclid, putem determina α si β astfel ıncat αa+ βm = 1. De aici urmeaza cuusurinta ca α mod m este inversul multiplicativ modulo m al lui a.

De exemplu, grupul unitatilor inelului Z1 coincide cu Z1, iar grupul unitatilorinelului Z26 are 12 elemente; acestea si inversele lor sunt urmatoarele:

1−1 = 1, 3−1 = 9, 5−1 = 21, 7−1 = 15, 11−1 = 19, 17−1 = 23, 25−1 = 25.

6Invers relativ la operatia de ınmultire.7Elemente diferite de 0 al caror produs este 0.8In multe tratate de teoria numerelor, Z∗

m se introduce ca fiind multimea numerelor strict pozitivece nu depasesc m si care sunt prime cu m. In aceasta varianta, Z∗

1 este multimea formata doar din 1(fiind aceeasi cu Z∗

2); pentru m > 1, aceasta definitie produce aceeasi multime Z∗m ca si definitia mai

sus adoptata. Cum diferenta dintre aceste doua abordari difera doar din punct de vedere a multimiiZ∗

1, vom prefera sa mergem pe varianta deja adoptata prin care Z ∗m este grupul unitatilor inelului Zm,

pentru orice m ≥ 1.

Page 126: Fltiplea Fai

120 Elemente de teoria numerelor cu aplicatii ın criptografie

4.4 Functia lui Euler

Reamintim ca Z∗m = {a ∈ Zm|(a,m) = 1}, pentru orice m ≥ 1. Functia φ ce

asociaza fiecarui numar m ≥ 1 cardinalul multimii Z∗m este numita functia lui Euler.

Vom fi interesati ın cele ce urmeaza de determinarea unei formule de evaluare aacestei functii. Observam ıntai ca φ(1) = 1 si φ(p) = p−1, pentru orice numar primp.

Teorema 4.4.1. Fiem,m′ ≥ 1 numere prime ıntre ele si f : Zm×Zm′ → Zmm′ dataprin

f(a, a′) = (ma′ +m′a) mod mm′,

pentru orice a ∈ Zm si a′ ∈ Zm′ . Atunci:

(1) functia f este bijectie;

(2) restrictia functiei f la Z∗m × Z∗

m′ stabileste o bijectie ıntre aceasta multime siZ∗

mm′ .

Demonstratie (1) Multimile Zm×Zm′ si Zmm′ are acelasi numar de elemente, sianume mm′. Ca urmare, este suficient de aratat ca f este functie injectiva. Fie deci(a, a′), (b, b′) ∈ Zm × Zm′ . Presupunem ca are loc f(a, a′) = f(b, b′). Atunci,

ma′ +m′a ≡mm′ mb′ +m′b,

de unde obtinemm(a′ − b′) ≡mm′ m′(b− a).

In baza Propozitiei 4.3.1(6a) deducem

m(a′ − b′) ≡m m′(b− a)

sim(a′ − b′) ≡m′ m′(b− a).

Prima relatie combinata cu (m,m′) = 1 conduce la a ≡m b. Cum a, b ∈ Zm,urmeaza a = b. Similar, a doua relatie conduce la a′ = b′. Deci, f este injectiva.

(2) In baza rezultatului de la (1) este suficient de aratat ca are loc:

(a) daca a ∈ Z∗m si a′ ∈ Z∗

m′ atunci (ma′ +m′a) mod mm′ este ın Z∗mm′ ;

(b) orice element din Z∗mm′ este de forma (ma′ +m′a) mod mm′, unde a ∈ Z∗

m sia′ ∈ Z∗

m′ .

Vom demonstra (a) prin contradictie. Adica, vom presupune ca ma′ +m′a mod mm′

si mm′ nu sunt relativ prime. Deci, ele vor avea un divizor comun d > 1. Este clarca d este divizor comun si pentru numerele ma′ +m′a si mm′.

Cum d divide mm′ si (m,m′) = 1, putem presupune ca d|m sau d|m′, dar nuambele. Presupunem ca d|m (celalalt caz este similar acestuia). Atunci, (d,m′) = 1.Cum d|ma′ + m′a, obtinem d|m′a care combinata cu (d,m′) = 1 conduce la d|a.Dar atunci, (a,m) > 1; contradictie. Deci, ma′ +m′a mod mm′ ∈ Z∗

mm′ .

Page 127: Fltiplea Fai

Functia lui Euler 121

Demonstram acum (b). Fie b ∈ Z∗mm′ . De la (1) urmeaza ca exista a ∈ Zm

si a′ ∈ Zm′ astfel ıncat b = ma′ + m′a mod mm′. Vom arata ca (m, a) = 1 si(m′, a′) = 1. Presupunem, prin contradictie, ca (m, a) > 1. Fie d = (m, a). Atunci,d este divizor comun pentru ma′ + m′a si mm′, ceea ce ne arata ca d este divizorcomun pentru b si mm′ contrazicand (b,mm′) = 1.

Similar se rationeaza ın cazul (m′, a′) > 1. Deci, (b) este demonstrata. �

Corolarul 4.4.1. Au loc urmatoarele proprietati:

(1) φ(ab) = φ(a)φ(b), pentru orice a, b ≥ 1 prime ıntre ele;

(2) daca a ≥ 2 este un numar natural a carui descompunere ın factori primi estea =

∏pei

i , atunciφ(a) =

∏(pei

i − pei−1i ).

Demonstratie (1) Daca (a, b) = 1, atunci Z∗ab si Z∗

a ×Z∗b sunt izomorfe (conform

Teoremei 4.4.1(2)). Deci, cele doua multimi au acelasi cardinal. Adica, φ(ab) =φ(a)φ(b).

(2) In baza proprietatii de la (1) si a descompunerii ın factori primi a oricaruinumar natural a ≥ 2, este suficient de aratat ca are loc φ(pe) = pe − pe−1, pentruorice numar prim p si orice numar natural e ≥ 1.

Fie p si e ca mai sus. Numerele mai mici decat pe ce nu sunt prime cu pe suntexact multiplii lui p. Acestia sunt

1 · p, 2 · p, . . . , (pe−1 − 1) · p.

Ca urmare,φ(pe) = pe − 1− (pe−1 − 1) = pe − pe−1,

ceea ce ıncheie demonstratia. �

Teorema 4.4.2. (Teorema lui Euler)Fie m ≥ 1. Atunci, aφ(m) ≡ 1 mod m, pentru orice a ∈ Z∗

m.

Demonstratie Fie a1, . . . , aφ(m) o enumerare a elementelor multimii Z∗m. Fie

a ∈ Z∗m. Atunci, aa1, . . . , aaφ(m) este, de asemenea, o enumerare a elementelor

multimii Z∗m (pentru orice i �= j, aai si aaj nu sunt congruente modulo m). Ca

urmare,a1 · · ·aφ(m) = (aa1) · · · (aaφ(m)) = aφ(m)a1 · · ·aφ(m).

Deoarece orice element din Z∗m are un invers multiplicativ, relatia de mai sus conduce

la aφ(m) ≡ 1 mod m. �

Corolarul 4.4.2. Fie m ≥ 1. Atunci aφ(m) ≡ 1 mod m, pentru orice a ∈ Z cu(a,m) = 1.

Demonstratie Daca a ∈ Z∗m, atunci corolarul urmeaza direct de la Teorema 4.4.2.

Altfel, se utilizeaza Teorema ımpartirii cu rest si se aplica restului Teorema 4.4.2(restul si m sunt prime ıntre ele). �

Page 128: Fltiplea Fai

122 Elemente de teoria numerelor cu aplicatii ın criptografie

Corolarul 4.4.3. (Teorema lui Fermat)Daca p este un numar prim, atunci ap−1 ≡ 1 mod p, pentru orice a ∈ Z cu p� | a.

Demonstratie Daca p� | a atunci (a, p) = 1. Corolarul urmeaza atunci de la Coro-larul 4.4.2 si faptul ca φ(p) = p− 1. �

Corolarul 4.4.3 poate fi formulat echivalent astfel.

Corolarul 4.4.4. (Teorema lui Fermat)Daca p este un numar prim, atunci ap ≡ a mod p, pentru orice a ∈ Z.

Demonstratie Daca p|a, atunci ap ≡m 0 ≡m a. Altfel, ap−1 ≡ 1 mod p carecombinata cu a ≡ a mod m conduce la ap ≡ a mod p. �

Daca presupunem ca p este prim si p� | a, atunci relatia ap ≡ a mod p conduce,ın baza Propozitiei 4.3.1(5c), la ap−1 ≡ 1 mod p. Deci, Corolarul 4.4.4 implicaCorolarul 4.4.3. Cum ın demonstrarea Corolarului 4.4.4 s-a utilizat Corolarul 4.4.3,deducem ca afirmatiile din cele doua corolare sunt echivalente.

Teorema 4.4.3. Fie m ≥ 1. Atunci,∑

d|m φ(d) = m (d este subanteles ca fiinddivizor pozitiv al lui m deoarece functia φ este definita numai pentru numere strictpozitive).

Demonstratie Fie A = {1, . . . , m} si Ad = {a ∈ A|(a,m) = d}, pentru orice1 ≤ d ≤ m. Este clar ca Ad ∩ Ad′ = ∅, pentru orice d �= d′, si A =

⋃md=1Ad. Ca

urmare,

m = |A| =m∑

d=1

|Ad|.

Fie 1 ≤ d ≤ m. Daca d� |m, atunci Ad = ∅. Daca d|m atunci Ad �= ∅ si

|Ad| = |{a ∈ A|(a,m) = d}|= |{a′|1 ≤ a′ ≤ m/d, (a′, m/d) = 1}|= φ(m/d).

Atunci,

m = |A| =m∑

d=1

|Ad| =∑d|m

|Ad| =∑d|m

φ(m/d) =∑d|m

φ(d),

ceea ce ıncheie demonstratia teoremei. �

4.5 Radacini primitive

Fie m ≥ 1. Am vazut ın Sectiunea 4.3 ca un element a ∈ Zm are un invers mul-tiplicativ daca si numai daca (a,m) = 1. Atunci, Z∗

m = {a ∈ Zm|(a,m) = 1} ınraport cu ınmultirea claselor de resturi devine grup comutativ. Deoarece ın Zm existaφ(m) numere prime cu m (Sectiunea 4.4), ordinul grupului Z∗

m este φ(m).

Page 129: Fltiplea Fai

Radacini primitive 123

Vom nota prin ordm(a) ordinul elementului a ∈ Z∗m si ne vom referi la el ca fiind

ordinul lui a modulo m 9. In cazul m = 1, Z∗1 = {0} si ord1(0) = 1.

Cititorul poate demonstra cu usurinta urmatoarele proprietati.

Propozitia 4.5.1. Fie m ≥ 1 and a ∈ Z∗m. Atunci, au loc urmatoarele proprietati:

(1) ordm(a) = min{k ≥ 1|ak ≡ 1 mod m};

(2) Daca ak ≡ 1 mod m, atunci ordm(a)|k. In particular, ordm(a)|φ(m);

(3) ordm(a) = φ(m) daca si numai daca aφ(m)/q �≡ 1 mod m, pentru orice factorprim q al lui φ(m);

(4) ak ≡ al mod m daca si numai daca k ≡ l mod ordm(a);

(5) elementele a0 mod m, a1 mod m, . . . , aordm(a)−1 mod m sunt distincte douacate doua;

(6) ordm(ak) = ordm(a)/(k, ordm(a)), pentru orice k ≥ 1;

(7) daca ordm(a) = d1d2, atunci ordm(ad1) = d2.

Corolarul 4.5.1. Fie m ≥ 1 and a, b ∈ Z∗m. Daca ordm(a) si ordm(b) sunt prime

ıntre ele, atunci ordm(ab mod m) = ordm(a)ordm(b).

Zm cu adunarea formeaza grup ciclic, pentru orice m ≥ 1. Nu acelasi lucru sepoate afirma despre Z∗

m cu ınmultirea. Atunci cand Z∗m este grup ciclic (ın raport cu

ınmultirea), generatorii lui mai sunt numiti radacini primitive modulom 10. Este clarca a ∈ Z∗

m este radacina primitiva modulo m daca si numai daca ordm(a) = φ(m).0 este (singura) radacina primitiva modulo 1.

Cititorul poate verifica cu usurinta ca are loc:

Propozitia 4.5.2. Fie m ≥ 1 si a ∈ Z∗m. Atunci, au loc urmatoarele proprietati:

(1) a este radacina primitiva modulo m daca si numai daca ordm(a) = φ(m);

(2) a este radacina primitiva modulo m daca si numai daca are loc

(∀q)(q factor prim q al lui φ(m) ⇒ aφ(m)/q �≡ 1 mod m);

(3) daca a este radacina primitiva modulo m atunci, pentru orice k ≥ 1, ak esteradacina primitiva modulo m daca si numai daca (k, φ(m)) = 1;

(4) daca exista radacini primitive modulo m, atunci exista numarul acestora esteφ(φ(m)).

Determinarea valorilor luim pentru care grupul Z∗m este ciclic a fost rezolvata de

catre Gauss. Rezultatul nu este trivial si ıl prezentam fara demonstratie.

Teorema 4.5.1. Grupul Z∗m este ciclic daca si numai daca meste de forma 1, 2, 4, pk

sau 2pk, unde p este numar prim iar k ≥ 1.9Notatia ordm(a) a fost introdusa de Gauss ın Disquisitiones Arithmeticae publicata ın 1801 [60].

10Termenul de radacina primitiva a fost introdus de Euler ın 1773. Demonstratia lui, conformcareia exista radacini primitive modulo p, pentru orice numar prim p, s-a dovedit a fi eronata. Gaussa furnizat mai multe demonstratii corecte acestui rezultat.

Page 130: Fltiplea Fai

124 Grupuri

4.6 Problema logaritmului discret

Fie G un grup ciclic finit si a un generator al sau. Atunci,

G = {a0 = e, a1, . . . , a|G|−1},

unde ai �= aj pentru orice 0 ≤ i, j < |G| cu i �= j.Daca b ∈ G, atunci exista k < |G| astfel ıncat b = ak. Numarul k se numeste

indexul sau logaritmul discret al lui b ın grupul G relativ la a. Daca G = Z∗m, atunci

k se mai numeste si indexul sau logaritmul discret al lui b modulo m relativ la a.Determinarea algoritmica a indexului k poarta denumirea de problema logarit-

mului discret. In informatica, aceasta problema se enunta astfel:

Problema logaritmului discretInstanta: un grup ciclic finit G, un generator a al sau si b ∈ G;Intrebare: determinati k < |G| astfel ıncat b = ak.

Solutia cea mai la ındemana de rezolvare a acestei probleme este de a enumeraelementele grupului G, ın forma

a0, a1, a2, . . . , a|G|−1

pana se gaseste ak ce este b. Aceasta solutie necesita, ın cazul cel mai nefavorabil,parcurgerea a |G| − 1 pasi ın care, exceptand primii doi pasi, restul pasilor necesitao ınmultire cu a si o comparatie a rezultatului cu b.

Daca |G| este foarte mare, de exemplu |G| ≥ 10100, atunci aceasta solutie nupoate fi pusa ın practica.

Un algoritm de complexitate O(√|G|) a fost propus de Daniel Shanks ın [166].

Ideea acestuia se bazeaza pe urmatoarele. Fie k cu 0 ≤ k < |G| si n = '√|G|(.

Atunci, k poate fi scris ın forma

k = qn + r,

unde 0 ≤ q, r < n (folosind teorema ımpartirii cu rest si observand ca q < n).Ca urmare, determinarea numarului k cu proprietatea b = ak se poate reduce ladeterminarea a doua numere q si r ce satisfac 0 ≤ q, r < n si b = anq+r. Dacarescriem egalitatea b = anq+r ın forma ar = b(a−n)q, atunci problema noastra sereduce la a gasi doua numere q si r ce satisfac 0 ≤ q, r < n si ar = b(a−n)q.Determinarea acestor numere se poate face astfel:

• se calculeaza valorile a0, a1, . . . , an−1 si se stocheaza ıntr-o lista L;

• se calculeaza succesiv b, ba−n, b(a−n)2, . . . , b(a−n)n−1 si, pentru fiecare valoa-re calculata se verifica daca aceasta se gaseste ın lista L. Apartenenta uneiastfel de valori la lista L determina automat r si q, ıntrerupand totodata siprocesul de generare.

Algoritmul sugerat este urmatorul.

Page 131: Fltiplea Fai

Ecuatii congruentiale 125

Algoritmul Baby-step Giant-stepinput: un grup ciclic finit G, a un generator al sau si b ∈ G;output:un numar k astfel ıncat 0 ≤ k < |G| si b = ak;begin

1. n :=√|G|;

2. calculeaza o lista L := {(r, ar)|0 ≤ r < n} si sorteaz-o dupa adoua componenta;

3. calculeaza a−n (folosind eventual an−1 din lista L);4. c := b;5. for q := 0 to n− 1 do6. if (∃r)((r, c) ∈ L)7. thenbegin k := qn+ r; quit end8. elsec := ca−n;end.

Algoritmul de mai sus necesita O(n) spatiu pentru memorarea listei L. Calcululacesteia necesita O(n) ınmultiri. Complexitatea sortarii ei este O(n log n) (ea poatefi sortata o data cu generarea fiecarei noi perechi ce urmeaza a fi adaugata listei). Pre-calculand lista L, pasul 3 necesita o ınmultire si o determinare de invers, iar pasul 5necesita O(n) ınmultiri si O(n) cautari ın tabela.

Denumirea algoritmului provide de la faptul ca determinarea elementelor listei seface prin ınmultiri cu a (baby-steps), iar reactualizarea lui c se face prin ınmultiri cua−n (giant-steps).

Incheiem sectiunea prin remarca ca nu se cunoaste nici o solutie polinomiala(ın raport cu log |G|) de rezolvare a acestei probleme. Problema este considerata in-tractabila pentru valori mari ale lui |G| (adica, algoritmii existenti nu pot fi utilizati ınpractica), ceea ce o face destul de potrivita pentru dezvoltarea de tehnici criptograficebazate pe ea. De exemplu, semnatura digitala ElGamal ısi bazeaza securitatea peaceasta problema (cine doreste sa atace cu succes semnatura ElGamal, este pus ınsituatia rezolvarii unei instante a acestei probleme.).

4.7 Ecuatii congruentiale

Ecuatiile congruentiale, similare ecuatiilor clasice, joaca un rol deosebit de importantın aritmetica, structura grupurilor ciclice, criptografie etc. Vom prezenta mai joscateva elemente de baza asupra acestora.

Definitia 4.7.1. Fie f(x) = anxn + · · ·a0 un polinom cu coeficienti ıntregi sim ≥ 2.

(1) Spunem ca f are gradul n modulo m daca an �≡ 0 mod m.

(2) Spunem ca c ∈ Z este radacina modulo m a lui f sau ca este solutie a ecuatieif(x) ≡ 0 mod m daca f(c) ≡ 0 mod m.

Page 132: Fltiplea Fai

126 Elemente de teoria numerelor cu aplicatii ın criptografie

Ecuatiile de forma f(x) ≡ 0 mod m vor fi numite ecuatii congruentiale. Dacagradul polinomului f este n modulo m, atunci vom mai spune ca ecuatia congruen-tiala este de grad n sau ordin n. Ecuatiile congruentiale de grad 1 vor mai fi numitesi ecuatii congruentiale liniare.

O prima ecuatie congruentiala a fost implicit ıntalnita ın Teorema 4.4.2,

xφ(m) − 1 ≡ 0 mod m.

Conform Teoremei 4.4.2, aceasta ecuatie are φ(m) solutii distincte (ne-congruente)modulo m (vom spune mai simplu ca aceasta ecuatie are φ(m) solutii modulo m).

Sa ne ıntreptam atentia spre ecuatii congruentiale liniare ax + b ≡ 0 mod mın necunoscuta x, unde a, b ∈ Z. Conform definitiei congruentei modulo m, a de-termina o solutie a acestei ecuatii revine la a determina un cuplu (x, y) de numereıntregi astfel ıncat

ax+ (−m)y = −b.Apeland la Corolarul 4.2.2, aceasta ultima ecuatie admite solutie (ın x si y) daca sinumai daca (a,m)|b. Am obtinut astfel urmatorul rezultat important.

Teorema 4.7.1. Fie a, b,m ∈ Z cu m ≥ 2. Atunci, ecuatia ax ≡ b mod m are solutiiın Z daca si numai daca (a,m)|b. In plus, daca aceasta ecuatie are solutii, atunci eaare exact (a,m) solutii ın Zm, ce sunt de forma

(x0 + im/(a,m)) mod m,

unde x0 este o solutie (arbitrara dar fixata) a acestei ecuatii si 0 ≤ i < (a,m).

Demonstratie Conform observatiei de mai sus, ne ramane de demonstrat doarpartea a doua a acestei teoreme.

Presupunem ca ecuatia ax ≡ b mod m are solutii si, fie x0 o solutiei a ei. Vomarata ca numerele din teorema sunt solutii, distincte doua cate doua, ale ecuatiei si,reciproc, orice solutie a ecuatiei este de forma mentionata ın teorema.

Fie d cel mai mare divizor comun al numerelor a si m. Prin simpla verificarededucem ca pentru orice i ∈ {0, . . . , d− 1},

(x0 + im/d) mod m

este solutie a acestei ecuatii si, orice doua astfel de solutii sunt distincte.Fie c ∈ Zm o solutie a ecuatiei ax ≡ b mod m. Relatiile ac ≡ b mod m si

ax0 ≡ b mod m conduc la ac ≡ ax0 mod m, iar ın baza Propozitiei 4.3.1(5b)obtinem c ≡ x0 mod m/d. Ca urmare, exista un numar i ≥ 0 astfel ıncat c =(x0 + im/d) mod m. Deoarece

c = (x0 + im/d) mod m = (x0 + (i mod m)m/d) mod m,

deducem ca numarul i poate fi ales satisfacand 0 ≤ i ≤ d− 1. Deci, orice solutie dinZm a ecuatiei ax ≡ b mod m este de forma

(x0 + im/(a,m)) mod m,

unde 0 ≤ i < d. �

Page 133: Fltiplea Fai

Ecuatii congruentiale 127

Corolarul 4.7.1. Fie a,m ∈ Z cu a �= 0 si m ≥ 2. Atunci, urmatoarele afirmatiisunt echivalente:

(1) ecuatia ax ≡ 1 mod m are solutie ın Zm, si ın acest caz ea este unica ın Zm;

(2) (a,m) = 1;

(3) a admite un invers multiplicativ ın Zm, ce este unic ın Zm.

Solutiile modulo m ale ecuatiilor ax ≡ b mod m, atunci cand (a,m)|b, se obtinastfel. Fie d = (a,m) si α, β ∈ Z astfel ıncat aα + mβ = d (α si β determinate cuajutorul algoritmului extins al lui Euclid). Considerand b = db ′, relatia de mai susconduce la aαb′ +mβb′ = db′, de unde deducem ca are loc aαb′ ≡ b mod m. Deci,αb′ mod m este solutie ın Zm a ecuatiei ax ≡ b mod m. Celelalte solutii ın Zm seobtin pe baza relatiei din Teorema 4.7.1.

Teorema 4.7.2. (Teorema lui Lagrange)Orice ecuatie congruentiala de grad n modulo p, unde p este un numar prim, are celmult n solutii (ne-congruente) modulo p.

Demonstratie Fie p un numar prim. Vom face demonstratia prin inductie matem-atica dupa gradul ecuatiei.

Fie f(x) = a1x + a0 un polinom de gradul 1 modulo p. Ca urmare, (a1, p) = 1si, atunci, Teorema 4.4.1 ne spune ca ecuatia f(x) ≡ 0 mod p are exact o solutiemodulo p.

Presupunem afirmatia din teorema adevarata pentru ecuatii congruentiale modulop de grad n ≥ 1, si fie f(x) = an+1x

n+1 + anxn + · · · + a0 un polinom de gradul

n + 1 modulo p. Presupunem, prin contradictie, ca ecuatia f(x) ≡ 0 mod p arecel putin n + 2 solutii (ne-congruente) modulo p, si fie c0, . . . , cn+1 solutii distincte(ne-congruente) modulo p ale acesteia. Atunci,

f(x)− f(c0) = (x− c0)g(x),

unde g(x) este un polinom de grad cel mult n cu proprietatea ca coeficientul lui xn

ın g este an+1. Cum an+1 �≡ 0 mod p, deducem ca g are gradul n modulo p.Aratam acum ca c1, . . . , cn+1 sunt radacini (ne-congruente) modulo p ale lui g,

ceea ce va constitui o contradictie cu ipoteza inductiva si, deci, afirmatia noastra vafi falsa. Fie 1 ≤ i ≤ n + 1. Deoarece f(ci) ≡ 0 mod p, obtinem

f(ci)− f(c0) = (ci − c0)g(ci) ≡ 0 mod p.

ci si c0 nu sunt congruente modulo p si, atunci, relatia de mai sus conduce la g(ci) ≡0 mod p. Deci, ci este radacina modulo p a lui g. Cum c1, . . . , cn+1 nu sunt con-gruente modulo p (doua cate doua), deducem ca g ar avea cel putin n + 1 radacini(ne-congruente) modulo p. Ca urmare afirmatia facuta este falsa si, deci, teoremaeste demonstrata. �

In Teorema 4.7.2, daca nu se care ca p sa fie numar prim, atunci concluzia acesteiaar putea sa nu fie adevarata (a se vedea Exemplul 4.8.1(2)).

Page 134: Fltiplea Fai

128 Elemente de teoria numerelor cu aplicatii ın criptografie

Corolarul 4.7.2. Fie p un numar prim si d un divizor al lui p − 1. Atunci, ecuatiaxd − 1 ≡ 0 mod p are d solutii (ne-congruente) modulo p.

Demonstratie Fie p− 1 = de. Atunci,

xp−1 − 1 = (xd − 1)(xd(e−1 + · · ·+ xd + 1) = (xd − 1)g(x).

Conform teoremei lui Euler, xp−1−1 are exact p−1 radacini (ne-congruente) modulop, iar relatia de mai sus ne spune ca orice radacina a acestui polinom este radacinapentru xd − 1 sau g(x).

Polinomul g(x) are cel mult d(e−1) radacini (ne-congruente) modulo p (Teorema4.7.2). Combinand cu relatia de mai sus, deducem ca xd− 1 trebuie sa aiba cel putin(p− 1)− d(e− 1) = d radacini (ne-congruente) modulo p. Aplicand Teorema 4.7.2polinomului xd − 1, deducem ca el are cel mult d radacini (ne-congruente) modulop. Ca urmare, acest polinom trebuie sa aiba exact d radacini (ne-congruente) modulop. �

4.8 Teorema chineza a resturilor

Problema lui Sun Tzu Suan Ching, mentionata la ınceputul Sectiunii 4.3, poatefi formalizata astfel: determinati x ∈ Z astfel ıncat acesta sa verifice simultancongruentele ⎧⎨

⎩x ≡ 2 mod 3x ≡ 3 mod 5x ≡ 2 mod 7

Ca urmare, suntem condusi la rezolvarea unor sisteme de ecuatii congruentiale lini-are. Mentionam ınca de la ınceput ca astfel de sisteme pot sa aiba sau sa nu aibasolutie. De exemplu, sistemul de mai sus admite solutia x = 23, dar sistemul{

x ≡ 0 mod 3x ≡ 1 mod 6

nu are solutii (altfel, ar exista α, β ∈ Z astfel ıncat 3α = x si 6β = x− 1, ceea ce arconduce la 3α− 6β = 1 care nu admite solutii ın α si β deoarece 3� | 1).

Sa consideram cazul unui sistem cu trei ecuatii,⎧⎨⎩

x ≡ b1 mod m1

x ≡ b2 mod m2

x ≡ b3 mod m3,

si sa analizam posibilitatile de a obtine solutii pentru acesta.In primul rand, putem porni de la ideea determinarii unei solutii xi pentru fiecare

ecuatie si de a combina aceste solutii ın una singura x astfel ıncat, prin reduceremodulomi, x sa devina solutie pentru a i-a ecuatie. O varianta naturala de a combinax1, x2 si x2 ar fi prin

x = m2m3x1 +m1m3x2 +m1m2x3.

Page 135: Fltiplea Fai

Teorema chineza a resturilor 129

Atunci, x este solutie a primei ecuatii daca si numai daca

m2m3x1 ≡ b1 mod m1.

Ca urmare, x1 ales la ınceput nu trebuie sa fie solutie a primei ecuatii a sistemului cia ecuatiei

m2m3x ≡ b1 mod m1,

ceea ce este posibil daca si numai daca (m2m3, m1)|b1.In mod similar, x2 trebuie sa fie solutie a ecuatiei

m1m3x ≡ b2 mod m2,

ceea ce este posibil daca si numai daca (m1m3, m2)|b2, iar x3 trebuie sa fie solutie aecuatiei

m1m2x ≡ b3 mod m3,

ceea ce este posibil daca si numai daca (m1m2, m3)|b3.Aceste observatii conduc la urmatorul rezultat foarte important.

Teorema 4.8.1. (Teorema chineza a resturilor)Fie k ≥ 1 un numar natural si m1, . . . , mk numere ıntregi prime ıntre ele doua catedoua. Atunci, pentru orice b1, . . . , bk ∈ Z, sistemul de ecuatii⎧⎨

⎩x ≡ b1 mod m1

· · ·x ≡ bk mod mk

admite o unica solutie modulo m1 · · ·mk.

Demonstratie Fie m = m1 · · ·mk. Fie ci = m/mi, pentru orice 1 ≤ i ≤ k.Deoarece mi este relativ prim cu oricare mj , j �= i, deducem ca mi este prim si cuci. In baza Teoremei 4.7.2, ecuatia

cix ≡ bi mod mi

admite solutii, pentru orice 1 ≤ i ≤ k; fie xi o astfel de solutie.Este imediat de verificat ca x = c1x1 + · · · + ckxk este solutie a sistemului, iar

x mod m este solutie ın Zm.Vom arata ca y ≡ xmodm, pentru orice alta solutie y a sistemului. Fie y o solutie

a sistemului. Deoarece y ≡ bi mod mi si x ≡ bi mod mi pentru orice 1 ≤ i ≤ k,deducem y ≡ x mod mi pentru orice 1 ≤ i ≤ k, care combinate cu (mi, mj) = 1pentru orice i �= j conduc la y ≡ x mod m. �

Unica solutie x ∈ Zm a sistemului din Teorema chineza a resturilor poate fiefectiv determinata utilizand, de exemplu, algoritmul extins al lui Euclid.

Teorema chineza a resturilor poate fi generalizata natural ın urmatoarele douavariante.

Page 136: Fltiplea Fai

130 Elemente de teoria numerelor cu aplicatii ın criptografie

Corolarul 4.8.1. Fie k ≥ 2 un numar natural si a1, . . . , ak, m1, . . . , mk numereıntregi astfel ıncat (ai, mi) = 1 si (mi, mj) = 1, pentru orice 1 ≤ i, j ≤ k cui �= j. Atunci, pentru orice b1, . . . , bk ∈ Z, sistemul de ecuatii⎧⎨

⎩a1x ≡ b1 mod m1

· · ·akx ≡ bk mod mk

admite o unica solutie modulo m1 · · ·mk.

Demonstratie Deoarece (ai, mi) = 1 pentru orice 1 ≤ i ≤ k, deducem ca sistemul⎧⎨⎩

a1x ≡ b1 mod m1

· · ·akx ≡ bk mod mk

este echivalent cu sistemul ⎧⎨⎩

x ≡ a−11 b1 mod m1

· · ·x ≡ a−1

k bk mod mk

ce admite solutie unica modulo m1 · · ·mk ın baza Teoremei chineze a resturilor. �

Teorema 4.8.2. Fie k ≥ 1 un numar natural si b1, . . . , bk, m1, . . . , mk numere ıntregi.Atunci, sistemul de ecuatii ⎧⎨

⎩x ≡ b1 mod m1

· · ·x ≡ bk mod mk

admite solutii daca si numai daca bi ≡ bj mod (mi, mj), pentru orice 1 ≤ i, j ≤ kcu i �= j. In plus, daca acest sistem admite solutii, atunci aceasta este unica modulo[m1, . . . , mk].

Demonstratie Vom demonstra teorema pentru cazul particular k = 2.Daca sistemul de mai sus admite o solutie, fie aceasta x = a, atunci

a ≡ b1 mod m1 si a ≡ b2 mod m2.

De aici urmeaza

a ≡ b1 mod (m1, m2) si a ≡ b2 mod (m1, m2),

ceea ce conduce la b1 ≡ b2 mod (m1, m2).Reciproc, presupunem ca (m1, m2)|b1− b2. Orice solutie a primei ecuatii este de

forma x = b1 +m1y, unde y ∈ Z. Cerinta ca o astfel de solutie sa verifice si cea dea doua ecuatie conduce la problema existentei unui y ∈ Z astfel ıncat

b1 +m1y ≡ b2 mod m2

Page 137: Fltiplea Fai

Teorema chineza a resturilor 131

sau, altfel spus, la existenta unei solutii (ın y) a ecuatiei

m1y ≡ b1 − b2 mod m2.

Cum (m1, m2)|b1 − b2, deducem ca aceasta ecuatie admite solutii (ın y). Ca urmare,sistemul admite solutii.

Sa presupunem acum ca sistemul admite solutii si sa aratam ca orice doua solutiisunt congruente modulo [m1, m2]. Fie deci a si a′ doua solutii. Din faptul ca acesteatrebuie sa verifice prima ecuatie obtinem

a ≡ a′ mod m1.

Similar, a ≡ a′ mod m2. Aceste doua relatii conduc la a ≡ a′ mod [m1, m2], ın bazaPropozitiei 4.3.1(6b). �

O aplicatie importanta a teoremei chineze a resturilor consta ın determinareanumarului de solutii ale ecuatiilor de forma

f(x) ≡ 0 mod m1 · · ·mk,

unde f este un polinom cu coeficienti ıntregi, iar m1, . . . , mk sunt numere naturaleprime ıntre ele doua cate doua.

Teorema 4.8.3. Fie f un polinom cu coeficienti ıntregi si m1, . . . , mk numere natu-rale prime ıntre ele doua cate doua, unde k ≥ 2. Atunci, un numar a ∈ Z este solutiea ecuatiei

f(x) ≡ 0 mod m1 · · ·mk,

daca si numai daca a este solutie a fiecarei ecuatii

f(x) ≡ 0 mod mi,

1 ≤ i ≤ k. In plus, numarul solutiilor ın Zm1···mkale ecuatiei

f(x) ≡ 0 mod m1 · · ·mk

este egal cu produsul numerelor de solutii ın Zmiale ecuatiilor

f(x) ≡ 0 mod mi,

unde 1 ≤ i ≤ k.

Demonstratie Este clar ca a ∈ Z este solutie a ecuatiei

f(x) ≡ 0 mod m1 · · ·mk

daca si numai daca este solutie a ecuatiilor

f(x) ≡ 0 mod mi,

Page 138: Fltiplea Fai

132 Elemente de teoria numerelor cu aplicatii ın criptografie

1 ≤ i ≤ k.Fie ai solutie ın Zmi

a ecuatiei

f(x) ≡ 0 mod mi,

1 ≤ i ≤ k. Sistemul ⎧⎨⎩

x ≡ a1 mod m1

· · ·x ≡ ak mod mk

admite o unica solutie ın Zm1···mk(conform Teoremei chineze a resturilor). Mai mult,

se verifica cu usurinta ca aceasta este solutie a ecuatiei

f(x) ≡ 0 mod m1 · · ·mk.

Ca urmare, orice k-uplu de solutii (a1, . . . , ak) ∈ Zm1 × · · · × Zmka ecuatiilor

f(x) ≡ 0 mod mi,

1 ≤ i ≤ k, conduce la o unica solutie ın Zm1···mka ecuatiei

f(x) ≡ 0 mod m1 · · ·mk,

si reciproc, pentru orice solutie a a acestei ecuatii, a mod mi este solutie ın Zmia

ecuatiei

f(x) ≡ 0 mod mi,

i ≤ i ≤ k. Aceasta ıncheie demonstratia celei de a doua parti a teoremei. �

Exemplul 4.8.1.

(1) Fie p un numar prim. Ecuatia x2 ≡ 1mod p are exact 2 solutii ın Zp, si anumex = 1 si x = p− 1. In adevar,

x2 ≡ 1 mod p ⇔ p|x2 − 1⇔ p|(x− 1)(x+ 1)⇔ p|x− 1 sau p|x+ 1⇔ x ≡ 1 mod p sau x ≡ −1 mod p.

(2) Fie p1, . . . , pk numere prime distincte, k ≥ 2. Atunci, ecuatia

x2 ≡ 1 mod p1 · · · pk

are exact 2k solutii ın Zp1···pk.

Page 139: Fltiplea Fai

Complexitatea operatiilor 133

4.9 Complexitatea operatiilor

4.9.1 Ordine de marime

Analiza eficientei algoritmilor nu este ıntotdeauna un lucru simplu, fiind adeseafoarte dificil de determinat timpul exact de executie al unui algoritm. In astfel desituatii suntem fortati ın determinarea unei aproximari a timpului de executie si,frecvent, putem determina doar aproximari asimptotice.

In aceasta sectiune vom prezenta principalele ordine de marime prin intermediulcarora vom putea discuta despre comportarea asimptotica a algoritmilor. Reamintimca prin R+ (R∗

+) s-a notat multimea numerelor reale pozitive (strict pozitive).Fie g o functie de la N la R+. Consideram urmatoarele multimi:

O(g) = {f : N→ R+|(∃c ∈ R∗+)(∃n0 ∈ N)(∀n ≥ n0)(f(n) ≤ cg(n))}

Ω(g) = {f : N→ R+|(∃c ∈ R∗+)(∃n0 ∈ N)(∀n ≥ n0)(cg(n) ≤ f(n))}

Θ(g) = {f : N→ R+|(∃c1, c2 ∈ R∗+)(∃n0 ∈ N)(∀n ≥ n0)

(c1g(n) ≤ f(n) ≤ c2g(n))}o(g) = {f : N→ R+|(∀c ∈ R∗

+)(∃n0 ∈ N)(∀n ≥ n0)(f(n) ≤ cg(n))}

Definitia 4.9.1.1. Fie f si g functii de la N la R+, si X ∈ {O,Ω,Θ, o}. Spunem caf este de ordinul X al lui g, si notam f(n) = X(g(n)), daca f ∈ X(g).

Notatia “O” a fost introdusa de Paul Bachmann ın 1894 [4] fiind apoi populari-zata intens de Edmund Landau [99, 100], ın timp ce notatia “o” ıi este datorata luiLandau [99] 11.

Intuitiv, “f(n) = O(g(n))” ınseamna ca f nu creste mai repede, din punctde vedere asimptotic, decat g (eventual multiplicata printr-o constanta). Atragematentia asupra notatiei “f(n) = O(g(n))”; ea nu trebuie gandita ca o egalitate, ci caapartenenta functiei f la multimea O(g). Cititorul s-ar putea arata nedumerit, si pebuna dreptate, de adoptarea a ınca unei notatii (cea prin “=”) atata timp cat notatiaprin “∈” este clara si corecta din punct de vedere formal. Adoptarea acestei noinotatii este datorata faptului ca aceasta este ıncetatenita ın randul matematicienilor siinformaticienilor.

Evident, o notatie de genul f(n) �= O(g(n) ınseamna ca f nu este de ordinul Oal lui g.

Urmatoarea propozitie, a carei demonstratie urmeaza cu usurinta de la definitii,prezinta cateva din proprietatile de baza ale ordinelor de marime.

Propozitia 4.9.1.1. Fie f , g, h si k functii de la N la R+. Atunci, au loc urmatoareleproprietati:

(1) f(n) = O(f(n));

11Toate aceste notatii pot fi considerate ıntr-un cadru mai general, cel al functiilor definite pe R cuvalori ın R. Pentru necesitatile noastre, varianta deja considerata este suficienta.

Page 140: Fltiplea Fai

134 Complexitatea operatiilor

(2) daca f(n) = O(g(n)) si g(n) = O(h(n)), atunci f(n) = O(h(n));

(3) f(n) = O(g(n)) daca si numai daca g(n) = Ω(f(n));

(4) f(n)) = Θ(g(n)) daca si numai daca f(n) = O(g(n)) si f(n) = Ω(g(n));

(5) daca f(n) = O(h(n)) si g(n) = O(k(n)), atunci (f · g)(n) = O(h(n)k(n)) si(f + g)(n) = O(max{h(n), k(n)}) ;

(6) daca exista n0 ∈ N astfel ıncat g(n) �= 0 pentru orice n ≥ n0, atunci f(n) =

o(g(n)) daca si numai daca limn→∞f(n)g(n)

= 0.

Urmatoarele inegalitati sunt foarte utile ın stabilirea ordinelor de marime pentrudiverse functii:

• (Formula lui Stirling)

√2πn

(ne

)n

e1

12n+1 ≤ n! ≤√

2πn(ne

)n

e1

12n ,

pentru orice n ≥ 1;

• pentru orice constante reale ε si c astfel ıncat 0 < ε < 1 < c are loc

1 < ln ln n < ln n < e√

(ln n)(ln ln n) < nε < nc < nln n < cn < nn < ccn

(fiecare inegalitate este satisfacuta pentru orice n ≥ n0, unde n0 este alesconvenabil pentru fiecare inegalitate).

Astfel, putem obtine:

• daca f este un polinom de grad k cu coeficienti reali dar astfel ıncat coeficientultermenului de grad maxim este pozitiv iar functia polinomiala asociata (notatatot prin f ) ia valori reale pozitive, atunci f(n) = Θ(nk);

• pentru orice constanta reala c > 1, logc n = Θ(log n) (log reprezinta functialogaritm ın baza 2);

• pentru orice numar real ε cu 0 < ε < 1, log n = O(nε);

• pentru orice numar natural k ≥ 1, logk n = O(n);

• n! = Ω(2n) si n! = o(nn);

• log(n!) = Θ(nlog n) 12;

12De fapt, observam ca limn→∞ n!

( ne )n√

2πn= 1, ceea ce ne arata ca

(ne

)n√2πn constituie o

si mai buna aproximare asimptotica pentru n!. Astfel, este interesant de remarcat ca, pentru n =100, e

11201 ≈ 1.00083299 si e

11200 ≈ 1.00083368. Ca urmare, formula lui Stirling ofera o margine

superioara pentru aproximarea lui n! mai mare de (1 + 10−6) ori decat marginea inferioara.

Page 141: Fltiplea Fai

Ordine de marime 135

• daca f : N → R+ este o functie astfel ıncat exista n0 ∈ N cu proprietateaf(n) ≥ 1 pentru orice n ≥ n0, atunci

1

22log2 f(n)� ≤ f(n) ≤ 2log2 f(n)�

pentru orice n ≥ n0, ceea ce conduce la f(n) = Θ(2log2 f(n)�).

Atragem ınsa atentia aupra unor situatii de genul 4n �= O(2n) 13.

Daca A si B sunt multimi de functii ca cele definite mai sus (O(g) etc.) iar f esteo functie de la N la R+, atunci vom nota:

• f +A = {f + g|g ∈ A};

• A+ B = {f + g|f ∈ A, g ∈ B};

• fA = {f · g|g ∈ A}. Daca f este functia constanta c, atunci vom scrie cA ınloc de fA;

• AB = {fg|f ∈ A, g ∈ B};

• O(A) =⋃

f∈AO(f).

Egalitatea A = B va fi ınteleasa prin incluziune (pentru orice functie f , dacaf ∈ A atunci f ∈ B). Aceasta ultima conventie este ın stransa legatura cu conventiadeja adoptata (f(n) = O(g(n)), de exemplu). Astfel, O(f(n)) = O(g(n)) ne spuneca orice functie ce este de ordinul O al lui f este si de ordinul O al lui g (dar nu ınmod necesar si invers), iar f(n) +O(g(n)) = O(h(n)) ne spune ca suma dintre f sio functie de ordinul O al lui g este o functie de ordinul O al lui h. De exemplu,

1

3n3 +O(n2) = O(n3).

Putem accepta si notatii de genul f(n) = g(n) + O(h(n)) pentru a specifica faptulca f este suma dintre g si o functie de ordinul O al lui h (sau, altfel spus, f este unelement al multimii g +O(h)).

Urmatoarea propozitie urmeaza cu usurinta de la definitii (dar atragem ınca o dataatentia asupra faptului ca egalitatea dintre multimile noastre de functii desemneazade fapt incluziune de la stanga la dreapta).

Propozitia 4.9.1.2. Fie f si g functii de la N la R+ si c ∈ R+. Atunci, au locurmatoarele proprietati:

(1) O(f(n)) +O(g(n)) = O(f(n) + g(n));

(2) cO(f(n)) = O(f(n));

(3) O(O(f(n))) = O(f(n));

(4) O(f(n))O(g(n)) = O(f(n)g(n));

(5) O(f(n)g(n)) = f(n)O(g(n)).

13Daca presupunem, prin contradictie, ca 4n = O(2n), atunci exista o constanta reala c > 0 si unnumar natural n0 astfel ıncat 4n ≤ c2n, pentru orice n ≥ n0. De aici urmeaza 2n ≤ c, pentru oricen ≥ n0, ceea ce este fals.

Page 142: Fltiplea Fai

136 Complexitatea operatiilor

4.9.2 Timpul de executie al unui algoritm

Estimarea “timpului” necesar executiei unui algoritm se realizeaza ın raport cu oanumita unitate de masura a datelor de intrare. Cel mai adesea se ia ın consider-are “lungimea” reprezentarii datelor de intrare (a operanzilor) ıntr-o baza b 14 15.Mentionam ıntai ca orice numar natural n poate fi reprezentat ın baza b ≥ 2 ın forma

n = nk−1bk−1 + · · ·+ n0,

unde 0 ≤ ni < b pentru orice 0 ≤ i < k, si nk−1 �= 0. Aceasta reprezentare estecomplet determinata de secventa de numere

(nk−1, . . . , n0)b,

motiv pentru care aceasta secventa va fi numita reprezentarea ın baza b a lui n.Numarul k > 0 este numit lungimea reprezentarii lui n ın baza b (sau lungimealui n, atunci cand baza b este subanteleasa din context), nk−1 se numeste cifra ceamai semnificativa, iar n0 cifra cea mai putin semnificativa a reprezentarii lui n ınbaza b. Atunci cand k = 1 spunem ca n este numar ın precizie simpla; altfel, n esteun numar ın precizie multipla.

Relatia dintre n si k este data prin

k = 'logb n(+ 1

(cu conventia logb 0 = 0). Ca urmare, functia f(n) ce furnizeaza lungimea reprezen-tarii ın baza b a lui n satisface relatia f(n) = Θ(logb n).

Atunci cand b ≤ 10, notatia ın baza b va fi simplificata la (nk−1 · · ·n0)b. Putemface aceasta simplificare si pentru 10 < b ≤ 35 daca folosim, de exemplu, alfabetulenglez si renotam numerele 10, 11 etc. prin A, B etc., ın aceasta ordine. Astfel,(1A2)16 constituie aceeasi reprezentare ın baza 16 ca si secventa (1, 10, 2)16. Atuncicand vom lucra cu baza 2 sau 10 vom folosi o noua simplificare, obtinuta prin elimi-narea parantezelor si a indicelui bazei. Cifrele utilizate pentru scrierea unui numarın baza 2 sunt numite cifre binare sau biti. Secventele binare sunt secvente de biti.Uneori este convenabil sa completam la stanga cu zerouri reprezentarea ın baza b alui n. Ne vom referi la sirurile obtinute ca fiind tot reprezentarea ın baza b a lui n(aceasta conventie are caracter pur tehnic).

Presupunem ca cititorul este familiarizat cu operatiile uzuale de adunare, scade-re, ınmultire si ımpartire cu numere scrise ıntr-o baza b. Acestea se realizeaza prinrepetarea de un numar finit de ori a urmatoarelor operatiilor considerate primitive:

• compararea a doua cifre ale bazei;

14O baza de numeratie este un numar natural b ≥ 2. Numerele i, cu 0 ≤ i < b, sunt numite cifrelebazei b.

15Reprezentarea interna a datelor ın calculator se face utilizand codificarea binara a acestora.Operatiile cu date sunt astfel convertite ın operatii cu siruri binare (deplasare la stanga sau dreaptacu o pozitie, adunare de siruri binare etc.). Ca urmare, complexitatea executarii de catre calculatora unor operatii cu anumite tipuri de date se rezuma la complexitatea realizarii unor operatii cu siruribinare, aceasta din urma fiind “masurata” ın raport cu lungimea sirurilor.

Page 143: Fltiplea Fai

Timpul de executie al unui algoritm 137

• adunare, scadere si ınmultire a 2 cifre ale bazei, luand ın considerare si trans-portul, avand drept raspuns o cifra a bazei si un transport;

• ımpartire a unui numar format din doua cifre ale bazei la o cifra a bazei, avanddrept raspuns un cat si un rest (ambele fiind cifre ale bazei).

Regulile de baza folosite ın evaluarea complexitatii unui algoritm sunt urmatoa-rele:

• complexitatea unei structuri repetitive (de tip for, while, until) este data decomplexitatea testului la care se adauga complexitatea maxima a corpului res-pectivei structuri, si ınmultind totul cu numarul de repetari a acestuia;

• complexitatea unei structuri secventiale este complexitatea maxima a compo-nentelor structurii;

• complexitatea structurii if-then-else (if-then) este data de complexitatea testuluila care se adauga complexitatea maxima a ramurilor (a ramurii).

Vom trece acum ın revista complexitatea realizarii operatiilor de baza cum ar fiadunarea, scaderea, ınmultirea etc. Vom urma cu precadere [185] unde cititorul poategasi detalii complete asupra algoritmilor discutati sumar mai jos si a complexitatiiacestora.

Adunarea si scaderea a doua numere cu reprezentare binara pe cel mult k biti potfi realizate ın complexitate timp O(k).

Inmultirea, facuta “scolareste”, poate fi realizata ın complexitate timp O(k2).Daca ınsa se utilizeaza algoritmul Karatsuba, complexitatea timp devine O(k log 3),iar daca se utilizeaza transformata Fourier discreta, complexitatea scade dramaticla O(k log k). Cum ınsa ınmultirea realizata prin transformata Fourier discreta esteeficienta doar pentru valori mari ale lui k (de obicei, cel putin 1000), ın practica,algoritmul Karatsuba se dovedeste de preferat.

Impartirea realizata prin algoritmul uzual de ımpartire necesita complexitate timpO(k2). Exista si o varianta recursiva a ımpartirii, bazata oarecum pe ideea ce sta labaza algoritmului Karatsuba, ce necesita doar O(klog 3 + k log k).

O analiza simplista a algoritmului lui Euclid ne arata ca complexitatea acestuianu depaseste O(k3). Insa, o analiza atenta conduce la un rezultat mult mai bun.Impartirea lui ri la ri+1 cu obtinerea catului qi+2 si a restului ri+2, utilizand notatiiledin Sectiunea 4.2, se poate realiza ın O((log ri+1)(log qi+2)). Atunci,∑n−1

i=−1(log ri+1)(log qi+2) ≤ (log b)∑n−1

i=−1 log qi+2

= (log b)(log q1 · · · qn+1)

Nu este greu de vazut caq1 · · · qn+1 ≤ a,

ceea ce conduce la complexitatea timp O((log a)(log b)). Deci, daca numerele sereprezinta pe cel mult k biti, atunci complexitatea algoritmului (extins al) lui Euclideste O(k2). Exista si alti algoritmi de calcul al celui mai mare divizor comun a douanumere. Cea mai eficienta solutie este de complexitateO(k2/ log k).

Page 144: Fltiplea Fai

138 Elemente de teoria numerelor cu aplicatii ın criptografie

Exponentierea modulara, adica calculul lui an modm, necesita complexitate timpO(k3), presupunand ca a, n si m se reprezinta pe cel mult k biti. Exista multesolutii pentru aceasta problema, depinzand de diverse particularitati ale exponentuluisau modulului, solutii de complexitate mult mai buna decat cea mentionata mai sus.Toate acestea pot fi gasite ın [185].

Atunci cand pentru o problema nu se cunoaste nici un algoritm de complexitatetimp polinomiala iar algoritmii existenti sunt inpracticabili pentru valori rezonabileale datelor de intrare, vom spune ca problema este dificila sau grea sau intractabila.De exemplu, factorizarea numerelor este o problema dificila. Pentru a ıntelege ceınseamna aceasta aducem la cunostinta cititorului urmatorul rezultat. Pe data de9 mai 2005, o echipa a Agentiei Federale Germane pentru securitatea informatiei,compusa din F. Bahr, M. Boehm, J. Franke si T. Kleinjung, a anuntat factorizareaunui numar de 200 de cifre, numar cunoscut sub denumirea de RSA-200. Acestnumar face parte dintr-o selectie de numere propuse de compania americana RSASecurity, numere ce au exact 2 factori primi si care sunt considerate ca fiind dificilde factorizat (“pietre de ıncercare” pentru problema facorizarii). Echipa germanaa utilizat pentru factorizarea acestui numar o retea de calculatoare ce au lucrat ınparalel. Timpul CPU necesar factorizarii acestui numar folosind un procesor AMDOpteron la 2.2 GHz ar fi fost de aproximativ 55 de ani (a se vedea rubrica “chal-lenges” la http://www.rsasecurity.com/rsalabs//wiki/RSA-200).Oricum, echipa germana a ınceput lucrul la sfarsitul anului 2003 si factorizarea s-aıncheiat cu succes ın mai 2005.

4.10 Aplicatii: partajarea secretelor

Vom arata ın aceasta sectiune cum, Teorema chineza a resturilor, ın principal, poatefi utilizata ın definirea unei scheme de partajare a secretelor.

Presupunem ca o activitate ce impune pastrarea anumitor secrete (de exemplu,deservirea unei filiale a unei banci) necesita un numar n de persoane (angajati), si oanumita subramura a acestei activitati poate fi realizata de oricare k persoane din celen, dar nu mai putin de k (de exemplu, deschiderea seifului bancii). Ca urmare, vompresupune ca are loc 2 ≤ k ≤ n. Presupunem ın continuare ca realizarea acesteisubactivitati necesita cunoasterea unei anumite parole (de acces). Aceasta parolatrebuie “partajata” ıntre cele n persoane ın asa fel ıncat:

– oricare k persoane din cele n sa poata reface parola (ın mod unic si ın timp“eficient”);

– orice grup de mai putin de k persoane din cele n sa nu poata reface parola(unic) ın timp “eficient”.

Cum putem alege o astfel de parola, si cum o putem partaja astfel ıncat sa fie satisfa-cute dezideratele de mai sus ?

Inainte de a da un raspuns problemei de mai sus facem mentiunea ca parola poatefi ıntotdeauna codificata numeric astfel ca o putem presupune a fi un numar natural

Page 145: Fltiplea Fai

Aplicatii: partajarea secretelor 139

S. Fie 2 ≤ k ≤ n numere naturale. O schema de partajare a secretelor constadintr-un (n+ 1)-uplu (S; I1, . . . , In) de numere naturale astfel ıncat:

• cunoasterea a cel putin k numere distincte Ii1 , . . . , Iik conduce la determinarea“eficienta” a lui S;

• cunoasterea a mai putin de k numere dintre I1, . . . , In nu permite determinarea“usoara” a lui S (schema este rezistenta la atacuri de coalitie de dimensiunecel mult (k − 1)).

S se numeste secretul sau parola schemei, iar Ij , parole sau secrete partiale.Asa cum constatam, o solutie a problemei descrise la ınceputul sectiunii ar putea

consta ın constructia unei scheme de partajare a secretelor. Vom prezenta ın celece urmeaza o varianta de constructie a unei astfel de scheme, propusa de MauriceMignotte ın 1983 ([130]). Ea se bazeaza pe ceea ce numim azi (k, n)-secventeMignotte, ce sunt secvente

m1 < · · · < mn

de n numere naturale relativ prime doua cate doua, cu proprietatea suplimentara

m1 · · ·mk > mn−k+2 · · ·mn

(produsul celor mai mici k numere ıl depseste pe cel al celor mai mari (k − 1) nu-mere).

De exemplu, secventa de numere prime

11, 13, 17, 19, 23, 29, 31, 37

constituie o (4, 8)-secventa Mignotte.

Teorema 4.10.1. ([130]) Pentru orice 2 ≤ k ≤ n si orice numar natural γ, exista sise poate construi efectiv o (k, n)-secventa Mignotte

m1 < · · · < mn

astfel ıncat (α− β)/β ≥ γ, unde α = m1 · · ·mk si β = mn−k+2 · · ·mn.

Aceasta teorema ne spune ca putem determina secvente Mignotte astfel ıncatdiferenta dintre α si β, ponderata prin β, sa fie oricat de mare (folosind notatiile dinteorema).

Fie m1, . . . , mn o (k, n)-secventa Mignotte. Alegem arbitrar S cu proprietateaβ < S < α si determinam Ii prin

Ii = S mod mi,

pentru orice 1 ≤ i ≤ n.Vom arata acum ca (n+1)-uplul (S; I1, . . . , In) este o (k, n)-schema de partajare

a secretelor.

Page 146: Fltiplea Fai

140 Aplicatii: criptografie cu chei publice

Fie Ii1, . . . , Iik secrete partiale distincte. In baza Teoremei chineze a resturilor,sistemul

(∗)

⎧⎨⎩

x ≡ Ii1 mod mi1

· · ·x ≡ Iik mod mik

admite o unica solutie modulo mi1 · · ·mik . Mai mult, aceasta solutie este chiar S(ea este solutie din modul ın care s-au definit numerele Ii, iar din modul de alegerea lui ei avem S < m1 · · ·mk ≤ mi1 · · ·mik). Determinarea lui S, pornind de laIi1 , . . . , Iik se face ın timp polinomial.

Pe de alta parte, oricare (k − 1) secrete partiale Ii1 , . . . , Iik−1conduc, ın baza

Teoremei chineze a resturilor, la o unica solutie modulo mi1 · · ·mik−1a sistemului

(∗∗)

⎧⎨⎩

x ≡ Ii1 mod mi1

· · ·x ≡ Iik−1

mod mik−1

S este solutie a sistemului dar, deoarece S > mn−k+2 · · ·mn ≥ mi1 · · ·mik−1,

S nu este ın Zmi1···mik−1

. Singura metoda de determinare a ei, cunoscand doarIi1 , . . . , Iik−1

consta ın:

– determinarea unicei solutii din Zmi1···mik−1

a sistemului (∗∗), fie aceasta S ′;

– determinarea elementelor din intervalul (β, α) ce sunt congruente cu S ′ modu-lo mi1 · · ·mik−1

, si verificarea fiecaruia ca o posibila parola.

Intre β si α exista aproximativ (α− β)/β numere congruente cu S ′ (numerele dintreβ si α, ın ordine crescatoare, furnizeaza prin ımpartire la β resturile 0, . . . , β − 1, ci-clic). In baza Teoremei 4.10.1, secventa Mignotte poate fi aleasa astfel ıncat numarul(α − β)/β sa fie oricat de mare, ceea ce va asigura securitate schemei (de exem-plu, alegerea schemei Mignotte astfel ıncat (α − β)/β > 10100 asigura securitateschemei).

4.11 Aplicatii: criptografie cu chei publice

In aceasta sectiune vom puncta cateva din aplicatiile majore ale teoriei grupurilor, siın special a grupurilor ciclice, ın criptografie. Prezentarea noastra va urma [187].

4.11.1 Introducere ın criptografie

Criptosistem. Meoda fundamentala de securizare a comunicatiei ıntre doua partiA si B fata de o terta parte C consta ın stabilirea, de comun acord de catre A si B,a unui sistem de criptare (cifrare) a mesajelor. Un astfel de sistem trebuie sa ofereposibilitatea criptarii mesajelor ce urmeaza a fi transmise si, totodata, a decriptarii“corecte” a mesajelor (criptate) receptionate. De exemplu, A si B pot conveni cafiecare litera a mesajului sa fie ınlocuita ciclic cu litera aflata la distanta k de literaın cauza (considerand alfabetul ordonat ın mod uzual). Astfel, pentru k = 2, litera a

Page 147: Fltiplea Fai

Introducere ın criptografie 141

s-ar ınlocui cu c, litera b cu d etc. Vom spune ın acest caz ca cheia de criptare estek = 2; ea poate fi schimbata la fiecare noua comunicare (cu conditia de a putea fistabilita de A si B ın deplina securitate).

Mesajele originale, ce urmeaza a fi criptate si transmise, se construiesc pe bazaunei multimi finite de elemente “atomice”, multime numita alfabet. Elementeleacestei multimi pot fi literele si cifrele caracteristice unei anumite limbi (engleza,japoneza, chineza etc.), secvente formate din anumite litere si/sau cifre (gandite caentitati indivizibile), logograme sau diverse simboluri speciale reprezentand cuvintesau fraze. Mesajele formate pe baza unui astfel de alfabet vor fi numite texte initialesau texte sursa sau texte clare sau plaintexte 16. Ele sunt secvente (ınsiruiri) de e-lemente ale alfabetului. Similar, putem presupune ca textele produse prin criptareatextelor sursa sunt construite pe baza unui alt alfabet (nu neaparat identic cu cel pestecare se construiesc textele sursa). Textele rezultate prin criptarea textelor sursa vor finumite texte criptate sau texte cifrate sau criptotexte 17.

Definitia 4.11.1. Un sistem de criptare sau criptosistem este un 5-uplu

S = (P, C,K, E ,D),

unde:

(i) P este o multime finita si nevida numita alfabetul plaintextelor. Elementele eisunt numite simboluri/caractere plaintext;

(ii) C este o multime finita si nevida numita alfabetul criptotextelor. Elementele eisunt numite simboluri/caractere criptotext;

(iii) K este o multime finita si nevida numita spatiul cheilor de criptare. Elementeleei sunt numite chei (de criptare);

(iv) E si D sunt doua multimi de functii,

E = {eK : P → C|K ∈ K}

siD = {dK : C → P|K ∈ K},

astfel ıncat pentru orice K ∈ K si x ∈ P are loc dK(eK(x)) = x.

Plaintextele (textele ce urmeaza a fi criptate) se construiesc pe baza alfabetuluiP , iar criptotextele (textele ce rezulta prin criptare) sunt elemente ale multimii tu-turor textelor construite pe baza alfabetului C. Pentru fiecare cheie K ∈ K, functiaeK (dK) se numeste functia/regula de criptare (decriptare). Observam ca functia dK

este invers la stanga al functiei eK , iar eK este invers la dreapta al functiei dK . Ca ur-mare, eK este functie injectiva, iar dK , surjectiva. Injectivitatea regulilor de criptareconduce imediat la |P| ≤ |C|.

16Terminologia de “plaintext” este de provenienta englezeasca si preferam sa o utilizam datoritausurintei ın exprimare.

17Terminologia de “criptotext” provine de la cuvantul englezesc “cryptotext”.

Page 148: Fltiplea Fai

142 Aplicatii: criptografie cu chei publice

Moduri de operare. Criptarea unui plaintext x1 · · ·xn, unde xi ∈ P pentru orice1 ≤ i ≤ n, se poate realiza ın una din urmatoarele doua variante numite moduri deoperare:

• Modul de operare cu cheie fixa. Se alege o cheie K si se cripteaza fiecarecaracter xi prin eK . Adica, criptotextul va fi

eK(x1) · · · eK(xn);

• Modul de operare cu cheie variabila. Pentru fiecare i se determina o cheie Ki

si se cripteaza xi prin eKi. Adica, criptotextul va fi

eK1(x1) · · · eKn(xn).

Determinarea cheilor Ki se face de obicei printr-un asa numit generator dechei, pornindu-se de la o cheie initiala, un anumit sir de initializare si, eventual,plaintextele xj si criptotextele asociate lor, pentru orice j < i.

Criptosistemele carora li se asociaza un generator de chei si, deci, care se utilizeazaın modul de operare cu cheie variabila, se mai numesc si criptosisteme cu chei sir.

Criptosistemele dezvoltate pana ın prezent pot fi ımpartite ın doua clase funda-mentale:

• criptosisteme simetrice, caracterizate prin aceea ca regula de decriptare poatefi determinata “usor” pornind de la regula de criptare, si invers;

• criptosisteme asimetrice sau cu chei publice, opuse celor simetrice. Intr-unastfel de criptosistem, cunoasterea unei reguli eK nu permite, prin metodelecunoscute la momentul actual, determinarea ın mod eficient a regulii dK .

Adesea, ın cadrul criptosistemelor simetrice, alfabetul plaintextelor este o mul-time de secvente de lungime m ≥ 1 formate din elemente ale unei alte multimiP . Adica, P ⊆ Pm. Daca utilizatorul ısi formeaza plaintextele din elemente alemultimii P , atunci criptarea cu un altfel de criptosistem se realizeaza prin ımpartireaplaintextului sursa ın blocuri de lungimem (eventual ultimul bloc este completat ast-fel ıncat sa aiba lungimeam), criptandu-se apoi fiecare bloc ın parte. Din acest motiv,astfel de criptosisteme mai sunt numite si criptosisteme bloc. Argumentul fundamen-tal care sta la baza considerarii acestora rezida din faptul ca, pentru ele, regulile decriptare fac apel intensiv la elementele constitutive ale blocului. Marea majoritate acriptosistemelor simetrice ce au utilitate practica relevanta sunt criptosisteme bloc.

Interactiunea dintre utilizatorii legali si cei ilegali ai unui criptosistem poate fireprezentata schematic ca ın Figura 4.2, unde:

– A si B sunt utilizatori legali ce au convenit a comunica utilizand un criptosis-tem a priori stabilit ıntre ei, si cu o anumita cheie de criptare K;

Page 149: Fltiplea Fai

Introducere ın criptografie 143

Acriptare

decriptaredecriptarecriptare Bcanal de transmisie

C

K K

K K

� �

� �

�plaintext

text decriptat

�text decriptat

plaintext

Figura 4.2: Interactiunea dintre utilizatorii legali si ilegali ai unui criptosistem

– C este utilizator ilegal ce ıncearca a captura criptotexte ce se transmit ıntre Asi B ın ideea determinarii plaintextelor corespunzatoare (sau, ın cel mai buncaz, a cheii de criptare), sau ce ıncearca a altera mesajele ce se transmit ıntreA si B.

Constructia criptosistemelor trebuie realizata avand ın vedere urmatoarele douadeziderate fundamentale:

(1) pentru orice cheie K, functiile eK si dK sa poata fi calculate “eficient” 18

(cunoscand cheia K);

(2) determinarea cheii de criptare pe baza unor criptotexte cunoscute (eventualsi prin cunoasterea plaintextelor corespunzatoare) sa fie “imposibila” (ın sensopus sensului de la (1), de calcul eficient).

Criptanaliza este stiinta ce se ocupa cu studiul tehnicilor (metodelor) prin carese poate reface un plaintext pornind de la unul sau mai multe criptotexte, fara acunoaste, a priori, cheia de criptare. Fiecare tehnica ın parte este numita tehnica decriptanaliza sau tehnica de atac sau atac. Daca un criptosistem poate fi atacat cusucces printr-o anumita tehnica, atunci vom spune ca el poate fi spart prin respectivatehnica. Persoanele ce se ocupa cu studiul si practicarea tehnicilor de atac se numesccriptanalisti. Cuplul celor doua stiinte, criptografie si criptanaliza, este ıntalnit ade-sea sub terminologia de criptologie.

O presupunere fundamentala ın criptanaliza, enuntata pentru prima data de D.A.Kerckhoffs ın secolul 19 (a se vedea [90]), consta ın aceea ca securitatea oferita de uncriptosistem trebuie sa se bazeze numai si numai pe cheia de criptare (nu si pe anu-mite detalii constructive ale acestora deoarece, mai devreme sau mai tarziu, acesteapot deveni cunoscute criptanalistilor). Altfel spus, Kerckhoffs porneste de la ideeaca, ın procesul de criptanaliza, criptanalistii au toate detaliile constructive ale crip-tosistemului, exceptand cheia utilizata la momentul respectiv. Chiar daca ın situatiireale lucrurile nu stau ın acest fel, presupunerea lui Kerckhoffs este importanta prinaceea ca un criptosistem rezistent la atacuri ce iau ın considerare aceasta presupunereva fi rezistent si la atacuri pentru care aceasta presupunere nu este satisfacuta.

Exista, ın general, 4 tipuri de atacuri:

18Prin calculul eficient (usor) al unei functii vom ıntelege existenta unui algoritm determinist decomplexitate timp polinomiala de calcul al respectivei functii.

Page 150: Fltiplea Fai

144 Aplicatii: criptografie cu chei publice

1. Atac de criptotext. Criptanalistul are la dispozitie un numar de criptotexte(obtinute cu aceeasi cheie) si, scopul lui este de a determina plaintextele core-spunzatoare, sau cheia de criptare (ın cel mai bun caz) sau un algoritm dedeterminare a unui (nou) plaintext pornind de la criptotextul asociat (fara acunoaste cheia de criptare). Schematic, aceasta poate fi exprimata ca mai jos:

Date initiale: y1 = eK(x1), . . . , yi = eK(xi);

Cerinte: x1, . . . , xi sau K sau un algoritm de determinare a lui xi+1 pornindde la yi+1 = eK(xi+1).

2. Atac de plaintext cunoscut. Criptanalistul are la dispozitie un numar de cripto-texte (obtinute cu aceeasi cheie) dar si plaintextele corespunzatoare. Scopullui este de a determina cheia de criptare sau un algoritm de determinare aunui (nou) plaintext pornind de la criptotextul asociat (fara a cunoaste cheiade criptare). Schematic, aceasta poate fi exprimata ca mai jos:

Date initiale: (x1, y1 = eK(x1)), . . . , (xi, yi = eK(xi));

Cerinte: K sau un algoritm de determinare a lui xi+1 pornind de la yi+1 =eK(xi+1).

3. Atac de plaintext ales. Criptanalistul are posibilitatea de a determina criptotex-tele unor plaintexte alese de el. Scopul lui este de a determina cheia de criptaresau un algoritm de determinare a unui (nou) plaintext pornind de la cripto-textul asociat (fara a cunoaste cheia de criptare). Schematic, aceasta poate fiexprimata ca mai jos:

Date initiale: (x1, y1 = eK(x1)), . . . , (xi, yi = eK(xi)), unde x1, . . . , xi suntalese de criptanalist;

Cerinte: K sau un algoritm de determinare a lui xi+1 pornind de la yi+1 =eK(xi+1).

4. Atac adaptiv de plaintext ales. Acesta este un caz particular al metodei de atacde plaintext ales. Criptanalistul are posibilitatea de a cunoaste criptotexteleasociate plaintextelor alese de el si, mai mult, are posibilitatea de a determinanoi perechi (plaintext,criptotext) cu plaintextul ales ın functie de concluziileobtinute prin analiza perechilor (plaintext,criptotext) anterioare.

Exista si alte metode de atac, mai putin frecvente sau eficiente. Unul dintre aces-tea este atacul de criptotext ales ın care se presupune ca criptanalistul are posibilitateade a determina plaintextele corespunzatoare unor criptotexte alese de el, iar un altulconsta ın enumerarea si verificarea tuturor cheilor posibile. Acest ultim atac, ıntalnitsub denumirea de atac brute-force sau atac prin cautare exhaustiva a cheilor va fiabreviat de noi prin EKS 19.

19De la Exhaustive Key Search.

Page 151: Fltiplea Fai

Introducere ın criptografie 145

Corespondenta litera–cifra. Marea majoritate a criptosistemelor ce sunt utilizateastazi ın practica sunt construite utilizand aparatul algebric, uzand de o anumitacorespondenta bijectiva ıntre setul de caractere necesar construirii plaintextelor sicriptotextelor si o anumita submultime de numere naturale (o astfel de corespondentaar putea fi, de exemplu, codul EBCDIC sau ASCII cu numerele privite ın sistemulzecimal). O astfel de “codificare” a setului de caractere utilizat nu trebuie ganditaca o metoda de crestere a securitatii criptosistemelor; ea nu este altceva decat un pasintermediar ın aplicarea unor metode criptografice bazate, ın mod esential, pe teorianumerelor.

Fara a aduce nici un prejudiciu teoriei generale, se utilizeaza un set redus decaractere ca cel din din Figura 4.3, ımpreuna cu corespondenta litera–cifra asociata.

a b c d e f g h i j k l m0 1 2 3 4 5 6 7 8 9 10 11 12

n o p q r s t u v w x y z13 14 15 16 17 18 19 20 21 22 23 24 25

Figura 4.3: Corespondenta litera-cifra

Astfel, se ınlocuiesc ‘a’ prin ‘a’, ‘a’ prin ‘a’, ‘ı’ prin ‘i’, ‘s’ prin ‘s’ si ‘t’ prin ‘t’.De asemenea, nu se face distinctie ıntre literele mari si mici, spatiile sunt inserateıntre caractere doar pentru claritate, nu se folosesc semne de punctuatie, caracterematematice sau de orice alt tip. Aceasta se bazeaza pe faptul ca orice limbaj estedependent de context ın mare masura, sensul unei propozitii fiind clar chiar princonventiile facute mai sus.

Daca x = x1 · · ·xn este un text de lungime n ≥ 1 peste alfabetul considerat maisus, atunci prin deplasarea/shiftarea lui x cu k pozitii, unde 0 ≤ k ≤ 25, ıntelegemtextul obtinut din x prin ınlocuirea fiecarei litere xi cu litera de pe pozitia (ki +k) mod 26, unde ki este pozitia literei xi, pentru orice i.

Criptosisteme cu chei publice. O caracteristica esentiala a criptosistemelor cuchei simetrice este aceea ca, cheia de criptare trebuie sa fie secreta (cunoscuta nu-mai de utilizatorii legali ai criptosistemului). Aceasta cheie furnizeaza atat regulade criptare cat si cea de decriptare, fiecare din aceste reguli fiind algoritmic calcula-bile ın timp “eficient” (un astfel de criptosistem va fi prezentat ın Sectiunea 4.11.2).Transmiterea cheii ıntre utilizatorii legali trebuie realizata folosind un canal de trans-misie sigur ceea ce, ın practica, poate constitui o problema majora (interceptareacheii, de catre un utilizator ilegal, compromite criptosistemul ın totalitate).

Opus ideii de cheie secreta se afla conceptul de cheie publica. Astfel de chei, asacum ne spune si numele lor, sunt publice (pot fi cunoscute de oricine); cunoasterealor asigura determinarea eficienta a regulilor de criptare dar, fara informatii supli-mentare (uzual numite trape secrete), regulile de decriptare sunt “foarte dificil” dedeterminat. Criptosistemele bazate pe astfel de chei se numesc criptosisteme cu cheipublice. Ideea realizarii unor astfel de criptosisteme a fost prezentata ın 1976, de

Page 152: Fltiplea Fai

146 Criptosistemul RSA

catre W. Diffie si M.E. Hellman [42], la o Conferinta Nationala de Informatica ınSUA (a se vedea si [43]) 20. Primul criptosistem de acest tip a fost propus de Merklesi Hellman [117, 118, 76] 21. Multe alte criptosisteme au fost apoi propuse si, multedintre ele, s-au dovedit a fi nesigure. Altele asigura securitate dar sunt inutilizabiledin punct de vedere practic, iar altele ori se bazeaza pe chei extrem de lungi ori cripto-textul produs este foarte mare ın raport cu plaintextul. Putine dintre ele s-au dovedita fi atat sigure cat si practic utilizabile. Dintre acestea mentionam criptosistemulRSA, criptosistemul Rabin, criptosistemul ElGamal, criptosistemul Chor-Rivest (dinclasa criptosistemelor bazate pe problema rucsacului), criptosistemul McEliece sicriptosisteme bazate pe curbe eliptice. Primele trei pot fi utilizate si ın constructia desemnaturi digitale (a se vedea Sectiunea 4.11.3).

Criptosistemele cu chei publice sunt predispuse atacului de plaintext cunoscutdeoarece cheia este publica. Astfel, oricine intercepteaza un criptotext y poate ıncer-ca diverse plaintexte x pentru a obtine eK(x) = y. Perechile (x, y) astfel obtinutepot atunci constitui baza unui atac de plaintext cunoscut. Ca urmare, cu cat spatiulplaintextelor este mai mic, cu atat mai mult criptosistemul este nesigur. De fapt,discutia de mai sus ne spune ca criptosistemele cu chei publice nu pot asigura se-curitate neconditionata. Deci, ceea ce putem cere de la astfel de criptosisteme estedoar securitatea algoritmica (ceea ce nu este putin daca aceasta securitate algoritmicaeste “bine aleasa” adica, bazata pe probleme a caror rezolvare este algoritmic “foartedificila” la momentul actual).

4.11.2 Criptosistemul RSA

Criptosistemul RSA a fost propus de Ronald Rivest, Adi Shamir si Leonard Adlemanın 1977 [151], luandu- si denumirea de la numele celor care l-au propus. Dintre toatecriptosistemele cu chei publice propuse pana ın prezent, RSA s-a dovedit a fi cel maiusor de implementat si utilizat. El se bazeaza pe “dificultatea” factorizarii numerelorfoarte mari (a se vedea discutia de la sfarsitul Sectiunii 4.9).

4.11.2.1 Descrierea criptosistemului

Criptosistemul RSA foloseste aritmetica modulara ın Zn, unde n este produsul adoua numere prime distincte p si q.

Descrierea criptosistemului

• fie p si q doua numere prime distincte si fie n = pq;

• P = C = Zn;

• K = {(n, p, q, e, d)|e ∈ Z∗φ(n) ∧ ed ≡ 1 mod φ(n)};

20Independent, aceasta idee apare si la R. Merkle dar, datorita unor probleme editoriale, primalucrare a acestuia apare abia ın 1978 [116].

21Si ın acest caz, lucrarea lui Merkle si Hellman apare ın 1978, ceea ce face ca criptosistemul RSA,care a fost publicat ın 1977, sa fie considerat de unii autori ca fiind primul astfel de criptosistem.

Page 153: Fltiplea Fai

Descrierea criptosistemului 147

• pentru orice cheie K = (n, p, q, e, d) ∈ K si x, y ∈ Zn,

eK(x) = xe mod n si dK(y) = yd mod n;

• pentru orice cheie K = (n, p, q, e, d) ∈ K, (n, e) este cheia publica, iar(p, q, d), cea secreta.

Aratam ca pentru orice cheieK = (n, p, q, e, d), dK este invers la stanga a functieeK , adica xed ≡ x mod n, pentru orice x ∈ Zn. Avem de analizat doua cazuri:

(1) x ∈ Z∗n. Atunci, xed ≡ x mod n deoarece ed ≡ 1 mod φ(n);

(2) x ∈ Zn − Z∗n. Fie t ∈ Z astfel ıncat ed − 1 = tφ(n). Daca x = 0, atunci are

loc xed ≡ x mod n. Presupunem deci ca x �= 0. Atunci, deoarece x si n nusunt prime ıntre ele, (x, n) ≥ 2. Cum n = pq si x < n, deducem ca (x, n) = psau (x, n) = q. Sa presupunem ca (x, n) = p (celalalt caz este complet similaracestuia). Atunci, q nu va divide x si, ın baza teoremei lui Fermat, deducem caare loc

xq−1 ≡ 1 mod q

de la care urmeaza xtφ(n) ≡ 1 mod q. Combinand aceasta cu x ≡ x mod p sicu faptul ca p si q sunt prime ıntre ele, deducem

xtφ(n)+1 ≡ x mod pq.

Adica, xed ≡ x mod n.

Ca urmare, structura definita mai sus este un criptosistem.

Presupunem acum ca doua persoane A si B doresc sa schimbe mesaje criptandu-le cu RSA cu parametrii p, q si n (p si q cunoscuti doar de A si B, iar n public).Pentru aceasta, A alege o pereche de numere (eA, dA) ca ın algoritm, face public eA

(cheia lui publica) si retine secret dA (cheia lui secreta). Similar, B alege (eB, dB),face public eB si retine secret dB. Presupunem acum ca A doreste a cripta si trans-mite un mesaj α catre B. Acest mesaj se codifica numeric (folosind, de exemplu,corespondenta deja adoptata) dupa care, sirul numeric obtinut se ımparte ın blocuride cifre, de dimensiune egala, astfel ıncat fiecare bloc sa poata fi considerat ca unnumar din Zn (eventual, ultimul bloc se completeaza cu zerouri la dreapta pentrua avea aceeasi lungime ca si celelate blocuri). Fie x = x1 · · ·xm aceasta descom-punere. Se calculeaza apoi

yi = xei mod n,

pentru orice 1 ≤ i ≤ m. Secventa y = y1 · · · ym reprezinta codul numeric al cripto-textului.

Decriptarea secventei y cere determinarea subsecventelor y1, . . . , ym (ca mai sus).Aceasta poate constitui o problema serioasa pentru B ca urmare a faptului ca aceste

Page 154: Fltiplea Fai

148 Criptosistemul RSA

subsecvente pot avea lungimi diferite iar B nu va sti cum sa le separe. Aceasta pro-blema poate fi depasita daca, ınainte de a fi trimise, secventele y1, . . . , ym sunt com-pletate la stanga cu zero-uri astfel ıncat toate sa aiba aceeasi lungime ca si blocurilexi. Fie y′1, . . . , y

′m aceste noi blocuri. Atunci, decriptarea decurge calculand

xi = (y′i)d mod n,

pentru orice 1 ≤ i ≤ m.

Exemplul 4.11.2.1. Fie p = 101 si q = 113 doua numere prime. Atunci,

n = 11413 si φ(n) = 11200.

Deoarece φ(n) = 26527, urmeaza ca e poate fi ales ca fiind orice numar mai micstrict decat n ce nu este divizibil prin 2, 5 sau 7. Fie e = 3533. Atunci, cu ajutorulalgoritmului lui Euclid determinam d = e−1 mod 11200 = 6597.

Numerele n = 11413 si e = 3533 sunt publice; p, q si d sunt secrete. Criptareatextului 9726 produce criptotextul 5761 deoarece

97263533 mod 11413 = 5761.

Decriptarea lui 5761 conduce, evident, la 9726.

Vom discuta ın cele ce urmeaza cateva aspecte legate de implementarea crip-tosistemului RSA. Utilizarea acestui criptosistem ın practica necesita parcurgereaurmatorilor pasi:

• alegerea a doua numere prime, p si q (este necesar ca aceste numere sa fie mari,de cel putin 100 de cifre fiecare, pentru a asigura securitate criptosistemului);

• alegerea unui numar e ∈ Z∗φ(n) si determinarea inversului modulo φ(n) al aces-

tuia, fie el d.

Este recomandabil ca numerele p si q sa aiba lungimi apropiate (daca nu chiaregale). Alegerea lui e constituie un alt punct cheie atat pentru asigurarea securitatiicriptosistemului dar cat si pentru eficienta implementarii. Se constata ca valori miciale lui e asigura criptare rapida si, totodata, da posibilitatea unui factor mare de de-criptare d, ceea ce mareste securitatea criptosistemului (asupra acestui aspect vomreveni). Cele mai utilizate valori pentru e sunt 3, 17 si 65537 (216 +1) (reprezentareabinara a lui 65537 are doar doi biti 1, ceea ce ne spune ca se vor face doar 16 ridicarila puterea a 2-a si o ınmultire).

Algoritmii ce implementeza regulile eK si dK sunt eficienti, de complexitateO((log n)3).

Generarea numerelor prime p si q, de 100 de cifre sa spunem, ar ridica urma-toarea problema care, aparent, ar fi cat se poate de serioasa: nu epuizam, ıntr-o pe-rioada de utilizare a unui astfel de criptosistem, toate numerele prime de 100 de cifre?Raspunsul este cat se poate de simplu daca facem apel la Teorema numerelor prime.In baza ei putem spune ca exista proximativ 4 · 1097 numere prime cu 100 de cifre,

Page 155: Fltiplea Fai

Criptanaliza RSA 149

numar ce depaseste numarul de atomi din universul vizibil (a se vedea Sectiunea4.1). Ca urmare, nu trebuie sa ne fie teama ca am “epuiza” toate numerele primeıntr-o perioada, fie ea oricat de lunga, de utilizare a criptosistemului RSA.

Testarea primalitatii unui numar p se poate face prin algorithmi probabilisti decomplexitateO((log p)3) (de exemplu, algorithmul Miller-Rabin). Dejavantajul unuialgoritm probabilist consta ın aceea ca el furnizeaza raspuns corect daca numaruleste prim, dar poate furniza raspuns eronat daca numarul nu este prim (adica, el nepoate spune ca numarul este prim, chiar daca acesta nu este). Iterarea unui algoritmprobabilist peste o aceeasi intrare (acelasi numar pentru care se testeaza primalitatea)de un numar de ori si obtinerea de fiecare data a unui raspuns de genul “numarul esteprim” face ca probabilitatea de raspuns eronat sa scada dramatic. De exemplu, ıncazul algoritmului Miller-Rabin, iterarea de 100 de ori a acestuia poate conduce la oprobabilitate de raspuns eronat de cel mult 1/4100. In 2002, Agrawal, Kayal si Sa-xena au aratat ca problema primalitatii poate fi rezolvata prin algoritmi deterministide complexitate timp polinomiala (lucrarea acestora a fost publicata ın 2004 [1]).Algoritmii deterministi de complexitate timp polinomiala cunoscuti la momentul ac-tual au complexitate destul de ridicata, O((log p)10.5), ceea ce face ca tot algoritmiiprobabilisti sa fie preferati deocamdata.

Generarea unui numar prim se face ın doua etape: se genereaza aleator un numar,dupa care se verifica primalitatea acestuia. O problema ce se ridica relativ la gene-rarea aleatoare a numerelor este urmatoarea: cate numere mari trebuiesc generatealeator pentru a depista cel putin un numar prim? Pentru a raspunde acestei ıntrebarireamintim ca Teorema numerelor prime afirma ca pentru orice numar natural m e-xista aproximativ m/ln(m) numere prime mai mici decat m. Aceasta ınseamna ca,daca p a fost generat aleator, probabilitatea ca el sa fie prim este 1/ln(p). In cazul ıncare p este un numar de 512 biti, atunci probabilitatea de mai sus este aproximativ1/177. Adica, ın medie, generarea a 177 de numere mari va include si un numarprim. Daca ınsa cerem ınca de la ınceput ca numerele generate sa fie impare, atunciprobabilitatea de mai sus se dubleaza.

O implementare a acestei metode pe o masina SPARC II a condus la depistareaunor numere prime de 256 de biti ın 2.8 secunde, a unor numere prime de 512 debiti ın 24 secunde, a unor numere prime de 768 de biti ın 2 minute, si a unor numereprime de 1024 de biti ın 5.1 minute [162].

4.11.2.2 Criptanaliza RSA

Trebuie sa remarcam ca daca se cunoaste descompunerea lui n ın factori primi,n = pq, criptosistemul RSA este compromis (ın ipoteza ca aceasta descompunereeste cunoscuta de o persoana neautorizata). In adevar, cunoscand p si q se poatedetermina usor φ(n) si, atunci, cunoasterea cheii publice e conduce la determinareaimediata a cheii secrete d (ın timp O((logn)3)). Calcularea lui φ(n) ın timp poli-nomial determinist cunoscand doar n, are aceleasi consecinte. Calculul lui φ(n) ıntimp eficient face apel tot la factorizarea lui n. Ca urmare, putem spune ca criptosis-temul RSA ısi bazeaza securitatea pe problema factorizarii pentru care, la momentulactual, nu se cunosc metode eficiente (daca numerele prime p si q sunt alese aleator

Page 156: Fltiplea Fai

150 Criptosistemul RSA

si suficient de mari).Vom prezenta ın continuare 3 modalitati de a ataca criptosistemul RSA, fara a

cunoaste factorizarea lui n. Fiecare din aceste atacuri speculeaza utilizare “gresita”a criptosistemului sau alegere nepotrivita a parametrilor.

Atacul lui Davida a fost propus ın [36], el exploatand utilizare cu greseli a cripto-sistemului.

Presupunem ca A trimite un mesaj x lui B folosind cheia publica eB . Mai pre-supunem ca C intercepteza mesajul transmis, y = xeB mod n, si multiplica y cuz, unde z este ales astfel ıncat exista z−1 mod n, si trimite y ′ = yzeB mod n luiB. Decriptand acest mesaj, B va gasi x′ = y′dB mod n care, foarte probabil, esteun plaintext fara ınteles. Ca urmare, el va renunta la acest mesaj. Daca C va puteaobtine x′, atunci el va putea determina x prin

x = x′z−1 mod n.

Atacul lui Lenstra a fost propus ın [102], el exploatand, ca si atacul lui Davida,utilizare cu greseli a criptosistemului.

Decriptarea unui mesaj criptat cu RSA poate fi realizata eficient daca, dat y =xe mod n, se calculeaza

xp = yd mod p−1 mod p

sixq = yd mod q−1 mod q.

De la acestea, x se obtine cu ajutorul Teoremei chineze a resturilor ca fiind unicasolutie modulo n = pq a sistemului{

x ≡ xp mod px ≡ xq mod q

Sa presupunem ca xp a fost calculat corect dar xq a fost calculat gresit. Ca urmare,rezolvarea sistemului de mai sus va conduce la un x′ diferit de x si, privit ca plaintext,fara ınteles. Daca acest x′ este obtinut de C, atunci se poate determina ın timp eficientp prin

p = ((x′eB − y) mod n, n).

Ca urmare, criptosistemul este complet neutralizat de C.

Atac de exponent secret mic. Atacul pe care ıl prezentam aici este datorat luiM. Wiener [196]. El exploateaza alegerea unui parametru e care produce o cheiesecreta d “prea mica”.

Teorema 4.11.2.1. Fie p si q numere prime astfel ıncat q < p < 2q, n = pq, sie, d ∈ Z∗

φ(n) astfel ıncat ed ≡ 1 mod φ(n). Daca d < 1/3 4√n, atunci d se poate

determina ın timp polinomial determinist ın raport cu log n cunoscand doar n si e.

Page 157: Fltiplea Fai

Criptanaliza RSA 151

Demonstratie Relatia e, d ∈ Z∗φ(n) conduce la existenta unui numar natural k astfel

ıncat ed− 1 = kφ(n) sau, echivalent,∣∣∣∣ e

φ(n)− k

d

∣∣∣∣ =1

dφ(n)(1)

Mai mult, ed− kφ(n) = 1 ne spune ca (k, d) = 1, deci fractia k/d este ireductibila.Ca urmare, determinarea lui d poate fi redusa la determinarea unor fractii ire-

ductibile k/d care sa verifice (1). Vom arata ca orice fractie ireductibila k/d ceverifica (1) va veriica si ∣∣∣∣ en − k

d

∣∣∣∣ < 1

2d2(2)

In plus, determinarea fractiilor k/d ce verifica (2) se poate face ın timp polinomial ınraport cu log n.

Sa presupunem deci ca k/d verifica (1). Stabilim ıntai urmatoarele relatii:

n− φ(n) = p+ q − 1< 3q − 1 (de la p < 2q)< 3q< 3

√n (de la q < p si n = pq)

sikφ(n) = ed− 1

< ed< dφ(n) (de la e < φ(n))< 1/3 4

√nφ(n) (conform ipotezei)

care conduce la k < 1/3 4√n.

Acum, obtinem:

|e/n− k/d| = |ed− kn|/(nd)= |1 + kφ(n)− kn|/(nd)= |k(n− φ(n))− 1|/(nd)< (k(n− φ(n)))/(nd)< (3k

√n)(nd)

< (3k)(d√n)

< ( 4√n)(d

√n)

= 1/(d 4√n)

< 1/(3d2) (de la 4√n > 3d)

< 1/(2d2)

Deci, k/d verifica (2).Fractiile k/d ce verifica (2) sunt exact convergentele fractiei continue asociate lui

e/n [73]. Acestea se obtin pe baza caturilor succesive ale ımpartirii lui e la n prinalgoritmul lui Euclid (a se vedea Sectiunea 4.2). Exista log n astfel de convergentece pot fi determinate ın timp polinomial ın raport cu log n. Verificarea faptului cauna din aceste convergente este exact fractia k/d ce verifica (1) se face tot ın timp

Page 158: Fltiplea Fai

152 Scheme de semnare

polinomial ın raport cu log n. Deci, d se poate determina ın timp polinomial ın raportcu log n. �

Cu valori de 512 biti pentru p si q, va rezulta n de 1024 biti. Ca urmare, pentru acontracara atacul lui Wiener, d trebuie sa fie de cel putin 256 biti.

Cele prezentate de noi ın aceasta sectiune nu au dorit altceva decat sa scoata ınevidenta subtilitatea unor astfel de atacuri si, de ce nu, sa atraga interesul cititoruluispre acest domeniu extrem de util si interesant.

La momentul actual nu se cunoaste nici o metoda viabila (practica) de atac ımpo-triva criptosistemului RSA. Utilizarea unor algoritmi cuatici sau moleculari pentrurezolvarea problemei factorizarii ar putea constitui o adevarata amenintare asupraacestui criptosistem. Din nefericire pentru cercetatori si din fericire pentru sustinato-rii criptosistemului RSA, algoritmii cuatici si moleculari sunt, la momentul actual,doar pe hartie. Punerea lor ın practica se loveste de probleme dificile de ingineriegenetica sau cuantica.

4.11.3 Semnaturi digitale

O alta aplicatie importanta a problemelor algoritmice ce apar ın cadrul grupului Z∗m

o constituie semnatura digitala.

4.11.3.1 Introducere

Semnatura are scopul de a certifica originalitatea datelor care se transmit ıntre diverseparti. Frecvent, semnam cecuri, scrisori, contracte; originalitatea semnaturii noastreconfera textului ın cauza caracterul de original. In general, o semnatura trebuie sasatisfaca urmatoarele cerinte:

– sa fie autentica (produsul original al semnatarului);

– sa fie nefalsificabila;

– sa nu poate fi reutilizata (odata folosita pentru un document, sa nu poata fitransferata pe alt document prin diverse tehnici);

– sa nu poata fi repudiata (renegata) de semnatarul ei.

In realitate, nici una din cerintele de mai sus nu este complet satisfacuta. Existadiverse metode de verificare a originalitatii semnaturii (analize grafologice etc.) darcare nu confera garantii complete.

Necesitatea utilizarii semnaturilor este cat se poate de clara pentru oricine dintrenoi. Sa presupunem ca A si B sunt doua parti ce doresc sa comunice, schimbandıntre ele diverse mesaje (documente, acte, scrisori etc.). Exista cel putin doua aspectefundamentale care trebuiesc luate ın consideratie:

Page 159: Fltiplea Fai

Introducere 153

1. daca B primeste un mesaj x de la A, atunci B trebuie sa aiba garantia ca xeste, ın adevar, mesajul original trimis de A (acest mesaj nu a fost schimbatpe parcurs de o terta persoana C sau, chiar de catre A – A comunica lui B caıi va trimite mesajul x dar, ın fapt, el trimite un alt mesaj invocand, la nevoie,posibilitatea alterarii mesajului pe canalul de transmisie);

2. daca A trimite mesajul x catre B, atunci A trebuie sa aiba garantia ca mesajulx este cel receptionat de B (mesajul nu a fost schimbat pe parcurs de o tertapersoana C sau, chiar de catre B).

Intr-un astfel de context, utilizarea semnaturii (personale) constituie solutia proble-mei. A va semna suplimentar mesajul x prin determinarea, dupa o procedura desemnare secreta (personala), a entitatii sig(x) (semnatura grafica, amprenta digitalaetc.). Cand B receptioneaza cuplul (x, sig(x)), el va verifica, cu o procedura publicaver(x, sig(x)), autenticitatea semnaturii sig(x) asupra mesajului x. Interpunerealui C ıntre A si B, fara a cunoaste procedura de semnare, trebuie sa fie ineficienta.Discutia purtata pana acum poate fi bine descrisa prin intermediul Figurii 4.4.

A B�x

A C�x B�x′

A C�x, sigA(x) B�

x′, ?

Figura 4.4: Schema de semnare cu interpunerea unei terte parti

In 1976, Diffie si Hellman [43], odata cu lansarea ideii de cheie publica, propuneutilizarea semnaturilor si ın cazul transmisiei datelor prin intermediul calculatorului(mesaje, programe etc.). Cerintele pe care trebuie sa le satisfaca o semnatura, catsi precautiile (masurile de siguranta) pe care trebuie sa si le ia partile implicate ıncomunicare, discutate mai sus, trebuie sa ramana valabile si ın acest caz. Spre deose-bire de semnatura uzuala a fiecaruia, ce este ın linii mari aceeasi pe orice document,semnatura digitala variaza de la document la document.

Definitia 4.11.3.1. O schema de semnare, sau semnatura digitala, este un 5-uplu

Sig = (P,S,K,As,Av),

unde:

(1) P este o multime finita si nevida ale carei elemente sunt numite mesaje;

(2) S este o multime finita si nevida ale carei elemente sunt numite semnaturi;

(3) K este o multime finita si nevida ale carei elemente sunt numite chei de sem-nare;

Page 160: Fltiplea Fai

154 Scheme de semnare

(4) As = {sigK : P → S|K ∈ K} si Av = {verK : P × S → {0, 1}|K ∈ K}sunt multimi K-indexate ale caror elemente sunt numite reguli/algoritmi desemnare si, respectiv, reguli/algoritmi de verificare, astfel ıncat

verK(x, y) = 1 ⇔ sigK(x) = y,

pentru orice x ∈ P , y ∈ S si K ∈ K.

Utilizarea unei scheme de semnare de catre doua parti A si B decurge astfel:

• semnare. A decide asupra mesajului pe care ıl are de transmis lui B, fie acestax, alege o cheie K de semnare, semneaza obtinand sigK(x), si transmite lui Bcuplul (x, sigK(x));

• verificare. B primeste un cuplu (x, sigK(x)) si accepta semnatura lui A dacasi numai daca verK(x, sigK(x)) = 1.

O cerinta naturala asupra schemelor de semnare digitala consta ın aceea ca semnareasi verificarea trebuie sa se faca “usor” (ın timp polinomial determinist). Algoritmiide semnare trebuie sa fie secreti, iar cei de verificare, publici. Interceptarea unuimesaj si a unei semnaturi asociate nu trebuie sa permita determinarea algoritmuluide semnare si nici falsificarea semnaturii prin alte mijloace (semnarea corecta a altormesaje fara a cunoaste algoritmul de semnare).

Semnaturile digitale nu pot asigura securitate neconditionata pentru simplul mo-tiv ca, verificarea tuturor posibilitatilor (ce sunt ın numar finit) conduce la deter-minarea algoritmului de semnare utilizat.

Semnaturile digitale pot fi utilizate ın conjunctie cu metodele de criptare cu cheipublice astfel. Presupunem ca A doreste sa transmita luiB un mesaj x. A ısi alege unalgoritm (propriu) de semnare sigA, semneaza mesajul, fie y = sigA(x), si cripteazacuplul (x, y) folosind un algoritm de criptare cu chei publice eB (propriu lui B, decipentru careB cunoaste regula de decriptare dB). Rezultatul, z = eB(x, y), este trimislui B (Figura 4.5(a)).

Evident,A poate cripta ıntai pe x, eB(x), si apoi semna rezultatul (Figura 4.5(b)).Dar, ın acest caz, un utilizator ilegal C care intercepteaza cuplul

(eB(x), sigA(eB(x)))

poate ınlocui semnatura lui A, sigA(eB(x)), fara a cunoaste mesajul original x, prinsemnatura lui proprie sigC(eB(x)), si trimite lui B cuplul

(eB(x), sigC(eB(x)))

(Figura 4.5(c)). In urma receptionarii acestui cuplu, B va considera mesajul cavenind din partea lui C si nu a lui A (mesajul poarta semnatura lui C). O astfelde situatie poarta denumirea de impersonificare. Pentru a o evita, se recomanda ıntaisemnarea mesajului si apoi criptarea cuplului (mesaj, semnatura).

Page 161: Fltiplea Fai

Semnatura ElGamal 155

���

AdAsigA

eA, verA

���B dB

sigB

eB, verB

�eB(x, sigA(x))

(a)

���

AdAsigA

eA, verA

���B dB

sigB

eB, verB

�eB(x), sigA(eB(x))

(b)

���

AdAsigA

eA, verA

���

CsigC

verC

���B dB

sigB

eB, verB

�eB(x), sigA(eB(x)) �eB(x), sigC(eB(x))

(c)

Figura 4.5: Semnare digitala ın conjunctie cu criptare cu chei publice

Adesea, cheia K utilizata pentru semnare contine un parametru k, numit para-metru de securitate, care, la schimbarea cheii, se schimba doar el. In acest caz estede preferat de pastrat restul cheii drept cheie si de gandit parametrul de securitate cafiind un parametru auxiliar. Altfel spus, este de preferat ca procedura de semnare safie o functie de 2 variabile, sigK(x, k). Evident, aceasta nu modifica cu absolut nimicstrategia generala.

4.11.3.2 Semnatura ElGamal

Semnatura ElGamal a fost propusa ın 1985 [47]. Aceasta schema este nedeterministaın sensul ca pentru un mesaj x pot exista mai multe semnaturi valide; algoritmul deverificare trebuie sa fie capabil de a accepta oricare din acestea ca semnaturi auten-tice.

Ideea de baza ın cadrul acestei semnaturi este de a semna un mesaj x ∈ Z∗p,

unde p este un numar prim, printr-o pereche (γ, δ) ∈ Z∗p × Zp−1 astfel ıncat x este

combinatie liniara de γ si δ cu doi parametri secreti a si k,

x = (aγ + kδ) mod (p− 1).

Aceasta combinatie este aleasa modulo p − 1 deoarece verificarea semnaturii se vaface prin intermediul echivalentei

u ≡ v mod (p− 1) ⇔ αu ≡ αv mod p,

pentru orice radacina primitiva α a lui Z∗p.

Descrierea semnaturii:

• fie p un numar prim si α o radacina primitiva modulo p;

Page 162: Fltiplea Fai

156 Scheme de semnare

• P = Z∗p;

• S = Z∗p × Zp−1;

• K = {(p, α, a, β)|a ∈ Zp−1, β = αa mod p};

• pentru orice K = (p, α, a, β) si k ∈ Z∗p−1, mesajul x ∈ Z∗

p este semnat prin

sigK(x, k) = (γ, δ),

undeγ = αk mod p si δ = (x− aγ)k−1 mod (p− 1)

(k−1 este determinat modulo p − 1), iar verificarea semnaturii (γ, δ) pentrumesajul x se face prin

verK(x, (γ, δ)) = 1 ⇔ βγγδ ≡ αx mod p.

Numerele p, α si β sunt publice (unui grup de utilizatori), iar a este secret (parti-cular fiecarui utilizator ın parte). In plus, semnarea unui mesaj x presupune alegereaunui parametru de securitate k, ceea ce ıntareste securitatea schemei fara a afectaeficienta verificarii (observam ca algoritmul de verificare nu depinde de k).

Schema descrisa mai sus este o schema de semnare. In adevar, are loc urmatorulsir de echivalente

δ = (x− aγ)k−1 mod p− 1 ⇔ kδ ≡ (x− aγ) mod p− 1⇔ x ≡ (aγ + kδ) mod p− 1⇔ αx ≡ αaγ+kδ mod p⇔ αx ≡ βγγδ mod p.

Exemplul 4.11.3.1. Fie p = 467, α = 2 si a = 127. Atunci,

β = αa mod p= 2127 mod 467= 132.

Presupunem ca se doreste a se semna mesajul x = 100 folosind parametrul de secu-ritate k = 213 (k ∈ Z∗

466 si k−1 = 431). Numerele γ si δ vor fi date prin:

γ = 2213 mod 467 = 29,

siδ = (100− 127 · 29) · 431 mod466 = 51.

Ca urmare, sigK(x, k) = (29, 51).Verificarea se face calculand

13229 · 2951 mod 467

si2100 mod 467

si constatand ca ele sunt congruente modulo 467.

Page 163: Fltiplea Fai

Semnatura ElGamal 157

Algoritmii de semnare si verificare pentru semnatura ElGamal au complexitateaO((log p)3).

Semnatura ElGamal ısi bazeaza securitatea pe intractabilitatea problemei loga-ritmului discret. Ca urmare, p si α trebuie alesi astfel ıncat sa fie ındeplinit acestdeziderat (p trebuie sa fie numar prim suficient de mare, ın general de cel putin 1024biti, iar α sa fie radacina primitiva modulo p generata aleator).

Chiar daca p si α sunt alesi ca mai sus, exista situatii care compromit semnatura,aas cum se va vedea mai jos. Mentionam ınsa ca nici una din situatiile descrise maijos nu reprezinta un pericol real asupra semnaturii daca aceasta este utilizata “cugrija”.

Determinarea semnaturii pentru un mesaj dat. Presupunem ca, dat mesajul x,dorim sa construim o semnatura valida pentru el, (γ, δ), fara a cunoaste a. Pre-supunem ca, printr-o anume metoda, am determinat γ. Atunci, urmeaza sa deter-minam δ. Aceasta se reduce la rezolvarea ecuatiei

γδ ≡ αxβ−γ mod p,

care constituie subiectul problemei logaritmului discret.Daca presupunem ca, printr-o anume metoda, am determinat δ, determinarea lui

γ se reduce la rezolvarea ecuatiei

βγγδ ≡ αx mod p.

Pentru rezolvarea acetei ecuatii, care nu “pare” a fi problema logaritmului discret, nuse cunoaste ın prezent nici o metoda polinomiala determinista.

Determinarea mesajului pentru o semnatura data Daca presupunem ca am aleso pereche (γ, δ) ca semnatura, determinarea unui mesaj x pentru care aceasta perechesa fie semnatura se poate face prin rezolvarea ecuatiei

βγγδ ≡ αx mod p,

care este o instanta a problemei logaritmului discret.

Determinarea simultana a semnaturii si a mesajului Exista posibilitatea deter-minarii “simultane” a 3 numere γ, δ si x astfel ıncat (γ, δ) sa fie semnatura pentru x.In adevar, pentru orice i si j cu 0 ≤ i, j ≤ p− 2 si (j, p− 1) = 1, numerele

γ = αiβj mod pδ = −γj−1 mod (p− 1)x = −γij−1 mod (p− 1),

unde j−1 este determinat modulo p− 1, verifica

βγγδ ≡ βαiβi(αiβj)−αiβjj−1

mod p

≡ βαiβiα−ij−1αiβj

β−αiβjmod p

≡ α−ij−1αiβjmod p

≡ α−γij−1mod p

≡ αx mod p,

Page 164: Fltiplea Fai

158 Scheme de semnare

ceea ce arata ca (γ, δ) este semnatura pentru x.

Falsificarea semnaturii cunoscand o semnatura Daca se poate intercepta un cu-plu (x, (γ, δ)), unde (γ, δ) este semnatura a lui x, atunci se pot semna (valid) si altemesaje. In adevar, pentru orice h, i si j cu 0 ≤ h, i, j ≤ p−2 si (hγ− jδ, p−1) = 1,numerele

γ′ = γhαiβj mod pδ′ = δγ′(hγ − jδ)−1 mod (p− 1)x′ = γ′(hx+ iδ)(hγ − jδ)−1 mod (p− 1),

unde (hγ − jδ)−1 este determinat modulo p− 1, verifica

βγ′(γ′)δ′ ≡ αx′

mod p,

ceea ce arata ca (γ′, δ′) este semnatura pentru x′.

Dupa cum putem constata, nici una din metodele de mai sus nu constituie un atacserios la adresa semnaturii ElGamal. De altfel, nu se cunoaste nici un atac serios laadresa acestei semnaturi, exceptand unele “neglijente” de protocol pe care le vomsemnala ın continuare.

Cunoasterea numarului secret k Presupunem ca s-a interceptat o pereche de nu-mere (x, (γ, δ)), unde (γ, δ) este semnatura lui x. Atunci, cunoasterea lui k conducela determinarea imediata a lui a prin relatia

a = (x− kγ)δ−1 mod (p− 1),

ceea ce compromite semnatura.

Utilizarea aceluiasi k pentru a semna mesaje diferite Daca se utilizeaza acelasinumar k pentru a semna doua mesaje distincte x1 si x2, atunci semnaturile sunt deforma (γ, δ1) si (γ, δ2). Ca urmare,

βγγδ1 ≡ αx1 mod p

siβγγδ2 ≡ αx2 mod p,

ceea ce conduce laαx1−x2 ≡ γδ2−δ1 mod p.

Deoarece γ = αk mod p, relatia de mai sus conduce la

αx1−x2 ≡ αk(δ2−δ1) mod p,

care este echivalenta cu

k(δ2 − δ1) ≡ x1 − x2 mod (p− 1).

Page 165: Fltiplea Fai

Semnatura DSS 159

Aceasta este o ecuatie modulara ın necunoscuta k, ce admite solutie (k a fost utilizatpentru a semna x1 si x2). Conform Teoremei 4.7.1, solutiile ın Zp−1 ale acesteiecuatii sunt

(k0 + i(p− 1)/d) mod p− 1,

unde k0 este o solutie arbitrara a ei, d = (δ2 − δ1, p− 1) si 0 ≤ i < d.Determinarea unei solutii k0 se poate face cu algoritmul extins al lui Euclid, asa

cum a fost discutat ın Sectiunea 4.2. Valoarea reala a lui k se determina testandrelatia γ ≡ αk mod p.

4.11.3.3 Semnatura DSS

Semnatura DSS (Digital Signature Standard) a fost propusa ın august 1991 de NISTca metoda standard de schema de semnare [48]. Dupa 3 ani de dispute si cri-tici asupra ei, ın mai 1994 semnatura DSS a fost adoptata si publicata [141]. Eaeste, ın esenta, o variatie a schemei de semnare ElGamal, variatie generata pe bazaurmatoarei observatii. Spre deosebire de un criptosistem, o semnatura digitala tre-buie sa asigure securitate pentru o perioada ındelungata de timp (semnatura pe undocument important trebuie sa ısi pastreze intacte calitatile pentru ani si ani de zile).Deoarece securitatea schemei de semnare ElGamal este bazata ın mod direct pe pro-blema logaritmului discret, numarul prim p trebuie ales suficient de mare (512 bitisau, asa cum se sugereaza, chiar 1024 de biti). Daca p este ales de 512 biti, semnaturave avea 1024 de biti, ceea ce este considerat neconvenabil din punct de vedere practic(de exemplu, pentru SmartCard-uri se prefera semnaturi mult mai scurte). Schema desemnare DSS produce semnaturi de 320 de biti fara a compromite securitatea aces-teia. Idea de baza consta ın utilizarea unui numar prim de 512 biti (sau chiar 1024de biti) si a unui factor prim q de 160 de biti al lui p− 1. Calculele se vor realiza ınsubgrupul Zq al lui Z∗

p, utilizand un element α ∈ Z∗p de ordin q. Atunci, x ∈ Z∗

p va fisemnat prin (γ, δ) ∈ Zq × Zq astfel ıncat x este o combinatie liniara de γ si δ cu doiparametri secreti a ∈ Zq si k ∈ Z∗

q ,

x = (−aγ + kδ) mod q.

Aceasta combinatie este aleasa modulo q deoarece verificarea semnaturii se va faceprin intermediul echivalentei

u ≡ v mod q ⇔ αu ≡ αv mod p,

pentru orice element α ∈ Z∗p de ordin q. Se poate vedea astfel analogia cu schema

ElGamal, ınlocuind radacina primitiva α (element de ordin p− 1) printr-un elementde ordin q.

Securitatea schemei este bazata pe problema logaritmului discret ın Zq, problemacare, la momentul actual, este intractabila.

Descrierea semnaturii:

• se aleg numerele p, q si α astfel ıncat p este prim, problema logaritmului discretın Z∗

p este intractabila, q este un factor prin al lui p − 1, iar α ∈ Z∗p este un

element de ordin q (ca urmare, α mod q este radacina primitiva ın Z∗q);

Page 166: Fltiplea Fai

160 Scheme de semnare

• P = Z∗p;

• S = Zq × Zq;

• K = {(p, q, α, a, β)|a ∈ Zq ∧ β = αa mod p};

• pentru orice cheie K = (p, q, α, a, β) si k ∈ Z∗q ,

sigK(x, k) = (γ, δ),

undeγ = (αk mod p) mod q si δ = (x+ aγ)k−1 mod q,

iarverK(x, (γ, δ)) = 1 ⇔ (αe1βe2 mod p) mod q = γ,

undee1 = xδ−1 mod q si e2 = γδ−1 mod q,

pentru orice x ∈ Z∗p (k−1 si δ−1 sunt calculate modulo q).

Numerele p, q, α si β sunt publice (unui grup de utilizatori), iar a este secret(particular fiecarui utilizator ın parte).

Verificarea faptului ca schema descrisa mai sus este, ın adevar, o schema desemnare decurge astfel. Relatia kδ ≡ (x + aγ) mod q este echivalenta, succesiv,cu:

kδ ≡ (x+ aγ) mod q ⇔ k ≡ (x+ aγ)δ−1 mod q

⇔ αk ≡ α(x+aγ)δ−1mod p

⇔ αk ≡ αxδ−1(αa)γδ−1

mod p

⇔ αk ≡ αxδ−1βγδ−1

mod p⇔ αk ≡ αe1βe2 mod p

(pentru cea de a doua echivalenta s-a utilizat faptul ca α are ordinul q ın Z∗p). De aici

urmeaza y = (αe1βe2 mod p) mod q.

Exemplul 4.11.3.2. Fie q = 101, p = 78q + 1 = 7879 si 3 un element primitiv ınZ7879. Consideram α = 378 mod 7879 = 170 si a = 75. Atunci,

β = αa mod p = 4567.

Presupunem ca se doreste a se semna mesajul x = 1234 folosind parametrul desecuritate k = 50 (k ∈ Z75 si k−1 = 99). Numerele γ si δ vor fi date prin:

γ = (17050 mod 7879)mod 101 = 94,

siδ = (1234 + 75 · 94) · 99 mod 101 = 97.

Ca urmare, sigK(x, k) = (94, 97).

Page 167: Fltiplea Fai

Semnatura DSS 161

Algoritmii de semnare si verificare au complexitate O((log p)3). Se recomandaca p si q sa satisfaca

2l−1 < p < 2l, 2159 < q < 2160

cu 512 ≤ l ≤ 1024 multiplu de 64 [50].Numarul α se poate alege pornind de la un element primitiv α0 ın Zp, prin

α = αp−1

q

0 mod p.

Prin modul de alegere al lui α, numerele β si γ vor fi, de asemenea, radacini deordin q ale lui 1 modulo p. Necesitatea calculului lui δ−1 cere ındeplinirea relatieiδ �≡ 0 mod q (probabilitatea de a se obtine un δ cu δ ≡ 0 mod q este de 2−160).

Page 168: Fltiplea Fai

162 Scheme de semnare

Page 169: Fltiplea Fai

Capitolul 5

Completitudine ın teoria multimilorpartial ordonate

5.1 Completitudine

Notiunile de completitudine joaca un rol deosebit de important ın teoria multimilorpartial ordonate si a aplicatiilor acesteia. In general, o mpo este numita completadaca orice submultime a ei ce satisface o proprietate data admite infimum si/sausupremum. Prima notiune de completitudine a fost introdusa de Birkhoff ın 1933 [8]prin considerarea conceptului de latice completa (mpo pentru care orice submultimenevida admite infimum si supremum). Ulterior, apar si alte tipuri de completitudine;acestea, ımpreuna cu cateva proprietati de baza ale lor, vor fi discutate ın capitolul defata.

Multe studii ın informatica teoretica asupra “recursivitatii” fac apel la studiulsupremului unor tipuri de lanturi [20, 103, 153, 191]. Este natural atunci a introduceun concept de completitudine prin lanturi. Meritul unui studiu profund al acestui tipde completitudine apartine lui Markowski [119, 120, 121].

Definitia 5.1.1. Spunem ca o mpoM = (A;≤) este completa prin lanturi daca oricelant ın M admite supremum.

Observatia 5.1.1.

(1) Definitia 5.1.1 poate fi reformulata echivalent prin: M este mpo completa prinlanturi daca au loc urmatoarele proprietati:

– M are cel mai mic element;

– orice lant nevid L ⊆ A admite suprem.

Aceasta reformulare este bazata pe faptul ca existenta supremului lantului videste echivalenta cu existenta celui mai mic element ⊥A. De multe ori vomprefera sa folosim aceasta varianta deoarece, ın demonstratii, apare frecventnecesitatea clasificarii lanturilor ın vide si nevide.

163

Page 170: Fltiplea Fai

164 Teoria multimilor partial ordonate

(2) Unii autori cer ın Definitia 5.1.1 doar existenta supremului lanturilor nevide,iar ceea ce am numit noi mpo completa ei numesc mpo completa pointata.Atunci cand nu vom cere existenta celui mai mic element ne vom referi laastfel de mpo ca fiind mpo slab complete (deci, ın astfel de mpo este asiguratsupremum oricarui lant nevid; cel mai mic element poate sa existe sau nu).

Exemplul 5.1.1.

(1) Orice mpo care are cel mai mic element si pentru care orice lant este finit, estecompleta. In particular, ordinalii finiti si mpo plate sunt mpo complete.

(2) (P(A);⊆), unde A este o multime arbitrara, este mpo completa.

(3) Multimea N a numerelor naturale ımpreuna cu ordinea uzuala nu este mpocompleta deoarece lantul N nu admite supremum.

(4) Fie A si B doua multimi si (A � B) multimea tuturor functiilor partiale pe Acu valori ın B. Consideram pe (A � B) relatia binara ≤ data prin

f ≤ g ⇔ Dom(f) ⊆ Dom(g) ∧ (∀x ∈ Dom(f))(f(x) = g(x)),

pentru orice f, g ∈ (A � B). Atunci, ((A � B);≤) este mpo completa. Inadevar, daca L este un lant ın (A � B), functia

⋃L (existenta acesteia este

asigurata de faptul ca (A � B) este sistem de functii compatibile doua catedoua (Sectiunea 1.1.4)) este supremul acestui lant.

Lema 5.1.1. Fie M si M ′ doua mpo izomorfe. Atunci, M este completa daca sinumai daca M ′ este completa.

Demonstratie Fie M = (A;≤) si M ′ = (A′;≤′) doua mpo si f : A → A′ unizomorfism ıntre ele. Presupunem ca M este completa. Atunci,

– f(⊥M) este cel mai mic element al mpo M ′;

– pentru orice lant L′ ın M ′, f−1(L′) este lant ın M . Atunci, supM(f−1(L′))exista si supM ′(L′) = f(supM(f−1(L′))).

Deci, M ′ este completa.Un rationament similar, realizat prin prisma functiei f−1, ne arata ca daca M ′

este completa atunci M este completa. �

Fie A o multime si (B,≤) o mpo. Pe multimea (A → B) a tuturor functiilor dela A la B definim relatia binara ≤(A→B) prin:

f ≤(A→B) g ⇔ (∀a ∈ A)(f(a) ≤ g(a)),

pentru orice f, g : A → B. Este usor de verificat ca ≤(A→B) este ordine partiala pemultimea (A→ B).

Fie S ⊆ (A → B), a ∈ A si S(a) = {f(a)|f ∈ S}. Daca S = ∅, atunciS(a) = ∅. Urmatoarea lema, ce are un caracter tehnic, va fi intens utilizata ın multedin demonstratiile ce urmeaza.

Page 171: Fltiplea Fai

Completitudine 165

Lema 5.1.2. Fie A o multime si (B;≤) o mpo. Atunci, pentru orice submultimenevida S ⊆ (A→ B) are loc

∃sup(S) ⇔ (∀a ∈ A)(∃sup(S(a))).

In plus, daca exista sup(S) atunci are loc

(∀a ∈ A)(((sup(S))(a) = sup(S(a)))

(supremul multimii S este considerat ın raport cu≤(A→B), iar cel al multimii S(a) ınraport cu ≤).

Demonstratie Verificarea primei parti a lemei constituie un simplu exercitiu lasatın seama cititorului.

Presupunem ca exista sup(S), fie acesta f : A → B. Este clar ca pentru oricea ∈ A, f(a) este majorant pentru S(a). Daca presupunem, prin contradictie, ca existaa ∈ A astfel ıncat f(a) nu este cel mai mic majorant pentru S(a), atunci sup(S(a)) <f(a) (exista sup(S(a)) conform ipotezei si primei parti a lemei). Consideram functiaf ′ : A→ B data prin

f ′(x) =

{f(x), x �= ab, x = a

pentru orice x ∈ A. Atunci, este usor de verificat ca f ′ este majorant pentru S sif ′ <(A→B) f , ceea ce contrazice faptul ca f este cel mai mic majorant al multimii S.

Deci, exista sup(S(a)) si acesta este f(a) = (sup(S))(a), pentru orice a ∈ A.Reciproc, presupunem ca exista sup(S(a)) pentru orice a ∈ A. Consideram

functia f : A → B data prin f(a) = sup(S(a)), pentru orice a ∈ A. Este usor devazut ca f este cel mai mic majorant pentru S. Ca urmare, exista supremum multimiiS si, ın plus, (sup(S))(a) = sup(S(a)) pentru orice a ∈ A. �

Teorema 5.1.1. Fie A o multime nevida si (B;≤) o mpo. Daca (B;≤) este mpocompleta, atunci ((A→ B);≤(A→B)) este mpo completa.

Demonstratie Cel mai mic element al mpo ((A → B);≤(A→B)) este functia⊥(A→B) : A→ B data prin ⊥(A→B)(a) = ⊥B pentru orice a ∈ A.

Fie L ⊆ (A → B) un lant nevid. Atunci, pentru orice a ∈ A, L(a) este lantnevid ın B. Deoarece (B;≤) este mpo completa, exista sup(L(a)) pentru oricea ∈ A. Atunci, Lema 5.1.2 asigura existenta supremului lantului L. Ca urmare,((A→ B);≤(A→B)) este mpo completa. �

Exemplul 5.1.2. Multimea partial ordonata ((N⊥ → N⊥);≤(N⊥→N⊥)) este com-pleta si, ca urmare, orice lant va admite supremum. Sa consideram lantul de functiiL = {fi|i ≥ 0} ⊆ (N⊥ → N⊥) dat ca ın diagrama de mai jos:

L ⊥ 0 1 2 3 · · ·f0 ⊥ ⊥ ⊥ ⊥ ⊥ · · ·f1 ⊥ 1 ⊥ ⊥ ⊥ · · ·f2 ⊥ 1 1! ⊥ ⊥ · · ·f3 ⊥ 1 1! 2! ⊥ · · ·· · · · · ·

Page 172: Fltiplea Fai

166 Teoria multimilor partial ordonate

Acest lant admite supremum, ce poate fi determinat utilizand Lema 5.1.2 ca fiind:

sup(L)(x) =

⎧⎨⎩

1, x = 0x!, x ∈ N⊥, x = ⊥,

pentru orice x ∈ N⊥. Observam ca lantul L constituie o aproximare a functieifactorial: f0 aproximeaza functia factorial pentru⊥, f1 aproximeaza functia factorialpentru ⊥ si 0 etc. Aceste aproximari sunt ıntelese ın sensul

f0 ≤N⊥→N⊥ f1 ≤N⊥→N⊥ f2 ≤N⊥→N⊥ · · · ≤N⊥→N⊥ sup(L)

Exemplul 5.1.3. Exemplul 5.1.2 poate fi generalizat ın mod natural. Orice functief : N⊥ → N⊥ poate fi aproximata printr-un lant L de functii definite ca ın diagramade mai jos:

L ⊥ 0 1 2 · · ·f0 f(⊥) ⊥ ⊥ ⊥ · · ·f1 f(⊥) f(0) ⊥ ⊥ · · ·f2 f(⊥) f(0) f(1) ⊥ · · ·· · · · · ·

Operatii cu mpo complete. Vom studia acum modul ın care se pastreaza propri-etatea de completitudine prin trecere la intersectie, reuniune, sume si produse ordo-nate (asa cum au fost definite ın Sectiunea 3.2.4).

Intersectia unei familii ((Ai;≤i)|i ∈ I) de mpo complete poate sa nu fie mpocompleta din doua motive:

1. prin intersectie nu se pastreaza cel mai mic element. De exemplu, sa con-sideram Z1 = Z− ∪ {⊥1} si Z2 = Z− ∪ {⊥2}, unde Z− este multimea nu-merelor ıntregi negative, iar ⊥1 si ⊥2 sunt doua elemente diferite ıntre ele sidiferite de orice numar ıntreg. Aceste doua multimi cu ordinea naturala pe Z−extinsa prin considerarea elementelor⊥1 si respectiv⊥2 ca fiind cele mai micielemente, conduc la mpo complete. Intersectia lor este Z− ce nu mai are celmai mic element;

2. prin intersectie nu se mai asigura supremum unor lanturi (intersectia dualelormultimilor partial ordonate de la punctul anterior ne arata aceasta).

Reuniunea unei familii disjuncte ((Ai;≤i)|i ∈ I) de mpo complete poate sa nu fiempo completa dintr-un singur motiv: nu se asigura existenta celui mai mic element.Insa, ⊥⊥ ⊕

⋃i∈I(Ai;≤i) este mpo completa (considerand ⊥ un nou element). Daca

(Ai;≤i) nu este o familie disjuncta (dar elementele ei sunt mpo complete), ⊥⊥ ⊕*i∈I(Ai;≤i) este mpo completa.

Vom analiza acum cazul sumei ordonate.

Propozitia 5.1.1. Fie I = (I;≤) o mto completa si ((A1;≤i)|i ∈ I) o familie dempo complete disjuncte. Atunci, suma ordonata

∑oi∈I(Ai;≤i) este mpo completa.

Page 173: Fltiplea Fai

Completitudine 167

Demonstratie Fie (A;≤′) =∑o

i∈I(Ai;≤i). Cel mai mic element al acestei mpoeste cel mai mic element al mpo (Ai0 ;≤i0), unde i0 este cel mai mic element al mtoI (existenta acestuia este asigurata de faptul ca I este completa).

Fie L ⊆ A un lant si K = {i ∈ I|∃a ∈ L : a ∈ Ai}. Multimea K este lantın I . Deoarece I este completa, va exista k = sup(K). Consideram acum sublantulL′ = L∩Ak al lantului L. Deoacere (Ak;≤k) este completa, exista supAk

(L′) si esteusor de aratat ca supA(L) = supAk

(L′). �

Exista cazuri ın care disjunctivitatea familiei ((Ai;≤i)|i ∈ I) nu este asigurata.Suma ordonata disjuncta (Sectiunea 3.2.4) rezolva aceasta problema dar, cel mai micelement al ei poate sa nu existe chiar daca fiecare mpo din familie are un cel mai micelement. Remedierea acestei situatii se pot face astfel. Fie {(A1;≤i)|i ∈ I} o familiede mpo. Atunci, suma separata a acestei familii, notata

∑si∈I(Ai;≤i), este mpo

∑i∈I

s(Ai;≤i) = (A;≤′),

unde A = (⋃

i∈I Ai×{i})∪ {⊥}, ⊥ este un nou element iar ≤′ este ordinea partiala

x ≤′ y ⇔ are loc una din urmatoarele doua proprietati:

1. exista i ∈ I si a, b ∈ Ai astfel ıncat x = (a, i), y = (b, i) si a ≤i b, sau

2. x =⊥ si y ∈ A,

pentru orice x, y ∈ A.Suma separata este oarecum similara sumei disjuncte, diferenta constand ın faptul

ca se introduce un cel mai mic element. Este cat se poate de clar ca suma separata dempo complete este mpo completa.

Prin suma separata sunt pastrate posibilele elemente minimale ale mpo ın cauza.Urmatoarea varianta de suma elimina aceste elemente.

Fie {(A1;≤i)|i ∈ I} o familie de mpo. Atunci, suma de fuziune a acestei familii,notata

∑fi∈I(Ai;≤i), este mpo

∑i∈I

f(Ai;≤i) = (A;≤′),

unde A = (⋃

i∈I(Ai − {⊥Ai}) × {i}) ∪ {⊥}, ⊥ este un nou element iar ≤′ este

ordinea partiala

x ≤′ y ⇔ are loc una din urmatoarele doua proprietati:

1. exista i ∈ I si a, b ∈ Ai − {⊥Ai} astfel ıncat x = (a, i), y = (b, i) si a ≤i b,

sau

2. x =⊥ si y ∈ A,

Page 174: Fltiplea Fai

168 Teoria multimilor partial ordonate

pentru orice x, y ∈ A.Suma de fuziune poate fi considerata un caz particular de suma separata (mpo ın

cauza nu au cel mai mic element). Ca urmare, suma de fuziune de mpo complete estempo completa.

In cazul produsului ordonat (direct) al unei familii indexate de mpo remarcamınca de la ınceput ca acesta nu face apel la nici un fel de ordine (partiala sau totala)pe multimea indexilor familiei. Primul nostru rezultat nu este altceva decat o simplageneralizate a Lemei 5.1.2.

Lema 5.1.3. Fie ((Ai;≤i)|i ∈ I) o familie nevida de mpo. Atunci, pentru oricesubmultime nevida S ⊆

∏i∈I Ai are loc

∃sup(S) ⇔ (∀i ∈ I)(∃sup(S(i))).

In plus, daca exista sup(S), atunci are loc

(∀i ∈ I)(((sup(S))(i) = sup(S(i))).

Demonstratie Similara Lemei 5.1.2. �

Daca ın Lema 5.1.3 alegem I = A, Ai = B si ≤i=≤ pentru orice i ∈ I , atunciobtinem rezultatul din Lema 5.1.2.

Propozitia 5.1.2. Fie ((Ai;≤i)|i ∈ I) o familie nevida de mpo complete. Atunci,∏i∈I(Ai;≤i) este mpo completa.

Demonstratie Cel mai mic element al mpo∏

i∈I(Ai;≤i) este functia⊥∏i∈I Ai

dataprin ⊥∏

i∈I Ai(i) = ⊥Ai

, pentru orice i ∈ I .Restul demonstratiei decurge similar demonstratiei Teoremei 5.1.1. �

Corolarul 5.1.1. Fie n ≥ 1 un numar natural si (Ai;≤i) mpo complete, unde 1 ≤i ≤ n. Atunci, ×n

i=1(Ai;≤ i) este mpo completa.

Demonstratie Este usor de verificat ca ×ni=1(Ai;≤i) si

∏i∈{1,...,n}(Ai;≤i) sunt

mpo izomorfe. Atunci, Propozitia 5.1.2 si Lema 5.1.1 conduc direct la faptul ca×n

i=1(Ai;≤ i) este mpo completa. �

Exemplul 5.1.4. Produs direct sau cartezian de mpo plate este mpo completa.

Submultimi partial ordonate complete. Vom discuta acum conceptul de submul-time partial ordonata completa care, mentionam ınca de la ınceput, nu trebuie con-fundat cu cel de sub-mpo care este si completa. Vom ıncepe cu o observatie care vajustifica introducerea conceptului.

Observatia 5.1.2. Fie M = (A;≤) o mpo completa si M ′ = (A′;≤′) o sub-mpo alui M .

Page 175: Fltiplea Fai

Completitudine 169

(1) Daca M ′ este completa, atunci pentru orice lant nevid L ınM ′ exista supM(L)si supM(L) ≤ supM ′(L). Aceasta inegalitate poate fi stricta. Drept exemplusa consideram A = P(N) si A′ = {B ∈ A|B finita} ∪ {N}. Atunci, ın raportcu incluziunea, A si A′ sunt multimi partial ordonate complete. In plus, A′ estesubmultime partial ordonata a lui A . Fie lantul

L = {{0}, {0, 2}, {0, 2, 4}, . . .}

ın A′. Observam ca supM ′(L) = N, supM(L) = {n ∈ N|n este par} sisupM(L) ⊂ supM ′(L).

(2) Daca M ′ are cel mai mic element si supM(L) ∈ M ′, pentru orice lant nevidL ın M ′, atunci M ′ este completa. In acest caz are loc supM(L) = supM ′(L),pentru orice lant nevid L ın M ′.

Definitia 5.1.2. Fie M = (A;≤) o mpo completa si M ′ = (A′;≤′) o sub-mpo a luiM . Spunem ca M ′ este submultime partial ordonata completa (abreviat, sub-mpocompleta) a lui M daca pentru orice lant nevid L ın M ′ are loc supM(L) ∈ A′.

Observatia 5.1.3.

(1) Definitia 5.1.2 este ın concordanta cu Observatia 5.1.1(1) ın sensul ca am puteaınlocui cerinta din aceasta definitie prin

(1’) ⊥M ∈ A′;

(2’) (∀L ⊆ A′)(L lant nevid ın M ′ ⇒ supM(L) ∈ A′).

Aceasta se bazeaza pe faptul ca supM(∅) = ⊥M , care conform cerintei (1’)trebuie sa fie ın A′. Dorim ınsa sa subliniem ca daca la (1’) s-ar cere “M ′ arecel mai mic element”, atunci aceasta concordanta nu s-ar mai pastra deoarecear fi posibil ca M ′ sa aiba un cel mai mic element diferit de ⊥M . Ca urmare,putem spune ca M ′ este sub-mpo completa a lui M daca M ′ patreaza atat celmai mic element al lui M cat si supremum lanturilor.

(2) Cerinta din Definitia 5.1.2 poate fi modificata echivalent la: pentru orice lantL ⊆ A′ exista supM ′(L) si are loc supM ′(L) = supM(L).

(3) Orice sub-mpo completa a unei mpo complete este mpo completa.

Propozitia 5.1.3. Intersectia unei familii (nevide) de sub-mpo complete ale unei mpocomplete este sub-mpo completa.

Demonstratie Fie M o familie nevida de sub-mpo complete a mpo completeM = (A;≤).

Fiecare sub-mpo din M pastreaza cel mai mic element al mpo M . Ca urmare,acesta se va gasi si ın

⋂M. Similar, orice sub-mpo din M patreaza supremul

lanturilor calculat ın M . Ca urmare, supremul oricarui lant nevid din M, calculatın M , va fi ınM. �

Page 176: Fltiplea Fai

170 Completitudine

Reamintim ca multimea tuturor functiilor monotone de la o mpo M = (A;≤) lao mpo M ′ = (A′;≤′) este notata prin (M →m M ′) sau (A→m A′), atunci cand nuexista pericol de confuzie. Este clar ca (A→m A′) ⊆ (A→ A′).

Fie ≤(A→mA′)=≤(A→A′) |(A→mA′). Cu aceasta relatie, (A →m A′) devine sub-mpo a multimii partial ordonate (A → A′). Vom arata ca (A →m A′) este chiarsub-mpo completa.

Teorema 5.1.2. Fie M = (A,≤) si M ′ = (A′,≤′) doua mpo. Daca M ′ este com-pleta, atunci (A→m A′) este sub-mpo completa a mpo complete (A→ A′).

Demonstratie Functia ⊥(A→A′) este monotona, ceea ce ne spune ca este elemental mpo (A→m A′).

Fie L ⊆ (A →m A′) un lant nevid de functii monotone. Acest lant admitesupremum ın (A → A′). Vom arata ca acest supremum este functie monotona. Fiea, b ∈ A cu a ≤ b. Vom arata ca are loc

(sup(A→A′)(L))(a) ≤′ (sup(A→A′)(L))(b).

Conform Lemei 5.1.2, este suficient de aratat ca are loc

sup(A→A′)(L(a)) ≤′ sup(A→A′)(L(b)),

iar conform Propozitiei 3.2.3.5 este suficient de aratat ca L(b) este cofinal ın L(a).In primul rand remarcam ca L(a) si L(b) sunt lanturi nevide ın M ′ deoarece L estelant nevid de functii. Pe de alta parte, orice element din L(a) este de forma f(a) cuf ∈ L. Cum f este functie monotona si a ≤ b, deducem ca are loc f(a) ≤′ f(b),iar f(b) este element al lantului L(b). Deci, L(b) este cofinala ın L(a). Ca urmare,sup(A→A′)(L) ∈ (A→m A′).

Deci, (A→m A′) este sub-mpo completa a mpo complete (A→ A′). �

Observatia 5.1.4. Teorema 5.1.2 poate fi reformulata echivalent astfel.Fie M = (A,≤) siM ′ = (A′,≤′) doua mpo. Daca M ′ = (A′,≤′) este completa,

atunci supremum oricarui lant nevid de functii monotone de la M la M ′ este functiemonotona.

5.2 Teoria de punct fix a multimilor partial ordonate

5.2.1 Functii continue

In analiza matematica, o functie f este continua daca este compatibila cu limitasirurilor numerice ın sensul ca, pentru orice sir convergent (an)n≥0 are loc

f( limn→∞

an) = limn→∞

f(an).

In cazul multimilor partial ordonate, limita este supremum sau infimum unei submul-timi (submultimile pot fi arbitrare, dirijate, lanturi etc.). Ca urmare, este natural sa

Page 177: Fltiplea Fai

Functii continue 171

extindem conceptul de continuitate de mai sus la functii definite pe mpo prin a cerecompatibilitatea acestora cu supremum sau infimum, de exemplu ın sensul

f(sup(S)) = sup(f(S)),

pentru orice submultime S ce satisface o anumita proprietate data a priori (de e-xemplu, cea de lant). Ca o astfel de definitie sa functioneze, domeniul pe care estedefinita functia ın cauza trebuie sa aiba proprietatea ca pentru orice submultime S camai sus, sup(S) este un element al domeniului. Ca urmare, domeniul trebuie sa fie ompo completa ıntr-un sens bine precizat (prin submultimi, prin multimi dirijate, prinlanturi etc.).

Conceptul de functie continua definita pe mpo complete (prin lanturi) este unuldin cele mai studiate concepte de continuitate. Acesta va fi cel pe care ıl vom prezentasi noi ın cele ce urmeaza.

Definitia 5.2.1.1. Fie M = (A;≤) si M ′ = (A′;≤′) mpo complete si f : A → A′

o functie. Spunem ca f este continua daca pentru orice lant nevid L ın M existasup(f(L)) si f(sup(L)) = sup(f(L)).

Observatia 5.2.1.1.

(1) Cerinta “exista sup(f(L))” din Definitia 5.2.1.1 este necesara deoarece ın mpocomplete este asigurat supremul lanturilor dar definitia nu garanteaza ca f(L)este lant.

(2) In Definitia 5.2.1.1 se cere ca lantul L sa fie nevid. Daca s-ar da posibilitateaca relatia din definitie sa fie satisfacuta si de lantul vid, atunci s-ar obtine

f(⊥M) = f(sup(∅)) = sup(f(∅)) = sup(∅) = ⊥M ′ ,

deci s-ar pastra si cel mai mic element al multimilor partial ordonate. In cazulın care o functie f satisface si aceasta conditie suplimentara ea este numitafunctie continua stricta sau functie continua ın sens strict.

Functiile monotone pastreaza lanturile si, ca urmare, este de asteptat sa existe olegatura destul de stransa ıntre monotonie si continuitate.

Teorema 5.2.1.1. (Continuitate si monotonie)Fie M = (A;≤) si M ′ = (A′;≤′) mpo complete si f : A→ A′ o functie. Atunci, feste continua daca si numai daca:

(1) f este monotona;

(2) pentru orice lant nevid L ⊆ A, f(sup(L)) ≤′ sup(f(L)).

Demonstratie Sa presupunem ca f este continua. Fie a, b ∈ A cu a ≤ b. Con-sideram lantul L = {a, b} al carui suprem este b. Continuitatea functiei f conduceatunci la

f(b) = f(sup(L)) = sup(f(L)) = sup({f(a), f(b)}),

Page 178: Fltiplea Fai

172 Completitudine

de unde urmeaza f(a) ≤′ f(b). Deci, f este monotona.Inegalitatea de la (2) urmeaza direct de la definitia continuitatii.Reciproc, presupunem ca sunt ındeplinite conditiile (1) si (2) din enuntul teore-

mei. Fie L ⊆ A un lant nevid. Monotonia functiei f conduce la faptul ca f(L) estelant (ın M ′), iar completitudinea multimii partial ordonate M ′ conduce la existentasupremului acestui lant. In plus, f(sup(L)) este majorant al lantului f(L) deoarecesup(L) este majorant al lantului L si f este monotona. Cum sup(f(L)) este cel maimic majorant al lantului f(L), obtinem

sup(f(L)) ≤′ f(sup(L)),

care combinata cu inegalitatea de la (2) conduce la f(sup(L)) = sup(f(L)). Deci,f este continua. �

Observatia 5.2.1.2. Punctul (2) al Teoremei 5.2.1.1 poate fi reformulat echivalentprin:

(2’) pentru orice lant nevid L ⊆ A, f(sup(L)) = sup(f(L)).

Corolarul 5.2.1.1. Fie M = (A;≤) si M ′ = (A′;≤′) mpo complete si f : A → A′

o functie. Daca M are numai lanturi finite, atunci f este continua daca si numai dacaeste monotona.

Demonstratie Ceea ce avem de aratat este ca monotonia functiei f implica conti-nuitatea acesteia, ın ipoteza ın care M are numai lanturi finite.

Fie L ⊆ A un lant nevid. Conform ipotezei, L este finit si, deci, are cel mai mareelement, fie acesta a. Atunci, monotonia functiei f conduce la

sup(f(L)) ≤′ f(a) = f(sup(L)).

Deci, conform Teoremei 5.2.1.1, f este continua. �

Observatia 5.2.1.3. In general, nu orice functie monotona este continua. Sa con-sideram, spre exemplu, functia ϕ : (N⊥ → N⊥) → N⊥ data prin

ϕ(f) =

{1, (∀n ∈ N)(f(n) �= ⊥)⊥, altfel,

pentru orice f ∈ (N⊥ → N⊥). Daca ϕ(f) = 1 atunci vom spune ca f este totala;altfel, spunem ca f este partiala.

Este usor de vazut ca ϕ este functie monotona. In adevar, daca consideram douafunctii f, g ∈ (N⊥ → N⊥) astfel ıncat f ≤(N⊥→N⊥) g, atunci:

– daca f este partiala, ϕ(f) = ⊥ ≤ ϕ(g) (≤ este ordinea partiala pe N⊥);

– daca f este totala atunci g este totala si, deci, ϕ(f) = ϕ(g).

Page 179: Fltiplea Fai

Functii continue 173

Fie acum lantul de functii L din diagrama de mai jos.

L ⊥ 0 1 2 3 · · ·f0 ⊥ ⊥ ⊥ ⊥ ⊥ · · ·f1 ⊥ 0 ⊥ ⊥ ⊥ · · ·f2 ⊥ 0 0 ⊥ ⊥ · · ·· · · · · ·sup(L) ⊥ 0 0 0 0 · · ·

Supremum acestui lant este functia ce ia valoarea 0 pentru orice numar natural, si ⊥pentru ⊥. Ca urmare, ϕ(sup(L)) = 1. Pe de alta parte, ϕ(fi) = ⊥, pentru oricei ≥ 0. Deci,

ϕ(sup(L)) = 1 �= ⊥ = sup(ϕ(L)),

ceea ce ne arata ca ϕ nu este continua.Ca urmare, “ne-continuitatea” functiei ϕ rezida din faptul ca exista lanturi de

functii partiale al caror supremum este functie totala. Daca unei functii partiale ıieste asociata o anumita valoare (prin ϕ), iar unei functii totale o alta valoare, atunciϕ nu poate pastra supremum unor astfel de lanturi.

Incheiem observatia prin remarca ca daca ınlocuim “⊥” din definitia functiei ϕprin 0, atunci ϕ nu este nici monotona si nici continua.

Exemplul 5.2.1.1.

(1) Daca Mi = (Ai;≤i) sunt mpo plate, 1 ≤ i ≤ n, si M = (A;≤) este o mpocompleta, atunci orice functie monotona f : A1×· · ·×An → A este continua.In adevar, mpo plate sunt complete si produs cartezian de mpo complete estempo completa. In plus, ×n

i=1(Ai;≤i) are numai lanturi finite.

(2) Orice functie constanta (definita pe o mpo completa si cu valori ıntr-o mpocompleta) este continua.

(3) Functia identitate (definita pe o mpo completa si cu valori ın aceeasi mpo) estecontinua.

(4) Functiile proiectie pri : A1 × · · · ×An → Ai, unde 1 ≤ i ≤ n si (Aj ,≤j) suntmpo complete pentru orice 1 ≤ j ≤ n, sunt functii continue.

Teorema 5.2.1.2. Compunere de functii continue este functie continua.

Demonstratie Fie M1 = (A1;≤1), M2 = (A2;≤2) si M3 = (A3;≤3) mpo com-plete, iar f : A1 → A2 si g : A2 → A3 functii continue.

Fie L ⊆ A1 un lant nevid. Deoarece f este continua, f(L) ⊆ A2 este lant nevid,exista sup(f(L)) si f(sup(L)) = sup(f(L)).

f(L) fiind lant si g fiind continua, exista sup(g(f(L))) si

g(sup(f(L))) = sup(g(f(L))).

Conbinand aceasta relatie cu cea de mai sus obtinem:

g(f(sup(L))) = g(sup(f(L))) = sup(g(f(L))),

ceea ce arata ca g ◦ f este functie continua. �

Page 180: Fltiplea Fai

174 Completitudine

Continuitatea functiilor de tipul f : A → A1 × · · · × An. Studiul continuitatiiacestui tip de functii face apel direct la functiile proiectie care sunt continue.

Teorema 5.2.1.3. Fie M = (A;≤) si Mi = (Ai;≤i) mpo complete, unde n ≥ 2 si1 ≤ i ≤ n, si f : A → A1 × · · · × An o functie. Atunci, f este continua daca sinumai daca pri ◦ f sunt functii continue, pentru orice 1 ≤ i ≤ n.

Demonstratie Sa presupunem ca f este continua. Atunci, cum functia proiectiepri este continua si compunere de functii continue este functie continua, rezulta capri ◦ f este functie continua, pentru orice i.

Reciproc, presupunem ca pentru orice i, pri ◦ f este functie continua. Vom arataıntai ca f este monotona.

Fie a, b ∈A cu a ≤ b. Atunci, pentru orice i, pri(f(a)) ≤i pri(f(b)) (deoarecepri ◦ f este monotona). Ca urmare, conform definitiei relatiei de ordine partiala ≤′

pe M1 × · · · ×Mn, are loc f(a) ≤′ f(b). Deci, f este monotona.Fie acum L ⊆ A un lant nevid. Pentru a arata ca

f(sup(L)) ≤′ sup(f(L))

avem de aratat capri(f(sup(L))) ≤i pri(sup(f(L))),

pentru orice i. Are loc:

pri(f(sup(L))) = sup(pri(f(L))) (pri ◦ f este continua)= pri(sup(f(L))) (pri este continua si f(L) este lant)

pentru orice i. Deci, f este continua. �

Corolarul 5.2.1.2. Fie M = (A;≤) si Mi = (Ai;≤i) mpo complete, unde n ≥ 2 si1 ≤ i ≤ n, si fi : Ai → A′

i functii continue. Atunci, functia f : A→ A1 × · · · × An

data prin f(a) = (f1(a), . . . , fn(a)), pentru orice a ∈ A, este continua.

Demonstratie De la Teorema 5.2.1.3 si relatia pri ◦ f = fi, pentru orice i. �

In mod uzual, functia din Corolarul 5.2.1.2 se noteaza prin (f1, . . . , fn).

Corolarul 5.2.1.3. Fie M = (A;≤) si Mi = (Ai;≤i) mpo complete si fi : Ai → A′i

functii continue, unde n ≥ 2 si 1 ≤ i ≤ n. Atunci, functia

f : A1 × · · · × An → A′1 × · · · × A′

n

data prin f(a1, . . . , an) = (f1(a1), . . . , fn(an)), pentru orice ai ∈ Ai, 1 ≤ i ≤ n,este continua.

Demonstratie Putem scrie:

f(a1, . . . , an) = ((f1 ◦ pr1)(a1, . . . , an), . . . , (fn ◦ prn)(a1, . . . , an)),

pentru orice (a1, . . . , an) ∈ A1 × · · · ×An.Atunci, corolarul urmeaza de la Teorema 5.2.1.3 si Corolarul 5.2.1.2. �

Corolarul 5.2.1.4. FieM = (A;≤), Mi = (Ai;≤i) siM ′ = (A′;≤′) mpo complete,unde n ≥ 2 si 1 ≤ i ≤ n, iar fi : A→ Ai si f : A1×· · ·×An → A′ functii continue.Atunci, functia f ◦ (f1, . . . , fn) este continua.

Demonstratie De la Corolarul 5.2.1.2 si Teorema 5.2.1.3. �

Page 181: Fltiplea Fai

Functii continue 175

Continuitatea functiilor de tipul f : A1 × · · · × An → A. Studiul continuitatiiacestui tip de functii face apel la conceptul de functie Curry 1.

Definitia 5.2.1.2. Fie f : A1 × · · · ×An → A o functie, unde n ≥ 2. Functia Curryasociata functiei f este functia f c : A1 × · · · × An−1 → (An → A) data prin

f c(a1, . . . , an−1)(an) = f(a1, . . . , an),

pentru orice (a1, . . . , an−1) ∈ A1 × · · · ×An−1 si an ∈ An.

Vom conveni ca functiile f c(a1, . . . , an−1) : An → A definite ca ın Definitia5.2.1.2, pentru orice (a1, . . . , an−1) ∈ A1 × · · · × An−1, sa fie numite tot functiiCurry asociate functiei f .

Teorema 5.2.1.4. Fie M = (A;≤) si Mi = (Ai;≤i) mpo, unde n ≥ 2 si 1 ≤ i ≤ n,si f : A1 × · · · × An → A o functie. Atunci, f este monotona daca si numai dacafunctiile Curry asociate functiei f sunt monotone.

Demonstratie Vom face demonstratia pentru cazul n = 2, rationamentul putand fiextins pentru n ≥ 2 arbitrar.

Presupunem ca f este functie monotona. Fie a1 ∈ A1. Vom arata ca f c(a1) estefunctie monotona. Fie a2, a

′2 ∈ A2 cu a2 ≤2 a

′2. Atunci,

f c(a1)(a2) = f(a1, a2)≤ f(a1, a

′2) ((a1, a2) ≤′ (a1, a

′2) si f monotona)

= f c(a1)(a′2),

ceea ce ne arata ca fc(a1) este monotona (≤′ este ordinea partiala pe A1 × A2).Vom arata acum ca f c este functie monotona. Fie a1, a

′1 ∈ A1 cu a1 ≤1 a′1.

Trebuie sa aratam ca f c(a1) ≤(A2→A) fc(a′1). Fie a2 ∈ A2. Atunci,

f c(a1)(a2) = f(a1, a2)≤ f(a′1, a2) ((a1, a2) ≤′ (a1, a

′2) si f monotona)

= f c(a′1)(a2),

ceea ce ne arata ca fc este monotona.Reciproc, presupunem ca functiile Curry asociate functiei f sunt monotone. Fie

(a1, a2), (a′1, a

′2) ∈ A1 × A2 cu (a1, a2) ≤′ (a′1, a

′2). Atunci,

f(a1, a2) = f c(a1)(a2)≤ f c(a1)(a

′2) (f c(a1) monotona)

≤ f c(a′1)(a′2) (f c monotona)

= f(a′1, a′2),

ceea ce ne arata ca f este monotona. �

1Denumirea acestor functii provine de la numele logicianului american Haskell B. Curry (1900-1982). Asa cum mentioneaza logicianul rus Moses Schonfinkel ın [163], aceste tipuri de functii aufost utilizate de Gottlob Frege (1848–1925) cu mult ınaintea lui Haskell Curry. Unii autori atribuie luiSchonfinkel utilizarea pentru prima data a acestor tipuri de functii.

Page 182: Fltiplea Fai

176 Completitudine

Teorema 5.2.1.5. Fie M = (A;≤) si (Mi = (Ai;≤i) mpo complete, unde n ≥ 2 si1 ≤ i ≤ n, si f : A1 × · · · × An → A o functie. Atunci, f este continua daca sinumai daca functiile Curry asociate functiei f sunt continue.

Demonstratie Ca si ın cazul Teoremei 5.2.1.4, vom face demonstratia doar pentrun = 2.

Presupunem ca f este functie continua. Atunci, f este monotona si, conformTeoremei 5.2.1.4, functiile Curry asociate sunt monotone.

Fie a1 ∈ A1 si L ⊆ A2 un lant nevid. Vom arata ca este satisfacuta relatia

f c(a1)(sup(L)) = sup(f c(a1)(L)).

Are loc:

f c(a1)(sup(L)) = f(a1, sup(L))= f(sup({a1}), sup(L))= f(sup({a1} × L)) ({a1} × L lant)= sup(f({a1} × L)) (f continua)= sup(f c(a1)(L)),

ceea ce arata ca fc(a1) este functie continua.Fie acum L ⊆ A1 un lant nevid. Vom arata ca f c(sup(L)) = sup(f c(L)). Fie

a2 ∈ A2. Atunci,

f c(sup(L))(a2) = f(sup(L), a2)= f(sup(L), sup({a2}))= f(sup(L× {a2})) (L× {a2} lant)= sup(f(L× {a2})) (f continua)= sup(f c(L)(a2))= sup(f c(L))(a2), (Lema 5.1.2)

ceea ce arata ca fc este functie continua.Reciproc, presupunem ca functiile Curry asociate functiei f sunt continue. Deci,

ele sunt si monotone ceea ce conduce la faptul ca f este monotona.Fie L ⊆ A1 × A2 un lant nevid. Vom arata ca are loc f(sup(L)) ≤′ sup(f(L)).

Consideram L1 = {a|(∃b)((a, b) ∈ L)} si L2 = {b|(∃a)((a, b) ∈ L)}. Este clar caL1 si L2 sunt lanturi nevide ınM1 si, respectiv,M2, si sup(L) = (sup(L1), sup(L2)).Atunci,

f(sup(L)) = f(sup(L1), sup(L2))= f c(sup(L1))(sup(L2))= sup(f c(sup(L1))(L2))= sup({f c(sup(L1))(a2)|a2 ∈ L2})= sup({sup(f c(L1)(a2))|a2 ∈ A2})= sup({sup({f c(a1)(a2)|a1 ∈ L1})|a2 ∈ L2})= sup({sup({f(a1, a2)|a1 ∈ L1})|a2 ∈ L2})= sup({f(a1, a2)|a1 ∈ L1, a2 ∈ L2})

Page 183: Fltiplea Fai

Functii continue 177

(pentru ultima egalitate se verifica cu usurinta ca sunt ındeplinite ipotezele Propozi-tiei 3.2.1.1).

Vom arata ca f(L) este cofinala ın f(L1 × L2), ceea ce va conduce la faptul casup(f(L1 × L2)) ≤ sup(f(L)) care va stabili continuitatea functiei f .

Fie (a1, a2) ∈ L1 × L2. Atunci, exista a′1 si a′2 astfel ıncat (a1, a′2), (a

′1, a2) ∈ L.

Fie ≤′ ordinea partiala pe A1 × A2. Daca (a1, a′2) ≤′ (a′1, a2) atunci a1 ≤1 a

′1, ceea

ce conduce la f(a1, a2) ≤ f(a′1, a2), iar daca (a′1, a2) ≤′ (a1, a′2) atunci a2 ≤2 a

′2,

ceea ce conduce la f(a1, a2) ≤ f(a1, a′2).

Deci, f(L) este cofinala ın f(L1 × L2) si demonstratia este astfel ıncheiata. �

Prin [M1 → M2], sau [A1 → A2] atunci cand M1 si M2 sunt subıntelese dincontext, vom nota multimea tuturor functiilor continue de la mpo completa M1 =(A1;≤1) la mpo completa M2 = (A2;≤2).

Corolarul 5.2.1.5. Fie M1 = (A1;≤1) si M2 = (A2;≤2) mpo complete. Atunci,functia ψ : [A1 → A2]× A1 → A2 data prin ψ(f, a) = f(a), pentru orice a ∈ A1 sif ∈ [A1 → A2], este continua.

Demonstratie Functia ψc este functia identitate, iar pentru f ∈ [A1 → A2], ψc(f)este functia f . Ca urmare, functiile Curry asociate functiei ψ sunt continue, ceea ceconduce la faptul ca ψ este continua. �

Teorema 5.2.1.6. Fie M1 = (A1;≤1) si M2 = (A2;≤2) mpo complete. Atunci,[A1 → A2] este sub-mpo completa a mpo complete (A1 →m A2).

Demonstratie Cel mai mic element al multimii (A1 →m A2) este si cel mai micelement al multimii [A1 → A2].

Fie L ⊆ [A1 → A2] un lant nevid. Deoarece orice functie continua este mono-tona, lantul L admite supremum ın (A1 →m A2). Vom arata ca acest supremum estefunctie continua (el fiind functie monotona).

Fie K ⊆ A1 un lant nevid. Atunci,

(sup(A1→mA2)(L))(sup(K)) = sup(L(sup(K)))= sup({f(sup(K))|f ∈ L})= sup({sup(f(K))|f ∈ L})= sup({sup({f(a)|a ∈ K})|f ∈ L})= sup({f(a)|a ∈ K, f ∈ L})= sup((sup(A1→mA2)(L))(K))

ceea ce arata ca sup(A1→mA2)(L) este functie continua (prima egalitate urmeaza de laLema 5.1.2, a treia egalitate de la faptul ca f este continua, iar ultima egalitate de laCorolarul 3.2.3.1). �

Observatia 5.2.1.4. Teorema 5.2.1.6 poate fi reformulata echivalent astfel:

“Fie M = (A,≤) si M ′ = (A′,≤′) doua mpo. Daca M si M ′ suntcomplete, atunci supremum oricarui lant nevid de functii continue de laA la A′ este functie continua.”.

Page 184: Fltiplea Fai

178 Completitudine

5.2.2 Puncte fixe si inductie de punct fix

Stabilirea existentei punctelor fixe ale unei functii cat si determinarea acestora este deimportanta uriasa ın matematica si informatica. De exemplu, semantica denotationalaa structurilor repetitive se bazeaza pe determinarea celui mai mic punct fix a uneifunctii continue (detalii asupra aplicatiilor teoriei punctelor fixe vor fi date ın Sectiu-nea 5.3).

Definitia 5.2.2.1. Fie A o multime nevida si f : A→ A o functie. Se numeste punctfix al functiei f orice element a ∈ A cu proprietatea f(a) = a.

In aceasta sectiune vom studia existenta punctelor fixe pentru functii monotonesi continue definite pe mpo complete ın unul din sensurile deja studiate. Inainte deaceasta facem observatia ca o functie poate sa nu aiba nici un punct fix, poate avea unnumar finit de puncte fixe sau chiar o infinitate de puncte fixe. In plus, daca functiaeste definita pe o mpo, atunci putem discuta despre puncte fixe minimale sau cel maimic punct fix al ei (atunci cand acesta exista).

Vom ıncepe printr-un exemplu care sa ne ajute la formarea unei imagini asupramodului de lucru cu puncte fixe.

Exemplul 5.2.2.1. 2 Fie A o multime si f : P(A) → P(A) o functie monotona.Sa consideram o submultime X ⊆ A cu proprietatea X ⊆ f(X) (multimea vidasatisface aceasta proprietate). Daca aplicam f acestei submultimi obtinem f(X) ceeste inclusa ın f 2(X) ın baza monotoniei functiei f . Repetand procedeul obtinem

f 2(X) ⊆ f 3(X).

Intuitiv, continuand acest procedeu oricat de mult, multimea limita Y care s-ar obtinenu s-ar mai modifica prin aplicarea functiei f , adica ea ar satisface f(Y ) = Y .Aceasta multime limita nu este alta decat

Y = sup({X, f(X), f 2(X), . . .})

(si ea exista deoarece este limita unui lant ıntr-o mpo completa, ın acest caz limitafiind reuniunea lantului). Este usor de vazut ca, ın adevar, f(Y ) = Y deoarece:

Y = sup({X, f(X), f 2(X), . . .})= sup({f(X), f 2(X), f 3(X), . . .})=

⋃i≥1 f

i(X)= f(

⋃i≥0 f

i(X))

= f(sup({X, f(X), f 2(X), . . .}))= f(Y ).

Ca urmare, pornind de la o submultime X a multimii A ce satisface X ⊆ f(X) amputut pune ın evidenta atat un punct fix cat si modul de determinare al acestuia.

2Rezultatul ce face subiectul acestui exemplu a fost descoperit de Knaster si Tarski ın 1927 (con-form celor mentionate de Tarski ın [179]). In [91] sunt prezentate un numar de aplicatii ale acestuirezultat.

Page 185: Fltiplea Fai

Puncte fixe si inductie de punct fix 179

Dar daca dorim sa determinam cel mai mic punct fix al functiei f? Intuitiv, pentrudeterminarea acestuia, ar trebui sa pornim cu ∅.

In adevar, Y0 = sup({∅, f(∅), f 2(∅), . . .}) este punct fix al functiei f si, daca Zeste un alt punct fix al acesteia atunci relatiile

• ∅ ⊆ Z;

• f(∅) ⊆ f(Z) = Z, pe baza monotoniei functiei f si a faptului ca f(Z) = Z;

• f(f(∅)) ⊆ f(Z) = Z etc.

conduc laY0 = sup({∅, f(∅), f 2(∅), . . .}) ⊆ Z.

Deci, Y0 este cel mai mic punct fix al functiei f .

Exemplul 5.2.2.2. Sa analizam acum ce elemente de baza s-au folosit ın obtinerearezultatelor din exemplul anterior:

• ın primul rand, s-a folosit faptul ca exista supremum lanturilor. De fapt, multi-mea partial ordonata (P(A);⊆) este completa;

• ın al doilea rand, s-a utilizat faptul ca sup(L) = sup(L − {X}), unde X esteprimul element al lantului L. Aceasta proprietate este ınsa satisfacuta ın oricempo de orice lant ce are cel putin 2 elemente (eliminarea celui mai mic elemental lantului, atunci cand exista, nu modifica supremum lantului);

• cea de a treia proprietate utilizata este sup(f(L)) = f(sup(L)), pentru oricelant L. Aceasta proprietate nu ne spune altceva decat ca f este, de fapt, ofunctie continua;

• ca o ultima proprietate, ın determinarea celui mai mic punct fix s-a pornit dela ∅ care este cel mai mic element al mpo (P(A);⊆). Existenta celui mai micelement este ınsa garantata ın orice mpo completa.

Ca urmare, rezultatul din Exemplul 5.2.2.1 poate fi generalizat la a arata ca oricefunctie continua definita pe o mpo completa are un cel mai mic punct fix. Sa intramputin ın detalii.

Fie M = (A;≤) o mpo completa si f : A→ A o functie continua. Prin inductiedupa i ≥ 0 se arata cu usurinta ca are loc

f i(⊥A) ≤ f i+1(⊥A),

pentru orice i ≥ 0, ceea ce conduce la faptul ca L = {f i(⊥A)|i ≥ 0} este lant ınM . Completitudinea mpo M asigura existenta supremului acestui lant. Aratam casup(L) este punct fix pentru f . Are loc:

f(sup(L)) = sup(f(L)) = sup({f i(⊥A)|i ≥ 1}) = sup(L).

Deci, sup(L) este punct fix pentru f .Daca a ∈ A este punct fix pentru f , atunci prin inductie dupa i ≥ 0 se obtine

f i(⊥A) ≤ a pentru orice i ≥ 0, ceea ce arata ca sup(L) ≤ a. Deci, sup(L) este celmai mic punct fix al functiei f .

Page 186: Fltiplea Fai

180 Completitudine

Fie M = (A;≤) o mpo completa. Notam prin μM , sau μ daca M se subıntelegedin context, functia μ : [A→ A] → A data prin

μ(f) = cel mai mic punct fix al functiei f,

pentru orice functie continua f : A → A. Functia μM se mai numeste si functia depunct fix asociata mpo M .

Teorema 5.2.2.1. Functia de punct fix asociata unei mpo complete este continua.

Demonstratie Fie M = (A;≤) o mpo completa. Vom arata ca μ este supremumunui lant de functii continue, ceea ce va conduce la faptul ca μ este continua (a sevedea Observatia 5.2.1.4).

Fie Fi : [A → A] → A functia data prin Fi(f) = f i(⊥A), pentru orice functiecontinua f : A → A si i ≥ 0. Aratam prin inductie dupa i ≥ 0 ca Fi este functiecontinua, pentru orice i ≥ 0.

Functia F0 este functia constanta⊥A si, deci, este continua. Daca presupunem caFi este continua, unde i ≥ 0, atunci

Fi+1(f) = f i+1(⊥A) = f(Fi(f)) = ψ(id(f), Fi(f)) = (ψ ◦ (id, Fi))(f),

pentru orice f ∈ [A → A], ceea ce ne arata ca Fi+1 = ψ ◦ (id, Fi), unde id estefunctia identitate. Deci, Fi+1 este continua fiind compunere de functii continue.

Multimea L = {Fi|i ≥ 0} este lant de functii. In adevar, pentru orice 0 ≤ i ≤ jare loc

Fi(f) = f i(⊥A) ≤ f j(⊥A) = Fj(f),

pentru orice f ∈ [A→ A].Supremum lantului L este dat prin

(sup(L))(f) = sup(L(f)) (Lema 5.1.2)= sup({Fi(f)|i ≥ 0})= sup({f i(⊥A)|i ≥ 0})= μ(f),

pentru orice f ∈ [A → A], ceea ce arata ca sup(L) = μ. Deci, μ este functiecontinua. �

Daca o functie continua are o anumita proprietate, putem concluziona ca cel maimic punct fix al ei are respectiva proprietate ? Urmatoarea teorema, datorata luiPark, ne furnizeaza un exemplu de proprietate ce poate fi transferata de la o functiecontinua la cel mai mic punct fix al ei.

Teorema 5.2.2.2. (Teorema lui Park)Fie M = (A;≤) o mpo completa si f : A → A o functie continua. Daca existax ∈ A astfel ıncat f(x) ≤ x, atunci μ(f) ≤ x.

Page 187: Fltiplea Fai

Puncte fixe si inductie de punct fix 181

Demonstratie Fie x ∈ A astfel ıncat f(x) ≤ x. Monotonia functiei f conduce la

f(⊥A) ≤ f(x) ≤ x.

Inductiv, obtinem f i(⊥A) ≤ x, pentru orice i ≥ 0. Ca urmare,

sup({f i(x)|i ≥ 0}) ≤ x,

ceea ce ne arata ca μ(f) ≤ x. �

Definitia 5.2.2.2. Fie M = (A;≤) o mpo completa si P un predicat pe A. Spunemca P este admisibil daca are loc

(∀L ⊆ A lant nevid)((∀a ∈ L)(P (a)) ⇒ P (sup(L))).

Urmatoarea teorema, datorata lui Dana Scott [62] si numita Principiul inductieide punct fix, este o simpla combinatie dintre inductia matematica si conceptul depredicat admisibil.

Teorema 5.2.2.3. (Principiul inductiei de punct fix)Fie M = (A;≤) o mpo completa si f : A → A o functie continua. Daca P estepredicat pe A astfel ıncat:

(1) P este admisibil;

(2) P (⊥A);

(3) (∀i ≥ 0)(P (f i(⊥A)) ⇒ P (f i+1(⊥A))),

atunci P (μ(f)).

Demonstratie In baza proprietatilor de la (2) si (3), prin inductie matematica,obtinem ca are loc P (f i(⊥A)), pentru orice i ≥ 0. Cum P este admisibil, deducemca are loc P (sup({f i(⊥A)|i ≥ 0})), adica P (μ(f)). �

Evident ca suntem interesati de existenta predicatelor admisibile. Determinareaunor astfel de predicate nu este un lucru simplu. Vom prezenta mai jos catevaconstructii ce conduc la astfel de predicate. Ele sunt bazate pe disjunctie, conjunctiesi inegalitate (egalitate) de functii continue. Vom ıncepe ıntai cu o observatie impor-tanta.

Observatia 5.2.2.1.

(1) Nu orice predicat este admisibil. Fie, de exemplu, P : (N⊥ → N⊥) → {0, 1}dat prin

P (x) =

{0, (∀n ∈ N)(f(n) �= ⊥)1, altfel.

Page 188: Fltiplea Fai

182 Completitudine

si lantul L din tabelul de mai jos

L ⊥ 0 1 2 3 · · ·f0 ⊥ ⊥ ⊥ ⊥ ⊥ · · ·f1 ⊥ 0 ⊥ ⊥ ⊥ · · ·f2 ⊥ 0 0 ⊥ ⊥ · · ·f3 ⊥ 0 0 0 ⊥ · · ·· · · · · · · · ·sup(L) ⊥ 0 0 0 · · ·

P (fi) = 1 pentru orice i ≥ 0, dar P (sup(L)) = 0. Deci, P nu este admisibil.

(2) Daca P este admisibil atunci nu rezulta, ın general, ca ¬P este admisibil. Deexemplu, daca consideram predicatul Q obtinut din predicatul P de la (1) prinınlocuirea lui 0 cu 1 si a lui 1 cu 0, atunci constatam caQ este admisibil (supre-mum unui lant de functii totale pe N este o functie totala, conform definitieiordinii partiale pe functii si a ordinii partiale pe N⊥). Insa, ¬Q = P care nueste admisibil.

Teorema 5.2.2.4. Fie M = (A;≤) o mpo completa si P , Q predicate pe A. Daca Psi Q sunt admisibile, atunci P ∨Q si P ∧Q sunt admisibile.

Demonstratie Admisibilitatea predicatului P ∧ Q decurge imediat de la admisi-bilitatea predicatelor P si Q. Daca elementele unui lant nevid satisfac P ∧Q, atunciele satisfac atat P cat si Q. Atunci, P si Q sunt satisfacute si de supremum lantuluiL, ceea ce ne arata ca P ∧Q este admisibil.

Fie L ⊆ A un lant nevid astfel ıncat (P ∨Q)(a), pentru orice a ∈ L. Consideramlaturile L1 = {a ∈ L|P (a)} si L2 = {a ∈ L|Q(a)}. Daca unul din ele este vid,atunci celalalt este chiar L, iar admisibilitatea predicatelor P si Q conduce la (P ∨Q)(sup(L)). Daca ambele sunt nevide, atunci unul din ele este cofinal ın celalalt(ceea ce poate fi aratat usor prin contradictie), ceea ce asigura ca supremum lantuluiL este dat de supremum acestuia. Atunci, admisibilitatea predicatelor P siQ conducela (P ∨Q)(sup(L)). Deci, P ∨Q este predicat admisibil. �

Teorema 5.2.2.5. FieM = (A;≤) siM ′ = (A′;≤′) mpo complete si fi, gi : A→ A′

functii continue, unde n ≥ 1 si 1 ≤ i ≤ n. Atunci, predicatul P : A → {0, 1} datprin

P (a) ⇔ (∀i)(fi(a) ≤′ gi(a)),

pentru orice a ∈ A, este admisibil.

Demonstratie Fie L ⊆ A un lant nevid. Presupunem ca are loc P (a), pentru oricea ∈ L. Adica, fi(a) ≤′ gi(a), pentru orice 1 ≤ i ≤ n.

Vom arata ca fi(sup(L)) ≤′ gi(sup(L)), pentru orice 1 ≤ i ≤ n, ceea ce vaconduce la P (sup(L)), adica P este admisibil. Cum functiile fi si gi sunt continue,relatia de mai sus se reduce la a arata ca are loc

sup(fi(L)) ≤′ sup(gi(L)),

Page 189: Fltiplea Fai

Aplicatii: semantica si analiza programelor 183

pentru orice 1 ≤ i ≤ n. Aceasta ınsa urmeaza de la ipotezele teoremei care ne spunca gi(L) este cofinala ın fi(L), pentru orice i.

Deci, P este admisibil. �

Corolarul 5.2.2.1. Fie M = (A;≤) si M ′ = (A′;≤′) mpo complete si f, g : A→ Afunctii continue. Atunci, predicatul P dat prin

P (a) ⇔ f(a) = g(a),

pentru orice a ∈ A, este admisibil.

Demonstratie Consideram predicatele P1 si P2 date prin

P1(a) ⇔ f(a) ≤′ g(a)

siP2(a) ⇔ g(a) ≤′ f(a),

pentru orice a ∈ A. Conform Teoremei 5.2.2.5, P1 si P2 sunt admisibile. Atunci,Teorema 5.2.2.4 conduce la faptul ca P1 ∧ P2 este admisibil. Insa, P1 ∧ P2 = P . �

5.3 Aplicatii: semantica denotationala a programelor

Vom arata ın aceasta sectiune cum putem utiliza aparatul multimilor partial ordo-nate complete si al functiilor continue pentru a descrie semantica limbajelor de pro-gramelor. Vom considera doua clase de programe, programe recursive si programewhile, si vom urma, ın principal, ideile din [115, 174, 112]. Indicam ınsa si [140]pentru mai multe detalii asupra semanticii limbajelor de programare.

5.3.1 λ-notatie

La ınceputul anilor 1930 multe din cercetarile matematice canalizate pe introducereaunui concept de functie “efectiv calculabila” au inceput sa se finalizeze prin efortulconjugat al mai multor matematicieni de renume precum Church, Kleene, Turing,Godel si altii. Rezultatul este ceea ce numim azi functie recursiva. Un prim pas ındefinirea acestora a fost facut de Church prin introducerea λ-notatiei si a conceptuluide functie λ-definibila [27] (a se vedea si [28]). Ulterior, λ-notatia s-a dovedit oachizitie inestimabila ın studiul limbajelor de programare si a semanticii acestora, siın special ın cadrul limbajelor de programare functionala.

Descrierea limbajului λ-notatiei parcurge doua mari etape: sintaxa si semantica.

Sintaxa λ-notatiei se bazeaza pe utilizarea simbolurilor auxiliare “{”, “}”, “(”,“)”, “[”, “]”, “,”, “.” si “λ”, si pe conceptele de tip, baza si λ-term pe care le descriemdupa cum urmeaza:

• Tip. Fie T0 o multime ale carei elemente le numim tipuri de baza. Tipurilepeste T0 se definesc inductiv prin:

Page 190: Fltiplea Fai

184 Semantica programelor

– orice tip de baza este tip;

– daca τ1, . . . , τn, τ sunt tipuri, atunci (τ1, . . . , τn → τ) este tip.

Notam multimea astfel definita prin T .

• Baza. O baza pentru λ-notatie este un sistem B = (T0,V,F), unde:

– T0 este o multime de tipuri de baza;

– V este o multime de variabile cu tip (fiecare din ele avand asociat un unictip peste T0);

– F este o multime de simboluri functionale cu tip (fiecare din ele avandasociat un unic tip peste T0).

In plus, vom presupunem urmatoarele:

– multimile V , F si T sunt disjuncte doua cate doua;

– pentru orice tip exista oricate variabile este nevoie.

Simbolurile functionale al caror tip va fi din T0 vor fi numite si simboluri cons-tante. Variabilele vor fi notate prin x, y, z, . . ., p, q, r, . . ., F,G,H, . . ., iar sim-bolurile functionale prin f, g, h, . . ..

• λ-term. Fie B o baza pentru λ-notatie. λ-termii peste B se definesc prininductie simultana astfel:

– daca t este variabila sau simbol functional de tip τ , atunci t este λ-termde tip τ ;

– (aplicatie) daca u este λ-term de tip (τ1, . . . , τn → σ), iar ti sunt λ-termide tip τi, 1 ≤ i ≤ n, atunci u(t1, . . . , tn) este λ-term de tip σ;

– (abstractie) daca u este λ-term de tip σ, iar xi sunt variabile de tip τi,1 ≤ i ≤ n, atunci [λx1, . . . , xn.u] este λ-term de tip (τ1, . . . , τn → σ).

Exemplul 5.3.1.1. Fie T0 = {nat, bool}. Atunci,

nat, bool, (nat, nat→ nat) si (nat, nat→ bool)

sunt tipuri peste T0. Presupunem ca x si y sunt variabile de tip nat, b este variabilade tip bool, 2 si 3 sunt constante de tip nat, iar + si · sunt simboluri functionale detip (nat, nat→ nat). Atunci,

·(2, x), ·(3, y) si + (·(2, x), ·(3, y))

sunt λ-termi de tip nat,

[λx. · (2, x)] si [λy. · (3, y)]

sunt λ-termi de tip (nat→ nat), iar

[λx, y.+ (·(2, x), ·(3, y))]

este λ-term de tip (nat, nat→ nat).

Page 191: Fltiplea Fai

λ-notatie 185

Data o functie f : A1 → A2, x ∈ A1 si d ∈ A2, vom nota prin f [x/d] functiadefinita prin:

f [x/d](y) =

{f(y), daca y �= xd, altfel,

pentru orice y ∈ A1.Aceasta notatie poate fi extinsa ın mod natural la f [x1/d1] · · · [xn/dn].

Lema 5.3.1.1. Fie A1 o multime, x1, . . . , xn ∈ A1 unde n ≥ 1, si (A2;≤2) o mpocompleta. Atunci, functia ψx1,...,xn : (A1 → A2)× An

2 → (A1 → A2) data prin

ψx1,...,xn(f, (d1, . . . , dn)) = f [x1/d1] · · · [xn/dn],

pentru orice f ∈ (A1 → A2) si (d1, . . . , dn) ∈ An2 , este continua.

Demonstratie Vom demonstra lema pentru n = 1 (aceeasi demonstratie poate figeneralizata pentru n > 1).

Fie L ⊆ (A1 → A2)× A2 un lant nevid. Supremum acestui lant exista deoareceA2 si (A1 → A2) sunt mpo complete. Mai mult, daca notam

L1 = {f |(∃d)((f, d) ∈ L)}

siL2 = {d|(∃f)((f, d) ∈ L)},

atunci sup(L) = (sup(L1), sup(L2)).Are loc

sup(ψx1(L)) = sup({f [x1/d1]|(f, d1) ∈ L}),iar ın baza Lemei 5.1.2 obtinem

sup(ψx1(L))(y) =

{sup(L1(y)), daca y �= xsup(L2), altfel,

pentru orice y ∈ A1.Pe de alta parte,

ψx1(sup(L))(y) = sup(L1)[x1/sup(L2)](y) =

{sup(L1)(y), daca y �= xsup(L2), altfel,

pentru orice y ∈ A1.In baza Lemei 5.1.2 obtinem sup(ψx1(L)) = ψx1(sup(L)), ceea ce stabileste

continuitatea functiei ψx1 . �

Semantica λ-notatiei se bazeaza pe conceptele de interpretare a (elementelor)unei baze, atribuire si functie semantica:

• Interpretare a unei baze. O interpretare a unei bazei B este un cuplu

I = (((Dτ ;≤τ )|τ ∈ T0), I0),

unde:

Page 192: Fltiplea Fai

186 Semantica programelor

– pentru orice τ ∈ T0, (Dτ ;≤τ ) este mpo completa numita domeniul tipuluiτ .

Pentru tipurile τ = (τ1, . . . , τn → σ) ce nu sunt de baza domeniile sedefinesc inductiv prin

[Dτ1 × · · · ×Dτn → Dσ];

– I0 : F →⋃

τ∈T Dτ este o functie de interpretare initiala cu proprietateaca pentru orice f ∈ F , daca f este de tip τ atunci I0(f) ∈ Dτ .

• Atribuire. Fie B o baza pentru o λ-notatie si I o interpretare a ei. O atribuiresau asignare pentru baza B sub interpretarea I este orice functie

γ : V →⋃τ∈T

astfel ıncat, pentru orice x ∈ V , daca x are tipul τ atunci γ(x) ∈ Dτ .

Vom nota prin ΓB,I multimea tuturor atribuirilor pentru baza B sub inter-pretarea I. Atunci cand B si I sunt clare din context, notatia ΓB,I va fi simpli-ficata la Γ.

• Functia semantica a λ-termilor. Fie B o baza, I o interpretare a bazei B,si t un λ-term de tip τ . Daca t nu contine variabile atunci, intuitiv, inter-pretand fiecare element din t obtinem un element din Dτ . Daca ınsa t continevariabile atunci, pentru fiecare atribuire a variabilelor obtinem o interpretare aλ-termului t. Deci, ın acest caz, interpretarea lui t trebuie sa fie o functie cedepinde de atribuiri. Ca urmare, functia semantica a lui t se defineste ca fiindfunctia I(t) : Γ → Dτ data prin:

– daca t = x ∈ V , atunci I(t)(γ) = γ(x), pentru orice γ ∈ Γ;

– daca t = f ∈ F , atunci I(t)(γ) = I0(f), pentru orice γ ∈ Γ;

– daca t = u(t1 . . . , tn), unde u este de tip (τ1, . . . , τn → σ) iar ti sunt detip τi, 1 ≤ i ≤ n, atunci

I(t)(γ) = I(u)(γ)(I(t1)(γ), . . .I(tn)(γ)),

pentru orice γ ∈ Γ;

– daca t = [λx1, . . . , xn.u] este de tip τ = (τ1, . . . , τn → σ), unde u estede tip σ iar xi sunt de tip τi, 1 ≤ i ≤ n, atunci

I(t)(γ) : Dτ1 × · · · ×Dτn → Dσ

I(t)(γ)(d1, . . . , dn) = I(u)(γ[x1/d1] · · · [xn/dn]),

pentru orice γ ∈ Γ si (d1, . . . , dn) ∈ Dτ1 × · · · × Dτn (intuitiv, ın acestcaz, t denota o functie de x1, . . . , xn. Atunci, interpretarea lui va depindede atribuirea doar a variabilelor diferite de x1, . . . , xn).

Page 193: Fltiplea Fai

λ-notatie 187

In continuare vom stabili cateva proprietati foarte importante ale multimii Γ sifunctiei semantice a λ-termilor.

Propozitia 5.3.1.1. Fie B o baza si I o interpretare a ei. Atunci, ΓB,I cu ordineapartiala pe functii este mpo completa.

Demonstratie Fie familia de mpo ((Dx;≤x)|x ∈ V), unde, pentru orice x ∈ V ,daca tipul variabilei x este τ atunci (Dx;≤x) = (Dτ ;≤τ ). Atunci, are loc

ΓB,I = {γ : V →⋃x∈V

Dx|(∀x ∈ V)(γ(x) ∈ Dx)} =∏x∈V

Dx,

iar ordinea partiala pe ΓB,I este ıntocmai ordinea partiala pe∏

x∈V Dx.Ca urmare, mpo indusa de ΓB,I este exact produsul direct al familiei de mpo

complete ((Dx;≤x)|x ∈ V) si, deci, este mpo completa. �

Teorema 5.3.1.1. (Continuitatea functiei semantice a λ-termilor)Fie B o baza si I o interpretare a ei. Atunci, pentru orice tip τ si λ-term t de tip τ areloc:

(1) I(t)(γ) ∈ Dτ , pentru orice γ ∈ Γ;

(2) I(t) : Γ → Dτ este functie continua.

Demonstratie Vom demonstra teorema prin inductie structurala asupra λ-termuluit.

Cazul 1: t = x ∈ V . Atunci, I(t)(γ) = γ(x) ∈ Dτ , pentru orice atribuire γ.Deci, are loc (1). Pentru a demonstra (2) consideram un lant nevidL ⊆ Γ si observamca I(t)(L) = L(x) este lant nevid ın Dτ . Cum (Dτ ;≤τ ) este mpo completa, existasup(L(x)) si, conform Lemei 5.1.2, are loc

sup(L(x)) = (sup(L))(x).

Deci, exista sup(I(t)(L)) si

sup(I(t)(L)) = sup(L(x)) = (sup(L))(x) = I(t)(sup(L)),

ceea ce ne arata ca I(t) este functie continua.

Cazul 2: t = f ∈ F . Atunci, I(t)(γ) = I0(f) ∈ Dτ , pentru orice atribuireγ. Continuitatea functiei I(t) urmeaza imediat de la faptul ca aceasta este functieconstanta.

Cazul 3: t = u(t1, . . . , tn), u este de tip (τ1, . . . , τn → τ) si ti este de tip τi pentruorice 1 ≤ i ≤ n. Presupunem ca λ-termii u, t1, . . . , tn satisfac (1) si (2) din teorema.Atunci, pentru orice atribuire γ,

I(t)(γ) = I(u)(γ)(I(t1)(γ), . . . , I(tn)(γ)),

care este un element dinDτ conform definitiei functiei de interpretare. De asemenea,putem scrie

I(t) = ψ ◦ (I(u), (I(t1), . . . , I(tn))),

Page 194: Fltiplea Fai

188 Semantica programelor

ceea ce ne arata ca I(t) este functie continua fiind compunere de functii continue(conform ipotezei, Corolarului 5.2.1.2 si Corolarului 5.2.1.5).

Cazul 4: t = [λx1, . . . , xn.u], u este de tip σ, xi este de tip τi pentru orice1 ≤ i ≤ n, si τ = (τ1, . . . , τn → σ). Presupunem ca λ-termul u satisface (1) si(2) din teorema. Fie γ o atribuire. Pentru a arata ca are loc I(t)(γ) ∈ Dτ avem dearatat ca I(t)(γ) este functie continua de laDτ1 ×· · ·×Dτn la Dσ. Ca urmare, avemde aratat ca I(t) si I(t)(γ) sunt functii continue. Forma acestor functii sugereazaconsiderarea unei functii continue g ale carei functii Curry asociate sa fie exact acestefunctii. Ca urmare, consideram functia

g : Γ× (Dτ1 × · · · ×Dτn)→ Dσ

data pring(γ, (d1, . . . , dn)) = I(u)(γ[x1/d1] · · · [xn/dn]),

pentru orice γ si di ∈ Dτi, 1 ≤ i ≤ n.

Functia g este compunere de functii continue (conform ipotezei si Lemei 5.3.1.1)deoarece ea poate fi scrisa ın forma

g = I(u) ◦ ψx1,...,xn.

Deci, g este continua. Atunci, functiile Curry asociate functiei g sunt continue.Adica, functiile I(t) si I(t)(γ), pentru orice atribuire γ, sunt functii continue. �

Definitia 5.3.1.1. Fie B o baza si I o interpretare a ei. Spunem ca o variabila x apareliber ın λ-termul t daca:

• t = x ∈ V , sau

• t = u(t1, . . . , tn) si x apare liber ın unul din termii u, t1, . . . , tn, sau

• t = [λx1, . . . , xn.u], x este diferita de x1, . . . , xn si apare liber ın u.

Daca x nu apare liber ın t, atunci spunem ca x este marginita ın t.

Observatia 5.3.1.1. Atragem explicit atentia asupra faptului ca ıntr-un λ-term deforma t = u(t1, . . . , tn), o variabila x poate apare liber ıntr-un λ-term ti si marginitaın u. In t, x va fi libera. Un astfel de caz este urmatorul:

t = [λx.f(3, x)](f(2, x)).

Daca consideram tipul nat cu interpretarea Dnat = N⊥, I0(3), I0(2) ∈ N, x detip nat si I0(f) : N2

⊥ → N⊥, atunci

I(t)(γ) = I([λx.f(3, x)])(γ)(I(f(2, x))(γ))= I(f(3, x))(γ[x/I(f(2, x))(γ)])= I0(f)(I0(3), I(x))(γ[x/I0(f)(I0(2), γ(x))])= I0(f)(I0(3), I0(f)(I0(2), γ(x))),

pentru orice atribuire γ.In cazul ın care I0(2) (I0(3)) este numarul natural 2 (3), iar I0(f) este adunarea

numerelor naturale (extinsa natural), obtinem I(t)(γ) = 3 + (2 + γ(x)).

Page 195: Fltiplea Fai

Programe recursive 189

Teorema 5.3.1.2. (Teorema de coincidenta)Fie B o baza, I o interpretare a ei si t un λ-term. Atunci, pentru orice doua atribuiriγ si γ ′ ce satisfac γ(x) = γ′(x) pentru orice variabila x ce apare liber ın t, are locI(t)(γ) = I(t)(γ′).

Demonstratie Vom demonstra teorema prin inductie structurala asupra λ-termuluit.

Cazul 1: t = x ∈ V . Atunci, x este libera ın t si, deci, pentru orice doua atribuiriγ si γ ′ ce satisfac γ(x) = γ′(x) are loc

I(t)(γ) = γ(x) = γ′(x) = I(t)(γ′).

Cazul 2: t = f ∈ F . Atunci, pentru orice doua atribuiri γ si γ ′ are loc

I(t)(γ) = I0(t) = I(t)(γ′).

Cazul 3: t = u(t1, . . . , tn), u este de tip (τ1, . . . , τn → τ) si ti este de tip τipentru orice 1 ≤ i ≤ n. Presupunem ca λ-termii u, t1, . . . , tn satisfac teorema. Fie γsi γ ′ doua atribuiri ce coincid pe variabilele libere din t. Atunci, ele vor coincide sipe variabilele libere din u, t1, . . . , tn, ceea ce conduce la

I(t)(γ) = I(u)(γ)(I(t1)(γ), . . . , I(t1)(γ))= I(u)(γ′)(I(t1)(γ

′), . . . , I(t1)(γ′))

= I(t)(γ′).

Cazul 4: t = [λx1, . . . , xn.u], u este de tip σ, xi este variabila de tip τi pentruorice 1 ≤ i ≤ n, si τ = (τ1, . . . , τn → σ). Presupunem ca λ-termul u satisfaceteorema, si fie γ si γ′ doua atribuiri ce coincid pe variabilele libere din t. Atunci,γ[x1/d1] · · · [xn/dn] si γ ′[x1/d1] · · · [xn/dn] vor coincide si pe variabilele libere dinu, ceea ce conduce la

I(t)(γ)(d1, . . . , dn) = I(u)(γ[x1/d1] · · · [xn/dn])= I(u)(γ′[x1/d1] · · · [xn/dn])= I(t)(γ′)(d1, . . . , dn),

pentru orice (d1, . . . , dn) ∈ Dτ1 × · · · ×Dτn . �

Corolarul 5.3.1.1. Fie B o baza, I o interpretare a ei si t un λ-term. Daca t nu arevariabile libere, atunci I(t)(γ) = I(t)(γ ′), pentru orice doua atribuiri γ si γ ′.

Demonstratie Direct de la Teorema 5.3.1.2 �

5.3.2 Programe recursive

Programele recursive au fost introduse de McMarthy ın 1963 [122]. Abordareanoastra va urma [115, 112].

Un program recursiv este o multime de ecuatii recursive, fiecare astfel de ecuatiefiind alcatuita din 2 termi, unul definind antetul ecuatiei, iar celalalt, corpul acesteia.

Page 196: Fltiplea Fai

190 Semantica programelor

Asa cum vom vedea, termii ce intra ın componenta ecuatiilor recursive sunt λ-termipeste o baza potrivit aleasa.

Vom considera o multime T0 = {b, d} de tipuri de baza. b specifica un tip debaza boolean, iar d specifica un tip arbitrar de date.

Tipurile pentru programe recursive se definesc inductiv prin:

• orice tip de baza este tip;

• daca β1, . . . , βs, β sunt tipuri de baza, atunci (β1, . . . , βs → β) este tip.

O baza pentru constructia de programe recursive este un triplet B = (T0,V,F),unde:

• T0 este o multime de tipuri de baza (ca mai sus);

• V este o multime de variabile. Variabilele sunt ımpartite ın doua clase:

– variabile de tip d, notate prin x, y, z, . . . (eventual indexate);

– variabile de tip (d, . . . , d︸ ︷︷ ︸n≥1

→ d). Acestea vor fi numite variabile functio-

nale si vor fi notate prin F,G,H, . . . (eventual indexate).

• F este o multime de simboluri functionale. Acestea vor fi notate f, g, h, . . .(eventual indexate) si vom presupune ca printre ele se gasesc si urmatoarelesimboluri functionale:

simbol functional tipfalse btrue b¬ (b→ b)= (d, d→ b)∨, ∧, →, ↔ (b, b→ b)if then else (b, d, d→ d)

FieB o baza pentru constructia de programe recursive. Termii utilizati ın definireaprogramelor recursive sunt definiti inductiv astfel:

• orice variabila de tip d este term de tip d;

• orice simbol functional f de tip b sau d este term de tip b sau, respectiv, d;

• daca f este simbol functional de tip (β1, . . . , βs → β) iar ti sunt termi de tipβi, 1 ≤ i ≤ s, atunci f(t1, . . . , tn) este term de tip β;

• daca F este variabila functionala de tip (d, . . . , d︸ ︷︷ ︸s≥1

→ d) iar ti sunt termi de tip

d, 1 ≤ i ≤ s, atunci F (t1, . . . , tn) este term de tip d.

Page 197: Fltiplea Fai

Programe recursive 191

O ecuatie sau procedura recursiva este o pereche de termi

(F (x1, . . . , xs), t),

unde x1, . . . , xs sunt variabile distincte, iar t este un term de tip d ce poate contineorice variabila functionala ınsa, ca variabile de tip d, el poate contine doar x1, . . . , xs.Termul F (x1, . . . , xs) se numeste antetul ecuatiei, iar termul t, corpul acesteia. U-zual, ecuatia (F (x1, . . . , xs), t) se mai noteaza prin

F (x1, . . . , xs) ⇐ t

(⇐ fiind un simbol nou).

Un program recursiv este un cuplu (S, k), unde:

• S este o multime de ecuatii recursive

S = {(F1(x11, . . . , x1s1), t1), . . . , (Fn(xn1, . . . , xnsn), tn)},

astfel ıncat pentru orice 1 ≤ i ≤ n, ti poate contine ca variabile functionaledoar F1, . . . , Fn;

• 1 ≤ k ≤ n.

Uzual, sistemul (S, k) se noteaza prin

(S, k)

⎧⎨⎩

F1(x11, . . . , x1s1) ⇐ t1· · ·Fn(xn1, . . . , xnsn) ⇐ tn

Variabila functionala Fk se numeste variabila functionala principala. Atunci candprogramul recursiv este format doar dintr-o singura ecuatie recursiva, ıl vom notamai simplu prin

(S) F (x1, . . . , xs) ⇐ t

Asa cum se poate constata, termii ce intervin ın definirea programelor recursivesunt λ-termi peste o baza B potrivit aleasa (ce include toate elementele mentionatemai sus). O astfel de baza va fi numita baza pentru programe recursive.

Exemplul 5.3.2.1. Urmatoarele constructii sunt programe recursive:

(1) (S) F (x) ⇐ if x = 0 then 1 else x ∗ F (x− 1)

(acest program, interpretat peste N⊥ asa cum vom vedea ın sectiunea urmatoa-re, calculeaza functia factorial).

(2) (S, 1)

{F1(x) ⇐ if x = 0 then 0 else F2(x− 1)F2(x) ⇐ if x = 0 then 1 else F1(x− 1)

(acest program calculeaza restul ımpartirii unui numar natural la 2 atunci candeste interpretat peste N⊥, asa cum se va arata ın sectiunea urmatoare).

Page 198: Fltiplea Fai

192 Semantica programelor

5.3.3 Semantica denotationala a programelor recursive

Fie B o baza pentru programe recursive si

(S, k)

⎧⎨⎩

F1(x11, . . . , x1s1) ⇐ t1· · ·Fn(xn1, . . . , xnsn) ⇐ tn

un program recursiv. Asociem fiecarei ecuatii recursive

Fi(xi1, . . . , xisi) ⇐ ti

un λ-termTi = [λF1, . . . , Fn.[λxi1, . . . , xisi

.ti]]

al carui tip este

τi = ((d, . . . , d︸ ︷︷ ︸s1

→ d), . . . , (d, . . . , d︸ ︷︷ ︸sn

→ d)→ (d, . . . , d︸ ︷︷ ︸si

→ d)),

unde 1 ≤ i ≤ n.Fie I o interpretare a bazei B. Vom presupune urmatoarele:

• Db = Bool⊥, unde Bool = {0, 1};

• Dd = D⊥, unde D este un domeniu nevid arbitrar dar fixat;

• I0(false) = 0 si I0(true) = 1;

• I0(f) este extensia naturala a simbolului functional f , pentru orice

f ∈ {¬,=,∨,∧,→,↔}

(a se vedea Sectiunea 3.2.4). In cazul f = if then else, I0(f) este extensiadin Exemplul 3.2.4.1(3).

Sub aceasta interpretare, domeniul tipului τi va fi

Dτi= [[Ds1

⊥ → D⊥]× . . .× [Dsn⊥ → D⊥]→ [Dsi

⊥ → D⊥]].

Vom nota prin D∗ domeniul

D∗ = [Ds1⊥ → D⊥]× . . .× [Dsn

⊥ → D⊥].

Definitia 5.3.3.1. Fie (S, k) un program recursiv si I o interpretare ca mai sus.Functia semantica a programului (S, k) sub interpretarea I este functia

φI(S, k) : D∗ → D∗

data prinφI(S, k) = (I(T1)(γ), . . . , I(Tn)(γ)),

unde γ este o atribuire arbitrara.

Page 199: Fltiplea Fai

Semantica denotationala a programelor recursive 193

Observatia 5.3.3.1.

(1) Definitia functiei semantice a unui program recursiv este consistenta ın sen-sul ca ea nu depinde de asignarea aleasa deoarece λ-termii T1, . . . , Tn nu auvariabile libere (a se vedea Corolarul 5.3.1.1).

(2) Functia semantica φI(S, k) este continua deoarece pri ◦ φI(S, k) = I(Ti)(γ)este functie continua, pentru orice 1 ≤ i ≤ n (Corolarul 5.2.1.2).

Definitia 5.3.3.2. Fie (S, k) un program recursiv si I o interpretare ca mai sus. Se-mantica denotationala a programului (S, k) este functia partiala

MI(S, k) : Dskd � Dd

data prin

MI(S, k)(a) =

{prk(μ(φI(S, k)))(a), daca aceasta valoare nu este ⊥nedefinita, altfel,

pentru orice a ∈ Dsk⊥ .

Vom ıncheia sectiunea printr-un exemplu de calcul a semanticii denotationale aunui program recursiv.

Exemplul 5.3.3.1. Fie programul recursiv

(S, 1)

{F1(x) ⇐ if x = 0 then 0 else F2(x− 1)F2(x) ⇐ if x = 0 then 1 else F1(x− 1)

din Exemplul 5.3.2.1(2) interpretat peste N⊥ (adica, D⊥ = N⊥).λ-termii asociati sunt

T1 = [λF1, F2.[λx.if x = 0 then 0 else F2(x− 1)]]

siT2 = [λF1, F2.[λx.if x = 0 then 1 else F1(x− 1)]].

Acesti λ-termi au tipurile

τ1 = τ2 = ((nat→ nat), (nat→ nat) → (nat→ nat)),

iar domeniile corespunzatoare sunt

Dτ1 = Dτ2 = [[N⊥ → N⊥]× [N⊥ → N⊥]→ [N⊥ → N⊥]].

Functia semantica a programului este

φI(S, 1) = (I(T1)(γ), I(Tn)(γ)),

unde γ este o atribuire arbitrara dar fixata.Acum, va trebui sa calculam cel mai mic punct fix al functiei semantice a progra-

mului, ceea ce se reduce la calculul supremului lantului

L = {φI(S, 1)n(⊥(N⊥→N⊥),⊥(N⊥→N⊥))|n ≥ 0},unde ⊥(N⊥→N⊥) este cel mai mic element al mpo complete [N⊥ → N⊥], adicafunctia ce returneaza ⊥ pentru orice x ∈ N⊥.

Pentru a putea lucra usor cu aceste functii vom face urmatoarele notatii:

Page 200: Fltiplea Fai

194 Semantica programelor

• f0 va desemna functia ⊥(N⊥→N⊥);

• φI(S, 1)n(f0, g0) = (fn, gn), pentru orice n ≥ 0, unde g0 = f0. In plus,fn = I(T1)(γ)(fn−1, gn−1) si gn = I(T2)(γ)(fn−1, gn−1), pentru orice n ≥ 1.

Pentru determinarea perechilor (fn, gn) vom face cateva iteratii pana cand vom putemintui forma acestora. Are loc:

f1(k) = I(T1)(γ)(f0, g0)(k)= I(T1)(γ[F1/f0][F2/g0][x/k])= if k = 0 then 0 else g0(k − 1)= if k = 0 then 0 else ⊥

g1(k) = I(T2)(γ)(f0, g0)(k)= I(T2)(γ[F1/f0][F2/g0][x/k])= if k = 0 then 1 else f0(k − 1)= if k = 0 then 1 else ⊥

f2(k) = I(T1)(γ)(f1, g1)(k)= I(T1)(γ[F1/f1][F2/g1][x/k])= if k = 0 then 0 else g1(k − 1)= if k = 0 then 0 else if k − 1 = 0 then 1 else ⊥= if k = 0 then 0 else if k = 1 then 1 else ⊥

g2(k) = I(T2)(γ)(f1, g1)(k)= I(T2)(γ[F1/f1][F2/g1][x/k])= if k = 0 then 1 else f1(k − 1)= if k = 0 then 1 else if k − 1 = 0 then 0 else ⊥= if k = 0 then 1 else if k = 1 then 0 else ⊥

f3(k) = I(T1)(γ)(f2, g2)(k)= I(T1)(γ[F1/f2][F2/g2][x/k])= if k = 0 then 0 else g2(k − 1)= if k = 0 then 0 else if k − 1 = 0 then 1 else

if k − 1 = 1 then 0 else ⊥= if k = 0 then 0 else if k = 1 then 1 else

if k = 2 then 0 else ⊥g3(k) = I(T2)(γ)(f2, g2)(k)

= I(T2)(γ[F1/f2][F2/g2][x/k])= if k = 0 then 1 else f2(k − 1)= if k = 0 then 1 else if k − 1 = 0 then 0 else

if k − 1 = 1 then 1 else ⊥= if k = 0 then 1 else if k = 1 then 0 else

if k = 2 then 1 else ⊥pentru orice k ∈ N⊥. In acest moment putem presupune ca are loc

fn(k) =

⎧⎨⎩

0, daca k < n este par1, daca k < n este impar⊥, altfel

Page 201: Fltiplea Fai

Programe while 195

si

gn(k) =

⎧⎨⎩

1, daca k < n este par0, daca k < n este impar⊥, altfel

pentru orice n ≥ 1 si k ∈ N⊥. Presupunerea noastra se dovedeste a fi corecta, ceeace poate fi demonstrat cu usurinta prin inductie matematica.

Acum, supremum lantului L se obtine imediat ca fiind

sup(L) = sup({(fn, gn)|n ≥ 0}) = (f ∗, g∗),

unde

f ∗(k) =

⎧⎨⎩

0, daca k ∈ N este par1, daca k ∈ N este impar⊥, daca k = ⊥

si

g∗(k) =

⎧⎨⎩

1, daca k ∈ N este par0, daca k ∈ N este impar⊥, daca k = ⊥

pentru orice k ∈ N⊥. Ca urmare, semantica denotationala a programului (S, 1) este

MI(S, 1)(k) =

⎧⎨⎩

0, daca k ∈ N este par1, daca k ∈ N este imparnedefinita, daca k = ⊥,

pentru orice k ∈ N⊥.

5.3.4 Programe while

O alta clasa importanta de programe, de natura imperativa, este cea a programelorwhile. Diferenta majora ıntre acestea si programele recursive consta ın aceea caprogramele while folosesc o structura speciala pentru iteratii, numita while do.

O baza pentru constructia programelor while este definita ca un triplet B =(V,F ,P) format din 3 multimi disjuncte ıntre ele, unde:

• V este o multime de variabile;

• F este o multime de simboluri functionale, fiecare avand asociata o aritate.Simbolurile functionale de aritate 0 sunt numite si constante functionale;

• P este o multime de simboluri predicative, fiecare avand asociata o aritate.Simbolurile predicative de aritate 0 sunt numite si constante propozitionale.

Termii peste o baza B se definesc inductiv prin:

• orice variabila sau constanta (simbol functional de aritate 0) este term;

• daca t1, . . . , tn sunt termi si f este simbol functional de aritate n, unde n ≥ 1,atunci f(t1, . . . , tn) este term.

Page 202: Fltiplea Fai

196 Semantica programelor

Expresiile logice peste o baza B sunt formule fara cuantificatori ale logicii cupredicate peste B. Pentru definirea acestora vom utiliza simbolurile logice “true”,“false”, “=”, “¬”, “∨”, “∧”, “⇒” si “⇔”, si simbolurile auxiliare “(”, “)”, “,” si “.”.Toate aceste simboluri sunt presupune distincte ıntre ele si distincte de elementelemultimilor bazei B. Atunci, expresiile logice se definesc inductiv prin:

• simbolurile true si false sunt expresii logice;

• constantele propozitionale sunt expresii logice;

• daca t1 si t2 sunt termi, atunci (t1 = t2) este expresie logica;

• daca t1, . . . , tn sunt termi si P este simbol predicativ n-ar, unde n ≥ 1, atunciP (t1, . . . , tn) este expresie logica;

• daca e1 si e2 sunt expresii logice, atunci (¬e1), (e1 ∨ e2), (e1 ∧ e2), (e1 ⇒ e2)si (e1 ⇔ e2) sunt expresii logice.

Acum, programele while peste o baza B se definesc inductiv, utilizand sim-bolurile auxiliare “:=”, “;”, “if”, “then”, “else”, “while”, si “do”, astfel:

• daca x ∈ V si t este term peste B, atunci x := t este program while peste B;

• daca S1 si S2 sunt programe while peste B si e este o expresie logica peste B,atunci S1;S2, if e then S1 else S2 si while e do S1 sunt programe while pesteB.

Simbolurile “if”, “then” si “else”, luate ımpreuna, nu trebuiesc confundate cu sim-bolul functional if then else utilizat ın cadrul programelor recursive. Structura in-dusa de aceste simboluri va fi interpretata oarecum similar structurii if then else dela programe recursive.

Atunci cand S2 este obtinut prin intermediul constructorului “;” (S2 = S ′2;S

′′2 ),

vom scrie if e then S1 else (S2) ın loc de if e then S1 else S2. Aceasta pentru adelimita zona de actiune a lui if then else. De exemplu, structura

if e then S1 else S′2;S

′′2

poate fi interpretata ca fiind programul if e then S1 else S′2 urmat de S ′′

2 , sauif e then S1 else S2 unde S2 = S ′

2;S′′2 . Prin conventia adoptata eliminam aceasta

situatie ambigua. O alta metoda de eliminare a acestei ambiguitati se poate face princonsiderarea unui nou simbol, endif , si utilizarea structurii

if e then S1 else S2 endif.

O discutie similara are loc pentru while e do S1.

Trebuie sa remarcam ca programele while nu sunt liber inductiv definite deoarecestructura S1;S2;S3 are cel putin doua constructii inductive diferite (si astfel de cazurisunt de fapt singurele posibile ce fac ca definitia programelor while sa nu fie liber

Page 203: Fltiplea Fai

Semantica denotationala a programelor while 197

inductiva). O astfel de ambiguitate nu mai poate fi eliminata chiar asa de simplu cumam facut mai sus. In general, constructiile ce nu sunt liber inductiv definite pot creaprobleme relativ la definitia (recursiva) a unei functii semantice a acestora. In cazulprogramelor while vom arata ca, cu toate ca definitia acestora nu este liber inductiva,functia semantica poate fi definita ın mod consistent.

Exemplul 5.3.4.1. Urmatoarele constructii sunt programe while peste o baza potrivitaleasa:

1. while x > 0 do x := x− 1.

2. y := 1; while ¬(x = 1) do (y := y ∗ x; x := x − 1). Acest program whilecalculeaza functia factorial atunci cand este interpretat peste numere naturale.

3. z := 0; while y ≤ x do (z := z + 1; x := x− y).

5.3.5 Semantica denotationala a programelor while

Fie B o baza pentru programe while. O interpretare pentru baza B este o perecheI = (D, I0) formata dintr-un domeniu nevid D si o functie de interpretare initialaI0 ce satisface:

• I0(f) este functie de la Dn la D, pentru orice f ∈ F de aritate n ≥ 0;

• I0(P ) este functie de laDn laBool, pentru orice P ∈ P de aritate n ≥ 0, undeBool = {0, 1} este o multime ce contine doua elemente distincte.

O atribuire sau asignare a bazei B sub o interpretare I este o functie γ : V → D.In teoria programarii imperative astfel de functii se mai numesc si stari. O starefurnizeaza deci valorile variabilelor la un moment dat. Insa, trebuie remarcat ca nuse cere ca starile sa fie, toate, accesibile de la starea initiala a programului. Vomnota prin ΓB,I multimea tuturor atribuirilor bazei B sub interpretarea I. Notatia vafi simplificata la Γ atunci cand B si I sunt clare din context. Este bine de avutcontinuu ın vedere ca γ reprezinta o stare, iar un program while nu face altceva decatsa transforme o stare ıntr-o alta stare.

Semantica termilor si expresiilor logice ce ajuta la constructia programelor whilese defineste recursiv ca o functie I de la multimea termilor si expresiilor logice lamultimea (Γ → D), astfel:

• I(t)(γ) = I0(t), daca t ∈ F este constanta;

• I(t)(γ) = γ(t), daca t ∈ V este variabila;

• I(f(t1, . . . , tn))(γ) = I0(f)(I(t1)(γ), . . . , I(tn)(γ));

• I(true)(γ) = 1 si I(false)(γ) = 0;

• I(p)(γ) = I0(p), pentru orice constanta propozitionala p;

Page 204: Fltiplea Fai

198 Semantica programelor

• I(t1 = t2)(γ) =

{1, daca I(t1)(γ) = I(t2)(γ)0, altfel

(egalitatea I(t1)(γ) = I(t2)(γ) este identitate de elemente ın D);

• I(P (t1, . . . , tn))(γ) = I0(P )(I(t1)(γ), . . . , I(t2)(γ));

• I(¬e)(γ) =

{1, daca I(e)(γ) = 00, altfel

(egalitatea I(e)(γ) = 0 este identitate de elemente ın Bool).

In mod similar se defineste I pentru celelalte expresii logice;

pentru orice γ ∈ Γ.Cu aceste elemente pregatitoare putem introduce semantica denotationala a pro-

gramelor while. Inainte de aceasta trebuie sa remarcam ca multimea atribuirilor(starilor) nu este mpo completa deoarece nu avem definita nici o relatie de ordinepartiala pe D care sa transforme D ıntr-o mpo completa. Exista doua moduri de atransforma Γ ıntr-o mpo completa. Un mod este de a transforma Γ ıntr-o mpo plataΓ⊥, iar altul este de a transforma D ıntr-o mpo plata D⊥ (faptul ca D⊥ este com-pleta asigura ca multimea tuturor functiilor de la Γ la D⊥ este completa, ın raportcu ordinea partiala pe functii indusa de ordinea partiala pe D⊥). Vom adopta primavarianta deoarece prin cea de a doua se introduc multe stari suplimentare, pe candprin prima metoda se introduce doar o singura stare suplimentara, si anume⊥. Cazulγ = ⊥ va trebui tratat separat deoarece termii si expresiile logice sunt interpretate cafunctii definite pe Γ si nu pe Γ⊥.

Definitia 5.3.5.1. Fie S un program while peste o baza B si I o interpretare a bazeiB. Functia semantica a programului S sub interpretarea I este functia

φI(S) : Γ⊥ → Γ⊥

data prin:

• φI(S)(γ) =

{γ[x/I(t)(γ)], daca γ �= ⊥⊥, daca γ = ⊥,

pentru orice γ ∈ Γ⊥, daca S este programul x := t;

• φI(S) = φI(S2) ◦ φI(S1), daca S este programul S1;S2;

• φI(S)(γ) =

⎧⎨⎩

φI(S1)(γ), daca I(e)(γ) = 1 si γ �= ⊥φI(S2)(γ), daca I(e)(γ) = 0 si γ �= ⊥⊥, daca γ = ⊥,

pentru orice γ ∈ Γ⊥, daca S este programul if e then S1 else S2;

• φI(S) = μ(F ), daca S este programul while e do S1, unde F este functia

F : [Γ⊥ → Γ⊥] → [Γ⊥ → Γ⊥]

Page 205: Fltiplea Fai

Semantica denotationala a programelor while 199

data prin

F (f)(γ) =

⎧⎨⎩

(f ◦ φI(S1))(γ)), daca I(e)(γ) = 1 si γ �= ⊥γ, daca I(e)(γ) = 0 si γ �= ⊥⊥, daca γ = ⊥,

pentru orice f ∈ [Γ⊥ → Γ⊥] si γ ∈ Γ⊥.

Definitia functiei semantice pentru structura while e do S se bazeaza pe observa-tia ca, daca scriem informal

while e do S =

{(while e do S) ◦ S, daca e este adevarataid, daca e este falsa

si notam prin F functia din membrul drept al egalitatii, unde id este functia identitate,atunci while e do S verifica proprietatea

F (while e do S) = while e do S.

Cu alte cuvinte, while e do S este punct fix al functiei F .

Deoarece definitia programelor while nu este libera, va trebui sa aratam ca, ınadevar, φI(S) este functie. Concomitent vom arata ca aceasta este si continua.

Teorema 5.3.5.1. Pentru orice program recursiv S, φI(S) este functie continua.

Demonstratie Vom face demonstratia prin inductie structurala asupra programuluiS.

Cazul 1: S este de forma x := t. Este clar ca φI(S) este functie. Ea este sicontinua deoarece este o extensie naturala (a se vedea Sectinuea 3.2.4).

Cazul 2: S este de forma S1;S2. Presupunem ca φI(S1) si φI(S2) sunt functiicontinue. Cum compunerea de functii continue conduce la functii continue, deducemca φI(S) este functie continua.

Cazul 3: S este de forma if e then S1 else S2. Presupunem ca φI(S1) si φI(S2)sunt functii continue. Este clar ca φI(S) este functie. Ea este si continua deoarecepoate fi considerata ca o compunere a functiilor I(S1) si φI(S2) cu extensia naturalala Γ⊥ a functiei if then else definita pe Γ (Sectinuea 3.2.4).

Cazul 4: S este de forma while e do S1. Presupunem ca φI(S1) este functiecontinua. Va fi suficient sa aratam ca F este o functie continua. Atunci, ea va avea uncel mai mic punct fix care va fi o functie continua deoarece este element al multimii[Γ⊥ → Γ⊥]. Ca urmare, aceasta va demonstra atat faptul ca φI este bine-definita, catsi faptul ca este functie continua.

Vom arata ca F este continua ın mod direct. Fie L ⊆ [Γ⊥ → Γ⊥] un lant nevidde functii. Cum [Γ⊥ → Γ⊥] este mpo completa, exista sup(L). Va trebui sa aratamca are loc F (sup(L))(γ) = sup(F (L))(γ), pentru orice γ ∈ Γ⊥. Vom lua ın consi-derare 3 cazuri (si vom utiliza intens Lema 5.1.2):

Page 206: Fltiplea Fai

200 Semantica programelor

• γ = ⊥. Atunci, F (sup(L))(γ) = ⊥ (conform definitiei functiei F ) si

sup(F (L))(γ) = sup(F (L)(γ)) = sup({⊥}) = ⊥,

stabilind astfel egalitatea F (sup(L))(γ) = sup(F (L))(γ).

• I(e)(γ) = 0 si γ �= ⊥. Atunci, F (sup(L))(γ) = γ (conform definitiei functieiF ) si

sup(F (L))(γ) = sup(F (L)(γ)) = sup({γ}) = γ,

stabilind astfel egalitatea F (sup(L))(γ) = sup(F (L))(γ).

• I(e)(γ) = 1 si γ �= ⊥. Atunci, F (sup(L))(γ) = sup(L)(φI(S1)(γ)) (con-form definitiei functiei F ). Cum φI(S1) este functie continua,

F (L) = {f ◦ φI(S1)|f ∈ L}

este lant de functii continue ın [Γ⊥ → Γ⊥], al carui suprem este sup(F (L)) =sup(L) ◦ φI(S1) (ceea ce este usor de vazut). Atunci,

sup(F (L))(γ) = (sup(L) ◦ φI(S1))(γ)) = sup(L)(φI(S1)(γ)),

stabilind astfel egalitatea F (sup(L))(γ) = sup(F (L))(γ).

Aceasta ıncheie demonstratia teoremei 3. �

Semantica denotationala a programelor while se obtine ca si ın cazul programelorrecursive.

Definitia 5.3.5.2. Fie S un program while peste o baza B si I o interpretare a bazeiB. Semantica denotationala a programului S este functia partiala

MI(S) : Γ � Γ

data prin

MI(S)(γ) =

{φI(S)(γ), daca aceasta valoare nu este ⊥nedefinita, altfel,

pentru orice γ ∈ Γ.

3Utilizand λ-notatia se poate da o alta demonstratie faptului ca F este continua, aratand ca F esteinterpretarea unui λ-term T ca cel de mai jos [112]:

T = [λf.[λγ.if γ = γ then if E then T else γ else t]]

In cadrul acestui λ-term interpretarea lui T1 trebuie sa fie φI(S1) iar interpretarea expresiei e trebuiesa fie extensia naturala a functiei I(e) (reamintim ca I(e) este definita pe Γ si nu pe Γ⊥). In plus,if then else din cadrul acestui λ-term T trebuie interpretat ca ın Sectiunea 3.2.4.

Desi aceasta solutie ar parea mai simpla, ea ridica multe probleme relativ la readaptarea functiilorla domeniul Γ⊥. Din punctul nostru de vedere, demonstratia deja adoptata este de preferat.

Page 207: Fltiplea Fai

Semantica denotationala a programelor while 201

Incheiem sectiune printr-un exemplu de calcul a semanticii denotationale a unuiprogram while.

Exemplul 5.3.5.1. Fie programul while S dat prin

y := 1; while ¬(x = 1) do (y := y ∗ x; x := x− 1)

si interpretat peste D = N cu interpretarea uzuala a operatorilor ¬, ∗ si− (mai mult,vom nota I0(∗) tot prin ∗, I0(−) tot prin − si I0(n) tot prin n, pentru orice n ≥ 0).

Fie γ o atribuire diferita de ⊥. Atunci,

φI(S)(γ) = φI(while ¬(x = 1) do (y := y ∗ x; x := x− 1))(φI(y := 1)(γ))= φI(while ¬(x = 1) do (y := y ∗ x; x := x− 1))(γ[y/I0(1)])= φI(while ¬(x = 1) do (y := y ∗ x; x := x− 1))(γ[y/1])= μ(F )(γ[y/1]),

unde F (f)(γ′) este data prin

• F (f)(γ′) = f(φI(y := y ∗ x; x := x− 1)(γ′)), daca I(¬(x = 1))(γ′) = 1 siγ′ �= ⊥;

• F (f)(γ′) = γ′, daca I(¬(x = 1))(γ′) = 0 si γ ′ �= ⊥;

• F (f)(γ′) = ⊥, daca γ′ = ⊥,

pentru orice f ∈ [Γ⊥ → Γ⊥] si γ ′ ∈ Γ⊥.Daca explicitam si mai mult functia F obtinem ca aceasta este data prin

• F (f)(γ′) = f(γ′[y/γ′(y) ∗ γ′(x)][x/(γ′[y/γ′(y) ∗ γ′(x)](x)− 1)]),daca γ′(x) �= 1 si γ ′ �= ⊥;

• F (f)(γ′) = γ′, daca γ′(x) = 1 si γ ′ �= ⊥;

• F (f)(γ′) = ⊥, daca γ′ = ⊥.

Fie f0 = ⊥(Γ⊥→Γ⊥) cel mai mic element al mpo complete [Γ⊥ → Γ⊥], adicafunctia data prin f0(γ

′) = ⊥, pentru orice γ ′ ∈ Γ⊥. Calculul celui mai mic punctfix al functiei F se reduce la calculul supremului lantului L = {F n(f0)|n ≥ 0}. Caurmare, vom determina ıntai elementele acestui lant. Are loc:

F (f0)(γ′) =

{⊥, daca γ′(x) �= 1γ′, daca γ′(x) = 1

F 2(f0)(γ′) =

⎧⎨⎩⊥, daca γ′(x) �= 1 si γ ′(x) �= 2γ′[y/γ′(y) ∗ 2][x/1], daca γ′(x) = 2γ′, daca γ′(x) = 1

=

⎧⎨⎩⊥, daca γ′(x) �= 1 si γ ′(x) �= 2γ′[y/γ′(y) ∗ 2][x/1], daca γ′(x) = 2γ′[y/γ′(y) ∗ 1][x/1], daca γ′(x) = 1

Page 208: Fltiplea Fai

202 Semantica programelor

pentru orice γ′. Printr-o simpla inductie matematica obtinem:

F n(f0)(γ′) =

{⊥, daca γ′(x) < 1 sau γ′(x) > nγ′[y/γ′(y) ∗ j ∗ · · · ∗ 2 ∗ 1][x/1], daca γ′(x) = j si 1 ≤ j ≤ n,

pentru orice γ′ si n ≥ 1.Atunci, este usor de vazut ca are loc:

μ(F )(γ′) =

{⊥, daca γ′(x) < 1γ′[y/γ′(y) ∗ n ∗ · · · ∗ 2 ∗ 1][x/1], daca γ′(x) = n ≥ 1,

pentru orice γ′. Inlocuind γ ′ cu γ[y/1] obtinem

μ(F )(γ[y/1]) =

{⊥, daca γ(x) < 1γ[y/1 ∗ n ∗ · · · ∗ 2 ∗ 1][x/1], daca γ(x) = n ≥ 1,

pentru orice γ �=. Atunci, semantica programului nostru va fi:

M(S)(γ) =

{γ[y/1 ∗ n ∗ · · · ∗ 2 ∗ 1][x/1], daca γ(x) = n ≥ 1nedefinita, daca γ(x) < 1,

pentru orice γ.De exemplu, daca alegem γ astfel ıncat γ[x] = 5, atunciM(S)(γ) = 1 ∗ 5 ∗ 4 ∗

3 ∗ 2 ∗ 1.

Page 209: Fltiplea Fai

Bibliografie

[1] Agrawal, Kayal, Saxena. PRIMES is in P, Annals of Mathematics 160(2),2004, 781-793.

[2] M. Armbrust, J. Schmidt. Zum Cayleyschen Darstellungssatz, MathematischeAnnalen 154, 1964, 70–72.

[3] R.B. Ash. Information Theory, Wiley, 1965.

[4] P. Bachman. Die analytische Zahlentheorie, Teubner, Leipzig, 1894.

[5] P. Bernays. A System of Axiomatic Set Theory II, Journal of Symbolic Logic6, 1941, 1–17.

[6] P. Bernays. A System of Axiomatic Set Theory VII, Journal of Symbolic Logic19, 1954, 81–96.

[7] J. Berstel, D. Perrin. Theory of Codes, Academic Press, 1985.

[8] G. Birkhoff. On the Combination of Subalgebras, Proceedings of the Cam-bridge Philosophical Society 29, 1933, 441–464.

[9] G. Birkhoff. On the Structure of Abstract Algebras, Proceedings of the Cam-bridge Philosophical Society 31, 1935, 433–454.

[10] G. Birkhoff. On Groups of Automorphisms, Rev. Un. Math. Argentina 11,1946, 155–157 (ın spaniola).

[11] G. Birkhoff, O. Frink. Representations of Lattices by Sets, Transactions of theAmerican Mathematical Society 64, 1948, 299–316.

[12] G. Birkhoff. Lattice Theory, Colloquium Publications vol. 25 of the AmericanMathematical Society, 1995 (a 8-a editie).

[13] G. Boole. Mathematical Analysis of Logic, Being an Essay Toward a Calculusof Deductive Reasoning, Macmillan, Barclay and Macmillan, London, 1847.

[14] G. Boole. An investigation into the Laws of Thought, on Which are Foundedthe Mathematical Theories of Logic and Probabilities, Walton and Maberley,London, 1854.

Page 210: Fltiplea Fai

204 Bibliografie

[15] A. Borgers. Development of the Notion of Set and of the Axioms of Sets, Syn-these 7, 1949, 374–390.

[16] N. Bourbaki. Theorie des ensembles, Actualites Scientifiques et Industrielles846, Herman et Cie, Paris, 1939.

[17] N. Bourbaki. Theorie des ensembles, Ch. 1–2, Paris, 1954 (a 2-a editie, 1960);Ch. 3, Paris, 1956 (a 2-a editie, 1963).

[18] N. Bourbaki. General Topology, Addison-Wesley, Reading, Mass., 1968.

[19] S. Burris, H.P. Sankappanavar. A Course in Universal Algebra, Springer-Verlag, 1981.

[20] Mechanizable Proofs About Parallel Processes, Proceedings of the 14th An-nual IEEE Symposium on Switching and Automata Theory, 1973, 34.

[21] G. Cantor. Ein Beitrag zur Mannigfaltigkeitslehre, Journal fur Mathematik 84,1878, 242–258 (de asemenea ın [25], 119–138).

[22] G. Cantor. Uber unendliche, lineare Punktmannigfaltigkeiten (V), Mathema-tische Annalen 21, 1883, 545–591.

[23] G. Cantor. Beitrage zur Begrundung der transfiniten Mengenlehre I, Mathe-matische Annalen 46, 1895, 418–512.

[24] G. Cantor. Beitrage zur Begrundung der transfiniten Mengenlehre (II), Math-ematische Annalen 49, 1897, 207–246.

[25] G. Cantor. Gesammelte Abhandlungen mathematischen und philosophischenInhalts, E. Zermelo (ed.), Berlin, 1932.

[26] C.C. Chang. Some General Theorems on Direct Products and Their Applica-tions in the Theory of Models, Nederl. Akad. Wetensch. Proc. ser. A 57, 1954,592–598.

[27] A. Church. Annals of Mathematics 34, 1933, 863–.

[28] A. Church. An Unsolvable Problem of Elementary Number Theory, AmericanJournal of Mathematics 58, 1936, 345–363.

[29] A.H. Clifford, G.B. Preston. The Algebraic Theory of Semigroups, Mathemat-ical Surveys 7, vol. 1, American Mathematical Society, Providence, 1961.

[30] A.H. Clifford, G.B. Preston. The Algebraic Theory of Semigroups, Mathemat-ical Surveys 7, vol. 2, American Mathematical Society, Providence, 1967.

[31] P. Cohen. The Independence of the Continuum Hyphothesis I, II, Proceedingsof the National Academy of Sciences (USA) 50, 1963, 1143–1148 (de aseme-nea ın P. Cohen: Set Theory and the Continuum Hypothesis, W.A. Benjamin,New York, 1966).

Page 211: Fltiplea Fai

Bibliografie 205

[32] P.M. Cohn. Universal Algebra, a doua editie, Reidel Publishing Company,1981.

[33] P.M. Cohn. Classic Algebra, John Wiley & Sons, 2000.

[34] I. Csiszar, J. Korner. Information Theory: Coding Theorems for DiscreteMemoryless Systems, Academic Press, 1981.

[35] J. Daemen, V. Rijmen. The Design of Rijndael, Springer-Verlag, 2002.

[36] G. Davida. Chosen Signature Cryptanalysis of the RSA Public Key Cryptosys-tem, Technical report TR-CS-82-2, Dept. of Electrical Engineering and Com-puter Science, University of Wisconsin, 1982.

[37] A.C. Davis. A Characterization of Complete Lattices, Pacific Journal of Math-ematics 5, 1955, 311–319.

[38] R. Dedekind. Was sind und was sollen die Zahlen?, Braunschweig, 1888 (a6-a editie, Braunschweig, 1930).

[39] R. Dedekind. Uber die von drei Moduln erzeugte Dualgruppe, MathematischeAnnalen 53, 1900, 371–403.

[40] R. Dedekind. Gesammelte mathematische Werke I, II, III, Volume editate deR. Fricke, E. Noether si O. Ore, Braunschweig, 1930–1932.

[41] K. Devlin. The Joy of Sets. Fundamentals of Contemporary Set Theory,Springer-Verlag, a 2-a editie, 1993.

[42] W. Diffie, M.E. Hellman. Multiuser Cryptographic Techniques, Proceedingsof AFIPS National Computer Conference, 1976, 109–112.

[43] W. Diffie, M.E. Hellman. New Directions in Cryptography, IEEE Transactionson Information Theory 6, 1976, 644–654.

[44] P. Dubreil. Contribution a la theorie de demi-groupes, Mem. Acad. Sci. France2(63), 1941.

[45] P. Dubreil-Jacotin. Sur l’immersion d’un semi-groupe dans un groupe, C.R.Acad. Sci. Paris 225, 1947, 787–788.

[46] Electronic Frontier Foundation. Cracking DES. Secrets of Encryption Re-search, Wiretap Politics & Chip Design, O’Reilly, 1998.

[47] T. ElGamal. A Public Key Cryptosuystem and a Digital Sinature Based on Dis-crete Logarithms, IEEE Transactions on Information Theory 31, 1985, 469–472.

[48] Federal Register. Proposed Federal Information Processing Standard for Dig-ital Signature Standard (DSS), Federal Register 169, 1991, 42980–42982.

Page 212: Fltiplea Fai

206 Bibliografie

[49] P.A. Fejer, D.A. Simovici, Foundations of Computer Science. Volume I: Sets,Relations and Induction, Springer-Verlag, 1991.

[50] Federal Information Processing Standard Publication 186-2. Digital Signa-ture Standard (DSS), National Institute of Standards and Technology (NIST),2000.

[51] Federal Information Processing Standard Publication 197. Advanced Encryp-tion Standard, National Institute of Standards and Technology (NIST), 2001.

[52] A. Fraenkel. , Journal fr die Reine und Angewandte Mathematik (A. L. Crelle),vol. 145, 1914.

[53] A. Fraenkel. Zu den Grundlagen der Cantor-Zermeloschen Mengenlehre,Mathematische Annalen 86, 1922, 230–237.

[54] A. Fraenkel. Abstract Set Theory, a 2-a editie, North-Holland, 1961.

[55] A. Fraenkel, Y. Bar-Hillel. Foundations of Set Theory, North-Holland, 1958.

[56] A. Fraenkel, Y. Bar-Hillel, A. Levy. Foundations of Set Theory, a 2-a editie,North-Holland, 1984.

[57] G. Frege. Die Grundlagen der Aritmetik. Eine logischmathematische Unter-suchung uber den Begriff der Zahl, Breslau, 1884.

[58] G. Frege. Grundgesetze der Aritmetik, Vol. I, Jena, 1893; Vol. II, Jena, 1903.

[59] L. Fuchs. On Subdirect Unions, Acta Math. Sci. Hungar. 3, 1952, 103–120.

[60] C.F. Gauss. Disquisitiones Arithmeticae, revised English translation by W.C.Waterhouse, Springer-Verlag, 1986.

[61] P. Geach, M. Black. Translations from the Philosophical Writings of GottlobFrege, Blackwell, Oxford, 1952.

[62] G. Gierz, K.H. Hofmann, K. Keimel, J.D. Lawson, M. Mislove, D.S. Scott.Continuous Lattices and Domains, Encyclopedia of Mathematics and Its Ap-plications, vol. 93, 2003.

[63] E.N. Gilbert, E.F. Moore. Variable length binary encodings, Bell System Tech.J. 38, 1959, 933–967.

[64] K. Godel. The Consistency of the Axiom of Choice and the Generalized Con-tinuum Hypothesis, Proceedings of the National Academy of Sciences

[65] K. Godel. Consistency Proof for the Generalized Continuum Hypothesis, Pro-ceedings of the National Academy of Sciences (USA) 25, 1938, 220–224.

[66] G. Gratzer, E.T. Schmidt. Characterizations of Congruence Lattices of Ab-stract Algebras, Acta Sci. Math. (Szeged) 24, 1963, 34–59.

Page 213: Fltiplea Fai

Bibliografie 207

[67] G. Gratzer. Universal Algebra, Springer Verlag, 1979 (a doua editie).

[68] J.A. Green. On the Structure of Semigroups, Ann. Math. 54, 1951, 163–172.

[69] F.M. Hall. An Introduction to Abstract Algebra, Cambridge University Press,1969.

[70] P.R. Halmos. Naive Set Theory, Springer-Verlag, 1974.

[71] W.R. Hamilton. On Quaternions or on a New System of Imaginaries in Alge-bra, Phil. Mag. 3rd Ser., 1844, 10–13.

[72] R.W. Hamming. Coding and Information Theory, Prentice-Hall, 1986.

[73] G.H. Hardy, E.M. Wright. An Introduction to the Theory of Numbers, Claren-don Press, Oxford, a 5-a editie, 1990.

[74] F. Hartogs. Uber das Problem der Wohlordnung, Mathematische Annalen 76,1915, 438–443.

[75] F. Hausdorff. Grundzuge der Mengenlehre, Leipzig, 1914.

[76] M.E. Hellman. The Mathematic sof Public-Key Cryptography, ScientificAmerican 241, 1979, 146–157.

[77] P.M. Higgins. Algebras with a Scheme of Operators, Mathematische Nach-richten 27, 1963, 115–132.

[78] P.M. Higgins. Techniques of Semigroup Theory, Oxford University Press,1992.

[79] R. Hill. A First Course in Coding Theory, Clarendon Press, 1993.

[80] D. Hilbert. Die Theorie der algebraischen Zahlk’orper, Jahresbericht derDeutschen Mathematiker Vereiningung, Vol. 4, 1897.

[81] J.M. Howie. An Introduction to Semigroup Theory, Academic Press, 1976.

[82] K. Hrbacek, T. Jech. Introduction to Set Theory, Marcel Dekker, 1978.

[83] L.K. Hua. Introduction to Number Theory, Springer-Verlag, Berlin, 1982.

[84] D.A. Huffman. A Method for the Construction of Minimum RedundancyCodes, Proceedings of IRE 40, 1952, 1098–1101.

[85] Th.W. Hungerford. Algebra, a 5-a editie, Springer-Verlag, 1989.

[86] J.R. Isbell. Subobjects, Adequacy, Completeness and Categories of Algebras,Rozprawy Mat. 36, 1964, 33 pag.

[87] E. Jacobsthal. Uber den Aufbau der transfiniten Arithmetik, MathematischeAnnalen 66, 1909, 145–194.

Page 214: Fltiplea Fai

208 Bibliografie

[88] T.J. Jech. About the axiom of choice, ın J. Bairwise (ed.): Handbook of Math-ematical Logic (Part B), Amsterdam, North-Holland, 1977.

[89] T.J. Jech. Set Theory, Springer-Verlag, 1978 (a 2-a editie, 1997).

[90] D. Kahn. The Codebreakers: The Story of Secret Writing, Macmillan Publish-ing Co., 1967.

[91] B. Knaster. Un theeoreme sur les fonctions d’ensembles, Ann. Soc. Polon.Math. 6, 1928, 133–134.

[92] L.G. Kraft. A Device for Quantizing, Grouping, and Coding Amplitude Mod-ulated Pulses, M.S. Thesis, Electrical Engineering Department, MassachusetsInstitute of Technology, 1949.

[93] Kranakis. Primality and Cryptography, Wiley-Teubner, Series on ApplicableTheory in Computer Science, 1986.

[94] K. Kunen. Set Theory. An Introduction to Independence Proofs, North Hol-land, 1980.

[95] K. Kuratowski. Sur la notion de l’ordre dans le theorie des ensembles, Funda-menta Mathematicae 2, 1921, 161–171.

[96] K. Kuratowski. Une methode d’elimination des nombres transfinis des raison-nements mathematiques, Fundamenta Mathematicae 3, 1922, 76–108.

[97] K. Kuratowski, A. Mostowski. Set Theory, North-Holland, 1968.

[98] G. Lallement. Semigroups and Combinatorial Applications, John Wiley &Sons, 1979.

[99] E. Landau. Handbuch der Lehre von der Verteilung der Primzahlen, Teubner,Leipzig, 1909.

[100] E. Landau. Vorlesungen uber Zahlentheorie, Hirzel, Leipzig, 1927.

[101] S. Lang. Linear Algebra, Springer-Verlag, 1987.

[102] A.K. Lenstra. Memo on RSA Signature Generation in the Presence of Faults,personal communication, 1996.

[103] C.H. Lewis, B.K. Rosen. Recursively Defined Data Types (I), Proceedings ofthe ACM Symposium on Principles of Programming Languages, 1973, 125–138.

[104] S. Lesniewski. Grundzuge eines neuen Systems der Grundlagen der Mathe-matik, Fundamenta Mathematicae 14, 1929, 1–81.

[105] F.W. Levi. On Semigroups, Bull. Calcutta Math. Soc. 36, 1944, 141–146.

Page 215: Fltiplea Fai

Bibliografie 209

[106] A. Levy. The Independence of Certain Consequences of the Axiom of Choice,Fundamenta Mathematicae 54, 1964, 135–157.

[107] A. Levy. Basic Set Theory, Springer-Verlag, 1979.

[108] B. Levi. Intorno alla teoria degli aggregati, Royale Istituto Lombardo di Sci-ence e Lettere, Rendiconti 2, 1902, 863–868.

[109] R. Lidl, H. Niederreiter. Introduction to Finite Fields and Their Applications,Cambridge University Press, 1986.

[110] Van Lindt. Introduction to Coding Theory, Springer-Verlag, 1982.

[111] E.S. Ljapin. Semigroups, Nauka, Moscow, 1960 (ın ruseste).

[112] J. Loeckx, K. Sieber. The Foundations of Program Verification, John Wileyand Sons, 1984 (a 2-a editie, 1987).

[113] J. Loeckx, H.-D. Ehrich, M. Wolf. Specification of Abstract Data Types, Wiley& Teubner, 1996.

[114] F.J. MacWilliams, N.J.A. Sloane. The Theory of Error-Correcting Codes,North-Holland, 1977.

[115] Z. Manna. Mathematical Theory of Computation, McGraw-Hill, 1974.

[116] R.C. Merkle. Secure Communication Over Insecure Channels, Communica-tions of the ACM 4, 1978, 294–299.

[117] R.C. Merkle, M. Hellman. Hiding Information and Signatures in TrapdoorKnapsacks, IEEE Transactions on Information Theory 5, 1978, 525–530.

[118] R.C. Merkle. Secrecy, Authentication, and Public Key Systems, Ph.D. disser-tation, Stanford University, 1979.

[119] G. Markowski. Categories of Chain-Complete Posets, IBM Technical ReportRC 5100, T.J. Watson Research Center, Yorktown Heights, 1974.

[120] G. Markowski. Chain-Complete Posets and Directed Sets with Applications,Algebra Universalis 6, 1976, 53–68.

[121] G. Markowski. Bases for Chain-Complete Posets, IBM Journal of ResearchDevelopment, 1976, 138–147.

[122] J. McCarthy. A Basis for a Mathematical Theory of Computation, in P. Braf-fort and D. Hirschberg (eds.), Computer Programming and Formal Systems,North-Holland, 1963, 33–70.

[123] R.J. McEliece. The Theory of Information and Coding, Cambridge UniversityPress, 2002.

Page 216: Fltiplea Fai

210 Bibliografie

[124] F. McWilliams, J. Sloane. The Theory of Error Correcting Codes, North-Holland, 1977.

[125] K. Meinke, J.V. Tucker. Universal Algebra, Handbook of Logic in ComputerScience (S. Abramsky, D. Gabbay, T.S.E. Maibaum, eds.), vol. 1, Oxford Uni-versity Press, 1993, 189–411.

[126] R. McEliece. The Theory of Information and Coding, Addison-Wesley, 1977.

[127] B. McMillan. Two Inegalities Implied by Unique Decipherability, IRE Trans-actions on Information Theory IT-2, 1956, 114–116.

[128] E.J. McShane. Partial Orderings and Moore-Smith Limits, Americam Mathe-matical Monthly 59, 1952, 1–11.

[129] E.J. McShane. Order-Preserving Maps and Integration Processes, Annals ofMathematical Studies 31, Princeton, 1953.

[130] M. Mignotte. , 1983.

[131] D. Mirimanoff. Les antinomies de Russell et de Burali-Forti et le problemefondamental de la theorie des ensembles, L’Enseignement Mathematique 19,1917, 37–52.

[132] J.C. Mitchell. Foundations of Programming Languages, The MIT Press, 1996.

[133] E.H. Moore, H.L. Smith. A General Theory of Limits, American Journal ofMathematics 44, 1922, 102–121.

[134] A. Mostowski. Uber die Unabhangigkeit des Wohlordnungssatzes vom Ord-nungsprinzip, Fundamenta Mathematicae 32, 1939, 201–252.

[135] J. von Neumann. Zur Einfuhrung der transfiniten Zahlen, Acta Litterarumac Scientiarum Regiae Universitatis Hungaricae Francisco-Josephinae, SectioScientiarum Mathematicarum 1, 1923, 199-208.

[136] J. von Neumann. Eine Axiomatisierung der Mengenlehre, Journal fur Mathe-matik 154, 1925, 219–240 (corrections in Journal fur Mathematik 155, 1926,128).

[137] J. von Neumann. On Regular Rings, Proceedings of the National Academy ofSciences of the United States of America 22, 1936, 707–713.

[138] J. von Neumann. Die Axiomatisierung der Mengenlehre, MathematischeZeitschrift 27, 1928, 669–752.

[139] H.R. Nielson, F. Nielson, Ch. Hankin. Principles of Program Analysis,Springer-Verlag, 1998.

Page 217: Fltiplea Fai

Bibliografie 211

[140] H.R. Nielson, F. Nielson. Semantics with Applications: A Formal Introduc-tion, Wiley Professional Computing, 1992 (editie revizuita ın iulie 1999,disponibila on-line din pagina autorilor).

[141] NIST 185. Digital Signature Standard, National Institute of Standards andTechnology, Federal Information Processing Standards Publication 185, U.S.Department of Commerce, 1994.

[142] G. Peano. Demonstration de l’integrabilite des equations differentielles ordi-naires, Mathematische Annalen 37, 1890, 182–228.

[143] G. Peano. Formulaire de Mathematiques, Torino, 1895 (a 5-a editie sub denu-mirea Formulario Mathematico, Torino, 1905-1908).

[144] A. Precupanu. Bazele analizei matematice, Editura Polirom, Iasi, 1998.

[145] M. Petrich. Introduction to Semigroups, Merill, Columbus, Ohio, 1973.

[146] E. Post. A Variant of a Recursively Unsolvable Problem, Bulletin of the Amer-ican Mathematical Society 52, 1946, 264–268.

[147] W.V. Quine. Mathematical Logic, New York, 1940.

[148] D. Rees. On Semi-groups, Proc. Cambridge Phil. Soc. 36, 1940, 387–400.

[149] H. Reichel. Initial Computability, Algebraic Specifications, and Partial Alge-bras, Oxford University Press, 1987.

[150] L. Rieger. A Contribution to Godel’s Axiomatic Set Theory I, CzechoslovakMathematical Journal 7 (82), 1957, 323–357.

[151] R.L. Rivest, A. Shamir, L.M. Adleman. A Method for Obtaining Digital Sig-natures and Public-Key Cryptosystems, Communications of the ACM 2, 1978,120–126.

[152] S. Roman. Coding and Information Theory, Springer-Verlag, 1992.

[153] B.K. Rosen. Program Equivalence and Context-Free Grammars, Journal ofComputer and System Science, 1973

[154] K.H. Rosen. Elementary Number Theory and Its Applications, Addison Wes-ley Longman (a 4-a editie), 2000.

[155] J.B. Rosser. The n-th Prime is Greater Than n ln n, Proceedings of LondonMathematical Society 2, 1939, 21–44.

[156] J.B. Rosser, L. Schoenfeld. Approximate Formulas for Some Functions ofPrime Numbers, Illinois Journal of Mathematics 6, 1962, 64–89.

[157] B. Russell. The Priciples of Mathematics, London, 1903 (a 2-a editie, London,1937).

Page 218: Fltiplea Fai

212 Bibliografie

[158] A. Salomaa. Jewels of Formal Language Theory, Computer Science Press,1981.

[159] D. Salomon. Data Compression. The Complete Reference, Springer-Verlag (a3-a editie), 1998.

[160] A.A. Sardinas, P.W. Patterson. A Necessary and Sufficient Condition for theUnique Decomposition of Coded Messages, IRE Internat. Conv. Rec. 8, 1953,104–108.

[161] K. Sayood. Introduction to Data Compression, Morgan Kaufmann Publishers(a 2-a editie), 2000.

[162] B. Schneier. Applied Cryptography, John Wiley & Sons, 1996.

[163] M. Schonfinkel. Uber die Bausteine der mathematischen Logik, Mathematis-che Annalen, vol. 92, 1924.

[164] E. Schroder. Vorlesungen uber die Algebra und Logik, 1890 (1891, 1895,1905).

[165] M.P. Schutzenberger. Une theorie algebrique du codage, Seminaire Dubreil-Pisot, Expose no. 15, 1955-1956).

[166] D. Shanks. Class Number, a Theory of Factorization, and Genera, Symposiumof Pure Mathematics, 1972.

[167] C.E. Shannon. A Mathematical theory of Communication, Bell Syst. Tech. J.27, 1948, 379–423 si 623–656.

[168] H.N. Shapiro. Introduction to the Theory of Numbers, John Wiley & Sons,1983.

[169] W. Sierpinski. Elementary Theory of Numbers, Panstwowe WydawnictwoNaukowe, 1964

[170] T. Skolem. Einige Bermerkungen zur axiomatischen Begrundung der Men-genlehre, Wiss. Vortrage gehalten auf dem 5 Kongress der scandinav. Mathe-matiker in Helsingfors, 1922, 217–232.

[171] D. Slepian. Some Further Theory on Group Codes, Bell System Tech. Journal39, 1960, 1219–1252.

[172] N.J.A. Sloane. Recent Bounds for Codes, Sphere Packing and Related Prob-lems Obtained by Linear Programming and Other Methods, ContemporaryMathematics 9, 1982, 153–85.

[173] E. Steinitz. Bedingt konvergente Reihen und konvexe Systeme, J. Reine Angew.Math., 143, 1913, 128–175.

Page 219: Fltiplea Fai

Bibliografie 213

[174] J.E. Stoy. Denotational Semantics: The Scott-Strachey Approach to Program-ming Language Theory, The MIT Press, 1977.

[175] P. Suppes. Axiomatic Set Theory, Dover, New York, 1972.

[176] A.K. Suschkewitsch. Uber die endlichen Gruppen ohne das Gesets der ein-deutigen Umkehrbarkeit, Mathematische Annalen 99, 1928, 30–50.

[177] A.K. Suschkewitsch. Theory of Generalized Groups, Kharkov, 1937 (ınruseste).

[178] A. Tarski. Sur quelques theoremes qui equivalent a l’axiome du choix, Funda-menta Mathematicae 5, 1924, 147–154.

[179] A. Tarski. General Principles of Induction and Recursion. The Notion of Rankin Axiomatic Set Theory and Some of its Applications, Bulletin of the Ameri-can Mathematical Society 61, 1955, 442–443.

[180] A. Thue. Uber unendliche Zeichenreihen, Videnskapsselskapets Skrifter, I.Mat.-naturv. Klasse, Kristiania, 1906, 1–22.

[181] A. Thue. Uber die gegenseitige Lage gleicher Teile gewisser Zeichenreihen,Videnskapsselskapets Skrifter, I. Mat.-naturv. Klasse, Kristiania, 1912, 1–67.

[182] F.L. Tiplea. Introducere ın teoria multimilor, Editura Universitatii “Al.I.Cu-za”, 1998.

[183] F.L. Tiplea, E. Makinen, C. Enea. SE-Systems, Timing Mechanisms, and Time-Varying Codes, International Journal of Computer Mathematics 79(9), 2002.

[184] F.L. Tiplea, E. Makinen, D. Trinca, C. Enea. Characterization Results forTime-Varying Code, Fundamenta Informaticae 52, 2003, 1–13.

[185] F.L. Tiplea, S. Iftene, C. Hritcu, I. Goriac, R. Gordan, E. Erbiceanu: MpNT:A Multi-Precision Number Theory Package. Number Theoretic Algorithms (I),Technical Report 03-02, Faculty of Computer Science, “Al.I.Cuza” Universityof Iasi, Romania, 2003, 98 pages.

[186] F.L. Tiplea, C. Enea. Abstractions of Abstract Data Types, Acta Informatica,2005 (to appear).

[187] F.L. Tiplea. Structuri algebrice de baza ın informatica, 2005 (ın curs deaparitie).

[188] F.L. Tiplea. Criptografie, (ın pregatire).

[189] J.W. Tukey. Convergence and Uniformity in Topology, Annales of Mathemat-ical Studies 2, Priceton, 1940.

[190] R.L. Vaught. Set Theory. An Introduction, Birkhauser (a 2-a editie), 1995.

Page 220: Fltiplea Fai

214 Bibliografie

[191] J. Vuillemin. Correct and Optimal Implementations of Recursion in a SimpleProgramming Language, Proceedings of the 5th Annual ACM Symposium onTheory of Computing, 1973, 224–.

[192] H. Weyl. Raum, Zeit und Materie, Berlin, 1923.

[193] A.N. Whitehead. A Treatise on Universal Algebra, Cambridge UniversityPress, 1898.

[194] A.N. Whitehead, B. Russell. Principia Mathematica I,II,III, Cambridge, 1910,1912, 1913.

[195] N. Wiener. A Simplification of the Logic of Relations, Proceedings of the Cam-bridge Philosophical Society 17, 1914, 387-390.

[196] M. Wiener. Cryptanalysis of short RSA secret exponent, IEEE Transactions onInformation Theory 36, 1990, 553–558.

[197] H. Wussing. Genesis of the Abstract Group Concept, MIT Press, 1984.

[198] F.S. Wolk. Dedekind Completeness and a Fixed-Point Theorem, CanadianJournal of Mathematics, vol. IX, no. 3, 1957, 400–405.

[199] E. Zermelo. Beweis, das jede Menge wohlgeordnet werden kann, Mathemati-sche Annalen 59, 1904, 514–516.

[200] E. Zermelo. Untersuchung uber die Grundlagen der Mengenlehre (I), Mathe-matische Annalen 65, 1908, 261–281.

[201] E. Zermelo. Uber Grenzzahlen und Mengenbereiche, Fundamenta Mathemat-icae 16, 1930, 29–47.

[202] E. Zermelo. Grundlagen einer allgemeinen Theorie der mathematishe Satzsys-teme, Fundamenta Mathematicae 25, 1935, 136–146.

[203] M. Zorn. A Remark on Method in Transfinite Algebra, Bulletin of the Ameri-can Mathematical Society 41, 1935, 667–670.

[204] N. Yoneda. On the Homology Theory of Modules, Journal of the Faculty ofSciences of Tokyo I-7, 1954, 193–227.